Shortly after improving the HyperZ support in R300g
, Marek Olšák has now enabled HyperZ support by default for ATI R500 (Radeon X1000 series) GPUs.
The R300/R400 GPUs don't yet have HyperZ support enabled by default until sufficient testing has been completed, but the HyperZ support can be toggled via the RADEON_HYPERZ
environment variable. The newer Radeon GPUs with the R600g Gallium3D driver also don't yet have usable HyperZ support enabled 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.
In the Git commit
enabling this feature, Marek describes the support as:
- Only one process can use it at a time. This is a hardware limitation.
- The first process to clear a zbuffer gets the exclusive access to use Hyper-Z.
- Compositors don't use any zbuffer, so they won't steal it, but some web browsers do, so make sure there's no web browser running if you want your game to use Hyper-Z.
- There's no need to restart an app which couldn't get the access to Hyper-Z. Just quit the app which took it, the driver can turn it on for the other app in the middle of rendering.
- If an app gets the access to Hyper-Z, it prints "radeon: Acquired Hyper-Z" to stdout.
I did some HyperZ benchmarks
months ago, but new R300g performance tests will now be coming up.