xserver: Branch 'master'

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Mar 3 08:41:40 UTC 2023


 hw/xwayland/xwayland-glamor-gbm.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit c6f2598a4e62ea6c0d5244faf1488b20985df908
Author: Simon Ser <contact at emersion.fr>
Date:   Mon Feb 27 14:43:49 2023 +0100

    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 <contact at emersion.fr>

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,


More information about the xorg-commit mailing list