aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/hw/gpu.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/hw/gpu.cpp')
-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();