summaryrefslogtreecommitdiff
path: root/src/core/hw/gpu.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/hw/gpu.cpp')
-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) {
416 LOG_TRACE(HW_GPU, "MemoryFill from 0x%08x to 0x%08x", config.GetStartAddress(), 416 LOG_TRACE(HW_GPU, "MemoryFill from 0x%08x to 0x%08x", config.GetStartAddress(),
417 config.GetEndAddress()); 417 config.GetEndAddress());
418 418
419 if (!is_second_filler) { 419 // It seems that it won't signal interrupt if "address_start" is zero.
420 GSP_GPU::SignalInterrupt(GSP_GPU::InterruptId::PSC0); 420 // TODO: hwtest this
421 } else { 421 if (config.GetStartAddress() != 0) {
422 GSP_GPU::SignalInterrupt(GSP_GPU::InterruptId::PSC1); 422 if (!is_second_filler) {
423 GSP_GPU::SignalInterrupt(GSP_GPU::InterruptId::PSC0);
424 } else {
425 GSP_GPU::SignalInterrupt(GSP_GPU::InterruptId::PSC1);
426 }
423 } 427 }
424 428
425 // Reset "trigger" flag and set the "finish" flag 429 // Reset "trigger" flag and set the "finish" flag