GSP: Call SetBufferSwap for each screen on corresponding signal interrupt.

This commit is contained in:
bunnei 2015-02-09 22:45:54 -05:00
parent 848795f383
commit 9eae2400c0

View File

@ -227,16 +227,15 @@ void SignalInterrupt(InterruptId interrupt_id) {
// Update framebuffer information if requested // Update framebuffer information if requested
// TODO(yuriks): Confirm where this code should be called. It is definitely updated without // TODO(yuriks): Confirm where this code should be called. It is definitely updated without
// executing any GSP commands, only waiting on the event. // executing any GSP commands, only waiting on the event.
for (int screen_id = 0; screen_id < 2; ++screen_id) { int screen_id = (interrupt_id == InterruptId::PDC0) ? 0 : (interrupt_id == InterruptId::PDC0) ? 1 : -1;
if (screen_id != -1) {
FrameBufferUpdate* info = GetFrameBufferInfo(thread_id, screen_id); FrameBufferUpdate* info = GetFrameBufferInfo(thread_id, screen_id);
if (info->is_dirty) { if (info->is_dirty) {
SetBufferSwap(screen_id, info->framebuffer_info[info->index]); SetBufferSwap(screen_id, info->framebuffer_info[info->index]);
}
info->is_dirty = false; info->is_dirty = false;
} }
} }
}
g_interrupt_event->Signal(); g_interrupt_event->Signal();
} }