Commit graph

607 commits

Author SHA1 Message Date
JPikachu
fc1a3b6310 shader compiler: Ensure all clip distances are initialized when used
Thank you to Ryujinx (riperiperi specifically) for the pointer towards clip distances
Huge thanks to crueter for finding where the code works and Camille for giving pointers along the way.
2025-04-21 13:34:24 -04:00
EmulationEnjoyer
fcec7995af feat(shader): implement geometry shader invocation info
- Update EmitInvocationInfo in SPIRV backend to handle geometry shader stage

ref: 1266fad681 (diff-4cbf73a98ed4ad649a4a6f38b569bc31fcf68cf7)
2025-04-19 18:05:29 -03:00
44dc152a2b Add InputTopologyVertices from torzu adapted to eden 2025-04-19 17:56:48 -03:00
9cef9f5dce Update fmt to allow for v11
Signed-off-by: swurl <swurl@swurl.xyz>
2025-04-10 01:11:22 +02:00
darktux
9f4ef30b55 Add SR_WScaleFactorXY/SR_WScaleFactorZ stubs for Prince of Persia (#5)
Pulled in and cleaned up from Sudachi

Reviewed-on: http://y2nlvhmmk5jnsvechppxnbyzmmv3vbl7dvzn6ltwcdbpgxixp3clkgqd.onion/darktux/torzu/pulls/5
Co-authored-by: darktux <darktux@y2nlvhmmk5jnsvechppxnbyzmmv3vbl7dvzn6ltwcdbpgxixp3clkgqd.onion>
Co-committed-by: darktux <darktux@y2nlvhmmk5jnsvechppxnbyzmmv3vbl7dvzn6ltwcdbpgxixp3clkgqd.onion>
2025-04-04 03:40:48 +02:00
Narr the Reg
091abdc5cb Merge pull request #13075 from liamwhite/mali-having-a-bad-time
shader_recompiler: throw on missing geometry streams in geometry shaders
2024-02-22 11:30:26 -06:00
Liam
749f0564ae shader_recompiler: throw on missing geometry streams in geometry shaders 2024-02-19 00:34:00 -05:00
Liam
8c5083b014 shader_recompiler: fix non-const offset for arrayed image types 2024-02-15 18:49:23 -05:00
Liam
0466d1dedb Revert "shader_recompiler: use only ConstOffset for OpImageFetch"
This reverts commit d69e462d13.
2024-02-15 18:38:56 -05:00
Liam
d69e462d13 shader_recompiler: use only ConstOffset for OpImageFetch 2024-02-05 12:01:09 -05:00
liamwhite
ceb8bbc111 Merge pull request #12644 from liamwhite/vkspec-image-offset
shader_recompiler: fix Offset operand usage for non-OpImage*Gather
2024-01-18 21:18:19 -05:00
Viktor Szépe
168f763ee6 Merge remote-tracking branch 'origin/master' into typos3 2024-01-16 00:09:00 +00:00
Viktor Szépe
8f8a15827f Fix more typos 2024-01-15 23:26:53 +00:00
Liam
9070fbdc09 shader_recompiler: emulate 8-bit and 16-bit storage writes with cas loop 2024-01-11 16:50:59 -05:00
Liam
b51ba38c29 shader_recompiler: fix Offset operand usage for non-OpImage*Gather 2024-01-11 00:56:37 -05:00
liamwhite
8da33ba38a Merge pull request #12437 from ameerj/gl-amd-fixes
OpenGL: Fixes and workaround updates for AMD
2024-01-04 15:53:44 -05:00
Liam
221f2edfb9 shader_recompiler: use default value for clip distances array 2023-12-26 19:32:47 -05:00
Liam
e7b5befdad shader_recompiler: respect clip distance limits in indexed store 2023-12-26 19:10:25 -05:00
Ameer J
deb6899663 spirv_emit_context: Fix BaseInstance for OGL spirv 2023-12-21 21:53:24 -05:00
Liam
a952270b5c shader_recompiler: use float image operations on load/store when required 2023-12-21 14:34:46 -05:00
Ameer J
822348997d emit_glsl_image: Use inlined texelFetch offsets 2023-12-20 19:24:11 -05:00
Liam
3c14f747f9 shader_recompiler: use minimal clip distance array 2023-12-18 22:25:14 -05:00
Liam
6611ba122b shader_recompiler: ignore clip distances beyond driver support level 2023-12-18 22:25:14 -05:00
liamwhite
5b3522cbe8 Merge pull request #12196 from ameerj/glsl-cbuf-sizes
GLSL: Use known cbuf sizes when possible
2023-12-03 16:27:07 -05:00
Ameer J
38449c071d GLSL: Prefer known used cbuf sizes 2023-11-26 23:25:29 -05:00
Ameer J
a9e011c9c2 Merge branch 'master' into ssbo-align 2023-11-26 21:08:53 -05:00
Liam
a41e57d968 renderer_vulkan: ignore viewport stores on non-supporting drivers 2023-11-19 11:27:12 -05:00
Ameer J
abd400e04f shader_recompiler: Fix spelling of "derivate" (#12067) 2023-11-18 13:39:47 +01:00
Ameer J
b49639e786 shader_recompiler: Align SSBO offsets in GlobalMemory functions 2023-10-31 20:14:18 -04:00
liamwhite
a2342c5acd Merge pull request #11847 from ameerj/glsl-shfl-fix
emit_glsl_warp: Fix shfl_in_bounds conditional
2023-10-23 10:33:24 -04:00
Ameer J
ef8f689761 emit_glsl_warp: Fix shfl_in_bounds conditional 2023-10-22 00:45:23 -04:00
Kelebek1
90d99fbd00 Manually robust on Maxwell and earlier 2023-10-19 19:54:31 +01:00
Liam
445d504f94 ci: fix new codespell errors 2023-10-02 18:03:05 -04:00
Liam
47ea64c9a5 emit_spirv: fix incorrect use of descriptor index in image atomics 2023-09-22 00:39:09 -04:00
liamwhite
9530b96e5f shader_recompiler: skip sampler for buffer textures (#11435) 2023-09-14 15:23:50 +02:00
Liam
152beedc51 shader_recompiler: always declare image format for image buffers 2023-09-02 17:25:00 -04:00
Liam
024fb4fae9 shader_recompiler: fix emulation of 3D textureGrad 2023-09-01 22:41:01 -04:00
Fernando Sahmkow
01858648d1 Shader Recomnpiler: implement textuzreGrad 3D emulation constant propagation 2023-08-18 22:17:02 -04:00
ameerj
a2b344ab9d emit_glasm: Fix lmem size computation 2023-06-25 18:43:52 -04:00
Kelebek1
c7430e51e3 Remove memory allocations in some hot paths 2023-06-22 08:05:10 +01:00
bunnei
3571f28cde video_core: Enable support_descriptor_aliasing on Turnip, disable storage atomic otherwise. 2023-06-03 00:05:58 -07:00
Billy Laws
cfbe4b09eb Avoid using VectorExtractDynamic for subgroup mask on Adreno GPUs
This crashes their shader compiler for some reason.
2023-06-03 00:05:31 -07:00
Billy Laws
2beb3051c1 Implement scaled vertex buffer format emulation
These formats are unsupported by mobile GPUs so they need to be emulated in shaders instead.
2023-06-03 00:05:31 -07:00
Kelebek1
2e478a66cf Fix Tears of the Kingdom flickering clouds and depths. 2023-05-11 19:25:24 +01:00
Kelebek1
dc9546fe26 Define SampleMask as an array 2023-04-30 18:37:37 +01:00
Wollnashorn
d53aa13a33 shader_recompiler: Use vector arithmetic rather than component-wise in ImageGatherSubpixelOffset
Should be more efficient and better readable
2023-04-08 16:13:08 +02:00
Wollnashorn
45fb154f0d shader_recompiler: Add subpixel offset for correct rounding at ImageGather
On AMD a subpixel offset of 1/512 of the texel size is applied to the texture coordinates at a ImageGather call to ensure the rounding at the texel centers is done the same way as in Maxwell or other Nvidia architectures.
See https://www.reedbeta.com/blog/texture-gathers-and-coordinate-precision/ for more details why this might be necessary.

This should fix shadow artifacts at object edges in Zelda: Breath of the Wild (#9957, #6956).
2023-04-08 16:12:30 +02:00
Liam
5be8a74b0c general: fix spelling mistakes 2023-03-12 11:33:01 -04:00
ameerj
a6405c4890 glsl_emit_context: Remove redeclarations of gl_SampleID and gl_SampleMask
These built-ins seem to be available without needing to be declared for fragment shaders, similar i.e. to gl_FragDepth
2023-02-08 19:34:39 -05:00
ameerj
bbb60f60d2 spirv: Fix TXQ with MSAA textures 2023-01-29 13:47:30 -05:00