Geometry Shaders Soon To Hit Mesa, GL 3.2 Is Close
Written by Michael Larabel in Mesa on 10 September 2012 at 01:40 PM EDT. 10 Comments
Patches for supporting OpenGL Geometry Shaders within Mesa/Gallium3D are said to be published soon, which is a big step that will make Mesa closer to supporting the OpenGL 3.2 specification.

Geometry shaders became a requirement to OpenGL 3.2 and via GLSL allow for generating new graphics primitives (points, lines, triangles) after the vertex shader stage. Back in July there was a GitHub repository with early geometry shader support, but at that time it was limited to running on the Softpipe driver and not any of the hardware drivers. Geometry shader support for Mesa has been a work-in-progress going back to 2009 and has dealt with over 30,000 lines of code.

When the geometry shader support is merged to Mesa Git master, it will put the code-base much closer to hitting OpenGL 3.2 compliance. Only with Mesa 9.0, which will be released in the coming weeks, will there be official OpenGL 3.1 support (and that's on Intel hardware).

Intel shared last month there will likely never be an OpenGL 3.2 Mesa release since OpenGL 3.3 compliance should hopefully land soon after GL 3.2 is in place. Much of the OpenGL 3.3 work is materializing in tandem to the GL 3.2 enablement. However, it will still be a while before supporting OpenGL 4.x.

Aside from geometry shader support, the other major missing pieces to Mesa's support of OpenGL 3.2 come down to supporting GLSL 1.50 (the GL Shading Language version for GL 3.2) and support for multi-sample textures.

Here's from the #dri-devel IRC channel earlier today:
17:54 [plombo] I think I'll finish writing piglit tests for geometry shaders and then send the GS patch set with everything completed except for layered FBO attachments
17:55 [plombo] then I can finish that after the rest is merged or being reviewed, since it's been slowing down the process considerably
17:55 [mareko] I think Dandel is writing some GS piglit tests too
17:55 [mareko] the more tests, the better
17:59 [Terman] plombo: so it is mostly geometry shaders missing to get ogl 3.2 support on hardware that supports them?
17:59 [plombo] Terman: yes, mostly
17:59 [plombo] that and GLSL 1.50
17:59 [mareko] plombo: and multisample textures
18:00 [plombo] yeah, also multisample textures
18:00 [plombo] I don't know much about multisampling so I didn't know whether that would be a huge task
18:01 [mareko] there only new sampler types and texfetch functions, that's it
18:02 [mareko] so you only pass them through to drivers (r600g support is done except for cayman)

If the rest of the OpenGL 3.2/3.3 items are finished by early next year when it's time for another Mesa release, it will put Mesa's next release version as Mesa 10.0 rather than Mesa 9.1 -- they bump the major version number every time there is support for a new version of the GL specification.

About The Author
Author picture

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 10,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 or contacted via

Related Mesa News
Popular News
Trending Reviews & Featured Articles