From d0d010f8549cc902829f567b3b5127d9a0556ca5 Mon Sep 17 00:00:00 2001 From: Stenzek Date: Fri, 29 Mar 2019 19:55:00 +1000 Subject: [PATCH] D3D11: Make stateman a unique_ptr --- Source/Core/VideoBackends/D3D/D3DBase.cpp | 5 ++--- Source/Core/VideoBackends/D3D/D3DState.cpp | 2 +- Source/Core/VideoBackends/D3D/D3DState.h | 3 ++- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Source/Core/VideoBackends/D3D/D3DBase.cpp b/Source/Core/VideoBackends/D3D/D3DBase.cpp index 4ab64a4784..0631ded2c0 100644 --- a/Source/Core/VideoBackends/D3D/D3DBase.cpp +++ b/Source/Core/VideoBackends/D3D/D3DBase.cpp @@ -156,14 +156,13 @@ bool Create(u32 adapter_index, bool enable_debug_layer) g_Config.backend_info.bSupportsGSInstancing = shader_model_5_supported; g_Config.backend_info.bSupportsSSAA = shader_model_5_supported; - stateman = new StateManager(); + stateman = std::make_unique(); return true; } void Destroy() { - delete stateman; - stateman = nullptr; + stateman.reset(); context->ClearState(); context->Flush(); diff --git a/Source/Core/VideoBackends/D3D/D3DState.cpp b/Source/Core/VideoBackends/D3D/D3DState.cpp index 6fc7804136..15e84f2018 100644 --- a/Source/Core/VideoBackends/D3D/D3DState.cpp +++ b/Source/Core/VideoBackends/D3D/D3DState.cpp @@ -20,7 +20,7 @@ namespace DX11 { namespace D3D { -StateManager* stateman; +std::unique_ptr stateman; StateManager::StateManager() = default; StateManager::~StateManager() = default; diff --git a/Source/Core/VideoBackends/D3D/D3DState.h b/Source/Core/VideoBackends/D3D/D3DState.h index 58af9bedee..c152907389 100644 --- a/Source/Core/VideoBackends/D3D/D3DState.h +++ b/Source/Core/VideoBackends/D3D/D3DState.h @@ -6,6 +6,7 @@ #include #include +#include #include #include @@ -296,7 +297,7 @@ private: ID3D11ComputeShader* m_compute_shader = nullptr; }; -extern StateManager* stateman; +extern std::unique_ptr stateman; } // namespace D3D