summaryrefslogtreecommitdiffstats
path: root/src/shader_recompiler
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2021-06-15 22:00:07 +0200
committerameerj <52414509+ameerj@users.noreply.github.com>2021-07-23 03:51:35 +0200
commit7ac55c2a750f00b41582a86eba5a44dcd781ae98 (patch)
treeb0f904e02d8b910bf96525f202a051afae0a45eb /src/shader_recompiler
parentvk_rasterizer: Exit render passes on fragment barriers (diff)
downloadyuzu-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
Diffstat (limited to 'src/shader_recompiler')
-rw-r--r--src/shader_recompiler/frontend/maxwell/structured_control_flow.cpp4
-rw-r--r--src/shader_recompiler/ir_opt/ssa_rewrite_pass.cpp2
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));