gl_shader_decompiler: Fix GLSL compiler error with KIL instruction.

merge-requests/60/head
bunnei 2018-08-12 00:06:48 +07:00
parent a921d22545
commit c68aa65226
1 changed files with 8 additions and 0 deletions

@ -1667,7 +1667,15 @@ private:
}
case OpCode::Id::KIL: {
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.scope;
shader.AddLine("}");
break;
}
case OpCode::Id::BRA: {