diff --git a/base/vulkantools.cpp b/base/vulkantools.cpp index 492cf7d0..fa6ad752 100644 --- a/base/vulkantools.cpp +++ b/base/vulkantools.cpp @@ -411,6 +411,10 @@ namespace vkTools void destroyUniformData(VkDevice device, vkTools::UniformData *uniformData) { + if (uniformData->mapped != nullptr) + { + vkUnmapMemory(device, uniformData->memory); + } vkDestroyBuffer(device, uniformData->buffer, nullptr); vkFreeMemory(device, uniformData->memory, nullptr); } diff --git a/base/vulkantools.h b/base/vulkantools.h index 6c7f8c75..3dbbfce7 100644 --- a/base/vulkantools.h +++ b/base/vulkantools.h @@ -100,6 +100,7 @@ namespace vkTools VkDeviceMemory memory; VkDescriptorBufferInfo descriptor; uint32_t allocSize; + void* mapped = nullptr; }; // Destroy (and free) Vulkan resources used by a uniform data structure