Skip to main content

ExternalImageDesc

Struct ExternalImageDesc 

Source
pub struct ExternalImageDesc {
    pub planes: Vec<DmaBufPlane>,
    pub fourcc: Fourcc,
    pub modifier: Modifier,
}
Expand description

An image that already exists, to be imported rather than allocated.

This is the first of the two requirements that exist in the HAL from day one for the sake of the DRM path. The renderer must be able to draw into images it did not allocate — buffers GBM made, or buffers another device allocated and shared — because on a split render/display SoC the display controller and the GPU are different devices with different ideas about memory layout.

Fields§

§planes: Vec<DmaBufPlane>

Planes making up the image. Most formats are single-plane.

§fourcc: Fourcc

The DRM format code the buffer was allocated with.

§modifier: Modifier

The layout the buffer was allocated with.

Modifier::INVALID is accepted only where no negotiation took place; a buffer that came out of format negotiation always carries the explicit modifier that was agreed on.

Trait Implementations§

Source§

impl Debug for ExternalImageDesc

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.