Slightly safer way of handling filling writes in the Dynarec, disabled a debug message i don't think we need any more.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4528 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
refraction 2011-04-02 21:18:14 +00:00
parent 44a1d17c9d
commit 15f7b2b6d8
2 changed files with 4 additions and 4 deletions

View File

@ -188,7 +188,7 @@ _vifT void vifUnpackSetup(const u32 *data) {
vifStruct& vifX = GetVifX;
if ((vifXRegs.cycle.wl == 0) && (vifXRegs.cycle.wl < vifXRegs.cycle.cl)) {
DevCon.WriteLn("Vif%d CL %d, WL %d", idx, vifXRegs.cycle.cl, vifXRegs.cycle.wl);
//DevCon.WriteLn("Vif%d CL %d, WL %d Mode %x Mask %x Num %x", idx, vifXRegs.cycle.cl, vifXRegs.cycle.wl, vifXRegs.mode, vifXRegs.mask, (vifXRegs.code >> 16) & 0xff);
vifX.cmd = 0;
return; // Skipping write and 0 write-cycles, so do nothing!
}

View File

@ -80,8 +80,8 @@ __fi void VifUnpackSSE_Dynarec::SetMasks(int cS) const {
u32 m1 = m0 & 0xaaaaaaaa;
u32 m2 =(~m1>>1) & m0;
u32 m3 = (m1>>1) & ~m0;
if((m2&&(doMask||isFill))||doMode) { xMOVAPS(xmmRow, ptr128[&vif.MaskRow]); }
if (m3&&(doMask||isFill)) {
if((m2&&doMask)||doMode) { xMOVAPS(xmmRow, ptr128[&vif.MaskRow]); }
if (m3&&doMask) {
xMOVAPS(xmmCol0, ptr128[&vif.MaskCol]);
if ((cS>=2) && (m3&0x0000ff00)) xPSHUF.D(xmmCol1, xmmCol0, _v1);
if ((cS>=3) && (m3&0x00ff0000)) xPSHUF.D(xmmCol2, xmmCol0, _v2);
@ -271,7 +271,7 @@ _vifT __fi void dVifUnpack(const u8* data, bool isFill) {
VIFregisters& vifRegs = vifXRegs;
const u8 upkType = (vif.cmd & 0x1f) | (vif.usn << 5);
const int doMask = (vif.cmd & 0x10);
const int doMask = isFill? 1 : (vif.cmd & 0x10);
_vBlock.upkType = upkType;
_vBlock.num = (u8&)vifRegs.num;