Fixed bug in case vkBindImageMemory/vkBindBufferMemory fails.

This commit is contained in:
Adam Sawicki 2017-11-20 16:22:09 +01:00
parent 5bc033f19d
commit 495cb16fa3

View File

@ -8246,6 +8246,8 @@ VkResult vmaCreateBuffer(
} }
allocator->FreeMemory(*pAllocation); allocator->FreeMemory(*pAllocation);
*pAllocation = VK_NULL_HANDLE; *pAllocation = VK_NULL_HANDLE;
(*allocator->GetVulkanFunctions().vkDestroyBuffer)(allocator->m_hDevice, *pBuffer, allocator->GetAllocationCallbacks());
*pBuffer = VK_NULL_HANDLE;
return res; return res;
} }
(*allocator->GetVulkanFunctions().vkDestroyBuffer)(allocator->m_hDevice, *pBuffer, allocator->GetAllocationCallbacks()); (*allocator->GetVulkanFunctions().vkDestroyBuffer)(allocator->m_hDevice, *pBuffer, allocator->GetAllocationCallbacks());
@ -8324,6 +8326,8 @@ VkResult vmaCreateImage(
} }
allocator->FreeMemory(*pAllocation); allocator->FreeMemory(*pAllocation);
*pAllocation = VK_NULL_HANDLE; *pAllocation = VK_NULL_HANDLE;
(*allocator->GetVulkanFunctions().vkDestroyImage)(allocator->m_hDevice, *pImage, allocator->GetAllocationCallbacks());
*pImage = VK_NULL_HANDLE;
return res; return res;
} }
(*allocator->GetVulkanFunctions().vkDestroyImage)(allocator->m_hDevice, *pImage, allocator->GetAllocationCallbacks()); (*allocator->GetVulkanFunctions().vkDestroyImage)(allocator->m_hDevice, *pImage, allocator->GetAllocationCallbacks());