mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-29 16:40:13 +01:00
The Early-Z optimization is disabled when there is a discard instruction in the shader used in the draw call. But if discard is the only reason to disable Early-Z, and at draw call time the updates in the draw call are disabled we can enable Early-Z using a shader variant. If there are occlussion queries active we also need to disable Early-z optimization. So this patch enables Early-Z in this scenario. The performance improvement is significant when running gfxbench benchmark showing an average improvement of 11.15% fps_avg helped: gl_gfxbench_aztec_high.trace: 3.13 -> 3.73 (19.13%) fps_avg helped: gl_gfxbench_aztec.trace: 4.82 -> 5.68 (17.88%) fps_avg helped: gl_gfxbench_manhattan31.trace: 5.10 -> 6.00 (17.59%) fps_avg helped: gl_gfxbench_manhattan.trace: 7.24 -> 8.36 (15.52%) fps_avg helped: gl_gfxbench_trex.trace: 19.25 -> 20.17 ( 4.81%) Reviewed-by: Iago Toral Quiroga <itoral@igalia.com> Cc: mesa-stable Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32028> |
||
|---|---|---|
| .. | ||
| ci | ||
| cle | ||
| clif | ||
| common | ||
| compiler | ||
| drm-shim | ||
| qpu | ||
| simulator | ||
| vulkan | ||
| .editorconfig | ||
| meson.build | ||