diff options
author | ReinUsesLisp <reinuseslisp@airmail.cc> | 2019-12-21 01:36:25 +0100 |
---|---|---|
committer | ReinUsesLisp <reinuseslisp@airmail.cc> | 2019-12-21 01:36:25 +0100 |
commit | af93909c9c3378f8acceba837a7816e1da8181a0 (patch) | |
tree | 5e923a30f2c9a60aca8dbc57d3313d4218b5e8fb | |
parent | Merge pull request #3234 from ReinUsesLisp/i2f-u8-selector (diff) | |
download | yuzu-af93909c9c3378f8acceba837a7816e1da8181a0.tar yuzu-af93909c9c3378f8acceba837a7816e1da8181a0.tar.gz yuzu-af93909c9c3378f8acceba837a7816e1da8181a0.tar.bz2 yuzu-af93909c9c3378f8acceba837a7816e1da8181a0.tar.lz yuzu-af93909c9c3378f8acceba837a7816e1da8181a0.tar.xz yuzu-af93909c9c3378f8acceba837a7816e1da8181a0.tar.zst yuzu-af93909c9c3378f8acceba837a7816e1da8181a0.zip |
-rw-r--r-- | src/video_core/renderer_vulkan/vk_shader_decompiler.cpp | 24 |
1 files changed, 1 insertions, 23 deletions
diff --git a/src/video_core/renderer_vulkan/vk_shader_decompiler.cpp b/src/video_core/renderer_vulkan/vk_shader_decompiler.cpp index 6227bc70b..fae8c95c8 100644 --- a/src/video_core/renderer_vulkan/vk_shader_decompiler.cpp +++ b/src/video_core/renderer_vulkan/vk_shader_decompiler.cpp @@ -2552,29 +2552,7 @@ public: } Id operator()(const ExprCondCode& expr) { - const Node cc = decomp.ir.GetConditionCode(expr.cc); - Id target; - - if (const auto pred = std::get_if<PredicateNode>(&*cc)) { - const auto index = pred->GetIndex(); - switch (index) { - case Tegra::Shader::Pred::NeverExecute: - target = decomp.v_false; - break; - case Tegra::Shader::Pred::UnusedIndex: - target = decomp.v_true; - break; - default: - target = decomp.predicates.at(index); - break; - } - } else if (const auto flag = std::get_if<InternalFlagNode>(&*cc)) { - target = decomp.internal_flags.at(static_cast<u32>(flag->GetFlag())); - } else { - UNREACHABLE(); - } - - return decomp.OpLoad(decomp.t_bool, target); + return decomp.AsBool(decomp.Visit(decomp.ir.GetConditionCode(expr.cc))); } Id operator()(const ExprVar& expr) { |