diff options
| author | Scott Mansell <phiren@gmail.com> | 2022-07-25 17:20:33 +1200 |
|---|---|---|
| committer | Scott Mansell <phiren@gmail.com> | 2023-01-31 18:29:47 +1300 |
| commit | 606c18210dd4f651655b2c84e9e332e6c6c6e21b (patch) | |
| tree | 81aab84d1b49f2e051ccd753b03bb2b7cd0dda57 /Source/Core/VideoCommon/VideoBackendBase.cpp | |
| parent | c1fd4a2013d90c65f1f12d83ffbb9720ef463376 (diff) | |
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.
Diffstat (limited to 'Source/Core/VideoCommon/VideoBackendBase.cpp')
| -rw-r--r-- | Source/Core/VideoCommon/VideoBackendBase.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
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(); |
