diff --git a/pcsx2/Vif_Unpack.cpp b/pcsx2/Vif_Unpack.cpp index 6aabf00139..fcd651e32d 100644 --- a/pcsx2/Vif_Unpack.cpp +++ b/pcsx2/Vif_Unpack.cpp @@ -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! } diff --git a/pcsx2/x86/newVif_Dynarec.cpp b/pcsx2/x86/newVif_Dynarec.cpp index b02e9f35ff..c2a161a377 100644 --- a/pcsx2/x86/newVif_Dynarec.cpp +++ b/pcsx2/x86/newVif_Dynarec.cpp @@ -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;