diff options
| author | 2019-09-20 21:12:06 -0400 | |
|---|---|---|
| committer | 2019-10-04 18:52:52 -0400 | |
| commit | 2e9a810423ef36178ac3947f8feeb7b9a5b29bce (patch) | |
| tree | cad196eab22eafd8766a51e7086b8812e510b1c6 /src/video_core/renderer_vulkan | |
| parent | vk_shader_compiler: Implement the decompiler in SPIR-V (diff) | |
| download | yuzu-2e9a810423ef36178ac3947f8feeb7b9a5b29bce.tar.gz yuzu-2e9a810423ef36178ac3947f8feeb7b9a5b29bce.tar.xz yuzu-2e9a810423ef36178ac3947f8feeb7b9a5b29bce.zip | |
Shader_IR: allow else derivation to be optional.
Diffstat (limited to 'src/video_core/renderer_vulkan')
| -rw-r--r-- | src/video_core/renderer_vulkan/vk_shader_decompiler.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/video_core/renderer_vulkan/vk_shader_decompiler.cpp b/src/video_core/renderer_vulkan/vk_shader_decompiler.cpp index 505e49570..72fbc69c4 100644 --- a/src/video_core/renderer_vulkan/vk_shader_decompiler.cpp +++ b/src/video_core/renderer_vulkan/vk_shader_decompiler.cpp | |||
| @@ -1667,7 +1667,8 @@ public: | |||
| 1667 | } | 1667 | } |
| 1668 | 1668 | ||
| 1669 | void operator()(VideoCommon::Shader::ExprVar& expr) { | 1669 | void operator()(VideoCommon::Shader::ExprVar& expr) { |
| 1670 | current_id = decomp.Emit(decomp.OpLoad(decomp.t_bool, decomp.flow_variables.at(expr.var_index))); | 1670 | current_id = |
| 1671 | decomp.Emit(decomp.OpLoad(decomp.t_bool, decomp.flow_variables.at(expr.var_index))); | ||
| 1671 | } | 1672 | } |
| 1672 | 1673 | ||
| 1673 | void operator()(VideoCommon::Shader::ExprBoolean& expr) { | 1674 | void operator()(VideoCommon::Shader::ExprBoolean& expr) { |
| @@ -1749,7 +1750,8 @@ public: | |||
| 1749 | const Id loop_end_block = decomp.OpLabel(); | 1750 | const Id loop_end_block = decomp.OpLabel(); |
| 1750 | current_loop_exit = endloop_label; | 1751 | current_loop_exit = endloop_label; |
| 1751 | decomp.Emit(loop_label); | 1752 | decomp.Emit(loop_label); |
| 1752 | decomp.Emit(decomp.OpLoopMerge(endloop_label, loop_end_block, spv::LoopControlMask::MaskNone)); | 1753 | decomp.Emit( |
| 1754 | decomp.OpLoopMerge(endloop_label, loop_end_block, spv::LoopControlMask::MaskNone)); | ||
| 1753 | decomp.Emit(decomp.OpBranch(loop_start_block)); | 1755 | decomp.Emit(decomp.OpBranch(loop_start_block)); |
| 1754 | decomp.Emit(loop_start_block); | 1756 | decomp.Emit(loop_start_block); |
| 1755 | ASTNode current = ast.nodes.GetFirst(); | 1757 | ASTNode current = ast.nodes.GetFirst(); |