mirror of https://github.com/PCSX2/pcsx2.git
microVU: Fixed 1-Op flag linking (hopefully) if it kills stuff let me know and ill revert. Hopefully it'll help MGS2 a bit, but no guarantees.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5566 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
parent
a1bc42fa92
commit
adc075a098
|
@ -407,7 +407,7 @@ __fi void mVUinitFirstPass(microVU& mVU, uptr pState, u8* thisPtr) {
|
||||||
}
|
}
|
||||||
mVUblock.x86ptrStart = thisPtr;
|
mVUblock.x86ptrStart = thisPtr;
|
||||||
mVUpBlock = mVUblocks[mVUstartPC/2]->add(&mVUblock); // Add this block to block manager
|
mVUpBlock = mVUblocks[mVUstartPC/2]->add(&mVUblock); // Add this block to block manager
|
||||||
mVUregs.needExactMatch = /*(mVUregs.blockType||noFlagOpts)?7:*/0; // ToDo: Fix 1-Op block flag linking (MGS2:Demo/Sly Cooper)
|
mVUregs.needExactMatch = (isEvilBlock)?7:0; // ToDo: Fix 1-Op block flag linking (MGS2:Demo/Sly Cooper)
|
||||||
mVUregs.blockType = 0;
|
mVUregs.blockType = 0;
|
||||||
mVUregs.viBackUp = 0;
|
mVUregs.viBackUp = 0;
|
||||||
mVUregs.flagInfo = 0;
|
mVUregs.flagInfo = 0;
|
||||||
|
@ -504,6 +504,7 @@ void* mVUcompile(microVU& mVU, u32 startPC, uptr pState) {
|
||||||
elif (branch == 1) { branch = 2; }
|
elif (branch == 1) { branch = 2; }
|
||||||
if (mVUbranch) { mVUsetFlagInfo(mVU); eBitWarning(mVU); branch = 3; mVUbranch = 0; }
|
if (mVUbranch) { mVUsetFlagInfo(mVU); eBitWarning(mVU); branch = 3; mVUbranch = 0; }
|
||||||
incPC(1);
|
incPC(1);
|
||||||
|
if(isEvilBlock){ mVUcount++; break; } //Need a count, else the flags do not update.
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fix up vi15 const info for propagation through blocks
|
// Fix up vi15 const info for propagation through blocks
|
||||||
|
|
Loading…
Reference in New Issue