Minor refactoring.
diff --git a/src/vk_mem_alloc.h b/src/vk_mem_alloc.h
index acf49e8..aed94c5 100644
--- a/src/vk_mem_alloc.h
+++ b/src/vk_mem_alloc.h
@@ -4926,8 +4926,8 @@
const VmaPoolCreateInfo& createInfo);
~VmaPool_T();
- VmaBlockVector& GetBlockVector() { return m_BlockVector; }
uint32_t GetId() const { return m_Id; }
+ uint32_t GetFlags() const { return m_Flags; }
void SetId(uint32_t id) { VMA_ASSERT(m_Id == 0); m_Id = id; }
#if VMA_STATS_STRING_ENABLED
@@ -4936,6 +4936,7 @@
private:
uint32_t m_Id;
+ uint32_t m_Flags;
};
class VmaDefragmentator
@@ -9204,7 +9205,8 @@
createInfo.frameInUseCount,
true, // isCustomPool
(createInfo.flags & VMA_POOL_CREATE_LINEAR_ALGORITHM_BIT) != 0), // linearAlgorithm
- m_Id(0)
+ m_Id(0),
+ m_Flags(createInfo.flags)
{
}
@@ -11415,7 +11417,7 @@
VmaMutexLock lock(m_PoolsMutex, m_UseMutex);
for(size_t poolIndex = 0, poolCount = m_Pools.size(); poolIndex < poolCount; ++poolIndex)
{
- m_Pools[poolIndex]->GetBlockVector().AddStats(pStats);
+ m_Pools[poolIndex]->m_BlockVector.AddStats(pStats);
}
}
@@ -11491,7 +11493,7 @@
// Pools with linear algorithm are not defragmented.
if(!hAllocPool->m_BlockVector.UsesLinearAlgorithm())
{
- pAllocBlockVector = &hAllocPool->GetBlockVector();
+ pAllocBlockVector = &hAllocPool->m_BlockVector;
}
}
// This allocation belongs to general pool.
@@ -11541,7 +11543,7 @@
// Process custom pools.
for(size_t poolIndex = 0; (poolIndex < poolCount) && (result == VK_SUCCESS); ++poolIndex)
{
- result = m_Pools[poolIndex]->GetBlockVector().Defragment(
+ result = m_Pools[poolIndex]->m_BlockVector.Defragment(
pDefragmentationStats,
maxBytesToMove,
maxAllocationsToMove);
@@ -11552,7 +11554,7 @@
// Process custom pools.
for(size_t poolIndex = poolCount; poolIndex--; )
{
- m_Pools[poolIndex]->GetBlockVector().DestroyDefragmentator();
+ m_Pools[poolIndex]->m_BlockVector.DestroyDefragmentator();
}
// Process standard memory.
@@ -11799,9 +11801,9 @@
VmaMutexLock lock(m_PoolsMutex, m_UseMutex);
for(size_t poolIndex = 0, poolCount = m_Pools.size(); poolIndex < poolCount; ++poolIndex)
{
- if(((1u << m_Pools[poolIndex]->GetBlockVector().GetMemoryTypeIndex()) & memoryTypeBits) != 0)
+ if(((1u << m_Pools[poolIndex]->m_BlockVector.GetMemoryTypeIndex()) & memoryTypeBits) != 0)
{
- VkResult localRes = m_Pools[poolIndex]->GetBlockVector().CheckCorruption();
+ VkResult localRes = m_Pools[poolIndex]->m_BlockVector.CheckCorruption();
switch(localRes)
{
case VK_ERROR_FEATURE_NOT_PRESENT: