Merge pull request #4031 from Morph1984/fix-gs-outputs

gl_shader_decompiler: Fix geometry shader outputs on Intel drivers
This commit is contained in:
bunnei 2020-06-04 15:18:51 -04:00 committed by GitHub
commit 22369df357
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 13 additions and 1 deletions

View File

@ -626,7 +626,9 @@ private:
break; break;
} }
} }
if (stage != ShaderType::Vertex || device.HasVertexViewportLayer()) {
if (stage != ShaderType::Geometry &&
(stage != ShaderType::Vertex || device.HasVertexViewportLayer())) {
if (ir.UsesLayer()) { if (ir.UsesLayer()) {
code.AddLine("int gl_Layer;"); code.AddLine("int gl_Layer;");
} }
@ -655,6 +657,16 @@ private:
--code.scope; --code.scope;
code.AddLine("}};"); code.AddLine("}};");
code.AddNewLine(); code.AddNewLine();
if (stage == ShaderType::Geometry) {
if (ir.UsesLayer()) {
code.AddLine("out int gl_Layer;");
}
if (ir.UsesViewportIndex()) {
code.AddLine("out int gl_ViewportIndex;");
}
}
code.AddNewLine();
} }
void DeclareRegisters() { void DeclareRegisters() {