ccfeae2ad7e024c04676fff0563a34fe04edb301
A client can reliably avoid allocating a second buffer per surface, if the compositor sends the wl_buffer.release event before the frame callback. To enable clients' single-buffering, release the wl_buffer early if possible. Otherwise clients will double-buffer. Releasing early is not possible, if the backend needs the buffer for migrating a surface to or from a non-primary weston_plane. In that case, a new buffer must arrive, before the old can be released. Backends will indicate this by setting weston_surface:keep_buffer to 1 in assign_planes(). A proper buffer reference in the backends would be better than the keep_buffer flag, but that would require a per-surface backend private. The rpi and DRM backends are updated to set keep_buffer, other backends do not support planes, so do not have to set it. Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
Weston Weston is the reference implementation of a Wayland compositor, and a useful compositor in its own right. Weston has various backends that lets it run on Linux kernel modesetting and evdev input as well as under X11. Weston ships with a few example clients, from simple clients that demonstrate certain aspects of the protocol to more complete clients and a simplistic toolkit. There is also a quite capable terminal emulator (weston-terminal) and an toy/example desktop shell. Finally, weston also provides integration with the Xorg server and can pull X clients into the Wayland desktop and act as a X window manager. Refer to http://wayland.freedesktop.org/building.html for buiding weston and its dependencies.
Description
Languages
C
98%
Meson
1.4%
Shell
0.3%
GLSL
0.2%