From 8592f8a2b4cae1320b7e152f4d3a68ac7b39bfa3 Mon Sep 17 00:00:00 2001 From: bunnei Date: Sat, 29 May 2021 01:06:04 -0700 Subject: video_core: gpu: WaitFence: Do not block threads during shutdown. - Fixes a hang on shutdown when NVFlinger thread is waiting on a syncpoint that will never occur. - Commonly observed when stopping emulation in Super Mario Odyssey. --- src/video_core/gpu.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/video_core/gpu.h') diff --git a/src/video_core/gpu.h b/src/video_core/gpu.h index 29a867863..a8e98e51b 100644 --- a/src/video_core/gpu.h +++ b/src/video_core/gpu.h @@ -389,6 +389,8 @@ private: std::unique_ptr kepler_memory; /// Shader build notifier std::unique_ptr shader_notify; + /// When true, we are about to shut down emulation session, so terminate outstanding tasks + std::atomic_bool shutting_down{}; std::array, Service::Nvidia::MaxSyncPoints> syncpoints{}; -- cgit v1.2.3