iris: Initialize HiZ to the CLEAR state on BDW-ICL

We disable HiZ for some LODs on gfx8-9 to comply with ambiguate
operation restrictions. Avoid this restriction by initializing HiZ to
the CLEAR state on those platforms. By doing this, an ambiguate will
never occur. Also, do this for ICL as an optimization.

We'll enable HiZ for all LODs on gfx8-9 in the next patch.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36383>
This commit is contained in:
Nanley Chery 2023-12-01 17:11:28 -05:00 committed by Marge Bot
parent 5964c31429
commit a098077366

View file

@ -989,6 +989,14 @@ iris_resource_init_aux_buf(struct iris_screen *screen,
if (isl_aux_usage_has_ccs(res->aux.usage) && devinfo->ver <= 11)
zero_aux = true;
/* Initialize HiZ on BDW-ICL to the CLEAR state. This allows us to skip
* initializing fast-clears and this ensures that we won't have to perform
* an ambiguate operation. Ambiguates are not allowed on non-8x4-aligned
* LODs for BDW and SKL.
*/
if (res->aux.usage == ISL_AUX_USAGE_HIZ && devinfo->ver <= 11)
zero_aux = true;
if (zero_aux != res->bo->zeroed) {
void* map = iris_bo_map(NULL, res->bo, MAP_WRITE | MAP_RAW);
if (!map)