diff options
| -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 | 
