From 804cae0b15ee62b41002b918856b8293670266a2 Mon Sep 17 00:00:00 2001 From: cottonvibes Date: Mon, 18 Jan 2010 05:33:06 +0000 Subject: [PATCH] newVif: minor changes... git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2451 96395faa-99c1-11dd-bbfe-3dabce05a288 --- pcsx2/x86/newVif_Unpack.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/pcsx2/x86/newVif_Unpack.cpp b/pcsx2/x86/newVif_Unpack.cpp index 52da05bc9d..8cf6776a03 100644 --- a/pcsx2/x86/newVif_Unpack.cpp +++ b/pcsx2/x86/newVif_Unpack.cpp @@ -157,6 +157,8 @@ int nVifUnpack(int idx, u8* data) { } static void setMasks(int idx, const VIFregisters& v) { + u32* row = idx ? g_vifmask.Row1 : g_vifmask.Row0; + u32* col = idx ? g_vifmask.Col1 : g_vifmask.Col0; for (int i = 0; i < 16; i++) { int m = (v.mask >> (i*2)) & 3; switch (m) { @@ -165,15 +167,15 @@ static void setMasks(int idx, const VIFregisters& v) { nVifMask[1][i/4][i%4] = 0; nVifMask[2][i/4][i%4] = 0; break; - case 1: // Row // todo: use g_vifmask + case 1: // Row nVifMask[0][i/4][i%4] = 0; nVifMask[1][i/4][i%4] = 0; - nVifMask[2][i/4][i%4] = ((u32*)&v.r0)[(i%4)*4]; + nVifMask[2][i/4][i%4] = newVifDynaRec ? row[i%4] : ((u32*)&v.r0)[(i%4)*4]; break; - case 2: // Col // todo: use g_vifmask + case 2: // Col nVifMask[0][i/4][i%4] = 0; nVifMask[1][i/4][i%4] = 0; - nVifMask[2][i/4][i%4] = ((u32*)&v.c0)[(i/4)*4]; + nVifMask[2][i/4][i%4] = newVifDynaRec ? col[i/4] : ((u32*)&v.c0)[(i/4)*4]; break; case 3: // Write Protect nVifMask[0][i/4][i%4] = 0;