summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/Vulkan/CommandBufferManager.cpp
diff options
context:
space:
mode:
authorRobin Kertels <robin.kertels@gmail.com>2022-10-07 23:37:16 +0200
committerRobin Kertels <robin.kertels@gmail.com>2022-10-23 03:21:14 +0200
commit0532f4a05a1daaf3225eeff4d8f2ba90bd56ad77 (patch)
treea5dd1499e3b79c2944a821e7a18c362d8fa55d01 /Source/Core/VideoBackends/Vulkan/CommandBufferManager.cpp
parent3ffbf94b2a7460e250ae81e3eb6a40dcc1024e36 (diff)
VideoBackends:Vulkan: Use VMA for staging buffers
Diffstat (limited to 'Source/Core/VideoBackends/Vulkan/CommandBufferManager.cpp')
-rw-r--r--Source/Core/VideoBackends/Vulkan/CommandBufferManager.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/Source/Core/VideoBackends/Vulkan/CommandBufferManager.cpp b/Source/Core/VideoBackends/Vulkan/CommandBufferManager.cpp
index d8ef681b56..010cd11bbb 100644
--- a/Source/Core/VideoBackends/Vulkan/CommandBufferManager.cpp
+++ b/Source/Core/VideoBackends/Vulkan/CommandBufferManager.cpp
@@ -546,6 +546,14 @@ void CommandBufferManager::DeferDeviceMemoryDestruction(VkDeviceMemory object)
[object]() { vkFreeMemory(g_vulkan_context->GetDevice(), object, nullptr); });
}
+void CommandBufferManager::DeferBufferDestruction(VkBuffer buffer, VmaAllocation alloc)
+{
+ CmdBufferResources& cmd_buffer_resources = GetCurrentCmdBufferResources();
+ cmd_buffer_resources.cleanup_resources.push_back([buffer, alloc]() {
+ vmaDestroyBuffer(g_vulkan_context->GetMemoryAllocator(), buffer, alloc);
+ });
+}
+
void CommandBufferManager::DeferFramebufferDestruction(VkFramebuffer object)
{
CmdBufferResources& cmd_buffer_resources = GetCurrentCmdBufferResources();