Mesa (master): gbm/dri: Propagate queryDmaBufModifiers return value

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Apr 16 10:46:54 UTC 2020


Module: Mesa
Branch: master
Commit: e58509cdeccc85adcf9127c6d1a462a73e7d5068
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e58509cdeccc85adcf9127c6d1a462a73e7d5068

Author: Michel Dänzer <mdaenzer at redhat.com>
Date:   Wed Apr 15 18:13:54 2020 +0200

gbm/dri: Propagate queryDmaBufModifiers return value

We were treating count == 0 as the format not being supported at all,
but queryDmaBufModifiers would return false in that case.

Fixes spuriously reporting all formats as unsupported with radeonsi
(which doesn't support modifiers yet), which would e.g. cause mutter
to think the HW cursor format isn't supported and fall back to SW
cursor.

Suggested-by: Daniel Stone <daniels at collabora.com>
Fixes: 4e3a7dcf6ee4 "gallium: enable
                     EGL_EXT_image_dma_buf_import_modifiers
                     unconditionally"

Reviewed-by: Daniel Stone <daniels at collabora.com>
Reviewed-by: Simon Ser <contact at emersion.fr>
Reviewed-by: Adam Jackson <ajax at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4532>

---

 src/gbm/backends/dri/gbm_dri.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/src/gbm/backends/dri/gbm_dri.c b/src/gbm/backends/dri/gbm_dri.c
index 8fe6a0265fb..bc68f66766e 100644
--- a/src/gbm/backends/dri/gbm_dri.c
+++ b/src/gbm/backends/dri/gbm_dri.c
@@ -618,14 +618,12 @@ gbm_dri_is_format_supported(struct gbm_device *gbm,
       }
    }
 
-   /* Check if the driver returns any modifiers for this format; since linear
-    * is counted as a modifier, we will have at least one modifier for any
-    * supported format. */
+   /* This returns false if the format isn't supported */
    if (!dri->image->queryDmaBufModifiers(dri->screen, format, 0, NULL, NULL,
                                          &count))
       return 0;
 
-   return (count > 0);
+   return 1;
 }
 
 static int



More information about the mesa-commit mailing list