Commit Graph

42 Commits

Author SHA1 Message Date
165bce3c2d Revert "shader_recompiler/dead_code_elimination: Add DeadBranchElimination pass" 2022-10-25 12:57:25 +08:00
99ceb03a1c general: Convert source file copyright comments over to SPDX
This formats all copyright comments according to SPDX formatting guidelines.
Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
2022-04-23 05:55:32 -04:00
67159e3be7 dead_code_elimination_pass: Remove unreachable Phi arguments 2022-03-23 17:57:22 -04:00
ad58d7eae7 shaders: Add U64->U32x2 Atomic fallback functions 2022-01-29 19:55:53 -05:00
c892359d1b shader: Add copy constructor to instructions 2021-11-16 22:11:28 +01:00
194579bc4f ShaderCache: Fix Phi Nodes Type on OGL. 2021-11-01 22:26:17 +01:00
c50ad56bf5 ShaderCache: Order Phi Arguments from farthest away to nearest. 2021-10-31 19:34:15 +01:00
9bb3e008c9 shader: Read branch conditions from an instruction
Fixes the identity removal pass.
2021-07-22 21:51:32 -04:00
bf5e48ffe4 glasm: Initial implementation of phi nodes on GLASM 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
7ecc6de56a shader: Implement Int32 SUATOM/SURED 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
c8f9772d65 shader: Fix gcc warnings 2021-07-22 21:51:28 -04:00
f66851e376 shader: Use memset to reset instruction arguments 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
6944cabb89 shader: Inline common Opcode and Inst functions 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
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
3db2b3effa shader: Implement ATOM/S and RED 2021-07-22 21:51:27 -04:00
d404b871d5 shader: Mark ImageWrite with side effects 2021-07-22 21:51:27 -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
fc93bc2abd shader: Implement BAR and fix memory barriers 2021-07-22 21:51:26 -04:00
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
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
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
260743f371 shader: Add partial rasterizer integration 2021-07-22 21:51:23 -04:00
8dd0acfaeb shader: Fix instruction transitions in and out of Phi 2021-07-22 21:51:23 -04:00
ab46371247 shader: Initial support for textures and TEX 2021-07-22 21:51:23 -04:00
6db69990da spirv: Add lower fp16 to fp32 pass 2021-07-22 21:51:22 -04:00
1b0cf2309c shader: Add support for forward declarations 2021-07-22 21:51:22 -04:00
8af9297f09 shader: Misc fixes 2021-07-22 21:51:22 -04:00
9170200a11 shader: Initial implementation of an AST 2021-07-22 21:51:22 -04:00
da8096e6e3 shader: Properly store phi on Inst 2021-07-22 21:51:21 -04:00
e81739493a shader: Constant propagation and global memory to storage buffer 2021-07-22 21:51:21 -04:00
6c4cc0cd06 shader: SSA and dominance 2021-07-22 21:51:21 -04:00
2d48a7b4d0 shader: Initial recompiler work 2021-07-22 21:51:21 -04:00