summaryrefslogtreecommitdiff
path: root/src/shader_recompiler/ir_opt
AgeCommit message (Collapse)Author
2021-07-22shader: Teach global memory base tracker to follow vectorsReinUsesLisp
2021-07-22shader: Add constant propagation to integer vectorsReinUsesLisp
2021-07-22shader: Move loop safety tests to code emissionReinUsesLisp
2021-07-22texture_pass: Fix is_read image qualificationameerj
Atomic operations are considered to have both read and write access. This was not being accounted for.
2021-07-22shader: Align constant buffer sizes to 16 bytesReinUsesLisp
WAR for AMD reading zeroes on uniform buffers of size 2.
2021-07-22shader: Properly manage attributes not written from previous stagesReinUsesLisp
2021-07-22glsl: Address rest of feedbackameerj
2021-07-22glsl: Conditionally add EXT_texture_shadow_lodameerj
2021-07-22glsl: Implement legacy varyingsameerj
2021-07-22glsl: Fix ATOM and implement ATOMSameerj
2021-07-22glsl: Track S32 atomicsameerj
2021-07-22glsl: Revert ssbo aliasing. Storage Atomics implameerj
2021-07-22glsl: Wip storage atomic opsameerj
2021-07-22shader: Fix loop safety to SSA passReinUsesLisp
2021-07-22shader: Add shader loop safety check settingslat9nq
Also add a setting for enable Nsight Aftermath.
2021-07-22shader: Fix VertexA Shaders.FernandoS27
2021-07-22buffer_cache: Reduce uniform buffer size from shader usageReinUsesLisp
Increases performance significantly on certain titles.
2021-07-22shader,glasm: Implement legacy texcoord loadsReinUsesLisp
2021-07-22shader: Track legacy varyingsReinUsesLisp
2021-07-22shader: Clang-format secondary texturesReinUsesLisp
2021-07-22shader: Fix secondary texturesReinUsesLisp
2021-07-22shader: Fix FSwizzleAdd folding when going through phi nodesReinUsesLisp
2021-07-22glasm: Remove unintentionally committed fmt::printsReinUsesLisp
2021-07-22glasm: Initial implementation of phi nodes on GLASMReinUsesLisp
2021-07-22glasm: Rework control flow introducing a syntax listReinUsesLisp
This commit regresses VertexA shaders, their transformation pass has to be adapted to the new control flow.
2021-07-22glasm: Implement shuffle and vote instructions on GLASMReinUsesLisp
2021-07-22shader: Optimize NVN FallthroughFernandoS27
2021-07-22shader: Implement Int32 SUATOM/SUREDameerj
2021-07-22shader: Address feedbackFernandoS27
2021-07-22shader: Implement VertexA stageFernandoS27
2021-07-22shader: Fix BFE s32 undefined checkameerj
Our unit tests were hitting this exception.
2021-07-22shader: Fix error checking in bitfieldExtract and implement bitfieldInsert ↵ReinUsesLisp
folding
2021-07-22shader: Add more strict validation the passReinUsesLisp
2021-07-22shader: Fix forward referencing identity instructions when inserting phiReinUsesLisp
2021-07-22shader: Remove invalidated blocks in dead code elimination passReinUsesLisp
2021-07-22shader: Implement indexed texturesReinUsesLisp
2021-07-22shader: Intrusively store in a block if it's sealed or notReinUsesLisp
2021-07-22shader: Move microinstruction header to the value headerReinUsesLisp
2021-07-22shader: Intrusively store register values in block for SSA passReinUsesLisp
2021-07-22shader: Implement D3D samplersReinUsesLisp
2021-07-22shader: Add constant propagation for arithmetic right shiftsReinUsesLisp
2021-07-22shader: Add NVN storage buffer fallbacksReinUsesLisp
When we can't track the SSBO origin of a global memory instruction, leave it as a global memory operation and assume these pointers are in the NVN storage buffer slots, then apply a linear search in the shader's runtime.
2021-07-22shader: Address feedbackFernandoS27
2021-07-22shader: Add coarse derivativesFernandoS27
2021-07-22shader: Implement fine derivates constant propagationFernandoS27
2021-07-22shader: Fix Phi node typesReinUsesLisp
2021-07-22shader: Implement SampleMaskReinUsesLisp
2021-07-22shader: Implement PIXLD.MY_INDEXReinUsesLisp
2021-07-22spirv: Implement ViewportMask with NV_viewport_array2ReinUsesLisp
2021-07-22shader: Implement PrimitiveIdReinUsesLisp