mirror of
https://github.com/Lime3DS/Lime3DS
synced 2024-12-28 01:52:29 -06:00
GSP: Call SetBufferSwap for each screen on corresponding signal interrupt.
This commit is contained in:
parent
848795f383
commit
9eae2400c0
1 changed files with 3 additions and 4 deletions
|
@ -227,14 +227,13 @@ 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();
|
||||||
|
|
Loading…
Reference in a new issue