summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/VertexShaderGen.cpp
diff options
context:
space:
mode:
authorPierre Bourdon <delroth@gmail.com>2016-03-26 01:43:32 +0100
committerPierre Bourdon <delroth@gmail.com>2016-03-26 01:43:32 +0100
commitae4cb12033eb01df67cea1f054d44526fe093059 (patch)
treee361642dc48ec2c7b53e8e4de8bc807e233a36e0 /Source/Core/VideoCommon/VertexShaderGen.cpp
parent21eb1cd158268535e42f1fff80d122233677efd6 (diff)
parent3ab7806e242d631f2fb034a23f354764ef6b9ee9 (diff)
Merge pull request #3719 from Sonicadvance1/workaround_osx_video_drivers
Workaround OS X video driver bug #24983074
Diffstat (limited to 'Source/Core/VideoCommon/VertexShaderGen.cpp')
-rw-r--r--Source/Core/VideoCommon/VertexShaderGen.cpp17
1 files changed, 9 insertions, 8 deletions
diff --git a/Source/Core/VideoCommon/VertexShaderGen.cpp b/Source/Core/VideoCommon/VertexShaderGen.cpp
index 633a87a78b..1b436bf852 100644
--- a/Source/Core/VideoCommon/VertexShaderGen.cpp
+++ b/Source/Core/VideoCommon/VertexShaderGen.cpp
@@ -41,7 +41,7 @@ static T GenerateVertexShader(API_TYPE api_type)
out.Write("};\n");
out.Write("struct VS_OUTPUT {\n");
- GenerateVSOutputMembers<T>(out, api_type);
+ GenerateVSOutputMembers<T>(out, api_type, "");
out.Write("};\n");
uid_data->numTexGens = xfmem.numTexGen.numTexGens;
@@ -74,8 +74,9 @@ 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, GetInterpolationQualifier(api_type, false, true));
+ GenerateVSOutputMembers<T>(out, api_type, "out", GetInterpolationQualifier());
out.Write("} vs;\n");
}
else
@@ -85,17 +86,17 @@ static T GenerateVertexShader(API_TYPE api_type)
{
if (i < xfmem.numTexGen.numTexGens)
{
- out.Write("%s out float3 uv%u;\n", GetInterpolationQualifier(api_type), i);
+ out.Write("%s out float3 uv%u;\n", GetInterpolationQualifier(), i);
}
}
- out.Write("%s out float4 clipPos;\n", GetInterpolationQualifier(api_type));
+ out.Write("%s out float4 clipPos;\n", GetInterpolationQualifier());
if (g_ActiveConfig.bEnablePixelLighting)
{
- out.Write("%s out float3 Normal;\n", GetInterpolationQualifier(api_type));
- out.Write("%s out float3 WorldPos;\n", GetInterpolationQualifier(api_type));
+ out.Write("%s out float3 Normal;\n", GetInterpolationQualifier());
+ out.Write("%s out float3 WorldPos;\n", GetInterpolationQualifier());
}
- out.Write("%s out float4 colors_0;\n", GetInterpolationQualifier(api_type));
- out.Write("%s out float4 colors_1;\n", GetInterpolationQualifier(api_type));
+ out.Write("%s out float4 colors_0;\n", GetInterpolationQualifier());
+ out.Write("%s out float4 colors_1;\n", GetInterpolationQualifier());
}
out.Write("void main()\n{\n");