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_pc = addr;
|
||||
GetVifX.unpackcalls = 0;
|
||||
}
|
||||
|
||||
void ExecuteVU(int idx)
|
||||
|
|
|
@ -80,7 +80,7 @@ struct vifStruct {
|
|||
tVIF_CTRL vifstalled;
|
||||
bool stallontag;
|
||||
bool waitforvu;
|
||||
|
||||
int unpackcalls;
|
||||
// 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
|
||||
tBITBLTBUF BITBLTBUF;
|
||||
|
|
|
@ -193,8 +193,12 @@ _vifT void vifUnpackSetup(const u32 *data) {
|
|||
vifX.cmd = 0;
|
||||
return; // Skipping write and 0 write-cycles, so do nothing!
|
||||
}
|
||||
|
||||
GetVifX.unpackcalls++;
|
||||
|
||||
if (GetVifX.unpackcalls > 3)
|
||||
{
|
||||
vifExecQueue(idx);
|
||||
}
|
||||
//if (!idx) vif0FLUSH(); // Only VU0?
|
||||
|
||||
vifX.usn = (vifXRegs.code >> 14) & 0x01;
|
||||
|
|
Loading…
Reference in New Issue