diff options
| author | 2021-03-24 01:33:45 -0300 | |
|---|---|---|
| committer | 2021-07-22 21:51:24 -0400 | |
| commit | 68a9505d8a1d00c6ba2739bc0af3069cf87b9b84 (patch) | |
| tree | b9a78497cd8af1d73a7eda34cd0df08b3dc324e6 /src/shader_recompiler/frontend/maxwell/structured_control_flow.cpp | |
| parent | shader: Fix use-after-free bug in object_pool (diff) | |
| download | yuzu-68a9505d8a1d00c6ba2739bc0af3069cf87b9b84.tar.gz yuzu-68a9505d8a1d00c6ba2739bc0af3069cf87b9b84.tar.xz yuzu-68a9505d8a1d00c6ba2739bc0af3069cf87b9b84.zip | |
shader: Implement NDC [-1, 1], attribute types and default varying initialization
Diffstat (limited to 'src/shader_recompiler/frontend/maxwell/structured_control_flow.cpp')
| -rw-r--r-- | src/shader_recompiler/frontend/maxwell/structured_control_flow.cpp | 7 |
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 | ||
| 639 | private: | 642 | private: |
| @@ -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 | } |