From 30ab0fa45dc3b12821e8cf629158f78814774f7c Mon Sep 17 00:00:00 2001 From: wwylele Date: Tue, 27 Sep 2016 21:35:56 +0800 Subject: gpu: keep the old signal strategy for null pointer previous commits changes the behaviour of interrupt when meeting invalid params. Regresses to the same behaviour as before needs more hwtest --- src/core/hw/gpu.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'src') 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 -- cgit v1.2.3