summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/TextureConversionShader.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/VideoCommon/TextureConversionShader.cpp')
-rw-r--r--Source/Core/VideoCommon/TextureConversionShader.cpp22
1 files changed, 20 insertions, 2 deletions
diff --git a/Source/Core/VideoCommon/TextureConversionShader.cpp b/Source/Core/VideoCommon/TextureConversionShader.cpp
index 29c7cccc1b..69a42e26d5 100644
--- a/Source/Core/VideoCommon/TextureConversionShader.cpp
+++ b/Source/Core/VideoCommon/TextureConversionShader.cpp
@@ -72,7 +72,16 @@ static void WriteHeader(char*& p, APIType ApiType)
WRITE(p, " float2 clamp_tb;\n");
WRITE(p, " float3 filter_coefficients;\n");
WRITE(p, "};\n");
- WRITE(p, "VARYING_LOCATION(0) in float3 v_tex0;\n");
+ if (g_ActiveConfig.backend_info.bSupportsGeometryShaders)
+ {
+ WRITE(p, "VARYING_LOCATION(0) in VertexData {\n");
+ WRITE(p, " float3 v_tex0;\n");
+ WRITE(p, "};\n");
+ }
+ else
+ {
+ WRITE(p, "VARYING_LOCATION(0) in float3 v_tex0;\n");
+ }
WRITE(p, "SAMPLER_BINDING(0) uniform sampler2DArray samp0;\n");
WRITE(p, "FRAGMENT_OUTPUT_LOCATION(0) out float4 ocol0;\n");
}
@@ -1510,7 +1519,16 @@ float4 DecodePixel(int val)
}
else
{
- 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";
ss << "void main() {\n";
ss << " float3 coords = v_tex0;\n";