mirror of
https://gitlab.freedesktop.org/wayland/weston.git
synced 2026-05-20 09:08:17 +02:00
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> |
||
|---|---|---|
| .. | ||
| reference | ||
| .gitignore | ||
| bad-buffer-test.c | ||
| config-parser-test.c | ||
| devices-test.c | ||
| event-test.c | ||
| input-timestamps-helper.c | ||
| input-timestamps-helper.h | ||
| internal-screenshot-test.c | ||
| internal-screenshot.ini | ||
| ivi-layout-internal-test.c | ||
| ivi-layout-test-client.c | ||
| ivi-layout-test-plugin.c | ||
| ivi-shell-app-test.c | ||
| ivi-test.h | ||
| keyboard-test.c | ||
| linux-explicit-synchronization-test.c | ||
| matrix-test.c | ||
| meson.build | ||
| plugin-registry-test.c | ||
| pointer-test.c | ||
| presentation-test.c | ||
| roles-test.c | ||
| setbacklight.c | ||
| string-test.c | ||
| subsurface-shot-test.c | ||
| subsurface-test.c | ||
| surface-global-test.c | ||
| surface-screenshot-test.c | ||
| surface-test.c | ||
| text-test.c | ||
| timespec-test.c | ||
| touch-test.c | ||
| vertex-clip-test.c | ||
| viewporter-test.c | ||
| weston-test-client-helper.c | ||
| weston-test-client-helper.h | ||
| weston-test-desktop-shell.c | ||
| weston-test-runner.c | ||
| weston-test-runner.h | ||
| weston-test.c | ||
| weston-tests-env | ||
| xwayland-test.c | ||