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: