class VmaBlockMetadata
Defined at line 6372 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h
Data structure used for bookkeeping of allocations and unused ranges of memory
in a single VkDeviceMemory block.
Public Methods
void VmaBlockMetadata (VmaAllocator hAllocator)
/////////////////////////////////////////////////////////////////////////////
class VmaBlockMetadata
Defined at line 8914 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h
bool Validate ()
Validates all data structures inside this object. If not valid, returns false.
size_t GetAllocationCount ()
VkDeviceSize GetSumFreeSize ()
VkDeviceSize GetUnusedRangeSizeMax ()
bool IsEmpty ()
Returns true if this block is empty - contains only single free suballocation.
void CalcAllocationStatInfo (VmaStatInfo & outInfo)
void AddPoolStats (VmaPoolStats & inoutStats)
Shouldn't modify blockCount.
void PrintDetailedMap (class VmaJsonWriter & json)
bool CreateAllocationRequest (uint32_t currentFrameIndex, uint32_t frameInUseCount, VkDeviceSize bufferImageGranularity, VkDeviceSize allocSize, VkDeviceSize allocAlignment, bool upperAddress, VmaSuballocationType allocType, bool canMakeOtherLost, uint32_t strategy, VmaAllocationRequest * pAllocationRequest)
Tries to find a place for suballocation with given parameters inside this block.
If succeeded, fills pAllocationRequest and returns true.
If failed, returns false.
void ~VmaBlockMetadata ()
Defined at line 6376 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h
void Init (VkDeviceSize size)
Defined at line 6377 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h
VkDeviceSize GetSize ()
Defined at line 6381 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h
bool MakeRequestedAllocationsLost (uint32_t currentFrameIndex, uint32_t frameInUseCount, VmaAllocationRequest * pAllocationRequest)
uint32_t MakeAllocationsLost (uint32_t currentFrameIndex, uint32_t frameInUseCount)
VkResult CheckCorruption (const void * pBlockData)
void Alloc (const VmaAllocationRequest & request, VmaSuballocationType type, VkDeviceSize allocSize, VmaAllocation hAllocation)
Makes actual allocation based on request. Request must already be checked and valid.
void Free (const VmaAllocation allocation)
Frees suballocation assigned to given memory region.
void FreeAtOffset (VkDeviceSize offset)
Protected Methods
const VkAllocationCallbacks * GetAllocationCallbacks ()
Defined at line 6433 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h
void PrintDetailedMap_Begin (class VmaJsonWriter & json, VkDeviceSize unusedBytes, size_t allocationCount, size_t unusedRangeCount)
Defined at line 8922 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h
void PrintDetailedMap_Allocation (class VmaJsonWriter & json, VkDeviceSize offset, VmaAllocation hAllocation)
Defined at line 8945 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h
void PrintDetailedMap_UnusedRange (class VmaJsonWriter & json, VkDeviceSize offset, VkDeviceSize size)
Defined at line 8959 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h
void PrintDetailedMap_End (class VmaJsonWriter & json)
Defined at line 8977 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h