Core profile vs version string? Only getting GLSL 1.3/OGL 3.0 in mesa 10.0.1

c++, glsl, graphics, intel, opengl

Solution

It's right there in the release notes:

OpenGL 3.3 is only available if requested at context creation because compatibility contexts not supported.

It looks like `glxinfo` first tries to grab the highest supported core profile information and then drops back to non-core.

So you get two sets of versions, one for a core profile and another for a non-core profile.

If you want OpenGL 3.3 under Mesa you must create a core profile.

Problem

In theory, mesa 10.0.1 should support OpenGL 3.3 but currently I'm only getting 3.0 support. glxinfo gives some confusing results... ``` [pdel@architect build]$ glxinfo | grep -i opengl OpenGL vendor string: Intel Open Source Technology Center OpenGL renderer string: Mesa DRI Intel(R) Ivybridge Mobile OpenGL core profile version string: 3.3 (Core Profile) Mesa 10.0.1 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.0.1 OpenGL shading language version string: 1.30 OpenGL context flags: (none) OpenGL extensions: ``` (currently running Intel HD Graphics 4000) Can anyone explain the difference between the "core profile version string" and the "version string" and why they're different?

Original source