Commit graph

114 commits

Author SHA1 Message Date
ReinUsesLisp c8f9772d65 shader: Fix gcc warnings 2021-07-22 21:51:28 -04:00
ReinUsesLisp 75dee55486 shader: Inline common Value getters 2021-07-22 21:51:28 -04:00
ReinUsesLisp 23182fa59c shader: Intrusively store in a block if it's sealed or not 2021-07-22 21:51:28 -04:00
ReinUsesLisp f66851e376 shader: Use memset to reset instruction arguments 2021-07-22 21:51:28 -04:00
ReinUsesLisp c84bbd9e44 shader: Inline common Value functions into the header 2021-07-22 21:51:28 -04:00
ReinUsesLisp 050e81500c shader: Move microinstruction header to the value header 2021-07-22 21:51:28 -04:00
ReinUsesLisp 4209828646 shader: Intrusively store register values in block for SSA pass 2021-07-22 21:51:28 -04:00
ReinUsesLisp 6944cabb89 shader: Inline common Opcode and Inst functions 2021-07-22 21:51:28 -04:00
ReinUsesLisp 4bbe530337 shader: Inline common IR::Block methods 2021-07-22 21:51:28 -04:00
ReinUsesLisp 24cc298660 shader: Use a small_vector for phi blocks 2021-07-22 21:51:28 -04:00
ReinUsesLisp 79c2e43fcd shader: Calculate number of arguments in an opcode at compile time 2021-07-22 21:51:28 -04:00
FernandoS27 080857b60e shader: Add coarse derivatives 2021-07-22 21:51:28 -04:00
FernandoS27 04c459fc8d shader: Implement fine derivates constant propagation 2021-07-22 21:51:28 -04:00
FernandoS27 f18a6dd1bd shader: Implement SR_Y_DIRECTION 2021-07-22 21:51:28 -04:00
ReinUsesLisp 50f8007172 shader: Fix Phi node types 2021-07-22 21:51:28 -04:00
ReinUsesLisp 0a0818c025 shader: Fix memory barriers 2021-07-22 21:51:28 -04:00
ReinUsesLisp 80940b1706 shader: Implement SampleMask 2021-07-22 21:51:28 -04:00
ReinUsesLisp 95815a3883 shader: Implement PIXLD.MY_INDEX 2021-07-22 21:51:28 -04:00
ReinUsesLisp 183855e396 shader: Implement tessellation shaders, polygon mode and invocation id 2021-07-22 21:51:27 -04:00
ReinUsesLisp b126987c59 shader: Implement transform feedbacks and define file format 2021-07-22 21:51:27 -04:00
ReinUsesLisp f263760c5a shader: Implement geometry shaders 2021-07-22 21:51:27 -04:00
ReinUsesLisp a6cef71cc0 shader: Implement OUT 2021-07-22 21:51:27 -04:00
ReinUsesLisp 5c61e860e4 shader: Implement SR_THREAD_KILL 2021-07-22 21:51:27 -04:00
ameerj 3db2b3effa shader: Implement ATOM/S and RED 2021-07-22 21:51:27 -04:00
ReinUsesLisp 9280cd649a shader: Move LaneId to the warp emission file and fix AMD 2021-07-22 21:51:27 -04:00
ReinUsesLisp d404b871d5 shader: Mark ImageWrite with side effects 2021-07-22 21:51:27 -04:00
ReinUsesLisp 7cb2ab3585 shader: Implement SULD and SUST 2021-07-22 21:51:26 -04:00
lat9nq 5bfcafa0a2 shader: Address feedback + clang format 2021-07-22 21:51:26 -04:00
lat9nq 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
FernandoS27 dcaf0e9150 shader: Address feedback 2021-07-22 21:51:26 -04:00
FernandoS27 1d51803169 shader: Implement indexed attributes 2021-07-22 21:51:26 -04:00
ReinUsesLisp da6cf2632c shader: Add subgroup masks 2021-07-22 21:51:26 -04:00
ReinUsesLisp fc93bc2abd shader: Implement BAR and fix memory barriers 2021-07-22 21:51:26 -04:00
ReinUsesLisp 85795de99f shader: Abstract breadth searches and use the abstraction 2021-07-22 21:51:26 -04:00
ReinUsesLisp 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
FernandoS27 e7700aad18 shader: Fix undetected bug from review 2021-07-22 21:51:26 -04:00
FernandoS27 ed6a1b1a3d shader: Address feedback 2021-07-22 21:51:26 -04:00
FernandoS27 baec84247f shader: Address Feedback 2021-07-22 21:51:26 -04:00
FernandoS27 45d547af11 shader: Implement SR_LaneId 2021-07-22 21:51:26 -04:00
FernandoS27 655f7a570a shader: Implement MEMBAR 2021-07-22 21:51:26 -04:00
FernandoS27 ecb30c9072 shader: Improve VOTE.VTG stub 2021-07-22 21:51:25 -04:00
FernandoS27 5ed8f24384 shader: Stub VOTE.VTG 2021-07-22 21:51:25 -04:00
ReinUsesLisp c826220733 shader: Unroll "using enum" for opcode declarations 2021-07-22 21:51:25 -04:00
FernandoS27 67afdaf566 shader: Fix TXD 2021-07-22 21:51:25 -04:00
ReinUsesLisp cb6fc03e55 shader: Always pass a lod for TexelFetch 2021-07-22 21:51:25 -04:00
FernandoS27 d5bfc63088 shader: Implement ImageGradient 2021-07-22 21:51:25 -04:00
FernandoS27 be3e94ae55 shader: Implement TMML partially 2021-07-22 21:51:25 -04:00
FernandoS27 613b48c4a2 shader,spirv: Implement ImageQueryLod. 2021-07-22 21:51:25 -04:00
FernandoS27 dc1a9a3bed shader: Implement TLD 2021-07-22 21:51:25 -04:00
ReinUsesLisp 514a6b07ee shader: Store type of phi nodes in flags
This is needed because pseudo-instructions where invalidated.
2021-07-22 21:51:25 -04:00