From 39cd7f812abf33d8d3aa17fb9f45008e209edd63 Mon Sep 17 00:00:00 2001 From: "Unknown W. Brackets" Date: Sat, 16 Nov 2013 13:59:29 -0800 Subject: [PATCH] Move ctrl to after vblank, not before. Tests I'd done long ago suggested this wasn't right, but we made other timing fixes since then, and now tests are showing this is the right order. May improve Patapon/etc. timing, or may hurt it... --- Core/HLE/sceDisplay.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Core/HLE/sceDisplay.cpp b/Core/HLE/sceDisplay.cpp index 229a47346f..8ecff6f636 100644 --- a/Core/HLE/sceDisplay.cpp +++ b/Core/HLE/sceDisplay.cpp @@ -501,9 +501,6 @@ void hleEnterVblank(u64 userdata, int cyclesLate) { } frameStartTicks = CoreTiming::GetTicks(); - // Fire the vblank listeners before we wake threads. - __DisplayFireVblank(); - // Wake up threads waiting for VBlank u32 error; for (size_t i = 0; i < vblankWaitingThreads.size(); i++) { @@ -588,6 +585,9 @@ void hleLeaveVblank(u64 userdata, int cyclesLate) { isVblank = 0; DEBUG_LOG(SCEDISPLAY,"Leave VBlank %i", (int)userdata - 1); CoreTiming::ScheduleEvent(msToCycles(frameMs - vblankMs) - cyclesLate, enterVblankEvent, userdata); + + // Fire the vblank listeners after the vblank completes. + __DisplayFireVblank(); } u32 sceDisplayIsVblank() {