Commit graph

64 commits

Author SHA1 Message Date
ameerj
c0705ede4d shader_recompiler: Rename backend emit_context files 2021-12-05 16:33:44 -05:00
ameerj
d644a3780c vulkan: Fix rescaling push constant usage 2021-11-16 22:11:31 +01:00
ReinUsesLisp
d04e2dac6c shader: Properly scale image reads and add GL SPIR-V support
Thanks for everything!
2021-11-16 22:11:29 +01:00
ReinUsesLisp
e63fc7a4bb spirv: Implement rescaling patching 2021-11-16 22:11:28 +01:00
Feng Chen
c047b66519 Simply legacy attribute implement 2021-11-04 09:26:16 +08:00
vonchenplus
64a9dffd3d Support gl_FogFragCoord attribute 2021-10-31 23:34:17 +08:00
vonchenplus
1c917c6905 Support gl_BackSecondaryColor attribute 2021-10-26 23:14:40 +08:00
vonchenplus
9cd198ede9 Support gl_FrontSecondaryColor attribute 2021-10-26 23:09:44 +08:00
vonchenplus
b4301281d5 Support gl_BackColor attribute 2021-10-26 23:01:57 +08:00
Feng Chen
1aaa6a353b Implement intput and output fixed fnc textures 2021-09-06 10:36:45 +08:00
Feng Chen
49c66fa4e9 Rename parameters 2021-09-03 23:52:20 +08:00
Feng Chen
b86a4caa20 Add colorfront and txtcoord support 2021-09-01 00:07:25 +08:00
ReinUsesLisp
b1df436cef shader: Rework varyings and implement passthrough geometry shaders
Put all varyings into a single std::bitset with helpers to access it.

Implement passthrough geometry shaders using host's.
2021-07-22 21:51:39 -04:00
ReinUsesLisp
9389e71b12 shader: Split profile and runtime info headers 2021-07-22 21:51:38 -04:00
ReinUsesLisp
9452fe2dc6 shader: Split profile and runtime information in separate structs 2021-07-22 21:51:33 -04:00
ReinUsesLisp
03f6d424ce glasm: Rework control flow introducing a syntax list
This commit regresses VertexA shaders, their transformation pass has to
be adapted to the new control flow.
2021-07-22 21:51:31 -04:00
ReinUsesLisp
055db41f19 Move SPIR-V emission functions to their own header 2021-07-22 21:51:30 -04:00
ameerj
455872a4af shader: Implement Int32 SUATOM/SURED 2021-07-22 21:51:30 -04:00
ReinUsesLisp
59668831b7 spirv: Workaround image unsigned offset bug
Workaround bug on Nvidia's OpenGL SPIR-V compiler when using unsigned
texture offsets.
2021-07-22 21:51:29 -04:00
ReinUsesLisp
884a937022 spirv: Support OpenGL uniform buffers and change bindings 2021-07-22 21:51:29 -04:00
ReinUsesLisp
052317e748 shader: Implement indexed textures 2021-07-22 21:51:28 -04:00
ReinUsesLisp
e54171c1a9 shader: Add NVN storage buffer fallbacks
When we can't track the SSBO origin of a global memory instruction,
leave it as a global memory operation and assume these pointers are in
the NVN storage buffer slots, then apply a linear search in the shader's
runtime.
2021-07-22 21:51:28 -04:00
ameerj
688c89590c spirv: Replace Constant/ConstantComposite with Const helper 2021-07-22 21:51:28 -04:00
ReinUsesLisp
0623915e2e spirv: Fix implicit lod type 2021-07-22 21:51:28 -04:00
ReinUsesLisp
f771d1fc52 spirv: Use ConstOffset instead of Offset when possible 2021-07-22 21:51:28 -04:00
ReinUsesLisp
ad1507b4a5 shader: Implement SampleMask 2021-07-22 21:51:28 -04:00
ReinUsesLisp
cc96469019 shader: Implement PIXLD.MY_INDEX 2021-07-22 21:51:28 -04:00
ReinUsesLisp
b6b541e36a spirv: Implement ViewportMask with NV_viewport_array2 2021-07-22 21:51:28 -04:00
ReinUsesLisp
10c96c7484 shader: Implement PrimitiveId 2021-07-22 21:51:27 -04:00
ReinUsesLisp
38908d0f7e shader: Implement tessellation shaders, polygon mode and invocation id 2021-07-22 21:51:27 -04:00
ReinUsesLisp
03c16b085a spirv: Implement image buffers 2021-07-22 21:51:27 -04:00
ReinUsesLisp
bba876f192 spirv: Implement Layer stores 2021-07-22 21:51:27 -04:00
ReinUsesLisp
e59971ea1b shader: Implement transform feedbacks and define file format 2021-07-22 21:51:27 -04:00
ReinUsesLisp
c84c2ab88c spirv: Rework storage buffers and shader memory 2021-07-22 21:51:27 -04:00
ReinUsesLisp
879fb08101 shader: Implement SR_THREAD_KILL 2021-07-22 21:51:27 -04:00
ameerj
62c3bef607 shader: Implement ATOM/S and RED 2021-07-22 21:51:27 -04:00
ReinUsesLisp
5ab1ac4f29 shader: Implement SULD and SUST 2021-07-22 21:51:26 -04:00
ReinUsesLisp
3e6cb6362d shader: Interact texture buffers with buffer cache 2021-07-22 21:51:26 -04:00
ReinUsesLisp
96da029a74 shader: Implement texture buffers 2021-07-22 21:51:26 -04:00
FernandoS27
1fe6a22cff shader: Implement indexed attributes 2021-07-22 21:51:26 -04:00
ReinUsesLisp
ba2130d5a5 shader: Add subgroup masks 2021-07-22 21:51:26 -04:00
ReinUsesLisp
9db035faec shader: Reimplement GetCbufU64 as GetCbufU32x2
It may generate better code on some compilers and it's easier to handle.
2021-07-22 21:51:26 -04:00
FernandoS27
741b21715a shader: Address Feedback 2021-07-22 21:51:26 -04:00
FernandoS27
68bad0e922 shader: Implement ViewportIndex 2021-07-22 21:51:25 -04:00
ReinUsesLisp
4d60dd7eb5 spirv: Remove unnecesary variable for clip distances 2021-07-22 21:51:25 -04:00
FernandoS27
40ace25859 shader: Implement ClipDistance 2021-07-22 21:51:25 -04:00
FernandoS27
56c8c42cf8 shader,spirv: Implement ImageQueryLod. 2021-07-22 21:51:25 -04:00
FernandoS27
a8c2a85610 shader: Add PointCoord attribute 2021-07-22 21:51:25 -04:00
ameerj
357a47d944 shader: Add PointSize attribute 2021-07-22 21:51:25 -04:00
ameerj
d5d6d4ce74 shader: Implement FSWZADD 2021-07-22 21:51:25 -04:00