Mesa (main): panfrost: Pass arch instead of dev into afbc_format

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Jun 1 20:07:14 UTC 2022


Module: Mesa
Branch: main
Commit: 87dcdbdad65e105c80b7f894cc975123b8daeaee
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=87dcdbdad65e105c80b7f894cc975123b8daeaee

Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date:   Tue May 17 14:22:09 2022 -0400

panfrost: Pass arch instead of dev into afbc_format

For callers that have a device object, it's easy to pass dev->arch instead of
dev. But this requires callers to have a reference to the device, which is
tricky for callers that only have the arch via PAN_ARCH. Pass dev->arch instead
of dev to accommodate them.

Signed-off-by: Alyssa Rosenzweig <alyssa at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16800>

---

 src/gallium/drivers/panfrost/pan_resource.c | 4 ++--
 src/panfrost/lib/pan_afbc.c                 | 6 +++---
 src/panfrost/lib/pan_texture.h              | 2 +-
 3 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/gallium/drivers/panfrost/pan_resource.c b/src/gallium/drivers/panfrost/pan_resource.c
index cf9785bc82b..21e512e30a0 100644
--- a/src/gallium/drivers/panfrost/pan_resource.c
+++ b/src/gallium/drivers/panfrost/pan_resource.c
@@ -1201,8 +1201,8 @@ pan_legalize_afbc_format(struct panfrost_context *ctx,
         if (!drm_is_afbc(rsrc->image.layout.modifier))
                 return;
 
-        if (panfrost_afbc_format(dev, pan_blit_format(rsrc->base.format)) ==
-            panfrost_afbc_format(dev, pan_blit_format(format)))
+        if (panfrost_afbc_format(dev->arch, pan_blit_format(rsrc->base.format)) ==
+            panfrost_afbc_format(dev->arch, pan_blit_format(format)))
                 return;
 
         pan_resource_modifier_convert(ctx, rsrc,
diff --git a/src/panfrost/lib/pan_afbc.c b/src/panfrost/lib/pan_afbc.c
index 96f2c831f10..bf655e7a2c2 100644
--- a/src/panfrost/lib/pan_afbc.c
+++ b/src/panfrost/lib/pan_afbc.c
@@ -72,7 +72,7 @@
  * cannot be compressed. */
 
 enum pipe_format
-panfrost_afbc_format(const struct panfrost_device *dev, enum pipe_format format)
+panfrost_afbc_format(unsigned arch, enum pipe_format format)
 {
         /* Don't allow swizzled formats on v7 */
         switch (format) {
@@ -84,7 +84,7 @@ panfrost_afbc_format(const struct panfrost_device *dev, enum pipe_format format)
         case PIPE_FORMAT_A8B8G8R8_UNORM:
         case PIPE_FORMAT_B8G8R8_UNORM:
         case PIPE_FORMAT_B5G6R5_UNORM:
-                if (dev->arch >= 7)
+                if (arch >= 7)
                         return PIPE_FORMAT_NONE;
 
                 break;
@@ -128,7 +128,7 @@ panfrost_afbc_format(const struct panfrost_device *dev, enum pipe_format format)
 bool
 panfrost_format_supports_afbc(const struct panfrost_device *dev, enum pipe_format format)
 {
-        return panfrost_afbc_format(dev, format) != PIPE_FORMAT_NONE;
+        return panfrost_afbc_format(dev->arch, format) != PIPE_FORMAT_NONE;
 }
 
 /* The lossless colour transform (AFBC_FORMAT_MOD_YTR) requires RGB. */
diff --git a/src/panfrost/lib/pan_texture.h b/src/panfrost/lib/pan_texture.h
index f4a7716244e..e148c0b9617 100644
--- a/src/panfrost/lib/pan_texture.h
+++ b/src/panfrost/lib/pan_texture.h
@@ -164,7 +164,7 @@ panfrost_format_supports_afbc(const struct panfrost_device *dev,
                 enum pipe_format format);
 
 enum pipe_format
-panfrost_afbc_format(const struct panfrost_device *dev, enum pipe_format format);
+panfrost_afbc_format(unsigned arch, enum pipe_format format);
 
 #define AFBC_HEADER_BYTES_PER_TILE 16
 



More information about the mesa-commit mailing list