Geometry Shaders Soon To Hit Mesa, GL 3.2 Is Close

Posted by Michael Larabel on September 10, 2012

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.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Sumo Lounge Emperor
  2. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  3. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  4. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
Latest Software Articles
  1. GCC 4.8.0 vs. LLVM Clang 3.3 Compiler Performance
  2. Intel Linux OpenGL Driver Leading Over Apple OS X
  3. The Cost Of Ubuntu Disk Encryption
  4. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
Latest Linux News
  1. A New X.Org-Free Wayland LiveCD Released
  2. Unity 8, Mir Made Progress This Week On Features
  3. LLVM Clang 3.3 RC2 Is Ready For Testing
  4. AMD RadeonSI Gallium3D Begins Simple CL Demos
  5. Intel Shows Off GNOME3-Based Tizen Shell
  6. Linux Desktop Security Could Be A Whole Lot Better
  7. KDE 4.11 Will Be The Last Major KDE4 Workspaces Feature Release
  8. New NVIDIA Linux Driver Supports The GeForce GTX 780
  9. Chrome 28 To Offer More Speed Improvements
  10. Digia Announces "Boot To Qt" Project
  11. X.Org Libraries Hit By Round Of Security Issues
Latest Forum Talk
  1. Openbenchmarking.org (again) issue
  2. Intel Shows Off GNOME3-Based Tizen Shell
  3. GCC 4.8.0 vs. LLVM Clang 3.3 Compiler Performance
  4. Unity 8, Mir Made Progress This Week On Features
  5. AMD RadeonSI Gallium3D Begins Simple CL Demos
  6. Debian GNU/Hurd 2013 Release Brings New Packages
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite