pub struct AllocationRequirements {
pub size_in_bytes: u64,
pub alignment: u64,
pub memory_type_bits: u32,
pub memory_type_index: usize,
pub memory_properties: MemoryPropertyFlags,
pub prefers_dedicated_allocation: bool,
pub requires_dedicated_allocation: bool,
pub dedicated_resource_handle: DedicatedResourceHandle,
}
Expand description
All supported memory requirements.
It’s convenient to keep the Memory Requirements 2 and Dedicated Requirements structures together because they’re populated at the same time.
Fields§
§size_in_bytes: u64
§alignment: u64
§memory_type_bits: u32
§memory_type_index: usize
§memory_properties: MemoryPropertyFlags
§prefers_dedicated_allocation: bool
§requires_dedicated_allocation: bool
§dedicated_resource_handle: DedicatedResourceHandle
Implementations§
source§impl AllocationRequirements
impl AllocationRequirements
sourcepub fn for_buffer(
device: &Device,
memory_types: &[MemoryType],
memory_property_flags: MemoryPropertyFlags,
buffer: Buffer
) -> Result<Self, AllocatorError>
pub fn for_buffer( device: &Device, memory_types: &[MemoryType], memory_property_flags: MemoryPropertyFlags, buffer: Buffer ) -> Result<Self, AllocatorError>
Get the memory requirements for a given buffer.
Params
device
- the device used to create and interact with GPU resourcesmemory_types
- the memory types available on the physical devicememory_properties
- the memory properties required by the allocationbuffer
- the buffer which needs a memory allocation
sourcepub fn for_image(
device: &Device,
memory_types: &[MemoryType],
memory_property_flags: MemoryPropertyFlags,
image: Image
) -> Result<Self, AllocatorError>
pub fn for_image( device: &Device, memory_types: &[MemoryType], memory_property_flags: MemoryPropertyFlags, image: Image ) -> Result<Self, AllocatorError>
Get the memory requirements for a given image.
Params
device
- the device used to create and interact with GPU resourcesmemory_types
- the memory types available on the physical devicememory_properties
- the memory properties required by the allocationimage
- the image which needs a memory allocation
sourcepub fn aligned_size(&self) -> u64
pub fn aligned_size(&self) -> u64
Compute the maximum size which must be allocated to ensure an aligned offset for the resulting memory.
Trait Implementations§
source§impl Clone for AllocationRequirements
impl Clone for AllocationRequirements
source§fn clone(&self) -> AllocationRequirements
fn clone(&self) -> AllocationRequirements
Returns a copy of the value. Read more
1.0.0 · 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 AllocationRequirements
impl Debug for AllocationRequirements
source§impl Default for AllocationRequirements
impl Default for AllocationRequirements
source§fn default() -> AllocationRequirements
fn default() -> AllocationRequirements
Returns the “default value” for a type. Read more
source§impl Display for AllocationRequirements
impl Display for AllocationRequirements
source§impl PartialEq<AllocationRequirements> for AllocationRequirements
impl PartialEq<AllocationRequirements> for AllocationRequirements
source§fn eq(&self, other: &AllocationRequirements) -> bool
fn eq(&self, other: &AllocationRequirements) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.