From 606c18210dd4f651655b2c84e9e332e6c6c6e21b Mon Sep 17 00:00:00 2001 From: Scott Mansell Date: Mon, 25 Jul 2022 17:20:33 +1200 Subject: TextureCache: Refactor with smart pointers The whole ownership model was getting a bit of a mess, with a some of special cases to deal with. And I'm planning to make it even more complex in the future. So here is some upfront work to convert it over to reference counted pointers. --- Source/Core/VideoCommon/VideoBackendBase.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'Source/Core/VideoCommon/VideoBackendBase.cpp') diff --git a/Source/Core/VideoCommon/VideoBackendBase.cpp b/Source/Core/VideoCommon/VideoBackendBase.cpp index 8baa6f0be7..8ba3e14d58 100644 --- a/Source/Core/VideoCommon/VideoBackendBase.cpp +++ b/Source/Core/VideoCommon/VideoBackendBase.cpp @@ -44,6 +44,7 @@ #include "VideoCommon/CPMemory.h" #include "VideoCommon/CommandProcessor.h" #include "VideoCommon/Fifo.h" +#include "VideoCommon/FramebufferManager.h" #include "VideoCommon/GeometryShaderManager.h" #include "VideoCommon/IndexGenerator.h" #include "VideoCommon/OpcodeDecoding.h" @@ -339,6 +340,20 @@ void VideoBackendBase::InitializeShared() void VideoBackendBase::ShutdownShared() { + if (g_shader_cache) + g_shader_cache->Shutdown(); + if (g_renderer) + g_renderer->Shutdown(); + if (g_texture_cache) + g_texture_cache->Shutdown(); + + g_perf_query.reset(); + g_texture_cache.reset(); + g_framebuffer_manager.reset(); + g_shader_cache.reset(); + g_vertex_manager.reset(); + g_renderer.reset(); + m_initialized = false; auto& system = Core::System::GetInstance(); -- cgit v1.2.3