ac/surface/gfx12: select 64K tiling for sparse MSAA textures

addrlib doesn't do it automatically for MSAA

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35950>
This commit is contained in:
Marek Olšák 2025-07-04 19:29:14 -04:00 committed by Marge Bot
parent 8fb8bb6840
commit ac52e82868

View file

@ -3423,6 +3423,11 @@ static bool gfx12_compute_surface(struct ac_addrlib *addrlib, const struct radeo
AddrSurfInfoIn.swizzleMode = ac_get_modifier_swizzle_mode(info->gfx_level, surf->modifier);
} else if (surf->flags & (RADEON_SURF_IMPORTED | RADEON_SURF_FORCE_SWIZZLE_MODE)) {
AddrSurfInfoIn.swizzleMode = surf->u.gfx9.swizzle_mode;
} else if (surf->flags & RADEON_SURF_PRT) {
if (config->is_3d && !AddrSurfInfoIn.flags.view3dAs2dArray)
AddrSurfInfoIn.swizzleMode = ADDR3_64KB_3D;
else
AddrSurfInfoIn.swizzleMode = ADDR3_64KB_2D;
} else if (mode == RADEON_SURF_MODE_LINEAR_ALIGNED) {
assert(config->info.samples <= 1 && !(surf->flags & RADEON_SURF_Z_OR_SBUFFER));
AddrSurfInfoIn.swizzleMode = ADDR3_LINEAR;