diff options
author | ReinUsesLisp <reinuseslisp@airmail.cc> | 2021-06-15 22:00:07 +0200 |
---|---|---|
committer | ameerj <52414509+ameerj@users.noreply.github.com> | 2021-07-23 03:51:35 +0200 |
commit | 7ac55c2a750f00b41582a86eba5a44dcd781ae98 (patch) | |
tree | b0f904e02d8b910bf96525f202a051afae0a45eb | |
parent | vk_rasterizer: Exit render passes on fragment barriers (diff) | |
download | yuzu-7ac55c2a750f00b41582a86eba5a44dcd781ae98.tar yuzu-7ac55c2a750f00b41582a86eba5a44dcd781ae98.tar.gz yuzu-7ac55c2a750f00b41582a86eba5a44dcd781ae98.tar.bz2 yuzu-7ac55c2a750f00b41582a86eba5a44dcd781ae98.tar.lz yuzu-7ac55c2a750f00b41582a86eba5a44dcd781ae98.tar.xz yuzu-7ac55c2a750f00b41582a86eba5a44dcd781ae98.tar.zst yuzu-7ac55c2a750f00b41582a86eba5a44dcd781ae98.zip |
-rw-r--r-- | src/shader_recompiler/frontend/maxwell/structured_control_flow.cpp | 4 | ||||
-rw-r--r-- | src/shader_recompiler/ir_opt/ssa_rewrite_pass.cpp | 2 |
2 files changed, 4 insertions, 2 deletions
diff --git a/src/shader_recompiler/frontend/maxwell/structured_control_flow.cpp b/src/shader_recompiler/frontend/maxwell/structured_control_flow.cpp index b2b8c492a..605ec38e1 100644 --- a/src/shader_recompiler/frontend/maxwell/structured_control_flow.cpp +++ b/src/shader_recompiler/frontend/maxwell/structured_control_flow.cpp @@ -750,7 +750,9 @@ private: } else { IR::Block* const init_block{block_pool.Create(inst_pool)}; IR::IREmitter ir{*init_block}; - ir.SetLoopSafetyVariable(this_loop_id, ir.Imm32(0x2000)); + + static constexpr u32 SAFETY_THRESHOLD = 0x2000; + ir.SetLoopSafetyVariable(this_loop_id, ir.Imm32(SAFETY_THRESHOLD)); if (current_block) { current_block->AddBranch(init_block); diff --git a/src/shader_recompiler/ir_opt/ssa_rewrite_pass.cpp b/src/shader_recompiler/ir_opt/ssa_rewrite_pass.cpp index a4ba393ef..fff25c4a2 100644 --- a/src/shader_recompiler/ir_opt/ssa_rewrite_pass.cpp +++ b/src/shader_recompiler/ir_opt/ssa_rewrite_pass.cpp @@ -338,7 +338,7 @@ void VisitInst(Pass& pass, IR::Block* block, IR::Inst& inst) { pass.WriteVariable(GotoVariable{inst.Arg(0).U32()}, block, inst.Arg(1)); break; case IR::Opcode::SetLoopSafetyVariable: - pass.WriteVariable(LoopSafetyVariable{inst.Arg(0).U32()}, block, inst.Arg(0)); + pass.WriteVariable(LoopSafetyVariable{inst.Arg(0).U32()}, block, inst.Arg(1)); break; case IR::Opcode::SetIndirectBranchVariable: pass.WriteVariable(IndirectBranchVariable{}, block, inst.Arg(0)); |