mirror of https://github.com/PCSX2/pcsx2.git
Fixed a problem around the VU clip code, introduced in r659. GoW and Persona (and more) now work without a gamefix.
I'll remove the gamefix if there is no problem. git-svn-id: http://pcsx2.googlecode.com/svn/trunk@783 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
parent
c483f17331
commit
2b843ce49d
|
@ -3002,21 +3002,22 @@ void VuInstruction::Recompile(list<VuInstruction>::iterator& itinst, u32 vuxyz)
|
|||
|
||||
if( !CHECK_VUCLIPFLAGHACK && pparentinst != NULL ) {
|
||||
|
||||
if( pparentinst->pClipWrite == 0 ) {
|
||||
pparentinst->pClipWrite = (uptr)SuperVUStaticAlloc(4);
|
||||
}
|
||||
|
||||
if( nParentCheckForExecution >= 0 ) {
|
||||
if( pparentinst->pClipWrite == 0 )
|
||||
pparentinst->pClipWrite = (uptr)SuperVUStaticAlloc(4);
|
||||
|
||||
if( s_ClipRead == 0 )
|
||||
s_ClipRead = (uptr)&VU->VI[REG_CLIP_FLAG];
|
||||
|
||||
CMP32ItoM((uptr)&g_nLastBlockExecuted, nParentCheckForExecution);
|
||||
u8* jptr = JNE8(0);
|
||||
CMP32ItoM((uptr)&s_ClipRead, (uptr)&VU->VI[REG_CLIP_FLAG]);
|
||||
u8* jptr2 = JE8(0);
|
||||
MOV32MtoR(EAX, pparentinst->pClipWrite);
|
||||
MOV32RtoM(s_ClipRead, EAX);
|
||||
x86SetJ8(jptr);
|
||||
x86SetJ8(jptr2);
|
||||
}
|
||||
else s_ClipRead = (uptr)&VU->VI[REG_CLIP_FLAG];
|
||||
}
|
||||
else s_ClipRead = (uptr)&VU->VI[REG_CLIP_FLAG];
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue