mirror of https://github.com/PCSX2/pcsx2.git
Added a check to make sure the unpack REALLY overflows, sometimes it can be dead on the limit or count the skip, so it doesn't need to break to slower code.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@995 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
parent
4704ac9436
commit
170acd854a
|
@ -558,8 +558,17 @@ static void VIFunpack(u32 *data, vifCode *v, unsigned int size, const unsigned i
|
|||
{
|
||||
|
||||
//DevCon::Notice("VIF%x Unpack ending %x > %x", params VIFdmanum, tempsize, VIFdmanum ? 0x4000 : 0x1000);
|
||||
tempsize = size;
|
||||
size = 0;
|
||||
if(vifRegs->cycle.cl == 1 && ((u32)(VIFdmanum ? 0x4000 : 0x1000) + ((vifRegs->cycle.cl - vifRegs->cycle.wl) * 16)) == tempsize
|
||||
|| tempsize == (u32)(VIFdmanum ? 0x4000 : 0x1000))
|
||||
{
|
||||
//Its a red herring! so ignore it! SSE unpacks will be much quicker
|
||||
tempsize = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
tempsize = size;
|
||||
size = 0;
|
||||
}
|
||||
} else tempsize = 0;
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue