diff options
author | bunnei <bunneidev@gmail.com> | 2015-02-11 01:21:48 +0100 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2015-02-11 01:21:48 +0100 |
commit | 76e7d41f88347c48b0da396872775cbe461df537 (patch) | |
tree | cc174a66acd8904a9e909c792eb8092f84e360b8 /src/core/hle/service | |
parent | Merge pull request #526 from purpasmart96/citra_stubs (diff) | |
parent | GSP: Call SetBufferSwap for each screen on corresponding signal interrupt. (diff) | |
download | yuzu-76e7d41f88347c48b0da396872775cbe461df537.tar yuzu-76e7d41f88347c48b0da396872775cbe461df537.tar.gz yuzu-76e7d41f88347c48b0da396872775cbe461df537.tar.bz2 yuzu-76e7d41f88347c48b0da396872775cbe461df537.tar.lz yuzu-76e7d41f88347c48b0da396872775cbe461df537.tar.xz yuzu-76e7d41f88347c48b0da396872775cbe461df537.tar.zst yuzu-76e7d41f88347c48b0da396872775cbe461df537.zip |
Diffstat (limited to 'src/core/hle/service')
-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) { // Update framebuffer information if requested // TODO(yuriks): Confirm where this code should be called. It is definitely updated without // 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); - if (info->is_dirty) { SetBufferSwap(screen_id, info->framebuffer_info[info->index]); + info->is_dirty = false; } - - info->is_dirty = false; } } g_interrupt_event->Signal(); |