OpenGL 4.x Support For Mesa Still Inching Along

Written by Michael Larabel in Mesa on 29 October 2014 at 12:00 AM EDT. 12 Comments
While there hasn't been much to report on lately with regard to major OpenGL 4.x advancements, the OpenGL 4.0+ support is still being worked on by the open-source developers wishing to expose GL4 compliance within the Intel, Radeon, and Nouveau Linux graphics drivers, among other potential Mesa/Gallium3D drivers.

Mesa 10.4 is due for release in early November and that puts the feature freeze in a little over two weeks. Unless Intel has a big patch-set they're planning to publish and merge in the next two weeks, OpenGL 4.0 won't be achieved in release form for the open-source Mesa drivers in 2014. With the three month release cadence, the next opportunity to hit OpenGL 4.0~4.2 would be the end of Q1'2015. When that milestone is finally achieved, the release will be re-branded as Mesa 11.0 to reflect achieving a major desktop OpenGL milestone.

The developers working on the new OpenGL extensions in Mesa -- largely out of Intel's Open-Source Technology Center -- have for months been close to achieving OpenGL 4.0/4.1/4.2 in a trifecta but they're still not quite there.

Landing in Mesa on Tuesday was support for the GL_KHR_context_flush_control extension, but that's an OpenGL 4.5 extension rather than 4.0~4.2. For those wondering how the state of affairs look now, per the GL3.txt documentation, here's the items not marked as done:
GL 4.0, GLSL 4.00:

GL_ARB_gpu_shader_fp64 started (Dave)
GL_ARB_shader_subroutine not started
GL_ARB_tessellation_shader started (Chris, Ilia)

GL 4.1, GLSL 4.10:

GL_ARB_shader_precision started (Micah)
GL_ARB_vertex_attrib_64bit started (Dave)

GL 4.2, GLSL 4.20:

GL_ARB_shader_image_load_store in progress (curro)

GL 4.3, GLSL 4.30:

GL_ARB_arrays_of_arrays started (Timothy)
GL_ARB_compute_shader in progress (jljusten)
GL_ARB_framebuffer_no_attachments not started
GL_ARB_internalformat_query2 not started
GL_ARB_program_interface_query not started
GL_ARB_robust_buffer_access_behavior not started
GL_ARB_shader_image_size not started
GL_ARB_shader_storage_buffer_object not started

GL 4.4, GLSL 4.40:

GL_ARB_enhanced_layouts not started
GL_ARB_query_buffer_object not started
GL_ARB_texture_stencil8 not started

GL 4.5, GLSL 4.50:

GL_ARB_ES3_1_compatibility not started
GL_ARB_cull_distance not started
GL_ARB_direct_state_access not started
GL_ARB_get_texture_sub_image started (Brian Paul)
GL_ARB_shader_texture_image_samples not started
GL_KHR_robust_buffer_access_behavior not started
GL_KHR_robustness 90% done (the ARB variant)

These are the extensions cherry-picked to make GLES 3.1
GLES3.1, GLSL ES 3.1
GL_ARB_arrays_of_arrays started (Timothy)
GL_ARB_compute_shader in progress (jljusten)
GL_ARB_framebuffer_no_attachments not started
GL_ARB_program_interface_query not started
GL_ARB_shader_image_load_store in progress (curro)
GL_ARB_shader_storage_buffer_object not started
But of course for some items marked as "DONE" it's only referring to the core Mesa implementation without any driver support, or in some instances only the Intel i965 driver is supported and/or the Radeon drivers. Most of the work items in the early OpenGL 4.x stages are big ticket items like tessellation support.

Hopefully we'll see more of these work items crossed off not too far in the future, at least before OpenGL-Next materializes.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via

Popular News This Week