From f30ee85a15e360b57fa21ef8c903641f4d78d470 Mon Sep 17 00:00:00 2001 From: Adam Sawicki Date: Tue, 11 Jul 2017 15:00:11 +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 acc0692..9ab239a 100644 --- a/src/vk_mem_alloc.h +++ b/src/vk_mem_alloc.h @@ -3146,42 +3146,20 @@ void VmaBlock::FreeSuballocation(VmaSuballocationList::iterator suballocItem) void VmaBlock::Free(const VmaAllocation allocation) { - // If suballocation to free has offset smaller than half of allocation size, search forward. - // Otherwise search backward. const VkDeviceSize allocationOffset = allocation->GetOffset(); - const bool forwardDirection = allocationOffset < (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 == allocationOffset) { - VmaSuballocation& suballoc = *suballocItem; - if(suballoc.offset == allocationOffset) - { - 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 == allocationOffset) - { - FreeSuballocation(suballocItem); - VMA_HEAVY_ASSERT(Validate()); - return; - } - } - VMA_ASSERT(0 && "Not found!"); } + VMA_ASSERT(0 && "Not found!"); } #if VMA_STATS_STRING_ENABLED