diff options
author | Zephyron <zephyron@citron-emu.org> | 2025-01-15 20:19:57 +1000 |
---|---|---|
committer | Zephyron <zephyron@citron-emu.org> | 2025-01-15 20:19:57 +1000 |
commit | 496b010927d7db3bcd6c52ddeadf34b9d9ca4f3a (patch) | |
tree | 766252da342c8b42363b81b1113dcbba5e313d52 /src/shader_recompiler/frontend/ir | |
parent | 498d016873bc51147d098c501a8364d58c33eaca (diff) |
shader-recompiler: implement FCSM_TR flow test case
Remove the stubbed implementation of FCSM_TR (Forward Condition Set Mode -
Thread Reduction) flow test and replace it with an initial implementation
using SFlag and ZFlag conditions. This provides basic functionality while
allowing for future refinement based on specific shader architecture
requirements.
Diffstat (limited to 'src/shader_recompiler/frontend/ir')
-rw-r--r-- | src/shader_recompiler/frontend/ir/ir_emitter.cpp | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/shader_recompiler/frontend/ir/ir_emitter.cpp b/src/shader_recompiler/frontend/ir/ir_emitter.cpp index 49171c470..b8bc5ea95 100644 --- a/src/shader_recompiler/frontend/ir/ir_emitter.cpp +++ b/src/shader_recompiler/frontend/ir/ir_emitter.cpp @@ -261,8 +261,7 @@ static U1 GetFlowTest(IREmitter& ir, FlowTest flow_test) { case FlowTest::RGT: return ir.LogicalAnd(ir.LogicalNot(ir.GetSFlag()), ir.LogicalNot(ir.GetZFlag())); case FlowTest::FCSM_TR: - LOG_WARNING(Shader, "(STUBBED) FCSM_TR"); - return ir.Imm1(false); + return ir.LogicalAnd(ir.GetSFlag(), ir.LogicalNot(ir.GetZFlag())); case FlowTest::CSM_TA: case FlowTest::CSM_TR: case FlowTest::CSM_MX: |