From c8bf321bf86875a2ca14424b9b59b93b15a0652b Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Mon, 6 Nov 2023 16:34:00 +0100 Subject: [PATCH] egl: Use gbm_bo_create_with_modifiers2() when the surface has non-zero flags We need to pass the flags around when creating a BO for a surface that has explicit flags set. Signed-off-by: Boris Brezillon Reviewed-by: Erik Faye-Lund Part-of: --- src/egl/drivers/dri2/platform_drm.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/egl/drivers/dri2/platform_drm.c b/src/egl/drivers/dri2/platform_drm.c index 3933f3776bd..2011a81f876 100644 --- a/src/egl/drivers/dri2/platform_drm.c +++ b/src/egl/drivers/dri2/platform_drm.c @@ -238,7 +238,12 @@ get_back_bo(struct dri2_egl_surface *dri2_surf) if (dri2_surf->back == NULL) return -1; if (dri2_surf->back->bo == NULL) { - if (surf->base.v0.modifiers) + if (surf->base.v0.modifiers && surf->base.v0.flags) + dri2_surf->back->bo = gbm_bo_create_with_modifiers2( + &dri2_dpy->gbm_dri->base, surf->base.v0.width, surf->base.v0.height, + surf->base.v0.format, surf->base.v0.modifiers, surf->base.v0.count, + surf->base.v0.flags); + else if (surf->base.v0.modifiers) dri2_surf->back->bo = gbm_bo_create_with_modifiers( &dri2_dpy->gbm_dri->base, surf->base.v0.width, surf->base.v0.height, surf->base.v0.format, surf->base.v0.modifiers, surf->base.v0.count);