From 0532f4a05a1daaf3225eeff4d8f2ba90bd56ad77 Mon Sep 17 00:00:00 2001 From: Robin Kertels Date: Fri, 7 Oct 2022 23:37:16 +0200 Subject: VideoBackends:Vulkan: Use VMA for staging buffers --- Source/Core/VideoBackends/Vulkan/CommandBufferManager.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'Source/Core/VideoBackends/Vulkan/CommandBufferManager.cpp') 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(); -- cgit v1.2.3 From 1ba58e83cafaeefee8cb968ad6789ac7d3fc3060 Mon Sep 17 00:00:00 2001 From: Robin Kertels Date: Fri, 7 Oct 2022 23:48:11 +0200 Subject: VideoBackends:Vulkan: Use VMA for stream buffer --- Source/Core/VideoBackends/Vulkan/CommandBufferManager.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'Source/Core/VideoBackends/Vulkan/CommandBufferManager.cpp') diff --git a/Source/Core/VideoBackends/Vulkan/CommandBufferManager.cpp b/Source/Core/VideoBackends/Vulkan/CommandBufferManager.cpp index 010cd11bbb..42d03935b2 100644 --- a/Source/Core/VideoBackends/Vulkan/CommandBufferManager.cpp +++ b/Source/Core/VideoBackends/Vulkan/CommandBufferManager.cpp @@ -568,6 +568,13 @@ void CommandBufferManager::DeferImageDestruction(VkImage object) [object]() { vkDestroyImage(g_vulkan_context->GetDevice(), object, nullptr); }); } +void CommandBufferManager::DeferImageDestruction(VkImage image, VmaAllocation alloc) +{ + CmdBufferResources& cmd_buffer_resources = GetCurrentCmdBufferResources(); + cmd_buffer_resources.cleanup_resources.push_back( + [image, alloc]() { vmaDestroyImage(g_vulkan_context->GetMemoryAllocator(), image, alloc); }); +} + void CommandBufferManager::DeferImageViewDestruction(VkImageView object) { CmdBufferResources& cmd_buffer_resources = GetCurrentCmdBufferResources(); -- cgit v1.2.3 From aa1679f2c7428720d6ded0c69668311b552c60d4 Mon Sep 17 00:00:00 2001 From: Robin Kertels Date: Sat, 8 Oct 2022 00:01:42 +0200 Subject: VideoBackends:Vulkan: Clean up unused memory allocation code --- .../VideoBackends/Vulkan/CommandBufferManager.cpp | 21 --------------------- 1 file changed, 21 deletions(-) (limited to 'Source/Core/VideoBackends/Vulkan/CommandBufferManager.cpp') diff --git a/Source/Core/VideoBackends/Vulkan/CommandBufferManager.cpp b/Source/Core/VideoBackends/Vulkan/CommandBufferManager.cpp index 42d03935b2..46712693a5 100644 --- a/Source/Core/VideoBackends/Vulkan/CommandBufferManager.cpp +++ b/Source/Core/VideoBackends/Vulkan/CommandBufferManager.cpp @@ -525,13 +525,6 @@ void CommandBufferManager::BeginCommandBuffer() m_current_cmd_buffer = next_buffer_index; } -void CommandBufferManager::DeferBufferDestruction(VkBuffer object) -{ - CmdBufferResources& cmd_buffer_resources = GetCurrentCmdBufferResources(); - cmd_buffer_resources.cleanup_resources.push_back( - [object]() { vkDestroyBuffer(g_vulkan_context->GetDevice(), object, nullptr); }); -} - void CommandBufferManager::DeferBufferViewDestruction(VkBufferView object) { CmdBufferResources& cmd_buffer_resources = GetCurrentCmdBufferResources(); @@ -539,13 +532,6 @@ void CommandBufferManager::DeferBufferViewDestruction(VkBufferView object) [object]() { vkDestroyBufferView(g_vulkan_context->GetDevice(), object, nullptr); }); } -void CommandBufferManager::DeferDeviceMemoryDestruction(VkDeviceMemory object) -{ - CmdBufferResources& cmd_buffer_resources = GetCurrentCmdBufferResources(); - cmd_buffer_resources.cleanup_resources.push_back( - [object]() { vkFreeMemory(g_vulkan_context->GetDevice(), object, nullptr); }); -} - void CommandBufferManager::DeferBufferDestruction(VkBuffer buffer, VmaAllocation alloc) { CmdBufferResources& cmd_buffer_resources = GetCurrentCmdBufferResources(); @@ -561,13 +547,6 @@ void CommandBufferManager::DeferFramebufferDestruction(VkFramebuffer object) [object]() { vkDestroyFramebuffer(g_vulkan_context->GetDevice(), object, nullptr); }); } -void CommandBufferManager::DeferImageDestruction(VkImage object) -{ - CmdBufferResources& cmd_buffer_resources = GetCurrentCmdBufferResources(); - cmd_buffer_resources.cleanup_resources.push_back( - [object]() { vkDestroyImage(g_vulkan_context->GetDevice(), object, nullptr); }); -} - void CommandBufferManager::DeferImageDestruction(VkImage image, VmaAllocation alloc) { CmdBufferResources& cmd_buffer_resources = GetCurrentCmdBufferResources(); -- cgit v1.2.3