From 02c2a505e096d8505be8afbadd161bbb0c8d3ec9 Mon Sep 17 00:00:00 2001 From: KyloRen97 <163339705+KyloRen97@users.noreply.github.com> Date: Wed, 13 Mar 2024 19:57:19 +0200 Subject: [PATCH] GSP_GPU: Fix framebuffer dirty bit --- src/core/hle/service/gsp/gsp_gpu.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/core/hle/service/gsp/gsp_gpu.cpp b/src/core/hle/service/gsp/gsp_gpu.cpp index 374bbe3c6..914e07b03 100644 --- a/src/core/hle/service/gsp/gsp_gpu.cpp +++ b/src/core/hle/service/gsp/gsp_gpu.cpp @@ -362,7 +362,8 @@ void GSP_GPU::SignalInterruptForThread(InterruptId interrupt_id, u32 thread_id) auto* info = GetFrameBufferInfo(thread_id, screen_id); if (info->is_dirty) { system.GPU().SetBufferSwap(screen_id, info->framebuffer_info[info->index]); - info->is_dirty.Assign(false); + // Decompiling the GSP module shows that the dirty bit is assigned 1 for top screen, 0 for bottom + info->is_dirty.Assign(screen_id == 0); } }