From 20695d6b15f0aa3a7c04bf4994bc87f081d2dcd7 Mon Sep 17 00:00:00 2001 From: refractionpcsx2 Date: Wed, 23 Dec 2020 10:08:07 +0000 Subject: [PATCH] MTVU: Add new savestate variables, bump savestate version --- pcsx2/MTVU.cpp | 16 ++++++++++++++++ pcsx2/SaveState.h | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/pcsx2/MTVU.cpp b/pcsx2/MTVU.cpp index eeb1aafd6b..e86be012e5 100644 --- a/pcsx2/MTVU.cpp +++ b/pcsx2/MTVU.cpp @@ -57,6 +57,22 @@ void SaveStateBase::mtvuFreeze() unsigned int v = vu1Thread.vuCycles[i].load(); Freeze(v); } + u32 gsInterrupts; + u64 gsSignals; + + gsInterrupts = vu1Thread.gsToClear.load(); + Freeze(gsInterrupts); + vu1Thread.gsToClear.store(gsInterrupts); + gsInterrupts = vu1Thread.gsInterrupts.load(); + Freeze(gsInterrupts); + vu1Thread.gsInterrupts.store(gsInterrupts); + gsSignals = vu1Thread.gsSignal.load(); + Freeze(gsSignals); + vu1Thread.gsSignal.store(gsSignals); + gsSignals = vu1Thread.gsLabel.load(); + Freeze(gsSignals); + vu1Thread.gsLabel.store(gsSignals); + Freeze(vu1Thread.vuCycleIdx); } diff --git a/pcsx2/SaveState.h b/pcsx2/SaveState.h index d922015563..d76527e759 100644 --- a/pcsx2/SaveState.h +++ b/pcsx2/SaveState.h @@ -24,7 +24,7 @@ // the lower 16 bit value. IF the change is breaking of all compatibility with old // states, increment the upper 16 bit value, and clear the lower 16 bits to 0. -static const u32 g_SaveVersion = (0x9A13 << 16) | 0x0000; +static const u32 g_SaveVersion = (0x9A14 << 16) | 0x0000; // this function is meant to be used in the place of GSfreeze, and provides a safe layer // between the GS saving function and the MTGS's needs. :)