diff options
author | Fernando Sahmkow <fsahmkow27@gmail.com> | 2019-12-30 18:54:53 +0100 |
---|---|---|
committer | FernandoS27 <fsahmkow27@gmail.com> | 2019-12-30 20:31:48 +0100 |
commit | b3371ed09e6866e235141119f9eecc2bb962dc8d (patch) | |
tree | 06619df9bd72cc0d73a3869b040b20804e2d3109 /src/video_core/renderer_vulkan | |
parent | Merge pull request #3250 from ReinUsesLisp/empty-fragment (diff) | |
download | yuzu-b3371ed09e6866e235141119f9eecc2bb962dc8d.tar yuzu-b3371ed09e6866e235141119f9eecc2bb962dc8d.tar.gz yuzu-b3371ed09e6866e235141119f9eecc2bb962dc8d.tar.bz2 yuzu-b3371ed09e6866e235141119f9eecc2bb962dc8d.tar.lz yuzu-b3371ed09e6866e235141119f9eecc2bb962dc8d.tar.xz yuzu-b3371ed09e6866e235141119f9eecc2bb962dc8d.tar.zst yuzu-b3371ed09e6866e235141119f9eecc2bb962dc8d.zip |
Diffstat (limited to 'src/video_core/renderer_vulkan')
-rw-r--r-- | src/video_core/renderer_vulkan/vk_shader_decompiler.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/video_core/renderer_vulkan/vk_shader_decompiler.cpp b/src/video_core/renderer_vulkan/vk_shader_decompiler.cpp index a8baf91de..50feeb003 100644 --- a/src/video_core/renderer_vulkan/vk_shader_decompiler.cpp +++ b/src/video_core/renderer_vulkan/vk_shader_decompiler.cpp @@ -954,6 +954,12 @@ private: Expression Visit(const Node& node) { if (const auto operation = std::get_if<OperationNode>(&*node)) { + auto amend_index = operation->GetAmendIndex(); + if (amend_index) { + const Node& amend_node = ir.GetAmendNode(*amend_index); + [[maybe_unused]] const Type type = Visit(amend_node).type; + ASSERT(type == Type::Void); + } const auto operation_index = static_cast<std::size_t>(operation->GetCode()); const auto decompiler = operation_decompilers[operation_index]; if (decompiler == nullptr) { @@ -1142,6 +1148,12 @@ private: } if (const auto conditional = std::get_if<ConditionalNode>(&*node)) { + auto amend_index = conditional->GetAmendIndex(); + if (amend_index) { + const Node& amend_node = ir.GetAmendNode(*amend_index); + [[maybe_unused]] const Type type = Visit(amend_node).type; + ASSERT(type == Type::Void); + } // It's invalid to call conditional on nested nodes, use an operation instead const Id true_label = OpLabel(); const Id skip_label = OpLabel(); @@ -1164,6 +1176,12 @@ private: } if (const auto comment = std::get_if<CommentNode>(&*node)) { + auto amend_index = comment->GetAmendIndex(); + if (amend_index) { + const Node& amend_node = ir.GetAmendNode(*amend_index); + [[maybe_unused]] const Type type = Visit(amend_node).type; + ASSERT(type == Type::Void); + } Name(OpUndef(t_void), comment->GetText()); return {}; } |