mirror of
https://github.com/PCSX2/pcsx2.git
synced 2026-11-14 02:00:15 +01:00
IPU: Fix GT3 regression from #6506
BTW it was totally not my suggestion to change it and I take no responsibility for the fact I bro.. I mean LT broke it.
This commit is contained in:
1 parent
8c1b9e1557
commit
8216faae6e
1 file changed
+6
-4
@@ -68,8 +68,6 @@ static __fi int IPU1chain() {
|
||||
|
||||
void IPU1dma()
|
||||
{
|
||||
int totalqwc = 0;
|
||||
|
||||
if(!ipu1ch.chcr.STR || ipu1ch.chcr.MOD == 2)
|
||||
{
|
||||
//We MUST stop the IPU from trying to fill the FIFO with more data if the DMA has been suspended
|
||||
@@ -86,6 +84,9 @@ void IPU1dma()
|
||||
return;
|
||||
}
|
||||
|
||||
int tagcycles = 0;
|
||||
int totalqwc = 0;
|
||||
|
||||
IPU_LOG("IPU1 DMA Called QWC %x Finished %d In Progress %d tadr %x", ipu1ch.qwc, IPU1Status.DMAFinished, IPU1Status.InProgress, ipu1ch.tadr);
|
||||
if (!IPU1Status.InProgress)
|
||||
{
|
||||
@@ -100,7 +101,7 @@ void IPU1dma()
|
||||
}
|
||||
ipu1ch.madr = ptag[1]._u32;
|
||||
|
||||
totalqwc += 1; // Add 1 cycles from the QW read for the tag
|
||||
tagcycles += 1; // Add 1 cycles from the QW read for the tag
|
||||
|
||||
if (ipu1ch.chcr.TTE) DevCon.Warning("TTE?");
|
||||
|
||||
@@ -122,7 +123,7 @@ void IPU1dma()
|
||||
//Do this here to prevent double settings on Chain DMA's
|
||||
if(totalqwc == 0 || (IPU1Status.DMAFinished && !IPU1Status.InProgress))
|
||||
{
|
||||
totalqwc = std::max(4, totalqwc);
|
||||
totalqwc = std::max(4, totalqwc) + tagcycles;
|
||||
IPU_INT_TO(totalqwc * BIAS);
|
||||
}
|
||||
else
|
||||
@@ -135,6 +136,7 @@ void IPU1dma()
|
||||
}
|
||||
else
|
||||
{
|
||||
totalqwc = std::max(4, totalqwc) + tagcycles;
|
||||
IPU_INT_TO(totalqwc * BIAS);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user