summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/VertexShaderGen.cpp
diff options
context:
space:
mode:
authorStenzek <stenzek@gmail.com>2016-03-29 13:35:16 +1000
committerStenzek <stenzek@gmail.com>2016-03-30 00:42:50 +1000
commite6b2212ec0240c8d00ec2f72b84c037db94bfccb (patch)
tree61518f1f88daa9b4c09e7c4d21e5311af63e0f40 /Source/Core/VideoCommon/VertexShaderGen.cpp
parent6d420542741ae9046ce6040001204b49fb88db68 (diff)
ShaderGen: Only specify storage qualifier in interface block when needed
Drivers that don't support GL_ARB_shading_language_420pack require that the storage qualifier be specified even when inside an interface block. AMD's driver throws a compile error when "centroid in/out" is used within an interface block. Our previous behavior was to include the storage qualifier regardless, but this wasn't working on AMD, therefore we should check for the presence of the extension and include based on this, instead.
Diffstat (limited to 'Source/Core/VideoCommon/VertexShaderGen.cpp')
-rw-r--r--Source/Core/VideoCommon/VertexShaderGen.cpp3
1 files changed, 1 insertions, 2 deletions
diff --git a/Source/Core/VideoCommon/VertexShaderGen.cpp b/Source/Core/VideoCommon/VertexShaderGen.cpp
index 1b436bf852..5a31a6e16c 100644
--- a/Source/Core/VideoCommon/VertexShaderGen.cpp
+++ b/Source/Core/VideoCommon/VertexShaderGen.cpp
@@ -74,9 +74,8 @@ static T GenerateVertexShader(API_TYPE api_type)
if (g_ActiveConfig.backend_info.bSupportsGeometryShaders)
{
- out.Write("// The interface block qualifier is duplicated to its member due to Apple OS X bug 24983074\n");
out.Write("out VertexData {\n");
- GenerateVSOutputMembers<T>(out, api_type, "out", GetInterpolationQualifier());
+ GenerateVSOutputMembers<T>(out, api_type, GetInterpolationQualifier(true, false));
out.Write("} vs;\n");
}
else