ac/surface: do not use tile swizzle for replayable/aliased FMASK surfaces

Otherwise the VA might change.

Fixes: 2bbc7d1db6 ("radv: move more surf_index logic to use_tile_swizzle")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38696>
This commit is contained in:
Samuel Pitoiset 2025-11-27 13:32:52 +01:00 committed by Marge Bot
parent 2d441c10af
commit 5fd7af9e42

View file

@ -1207,7 +1207,8 @@ static bool use_tile_swizzle(const struct ac_surf_config *config, const struct r
bool fmask)
{
if (fmask) {
return !(surf->flags & RADEON_SURF_SHAREABLE);
return !(surf->flags & (RADEON_SURF_SHAREABLE | RADEON_SURF_ALIASED |
RADEON_SURF_REPLAYABLE));
} else {
return surf->modifier == DRM_FORMAT_MOD_INVALID &&
!(surf->flags & (RADEON_SURF_Z_OR_SBUFFER | RADEON_SURF_SHAREABLE |