In addition to pushing OpenGL transform feedback for Gallium3D's LLVMpipe
, David Airlie has released a new patch-set for Uniform Buffer Objects (UBOs) and Texture Buffer Objects (TBOs) within Mesa's Gallium3D infrastructure.
In the early hours of this morning, Airlie released a set of six patches
under a "request for comments" state that implements UBO and TBO support. While the work touches some common Gallium3D code like the Mesa state tracker, right now the newly enabled-features are only properly working for Softpipe -- the slow Gallium3D software rasterizer that's a reference driver implementation and even slower than LLVMpipe.
Beyond the Softpipe support, Airlie has written an "initial hack" for TBO support within the R600 Gallium3D driver but hasn't yet attempted Uniform Buffer Objects on this Radeon Gallium3D driver nor Nouveau. Texture Buffer Objects were added to the core specification with OpenGL 3.0 and is a 1D texture backed by a buffer object. Uniform Buffer Objects are buffer objects storing uniform data and have been part of the specification since OpenGL 3.1.
With the newly-enabled support, the Gallium3D Softpipe driver has also been adjusted to advertise GLSL 1.40 compliance. Version 1.40 of the GL Shading Language is the version to match OpenGL 3.1.
Uniform Buffer Object support within Mesa itself has been worked on for over one year
since that point.