summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/PixelShaderGen.cpp
diff options
context:
space:
mode:
authorJules Blok <jules.blok@gmail.com>2014-12-17 09:18:40 +0100
committerJules Blok <jules.blok@gmail.com>2014-12-18 00:37:14 +0100
commit69df23f725205a4bcd10c6315f2421d3041e614e (patch)
treeed5e5ebf03b10770fd1d3faa512cb718cd70d1e9 /Source/Core/VideoCommon/PixelShaderGen.cpp
parent1af3d8447a47ea7a8be86060ca879cafe1c57824 (diff)
VideoCommon: Only use interface blocks when geometry shaders are supported.
Diffstat (limited to 'Source/Core/VideoCommon/PixelShaderGen.cpp')
-rw-r--r--Source/Core/VideoCommon/PixelShaderGen.cpp17
1 files changed, 12 insertions, 5 deletions
diff --git a/Source/Core/VideoCommon/PixelShaderGen.cpp b/Source/Core/VideoCommon/PixelShaderGen.cpp
index 06d9893a71..8557f9e98b 100644
--- a/Source/Core/VideoCommon/PixelShaderGen.cpp
+++ b/Source/Core/VideoCommon/PixelShaderGen.cpp
@@ -317,13 +317,20 @@ static inline void GeneratePixelShader(T& out, DSTALPHA_MODE dstAlphaMode, API_T
// is always inside the primitive.
// Without MSAA, this flag is defined to have no effect.
uid_data->stereo = g_ActiveConfig.iStereoMode > 0;
- out.Write("in VertexData {\n");
- out.Write("\tcentroid VS_OUTPUT o;\n");
+ if (g_ActiveConfig.backend_info.bSupportsGeometryShaders)
+ {
+ out.Write("in VertexData {\n");
+ out.Write("\tcentroid VS_OUTPUT o;\n");
- if (g_ActiveConfig.iStereoMode > 0)
- out.Write("\tflat int layer;\n");
+ if (g_ActiveConfig.iStereoMode > 0)
+ out.Write("\tflat int layer;\n");
- out.Write("};\n");
+ out.Write("};\n");
+ }
+ else
+ {
+ out.Write("centroid in VS_OUTPUT o;\n");
+ }
out.Write("void main()\n{\n");