AnyPS5/core/shader/recompiler/ControlFlow/include/ControlFlow
XairRrR 99a96c3df3 fix(recompiler): clone small return blocks shared by early exits
A pixel shader whose early discards branch to one small ending block
gave that block several conditional predecessors outside any loop, and
structurizing failed. When the regular pass throws, the structurizer
restarts from the original graph and first gives each conditional
predecessor its own copy of such a return block (within the clone word
floor and a budget of four clones per block).

Uncharted: Legacy of Thieves Collection (PPSA05684) stopped at such a pixel shader with "conditional block 15 has no structured merge".
2026-10-10 08:41:13 +02:00
..
ControlFlowGraph.hpp feat(shader): implement s_swappc_b64 fetch-shader call 2026-10-08 20:05:24 +02:00
ControlFlowHelpers.hpp refactor(recompiler): share the control flow helpers 2026-10-08 11:06:31 +02:00
GraphBuilder.hpp fix(agc): defer shaders that cannot be prepared at registration to their first use 2026-10-09 14:26:30 +02:00
RequestSerializer.hpp feat(shader): add recompile request serialization on fail 2026-09-18 14:37:08 +03:00
Structurizer.hpp fix(recompiler): clone small return blocks shared by early exits 2026-10-10 08:41:13 +02:00