VideoCommon/PixelEngine: Pass Core::System to methods.

This commit is contained in:
Admiral H. Curtiss
2022-12-10 17:10:14 +01:00
parent ec8aaf1f30
commit c486baffe6
4 changed files with 23 additions and 24 deletions

View File

@ -186,7 +186,7 @@ static void BPWritten(const BPCmd& bp, int cycles_into_future)
g_framebuffer_manager->RefreshPeekCache();
auto& system = Core::System::GetInstance();
if (!system.GetFifo().UseDeterministicGPUThread())
system.GetPixelEngine().SetFinish(cycles_into_future); // may generate interrupt
system.GetPixelEngine().SetFinish(system, cycles_into_future); // may generate interrupt
DEBUG_LOG_FMT(VIDEO, "GXSetDrawDone SetPEFinish (value: {:#04X})", bp.newvalue & 0xFFFF);
return;
}
@ -205,7 +205,7 @@ static void BPWritten(const BPCmd& bp, int cycles_into_future)
auto& system = Core::System::GetInstance();
if (!system.GetFifo().UseDeterministicGPUThread())
{
system.GetPixelEngine().SetToken(static_cast<u16>(bp.newvalue & 0xFFFF), false,
system.GetPixelEngine().SetToken(system, static_cast<u16>(bp.newvalue & 0xFFFF), false,
cycles_into_future);
}
DEBUG_LOG_FMT(VIDEO, "SetPEToken {:#06X}", bp.newvalue & 0xFFFF);
@ -220,7 +220,7 @@ static void BPWritten(const BPCmd& bp, int cycles_into_future)
auto& system = Core::System::GetInstance();
if (!system.GetFifo().UseDeterministicGPUThread())
{
system.GetPixelEngine().SetToken(static_cast<u16>(bp.newvalue & 0xFFFF), true,
system.GetPixelEngine().SetToken(system, static_cast<u16>(bp.newvalue & 0xFFFF), true,
cycles_into_future);
}
DEBUG_LOG_FMT(VIDEO, "SetPEToken + INT {:#06X}", bp.newvalue & 0xFFFF);
@ -764,21 +764,21 @@ void LoadBPReg(u8 reg, u32 value, int cycles_into_future)
void LoadBPRegPreprocess(u8 reg, u32 value, int cycles_into_future)
{
auto& system = Core::System::GetInstance();
// masking via BPMEM_BP_MASK could hypothetically be a problem
u32 newval = value & 0xffffff;
switch (reg)
{
case BPMEM_SETDRAWDONE:
if ((newval & 0xff) == 0x02)
Core::System::GetInstance().GetPixelEngine().SetFinish(cycles_into_future);
system.GetPixelEngine().SetFinish(system, cycles_into_future);
break;
case BPMEM_PE_TOKEN_ID:
Core::System::GetInstance().GetPixelEngine().SetToken(newval & 0xffff, false,
cycles_into_future);
system.GetPixelEngine().SetToken(system, newval & 0xffff, false, cycles_into_future);
break;
case BPMEM_PE_TOKEN_INT_ID: // Pixel Engine Interrupt Token ID
Core::System::GetInstance().GetPixelEngine().SetToken(newval & 0xffff, true,
cycles_into_future);
system.GetPixelEngine().SetToken(system, newval & 0xffff, true, cycles_into_future);
break;
}
}