VideoCommon: Only use interface blocks when geometry shaders are supported.
This commit is contained in:
parent
1af3d8447a
commit
69df23f725
|
@ -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
|
||||
|
|
|
@ -317,6 +317,8 @@ 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;
|
||||
if (g_ActiveConfig.backend_info.bSupportsGeometryShaders)
|
||||
{
|
||||
out.Write("in VertexData {\n");
|
||||
out.Write("\tcentroid VS_OUTPUT o;\n");
|
||||
|
||||
|
@ -324,6 +326,11 @@ static inline void GeneratePixelShader(T& out, DSTALPHA_MODE dstAlphaMode, API_T
|
|||
out.Write("\tflat int layer;\n");
|
||||
|
||||
out.Write("};\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
out.Write("centroid in VS_OUTPUT o;\n");
|
||||
}
|
||||
|
||||
out.Write("void main()\n{\n");
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
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");
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue