efc89c032b
CMakeLists: Make variable shadowing a compile-time error
...
Now that the entire project is free of variable shadowing, we can enforce this as a compile time error to prevent any further introduction of this logic bug.
2022-06-13 18:19:23 -04:00
5286a7bc4c
shader_recompiler: Rename backend emit_context files
2021-12-05 16:33:44 -05:00
1672e9ba09
shader: Fix resolution scaling pass
2021-11-16 22:11:27 +01:00
7dafa96ab5
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
d8d5501459
shader: Add int64 to int32 lowering pass
2021-07-22 21:51:39 -04:00
0ffea97e2e
shader: Split profile and runtime info headers
2021-07-22 21:51:38 -04:00
cbbca26d18
shader: Add support for native 16-bit floats
2021-07-22 21:51:38 -04:00
376aa94819
shader: Rename maxwell/program.h to translate_program.h
2021-07-22 21:51:38 -04:00
85399e119d
glsl: Reorganize backend code, remove unneeded [[maybe_unused]]
2021-07-22 21:51:37 -04:00
1269a0cf8b
glsl: Rework variable allocator to allow for variable reuse
2021-07-22 21:51:37 -04:00
eaff1030de
glsl: Initial backend
2021-07-22 21:51:35 -04:00
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