VideoCommon/PixelEngine: Passthrough system instance in constructor

Simplifies the interface in terms of usage
This commit is contained in:
Lioncache
2023-12-22 13:54:24 -05:00
parent b1438c224f
commit e539dbba4c
5 changed files with 34 additions and 27 deletions

View File

@ -179,20 +179,22 @@ union UPECtrlReg
class PixelEngineManager
{
public:
void Init(Core::System& system);
explicit PixelEngineManager(Core::System& system);
void Init();
void DoState(PointerWrap& p);
void RegisterMMIO(MMIO::Mapping* mmio, u32 base);
// gfx backend support
void SetToken(Core::System& system, const u16 token, const bool interrupt, int cycle_delay);
void SetFinish(Core::System& system, int cycle_delay);
void SetToken(const u16 token, const bool interrupt, int cycle_delay);
void SetFinish(int cycle_delay);
AlphaReadMode GetAlphaReadMode() const { return m_alpha_read.read_mode; }
private:
void RaiseEvent(Core::System& system, int cycles_into_future);
void RaiseEvent(int cycles_into_future);
void UpdateInterrupts();
void SetTokenFinish_OnMainThread(Core::System& system, u64 userdata, s64 cycles_late);
void SetTokenFinish_OnMainThread(u64 userdata, s64 cycles_late);
static void SetTokenFinish_OnMainThread_Static(Core::System& system, u64 userdata,
s64 cycles_late);
@ -216,6 +218,8 @@ private:
bool m_signal_finish_interrupt = false;
CoreTiming::EventType* m_event_type_set_token_finish = nullptr;
Core::System& m_system;
};
} // namespace PixelEngine