diff options
author | wwylele <wwylele@gmail.com> | 2016-09-27 15:35:56 +0200 |
---|---|---|
committer | wwylele <wwylele@gmail.com> | 2016-09-29 04:01:34 +0200 |
commit | 30ab0fa45dc3b12821e8cf629158f78814774f7c (patch) | |
tree | 879a83a95daa8737d3a627e06abebae19319a0bc | |
parent | gpu: add validity check for TextureCopy, DisplayTransfer and FillMemory (diff) | |
download | yuzu-30ab0fa45dc3b12821e8cf629158f78814774f7c.tar yuzu-30ab0fa45dc3b12821e8cf629158f78814774f7c.tar.gz yuzu-30ab0fa45dc3b12821e8cf629158f78814774f7c.tar.bz2 yuzu-30ab0fa45dc3b12821e8cf629158f78814774f7c.tar.lz yuzu-30ab0fa45dc3b12821e8cf629158f78814774f7c.tar.xz yuzu-30ab0fa45dc3b12821e8cf629158f78814774f7c.tar.zst yuzu-30ab0fa45dc3b12821e8cf629158f78814774f7c.zip |
-rw-r--r-- | src/core/hw/gpu.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/core/hw/gpu.cpp b/src/core/hw/gpu.cpp index b90f5e5f9..8a46d71a5 100644 --- a/src/core/hw/gpu.cpp +++ b/src/core/hw/gpu.cpp @@ -416,10 +416,14 @@ inline void Write(u32 addr, const T data) { LOG_TRACE(HW_GPU, "MemoryFill from 0x%08x to 0x%08x", config.GetStartAddress(), config.GetEndAddress()); - if (!is_second_filler) { - GSP_GPU::SignalInterrupt(GSP_GPU::InterruptId::PSC0); - } else { - GSP_GPU::SignalInterrupt(GSP_GPU::InterruptId::PSC1); + // It seems that it won't signal interrupt if "address_start" is zero. + // TODO: hwtest this + if (config.GetStartAddress() != 0) { + if (!is_second_filler) { + GSP_GPU::SignalInterrupt(GSP_GPU::InterruptId::PSC0); + } else { + GSP_GPU::SignalInterrupt(GSP_GPU::InterruptId::PSC1); + } } // Reset "trigger" flag and set the "finish" flag |