|
|
@ -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(),
|
|
|
|
LOG_TRACE(HW_GPU, "MemoryFill from 0x%08x to 0x%08x", config.GetStartAddress(),
|
|
|
|
config.GetEndAddress());
|
|
|
|
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) {
|
|
|
|
if (!is_second_filler) {
|
|
|
|
GSP_GPU::SignalInterrupt(GSP_GPU::InterruptId::PSC0);
|
|
|
|
GSP_GPU::SignalInterrupt(GSP_GPU::InterruptId::PSC0);
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
GSP_GPU::SignalInterrupt(GSP_GPU::InterruptId::PSC1);
|
|
|
|
GSP_GPU::SignalInterrupt(GSP_GPU::InterruptId::PSC1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Reset "trigger" flag and set the "finish" flag
|
|
|
|
// Reset "trigger" flag and set the "finish" flag
|
|
|
|
// NOTE: This was confirmed to happen on hardware even if "address_start" is zero.
|
|
|
|
// NOTE: This was confirmed to happen on hardware even if "address_start" is zero.
|
|
|
|