From 7d1a32fafd89b6d58e9ee991f1f260089e009783 Mon Sep 17 00:00:00 2001 From: Scott Moreau Date: Thu, 17 Oct 2024 13:37:38 -0600 Subject: [PATCH] dri: Fix hardware cursor for cards without modifier support After the breaking commit, gbm_bo_create_with_modifiers({LINEAR}) returns a BO with gbm_bo_get_modifier() = INVALID. This restores the functionality and fixes most notably, hardware cursors for cards without modifiers. Fixes #12039. Fixes: 361f362258 ("dri: Unify createImage and createImageWithModifiers") Part-of: --- src/gallium/frontends/dri/dri2.c | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/src/gallium/frontends/dri/dri2.c b/src/gallium/frontends/dri/dri2.c index 1ef528f21e5..fdf30f13ac1 100644 --- a/src/gallium/frontends/dri/dri2.c +++ b/src/gallium/frontends/dri/dri2.c @@ -1077,22 +1077,15 @@ dri_create_image(struct dri_screen *screen, if (!pscreen->resource_create_with_modifiers && count > 0) { bool invalid_ok = false; - bool linear_ok = false; for (unsigned i = 0; i < _count; i++) { - if (modifiers[i] == DRM_FORMAT_MOD_LINEAR) - linear_ok = true; - else if (modifiers[i] == DRM_FORMAT_MOD_INVALID) + if (modifiers[i] == DRM_FORMAT_MOD_INVALID) invalid_ok = true; } if (invalid_ok) { count = 0; modifiers = NULL; - } else if (linear_ok) { - count = 0; - modifiers = NULL; - use |= __DRI_IMAGE_USE_LINEAR; } else { return NULL; }