Mesa Gets OpenGL 3.0 Floating-Point Depth Buffers
Via a handful of commits a couple hours ago, Marek landed the depth_buffer_float work. This is for core Mesa and Gallium3D. Fully implementing this support required a fair amount of work, but yet again Marek has managed to deliver. These patches originally appeared on the Mesa mailing list by Marek earlier in the month, but were now just committed to Mesa Git master.
This Phoronix Forums member has also pushed the initial depth_buffer_float render-buffer support into the R600 Gallium3D driver for the Radeon HD 5000 series and newer.
The GL_ARB_depth_buffer_float extension provides new texture internal formats where the depth components are stored as 32-bit floating-point values rather than unsigned integers. As part of it, the extension provides new packed depth/stencil pixel formats too. See more in the Khronos specification.
With floating-point depth buffers in place, all that's left for OpenGL 3.0 support in Mesa is GLSL 1.30 support, completing non-normalized integer texture/frame-buffer formats, transform feedback, completing sRGB frame-buffer support, depth format cube textures, and GLX_ARB_create_context with GLX 1.4+. The big item on the OpenGL 3.0 TODO list is completing the GL Shading Language 1.30 support.
While it will be a great milestone when OpenGL 3.0 finally arrives, the support is coming about five years after the specification was ratified and there's already OpenGL 3.1, 3.2, 3.3, 4.0, and 4.1 support to address too. When the OGL3.0 support is ready, it will be released as Mesa 8.0, which means we may not see Mesa 7.12. This next Mesa release is set to arrive in January.
Again, nice job Marek. On behalf of the Linux community, he's certainly deserving of some complementary Phoronix beer should be choose to come to the X.Org Developers Conference in Chicago or to Oktoberfest/PhoronixFest.