diff --git a/Source/Core/VideoCommon/GeometryShaderManager.cpp b/Source/Core/VideoCommon/GeometryShaderManager.cpp index 2ca0965343..09adad56c0 100644 --- a/Source/Core/VideoCommon/GeometryShaderManager.cpp +++ b/Source/Core/VideoCommon/GeometryShaderManager.cpp @@ -88,8 +88,6 @@ void GeometryShaderManager::SetTexCoordChanged(u8 texmapid) void GeometryShaderManager::DoState(PointerWrap &p) { - p.Do(dirty); - if (p.GetMode() == PointerWrap::MODE_READ) { // Reload current state from global GPU state 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"); diff --git a/Source/Core/VideoCommon/VertexShaderGen.cpp b/Source/Core/VideoCommon/VertexShaderGen.cpp index 83fbddf2d9..bd033967ee 100644 --- a/Source/Core/VideoCommon/VertexShaderGen.cpp +++ b/Source/Core/VideoCommon/VertexShaderGen.cpp @@ -72,9 +72,16 @@ static inline void GenerateVertexShader(T& out, u32 components, API_TYPE api_typ out.Write("in float%d tex%d; // ATTR%d,\n", hastexmtx ? 3 : 2, i, SHADER_TEXTURE0_ATTRIB + i); } - out.Write("out VertexData {\n" - "\tcentroid VS_OUTPUT o;\n" - "};\n"); + if (g_ActiveConfig.backend_info.bSupportsGeometryShaders) + { + out.Write("out VertexData {\n" + "\tcentroid VS_OUTPUT o;\n" + "};\n"); + } + else + { + out.Write("centroid out VS_OUTPUT o; \n"); + } out.Write("void main()\n{\n"); }