From 0845f1c2e519283a9aafd8c09c41882302965af0 Mon Sep 17 00:00:00 2001 From: Adam Sawicki Date: Tue, 11 Jul 2017 15:25:19 +0200 Subject: [PATCH] Small fix in VmaBlock::Free (thanks @dylanede for pointing this!) --- src/vk_mem_alloc.h | 40 +++++++++------------------------------- 1 file changed, 9 insertions(+), 31 deletions(-) diff --git a/src/vk_mem_alloc.h b/src/vk_mem_alloc.h index aa922b6..fa2d57c 100644 --- a/src/vk_mem_alloc.h +++ b/src/vk_mem_alloc.h @@ -2653,41 +2653,19 @@ void VmaAllocation::FreeSuballocation(VmaSuballocationList::iterator suballocIte void VmaAllocation::Free(const VkMappedMemoryRange* pMemory) { - // If suballocation to free has offset smaller than half of allocation size, search forward. - // Otherwise search backward. - const bool forwardDirection = pMemory->offset < (m_Size / 2); - if(forwardDirection) + for(VmaSuballocationList::iterator suballocItem = m_Suballocations.begin(); + suballocItem != m_Suballocations.end(); + ++suballocItem) { - for(VmaSuballocationList::iterator suballocItem = m_Suballocations.begin(); - suballocItem != m_Suballocations.end(); - ++suballocItem) + VmaSuballocation& suballoc = *suballocItem; + if(suballoc.offset == pMemory->offset) { - VmaSuballocation& suballoc = *suballocItem; - if(suballoc.offset == pMemory->offset) - { - FreeSuballocation(suballocItem); - VMA_HEAVY_ASSERT(Validate()); - return; - } + FreeSuballocation(suballocItem); + VMA_HEAVY_ASSERT(Validate()); + return; } - VMA_ASSERT(0 && "Not found!"); - } - else - { - for(VmaSuballocationList::iterator suballocItem = m_Suballocations.begin(); - suballocItem != m_Suballocations.end(); - ++suballocItem) - { - VmaSuballocation& suballoc = *suballocItem; - if(suballoc.offset == pMemory->offset) - { - FreeSuballocation(suballocItem); - VMA_HEAVY_ASSERT(Validate()); - return; - } - } - VMA_ASSERT(0 && "Not found!"); } + VMA_ASSERT(0 && "Not found!"); } #if VMA_STATS_STRING_ENABLED