diff options
| -rw-r--r-- | src/core/hle/service/gsp_gpu.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/core/hle/service/gsp_gpu.cpp b/src/core/hle/service/gsp_gpu.cpp index 495c117ee..027b9fa92 100644 --- a/src/core/hle/service/gsp_gpu.cpp +++ b/src/core/hle/service/gsp_gpu.cpp | |||
| @@ -227,14 +227,13 @@ void SignalInterrupt(InterruptId interrupt_id) { | |||
| 227 | // Update framebuffer information if requested | 227 | // Update framebuffer information if requested |
| 228 | // TODO(yuriks): Confirm where this code should be called. It is definitely updated without | 228 | // TODO(yuriks): Confirm where this code should be called. It is definitely updated without |
| 229 | // executing any GSP commands, only waiting on the event. | 229 | // executing any GSP commands, only waiting on the event. |
| 230 | for (int screen_id = 0; screen_id < 2; ++screen_id) { | 230 | int screen_id = (interrupt_id == InterruptId::PDC0) ? 0 : (interrupt_id == InterruptId::PDC0) ? 1 : -1; |
| 231 | if (screen_id != -1) { | ||
| 231 | FrameBufferUpdate* info = GetFrameBufferInfo(thread_id, screen_id); | 232 | FrameBufferUpdate* info = GetFrameBufferInfo(thread_id, screen_id); |
| 232 | |||
| 233 | if (info->is_dirty) { | 233 | if (info->is_dirty) { |
| 234 | SetBufferSwap(screen_id, info->framebuffer_info[info->index]); | 234 | SetBufferSwap(screen_id, info->framebuffer_info[info->index]); |
| 235 | info->is_dirty = false; | ||
| 235 | } | 236 | } |
| 236 | |||
| 237 | info->is_dirty = false; | ||
| 238 | } | 237 | } |
| 239 | } | 238 | } |
| 240 | g_interrupt_event->Signal(); | 239 | g_interrupt_event->Signal(); |