mirror of
https://github.com/KytyPS5/KytyPS5.git
synced 2026-10-20 19:07:01 +02:00
shader: preserve folded control-flow values
This commit is contained in:
@@ -10498,16 +10498,14 @@ bool LowerTypedPlanning(const uint32_t *code, uint32_t words,
|
||||
ir.blocks.clear();
|
||||
ShaderRecompiler::IR::RewriteToSsa(ir.values->blocks);
|
||||
ShaderRecompiler::IR::ConstantPropagationPass(ir.values->blocks);
|
||||
for (auto &info : ir.values->block_info) {
|
||||
info.condition = info.condition.Resolve();
|
||||
info.indirect_target = info.indirect_target.Resolve();
|
||||
}
|
||||
ShaderRecompiler::IR::ResolveControlFlowIdentities(*ir.values);
|
||||
ShaderRecompiler::IR::RemoveIdentities(ir.values->blocks);
|
||||
ShaderRecompiler::IR::EliminateDeadCode(ir.values->blocks);
|
||||
const auto read_lane =
|
||||
ShaderRecompiler::IR::EliminateReadLane(*ir.values, ir.wave_size);
|
||||
if (read_lane.rewritten_reads != 0) {
|
||||
ShaderRecompiler::IR::ConstantPropagationPass(ir.values->blocks);
|
||||
ShaderRecompiler::IR::ResolveControlFlowIdentities(*ir.values);
|
||||
ShaderRecompiler::IR::RemoveIdentities(ir.values->blocks);
|
||||
ShaderRecompiler::IR::EliminateDeadCode(ir.values->blocks);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user