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
merge-requests/60/head
wwylele 2016-09-27 21:35:56 +07:00
parent 48470e57fc
commit 30ab0fa45d
1 changed files with 8 additions and 4 deletions

@ -416,11 +416,15 @@ inline void Write(u32 addr, const T data) {
LOG_TRACE(HW_GPU, "MemoryFill from 0x%08x to 0x%08x", config.GetStartAddress(),
config.GetEndAddress());
// 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
// NOTE: This was confirmed to happen on hardware even if "address_start" is zero.