summaryrefslogtreecommitdiff
path: root/src/shader_recompiler/frontend/maxwell/control_flow.h
diff options
context:
space:
mode:
authorGravatar ReinUsesLisp2021-04-04 20:00:34 -0300
committerGravatar ameerj2021-07-22 21:51:26 -0400
commit9e6fe430bdc615ae5f7cc4fbc32d7e2baccd7ceb (patch)
tree3eb68f4872e39642f6f6c483765174ee77a793f1 /src/shader_recompiler/frontend/maxwell/control_flow.h
parentshader: Eliminate orphan blocks more efficiently (diff)
downloadyuzu-9e6fe430bdc615ae5f7cc4fbc32d7e2baccd7ceb.tar.gz
yuzu-9e6fe430bdc615ae5f7cc4fbc32d7e2baccd7ceb.tar.xz
yuzu-9e6fe430bdc615ae5f7cc4fbc32d7e2baccd7ceb.zip
shader: Fix splits on blocks using indirect branches
Diffstat (limited to 'src/shader_recompiler/frontend/maxwell/control_flow.h')
-rw-r--r--src/shader_recompiler/frontend/maxwell/control_flow.h18
1 files changed, 7 insertions, 11 deletions
diff --git a/src/shader_recompiler/frontend/maxwell/control_flow.h b/src/shader_recompiler/frontend/maxwell/control_flow.h
index a8c90d27a..466b14198 100644
--- a/src/shader_recompiler/frontend/maxwell/control_flow.h
+++ b/src/shader_recompiler/frontend/maxwell/control_flow.h
@@ -79,18 +79,14 @@ struct Block : boost::intrusive::set_base_hook<
79 Location begin; 79 Location begin;
80 Location end; 80 Location end;
81 EndClass end_class; 81 EndClass end_class;
82 Stack stack;
83 IR::Condition cond; 82 IR::Condition cond;
84 union { 83 Stack stack;
85 Block* branch_true; 84 Block* branch_true;
86 FunctionId function_call; 85 Block* branch_false;
87 IR::Reg branch_reg; 86 FunctionId function_call;
88 }; 87 Block* return_block;
89 union { 88 IR::Reg branch_reg;
90 Block* branch_false; 89 s32 branch_offset;
91 Block* return_block;
92 s32 branch_offset;
93 };
94 std::vector<IndirectBranch> indirect_branches; 90 std::vector<IndirectBranch> indirect_branches;
95}; 91};
96 92