diff --git a/wayland-protocols/CHANGELOG.md b/wayland-protocols/CHANGELOG.md index de5198b058..53c2add38d 100644 --- a/wayland-protocols/CHANGELOG.md +++ b/wayland-protocols/CHANGELOG.md @@ -2,6 +2,12 @@ ## Unreleased +- Bump wayland-protocols to 1.38 + - New staging protocols: + * `fifo-v1` + * `commit-timing-v1` + * `xdg-system-bell-v1` + ## 0.32.4 -- 2024-09-04 ### Additions diff --git a/wayland-protocols/protocols b/wayland-protocols/protocols index 4878e025a5..9ac1a0977e 160000 --- a/wayland-protocols/protocols +++ b/wayland-protocols/protocols @@ -1 +1 @@ -Subproject commit 4878e025a5fb95d8d14a05088974af60cbafebd0 +Subproject commit 9ac1a0977eea1b2f525e375089131f7d696a74ee diff --git a/wayland-protocols/src/wp.rs b/wayland-protocols/src/wp.rs index d880eaca89..07635204ec 100644 --- a/wayland-protocols/src/wp.rs +++ b/wayland-protocols/src/wp.rs @@ -487,7 +487,6 @@ pub mod security_context { //! security contexts are dangerous because they can potentially allow //! privilege escalation of a sandboxed client. - #[allow(missing_docs)] pub mod v1 { wayland_protocol!( @@ -511,3 +510,49 @@ pub mod alpha_modifier { ); } } + +#[cfg(feature = "staging")] +pub mod fifo { + //! When a Wayland compositor considers applying a content update, + //! it must ensure all the update's readiness constraints (fences, etc) + //! are met. + //! + //! This protocol provides a way to use the completion of a display refresh + //! cycle as an additional readiness constraint. + + #[allow(missing_docs)] + pub mod v1 { + wayland_protocol!( + "./protocols/staging/fifo/fifo-v1.xml", + [] + ); + } +} + +#[cfg(feature = "staging")] +pub mod commit_timing { + //! When a compositor latches on to new content updates it will check for + //! any number of requirements of the available content updates (such as + //! fences of all buffers being signalled) to consider the update ready. + //! + //! This protocol provides a method for adding a time constraint to surface + //! content. This constraint indicates to the compositor that a content + //! update should be presented as closely as possible to, but not before, + //! a specified time. + //! + //! This protocol does not change the Wayland property that content + //! updates are applied in the order they are received, even when some + //! content updates contain timestamps and others do not. + //! + //! To provide timestamps, this global factory interface must be used to + //! acquire a `wp_commit_timing_v1` object for a surface, which may then be + //! used to provide timestamp information for commits. + + #[allow(missing_docs)] + pub mod v1 { + wayland_protocol!( + "./protocols/staging/commit-timing/commit-timing-v1.xml", + [] + ); + } +} diff --git a/wayland-protocols/src/xdg.rs b/wayland-protocols/src/xdg.rs index 1314c4a8bc..d968fa80cb 100644 --- a/wayland-protocols/src/xdg.rs +++ b/wayland-protocols/src/xdg.rs @@ -217,3 +217,16 @@ pub mod toplevel_icon { ); } } + +#[cfg(feature = "staging")] +pub mod system_bell { + //! This global interface enables clients to ring the system bell. + + /// Version 1 + pub mod v1 { + wayland_protocol!( + "./protocols/staging/xdg-system-bell/xdg-system-bell-v1.xml", + [] + ); + } +}