Path3 Masking: Lower the Intermediate mode threshold for smaller packets, fixes some small texture glitches on Path3 masking games such as Wallace & Gromit

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5919 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
refraction 2014-02-28 21:38:04 +00:00
parent 8fd3fd7259
commit e6b363ef54
1 changed files with 10 additions and 1 deletions

View File

@ -117,7 +117,16 @@ __fi void gifInterrupt()
}
static u32 WRITERING_DMA(u32 *pMem, u32 qwc) {
if(gifRegs.stat.IMT) qwc = std::min(qwc, 1024u);
if (gifRegs.stat.IMT)
{
//Splitting by 8qw can be really slow, so on bigger packets be less picky.
//Some games like Wallace & Gromit like smaller packets to be split correctly, hopefully with little impact on speed.
//68 works for W&G but 128 is more of a safe point.
if (qwc > 128)
qwc = std::min(qwc, 1024u);
else
qwc = std::min(qwc, 8u);
}
uint size = gifUnit.TransferGSPacketData(GIF_TRANS_DMA, (u8*)pMem, qwc*16) / 16;
incGifChAddr(size);
return size;