Vulkan Memory Allocator
|
Parameters for defragmentation. More...
#include <vk_mem_alloc.h>
Public Attributes | |
VmaDefragmentationFlags | flags |
Flags for defragmentation. Use VmaDefragmentationFlagBits enum. More... | |
size_t | allocationCount |
Number of allocations in pAllocations array. More... | |
VmaAllocation * | pAllocations |
Pointer to array of allocations that can be defragmented. More... | |
VkBool32 * | pAllocationsChanged |
Optional, output. Pointer to array that will be filled with information whether the allocation at certain index has been changed (moved or lost) during defragmentation. More... | |
VkDeviceSize | maxCpuBytesToMove |
Maximum total numbers of bytes that can be copied while moving allocations to different places using transfers on CPU side, like memcpy() , memmove() . More... | |
uint32_t | maxCpuAllocationsToMove |
Maximum number of allocations that can be moved to a different place using transfers on CPU side, like memcpy() , memmove() . More... | |
VkDeviceSize | maxGpuBytesToMove |
Maximum total numbers of bytes that can be copied while moving allocations to different places using transfers on GPU side, posted to commandBuffer . More... | |
uint32_t | maxGpuAllocationsToMove |
Maximum number of allocations that can be moved to a different place using transfers on GPU side, posted to commandBuffer . More... | |
Parameters for defragmentation.
To be used with function vmaDefragmentationBegin().
size_t VmaDefragmentationInfo2::allocationCount |
Number of allocations in pAllocations
array.
VmaDefragmentationFlags VmaDefragmentationInfo2::flags |
Flags for defragmentation. Use VmaDefragmentationFlagBits enum.
uint32_t VmaDefragmentationInfo2::maxCpuAllocationsToMove |
Maximum number of allocations that can be moved to a different place using transfers on CPU side, like memcpy()
, memmove()
.
UINT32_MAX
means no limit.
VkDeviceSize VmaDefragmentationInfo2::maxCpuBytesToMove |
Maximum total numbers of bytes that can be copied while moving allocations to different places using transfers on CPU side, like memcpy()
, memmove()
.
VK_WHOLE_SIZE
means no limit.
uint32_t VmaDefragmentationInfo2::maxGpuAllocationsToMove |
Maximum number of allocations that can be moved to a different place using transfers on GPU side, posted to commandBuffer
.
UINT32_MAX
means no limit.
VkDeviceSize VmaDefragmentationInfo2::maxGpuBytesToMove |
Maximum total numbers of bytes that can be copied while moving allocations to different places using transfers on GPU side, posted to commandBuffer
.
VK_WHOLE_SIZE
means no limit.
VmaAllocation* VmaDefragmentationInfo2::pAllocations |
Pointer to array of allocations that can be defragmented.
The array should have allocationCount
elements. All other allocations are considered non-moveable during this defragmentation.
VkBool32* VmaDefragmentationInfo2::pAllocationsChanged |
Optional, output. Pointer to array that will be filled with information whether the allocation at certain index has been changed (moved or lost) during defragmentation.
The array should have allocationCount
elements. You can pass null if you are not interested in this information.