summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFernando Sahmkow <fsahmkow27@gmail.com>2019-10-22 13:16:46 -0400
committerGitHub <noreply@github.com>2019-10-22 13:16:46 -0400
commit7ecf9f72289d81f73030b612f19d8cde0de3dad6 (patch)
tree79545c4e360b949b45163e8c5814bf0cceabf7b0 /src
parent1572fb9bf216e2d022067c15764ecdb5f2e0ed31 (diff)
parent6947bf8e44409babf6c551f00c8135edd74ca19d (diff)
Merge pull request #2983 from lioncash/fallthrough
gl_shader_decompiler/vk_shader_decompiler: Resolve implicit fallthrough cases
Diffstat (limited to 'src')
-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()));