adb591a757
glasm: Use storage buffers instead of global memory when possible
2021-07-22 21:51:33 -04:00
c8414e686f
glasm: Implement image atomics
2021-07-22 21:51:33 -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
b10cf64c48
glasm: Add GLASM backend infrastructure
2021-07-22 21:51:30 -04:00
bed090807a
Move SPIR-V emission functions to their own header
2021-07-22 21:51:30 -04:00
7ecc6de56a
shader: Implement Int32 SUATOM/SURED
2021-07-22 21:51:30 -04:00
028f0033bd
shader: Remove shader util
2021-07-22 21:51:29 -04:00
b541f5e5e3
shader: Implement VertexA stage
2021-07-22 21:51:29 -04:00
eed6da55b8
cmake: Link to common in shader_recompiler
2021-07-22 21:51:28 -04:00
050e81500c
shader: Move microinstruction header to the value header
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
a6cef71cc0
shader: Implement OUT
2021-07-22 21:51:27 -04:00
f712084147
shader: Stub ISBERD
2021-07-22 21:51:27 -04:00
3db2b3effa
shader: Implement ATOM/S and RED
2021-07-22 21:51:27 -04:00
7cb2ab3585
shader: Implement SULD and SUST
2021-07-22 21:51:26 -04:00
5bfcafa0a2
shader: Address feedback + clang format
2021-07-22 21:51:26 -04:00
0bb85f6a75
shader_recompiler,video_core: Cleanup some GCC and Clang errors
...
Mostly fixing unused *, implicit conversion, braced scalar init,
fpermissive, and some others.
Some Clang errors likely remain in video_core, and std::ranges is still
a pertinent issue in shader_recompiler
shader_recompiler: cmake: Force bracket depth to 1024 on Clang
Increases the maximum fold expression depth
thread_worker: Include condition_variable
Don't use list initializers in control flow
Co-authored-by: ReinUsesLisp <reinuseslisp@airmail.cc >
2021-07-22 21:51:26 -04:00
0df7e509db
shader: Implement AL2P
2021-07-22 21:51:26 -04:00
85795de99f
shader: Abstract breadth searches and use the abstraction
2021-07-22 21:51:26 -04:00
655f7a570a
shader: Implement MEMBAR
2021-07-22 21:51:26 -04:00
630273b629
shader: Implement TXD
2021-07-22 21:51:25 -04:00
be3e94ae55
shader: Implement TMML partially
2021-07-22 21:51:25 -04:00
2c276ec6eb
shader: Implement TLDS
2021-07-22 21:51:25 -04:00
dc1a9a3bed
shader: Implement TLD
2021-07-22 21:51:25 -04:00
6c51f49632
shader: Implement FSWZADD
2021-07-22 21:51:25 -04:00
34aba9627a
shader: Implement BRX
2021-07-22 21:51:25 -04:00
e860870dd2
shader: Implement LDS, STS, LDL, and STS and use SPIR-V 1.4 when available
2021-07-22 21:51:25 -04:00
51475e21ba
shader: Implement VMAD, VMNMX, VSETP
2021-07-22 21:51:24 -04:00
17063d16a3
shader: Implement TXQ and fix FragDepth
2021-07-22 21:51:24 -04:00
fda0835300
shader: Implement TLD4S.
2021-07-22 21:51:24 -04:00
c7c518e280
shader: Implement TLD4 and TLD4_B
2021-07-22 21:51:24 -04:00
32c5483beb
shader: Implement SHFL
2021-07-22 21:51:24 -04:00
68a9505d8a
shader: Implement NDC [-1, 1], attribute types and default varying initialization
2021-07-22 21:51:24 -04:00
3d07cef009
shader: Implement VOTE
2021-07-22 21:51:24 -04:00
e4e1cc11b8
shader: Implement DMNMX, DSET, DSETP
2021-07-22 21:51:24 -04:00
a62f04efab
shader: Implement F2F
2021-07-22 21:51:24 -04:00
c858b8ba97
shader: Implement DMUL and DFMA
...
Also add a missing const on DADD
2021-07-22 21:51:24 -04:00
e10d9c1b8e
shader: Implement HSETP2
2021-07-22 21:51:23 -04:00
9e213fd861
shader: Implement HSET2
2021-07-22 21:51:23 -04:00
ed6cd3c94a
shader: Implement HMUL2
2021-07-22 21:51:23 -04:00
28dff6a629
shader: Implement HFMA2
2021-07-22 21:51:23 -04:00
e802512d8e
shader: Refactor half floating instructions
2021-07-22 21:51:23 -04:00
f91859efd2
shader: Implement I2F
2021-07-22 21:51:23 -04:00
260743f371
shader: Add partial rasterizer integration
2021-07-22 21:51:23 -04:00
72990df7ba
shader: Implement DADD
2021-07-22 21:51:23 -04:00
3b7fd3ad0f
shader: Implement CSET and CSETP
2021-07-22 21:51:23 -04:00
fa2f6e38f4
shader: Implement FSET and FSETP
...
Also fix oversight with adding SignedZeroInfNanPreserve execution mode.
2021-07-22 21:51:23 -04:00
17a82b56d7
shader: Implement TEXS
2021-07-22 21:51:23 -04:00
71f96fa636
shader: Implement CAL inlining function calls
2021-07-22 21:51:23 -04:00