mirror of https://github.com/PCSX2/pcsx2.git
Vif: Fix for Warship Gunner 2 geometry holes. Fixes Issue 665
This commit is contained in:
parent
545e47aacc
commit
dfd52282a7
|
@ -100,6 +100,7 @@ static __fi void vuExecMicro(int idx, u32 addr) {
|
||||||
|
|
||||||
GetVifX.queued_program = true;
|
GetVifX.queued_program = true;
|
||||||
GetVifX.queued_pc = addr;
|
GetVifX.queued_pc = addr;
|
||||||
|
GetVifX.unpackcalls = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ExecuteVU(int idx)
|
void ExecuteVU(int idx)
|
||||||
|
|
|
@ -80,7 +80,7 @@ struct vifStruct {
|
||||||
tVIF_CTRL vifstalled;
|
tVIF_CTRL vifstalled;
|
||||||
bool stallontag;
|
bool stallontag;
|
||||||
bool waitforvu;
|
bool waitforvu;
|
||||||
|
int unpackcalls;
|
||||||
// GS registers used for calculating the size of the last local->host transfer initiated on the GS
|
// GS registers used for calculating the size of the last local->host transfer initiated on the GS
|
||||||
// Transfer size calculation should be restricted to GS emulation in the future
|
// Transfer size calculation should be restricted to GS emulation in the future
|
||||||
tBITBLTBUF BITBLTBUF;
|
tBITBLTBUF BITBLTBUF;
|
||||||
|
|
|
@ -193,8 +193,12 @@ _vifT void vifUnpackSetup(const u32 *data) {
|
||||||
vifX.cmd = 0;
|
vifX.cmd = 0;
|
||||||
return; // Skipping write and 0 write-cycles, so do nothing!
|
return; // Skipping write and 0 write-cycles, so do nothing!
|
||||||
}
|
}
|
||||||
|
GetVifX.unpackcalls++;
|
||||||
|
|
||||||
|
if (GetVifX.unpackcalls > 3)
|
||||||
|
{
|
||||||
|
vifExecQueue(idx);
|
||||||
|
}
|
||||||
//if (!idx) vif0FLUSH(); // Only VU0?
|
//if (!idx) vif0FLUSH(); // Only VU0?
|
||||||
|
|
||||||
vifX.usn = (vifXRegs.code >> 14) & 0x01;
|
vifX.usn = (vifXRegs.code >> 14) & 0x01;
|
||||||
|
|
Loading…
Reference in New Issue