summaryrefslogtreecommitdiff
path: root/src/video_core/renderer_vulkan
diff options
context:
space:
mode:
authorGravatar Fernando Sahmkow2019-09-20 21:12:06 -0400
committerGravatar FernandoS272019-10-04 18:52:52 -0400
commit2e9a810423ef36178ac3947f8feeb7b9a5b29bce (patch)
treecad196eab22eafd8766a51e7086b8812e510b1c6 /src/video_core/renderer_vulkan
parentvk_shader_compiler: Implement the decompiler in SPIR-V (diff)
downloadyuzu-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.cpp6
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();