Mesa Support For OpenGL 3.1 Core Contexts

Ian Romanick has published a set of 14 new patches today as he prepares support within Mesa for creating OpenGL 3.1 core contexts, as open-source OpenGL 3.1 support finally inches further.

The 14 patches begin here on the Mesa development list. When creating an OpenGL core context, it comes down to removing functionality that's been deprecated from the Khronos OpenGL specification (for those wanting the old functionality, there's the OpenGL compatibility context).

Ian's work forthe OpenGL 3.1 core context support comes down to not advertising GL 1.2/1.3/1.4/1.5 extensions when in a core context, concealing other functionality when within a OpenGL core context, validation of the API and version, and cleaning up other bits of code. The remaining bits of enablement support from Ian comes down to allowing to create OpenGL 3.1 contexts for the Intel i965 driver and then advertising GLSL 1.40 support and ARB_texture_buffer_object when creating the core context. GLSL 1.40 is the GL Shading Language version for OpenGL 3.1.

One caveat in being able to support an OpenGL 3.1+ core context is that floating-point texture support must be built into Mesa. This can be done by building Mesa with the --enable-texture-float argument, but it's not set by default due to patent concerns around floating-point textures. See Super! Patented Mesa Floating-Point Is Merged!

Michael Larabel is the principal author of Phoronix.com and founded the web-site in 2004 with a focus on enriching the Linux hardware experience and being the largest web-site devoted to Linux hardware reviews, particularly for products relevant to Linux gamers and enthusiasts but also commonly reviewing servers/workstations and embedded Linux devices. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics hardware drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated testing software. He can be followed via Twitter and Google+ or contacted via MichaelLarabel.com.