citra-emu
/
citra
Archived
1
0
Fork 0

lcd: added thread wait after (faked) vblank interrupt (would have) occurred

This commit is contained in:
bunnei 2014-05-22 20:01:04 -04:00
parent b99ac2c3d6
commit 7bb66421a0
1 changed files with 4 additions and 0 deletions

View File

@ -11,6 +11,8 @@
#include "video_core/video_core.h" #include "video_core/video_core.h"
#include "core/hle/kernel/thread.h"
namespace LCD { namespace LCD {
Registers g_regs; Registers g_regs;
@ -130,9 +132,11 @@ template void Write<u8>(u32 addr, const u8 data);
void Update() { void Update() {
u64 current_ticks = Core::g_app_core->GetTicks(); u64 current_ticks = Core::g_app_core->GetTicks();
// Fake a vertical blank
if ((current_ticks - g_last_ticks) >= kFrameTicks) { if ((current_ticks - g_last_ticks) >= kFrameTicks) {
g_last_ticks = current_ticks; g_last_ticks = current_ticks;
VideoCore::g_renderer->SwapBuffers(); VideoCore::g_renderer->SwapBuffers();
Kernel::WaitCurrentThread(WAITTYPE_VBLANK);
} }
} }