mirror of
https://github.com/hrydgard/ppsspp.git
synced 2024-11-23 13:30:02 +00:00
Reorder savestates to put memory before CoreTiming.
Also, don't clear the JIT for rounding after saving, only after loading.
This commit is contained in:
parent
5ce43215b9
commit
718cb9ee4a
@ -135,7 +135,9 @@ void Jit::DoState(PointerWrap &p) {
|
||||
Do(p, js.startDefaultPrefix);
|
||||
if (s >= 2) {
|
||||
Do(p, js.hasSetRounding);
|
||||
js.lastSetRounding = 0;
|
||||
if (p.mode == PointerWrap::MODE_READ) {
|
||||
js.lastSetRounding = 0;
|
||||
}
|
||||
} else {
|
||||
js.hasSetRounding = 1;
|
||||
}
|
||||
|
@ -335,7 +335,7 @@ namespace SaveState
|
||||
|
||||
void SaveStart::DoState(PointerWrap &p)
|
||||
{
|
||||
auto s = p.Section("SaveStart", 1, 2);
|
||||
auto s = p.Section("SaveStart", 1, 3);
|
||||
if (!s)
|
||||
return;
|
||||
|
||||
@ -357,8 +357,10 @@ namespace SaveState
|
||||
saveDataGeneration = 0;
|
||||
}
|
||||
|
||||
// Gotta do CoreTiming first since we'll restore into it.
|
||||
CoreTiming::DoState(p);
|
||||
// Gotta do CoreTiming before HLE, but from v3 we've moved it after the memory stuff.
|
||||
if (s <= 2) {
|
||||
CoreTiming::DoState(p);
|
||||
}
|
||||
|
||||
// Memory is a bit tricky when jit is enabled, since there's emuhacks in it.
|
||||
auto savedReplacements = SaveAndClearReplacements();
|
||||
@ -376,6 +378,10 @@ namespace SaveState
|
||||
Memory::DoState(p);
|
||||
}
|
||||
|
||||
if (s >= 3) {
|
||||
CoreTiming::DoState(p);
|
||||
}
|
||||
|
||||
// Don't bother restoring if reading, we'll deal with that in KernelModuleDoState.
|
||||
// In theory, different functions might have been runtime loaded in the state.
|
||||
if (p.mode != p.MODE_READ)
|
||||
|
Loading…
Reference in New Issue
Block a user