From 1a59590e5d686a11687151d57f2fd43d366d6720 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Fri, 8 May 2020 16:12:56 -0400 Subject: [PATCH] ac/surface: fix broken pitch override on gfx8 Fixes: 441eaef6a9e - amd: unify code for overriding offset and stride for imported buffers Closes: #2920 Reviewed-by: Samuel Pitoiset Part-of: --- src/amd/common/ac_surface.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/amd/common/ac_surface.c b/src/amd/common/ac_surface.c index 86519f216e1..98f1276f425 100644 --- a/src/amd/common/ac_surface.c +++ b/src/amd/common/ac_surface.c @@ -2207,9 +2207,11 @@ void ac_surface_override_offset_stride(const struct radeon_info *info, if (surf->u.gfx9.stencil_offset) surf->u.gfx9.stencil_offset += offset; } else { - surf->u.legacy.level[0].nblk_x = pitch; - surf->u.legacy.level[0].slice_size_dw = - ((uint64_t)pitch * surf->u.legacy.level[0].nblk_y * surf->bpe) / 4; + if (pitch) { + surf->u.legacy.level[0].nblk_x = pitch; + surf->u.legacy.level[0].slice_size_dw = + ((uint64_t)pitch * surf->u.legacy.level[0].nblk_y * surf->bpe) / 4; + } if (offset) { for (unsigned i = 0; i < ARRAY_SIZE(surf->u.legacy.level); ++i) -- 2.30.2