diff options
author | Lioncash <mathew1800@gmail.com> | 2019-10-15 19:38:47 -0400 |
---|---|---|
committer | Lioncash <mathew1800@gmail.com> | 2019-10-15 19:38:55 -0400 |
commit | b42a74ff2cd621649edd2c21243547efa736271a (patch) | |
tree | a69a6bac37c4a884fb58c9e0f0faca7baa2abb74 /src | |
parent | ba0086e32dcbf11232fa2ae0864c28a991a56432 (diff) |
gl_shader_decompiler: Resolve fallthrough within ExprDecompiler's ExprCondCode operator()
This would previously result in NeverExecute and UnusedIndex being
treated as regular predicates.
Diffstat (limited to 'src')
-rw-r--r-- | src/video_core/renderer_opengl/gl_shader_decompiler.cpp | 3 |
1 files changed, 3 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 6a610a3bc..bb972bf37 100644 --- a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp +++ b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp @@ -2316,10 +2316,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()); |