From ce2f4101f3e50d61a1d4a7348a016d928930ff33 Mon Sep 17 00:00:00 2001 From: "Admiral H. Curtiss" Date: Sun, 23 Jun 2024 03:44:05 +0200 Subject: [PATCH] Core/VideoCommon: Revert change from #12828 This causes Dual Core to lock up during the boot sequence, because it tries to wait for a not-yet-running GPU thread. Fixes https://bugs.dolphin-emu.org/issues/13559 --- Source/Core/VideoCommon/VideoConfig.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Source/Core/VideoCommon/VideoConfig.cpp b/Source/Core/VideoCommon/VideoConfig.cpp index 0e2e3566ea..efa159795c 100644 --- a/Source/Core/VideoCommon/VideoConfig.cpp +++ b/Source/Core/VideoCommon/VideoConfig.cpp @@ -66,12 +66,15 @@ void VideoConfig::Refresh() CPUThreadConfigCallback::AddConfigChangedCallback([]() { auto& system = Core::System::GetInstance(); - system.GetFifo().PauseAndLock(true, false); + const bool lock_gpu_thread = Core::IsRunning(system); + if (lock_gpu_thread) + system.GetFifo().PauseAndLock(true, false); g_Config.Refresh(); g_Config.VerifyValidity(); - system.GetFifo().PauseAndLock(false, true); + if (lock_gpu_thread) + system.GetFifo().PauseAndLock(false, true); }); s_has_registered_callback = true; }