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
This commit is contained in:
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(),
|
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.
|
||||||
|
|
Loading…
Reference in a new issue