From 20f7a73a2c0686c0f8ab541bb8492a2c054ad6d1 Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Fri, 18 Dec 2020 14:40:31 +0100 Subject: [PATCH] panfrost: Allow 3D AFBC on Bifrost v7 This feature doesn't seem to work properly on Midgard, and is flagged as unsupported on Bifrost v6. Signed-off-by: Boris Brezillon Reviewed-by: Alyssa Rosenzweig Part-of: --- src/gallium/drivers/panfrost/pan_resource.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/panfrost/pan_resource.c b/src/gallium/drivers/panfrost/pan_resource.c index a4fb966649b..b5ed8b8aa5d 100644 --- a/src/gallium/drivers/panfrost/pan_resource.c +++ b/src/gallium/drivers/panfrost/pan_resource.c @@ -532,12 +532,20 @@ panfrost_should_afbc(struct panfrost_device *dev, const struct panfrost_resource if (pres->base.nr_samples > 1) return false; - /* TODO: Is AFBC of 3D textures possible? */ switch (pres->base.target) { case PIPE_TEXTURE_2D: case PIPE_TEXTURE_2D_ARRAY: case PIPE_TEXTURE_RECT: break; + + case PIPE_TEXTURE_3D: + /* 3D AFBC is only supported on Bifrost v7+. It's supposed to + * be supported on Midgard but it doesn't seem to work */ + if (dev->arch < 7) + return false; + + break; + default: return false; }