mirror of
https://github.com/libretro/parallel-ps2.git
synced 2026-11-10 11:21:36 -10:00
Defrost wrote the whole 4 MiB of VRAM as a host write, so every page lost its texture cache and super samples and, on a GPU with VRAM of its own, was uploaded again, even where the state holds the bytes the page already has. The state's VRAM is now compared page by page with what is there and only the runs of changed pages are written; under runahead, which loads every frame, most pages are unchanged. pgs_next_changed_run in PGSStateVRAM.h is C89, and tests/pgs holds its runs against a page-by-page compare, with a control that drops the run at the end of VRAM.