struct VmaBlockVector
Defined at line 7010 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h
Sequence of VmaDeviceMemoryBlock. Represents memory blocks allocated for a specific
Vulkan memory type.
Synchronized internally with a mutex.
Public Methods
VmaAllocator GetAllocator ()
Defined at line 7029 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h
VmaPool GetParentPool ()
Defined at line 7030 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h
bool IsCustomPool ()
Defined at line 7031 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h
uint32_t GetMemoryTypeIndex ()
Defined at line 7032 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h
VkDeviceSize GetPreferredBlockSize ()
Defined at line 7033 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h
VkDeviceSize GetBufferImageGranularity ()
Defined at line 7034 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h
uint32_t GetFrameInUseCount ()
Defined at line 7035 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h
uint32_t GetAlgorithm ()
Defined at line 7036 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h
size_t GetBlockCount ()
/////////////////////////////////////////////////////////////////////////////
To be used only while the m_Mutex is locked. Used during defragmentation.
Defined at line 7089 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h
VmaDeviceMemoryBlock * GetBlock (size_t index)
Defined at line 7090 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h
void VmaBlockVector (VmaAllocator hAllocator, VmaPool hParentPool, uint32_t memoryTypeIndex, VkDeviceSize preferredBlockSize, size_t minBlockCount, size_t maxBlockCount, VkDeviceSize bufferImageGranularity, uint32_t frameInUseCount, bool explicitBlockSize, uint32_t algorithm)
Defined at line 12586 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h
void ~VmaBlockVector ()
Defined at line 12613 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h
VkResult CreateMinBlocks ()
Defined at line 12622 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h
void GetPoolStats (VmaPoolStats * pStats)
Defined at line 12635 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h
bool IsEmpty ()
Defined at line 12657 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h
bool IsCorruptionDetectionEnabled ()
Defined at line 12663 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h
VkResult Allocate (uint32_t currentFrameIndex, VkDeviceSize size, VkDeviceSize alignment, const VmaAllocationCreateInfo & createInfo, VmaSuballocationType suballocType, size_t allocationCount, VmaAllocation * pAllocations)
Defined at line 12674 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h
void Free (const VmaAllocation hAllocation)
Defined at line 13101 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h
void AddStats (VmaStats * pStats)
Adds statistics of this BlockVector to pStats.
Defined at line 13904 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h
void PrintDetailedMap (class VmaJsonWriter & json)
Defined at line 13572 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h
void MakePoolAllocationsLost (uint32_t currentFrameIndex, size_t * pLostAllocationCount)
Defined at line 13865 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h
VkResult CheckCorruption ()
Defined at line 13883 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h
void Defragment (class VmaBlockVectorDefragmentationContext * pCtx, VmaDefragmentationStats * pStats, VmaDefragmentationFlags flags, VkDeviceSize & maxCpuBytesToMove, uint32_t & maxCpuAllocationsToMove, VkDeviceSize & maxGpuBytesToMove, uint32_t & maxGpuAllocationsToMove, VkCommandBuffer commandBuffer)
Saves results in pCtx->res.
Defined at line 13644 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h
void DefragmentationEnd (class VmaBlockVectorDefragmentationContext * pCtx, uint32_t flags, VmaDefragmentationStats * pStats)
Defined at line 13752 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h
uint32_t ProcessDefragmentations (class VmaBlockVectorDefragmentationContext * pCtx, VmaDefragmentationPassMoveInfo * pMove, uint32_t maxMoves)
Defined at line 13793 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h
void CommitDefragmentations (class VmaBlockVectorDefragmentationContext * pCtx, VmaDefragmentationStats * pStats)
Defined at line 13817 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h
size_t CalcAllocationCount ()
Defined at line 13835 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h
bool IsBufferImageGranularityConflictPossible ()
Defined at line 13845 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h
Friends
class VmaDefragmentationAlgorithm_Generic