gl_shader_decompiler: Resolve fallthrough within ExprDecompiler's ExprCondCode operator()

This would previously result in NeverExecute and UnusedIndex being
treated as regular predicates.
This commit is contained in:
Lioncash 2019-10-15 19:38:47 -04:00
parent ba0086e32d
commit b42a74ff2c

View File

@ -2316,10 +2316,13 @@ public:
switch (index) { switch (index) {
case Tegra::Shader::Pred::NeverExecute: case Tegra::Shader::Pred::NeverExecute:
target = "false"; target = "false";
break;
case Tegra::Shader::Pred::UnusedIndex: case Tegra::Shader::Pred::UnusedIndex:
target = "true"; target = "true";
break;
default: default:
target = decomp.GetPredicate(index); target = decomp.GetPredicate(index);
break;
} }
} else if (const auto flag = std::get_if<InternalFlagNode>(&*cc)) { } else if (const auto flag = std::get_if<InternalFlagNode>(&*cc)) {
target = decomp.GetInternalFlag(flag->GetFlag()); target = decomp.GetInternalFlag(flag->GetFlag());