forked from suyu/suyu
gl_shader_decompiler: Fix GLSL compiler error with KIL instruction.
This commit is contained in:
parent
a921d22545
commit
c68aa65226
1 changed files with 8 additions and 0 deletions
|
@ -1667,7 +1667,15 @@ private:
|
||||||
}
|
}
|
||||||
case OpCode::Id::KIL: {
|
case OpCode::Id::KIL: {
|
||||||
ASSERT(instr.flow.cond == Tegra::Shader::FlowCondition::Always);
|
ASSERT(instr.flow.cond == Tegra::Shader::FlowCondition::Always);
|
||||||
|
|
||||||
|
// Enclose "discard" in a conditional, so that GLSL compilation does not complain
|
||||||
|
// about unexecuted instructions that may follow this.
|
||||||
|
shader.AddLine("if (true) {");
|
||||||
|
++shader.scope;
|
||||||
shader.AddLine("discard;");
|
shader.AddLine("discard;");
|
||||||
|
--shader.scope;
|
||||||
|
shader.AddLine("}");
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case OpCode::Id::BRA: {
|
case OpCode::Id::BRA: {
|
||||||
|
|
Loading…
Reference in a new issue