summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLioncash <mathew1800@gmail.com>2019-03-07 15:57:08 -0500
committerLioncash <mathew1800@gmail.com>2019-03-07 15:59:45 -0500
commit24e2e601d59a164aa86ed7a26f2054de09979b65 (patch)
tree9d31664bdb2fc088f8b0d9d1c575a75dc64734d6
parent3b63a46ca4dd515ccbf376e9fb4a4afed077b616 (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.h2
-rw-r--r--src/video_core/gpu_asynch.h2
-rw-r--r--src/video_core/gpu_synch.h2
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(