aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/gpu.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/video_core/gpu.cpp')
-rw-r--r--src/video_core/gpu.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/video_core/gpu.cpp b/src/video_core/gpu.cpp
index a2e87b260a..9901cf4262 100644
--- a/src/video_core/gpu.cpp
+++ b/src/video_core/gpu.cpp
@@ -55,8 +55,8 @@ constexpr u64 GpuClockMultiplier(Settings::GpuClock clock) {
struct GPU::Impl {
explicit Impl(Core::System& system_, bool is_async_, bool use_nvdec_)
- : gpu_thread{system_}
- , system{system_}
+ : system{system_}
+ , gpu_thread{system_}
, use_nvdec{use_nvdec_}
, shader_notify()
, is_async{is_async_}
@@ -182,6 +182,7 @@ struct GPU::Impl {
}
void NotifyShutdown() {
+ gpu_thread.NotifyShutdown();
std::unique_lock lk{sync_mutex};
shutting_down.store(true, std::memory_order::relaxed);
sync_cv.notify_all();
@@ -301,12 +302,12 @@ struct GPU::Impl {
return out;
}
+ Core::System& system;
+
// Destruction of thread must be done before all (non trivial)
// previous members has been destroyed
VideoCommon::GPUThread::ThreadManager gpu_thread;
- Core::System& system;
-
std::unique_ptr<VideoCore::RendererBase> renderer;
const bool use_nvdec;