aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/hw
diff options
context:
space:
mode:
authorGravatar bunnei <bunneidev@gmail.com>2014-08-05 23:29:38 -0400
committerGravatar bunnei <bunneidev@gmail.com>2014-08-06 18:20:01 -0400
commit7ada2625fe78b7bb75232282ead77786ca215d6e (patch)
treed5727af668a1f8b5311b898feda7ab705ee8cc81 /src/core/hw
parentd4bd2f2e5d38c865777800271a1bbb836034d41b (diff)
GPU: Updated horizontal sync line counter to use framebuffer height.
Diffstat (limited to 'src/core/hw')
-rw-r--r--src/core/hw/gpu.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/core/hw/gpu.cpp b/src/core/hw/gpu.cpp
index 93b87147..7fb208e5 100644
--- a/src/core/hw/gpu.cpp
+++ b/src/core/hw/gpu.cpp
@@ -252,17 +252,18 @@ template void Write<u8>(u32 addr, const u8 data);
/// Update hardware
void Update() {
+ auto& framebuffer_top = g_regs.Get<Regs::FramebufferTop>();
u64 current_ticks = Core::g_app_core->GetTicks();
// Synchronize line...
- if ((current_ticks - g_last_ticks) >= GPU::kFrameTicks / 400) {
+ if ((current_ticks - g_last_ticks) >= GPU::kFrameTicks / framebuffer_top.height) {
GSP_GPU::SignalInterrupt(GSP_GPU::InterruptId::PDC0);
g_cur_line++;
g_last_ticks = current_ticks;
}
// Synchronize frame...
- if (g_cur_line >= 400) {
+ if (g_cur_line >= framebuffer_top.height) {
g_cur_line = 0;
GSP_GPU::SignalInterrupt(GSP_GPU::InterruptId::PDC1);
VideoCore::g_renderer->SwapBuffers();