diff --git a/src/core/hw/gpu.cpp b/src/core/hw/gpu.cpp index 93b871470..7fb208e57 100644 --- a/src/core/hw/gpu.cpp +++ b/src/core/hw/gpu.cpp @@ -252,17 +252,18 @@ template void Write(u32 addr, const u8 data); /// Update hardware void Update() { + auto& framebuffer_top = g_regs.Get(); 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();