aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/hw/lcd.cpp
diff options
context:
space:
mode:
authorGravatar bunnei <ericbunnie@gmail.com>2014-05-22 20:01:04 -0400
committerGravatar bunnei <ericbunnie@gmail.com>2014-05-22 20:01:04 -0400
commit7bb66421a08ee4c061d7336efc20c69f70e97cd9 (patch)
tree26b8d4cf8e7176d20e90389c8654103d4ddadcb8 /src/core/hw/lcd.cpp
parentb99ac2c3d67e2bcaa2c6eac220f1e93f4576c4fe (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.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/core/hw/lcd.cpp b/src/core/hw/lcd.cpp
index 6468053f..b57563a7 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);
}
}