Commit Graph

162 Commits

Author SHA1 Message Date
b21bf79bd2 shader: Only apply shift on register mode for IADD3 2021-07-22 21:51:39 -04:00
a7536825df shader_recompiler: Fix IADD3 input partitioning 2021-07-22 21:51:39 -04:00
61cd7dd301 shader: Add logging 2021-07-22 21:51:35 -04:00
487057b8d2 shader: Comment why the array component is not read in TMML 2021-07-22 21:51:35 -04:00
3c125d4134 tmml: Remove index component from coords vec
The lod query functions exposed by the rendering API's do not make use of the texturearray layer indexing.
2021-07-22 21:51:35 -04:00
ec9a78885e shader: Add 2D and 3D variants to SUATOM and SURED
Used by Claybook.
2021-07-22 21:51:34 -04:00
4f8b68fb04 shader: Avoid CPU side undefined behavior on I2F 2021-07-22 21:51:34 -04:00
05d41fa9b7 shader: Add support for "negative" and unaligned offsets
"Negative" offsets don't exist. They are shown as such due to a bug in
nvdisasm.

Unaligned offsets have been proved to read the aligned offset. For
example, when reading an U32, if the offset is 6, the offset read will
be 4.
2021-07-22 21:51:34 -04:00
5d170de0b5 shader: Implement ISCADD32I 2021-07-22 21:51:34 -04:00
d093522fac shader: Fix ImageWrite indexing 2021-07-22 21:51:34 -04:00
b659212dbd shader: Fix TMML queries 2021-07-22 21:51:34 -04:00
b7764c3a79 shader: Handle host exceptions 2021-07-22 21:51:34 -04:00
ec6fc5fe78 glasm: Implement TEX and TEXS instructions
Remove lod clamp from texture instructions with lod, as this is not
needed (nor supported).
2021-07-22 21:51:31 -04:00
d54d7de40e 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
3b6a632237 shader: Add floating-point rounding to I2F 2021-07-22 21:51:31 -04:00
09dc23f971 shader: ISET.X implementation 2021-07-22 21:51:30 -04:00
153a77efee shader: Stub SR_AFFINITY 2021-07-22 21:51:30 -04:00
7ecc6de56a shader: Implement Int32 SUATOM/SURED 2021-07-22 21:51:30 -04:00
d621e96d0d shader: Initial OpenGL implementation 2021-07-22 21:51:30 -04:00
fb14820c86 shader: Fix IADD3.CC 2021-07-22 21:51:29 -04:00
d2b54c6e42 shader: Fix VMNMX selector B 2021-07-22 21:51:29 -04:00
7a9dc78398 shader: Refactor atomic_operations_global_memory 2021-07-22 21:51:28 -04:00
427951d6fe shader: add missing include guard in half_floating_point_helper.h 2021-07-22 21:51:28 -04:00
469f8bb857 shader: Simplify code for local memory 2021-07-22 21:51:28 -04:00
2999028976 shader: Address feedback 2021-07-22 21:51:28 -04:00
881b33da3b shader: Implement F2F (Imm) 2021-07-22 21:51:28 -04:00
21a878237b shader: Implement IADD3.CC/.X 2021-07-22 21:51:28 -04:00
f18a6dd1bd shader: Implement SR_Y_DIRECTION 2021-07-22 21:51:28 -04:00
0a0818c025 shader: Fix memory barriers 2021-07-22 21:51:28 -04:00
be431f5ed0 shader: Implement BFE and BFI CC
Fix two bugs in BFI.
2021-07-22 21:51:28 -04:00
80940b1706 shader: Implement SampleMask 2021-07-22 21:51:28 -04:00
95815a3883 shader: Implement PIXLD.MY_INDEX 2021-07-22 21:51:28 -04:00
183855e396 shader: Implement tessellation shaders, polygon mode and invocation id 2021-07-22 21:51:27 -04:00
09165ae189 shader: Document and relax cache control on surface instructions 2021-07-22 21:51:27 -04:00
f263760c5a shader: Implement geometry shaders 2021-07-22 21:51:27 -04:00
a6cef71cc0 shader: Implement OUT 2021-07-22 21:51:27 -04:00
dd3432d357 internal_stage_buffer_entry_read: Remove pragma optimize off 2021-07-22 21:51:27 -04:00
4b0172f6de shader: Stub SR_INVOCATION_INFO 2021-07-22 21:51:27 -04:00
f712084147 shader: Stub ISBERD 2021-07-22 21:51:27 -04:00
2516829e4c shader: Fix CC in I2I 2021-07-22 21:51:27 -04:00
415c7e46ed shader: Simplify FLO and throw on CC 2021-07-22 21:51:27 -04:00
2ed80f6b1e shader: Implement LOP CC 2021-07-22 21:51:27 -04:00
5c61e860e4 shader: Implement SR_THREAD_KILL 2021-07-22 21:51:27 -04:00
c9337a4ae4 shader: Apply sign bit in FCMP (imm) 2021-07-22 21:51:27 -04:00
3db2b3effa shader: Implement ATOM/S and RED 2021-07-22 21:51:27 -04:00
1be6705408 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
8cea39b5a6 shader: Remove outdated comment in F2I 2021-07-22 21:51:27 -04:00
7cb2ab3585 shader: Implement SULD and SUST 2021-07-22 21:51:26 -04:00
094da34456 shader: Fix Windows build issues 2021-07-22 21:51:26 -04:00
5bfcafa0a2 shader: Address feedback + clang format 2021-07-22 21:51:26 -04:00