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

Records