summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFernando Sahmkow <fsahmkow27@gmail.com>2019-10-22 19:16:46 +0200
committerGitHub <noreply@github.com>2019-10-22 19:16:46 +0200
commit7ecf9f72289d81f73030b612f19d8cde0de3dad6 (patch)
tree79545c4e360b949b45163e8c5814bf0cceabf7b0
parentMerge pull request #3003 from ReinUsesLisp/flush-mme-trace (diff)
parentvk_shader_decompiler: Resolve fallthrough within ExprDecompiler's ExprCondCode operator() (diff)
downloadyuzu-7ecf9f72289d81f73030b612f19d8cde0de3dad6.tar
yuzu-7ecf9f72289d81f73030b612f19d8cde0de3dad6.tar.gz
yuzu-7ecf9f72289d81f73030b612f19d8cde0de3dad6.tar.bz2
yuzu-7ecf9f72289d81f73030b612f19d8cde0de3dad6.tar.lz
yuzu-7ecf9f72289d81f73030b612f19d8cde0de3dad6.tar.xz
yuzu-7ecf9f72289d81f73030b612f19d8cde0de3dad6.tar.zst
yuzu-7ecf9f72289d81f73030b612f19d8cde0de3dad6.zip
-rw-r--r--src/video_core/renderer_opengl/gl_shader_decompiler.cpp3
-rw-r--r--src/video_core/renderer_vulkan/vk_shader_decompiler.cpp3
2 files changed, 6 insertions, 0 deletions
diff --git a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp
index a3524a6a9..baec66ff0 100644
--- a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp
+++ b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp
@@ -2314,10 +2314,13 @@ public:
switch (index) {
case Tegra::Shader::Pred::NeverExecute:
target = "false";
+ break;
case Tegra::Shader::Pred::UnusedIndex:
target = "true";
+ break;
default:
target = decomp.GetPredicate(index);
+ break;
}
} else if (const auto flag = std::get_if<InternalFlagNode>(&*cc)) {
target = decomp.GetInternalFlag(flag->GetFlag());
diff --git a/src/video_core/renderer_vulkan/vk_shader_decompiler.cpp b/src/video_core/renderer_vulkan/vk_shader_decompiler.cpp
index 3fb016b96..0d943a826 100644
--- a/src/video_core/renderer_vulkan/vk_shader_decompiler.cpp
+++ b/src/video_core/renderer_vulkan/vk_shader_decompiler.cpp
@@ -1682,10 +1682,13 @@ public:
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()));