MCPcopy Create free account
hub / github.com/PCSX2/pcsx2 / vifExecQueue

Function vifExecQueue

pcsx2/Vif_Codes.cpp:28–53  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

26//------------------------------------------------------------------
27
28__ri void vifExecQueue(int idx)
29{
30 if (!GetVifX.queued_program || (VU0.VI[REG_VPU_STAT].UL & 1 << (idx * 8)))
31 return;
32
33 if (GetVifX.queued_gif_wait)
34 {
35 if (gifUnit.checkPaths(1, 1, 0))
36 return;
37 }
38
39 GetVifX.queued_program = false;
40
41 if (!idx)
42 vu0ExecMicro(vif0.queued_pc);
43 else
44 vu1ExecMicro(vif1.queued_pc);
45
46 // Hack for Wakeboarding Unleashed, game runs a VU program in parallel with a VIF unpack list.
47 // The start of the VU program clears the VU memory, while VIF populates it from behind, so we need to get the clear out of the way.
48 /*if (idx && !INSTANT_VU1)
49 {
50 VU1.cycle -= 256;
51 CpuVU1->ExecuteBlock(0);
52 }*/
53}
54
55static __fi EE_EventType vif1InternalIrq()
56{

Callers 8

vif1InterruptFunction · 0.85
vifTransferFunction · 0.85
vifFlushFunction · 0.85
vuExecMicroFunction · 0.85
_vifCode_MPGFunction · 0.85
vifOpFunction · 0.85
vifUnpackSetupFunction · 0.85
vif0InterruptFunction · 0.85

Calls 3

vu0ExecMicroFunction · 0.85
vu1ExecMicroFunction · 0.85
checkPathsMethod · 0.80

Tested by

no test coverage detected