summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/TextureConversionShader.cpp
diff options
context:
space:
mode:
authorConnor McLaughlin <stenzek@gmail.com>2019-04-22 12:41:12 +1000
committerGitHub <noreply@github.com>2019-04-22 12:41:12 +1000
commit93be178f28a55ea1bb3fa796b32eecae482a53d1 (patch)
treec7e529d6f174a17456bcb9c39dd2e596f4fc4ba9 /Source/Core/VideoCommon/TextureConversionShader.cpp
parentfb841c75cbde93c6d615fcc91d8142ba2493e1fd (diff)
parenteddde3e6c8d8ea37a724e66dbc82b432ae63df96 (diff)
Merge pull request #7857 from stenzek/opengl-stereo
OGL: Fix stereoscopy
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";