xserver: Branch 'master'

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue May 18 15:24:40 UTC 2021


 hw/xwayland/xwayland-present.c |    3 +++
 hw/xwayland/xwayland-screen.c  |    8 ++++++++
 2 files changed, 11 insertions(+)

New commits:
commit f3eb1684fa5008ad7c881f798a5efb7441b23035
Author: Simon Ser <contact at emersion.fr>
Date:   Mon Apr 19 22:49:56 2021 +0200

    xwayland: enable MIT-SHM shared pixmaps
    
    Allow X11 clients to create shared pixmaps via the MIT-SHM
    extension under Xwayland. Tested with a wlroots patch [1].
    
    Also add a few assertions to make sure we have wl_buffers where we
    need them.
    
    [1]: https://github.com/swaywm/wlroots/pull/2875
    
    Signed-off-by: Simon Ser <contact at emersion.fr>
    Acked-by: Michel Dänzer <mdaenzer at redhat.com>

diff --git a/hw/xwayland/xwayland-present.c b/hw/xwayland/xwayland-present.c
index 83d67517a..c0f128833 100644
--- a/hw/xwayland/xwayland-present.c
+++ b/hw/xwayland/xwayland-present.c
@@ -404,6 +404,9 @@ xwl_present_check_flip2(RRCrtcPtr crtc,
     if (!xwl_window)
         return FALSE;
 
+    if (!xwl_glamor_pixmap_get_wl_buffer(pixmap))
+        return FALSE;
+
     if (!xwl_glamor_check_flip(pixmap))
         return FALSE;
 
diff --git a/hw/xwayland/xwayland-screen.c b/hw/xwayland/xwayland-screen.c
index c18e2fbb5..bb18e5c94 100644
--- a/hw/xwayland/xwayland-screen.c
+++ b/hw/xwayland/xwayland-screen.c
@@ -52,6 +52,10 @@
 #include "xwayland-present.h"
 #include "xwayland-shm.h"
 
+#ifdef MITSHM
+#include "shmint.h"
+#endif
+
 #include "xdg-output-unstable-v1-client-protocol.h"
 #include "viewporter-client-protocol.h"
 #include "xdg-shell-client-protocol.h"
@@ -662,6 +666,10 @@ xwl_screen_init(ScreenPtr pScreen, int argc, char **argv)
 
     fbPictureInit(pScreen, 0, 0);
 
+#ifdef MITSHM
+    ShmRegisterFbFuncs(pScreen);
+#endif
+
 #ifdef HAVE_XSHMFENCE
     if (!miSyncShmScreenInit(pScreen))
         return FALSE;


More information about the xorg-commit mailing list