ac/surface: don't require exact pitch for gfx6-8 tiled imports
authorMarek Olšák <marek.olsak@amd.com>
Wed, 4 Oct 2023 09:17:11 +0000 (05:17 -0400)
committerMarge Bot <emma+marge@anholt.net>
Thu, 5 Oct 2023 07:27:02 +0000 (07:27 +0000)
It was reported that it broke Stoney. Something probably uses a suboptimal
pitch, like minigbm.

Fixes: 7d066330e0c3d47a0ad - ac/surface: relax custom pitch requirements to any multiple of 256B on gfx10.3+

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25540>

src/amd/common/ac_surface.c

index cc47d6e..2717937 100644 (file)
@@ -2997,7 +2997,7 @@ bool ac_surface_override_offset_stride(const struct radeon_info *info, struct ra
    bool require_equal_pitch = surf->surf_size != surf->total_size ||
                               num_layers != 1 ||
                               num_mipmap_levels != 1 ||
-                              !surf->is_linear ||
+                              (info->gfx_level >= GFX9 && !surf->is_linear) ||
                               info->gfx_level == GFX10;
 
    if (info->gfx_level >= GFX9) {