b10cf64c48
glasm: Add GLASM backend infrastructure
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
b541f5e5e3
shader: Implement VertexA stage
2021-07-22 21:51:29 -04:00
aece958c2b
shader: Add missing UndoUse case for GetSparseFromOp
2021-07-22 21:51:29 -04:00
21e3382830
shader: Simplify code in opcodes.h to fix Intellisense
...
Avoid using std::array to fix Intellisense not properly compiling this
code and disabling itself on all files that include it.
While we are at it, change the code to use u8 instead of size_t for the
number of instructions in an opcode.
2021-07-22 21:51:29 -04:00
d10cf55353
shader: Implement indexed textures
2021-07-22 21:51:28 -04:00
c8f9772d65
shader: Fix gcc warnings
2021-07-22 21:51:28 -04:00
75dee55486
shader: Inline common Value getters
2021-07-22 21:51:28 -04:00
23182fa59c
shader: Intrusively store in a block if it's sealed or not
2021-07-22 21:51:28 -04:00
f66851e376
shader: Use memset to reset instruction arguments
2021-07-22 21:51:28 -04:00
c84bbd9e44
shader: Inline common Value functions into the header
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
4209828646
shader: Intrusively store register values in block for SSA pass
2021-07-22 21:51:28 -04:00
6944cabb89
shader: Inline common Opcode and Inst functions
2021-07-22 21:51:28 -04:00
4bbe530337
shader: Inline common IR::Block methods
2021-07-22 21:51:28 -04:00
24cc298660
shader: Use a small_vector for phi blocks
2021-07-22 21:51:28 -04:00
79c2e43fcd
shader: Calculate number of arguments in an opcode at compile time
2021-07-22 21:51:28 -04:00
080857b60e
shader: Add coarse derivatives
2021-07-22 21:51:28 -04:00
04c459fc8d
shader: Implement fine derivates constant propagation
2021-07-22 21:51:28 -04:00
f18a6dd1bd
shader: Implement SR_Y_DIRECTION
2021-07-22 21:51:28 -04:00
50f8007172
shader: Fix Phi node types
2021-07-22 21:51:28 -04:00
0a0818c025
shader: Fix memory barriers
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
b126987c59
shader: Implement transform feedbacks and define file format
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
5c61e860e4
shader: Implement SR_THREAD_KILL
2021-07-22 21:51:27 -04:00
3db2b3effa
shader: Implement ATOM/S and RED
2021-07-22 21:51:27 -04:00
9280cd649a
shader: Move LaneId to the warp emission file and fix AMD
2021-07-22 21:51:27 -04:00
d404b871d5
shader: Mark ImageWrite with side effects
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
dcaf0e9150
shader: Address feedback
2021-07-22 21:51:26 -04:00
1d51803169
shader: Implement indexed attributes
2021-07-22 21:51:26 -04:00
da6cf2632c
shader: Add subgroup masks
2021-07-22 21:51:26 -04:00
fc93bc2abd
shader: Implement BAR and fix memory barriers
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
3f594dd86b
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
e7700aad18
shader: Fix undetected bug from review
2021-07-22 21:51:26 -04:00
ed6a1b1a3d
shader: Address feedback
2021-07-22 21:51:26 -04:00
baec84247f
shader: Address Feedback
2021-07-22 21:51:26 -04:00
45d547af11
shader: Implement SR_LaneId
2021-07-22 21:51:26 -04:00
655f7a570a
shader: Implement MEMBAR
2021-07-22 21:51:26 -04:00
ecb30c9072
shader: Improve VOTE.VTG stub
2021-07-22 21:51:25 -04:00
5ed8f24384
shader: Stub VOTE.VTG
2021-07-22 21:51:25 -04:00
c826220733
shader: Unroll "using enum" for opcode declarations
2021-07-22 21:51:25 -04:00