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.
This commit is contained in:
bunnei 2021-05-29 01:06:04 -07:00
parent 5388e6db84
commit 8592f8a2b4
2 changed files with 13 additions and 1 deletions

View file

@ -389,6 +389,8 @@ private:
std::unique_ptr<Engines::KeplerMemory> kepler_memory;
/// Shader build notifier
std::unique_ptr<VideoCore::ShaderNotify> shader_notify;
/// When true, we are about to shut down emulation session, so terminate outstanding tasks
std::atomic_bool shutting_down{};
std::array<std::atomic<u32>, Service::Nvidia::MaxSyncPoints> syncpoints{};