diff options
| author | Pierre Bourdon <delroth@gmail.com> | 2016-03-26 01:43:32 +0100 |
|---|---|---|
| committer | Pierre Bourdon <delroth@gmail.com> | 2016-03-26 01:43:32 +0100 |
| commit | ae4cb12033eb01df67cea1f054d44526fe093059 (patch) | |
| tree | e361642dc48ec2c7b53e8e4de8bc807e233a36e0 /Source/Core/VideoCommon/VertexShaderGen.cpp | |
| parent | 21eb1cd158268535e42f1fff80d122233677efd6 (diff) | |
| parent | 3ab7806e242d631f2fb034a23f354764ef6b9ee9 (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.cpp | 17 |
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"); |
