pub struct SparseImageMemoryBind {
    pub aspects: ImageAspects,
    pub mip_level: u32,
    pub array_layer: u32,
    pub offset: [u32; 3],
    pub extent: [u32; 3],
    pub memory: Option<(Arc<DeviceMemory>, DeviceSize)>,
}
Expand description

Parameters for a single sparse bind operation on parts of an image with a known memory layout.

This type of sparse bind can only be used for images that have the sparse_residency flag set. Only the normal texel regions can be bound this way, not the mip tail regions or metadata aspect.

Fields§

§aspects: ImageAspects

The aspects of the image where memory is to be (un)bound.

The default value is ImageAspects::empty(), which must be overridden.

§mip_level: u32

The mip level of the image where memory is to be (un)bound.

The default value is 0.

§array_layer: u32

The array layer of the image where memory is to be (un)bound.

The default value is 0.

§offset: [u32; 3]

The offset in texels (or for compressed images, texel blocks) from the origin of the image, where memory is to be (un)bound.

This must be a multiple of the SparseImageFormatProperties::image_granularity value of the image.

The default value is [0; 3].

§extent: [u32; 3]

The extent in texels (or for compressed images, texel blocks) of the image where memory is to be (un)bound.

This must be a multiple of the SparseImageFormatProperties::image_granularity value of the image, or offset + extent for that dimension must equal the image’s total extent.

The default value is [0; 3], which must be overridden.

§memory: Option<(Arc<DeviceMemory>, DeviceSize)>

If Some, specifies the memory and an offset into that memory that is to be bound. The provided memory must match the image’s memory requirements.

If None, specifies that existing memory at the specified location is to be unbound.

The default value is None.

Trait Implementations§

source§

impl Clone for SparseImageMemoryBind

source§

fn clone(&self) -> SparseImageMemoryBind

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for SparseImageMemoryBind

source§

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

Formats the value using the given formatter. Read more
source§

impl Default for SparseImageMemoryBind

source§

fn default() -> SparseImageMemoryBind

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere 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 Twhere 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> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

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

§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

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

§

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.