summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2015-02-11 01:21:48 +0100
committerbunnei <bunneidev@gmail.com>2015-02-11 01:21:48 +0100
commit76e7d41f88347c48b0da396872775cbe461df537 (patch)
treecc174a66acd8904a9e909c792eb8092f84e360b8 /src/core/hle/service
parentMerge pull request #526 from purpasmart96/citra_stubs (diff)
parentGSP: Call SetBufferSwap for each screen on corresponding signal interrupt. (diff)
downloadyuzu-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.cpp7
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();