diff options
author | bunnei <bunneidev@gmail.com> | 2015-01-05 06:19:28 +0100 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2015-01-05 06:25:37 +0100 |
commit | e9650f1c6197baa7e532559964f42578bdde42d5 (patch) | |
tree | edbe5489f5ce966d76f71fa68d11ba8b79fcffe6 /src/core/hw | |
parent | Merge pull request #407 from Subv/arbiter (diff) | |
download | yuzu-e9650f1c6197baa7e532559964f42578bdde42d5.tar yuzu-e9650f1c6197baa7e532559964f42578bdde42d5.tar.gz yuzu-e9650f1c6197baa7e532559964f42578bdde42d5.tar.bz2 yuzu-e9650f1c6197baa7e532559964f42578bdde42d5.tar.lz yuzu-e9650f1c6197baa7e532559964f42578bdde42d5.tar.xz yuzu-e9650f1c6197baa7e532559964f42578bdde42d5.tar.zst yuzu-e9650f1c6197baa7e532559964f42578bdde42d5.zip |
Diffstat (limited to 'src/core/hw')
-rw-r--r-- | src/core/hw/gpu.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/core/hw/gpu.cpp b/src/core/hw/gpu.cpp index 0ff6c6cde..e346e0ad6 100644 --- a/src/core/hw/gpu.cpp +++ b/src/core/hw/gpu.cpp @@ -10,6 +10,7 @@ #include "core/hle/hle.h" #include "core/hle/service/gsp_gpu.h" +#include "core/hle/service/dsp_dsp.h" #include "core/hw/gpu.h" @@ -214,13 +215,18 @@ void Update() { // - If frameskip == 0 (disabled), always swap buffers // - If frameskip == 1, swap buffers every other frame (starting from the first frame) // - If frameskip > 1, swap buffers every frameskip^n frames (starting from the second frame) - if ((((Settings::values.frame_skip != 1) ^ last_skip_frame) && last_skip_frame != g_skip_frame) || Settings::values.frame_skip == 0) { VideoCore::g_renderer->SwapBuffers(); } + // Signal to GSP that GPU interrupt has occurred GSP_GPU::SignalInterrupt(GSP_GPU::InterruptId::PDC1); + + // TODO(bunnei): Fake a DSP interrupt on each frame. This does not belong here, but + // until we can emulate DSP interrupts, this is probably the only reasonable place to do + // this. Certain games expect this to be periodically signaled. + DSP_DSP::SignalInterrupt(); } } } |