diff options
| author | Admiral H. Curtiss <pikachu025@gmail.com> | 2024-06-23 03:44:05 +0200 |
|---|---|---|
| committer | Admiral H. Curtiss <pikachu025@gmail.com> | 2024-06-23 03:44:05 +0200 |
| commit | ce2f4101f3e50d61a1d4a7348a016d928930ff33 (patch) | |
| tree | 9fb5bebed68eb6c80e7f0efd2483224df96a2ee0 | |
| parent | 9b33b777cfd26cf790a4fdf1f1d305b24c6777f7 (diff) | |
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
| -rw-r--r-- | Source/Core/VideoCommon/VideoConfig.cpp | 7 |
1 files 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; } |
