[][src]Trait wayland_protocols::unstable::linux_explicit_synchronization::v1::client::zwp_linux_surface_synchronization_v1::RequestsTrait

pub trait RequestsTrait {
    fn destroy(&self);
fn set_acquire_fence(&self, fd: RawFd);
fn get_release<F>(
        &self,
        implementor: F
    ) -> Result<Proxy<ZwpLinuxBufferReleaseV1>, ()>
    where
        F: FnOnce(NewProxy<ZwpLinuxBufferReleaseV1>) -> Proxy<ZwpLinuxBufferReleaseV1>
; }

Required methods

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.

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.

fn get_release<F>(
    &self,
    implementor: F
) -> Result<Proxy<ZwpLinuxBufferReleaseV1>, ()> where
    F: FnOnce(NewProxy<ZwpLinuxBufferReleaseV1>) -> Proxy<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.

Loading content...

Implementations on Foreign Types

impl RequestsTrait for Proxy<ZwpLinuxSurfaceSynchronizationV1>[src]

Loading content...

Implementors

Loading content...