Operating System: Linux
Bug severity: Other
Complete steps to replicate bug: Always
Dxdiag output** or system specs for non Windows machines:
Console output:OpenGL vendor string: X.Org
OpenGL renderer string: Gallium 0.4 on AMD ARUBA
OpenGL core profile version string: 3.3 (Core Profile) Mesa 10.3.0-devel
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions: ....
OpenGL version string: 3.0 Mesa 10.3.0-devel
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions: ....
Creating Window at: 1600x1024
Creating OpenGL Context
Graphics: Gallium 0.4 on AMD ARUBA, X.Org
Loading shader ScreenSpaceOcclusion
0:1(10): error: GLSL 4.10 is not supported. Supported versions are: 1.10,
1.20, 1.30, and 1.00 ES
Maia Config settings: Default
For all the Mesa open source drivers under Linux (which includes Intel, Radeon and Noveau) you need to specifically request a core profile for the OpenGL context as Mesa does not (and will never) support a compatiblity profile or GL_ARB_compatibility, otherwise you only get baseline OpenGL 3.0 and GLSL 1.30.
Since you're targeting newer systems I would assume you're not using depreciated OpenGL functions so a core context should be fine with binary drivers too?
Currently the Mesa drivers support OpenGL 3.3 and GLSL 3.30 as there is work still to be done for OpenGL 4.0 support, particularly for GL_ARB_tessellation_shader (though many extensions up to OpenGL 4.4 are supported). I understand that you're working on reducing the requirement down from GLSL 4.10 so look forward to playing the game sometime in the future.
So with SDL 2;
Code: Select all
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 3); SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 2); SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_CORE);