If we try to allocate with particular modifiers but it fails, try to
fall back to non-modifier allocations.

Signed-off-by: Daniel Stone <dani...@collabora.com>
Reported-by: Adam Jackson <a...@redhat.com>
---
 glamor/glamor_egl.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/glamor/glamor_egl.c b/glamor/glamor_egl.c
index a1e0bc3c9..2dffbb8dc 100644
--- a/glamor/glamor_egl.c
+++ b/glamor/glamor_egl.c
@@ -261,7 +261,7 @@ glamor_make_pixmap_exportable(PixmapPtr pixmap, Bool 
modifiers_ok)
     unsigned width = pixmap->drawable.width;
     unsigned height = pixmap->drawable.height;
     uint32_t format;
-    struct gbm_bo *bo;
+    struct gbm_bo *bo = NULL;
     Bool used_modifiers = FALSE;
     PixmapPtr exported;
     GCPtr scratch_gc;
@@ -295,8 +295,9 @@ glamor_make_pixmap_exportable(PixmapPtr pixmap, Bool 
modifiers_ok)
             used_modifiers = TRUE;
         free(modifiers);
     }
-    else
 #endif
+
+    if (!bo)
     {
         bo = gbm_bo_create(glamor_egl->gbm, width, height, format,
 #ifdef GLAMOR_HAS_GBM_LINEAR
-- 
2.17.0

_______________________________________________
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to