zwp_linux_buffer_release_v1¤
wayland.zwp_linux_buffer_release_v1 ¤
Buffer release explicit synchronization
This object is instantiated in response to a zwp_linux_surface_synchronization_v1.get_release request.
It provides an alternative to wl_buffer.release events, providing a unique release from a single wl_surface.commit request. The release event also supports explicit synchronization, providing a fence FD for the client to synchronize against.
Exactly one event, either a fenced_release or an immediate_release, will be emitted for the wl_surface.commit request. The compositor can choose release by release which event it uses.
This event does not replace wl_buffer.release events; servers are still required to send those events.
Once a buffer release object has delivered a 'fenced_release' or an 'immediate_release' event it is automatically destroyed.
Methods:
-
on_fenced_release
–Release buffer with fence.
-
on_immediate_release
–Release buffer immediately.
events
fenced_release ¤
fenced_release(fence: fd) -> None
Release buffer with fence
Sent when the compositor has finalised its usage of the associated buffer for the relevant commit, providing a dma_fence which will be signaled when all operations by the compositor on that buffer for that commit have finished.
Once the fence has signaled, and assuming the associated buffer is not pending release from other wl_surface.commit requests, no additional explicit or implicit synchronization is required to safely reuse or destroy the buffer.
This event destroys the zwp_linux_buffer_release_v1 object.
Parameters:
-
fence
¤fd
) –Fence for last operation on buffer
immediate_release ¤
immediate_release() -> None
Release buffer immediately
Sent when the compositor has finalised its usage of the associated buffer for the relevant commit, and either performed no operations using it, or has a guarantee that all its operations on that buffer for that commit have finished.
Once this event is received, and assuming the associated buffer is not pending release from other wl_surface.commit requests, no additional explicit or implicit synchronization is required to safely reuse or destroy the buffer.
This event destroys the zwp_linux_buffer_release_v1 object.
on_fenced_release ¤
on_fenced_release(fence: fd) -> None
Release buffer with fence.
Override to handle wayland.zwp_linux_buffer_release_v1.events.fenced_release
.
on_immediate_release ¤
on_immediate_release() -> None
Release buffer immediately.
Override to handle wayland.zwp_linux_buffer_release_v1.events.immediate_release
.