class VmaDefragmentationAlgorithm
Defined at line 7200 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h
Performs defragmentation:
- Updates `pBlockVector->m_pMetadata`.
- Updates allocations by calling ChangeBlockAllocation() or ChangeOffset().
- Does not move actual data, only returns requested moves as `moves`.
Protected Members
const VmaAllocator m_hAllocator
VmaBlockVector *const m_pBlockVector
const uint32_t m_CurrentFrameIndex
Public Methods
void AddAllocation (VmaAllocation hAlloc, VkBool32 * pChanged)
void AddAll ()
VkResult Defragment (VmaVector<VmaDefragmentationMove, VmaStlAllocator<VmaDefragmentationMove>> & moves, VkDeviceSize maxBytesToMove, uint32_t maxAllocationsToMove, VmaDefragmentationFlags flags)
VkDeviceSize GetBytesMoved ()
uint32_t GetAllocationsMoved ()
void VmaDefragmentationAlgorithm (VmaAllocator hAllocator, VmaBlockVector * pBlockVector, uint32_t currentFrameIndex)
Defined at line 7204 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h
void ~VmaDefragmentationAlgorithm ()
Defined at line 7213 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h