pub struct WpFifoV1 { /* private fields */ }Expand description
fifo interface
A fifo object for a surface that may be used to add display refresh constraints to content updates.
This interface has no events.
Implementations§
Source§impl WpFifoV1
impl WpFifoV1
Sourcepub fn set_barrier(&self)
pub fn set_barrier(&self)
sets the start point for a fifo constraint
When the content update containing the “set_barrier” is applied, it sets a “fifo_barrier” condition on the surface associated with the fifo object. The condition is cleared immediately after the following latching deadline for non-tearing presentation.
The compositor may clear the condition early if it must do so to ensure client forward progress assumptions.
To wait for this condition to clear, use the “wait_barrier” request.
“set_barrier” is double-buffered state, see wl_surface.commit.
Requesting set_barrier after the fifo object’s surface is destroyed will generate a “surface_destroyed” error.
Sourcepub fn wait_barrier(&self)
pub fn wait_barrier(&self)
adds a fifo constraint to a content update
Indicate that this content update is not ready while a “fifo_barrier” condition is present on the surface.
This means that when the content update containing “set_barrier” was made active at a latching deadline, it will be active for at least one refresh cycle. A content update which is allowed to tear might become active after a latching deadline if no content update became active at the deadline.
The constraint must be ignored if the surface is a subsurface in synchronized mode. If the surface is not being updated by the compositor (off-screen, occluded) the compositor may ignore the constraint. Clients must use an additional mechanism such as frame callbacks or timestamps to ensure throttling occurs under all conditions.
“wait_barrier” is double-buffered state, see wl_surface.commit.
Requesting “wait_barrier” after the fifo object’s surface is destroyed will generate a “surface_destroyed” error.