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.
This commit is contained in:
Zephyron 2025-01-15 20:19:57 +10:00
parent 498d016873
commit 496b010927

View file

@ -261,8 +261,7 @@ static U1 GetFlowTest(IREmitter& ir, FlowTest flow_test) {
case FlowTest::RGT: case FlowTest::RGT:
return ir.LogicalAnd(ir.LogicalNot(ir.GetSFlag()), ir.LogicalNot(ir.GetZFlag())); return ir.LogicalAnd(ir.LogicalNot(ir.GetSFlag()), ir.LogicalNot(ir.GetZFlag()));
case FlowTest::FCSM_TR: case FlowTest::FCSM_TR:
LOG_WARNING(Shader, "(STUBBED) FCSM_TR"); return ir.LogicalAnd(ir.GetSFlag(), ir.LogicalNot(ir.GetZFlag()));
return ir.Imm1(false);
case FlowTest::CSM_TA: case FlowTest::CSM_TA:
case FlowTest::CSM_TR: case FlowTest::CSM_TR:
case FlowTest::CSM_MX: case FlowTest::CSM_MX: