Improved handling of destruction calls with null handle, in vk_mem_alloc as well as VmaReplay.

This commit is contained in:
Adam Sawicki 2018-08-13 12:22:37 +02:00
parent 5b48b5efcf
commit db1f73fee4
2 changed files with 41 additions and 22 deletions

View file

@ -9929,6 +9929,11 @@ void vmaFreeMemory(
{
VMA_ASSERT(allocator);
if(allocation == VK_NULL_HANDLE)
{
return;
}
{
VmaMutexLock lock(g_FileMutex, true);
EnsureFile();
@ -9943,10 +9948,7 @@ void vmaFreeMemory(
VMA_DEBUG_LOG("vmaFreeMemory");
VMA_DEBUG_GLOBAL_MUTEX_LOCK
if(allocation != VK_NULL_HANDLE)
{
allocator->FreeMemory(allocation);
}
allocator->FreeMemory(allocation);
}
void vmaGetAllocationInfo(
@ -10232,6 +10234,11 @@ void vmaDestroyBuffer(
{
VMA_ASSERT(allocator);
if(buffer == VK_NULL_HANDLE && allocation == VK_NULL_HANDLE)
{
return;
}
{
VmaMutexLock lock(g_FileMutex, true);
EnsureFile();
@ -10356,6 +10363,12 @@ void vmaDestroyImage(
{
VMA_ASSERT(allocator);
if(image == VK_NULL_HANDLE && allocation == VK_NULL_HANDLE)
{
return;
}
{
VmaMutexLock lock(g_FileMutex, true);
EnsureFile();