Vulkan: Partially(?) implement CopySurface cleanup

This commit is contained in:
goeiecool9999 2024-11-04 19:49:37 +01:00
parent 2793f88a82
commit 4581281a19

View file

@ -76,6 +76,12 @@ struct CopySurfacePipelineInfo
CopySurfacePipelineInfo() = default; CopySurfacePipelineInfo() = default;
CopySurfacePipelineInfo(VkDevice device) : m_device(device) {} CopySurfacePipelineInfo(VkDevice device) : m_device(device) {}
CopySurfacePipelineInfo(const CopySurfacePipelineInfo& info) = delete; CopySurfacePipelineInfo(const CopySurfacePipelineInfo& info) = delete;
~CopySurfacePipelineInfo()
{
auto renderer = VulkanRenderer::GetInstance();
renderer->ReleaseDestructibleObject(vkObjRenderPass);
renderer->ReleaseDestructibleObject(vkObjPipeline);
}
VkDevice m_device = nullptr; VkDevice m_device = nullptr;
@ -842,5 +848,10 @@ void VulkanRenderer::surfaceCopy_notifyTextureRelease(LatteTextureVk* hostTextur
void VulkanRenderer::surfaceCopy_cleanup() void VulkanRenderer::surfaceCopy_cleanup()
{ {
// todo - release m_copySurfacePipelineCache etc for(auto& i : m_copySurfacePipelineCache)
{
delete i.second;
}
m_copySurfacePipelineCache = {};
// todo - cleanup other resources?
} }