VIF VU Execs: Fix for r5404 (the fabled Baldurs Gate fix). Need to check that when VIF ends there is no queued VU Exec left else it gets abandoned. Fixes freezing in Legends of Wrestling 2, possibly fixes the graphics on Warship Gunner 2

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5482 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
refraction@gmail.com 2012-12-20 23:46:09 +00:00
parent c46d422887
commit ac54bad33c
2 changed files with 2 additions and 0 deletions

View File

@ -255,6 +255,7 @@ __fi void vif0Interrupt()
vif0Regs.stat.FQC = min((u16)0x8, vif0ch.qwc);
vif0.vifstalled.enabled = false;
vif0.irqoffset.enabled = false;
if(vif0.queued_program == true) vifExecQueue(0);
g_vif0Cycles = 0;
hwDmacIrq(DMAC_VIF0);
vif0Regs.stat.FQC = 0;

View File

@ -371,6 +371,7 @@ __fi void vif1Interrupt()
vif1ch.chcr.STR = false;
vif1.vifstalled.enabled = false;
vif1.irqoffset.enabled = false;
if(vif1.queued_program == true) vifExecQueue(1);
g_vif1Cycles = 0;
DMA_LOG("VIF1 DMA End");
hwDmacIrq(DMAC_VIF1);