Fernando Sahmkow
d4da704ac5
VideoCore: Unify const buffer accessing along engines and provide ConstBufferLocker class to shaders.
2019-10-25 09:01:29 -04:00
Fernando Sahmkow
a0335c77a4
Merge pull request #2983 from lioncash/fallthrough
...
gl_shader_decompiler/vk_shader_decompiler: Resolve implicit fallthrough cases
2019-10-22 13:16:46 -04:00
Rodrigo Locatti
1cb43f3f0b
Merge pull request #2966 from FernandoS27/astc-formats
...
Implement a series of ASTC formats and R4G4B4A4 format
2019-10-17 19:24:11 -03:00
bunnei
9e3c8681ce
Merge pull request #2912 from FernandoS27/async-fixes
...
General fixes to Async GPU
2019-10-16 10:34:48 -04:00
Lioncash
304cee41c4
gl_shader_decompiler: Resolve fallthrough within ExprDecompiler's ExprCondCode operator()
...
This would previously result in NeverExecute and UnusedIndex being
treated as regular predicates.
2019-10-15 19:38:55 -04:00
Lioncash
4ef3c0158a
gl_shader_decompiler: Make ExprDecompiler's GetResult() a const member function
...
This is only ever used to read, but not write, the resulting string, so
we can enforce this by making it a const member function.
2019-10-15 19:02:59 -04:00
Lioncash
eb9ca6f6a1
gl_shader_decompiler: Use a std::string_view with GetDeclarationWithSuffix()
...
This allows the function to be completely non-allocating for inputs of
all sizes (i.e. there's no heap cost for an input to convert to a
std::string_view).
2019-10-15 19:00:48 -04:00
Lioncash
09e9ee194b
gl_shader_decompiler: Fold flow_var constant into GetFlowVariable()
...
This is only ever used within this function, so we can narrow it's scope
down.
2019-10-15 18:58:36 -04:00
Lioncash
0d6adf0e50
gl_shader_decompiler: Mark ASTDecompiler/ExprDecompiler parameters as const references where applicable
...
These member functions don't actually modify the input parameter, so we
can make this explicit with the use of const.
2019-10-15 18:57:02 -04:00
Lioncash
274c260939
gl_shader_decompiler: Pass by reference to GenerateTextureArgument()
...
Avoids an unnecessary atomic reference count increment and decrement.
2019-10-15 18:29:37 -04:00
Lioncash
a6eecc8339
gl_shader_decompiler: Use std::holds_alternative within GenerateTexture()
...
This only ever queries if the type exists within the variant, but
doesn't actually do anything with the return value. We can just use
std::holds_alternative for this use case.
2019-10-15 18:25:48 -04:00
Lioncash
c531d0df85
gl_shader_decompiler: Avoid unnecessary copies of MetaImage
...
MetaImage contains a std::vector, so copying here could result in
unnecessary reallocations. Given the operation lives throughout the
entire scope, this is safe to do.
2019-10-15 18:14:55 -04:00
bunnei
45ec5ae319
Merge pull request #2927 from ReinUsesLisp/polygon-offset-units
...
gl_rasterizer: Fix polygon offset units
2019-10-09 15:38:52 -04:00
Fernando Sahmkow
57cac4e614
Surfaces: Implement R4G4B4A4U format.
2019-10-09 12:57:02 -04:00
Fernando Sahmkow
ecba8090f7
Surfaces: Implement ASTC 6x6 10x10 12x12 8x6 6x5
2019-10-09 12:44:31 -04:00
ReinUsesLisp
3d415bbb32
gl_shader_disk_cache: Properly ignore existing cache
...
Previously old entries where appended to the file even if the shader
cache was ignored at boot. Address that issue.
2019-10-06 18:00:20 -03:00
Fernando Sahmkow
986adabde5
GL_Renderer: Remove lefting snippet.
2019-10-04 19:59:55 -04:00
Fernando Sahmkow
0775dffe14
Gl_Rasterizer: Protect CPU Memory mapping from multiple threads.
2019-10-04 19:59:53 -04:00
Fernando Sahmkow
d9b035cc31
Nvdrv: Do framelimiting only in the CPU Thread
2019-10-04 19:59:50 -04:00
Fernando Sahmkow
4de60d6a41
Shader_ir: Address feedback
2019-10-04 18:52:57 -04:00
Fernando Sahmkow
073ccf8def
vk_shader_decompiler: Clean code and be const correct.
2019-10-04 18:52:55 -04:00
Fernando Sahmkow
8cd340c636
gl_shader_decompiler: Refactor and address feedback.
2019-10-04 18:52:53 -04:00
Fernando Sahmkow
7b55e1c0b1
Shader_Ir: Refactor Decompilation process and allow multiple decompilation modes.
2019-10-04 18:52:50 -04:00
Fernando Sahmkow
5d3c5df7f4
gl_shader_decompiler: Implement AST decompiling
2019-10-04 18:52:50 -04:00
ReinUsesLisp
1b0470b913
gl_rasterizer: Fix polygon offset units
...
For some reason hardware divides polygon offset units by two. This is
visible since drivers multiply the application requested polygon offset
by two.
2019-10-01 02:00:23 -03:00
ReinUsesLisp
6b66665ad2
gl_shader_decompiler: Add tailing return for HUnpack2
2019-09-24 01:03:59 -03:00
ReinUsesLisp
3673f32b82
gl_shader_decompiler: Fix clang build issues
2019-09-24 01:03:27 -03:00
bunnei
6deb6d2b10
Merge pull request #2869 from ReinUsesLisp/suld
...
shader/image: Implement SULD and fix SUATOM
2019-09-23 21:47:03 -04:00
David
cc451e4435
Merge pull request #2870 from FernandoS27/multi-draw
...
Implement a MME Draw commands Inliner and correct host instance drawing
2019-09-22 23:13:02 +10:00
Fernando Sahmkow
8452a180f2
Merge pull request #2891 from FearlessTobi/rod-tex
...
video_core: Implement RGBX16F and lower Surface Copy log severity
2019-09-22 09:11:28 -04:00
David
8a213621b0
Merge pull request #2867 from ReinUsesLisp/configure-framebuffers-clean
...
gl_rasterizer: Remove unused code paths from ConfigureFramebuffers
2019-09-22 23:10:07 +10:00
Fernando Sahmkow
d53d764965
Maxwell3D: Corrections and refactors to MME instance refactor
2019-09-22 07:23:13 -04:00
FearlessTobi
97f509e9d4
Fix clang-format
2019-09-22 02:21:56 +02:00
FearlessTobi
99b280bbf7
video_core: Implement RGBX16F PixelFormat
2019-09-22 02:16:44 +02:00
ReinUsesLisp
79a7463f4c
gl_shader_decompiler: Use uint for images and fix SUATOM
...
In the process remove implementation of SUATOM.MIN and SUATOM.MAX as
these require a distinction between U32 and S32. These have to be
implemented with imageCompSwap loop.
2019-09-21 17:33:52 -03:00
ReinUsesLisp
331d140bb4
shader/image: Implement SULD and remove irrelevant code
...
* Implement SULD as float.
* Remove conditional declaration of GL_ARB_shader_viewport_layer_array.
2019-09-21 17:32:48 -03:00
David
e468ba6cc6
Merge pull request #2868 from ReinUsesLisp/fix-mipmaps
...
maxwell_to_gl: Fix mipmap filtering
2019-09-21 19:57:09 +10:00
bunnei
3bacf9b70a
Merge pull request #2846 from ReinUsesLisp/fixup-viewport-index
...
gl_shader_decompiler: Avoid writing output attribute when unimplemented
2019-09-20 17:11:20 -04:00
bunnei
beabee3696
Merge pull request #2855 from ReinUsesLisp/shfl
...
shader_ir/warp: Implement SHFL for Nvidia devices
2019-09-20 17:10:42 -04:00
Fernando Sahmkow
5034835feb
Rasterizer: Correct introduced bug where a conditional render wouldn't stop a draw call from executing
2019-09-20 15:44:28 -04:00
Fernando Sahmkow
ab61f800b6
Rasterizer: Refactor and simplify DrawBatch Interface.
2019-09-19 11:41:33 -04:00
Fernando Sahmkow
e3fdcdf7f0
Rasterizer: Address Feedback and conscerns.
2019-09-19 11:41:32 -04:00
Fernando Sahmkow
2b5f0e2616
Rasterizer: Refactor draw calls, remove deadcode and clean up.
2019-09-19 11:41:31 -04:00
Fernando Sahmkow
ae03b1ebc7
VideoCore: Corrections to the MME Inliner and removal of hacky instance management.
2019-09-19 11:41:29 -04:00
Fernando Sahmkow
b61203a547
Video Core: initial Implementation of InstanceDraw Packaging
2019-09-19 11:41:27 -04:00
bunnei
47a8e03f14
Merge pull request #2784 from ReinUsesLisp/smem
...
shader_ir: Implement shared memory
2019-09-18 16:26:05 -04:00
ReinUsesLisp
42815d1d24
shader_ir/warp: Implement SHFL
2019-09-17 17:44:07 -03:00
ReinUsesLisp
61eb6e3e00
maxwell_to_gl: Fix mipmap filtering
...
OpenGL texture filters follow GL_<texture_filter>_MIPMAP_<mipmap_filter>
but we were using them in the opposite way.
2019-09-17 03:32:24 -03:00
ReinUsesLisp
64949b515e
gl_rasterizer: Remove unused code paths from ConfigureFramebuffers
2019-09-17 02:50:42 -03:00
Fernando Sahmkow
afcd6355ff
Merge pull request #2851 from ReinUsesLisp/srgb
...
renderer_opengl: Fix sRGB blits
2019-09-15 10:38:10 -04:00