From d3dc81ba7496ac4580457636b1186edb56793854 Mon Sep 17 00:00:00 2001 From: Pokechu22 Date: Fri, 10 Apr 2020 11:51:57 -0700 Subject: [PATCH] Fix bug 11920 DSP LLE Interpreter does not have a DSP thread, so trying to wait would hang. (DSP LLE recompiler also has no thread when in determinism mode). --- Source/Core/Core/HW/DSPLLE/DSPLLE.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/Source/Core/Core/HW/DSPLLE/DSPLLE.cpp b/Source/Core/Core/HW/DSPLLE/DSPLLE.cpp index fed94099bc..f998537643 100644 --- a/Source/Core/Core/HW/DSPLLE/DSPLLE.cpp +++ b/Source/Core/Core/HW/DSPLLE/DSPLLE.cpp @@ -343,9 +343,12 @@ void DSPLLE::PauseAndLock(bool do_lock, bool unpause_on_unlock) { m_dsp_thread_mutex.unlock(); - // Signal the DSP thread so it can perform any outstanding work now (if any) - s_ppc_event.Wait(); - s_dsp_event.Set(); + if (m_is_dsp_on_thread) + { + // Signal the DSP thread so it can perform any outstanding work now (if any) + s_ppc_event.Wait(); + s_dsp_event.Set(); + } } } } // namespace DSP::LLE