diff --git a/src/gallium/drivers/panfrost/pan_screen.c b/src/gallium/drivers/panfrost/pan_screen.c index deb1f392f1c..b584c9f2257 100644 --- a/src/gallium/drivers/panfrost/pan_screen.c +++ b/src/gallium/drivers/panfrost/pan_screen.c @@ -587,6 +587,7 @@ panfrost_walk_dmabuf_modifiers(struct pipe_screen *screen, struct panfrost_device *dev = pan_device(screen); bool afbc = dev->has_afbc && panfrost_format_supports_afbc(dev, format); bool ytr = panfrost_afbc_can_ytr(format); + bool tiled_afbc = panfrost_afbc_can_tile(dev); unsigned count = 0; @@ -597,6 +598,9 @@ panfrost_walk_dmabuf_modifiers(struct pipe_screen *screen, if ((pan_best_modifiers[i] & AFBC_FORMAT_MOD_YTR) && !ytr) continue; + if ((pan_best_modifiers[i] & AFBC_FORMAT_MOD_TILED) && !tiled_afbc) + continue; + if (test_modifier != DRM_FORMAT_MOD_INVALID && test_modifier != pan_best_modifiers[i]) continue;