Geometry Shaders For Gallium3D LLVM

Geometry shaders are one of the few remaining features to be implemented before Mesa can officially declare itself in compliance with the OpenGL 3.2 specification. Fortunately, work on the Gallium3D side is ongoing.

Support for OpenGL Geometry Shaders within Mesa/Gallium3D has been a work-in-progress for many months by numerous developers from different organizations. The most recent "GS" patches to be published were by Zack Rusin this morning at VMware. Zack is one of the developers to be working on Gallium3D/Mesa Geometry Shaders support for the longest time.

With today's set of six new patches for Gallivm, the LLVM component to Gallium3D, geometry shaders are implemented along the LLVM code-paths. While the geometry shader code generation is now in place, Zack says, "all the code is there but bugs are likely present."

Rusin writes in his new patch series, "This set implements code generation of geometry shaders in the LLVM paths. There are some cleanups that will follow (e.g. changing the input array to handle lp_native vectors and not TGSI_NUM_CHANNELS) but all the simple examples are working and as far as I can tell there's no regressions in the common code so we can push it now."

It's likely by the release of Mesa 9.2 (Mesa 10.0) in 5~6 months time that OpenGL 3.2 and even possibly OpenGL 3.3 will be ready finally for users of the open-source graphics drivers on the Linux desktop.

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.