diff --git a/Common/Vulkan/VulkanMemory.cpp b/Common/Vulkan/VulkanMemory.cpp index df6770a5fc..3e72505f51 100644 --- a/Common/Vulkan/VulkanMemory.cpp +++ b/Common/Vulkan/VulkanMemory.cpp @@ -171,9 +171,13 @@ void VulkanDeviceAllocator::Destroy() { // Did anyone forget to free? for (auto pair : slab.allocSizes) { int slabUsage = slab.usage[pair.first]; - // If it's not 2 (queued), there's a problem. + // If it's not 2 (queued), there's a leak. // If it's zero, it means allocSizes is somehow out of sync. - _assert_msg_(G3D, slabUsage == 2, "Destroy: slabUsage has unexpected value %d", slabUsage); + if (slabUsage == 1) { + ERROR_LOG(G3D, "VulkanDeviceAllocator detected memory leak of size %d", (int)pair.second); + } else { + _dbg_assert_msg_(G3D, slabUsage == 2, "Destroy: slabUsage has unexpected value %d", slabUsage); + } } assert(slab.deviceMemory);