Struct wayland_protocols::unstable::linux_explicit_synchronization::v1::client::zwp_linux_surface_synchronization_v1::ZwpLinuxSurfaceSynchronizationV1
source · pub struct ZwpLinuxSurfaceSynchronizationV1(/* private fields */);
Implementations§
source§impl ZwpLinuxSurfaceSynchronizationV1
impl ZwpLinuxSurfaceSynchronizationV1
sourcepub fn destroy(&self)
pub fn destroy(&self)
destroy synchronization object
Destroy this explicit synchronization object.
Any fence set by this object with set_acquire_fence since the last commit will be discarded by the server. Any fences set by this object before the last commit are not affected.
zwp_linux_buffer_release_v1 objects created by this object are not affected by this request.
This is a destructor, you cannot send requests to this object any longer once this method is called.
sourcepub fn set_acquire_fence(&self, fd: RawFd)
pub fn set_acquire_fence(&self, fd: RawFd)
set the acquire fence
Set the acquire fence that must be signaled before the compositor may sample from the buffer attached with wl_surface.attach. The fence is a dma_fence kernel object.
The acquire fence is double-buffered state, and will be applied on the next wl_surface.commit request for the associated surface. Thus, it applies only to the buffer that is attached to the surface at commit time.
If the provided fd is not a valid dma_fence fd, then an INVALID_FENCE error is raised.
If a fence has already been attached during the same commit cycle, a DUPLICATE_FENCE error is raised.
If the associated wl_surface was destroyed, a NO_SURFACE error is raised.
If at surface commit time the attached buffer does not support explicit synchronization, an UNSUPPORTED_BUFFER error is raised.
If at surface commit time there is no buffer attached, a NO_BUFFER error is raised.
sourcepub fn get_release(&self) -> Main<ZwpLinuxBufferReleaseV1>
pub fn get_release(&self) -> Main<ZwpLinuxBufferReleaseV1>
release fence for last-attached buffer
Create a listener for the release of the buffer attached by the client with wl_surface.attach. See zwp_linux_buffer_release_v1 documentation for more information.
The release object is double-buffered state, and will be associated with the buffer that is attached to the surface at wl_surface.commit time.
If a zwp_linux_buffer_release_v1 object has already been requested for the surface in the same commit cycle, a DUPLICATE_RELEASE error is raised.
If the associated wl_surface was destroyed, a NO_SURFACE error is raised.
If at surface commit time there is no buffer attached, a NO_BUFFER error is raised.
Trait Implementations§
source§impl Clone for ZwpLinuxSurfaceSynchronizationV1
impl Clone for ZwpLinuxSurfaceSynchronizationV1
source§fn clone(&self) -> ZwpLinuxSurfaceSynchronizationV1
fn clone(&self) -> ZwpLinuxSurfaceSynchronizationV1
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl From<ZwpLinuxSurfaceSynchronizationV1> for Proxy<ZwpLinuxSurfaceSynchronizationV1>
impl From<ZwpLinuxSurfaceSynchronizationV1> for Proxy<ZwpLinuxSurfaceSynchronizationV1>
source§fn from(value: ZwpLinuxSurfaceSynchronizationV1) -> Self
fn from(value: ZwpLinuxSurfaceSynchronizationV1) -> Self
source§impl Interface for ZwpLinuxSurfaceSynchronizationV1
impl Interface for ZwpLinuxSurfaceSynchronizationV1
source§fn c_interface() -> *const wl_interface
fn c_interface() -> *const wl_interface
source§impl PartialEq for ZwpLinuxSurfaceSynchronizationV1
impl PartialEq for ZwpLinuxSurfaceSynchronizationV1
source§fn eq(&self, other: &ZwpLinuxSurfaceSynchronizationV1) -> bool
fn eq(&self, other: &ZwpLinuxSurfaceSynchronizationV1) -> bool
self
and other
values to be equal, and is used
by ==
.