aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs')
-rw-r--r--src/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs b/src/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs
index 4ff61d9f..b7482425 100644
--- a/src/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs
+++ b/src/Ryujinx.Graphics.Shader/CodeGen/Spirv/Declarations.cs
@@ -356,6 +356,16 @@ namespace Ryujinx.Graphics.Shader.CodeGen.Spirv
context.AddGlobalVariable(perVertexInputVariable);
context.Inputs.Add(new IoDefinition(StorageKind.Input, IoVariable.Position), perVertexInputVariable);
+
+ if (context.Definitions.Stage == ShaderStage.Geometry &&
+ context.Definitions.GpPassthrough &&
+ context.HostCapabilities.SupportsGeometryShaderPassthrough)
+ {
+ context.MemberDecorate(perVertexInputStructType, 0, Decoration.PassthroughNV);
+ context.MemberDecorate(perVertexInputStructType, 1, Decoration.PassthroughNV);
+ context.MemberDecorate(perVertexInputStructType, 2, Decoration.PassthroughNV);
+ context.MemberDecorate(perVertexInputStructType, 3, Decoration.PassthroughNV);
+ }
}
var perVertexOutputStructType = CreatePerVertexStructType(context);