ac/surface: unset RADEON_SURF_TC_COMPATIBLE_HTILE if HTILE hasn't been computed

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4866>
This commit is contained in:
Marek Olšák 2020-05-02 16:19:00 -04:00 committed by Marge Bot
parent 266fec1307
commit 345b8aed5c

View file

@ -946,6 +946,9 @@ static int gfx6_compute_surface(ADDR_HANDLE addrlib,
surf->htile_size = (total_pixels / htile_block_size) *
htile_element_size;
surf->htile_size = align(surf->htile_size, surf->htile_alignment);
} else if (!surf->htile_size) {
/* Unset this if HTILE is not present. */
surf->flags &= ~RADEON_SURF_TC_COMPATIBLE_HTILE;
}
surf->is_linear = surf->u.legacy.level[0].mode == RADEON_SURF_MODE_LINEAR_ALIGNED;
@ -1775,6 +1778,11 @@ static int gfx9_compute_surface(ADDR_HANDLE addrlib,
assert(surf->num_dcc_levels);
}
if (!surf->htile_size) {
/* Unset this if HTILE is not present. */
surf->flags &= ~RADEON_SURF_TC_COMPATIBLE_HTILE;
}
switch (surf->u.gfx9.surf.swizzle_mode) {
/* S = standard. */
case ADDR_SW_256B_S: