Vulkan Memory Allocator
|
Parameters of new VmaAllocation. More...
Public Attributes | |
VmaAllocationCreateFlags | flags |
Use VmaAllocationCreateFlagBits enum. | |
VmaMemoryUsage | usage |
Intended usage of memory. | |
VkMemoryPropertyFlags | requiredFlags |
Flags that must be set in a Memory Type chosen for an allocation. | |
VkMemoryPropertyFlags | preferredFlags |
Flags that preferably should be set in a memory type chosen for an allocation. | |
uint32_t | memoryTypeBits |
Bitmask containing one bit set for every memory type acceptable for this allocation. | |
VmaPool | pool |
Pool that this allocation should be created in. | |
void * | pUserData |
Custom general-purpose pointer that will be stored in VmaAllocation, can be read as VmaAllocationInfo::pUserData and changed using vmaSetAllocationUserData(). | |
float | priority |
A floating-point value between 0 and 1, indicating the priority of the allocation relative to other memory allocations. | |
Parameters of new VmaAllocation.
To be used with functions like vmaCreateBuffer(), vmaCreateImage(), and many others.
VmaAllocationCreateFlags VmaAllocationCreateInfo::flags |
Use VmaAllocationCreateFlagBits enum.
uint32_t VmaAllocationCreateInfo::memoryTypeBits |
Bitmask containing one bit set for every memory type acceptable for this allocation.
Value 0 is equivalent to UINT32_MAX
- it means any memory type is accepted if it meets other requirements specified by this structure, with no further restrictions on memory type index.
If pool
is not null, this member is ignored.
VmaPool VmaAllocationCreateInfo::pool |
Pool that this allocation should be created in.
Leave VK_NULL_HANDLE
to allocate from default pool. If not null, members: usage
, requiredFlags
, preferredFlags
, memoryTypeBits
are ignored.
VkMemoryPropertyFlags VmaAllocationCreateInfo::preferredFlags |
Flags that preferably should be set in a memory type chosen for an allocation.
Set to 0 if no additional flags are preferred.
If pool
is not null, this member is ignored.
float VmaAllocationCreateInfo::priority |
A floating-point value between 0 and 1, indicating the priority of the allocation relative to other memory allocations.
It is used only when VMA_ALLOCATOR_CREATE_EXT_MEMORY_PRIORITY_BIT flag was used during creation of the VmaAllocator object and this allocation ends up as dedicated or is explicitly forced as dedicated using VMA_ALLOCATION_CREATE_DEDICATED_MEMORY_BIT. Otherwise, it has the priority of a memory block where it is placed and this variable is ignored.
void* VmaAllocationCreateInfo::pUserData |
Custom general-purpose pointer that will be stored in VmaAllocation, can be read as VmaAllocationInfo::pUserData and changed using vmaSetAllocationUserData().
If VMA_ALLOCATION_CREATE_USER_DATA_COPY_STRING_BIT is used, it must be either null or pointer to a null-terminated string. The string will be then copied to internal buffer, so it doesn't need to be valid after allocation call.
VkMemoryPropertyFlags VmaAllocationCreateInfo::requiredFlags |
Flags that must be set in a Memory Type chosen for an allocation.
Leave 0 if you specify memory requirements in other way.
If pool
is not null, this member is ignored.
VmaMemoryUsage VmaAllocationCreateInfo::usage |
Intended usage of memory.
You can leave VMA_MEMORY_USAGE_UNKNOWN if you specify memory requirements in other way.
If pool
is not null, this member is ignored.