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.