From e1133bcd52889cac541ca9f15c9d516d3a1d1578 Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Mon, 27 Feb 2023 14:43:49 +0100 Subject: xwayland: don't fall back to wl_drm with explicit modifier It's incorrect to strip an explicit modifier. Daniels' docs [1] states: > when importing a buffer, the user may supply `DRM_FORMAT_MOD_INVALID` as the > buffer modifier (or not supply a modifier) to indicate that the modifier is > unknown for whatever reason; this is only acceptable when the buffer has > not been allocated with an explicit modifier [1]: https://lore.kernel.org/dri-devel/20210905122742.86029-1-daniels@collabora.com/ Signed-off-by: Simon Ser (cherry picked from commit c6f2598a4e62ea6c0d5244faf1488b20985df908) --- hw/xwayland/xwayland-glamor-gbm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/xwayland/xwayland-glamor-gbm.c b/hw/xwayland/xwayland-glamor-gbm.c index 2d42bbba3..dcad1df04 100644 --- a/hw/xwayland/xwayland-glamor-gbm.c +++ b/hw/xwayland/xwayland-glamor-gbm.c @@ -433,7 +433,7 @@ xwl_glamor_gbm_get_wl_buffer_for_pixmap(PixmapPtr pixmap) zwp_linux_buffer_params_v1_create_immed(params, width, height, format, 0); zwp_linux_buffer_params_v1_destroy(params); - } else if (num_planes == 1) { + } else if (num_planes == 1 && modifier == DRM_FORMAT_MOD_INVALID) { xwl_pixmap->buffer = wl_drm_create_prime_buffer(xwl_gbm->drm, prime_fds[0], width, height, format, -- cgit v1.2.1