weston/protocol
Alexandros Frantzis 27d7c395c7 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
https://gitlab.freedesktop.org/wayland/wayland/issues/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>
2019-02-06 12:21:56 +00:00
..
ivi-application.xml ivi-application: Hyphenate compound adjective surface-local 2016-04-29 16:33:11 -07:00
ivi-hmi-controller.xml protocol: fix grammar 2017-01-03 11:59:03 +00:00
meson.build libweston: Introduce zwp_linux_explicit_synchronization_v1 2019-02-06 12:21:56 +00:00
text-cursor-position.xml Convert text cursor position protocol to use fixed types. 2012-06-04 11:07:50 -04:00
weston-debug.xml protocol: add weston-debug.xml 2018-09-11 15:24:46 +01:00
weston-desktop-shell.xml protocol: fix DTD warning in weston-desktop-shell 2015-11-19 15:58:44 +02:00
weston-screenshooter.xml Rename screenshooter protocol to weston_screenshooter 2015-11-19 15:07:24 +02:00
weston-test.xml tests: Add test for pointer axis events 2017-12-18 13:18:00 +02:00
weston-touch-calibration.xml protocol: add weston_touch_calibration 2018-05-30 14:46:24 +03:00