Internal improvement: moved setting of incremental sort in block vector to separate variable.

Code by @medranSolus
diff --git a/include/vk_mem_alloc.h b/include/vk_mem_alloc.h
index 64a4ed8..9348f50 100644
--- a/include/vk_mem_alloc.h
+++ b/include/vk_mem_alloc.h
@@ -10925,7 +10925,7 @@
         size_t allocationCount,
         VmaAllocation* pAllocations);
 
-    void Free(const VmaAllocation hAllocation, bool incrementalSort = true);
+    void Free(const VmaAllocation hAllocation);
 
 #if VMA_STATS_STRING_ENABLED
     void PrintDetailedMap(class VmaJsonWriter& json);
@@ -10951,6 +10951,9 @@
     // Incrementally sorted by sumFreeSize, ascending.
     VmaVector<VmaDeviceMemoryBlock*, VmaStlAllocator<VmaDeviceMemoryBlock*>> m_Blocks;
     uint32_t m_NextBlockId;
+    bool m_IncrementalSort = true;
+
+    void SetIncrementalSort(bool val) { m_IncrementalSort = val; }
 
     VkDeviceSize CalcMaxBlockSize() const;
     // Finds and removes given block from vector.
@@ -12622,9 +12625,7 @@
     return VK_ERROR_OUT_OF_DEVICE_MEMORY;
 }
 
-void VmaBlockVector::Free(
-    const VmaAllocation hAllocation,
-    bool incrementalSort)
+void VmaBlockVector::Free(const VmaAllocation hAllocation)
 {
     VmaDeviceMemoryBlock* pBlockToDelete = VMA_NULL;
 
@@ -12684,8 +12685,7 @@
             }
         }
 
-        if (incrementalSort)
-            IncrementallySortBlocks();
+        IncrementallySortBlocks();
     }
 
     // Destruction of a free block. Deferred until this point, outside of mutex
@@ -12730,6 +12730,8 @@
 
 void VmaBlockVector::IncrementallySortBlocks()
 {
+    if (!m_IncrementalSort)
+        return;
     if (m_Algorithm != VMA_POOL_CREATE_LINEAR_ALGORITHM_BIT)
     {
         // Bubble sort only until first swap.
@@ -13013,6 +13015,7 @@
         m_BlockVectorCount = 1;
         m_PoolBlockVector = &info.pool->m_BlockVector;
         m_pBlockVectors = &m_PoolBlockVector;
+        m_PoolBlockVector->SetIncrementalSort(false);
         m_PoolBlockVector->SortByFreeSize();
     }
     else
@@ -13024,7 +13027,10 @@
         {
             VmaBlockVector* vector = m_pBlockVectors[i];
             if (vector != VMA_NULL)
+            {
+                vector->SetIncrementalSort(false);
                 vector->SortByFreeSize();
+            }
         }
     }
     
@@ -13050,6 +13056,20 @@
 
 VmaDefragmentationContext_T::~VmaDefragmentationContext_T()
 {
+    if (m_PoolBlockVector != VMA_NULL)
+    {
+        m_PoolBlockVector->SetIncrementalSort(true);
+    }
+    else
+    {
+        for (uint32_t i = 0; i < m_BlockVectorCount; ++i)
+        {
+            VmaBlockVector* vector = m_pBlockVectors[i];
+            if (vector != VMA_NULL)
+                vector->SetIncrementalSort(true);
+        }
+    }
+
     if (m_AlgorithmState)
     {
         switch (m_Algorithm)
@@ -13169,7 +13189,7 @@
                 prevCount = vector->GetBlockCount();
                 freedBlockSize = move.dstTmpAllocation->GetBlock()->m_pMetadata->GetSize();
             }
-            vector->Free(move.dstTmpAllocation, false);
+            vector->Free(move.dstTmpAllocation);
             {
                 VmaMutexLockRead lock(vector->GetMutex(), vector->GetAllocator()->m_UseMutex);
                 currentCount = vector->GetBlockCount();
@@ -13182,7 +13202,7 @@
         {
             m_PassStats.bytesMoved -= move.srcAllocation->GetSize();
             --m_PassStats.allocationsMoved;
-            vector->Free(move.dstTmpAllocation, false);
+            vector->Free(move.dstTmpAllocation);
 
             VmaDeviceMemoryBlock* newBlock = move.srcAllocation->GetBlock();
             bool notPresent = true;
@@ -13208,7 +13228,7 @@
                 prevCount = vector->GetBlockCount();
                 freedBlockSize = move.srcAllocation->GetBlock()->m_pMetadata->GetSize();
             }
-            vector->Free(move.srcAllocation, false);
+            vector->Free(move.srcAllocation);
             {
                 VmaMutexLockRead lock(vector->GetMutex(), vector->GetAllocator()->m_UseMutex);
                 currentCount = vector->GetBlockCount();
@@ -13220,7 +13240,7 @@
                 VmaMutexLockRead lock(vector->GetMutex(), vector->GetAllocator()->m_UseMutex);
                 dstBlockSize = move.dstTmpAllocation->GetBlock()->m_pMetadata->GetSize();
             }
-            vector->Free(move.dstTmpAllocation, false);
+            vector->Free(move.dstTmpAllocation);
             {
                 VmaMutexLockRead lock(vector->GetMutex(), vector->GetAllocator()->m_UseMutex);
                 freedBlockSize += dstBlockSize * (currentCount - vector->GetBlockCount());