diff --git a/src/vk.cpp b/src/vk.cpp index e6c3876..be557c9 100644 --- a/src/vk.cpp +++ b/src/vk.cpp @@ -809,6 +809,8 @@ void Vulkan::createBuffer(VkDeviceSize size, VkBufferUsageFlags usage, VkMemoryP // Уничтожение буфера и освобождение его памяти void Vulkan::destroyBuffer(VkBuffer buffer) { + vkDeviceWaitIdle(logicalDevice); // Ожидание окончания асинхронных задач + vkDestroyBuffer(databuffers[buffer].first /*logicalDevice*/, buffer, nullptr); // Уничтожение буфера vkFreeMemory(databuffers[buffer].first /*logicalDevice*/, databuffers[buffer].second /*VkDeviceMemory*/, nullptr); // Освобождение памяти буфера databuffers.erase(buffer); // Удалим ключ из словаря