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@emersion.fr> Acked-by: Michel Dänzer <mdaenzer@redhat.com>
This commit is contained in:
parent
3d33d885fc
commit
f3eb1684fa
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue