diff options
author | bunnei <ericbunnie@gmail.com> | 2014-05-22 20:01:04 -0400 |
---|---|---|
committer | bunnei <ericbunnie@gmail.com> | 2014-05-22 20:01:04 -0400 |
commit | 7bb66421a08ee4c061d7336efc20c69f70e97cd9 (patch) | |
tree | 26b8d4cf8e7176d20e90389c8654103d4ddadcb8 /src/core/hw/lcd.cpp | |
parent | b99ac2c3d67e2bcaa2c6eac220f1e93f4576c4fe (diff) |
lcd: added thread wait after (faked) vblank interrupt (would have) occurred
Diffstat (limited to 'src/core/hw/lcd.cpp')
-rw-r--r-- | src/core/hw/lcd.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/core/hw/lcd.cpp b/src/core/hw/lcd.cpp index 6468053f27..b57563a73a 100644 --- a/src/core/hw/lcd.cpp +++ b/src/core/hw/lcd.cpp @@ -11,6 +11,8 @@ #include "video_core/video_core.h" +#include "core/hle/kernel/thread.h" + namespace LCD { Registers g_regs; @@ -130,9 +132,11 @@ template void Write<u8>(u32 addr, const u8 data); void Update() { u64 current_ticks = Core::g_app_core->GetTicks(); + // Fake a vertical blank if ((current_ticks - g_last_ticks) >= kFrameTicks) { g_last_ticks = current_ticks; VideoCore::g_renderer->SwapBuffers(); + Kernel::WaitCurrentThread(WAITTYPE_VBLANK); } } |