[−][src]Struct vk_mem::AllocatorPoolCreateInfo
Description of an AllocationPool
to be created.
Fields
memory_type_index: u32
Vulkan memory type index to allocate this pool from.
flags: AllocatorPoolCreateFlags
Use combination of AllocatorPoolCreateFlags
block_size: usize
Size of a single ash::vk::DeviceMemory
block to be allocated as part of this
pool, in bytes.
Specify non-zero to set explicit, constant size of memory blocks used by this pool.
Leave 0 to use default and let the library manage block sizes automatically. Sizes of particular blocks may vary.
min_block_count: usize
Minimum number of blocks to be always allocated in this pool, even if they stay empty.
Set to 0 to have no preallocated blocks and allow the pool be completely empty.
max_block_count: usize
Maximum number of blocks that can be allocated in this pool.
Set to 0 to use default, which is no limit.
Set to same value as AllocatorPoolCreateInfo::min_block_count
to have fixed amount
of memory allocated throughout whole lifetime of this pool.
frame_in_use_count: u32
Maximum number of additional frames that are in use at the same time as current frame.
This value is used only when you make allocations with AllocationCreateFlags::CAN_BECOME_LOST
flag.
Such allocations cannot become lost if:
allocation.lastUseFrameIndex >= allocator.currentFrameIndex - frameInUseCount
.
For example, if you double-buffer your command buffers, so resources used for rendering in previous frame may still be in use by the GPU at the moment you allocate resources needed for the current frame, set this value to 1.
If you want to allow any allocations other than used in the current frame to become lost, set this value to 0.
Trait Implementations
impl Clone for AllocatorPoolCreateInfo
[src]
fn clone(&self) -> AllocatorPoolCreateInfo
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Debug for AllocatorPoolCreateInfo
[src]
impl Default for AllocatorPoolCreateInfo
[src]
Construct AllocatorPoolCreateInfo
with default values
Auto Trait Implementations
impl RefUnwindSafe for AllocatorPoolCreateInfo
impl Send for AllocatorPoolCreateInfo
impl Sync for AllocatorPoolCreateInfo
impl Unpin for AllocatorPoolCreateInfo
impl UnwindSafe for AllocatorPoolCreateInfo
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,