Enum wayland_protocols::wp::linux_drm_syncobj::v1::server::wp_linux_drm_syncobj_manager_v1::Request
source · #[non_exhaustive]pub enum Request {
Destroy,
GetSurface {
id: New<WpLinuxDrmSyncobjSurfaceV1>,
surface: WlSurface,
},
ImportTimeline {
id: New<WpLinuxDrmSyncobjTimelineV1>,
fd: OwnedFd,
},
}
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Destroy
destroy explicit synchronization factory object
Destroy this explicit synchronization factory object. Other objects shall not be affected by this request.
This is a destructor, once received this object cannot be used any longer.
GetSurface
Fields
id: New<WpLinuxDrmSyncobjSurfaceV1>
the new synchronization surface object id
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.
ImportTimeline
import a DRM syncobj timeline
Import a DRM synchronization object timeline.
If the FD cannot be imported, the invalid_timeline error is raised.
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for Request
impl Send for Request
impl Sync for Request
impl Unpin for Request
impl !UnwindSafe for Request
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.