summaryrefslogtreecommitdiff
path: root/src/shader_recompiler/frontend/maxwell/structured_control_flow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/shader_recompiler/frontend/maxwell/structured_control_flow.cpp')
-rw-r--r--src/shader_recompiler/frontend/maxwell/structured_control_flow.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/shader_recompiler/frontend/maxwell/structured_control_flow.cpp b/src/shader_recompiler/frontend/maxwell/structured_control_flow.cpp
index cec03e73e..fdac1c95a 100644
--- a/src/shader_recompiler/frontend/maxwell/structured_control_flow.cpp
+++ b/src/shader_recompiler/frontend/maxwell/structured_control_flow.cpp
@@ -634,6 +634,9 @@ public:
634 : stmt_pool{stmt_pool_}, inst_pool{inst_pool_}, block_pool{block_pool_}, env{env_}, 634 : stmt_pool{stmt_pool_}, inst_pool{inst_pool_}, block_pool{block_pool_}, env{env_},
635 block_list{block_list_} { 635 block_list{block_list_} {
636 Visit(root_stmt, nullptr, nullptr); 636 Visit(root_stmt, nullptr, nullptr);
637
638 IR::IREmitter ir{*block_list.front()};
639 ir.Prologue();
637 } 640 }
638 641
639private: 642private:
@@ -734,7 +737,9 @@ private:
734 current_block = block_pool.Create(inst_pool); 737 current_block = block_pool.Create(inst_pool);
735 block_list.push_back(current_block); 738 block_list.push_back(current_block);
736 } 739 }
737 IR::IREmitter{*current_block}.Return(); 740 IR::IREmitter ir{*current_block};
741 ir.Epilogue();
742 ir.Return();
738 current_block = nullptr; 743 current_block = nullptr;
739 break; 744 break;
740 } 745 }