Compare commits

...

2 Commits

Author SHA1 Message Date
lizzie eacb5f40a1 2026-09-06 21:41:03
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-09-06 21:41:03 +00:00
lizzie e1dcee37bf 2026-09-06 21:03:44
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-09-06 21:03:44 +00:00
+6 -3
View File
@@ -55,11 +55,11 @@ constexpr u64 GpuClockMultiplier(Settings::GpuClock clock) {
struct GPU::Impl { struct GPU::Impl {
explicit Impl(Core::System& system_, bool is_async_, bool use_nvdec_) explicit Impl(Core::System& system_, bool is_async_, bool use_nvdec_)
: system{system_} : gpu_thread{system_}
, system{system_}
, use_nvdec{use_nvdec_} , use_nvdec{use_nvdec_}
, shader_notify() , shader_notify()
, is_async{is_async_} , is_async{is_async_}
, gpu_thread{system_}
{} {}
~Impl() = default; ~Impl() = default;
@@ -301,6 +301,10 @@ struct GPU::Impl {
return out; 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; Core::System& system;
std::unique_ptr<VideoCore::RendererBase> renderer; std::unique_ptr<VideoCore::RendererBase> renderer;
@@ -329,7 +333,6 @@ struct GPU::Impl {
const bool is_async; const bool is_async;
VideoCommon::GPUThread::ThreadManager gpu_thread;
std::unique_ptr<Core::Frontend::GraphicsContext> cpu_context; std::unique_ptr<Core::Frontend::GraphicsContext> cpu_context;
Tegra::Control::Scheduler scheduler; Tegra::Control::Scheduler scheduler;