Steps to reproduce:
1) OSX, 10.9.5 (Late 2013 retina MacBook Pro)
2) Dolphin 4.0-4980 (current build as of today)
3) Graphics Settings > Enhancements > Anti-aliasing: 8x, Stereoscopic 3D Mode: Side-by-Side
4) open game
Results:
"Failed to compile geometry shader!
This usually happens when trying to use Dolphin with an outdated GPU or integrated GPU like the Intel GMA series.
If you're sure this is Dolphin's error anyway, post the contents of <redacted>/Library/Application Support/Dolphin/Dump/bad_gs_0000.txt along with this error message at the forums.
Debug info (NVIDIA Corporation, NVIDIA GeForce GT 750M OpenGL Engine, 4.1 NVIDIA-8.26.28 310.40.55b01):
ERROR: 0:29: Use of undeclared identifier 'gl_SampleID'"
Discussion:
gl_SampleID is invalid in a geometry shader (see:
https://www.opengl.org/registry/specs/AR...hading.txt
"gl_SampleID" is only added to fragment shader built-in variables, it is not valid in any other stage.)
Note that the failing shader does not actually use the sampleEFB() function, so the invalid syntax is effectively dead code. Speculation: other platform's shader compilers may perform dead code elimination prior to semantic analysis; Apple's drivers do not and always flag invalid syntax in all shader code.
<bad_gs_0000.txt>
1) OSX, 10.9.5 (Late 2013 retina MacBook Pro)
2) Dolphin 4.0-4980 (current build as of today)
3) Graphics Settings > Enhancements > Anti-aliasing: 8x, Stereoscopic 3D Mode: Side-by-Side
4) open game
Results:
"Failed to compile geometry shader!
This usually happens when trying to use Dolphin with an outdated GPU or integrated GPU like the Intel GMA series.
If you're sure this is Dolphin's error anyway, post the contents of <redacted>/Library/Application Support/Dolphin/Dump/bad_gs_0000.txt along with this error message at the forums.
Debug info (NVIDIA Corporation, NVIDIA GeForce GT 750M OpenGL Engine, 4.1 NVIDIA-8.26.28 310.40.55b01):
ERROR: 0:29: Use of undeclared identifier 'gl_SampleID'"
Discussion:
gl_SampleID is invalid in a geometry shader (see:
https://www.opengl.org/registry/specs/AR...hading.txt
"gl_SampleID" is only added to fragment shader built-in variables, it is not valid in any other stage.)
Note that the failing shader does not actually use the sampleEFB() function, so the invalid syntax is effectively dead code. Speculation: other platform's shader compilers may perform dead code elimination prior to semantic analysis; Apple's drivers do not and always flag invalid syntax in all shader code.
<bad_gs_0000.txt>
Code:
#version 150
#extension GL_ARB_sample_shading : enable
#define SAMPLER_BINDING(x)
#extension GL_ARB_gpu_shader5 : enable
#define float2 vec2
#define float3 vec3
#define float4 vec4
#define uint2 uvec2
#define uint3 uvec3
#define uint4 uvec4
#define int2 ivec2
#define int3 ivec3
#define int4 ivec4
#define frac fract
#define lerp mix
SAMPLER_BINDING(9) uniform sampler2DMSArray samp9;
vec4 sampleEFB(ivec3 pos) {
return texelFetch(samp9, pos, gl_SampleID);
}
layout(triangles) in;
layout(triangle_strip, max_vertices = 6) out;
flat out int layer;
void main()
{
for (int j = 0; j < 2; ++j) {
for (int i = 0; i < 3; ++i) {
layer = j;
gl_Layer = j;
gl_Position = gl_in[i].gl_Position;
EmitVertex();
}
EndPrimitive();
}
}
ERROR: 0:29: Use of undeclared identifier 'gl_SampleID'