I'm running Gentoo on a Thinkpad t440p, with the nvidia card disabled. It seems runner2,rbdoom3bfg, and pcsx2 don't recognize the new supposed features in mesa 10. After installing Mesa 10.0.3 my glxinfo says: ... OpenGL vendor string: Intel Open Source Technology Center OpenGL renderer string: Mesa DRI Intel(R) Haswell Mobile OpenGL core profile version string: 3.3 (Core Profile) Mesa 10.0.3 OpenGL core profile shading language version string: 3.30 OpenGL core profile context flags: (none) OpenGL core profile profile mask: core profile ... ... OpenGL version string: 3.0 Mesa 10.0.3 OpenGL shading language version string: 1.30 OpenGL context flags: (none) ... ... runner2 writes this in its log: ... GL vendor: Intel Open Source Technology Center, renderer Mesa DRI Intel(R) Haswell Mobile , version 3.0 Mesa 10.0.3, GLSL 1.30 ... rbdoom3bfg draws a black screen and in the console writes: ... OpenGL Version: 3.0 OpenGL Vendor : Intel Open Source Technology Center OpenGL GLSL : 1.3 ... ... error: GLSL 1.50 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.00 ES, and 3.00 ES Is this a Gentoo specific error or are some features disabled in mesa 10?
Most likely the applications do not request core profile, which implies 3.1 and GLSL 1.40 (or later). From the mesa 9.2 release notes "OpenGL 3.1 is only available if requested at context creation because GL_ARB_compatibility is not supported". Similar story for mesa 10. Open a bug with the respective programs and link them to this bugreport if needed. -Emil
does this require all developers of opengl applications to make a special exception in their code if dealing with mesa? or is the context creation behavior you mentioned only temporary?
(In reply to comment #2) > does this require all developers of opengl applications to make a special > exception in their code if dealing with mesa? or is the context creation > behavior you mentioned only temporary? This is not an exception for mesa, but API compliance. Only drivers implementing GL_ARB_compatibility can/should provide opengl 3.1 and later if the application does not request core profile on context creation. AFAIK currently there is no plans to support GL_ARB_compatibility within mesa.
okay. guess I close this bug then.
The OpenGL API split into two "profiles" starting with 3.1/3.2: - The "compatibility" / legacy profile, which is backwards compatible all the way to GL 1.x. - The "core" profile, which drops a lot of deprecated functionality, allowing new features to implemented cleanly and more optimally. Since the "core" profile is not backwards compatible, applications have to specifically ask for it. Otherwise, we give them the highest versioned compatibility/legacy context we support, which is 3.0. Note that Apple takes the same approach as Mesa: on OS X, you can ask for an OpenGL 2.1 context, or an OpenGL 3.2+ core profile context. So, authors of OpenGL applications already have to cope with this. In general, older engines work with the legacy mode, and new engines being written are targeting the core profile.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.