From 413523c8acf826ee8674d8effcc35cd8d3ae25b2 Mon Sep 17 00:00:00 2001 From: "Unknown W. Brackets" Date: Sun, 20 Jul 2014 21:35:11 -0700 Subject: [PATCH] Unpause lists after wait signals with no handler. This stops the gpu/displaylist/state test from hanging, and appears to be the correct behavior. It makes sense. --- Core/HLE/sceGe.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Core/HLE/sceGe.cpp b/Core/HLE/sceGe.cpp index be146bd49f..3ca5f85117 100644 --- a/Core/HLE/sceGe.cpp +++ b/Core/HLE/sceGe.cpp @@ -193,6 +193,14 @@ public: return true; } + if (dl->signal == PSP_GE_SIGNAL_HANDLER_SUSPEND) { + if (sceKernelGetCompiledSdkVersion() <= 0x02000010) { + if (dl->state != PSP_GE_DL_STATE_NONE && dl->state != PSP_GE_DL_STATE_COMPLETED) { + dl->state = PSP_GE_DL_STATE_QUEUED; + } + } + } + ge_pending_cb.pop_front(); gpu->InterruptEnd(intrdata.listid);