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/GeometryShaderGen.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/GeometryShaderGen.cpp')
| -rw-r--r-- | Source/Core/VideoCommon/GeometryShaderGen.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/Source/Core/VideoCommon/GeometryShaderGen.cpp b/Source/Core/VideoCommon/GeometryShaderGen.cpp index 057e697ed8..de76557d5e 100644 --- a/Source/Core/VideoCommon/GeometryShaderGen.cpp +++ b/Source/Core/VideoCommon/GeometryShaderGen.cpp @@ -82,7 +82,7 @@ static T GenerateGeometryShader(u32 primitive_type, API_TYPE ApiType) uid_data->pixel_lighting = g_ActiveConfig.bEnablePixelLighting; out.Write("struct VS_OUTPUT {\n"); - GenerateVSOutputMembers<T>(out, ApiType); + GenerateVSOutputMembers<T>(out, ApiType, ""); out.Write("};\n"); if (ApiType == API_OPENGL) @@ -90,15 +90,16 @@ static T GenerateGeometryShader(u32 primitive_type, API_TYPE ApiType) if (g_ActiveConfig.backend_info.bSupportsGSInstancing) out.Write("#define InstanceID gl_InvocationID\n"); + out.Write("// The interface block qualifier is duplicated to its member due to Apple OS X bug 24983074\n"); out.Write("in VertexData {\n"); - GenerateVSOutputMembers<T>(out, ApiType, GetInterpolationQualifier(ApiType, true, true)); + GenerateVSOutputMembers<T>(out, ApiType, "in", GetInterpolationQualifier()); out.Write("} vs[%d];\n", vertex_in); out.Write("out VertexData {\n"); - GenerateVSOutputMembers<T>(out, ApiType, GetInterpolationQualifier(ApiType, false, true)); + GenerateVSOutputMembers<T>(out, ApiType, "out", GetInterpolationQualifier()); if (g_ActiveConfig.iStereoMode > 0) - out.Write("\tflat int layer;\n"); + out.Write("\tflat out int layer;\n"); out.Write("} ps;\n"); |
