From: Faith Ekstrand Date: Tue, 31 Jan 2023 02:11:50 +0000 (-0600) Subject: nil: Fix image array layer alignments X-Git-Tag: upstream/23.3.3~4481 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e13a64d2861b4431c020b7b6d4be64b10938cdd8;p=platform%2Fupstream%2Fmesa.git nil: Fix image array layer alignments Part-of: --- diff --git a/src/nouveau/nil/nil_image.c b/src/nouveau/nil/nil_image.c index f657795..7caeaa2 100644 --- a/src/nouveau/nil/nil_image.c +++ b/src/nouveau/nil/nil_image.c @@ -188,8 +188,11 @@ nil_image_init(struct nouveau_ws_device *dev, (uint64_t)lvl_ext_B.d; } + /* Align the image and array stride to a single level0 tile */ + image->align_B = nil_tiling_size_B(image->levels[0].tiling); + /* I have no idea why but hardware seems to align layer strides */ - image->array_stride_B = ALIGN(layer_size_B, 0x800); + image->array_stride_B = ALIGN(layer_size_B, image->align_B); image->size_B = (uint64_t)image->array_stride_B * image->extent_px.a; diff --git a/src/nouveau/nil/nil_image.h b/src/nouveau/nil/nil_image.h index e837849..6957395 100644 --- a/src/nouveau/nil/nil_image.h +++ b/src/nouveau/nil/nil_image.h @@ -101,6 +101,7 @@ struct nil_image { uint32_t array_stride_B; + uint32_t align_B; uint64_t size_B; };