From d861bd1563694761d8d050439b8ec3d6b3572c17 Mon Sep 17 00:00:00 2001 From: Erik Faye-Lund Date: Thu, 18 Jan 2024 12:17:43 +0100 Subject: [PATCH] panfrost: give afbc-packing its own flag There's no point in querying this over and over again for each resource, especially not when this test is about to become more complicated. So let's give this its own flag. Acked-by: Boris Brezillon Part-of: --- src/gallium/drivers/panfrost/pan_resource.c | 2 +- src/gallium/drivers/panfrost/pan_screen.c | 2 ++ src/gallium/drivers/panfrost/pan_screen.h | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/panfrost/pan_resource.c b/src/gallium/drivers/panfrost/pan_resource.c index bcdf0753f8b..ddf8c55ce4a 100644 --- a/src/gallium/drivers/panfrost/pan_resource.c +++ b/src/gallium/drivers/panfrost/pan_resource.c @@ -1618,7 +1618,7 @@ panfrost_ptr_unmap(struct pipe_context *pctx, struct pipe_transfer *transfer) ctx, pan_resource(trans->staging.rsrc), "AFBC write staging blit"); - if (dev->debug & PAN_DBG_FORCE_PACK) { + if (pan_screen(pctx->screen)->force_afbc_packing) { if (panfrost_should_pack_afbc(dev, prsrc)) panfrost_pack_afbc(ctx, prsrc); } diff --git a/src/gallium/drivers/panfrost/pan_screen.c b/src/gallium/drivers/panfrost/pan_screen.c index 3ff777f8ce6..b71809156d0 100644 --- a/src/gallium/drivers/panfrost/pan_screen.c +++ b/src/gallium/drivers/panfrost/pan_screen.c @@ -852,6 +852,8 @@ panfrost_create_screen(int fd, const struct pipe_screen_config *config, return NULL; } + screen->force_afbc_packing = dev->debug & PAN_DBG_FORCE_PACK; + dev->ro = ro; screen->base.destroy = panfrost_destroy_screen; diff --git a/src/gallium/drivers/panfrost/pan_screen.h b/src/gallium/drivers/panfrost/pan_screen.h index d72617355a6..256872d532f 100644 --- a/src/gallium/drivers/panfrost/pan_screen.h +++ b/src/gallium/drivers/panfrost/pan_screen.h @@ -117,6 +117,7 @@ struct panfrost_screen { struct panfrost_vtable vtbl; struct disk_cache *disk_cache; unsigned max_afbc_packing_ratio; + bool force_afbc_packing; }; static inline struct panfrost_screen *