xserver/hw/xwayland
Olivier Fourdan cd999f08c6 xwayland: Use multiple window buffers
Xwayland takes care of not attaching a new buffer if a frame callback is
pending.

Yet, the existing buffer (which was previously attached) may still be
updated from the X11 side, causing unexpected visual glitches to the
buffer.

Add multiple buffering to the xwl_window and alternate between buffers,
to leave the Wayland buffer untouched between frame callbacks and avoid
stuttering or tearing issues.

Closes: https://gitlab.freedesktop.org/xorg/xserver/issues/835
Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
2019-11-28 17:32:44 +01:00
..
.gitignore xwayland: Add wp_viewport wayland extension support 2019-10-12 12:19:14 +02:00
Makefile.am xwayland: Add multiple window buffering support 2019-11-28 17:32:44 +01:00
drm.xml wayland: Sync drm.xml with Mesa 2017-07-05 10:13:04 -04:00
meson.build xwayland: Add multiple window buffering support 2019-11-28 17:32:44 +01:00
xwayland-cursor.c xwayland: Use buffer_damage instead of surface damage if available 2019-10-12 12:19:14 +02:00
xwayland-cvt.c xwayland: Add hack for FWXGA resolution #99574 2017-02-08 12:32:16 -05:00
xwayland-glamor-eglstream.c xwayland: Add buffer release callback 2019-11-28 17:32:44 +01:00
xwayland-glamor-gbm.c xwayland: Add buffer release callback 2019-11-28 17:32:44 +01:00
xwayland-glamor-xv.c xwayland: use the lowercase xnf.*alloc API 2017-09-06 08:56:39 +10:00
xwayland-glamor.c glamor/xwayland: Define EGL_NO_X11 2019-11-04 20:49:33 +01:00
xwayland-glx.c glamor/xwayland: Define EGL_NO_X11 2019-11-04 20:49:33 +01:00
xwayland-input.c xwayland: Add support for randr-resolution change emulation using viewport 2019-10-12 12:19:14 +02:00
xwayland-output.c xserver: Fix a typo 2019-10-16 18:57:31 +00:00
xwayland-present.c xwayland: Add buffer release callback 2019-11-28 17:32:44 +01:00
xwayland-shm.c xwayland: Add buffer release callback 2019-11-28 17:32:44 +01:00
xwayland-vidmode.c xwayland: Add vidmode mode changing emulation support 2019-10-12 12:19:14 +02:00
xwayland-window-buffers.c xwayland: Add multiple window buffering support 2019-11-28 17:32:44 +01:00
xwayland-window-buffers.h xwayland: Add multiple window buffering support 2019-11-28 17:32:44 +01:00
xwayland.c xwayland: Use multiple window buffers 2019-11-28 17:32:44 +01:00
xwayland.h xwayland: Add multiple window buffering support 2019-11-28 17:32:44 +01:00