AnyPS5/core/libs
AlxcBTW ca95f74097 perf(agc-driver): join the imports of adjacent ranges of any size that a buffer is bound exactly over
A bound buffer is joined across adjacent registered ranges only when every
one of them is larger than the 8 MiB window. PPSA25344's loading binds 16 MiB
and 4 MiB buffers whose backing was registered in two to six adjacent
pieces with the same access, some of them smaller than the window, so each
use of such a buffer was copied on the CPU: up to 348 GB in the first 300 s
of loading.

A bound buffer that starts at the first crossed range's start and ends at the
last one's end now joins those ranges whatever their size. A heap grown in
pieces matches that only for a binding over exactly its current pieces, so
growth beside a joined import does not re-import it. joinedCovers, used when a
joined import retires, accepts any adjacent run of ranges.

importJoinTests binds exactly over two 64 KiB pieces of a partly filled
window and requires one import of both; a binding across them that starts
inside the first piece stays apart.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 13:34:31 +13:00
..
nid Merge pull request #4619 from MiniRML/fix/nid-version-requirement-chains 2026-10-13 17:31:25 +02:00
prx perf(agc-driver): join the imports of adjacent ranges of any size that a buffer is bound exactly over 2026-10-14 13:34:31 +13:00
tests Merge pull request #4508 from jradelmo/feat/flexible-memory-budget 2026-10-14 13:13:03 +13:00
CMakeLists.txt Merge pull request #3870 from yash27git/clean/Direct-Memory-Exception 2026-10-14 05:55:11 +13:00
HitLog.hpp
…
SceShaders.hpp
…
SceTypes.hpp Merge pull request #4682 from bubblegg/feat/netctl-get-if-stat 2026-10-13 09:26:47 +02:00