xserver/hw
Olivier Fourdan 1c6f875f52 xwayland: Add multiple window buffering support
Add a mechanism to create, recycle and destroy window buffers when
needed.

Typically, this adds a new `xwl_window_buffer` structure which
represents a buffer for a given Xwayland window.

Each Xwayland window has two different pools of buffers:

 - The available buffers pool:
   Those are buffers which where created previously and that have either
   not been submitted to the compositor or submitted and released.

 - The unavailable buffers pool:
   Those are typically the buffers which are being used by the
   compositor, awaiting a release.

Initially, an Xwayland window starts with both pools empty. As soon as a
new buffer is needed, it's either created (if there is none available)
or picked from the pool of available buffers.

Once submitted to the compositor, the buffer is moved to the pool of
unavailable buffers. When the corresponding `wl_buffer` is released by
the compositor, it is moved back to pool of available buffers again to
be reused when needed.

To avoid keeping too many buffers around doing nothing, a garbage
collection of older, unused buffers also takes care of disposing the
buffers being unused for some time.

Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
2019-11-28 17:32:44 +01:00
..
dmx dmx: Stop overriding the vendor string 2019-10-30 16:17:04 +00:00
kdrive Fix various spelling errors 2019-10-01 17:05:28 +00:00
vfb Revert https://gitlab.freedesktop.org/xorg/xserver/merge_requests/235 2019-10-14 12:48:24 +02:00
xfree86 modesetting: Use EGL_MESA_query_driver to select DRI driver if possible 2019-11-26 01:36:10 -08:00
xnest mi: Add a default no-op miSourceValidate 2019-10-30 16:26:01 +00:00
xquartz include: Remove now-empty site.h 2019-10-30 16:17:04 +00:00
xwayland xwayland: Add multiple window buffering support 2019-11-28 17:32:44 +01:00
xwin hw/xwin: Add -icon option to set the screen window icon in windowed mode 2019-09-18 19:11:45 +00:00
Makefile.am Xwayland DDX 2014-04-03 15:19:22 -07:00
meson.build meson: Move Xvfb build under an option. 2017-09-20 13:19:21 -04:00