If the impressive rate of Gallium3D improvements
was not enough, there's more good news for those of you running ATI Radeon R300-R500 graphics cards (up through the Radeon X1000 series) with the open-source Gallium3D driver: the Wine graphics support just got a tiny bit better. Committed to the Mesa repository this afternoon is support for the GL_ARB_depth_clamp OpenGL extension within the Mesa state tracker and as of right now it's hooked-up for use by the R300g driver.
The GL_ARB_depth_clamp extension was approved by the OpenGL board last year as part of the OpenGL 3.2 specification and can be used for clamping depth values to the current depth range when rendering. Full details on this OpenGL extension can be found in the Khronos specification registry
. Last year the classic Mesa driver stack received ARB_depth_clamp support for the software driver (mailing list message
), but now it's coming up in the Gallium3D world through the Mesa state tracker and the drivers that support the depth clamp capability.
GL_ARB_depth_clamp can be used by any OpenGL game or application, but making it of interest to more people is that this extension is used by Wine. Wine uses the GL_ARB_depth_clamp extension to disable clipping when requested from a Windows application via Direct3D. The wined3d stack has supported the ARB_depth_clamp and former NV_depth_clamp since last September (mailing list message
Marek Olšák only recently announced
this OpenGL depth clamp work for Gallium3D, but the changes are small and it's now been pushed into the mainline code-base for the eventual release of Mesa 7.9
. Right now the only Gallium3D driver hooking into this capability is R300g. Originally the Gallium3D Softpipe and LLVMpipe drivers were making use of it too, but that's since been disabled for technical reasons.
On a different note, the R600g driver that isn't as far along as R300g
but supports the newer ATI Radeon HD 2000/3000/4000 series graphics cards, received its first new committed work in a while. David Airlie and Jerome Glisse added a few hundred lines of new code to this ATI driver to address some differences between the R600 and R700 ASICs.