Skip to content
Permalink
Browse files

PostProcessing: Use interface blocks for shaders

  • Loading branch information...
stenzek committed Oct 2, 2019
1 parent af84912 commit 33a6d265e51c2289192eef15ffeec830b98b2410
Showing with 23 additions and 2 deletions.
  1. +23 −2 Source/Core/VideoCommon/PostProcessing.cpp
@@ -499,7 +499,18 @@ std::string PostProcessing::GetHeader() const
else
{
ss << "SAMPLER_BINDING(0) uniform sampler2DArray samp0;\n";
ss << "VARYING_LOCATION(0) in float3 v_tex0;\n";

if (g_ActiveConfig.backend_info.bSupportsGeometryShaders)
{
ss << "VARYING_LOCATION(0) in VertexData {\n";
ss << " float3 v_tex0;\n";
ss << "};\n";
}
else
{
ss << "VARYING_LOCATION(0) in float3 v_tex0;\n";
}

ss << "FRAGMENT_OUTPUT_LOCATION(0) out float4 ocol0;\n";
}

@@ -597,7 +608,17 @@ bool PostProcessing::CompileVertexShader()
}
else
{
ss << "VARYING_LOCATION(0) out float3 v_tex0;\n";
if (g_ActiveConfig.backend_info.bSupportsGeometryShaders)
{
ss << "VARYING_LOCATION(0) out VertexData {\n";
ss << " float3 v_tex0;\n";
ss << "};\n";
}
else
{
ss << "VARYING_LOCATION(0) out float3 v_tex0;\n";
}

ss << "#define id gl_VertexID\n";
ss << "#define opos gl_Position\n";
ss << "void main() {\n";

0 comments on commit 33a6d26

Please sign in to comment.
You can’t perform that action at this time.