Commit graph

176 commits

Author SHA1 Message Date
lat9nq
69210028b4 shader_recompiler: GCC fixes
Fixes members of unnamed union not being accessible, and one function
without a declaration.
2021-07-22 21:51:31 -04:00
ReinUsesLisp
f2ae32fa76 glasm: Initial implementation of phi nodes on GLASM 2021-07-22 21:51:31 -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
cef625a9b2 shader: Add floating-point rounding to I2F 2021-07-22 21:51:31 -04:00
ameerj
a739b6933e shader: ISET.X implementation 2021-07-22 21:51:30 -04:00
FernandoS27
007a11014c shader: Optimize NVN Fallthrough 2021-07-22 21:51:30 -04:00
FernandoS27
fb20effc51 shader: Stub SR_AFFINITY 2021-07-22 21:51:30 -04:00
ameerj
455872a4af shader: Implement Int32 SUATOM/SURED 2021-07-22 21:51:30 -04:00
ReinUsesLisp
5ca5988c63 shader: Initial OpenGL implementation 2021-07-22 21:51:30 -04:00
FernandoS27
6aff9b4476 shader: Address feedback 2021-07-22 21:51:29 -04:00
FernandoS27
a2fac91c47 shader: Implement VertexA stage 2021-07-22 21:51:29 -04:00
FernandoS27
cb0587f841 shader: Implement delegation of Exit to dispatcher on CFG 2021-07-22 21:51:29 -04:00
ameerj
031e91e7e5 shader: Fix IADD3.CC 2021-07-22 21:51:29 -04:00
ReinUsesLisp
c8b0377a67 shader: Fix VMNMX selector B 2021-07-22 21:51:29 -04:00
ReinUsesLisp
1d861a6e90 shader: Remove identity removal pass for better build times 2021-07-22 21:51:29 -04:00
ameerj
3089fb1e2a shader: Refactor atomic_operations_global_memory 2021-07-22 21:51:28 -04:00
ameerj
8202ace3e9 shader: add missing include guard in half_floating_point_helper.h 2021-07-22 21:51:28 -04:00
ReinUsesLisp
172942911a shader: Fix gcc warnings 2021-07-22 21:51:28 -04:00
ReinUsesLisp
3c1229a7c5 shader: Improve goto removal algorithm complexity
Find sibling node containing a nephew searching from the nephew itself
instead of the uncle.
2021-07-22 21:51:28 -04:00
ReinUsesLisp
6236b611cf shader: Move microinstruction header to the value header 2021-07-22 21:51:28 -04:00
ReinUsesLisp
7769517fc0 shader: Move siblings check to a separate function and comment them out 2021-07-22 21:51:28 -04:00
ReinUsesLisp
56aae7efcf shader: Simplify code for local memory 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
FernandoS27
4a97dd4483 shader: Address feedback 2021-07-22 21:51:28 -04:00
FernandoS27
b85c9d8e84 shader: Implement F2F (Imm) 2021-07-22 21:51:28 -04:00
FernandoS27
fbb642f433 shader: Implement IADD3.CC/.X 2021-07-22 21:51:28 -04:00
FernandoS27
6c60109967 shader: Implement SR_Y_DIRECTION 2021-07-22 21:51:28 -04:00
ReinUsesLisp
6d540c6f2e shader: Fix memory barriers 2021-07-22 21:51:28 -04:00
ameerj
bfdb38404c shader: Implement BFE and BFI CC
Fix two bugs in BFI.
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
38908d0f7e shader: Implement tessellation shaders, polygon mode and invocation id 2021-07-22 21:51:27 -04:00
ReinUsesLisp
9f5ab82de2 shader: Document and relax cache control on surface instructions 2021-07-22 21:51:27 -04:00
ReinUsesLisp
4b32692423 shader: Implement geometry shaders 2021-07-22 21:51:27 -04:00
ReinUsesLisp
40948b18ac shader: Implement OUT 2021-07-22 21:51:27 -04:00
lat9nq
f70707d435 internal_stage_buffer_entry_read: Remove pragma optimize off 2021-07-22 21:51:27 -04:00
ReinUsesLisp
8ebc7b90a0 shader: Stub SR_INVOCATION_INFO 2021-07-22 21:51:27 -04:00
ReinUsesLisp
c6b81943a9 shader: Stub ISBERD 2021-07-22 21:51:27 -04:00
ReinUsesLisp
211fc6331d shader: Fix CC in I2I 2021-07-22 21:51:27 -04:00
ReinUsesLisp
c7efa5ead4 shader: Simplify FLO and throw on CC 2021-07-22 21:51:27 -04:00
ReinUsesLisp
31835567f2 shader: Mark blocks with no end branch as unreachable 2021-07-22 21:51:27 -04:00
ReinUsesLisp
4678dc7246 shader: Implement LOP CC 2021-07-22 21:51:27 -04:00
ReinUsesLisp
879fb08101 shader: Implement SR_THREAD_KILL 2021-07-22 21:51:27 -04:00
ReinUsesLisp
bf784e1497 shader: Apply sign bit in FCMP (imm) 2021-07-22 21:51:27 -04:00
ameerj
62c3bef607 shader: Implement ATOM/S and RED 2021-07-22 21:51:27 -04:00
FernandoS27
ee8beff168 shader: Implement CC for ISET, FSET, PSET, CSET, and DSET
Throw when other instructions are missing CC.
2021-07-22 21:51:27 -04:00
ReinUsesLisp
99cfd73ba7 shader: Remove outdated comment in F2I 2021-07-22 21:51:27 -04:00
ReinUsesLisp
5ab1ac4f29 shader: Implement SULD and SUST 2021-07-22 21:51:26 -04:00
ReinUsesLisp
577efc5f9f shader: Fix Windows build issues 2021-07-22 21:51:26 -04:00
lat9nq
5b95114cd4 shader: Address feedback + clang format 2021-07-22 21:51:26 -04:00