diff options
author | Lioncash <mathew1800@gmail.com> | 2019-03-07 15:57:08 -0500 |
---|---|---|
committer | Lioncash <mathew1800@gmail.com> | 2019-03-07 15:59:45 -0500 |
commit | 24e2e601d59a164aa86ed7a26f2054de09979b65 (patch) | |
tree | 9d31664bdb2fc088f8b0d9d1c575a75dc64734d6 | |
parent | 3b63a46ca4dd515ccbf376e9fb4a4afed077b616 (diff) |
video_core/gpu: Make GPU's destructor virtual
Because of the recent separation of GPU functionality into sync/async
variants, we need to mark the destructor virtual to provide proper
destruction behavior, given we use the base class within the System
class.
Prior to this, it was undefined behavior whether or not the destructor
in the derived classes would ever execute.
-rw-r--r-- | src/video_core/gpu.h | 2 | ||||
-rw-r--r-- | src/video_core/gpu_asynch.h | 2 | ||||
-rw-r--r-- | src/video_core/gpu_synch.h | 2 |
3 files changed, 3 insertions, 3 deletions
diff --git a/src/video_core/gpu.h b/src/video_core/gpu.h index 14a421cc1..56a203275 100644 --- a/src/video_core/gpu.h +++ b/src/video_core/gpu.h @@ -123,7 +123,7 @@ class GPU { public: explicit GPU(Core::System& system, VideoCore::RendererBase& renderer); - ~GPU(); + virtual ~GPU(); struct MethodCall { u32 method{}; diff --git a/src/video_core/gpu_asynch.h b/src/video_core/gpu_asynch.h index 58046f3e9..e6a807aba 100644 --- a/src/video_core/gpu_asynch.h +++ b/src/video_core/gpu_asynch.h @@ -21,7 +21,7 @@ class ThreadManager; class GPUAsynch : public Tegra::GPU { public: explicit GPUAsynch(Core::System& system, VideoCore::RendererBase& renderer); - ~GPUAsynch(); + ~GPUAsynch() override; void PushGPUEntries(Tegra::CommandList&& entries) override; void SwapBuffers( diff --git a/src/video_core/gpu_synch.h b/src/video_core/gpu_synch.h index 658f683e2..7d5a241ff 100644 --- a/src/video_core/gpu_synch.h +++ b/src/video_core/gpu_synch.h @@ -16,7 +16,7 @@ namespace VideoCommon { class GPUSynch : public Tegra::GPU { public: explicit GPUSynch(Core::System& system, VideoCore::RendererBase& renderer); - ~GPUSynch(); + ~GPUSynch() override; void PushGPUEntries(Tegra::CommandList&& entries) override; void SwapBuffers( |