Mesa (staging/22.0): panfrost: Stop overallocating compressed textures

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Apr 21 20:48:23 UTC 2022


Module: Mesa
Branch: staging/22.0
Commit: 41f9e86a31536664754f1ebcd0ac109c57cb7570
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=41f9e86a31536664754f1ebcd0ac109c57cb7570

Author: Icecream95 <ixn at disroot.org>
Date:   Fri Apr 15 23:50:33 2022 +1200

panfrost: Stop overallocating compressed textures

The line stride uses the number of bytes in the entire block, so both
the width and height need to be reduced for compressed textures so
that the surface stride is calculated correctly.

Fixes: 051d62cf041 ("panfrost: Add a pan_image_layout_init() helper")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6286
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15989>
(cherry picked from commit f267000240b629c48d4935ff38bbe70fe85435ce)

---

 .pick_status.json              | 2 +-
 src/panfrost/lib/pan_texture.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/.pick_status.json b/.pick_status.json
index 1d11367f4f6..7d5d9577d6e 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -1612,7 +1612,7 @@
         "description": "panfrost: Stop overallocating compressed textures",
         "nominated": true,
         "nomination_type": 1,
-        "resolution": 0,
+        "resolution": 1,
         "because_sha": "051d62cf041054bf0fdbd0ae5d2160d1b02e0203"
     },
     {
diff --git a/src/panfrost/lib/pan_texture.c b/src/panfrost/lib/pan_texture.c
index 95a01f8df53..54ac1df0529 100644
--- a/src/panfrost/lib/pan_texture.c
+++ b/src/panfrost/lib/pan_texture.c
@@ -202,7 +202,7 @@ pan_image_layout_init(const struct panfrost_device *dev,
 
                 if (should_align) {
                         effective_width = ALIGN_POT(effective_width, tile_w) >> tile_shift;
-                        effective_height = ALIGN_POT(effective_height, tile_h);
+                        effective_height = ALIGN_POT(effective_height, tile_h) >> tile_shift;
 
                         /* We don't need to align depth */
                 }



More information about the mesa-commit mailing list