summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorwwylele <wwylele@gmail.com>2016-09-27 15:35:56 +0200
committerwwylele <wwylele@gmail.com>2016-09-29 04:01:34 +0200
commit30ab0fa45dc3b12821e8cf629158f78814774f7c (patch)
tree879a83a95daa8737d3a627e06abebae19319a0bc /src
parentgpu: add validity check for TextureCopy, DisplayTransfer and FillMemory (diff)
downloadyuzu-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
Diffstat (limited to 'src')
-rw-r--r--src/core/hw/gpu.cpp12
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