Marek Olšák has fixed up the HyperZ
support within the R300 Gallium3D driver so that it's working properly for more applications. R300 HyperZ is finally in a state where he may be looking to enable the feature by default.
HyperZ is the ATI/AMD technology that's been around going back to the R100 GPU days for boosting the GPU performance and efficiency. HyperZ consists of Z compression for minimizing the Z-Buffer bandwidth, fast Z clear, and a hierarchical Z-Buffer. Benchmarks of HyperZ
show that it can certainly improve the OpenGL frame-rate for gaming, but within the open-source Radeon Linux drivers the HyperZ support has been buggy for new and old hardware.
The R300 Gallium3D driver that supports up through the Radeon X1000 (R500) series has had fairly stable and reliable HyperZ support for quite some time, except for a few caveats. With the newer R600 Gallium3D driver, the support is much worse off. HyperZ has defeated open-source developers
due to bugs in the command stream
and other issues.
With a R300g commit
made this morning by Marek, clearing the Z-Buffer cache before clearing the ZMASK or HIZ fixes wrong rendering in Lightsmark as well as one of the Piglit test-cases. Marek notes in the commit message, "I think I fixed Hyper-Z. So far every app seems to work like a charm."
In a bug post
, Marek then wrote, "I reverted the commit and I also fixed the bug with Lightsmark. So far everything seems to work. Maybe it's time to enable HyperZ by default?"
Hopefully we will see R300g flipped on soon, which will benefit owners of old ATI Radeon hardware with seeing increased OpenGL performance on the Linux desktop.