From: Michel Dänzer Date: Wed, 15 Apr 2020 16:13:54 +0000 (+0200) Subject: gbm/dri: Propagate queryDmaBufModifiers return value X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e58509cdeccc85adcf9127c6d1a462a73e7d5068;p=mesa.git 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 Fixes: 4e3a7dcf6ee4 "gallium: enable EGL_EXT_image_dma_buf_import_modifiers unconditionally" Reviewed-by: Daniel Stone Reviewed-by: Simon Ser Reviewed-by: Adam Jackson Part-of: --- 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