Struct wayland_protocols::wp::linux_drm_syncobj::v1::client::wp_linux_drm_syncobj_manager_v1::WpLinuxDrmSyncobjManagerV1
source · pub struct WpLinuxDrmSyncobjManagerV1 { /* private fields */ }
Expand description
global for providing explicit synchronization
This global is a factory interface, allowing clients to request explicit synchronization for buffers on a per-surface basis.
See wp_linux_drm_syncobj_surface_v1 for more information.
This interface has no events.
Implementations§
source§impl WpLinuxDrmSyncobjManagerV1
impl WpLinuxDrmSyncobjManagerV1
sourcepub fn destroy(&self)
pub fn destroy(&self)
destroy explicit synchronization factory object
Destroy this explicit synchronization factory object. Other objects shall not be affected by this request.
sourcepub fn get_surface<U: Send + Sync + 'static, D: Dispatch<WpLinuxDrmSyncobjSurfaceV1, U> + 'static>(
&self,
surface: &WlSurface,
qh: &QueueHandle<D>,
udata: U
) -> WpLinuxDrmSyncobjSurfaceV1
pub fn get_surface<U: Send + Sync + 'static, D: Dispatch<WpLinuxDrmSyncobjSurfaceV1, U> + 'static>( &self, surface: &WlSurface, qh: &QueueHandle<D>, udata: U ) -> WpLinuxDrmSyncobjSurfaceV1
extend surface interface for explicit synchronization
Instantiate an interface extension for the given wl_surface to provide explicit synchronization.
If the given wl_surface already has an explicit synchronization object associated, the surface_exists protocol error is raised.
Graphics APIs, like EGL or Vulkan, that manage the buffer queue and commits of a wl_surface themselves, are likely to be using this extension internally. If a client is using such an API for a wl_surface, it should not directly use this extension on that surface, to avoid raising a surface_exists protocol error.
sourcepub fn import_timeline<U: Send + Sync + 'static, D: Dispatch<WpLinuxDrmSyncobjTimelineV1, U> + 'static>(
&self,
fd: BorrowedFd<'_>,
qh: &QueueHandle<D>,
udata: U
) -> WpLinuxDrmSyncobjTimelineV1
pub fn import_timeline<U: Send + Sync + 'static, D: Dispatch<WpLinuxDrmSyncobjTimelineV1, U> + 'static>( &self, fd: BorrowedFd<'_>, qh: &QueueHandle<D>, udata: U ) -> WpLinuxDrmSyncobjTimelineV1
import a DRM syncobj timeline
Import a DRM synchronization object timeline.
If the FD cannot be imported, the invalid_timeline error is raised.
Trait Implementations§
source§impl Borrow<ObjectId> for WpLinuxDrmSyncobjManagerV1
impl Borrow<ObjectId> for WpLinuxDrmSyncobjManagerV1
source§impl Clone for WpLinuxDrmSyncobjManagerV1
impl Clone for WpLinuxDrmSyncobjManagerV1
source§fn clone(&self) -> WpLinuxDrmSyncobjManagerV1
fn clone(&self) -> WpLinuxDrmSyncobjManagerV1
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for WpLinuxDrmSyncobjManagerV1
impl Debug for WpLinuxDrmSyncobjManagerV1
source§impl Hash for WpLinuxDrmSyncobjManagerV1
impl Hash for WpLinuxDrmSyncobjManagerV1
source§impl PartialEq<Weak<WpLinuxDrmSyncobjManagerV1>> for WpLinuxDrmSyncobjManagerV1
impl PartialEq<Weak<WpLinuxDrmSyncobjManagerV1>> for WpLinuxDrmSyncobjManagerV1
source§impl PartialEq for WpLinuxDrmSyncobjManagerV1
impl PartialEq for WpLinuxDrmSyncobjManagerV1
source§fn eq(&self, other: &WpLinuxDrmSyncobjManagerV1) -> bool
fn eq(&self, other: &WpLinuxDrmSyncobjManagerV1) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl Proxy for WpLinuxDrmSyncobjManagerV1
impl Proxy for WpLinuxDrmSyncobjManagerV1
source§fn data<U: Send + Sync + 'static>(&self) -> Option<&U>
fn data<U: Send + Sync + 'static>(&self) -> Option<&U>
source§fn object_data(&self) -> Option<&Arc<dyn ObjectData>>
fn object_data(&self) -> Option<&Arc<dyn ObjectData>>
source§fn backend(&self) -> &WeakBackend
fn backend(&self) -> &WeakBackend
source§fn send_request(&self, req: Self::Request<'_>) -> Result<(), InvalidId>
fn send_request(&self, req: Self::Request<'_>) -> Result<(), InvalidId>
source§fn send_constructor<I: Proxy>(
&self,
req: Self::Request<'_>,
data: Arc<dyn ObjectData>
) -> Result<I, InvalidId>
fn send_constructor<I: Proxy>( &self, req: Self::Request<'_>, data: Arc<dyn ObjectData> ) -> Result<I, InvalidId>
source§fn from_id(conn: &Connection, id: ObjectId) -> Result<Self, InvalidId>
fn from_id(conn: &Connection, id: ObjectId) -> Result<Self, InvalidId>
source§fn inert(backend: WeakBackend) -> Self
fn inert(backend: WeakBackend) -> Self
source§fn parse_event(
conn: &Connection,
msg: Message<ObjectId, OwnedFd>
) -> Result<(Self, Self::Event), DispatchError>
fn parse_event( conn: &Connection, msg: Message<ObjectId, OwnedFd> ) -> Result<(Self, Self::Event), DispatchError>
source§fn write_request<'a>(
&self,
conn: &Connection,
msg: Self::Request<'a>
) -> Result<(Message<ObjectId, BorrowedFd<'a>>, Option<(&'static Interface, u32)>), InvalidId>
fn write_request<'a>( &self, conn: &Connection, msg: Self::Request<'a> ) -> Result<(Message<ObjectId, BorrowedFd<'a>>, Option<(&'static Interface, u32)>), InvalidId>
impl Eq for WpLinuxDrmSyncobjManagerV1
Auto Trait Implementations§
impl !RefUnwindSafe for WpLinuxDrmSyncobjManagerV1
impl Send for WpLinuxDrmSyncobjManagerV1
impl Sync for WpLinuxDrmSyncobjManagerV1
impl Unpin for WpLinuxDrmSyncobjManagerV1
impl !UnwindSafe for WpLinuxDrmSyncobjManagerV1
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.