pub struct DmaBufSupport {
pub import: bool,
pub export: bool,
pub modifiers: bool,
}Expand description
How a device can move images across process or device boundaries.
Both halves matter independently. A render-only GPU paired with a separate display controller — the common ARM SoC topology — needs export on one device and import on the other.
Fields§
§import: boolCan import a dma-buf as a texture.
export: boolCan export one of its own images as a dma-buf.
modifiers: boolCan allocate and import with an explicit format modifier.
Without this, the only safe shared layout is linear, and scanout gives up whatever bandwidth a vendor tiled or compressed layout would have saved.
Implementations§
Source§impl DmaBufSupport
impl DmaBufSupport
Sourcepub const fn can_allocate_scanout(self) -> bool
pub const fn can_allocate_scanout(self) -> bool
Whether this device can allocate its own scanout buffers.
When false, the DRM presentation path must allocate through GBM and import instead. Both paths are supported; this is what picks between them.
Trait Implementations§
Source§impl Clone for DmaBufSupport
impl Clone for DmaBufSupport
impl Copy for DmaBufSupport
Source§impl Debug for DmaBufSupport
impl Debug for DmaBufSupport
Source§impl Default for DmaBufSupport
impl Default for DmaBufSupport
impl Eq for DmaBufSupport
Source§impl PartialEq for DmaBufSupport
impl PartialEq for DmaBufSupport
impl StructuralPartialEq for DmaBufSupport
Auto Trait Implementations§
impl Freeze for DmaBufSupport
impl RefUnwindSafe for DmaBufSupport
impl Send for DmaBufSupport
impl Sync for DmaBufSupport
impl Unpin for DmaBufSupport
impl UnsafeUnpin for DmaBufSupport
impl UnwindSafe for DmaBufSupport
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