mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-10-01 14:58:14 +00:00
Savestate: Reset video frame tracking and ME busy time on load
Neither is serialized, and both went stale on load. The ME busy time was measured against the pre-load clock, so loading an earlier state made the next SAS/codec job wait until the old time came around, freezing the game. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
This commit is contained in:
1 parent
8d62ae04dd
commit
40a70b004c
2 files changed
+8
No files matched your search
@@ -112,6 +112,7 @@ void GPUCommon::Reinitialize() {
|
||||
drawCompleteTicks = 0;
|
||||
busyTicks = 0;
|
||||
interruptsEnabled_ = true;
|
||||
videos_.clear();
|
||||
|
||||
if (textureCache_)
|
||||
textureCache_->Clear(true);
|
||||
@@ -1722,6 +1723,8 @@ void GPUCommon::DoState(PointerWrap &p) {
|
||||
p.SetError(p.ERROR_FAILURE);
|
||||
return;
|
||||
}
|
||||
// Video frames aren't saved, and the ones before the load are no longer in memory.
|
||||
videos_.clear();
|
||||
}
|
||||
// List 0 looks the same as no list here, but no list means an empty queue.
|
||||
if (currentID == 0 && (dlQueue.empty() || dlQueue.front() != 0)) {
|
||||
|
||||
Reference in new issue
Block a user