GSP_GPU: Fix framebuffer dirty bit

This commit is contained in:
KyloRen97 2024-03-13 19:57:19 +02:00 committed by GitHub
parent cc84d6bd43
commit 02c2a505e0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -362,7 +362,8 @@ void GSP_GPU::SignalInterruptForThread(InterruptId interrupt_id, u32 thread_id)
auto* info = GetFrameBufferInfo(thread_id, screen_id); auto* info = GetFrameBufferInfo(thread_id, screen_id);
if (info->is_dirty) { if (info->is_dirty) {
system.GPU().SetBufferSwap(screen_id, info->framebuffer_info[info->index]); 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);
} }
} }