diff options
| author | Jules Blok <jules.blok@gmail.com> | 2014-12-17 09:18:40 +0100 |
|---|---|---|
| committer | Jules Blok <jules.blok@gmail.com> | 2014-12-18 00:37:14 +0100 |
| commit | 69df23f725205a4bcd10c6315f2421d3041e614e (patch) | |
| tree | ed5e5ebf03b10770fd1d3faa512cb718cd70d1e9 /Source/Core/VideoCommon/PixelShaderGen.cpp | |
| parent | 1af3d8447a47ea7a8be86060ca879cafe1c57824 (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.cpp | 17 |
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"); |
