pub struct DmaBufRingDescriptor {
pub logical_size: LogicalSize,
pub buffer_count: u32,
pub formats: Vec<DmaBufFormat>,
}Expand description
A ring of dmabufs that the library allocates, for
MapHandle::attach_dma_buf_ring().
Each buffer has the map’s size in pixels and a format and modifier from
formats. The library renders only DRM_FORMAT_ABGR8888 and
DRM_FORMAT_ARGB8888. A modifier can give a buffer more planes than its
format has, such as a plane of compression metadata, and the library takes
any such modifier that its GPU can render into and share.
See mln_dma_buf_ring_descriptor in the
C API reference.
Fields§
§logical_size: LogicalSize§buffer_count: u32How many buffers the ring has, from 1 to 8.
formats: Vec<DmaBufFormat>The formats and modifiers that your reader imports, most preferred first, such as those that eglQueryDmaBufModifiersEXT() reports.
Implementations§
Source§impl DmaBufRingDescriptor
impl DmaBufRingDescriptor
pub fn new( logical_size: LogicalSize, buffer_count: u32, formats: Vec<DmaBufFormat>, ) -> Self
Trait Implementations§
Source§impl Clone for DmaBufRingDescriptor
impl Clone for DmaBufRingDescriptor
Source§fn clone(&self) -> DmaBufRingDescriptor
fn clone(&self) -> DmaBufRingDescriptor
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for DmaBufRingDescriptor
impl Debug for DmaBufRingDescriptor
Source§impl PartialEq for DmaBufRingDescriptor
impl PartialEq for DmaBufRingDescriptor
impl StructuralPartialEq for DmaBufRingDescriptor
Auto Trait Implementations§
impl Freeze for DmaBufRingDescriptor
impl RefUnwindSafe for DmaBufRingDescriptor
impl Send for DmaBufRingDescriptor
impl Sync for DmaBufRingDescriptor
impl Unpin for DmaBufRingDescriptor
impl UnsafeUnpin for DmaBufRingDescriptor
impl UnwindSafe for DmaBufRingDescriptor
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more