AnyPS5/core/libs/prx
STL1te 119560206d feat(agc-driver): heap ranges the host imports did not take are mirrored
An address-based build maps every readable registered range. A heap
range past APS5_HOST_IMPORT_MIB (or refused by the driver) was copied by
every such build: about 3200 ranges, 670 MiB and 500 ms per build on the
story-mode load, which then stalled. Such ranges are now served by
persistent host-cached mirrors, as the main image is, and the load
reaches its next failure.

- a heap mirror keeps no shadow; it keeps a write-tracking generation
  per 64 KiB block and a build copies only the blocks stamped since. The
  generation is stored by the copy, so a build that throws before it
  leaves no block marked current with stale bytes
- the build gathers its heap mirrors, sorts them and collects each run
  of adjacent ranges once (a collect costs about 4 us whatever its size;
  ~3000 mirrors took 16 ms per build, now about 3 ms)
- writable ranges are mirrored too: each build keeps the bytes its merged
  written ranges held at upload and write-back stores only what the GPU
  changed from them, so a CPU store made meanwhile stays; recorded work
  writing a range completes before a refresh reads it
- the mirrors are limited by APS5_HEAP_MIRROR_MIB (24 GiB by default); a
  mirror past it, or one whose buffer the driver refuses, stops the
  process. Heap mirrors are not given to descriptor sub-ranges, image
  mirror serials or reusable direct regions
- past APS5_ADDRESS_COPY_MAX_MIB (64 MiB by default) of committed bytes
  still copied, a build stops the process, naming the largest ranges and
  why each is copied (unreadable pages, an image mirror the driver
  refused, a range outside the write-watched arena, mirrors disabled)
- a direct memory page mapped at several addresses is read-only in every
  view while its range stays writable: copies, descriptor regions and
  mirrors take every readable page, write-back stores the writable ones
  and fails on a GPU change inside a read-only page instead of dropping it
- a store through the BDA table into a mirrored or copied range faults
  as before (only writable ranges imported in place are writable there);
  the fault now names the table range and that rule
- the BDA resource tests run with a storage range limit that holds the
  fault buffer and cover a mirror's fill, reuse, per-block refill, an
  interrupted refresh, a descriptor store beside a concurrent CPU store,
  and the copy limit

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 21:22:23 +03:00
..
libReactNative.Modules.Vsh feat(libs): define vabi macros + add to declarations 2026-09-10 08:07:03 +03:00
libReactNative.Modules.Vsh.WebAppLauncher feat(libs): define vabi macros + add to declarations 2026-09-10 08:07:03 +03:00
libRenoirCore.PS5 Renoir stubs throw with NID name for progress monitoring 2026-09-27 15:53:27 +02:00
libSceAcm feat(libs): agc packet builders, savedata memory, offline service stubs 2026-09-25 16:27:49 -07:00
libSceAgc fix(agc): EOP PatchData takes (cmd, data); -KRzWekV120 sets the index size 2026-09-29 21:22:16 +03:00
libSceAgcDriver feat(agc-driver): heap ranges the host imports did not take are mirrored 2026-09-29 21:22:23 +03:00
libSceAgcVsh refactor(libkernel): merged dup pthread functions from _sys and _web 2026-09-13 16:24:42 +03:00
libSceAjm feat(libs): agc packet builders, savedata memory, offline service stubs 2026-09-25 16:27:49 -07:00
libSceAjm.native feat(audio): AJM MP3 through FFmpeg, 16-bit and ambisonic AudioOut2, voice 2026-09-29 21:22:15 +03:00
libSceAjmi feat(libs): agc packet builders, savedata memory, offline service stubs 2026-09-25 16:27:49 -07:00
libSceAmpr feat(libs): agc packet builders, savedata memory, offline service stubs 2026-09-25 16:27:49 -07:00
libSceAppContent feat(libs): system services for a console without PSN, dialogs or streaming 2026-09-29 21:22:16 +03:00
libSceAudio feat(libs): define vabi macros + add to declarations 2026-09-10 08:07:03 +03:00
libSceAudio3d feat(libs): define vabi macros + add to declarations 2026-09-10 08:07:03 +03:00
libSceAudioIn feat(libs): define vabi macros + add to declarations 2026-09-10 08:07:03 +03:00
libSceAudioOut feat(audio): AJM MP3 through FFmpeg, 16-bit and ambisonic AudioOut2, voice 2026-09-29 21:22:15 +03:00
libSceAudioPropagation feat(libs): define vabi macros + add to declarations 2026-09-10 08:07:03 +03:00
libSceAudiodec feat(libs): define vabi macros + add to declarations 2026-09-10 08:07:03 +03:00
libSceAudiodec.native feat(libs): define vabi macros + add to declarations 2026-09-10 08:07:03 +03:00
libSceAvPlayer feat(libSceAvPlayer): implement full AvPlayer state machine 2026-09-28 13:29:23 +03:00
libSceAvPlayer.native feat(libSceAvPlayer): implement full AvPlayer state machine 2026-09-28 13:29:23 +03:00
libSceCesCs feat(libs): agc packet builders, savedata memory, offline service stubs 2026-09-25 16:27:49 -07:00
libSceCommonDialog feat(libs): define vabi macros + add to declarations 2026-09-10 08:07:03 +03:00
libSceContentDelete feat(libs): system services for a console without PSN, dialogs or streaming 2026-09-29 21:22:16 +03:00
libSceContentExport feat(libs): system services for a console without PSN, dialogs or streaming 2026-09-29 21:22:16 +03:00
libSceContentSearch feat(libs): system services for a console without PSN, dialogs or streaming 2026-09-29 21:22:16 +03:00
libSceConvertKeycode style(prx): apply CONVENTIONS.md to misc PRX additions 2026-09-29 04:24:39 +03:00
libSceErrorDialog feat(libs): define vabi macros + add to declarations 2026-09-10 08:07:03 +03:00
libSceFiber refactor(fiber): keep the assembly entry points out of NID patching with _nid_no_patch 2026-09-28 19:46:38 +13:00
libSceFont build(font): build FreeType from a submodule instead of requiring a system package 2026-09-28 22:03:39 +13:00
libSceFont-module fix(font): build PS5 module-named font libraries 2026-09-29 10:36:48 +10:00
libSceFont.native feat(font): port shadPS4's sceFont and sceFontFt on FreeType 2026-09-28 16:45:30 +13:00
libSceFontFt fix(font): build PS5 module-named font libraries 2026-09-29 10:36:48 +10:00
libSceFontFt-module fix(font): build PS5 module-named font libraries 2026-09-29 10:36:48 +10:00
libSceGameLiveStreaming feat(libs): system services for a console without PSN, dialogs or streaming 2026-09-29 21:22:16 +03:00
libSceGameUpdate feat(libs): agc packet builders, savedata memory, offline service stubs 2026-09-25 16:27:49 -07:00
libSceHttp feat(libs): agc packet builders, savedata memory, offline service stubs 2026-09-25 16:27:49 -07:00
libSceHttp2 feat(libs): agc packet builders, savedata memory, offline service stubs 2026-09-25 16:27:49 -07:00
libSceIme feat(libs): system services for a console without PSN, dialogs or streaming 2026-09-29 21:22:16 +03:00
libSceImeBackend feat(libs): throw not impl ex in every stub 2026-09-06 15:05:04 +03:00
libSceImeDialog feat(runtime): timed waits, sync primitive fixes, heap and RTC fixes, unattended-run switches 2026-09-26 19:00:39 -07:00
libSceJpegEnc fix(jpegenc): hide shared encoder symbols and document grayscale output 2026-09-29 15:17:27 +01:00
libSceJson2 fix(json2): referValue returns null for a missing member, getters return references 2026-09-29 13:02:54 +13:00
libSceKeyboard feat(libs): define vabi macros + add to declarations 2026-09-10 08:07:03 +03:00
libSceLibcInternal feat(libc): operator new/delete, bounds-checked functions, char locale facets and runtime helpers 2026-09-28 14:22:48 +13:00
libSceLoginDialog feat(libs): define vabi macros + add to declarations 2026-09-10 08:07:03 +03:00
libSceMouse feat(libSceVideoOut): route SDL mouse events to libSceMouse 2026-09-28 11:45:31 +02:00
libSceMsgDialog feat(libSceMsgDialog): real dialog state machine, auto-answer without UI 2026-09-28 13:28:49 +03:00
libSceMsgDialog.native feat(libs): system services for a console without PSN, dialogs or streaming 2026-09-29 21:22:16 +03:00
libSceNet feat(net): offline socket/epoll/resolver stack with FreeBSD errno mapping 2026-09-28 12:45:34 +03:00
libSceNetCtl feat(libs): agc packet builders, savedata memory, offline service stubs 2026-09-25 16:27:49 -07:00
libSceNgs2 feat(libs): define vabi macros + add to declarations 2026-09-10 08:07:03 +03:00
libSceNgs2.native feat(libs): define vabi macros + add to declarations 2026-09-10 08:07:03 +03:00
libSceNpAuth feat(libs): define vabi macros + add to declarations 2026-09-10 08:07:03 +03:00
libSceNpCommerce feat(libs): system services for a console without PSN, dialogs or streaming 2026-09-29 21:22:16 +03:00
libSceNpCppWebApi feat(libs): agc packet builders, savedata memory, offline service stubs 2026-09-25 16:27:49 -07:00
libSceNpEntitlementAccess feat(libs): system services for a console without PSN, dialogs or streaming 2026-09-29 21:22:16 +03:00
libSceNpGameIntent feat(libs) libSceNpGameIntent impl + refactor NpUniversalDataSystem 2026-09-12 18:53:36 +03:00
libSceNpManager feat(libs): system services for a console without PSN, dialogs or streaming 2026-09-29 21:22:16 +03:00
libSceNpSessionSignaling feat(libs): agc packet builders, savedata memory, offline service stubs 2026-09-25 16:27:49 -07:00
libSceNpTrophy2 fix(libs): ex from libc prx: unwind for catch fix (mingw) 2026-09-13 19:21:31 +03:00
libSceNpUniversalDataSystem fix(libs): ex from libc prx: unwind for catch fix (mingw) 2026-09-13 19:21:31 +03:00
libSceNpUtility feat(libs): system services for a console without PSN, dialogs or streaming 2026-09-29 21:22:16 +03:00
libSceNpWebApi2 feat(libs): agc packet builders, savedata memory, offline service stubs 2026-09-25 16:27:49 -07:00
libScePad refactor(pad): trim comments and apply naming conventions 2026-09-29 04:24:39 +03:00
libScePlayGo style(prx): apply CONVENTIONS.md to misc PRX additions 2026-09-29 04:24:39 +03:00
libScePlayerInvitationDialog feat(libs): system services for a console without PSN, dialogs or streaming 2026-09-29 21:22:16 +03:00
libScePlayerSelectionDialog feat(libs): system services for a console without PSN, dialogs or streaming 2026-09-29 21:22:16 +03:00
libScePngDec feat(libs): define vabi macros + add to declarations 2026-09-10 08:07:03 +03:00
libScePngEnc refactor(prx): drop the PNG encoder from this PR 2026-09-29 14:12:42 +03:00
libScePosixForWebKit feat(posix): translate guest address resolution APIs 2026-09-25 06:15:32 +10:00
libScePsml_debug feat(libs): agc packet builders, savedata memory, offline service stubs 2026-09-25 16:27:49 -07:00
libSceRandom feat(random): implement sceRandomGetRandomNumber 2026-09-26 12:14:46 +02:00
libSceRazorCpu feat(libs): system services for a console without PSN, dialogs or streaming 2026-09-29 21:22:16 +03:00
libSceRemoteplay feat(libs): system services for a console without PSN, dialogs or streaming 2026-09-29 21:22:16 +03:00
libSceRtc feat(runtime): timed waits, sync primitive fixes, heap and RTC fixes, unattended-run switches 2026-09-26 19:00:39 -07:00
libSceRudp feat(net): offline socket/epoll/resolver stack with FreeBSD errno mapping 2026-09-28 12:45:34 +03:00
libSceSaveData fix(build): use portable save paths and validate all PRX libraries in CI 2026-09-29 02:24:56 +03:00
libSceSaveData.native feat(savedata): mount aliasing, wildcard search, memory slots, async events 2026-09-28 12:48:09 +03:00
libSceSaveDataDialog feat(savedata): mount aliasing, wildcard search, memory slots, async events 2026-09-28 12:48:09 +03:00
libSceSaveDataDialog.native feat(libs): define vabi macros + add to declarations 2026-09-10 08:07:03 +03:00
libSceShare feat(libs): agc packet builders, savedata memory, offline service stubs 2026-09-25 16:27:49 -07:00
libSceShare.native feat(libs): agc packet builders, savedata memory, offline service stubs 2026-09-25 16:27:49 -07:00
libSceSharePlay feat(libs): system services for a console without PSN, dialogs or streaming 2026-09-29 21:22:16 +03:00
libSceSigninDialog feat(libs): define vabi macros + add to declarations 2026-09-10 08:07:03 +03:00
libSceSsl feat(libs): agc packet builders, savedata memory, offline service stubs 2026-09-25 16:27:49 -07:00
libSceSysmodule fix: correct sscanf %x signedness and avoid a substr copy 2026-09-26 14:11:50 -06:00
libSceSystemGesture feat(libs): agc packet builders, savedata memory, offline service stubs 2026-09-25 16:27:49 -07:00
libSceSystemService feat(libs): system services for a console without PSN, dialogs or streaming 2026-09-29 21:22:16 +03:00
libSceUlt fix(libs): fix args sysv abi for types (windows) 2026-09-10 19:54:03 +03:00
libSceUserService feat(userservice): user name, user number and accessibility settings of the initial user 2026-09-28 14:22:48 +13:00
libSceVideoOut feat(agc-driver): depth/stencil and mip-chain targets, more color formats 2026-09-29 21:22:15 +03:00
libSceVideoRecordingP feat(libs): system services for a console without PSN, dialogs or streaming 2026-09-29 21:22:16 +03:00
libSceVoice feat(audio): AJM MP3 through FFmpeg, 16-bit and ambisonic AudioOut2, voice 2026-09-29 21:22:15 +03:00
libSceVoiceChat style(prx): apply CONVENTIONS.md to misc PRX additions 2026-09-29 04:24:39 +03:00
libSceVoiceQoS feat(libs): define vabi macros + add to declarations 2026-09-10 08:07:03 +03:00
libSceWebBrowserDialog feat(libs): system services for a console without PSN, dialogs or streaming 2026-09-29 21:22:16 +03:00
libc test(agc-driver): the graphics and BDA device tests link and run to the end 2026-09-29 21:22:23 +03:00
libcohtml Merge pull request #103 from boykopovar/feat/provide-release 2026-09-29 00:25:39 +03:00
libfmod refactor(docs): separated user and dev in docs + compatibility file 2026-09-28 22:58:17 +03:00
libfmodstudio feat(prx): fmodstudio unknown NIDs throw via NotImplemented 2026-09-27 16:10:41 +02:00
libkernel feat(kernel): sceKernelDebugWriteCppExceptionInfo prints the uncaught C++ exception 2026-09-29 21:22:23 +03:00
libkernel_sys refactor(libkernel): merged dup pthread functions from _sys and _web 2026-09-13 16:24:42 +03:00
libkernel_web refactor(libkernel): merged dup pthread functions from _sys and _web 2026-09-13 16:24:42 +03:00
ulobjmgr feat(libs): system services for a console without PSN, dialogs or streaming 2026-09-29 21:22:16 +03:00