mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-10-14 23:10:33 +02:00
Both DirtyVRAM and GetTargetFlags counted blocks from the size alone, so a range starting partway into a block missed its last block: a write there didn't mark it dirty, and a snapshot didn't check it. And GetTargetFlags marked the partly covered last block clean, since its `i < blocks` was always true. Either way a later snapshot could be flagged unchanged while the dump didn't have the data. Memcpy and memset also marked partly covered blocks clean. Checked against the recorder's own copy of what the dump delivered: recording from savestates, 4511 of Cars Race-O-Rama's unchanged snapshots and 103 of MX vs ATV Reflex's didn't match VRAM (small textures at unaligned addresses), and none do now. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>