intel/blorp: Don't redescribe some Tile64 clears

We don't support redescribing Tile64 and 3D due to interleaved depth
planes.

Fixes: 312952048b ("intel/blorp: Redescribe gfx12.5 surfaces for CCS fast clears")
Tested-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35619>
This commit is contained in:
Nanley Chery 2025-06-18 18:02:50 -04:00 committed by Marge Bot
parent cce2fa9af6
commit 42ef23ecd1

View file

@ -526,6 +526,15 @@ blorp_fast_clear(struct blorp_batch *batch,
&start_tile_B, &end_tile_B)) {
size_B = end_tile_B - start_tile_B;
addr.offset += start_tile_B;
} else if (isl_tiling_is_64(surf->surf->tiling)) {
/* If not supported above, clear the range without redescription. If
* the image is 3D, redescription is not possible because multiple
* depth slices are non-trivially interleaved into one plane. If the
* image is part of a miptail, there should be no benefit from
* redescription.
*/
assert(surf->surf->logical_level0_px.d > 1 ||
level <= surf->surf->miptail_start_level);
} else if (level == 0 && start_layer == 0 && num_layers == 1) {
assert(surf->surf->tiling == ISL_TILING_4 ||
surf->surf->tiling == ISL_TILING_Y0);