-
- Downloads
libweston: Introduce zwp_linux_explicit_synchronization_v1
Introduce support for the zwp_linux_explicit_synchronization_unstable_v1 protocol with an implementation of the zwp_linux_explicit_synchronization_v1 interface. Explicit synchronization provides a more versatile notification mechanism for buffer readiness and availability, and can be used to improve efficiency by integrating with related functionality in display and graphics APIs. In addition, the per-commit nature of the release events provided by this protocol potentially offers a solution to a deficiency of the wl_buffer.release event (see wayland/wayland#46 ). Support for this protocol depends on the capabilities of the backend, so we don't register it by default but provide a function which each backend will need to call. In this commit only the headless backend when using the noop renderer supports this to enable testing. Note that the zwp_surface_synchronization_v1 interface, which contains the core functionality of the protocol, is not implemented in this commit. Support for it will be added in future commits. Changes in v7: - Added some information in the commit message about the benefits of the explicit sync protocol. Changes in v6: - Fall back to advertising minor version 1 of the explicit sync protocol, although we support minor version 2 features, until the new wayland-protocols version is released. Changes in v5: - Meson support. - Advertise minor version 2 of the explicit sync protocol. Changes in v4: - Enable explicit sync support in the headless backend for all renderers. Changes in v3: - Use wl_resource_get_version() instead of hardcoding version 1. - Use updated protocol interface names. - Use correct format specifier for resource id. - Change test name to 'linux-explicit-synchronization.weston' (s/_/-/g). Changes in v2: - Move implementation to separate file so protocol can be registered on demand by backends. - Register protocol in headless+noop backend for testing purposes. Signed-off-by:Alexandros Frantzis <alexandros.frantzis@collabora.com>
parent
a37920e7
Branches hk/sparse9
No related tags found
Showing
- Makefile.am 18 additions, 3 deletionsMakefile.am
- configure.ac 4 additions, 1 deletionconfigure.ac
- libweston/compositor-headless.c 6 additions, 0 deletionslibweston/compositor-headless.c
- libweston/compositor.c 5 additions, 0 deletionslibweston/compositor.c
- libweston/compositor.h 3 additions, 0 deletionslibweston/compositor.h
- libweston/linux-explicit-synchronization.c 164 additions, 0 deletionslibweston/linux-explicit-synchronization.c
- libweston/linux-explicit-synchronization.h 34 additions, 0 deletionslibweston/linux-explicit-synchronization.h
- libweston/meson.build 3 additions, 0 deletionslibweston/meson.build
- protocol/meson.build 5 additions, 1 deletionprotocol/meson.build
- tests/linux-explicit-synchronization-test.c 96 additions, 0 deletionstests/linux-explicit-synchronization-test.c
- tests/meson.build 7 additions, 0 deletionstests/meson.build
Loading