class VmaBlockMetadata_Linear

Defined at line 6637 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h

Allocations and their references in internal data structure look like this:

if(m_2ndVectorMode == SECOND_VECTOR_EMPTY):

0 +-------+

| |

| |

| |

+-------+

| Alloc | 1st[m_1stNullItemsBeginCount]

+-------+

| Alloc | 1st[m_1stNullItemsBeginCount + 1]

+-------+

| ... |

+-------+

| Alloc | 1st[1st.size() - 1]

+-------+

| |

| |

| |

GetSize() +-------+

if(m_2ndVectorMode == SECOND_VECTOR_RING_BUFFER):

0 +-------+

| Alloc | 2nd[0]

+-------+

| Alloc | 2nd[1]

+-------+

| ... |

+-------+

| Alloc | 2nd[2nd.size() - 1]

+-------+

| |

| |

| |

+-------+

| Alloc | 1st[m_1stNullItemsBeginCount]

+-------+

| Alloc | 1st[m_1stNullItemsBeginCount + 1]

+-------+

| ... |

+-------+

| Alloc | 1st[1st.size() - 1]

+-------+

| |

GetSize() +-------+

if(m_2ndVectorMode == SECOND_VECTOR_DOUBLE_STACK):

0 +-------+

| |

| |

| |

+-------+

| Alloc | 1st[m_1stNullItemsBeginCount]

+-------+

| Alloc | 1st[m_1stNullItemsBeginCount + 1]

+-------+

| ... |

+-------+

| Alloc | 1st[1st.size() - 1]

+-------+

| |

| |

| |

+-------+

| Alloc | 2nd[2nd.size() - 1]

+-------+

| ... |

+-------+

| Alloc | 2nd[1]

+-------+

| Alloc | 2nd[0]

GetSize() +-------+

Public Methods

VkDeviceSize GetSumFreeSize ()

Defined at line 6647 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h

bool IsEmpty ()

Defined at line 6649 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h

void VmaBlockMetadata_Linear (VmaAllocator hAllocator)

/////////////////////////////////////////////////////////////////////////////

class VmaBlockMetadata_Linear

Defined at line 9977 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h

void ~VmaBlockMetadata_Linear ()

Defined at line 9990 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h

void Init (VkDeviceSize size)

Defined at line 9994 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h

bool Validate ()

Defined at line 10000 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h

size_t GetAllocationCount ()

Defined at line 10127 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h

VkDeviceSize GetUnusedRangeSizeMax ()

Defined at line 10133 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h

void CalcAllocationStatInfo (VmaStatInfo & outInfo)

Defined at line 10197 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h

void AddPoolStats (VmaPoolStats & inoutStats)

Defined at line 10390 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h

void PrintDetailedMap (class VmaJsonWriter & json)

Defined at line 10563 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h

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)

Defined at line 10879 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h

bool MakeRequestedAllocationsLost (uint32_t currentFrameIndex, uint32_t frameInUseCount, VmaAllocationRequest * pAllocationRequest)

Defined at line 11295 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h

uint32_t MakeAllocationsLost (uint32_t currentFrameIndex, uint32_t frameInUseCount)

Defined at line 11359 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h

VkResult CheckCorruption (const void * pBlockData)

Defined at line 11403 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h

void Alloc (const VmaAllocationRequest & request, VmaSuballocationType type, VkDeviceSize allocSize, VmaAllocation hAllocation)

Defined at line 11446 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h

void Free (const VmaAllocation allocation)

Defined at line 11513 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h

void FreeAtOffset (VkDeviceSize offset)

Defined at line 11518 of file ../../src/ui/lib/escher/third_party/VulkanMemoryAllocator/vk_mem_alloc.h