From eacb5f40a1b1e5d0f75962b3b2c30ae94c4e2d61 Mon Sep 17 00:00:00 2001 From: lizzie Date: Sun, 6 Sep 2026 21:41:03 +0000 Subject: [PATCH] 2026-09-06 21:41:03 Signed-off-by: lizzie --- src/video_core/gpu.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/video_core/gpu.cpp b/src/video_core/gpu.cpp index 6ff945108d..a2e87b260a 100644 --- a/src/video_core/gpu.cpp +++ b/src/video_core/gpu.cpp @@ -55,11 +55,11 @@ constexpr u64 GpuClockMultiplier(Settings::GpuClock clock) { struct GPU::Impl { explicit Impl(Core::System& system_, bool is_async_, bool use_nvdec_) - : system{system_} + : gpu_thread{system_} + , system{system_} , use_nvdec{use_nvdec_} , shader_notify() , is_async{is_async_} - , gpu_thread{system_} {} ~Impl() = default; @@ -301,6 +301,10 @@ struct GPU::Impl { return out; } + // 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 renderer; @@ -340,10 +344,6 @@ struct GPU::Impl { std::deque request_swap_counters; std::mutex request_swap_mutex; u64 pending_composite_fence{}; - - // Destruction of thread must be done after all (non trivial) - // previous members has been destroyed - VideoCommon::GPUThread::ThreadManager gpu_thread; }; GPU::GPU(Core::System& system, bool is_async, bool use_nvdec)