This reverts the code, tests and USAGE.md change of commit 420b6a064e
(#12621). The docs/dev/debt/relinker.md line is left for the follow-up
that brings the deferral back with dependency start, to keep a running
batch that edits the same file valid.
Soul Hackers 2 (PPSA03743) stops about 2.6 s into boot on Windows with an
access violation on UnityGfxDeviceWorker inside SPFXUnityPlugin.prx since
this change. klosixgaming-arch bisected main's merge commits to 420b6a064e
and confirmed that undoing its dependency filter makes the title boot again
(https://github.com/boykopovar/AnyPS5/pull/12621#issuecomment-6587462742).
SPFXUnityPlugin (Media/Plugins) calls into Il2CppUserAssemblies
(Media/Modules). With #12621 that dependency is deferred, and loading a
deferred module does not start the deferred modules it needs, so it is
never started. The revert restores the previous Windows behaviour, where a
module another module needs starts at startup.
Resolve guest providers separately from host exports, require matching
exports and resolution edges, and prefer exact filenames before suffix
fallback. Preserve real host gaps and import reference counts.
Add synthetic CLI regressions and clarify named module classification.
Fixes#14322
Check the enabled layers before querying pipeline binary features. A
validation or gfxreconstruct layer older than Vulkan 1.3.294 wraps
handles but passes the extension's commands to the driver unchanged, so
keep the driver pipeline cache path there and when enumeration fails.
Cover the layer decisions with a fake enumerator.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
A costly build whose binaries cannot be extracted or stored, and a
rejected capture build, now leave a capture-failure marker, so later
runs build that recipe through the driver cache instead of repeating a
capture build with a null pipeline cache. Lowering the time threshold
does not retry these markers; a driver change does. Existing
below-threshold markers stay compatible and retryable.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Capture costly compute builds and restore matching recipes after checking
full recipes, driver fingerprints and Vulkan compatibility keys. Add size
and time thresholds, opt-out, atomic persistence and corruption/rejection
fallback.
Remember below-threshold recipes in separate files so competing decisions
cannot overwrite captured binaries. Prefer saved binaries and retry
capture when the time threshold is lowered.
Cover compatibility, fallback, deterministic competing writers and
cross-process capture, restore and corruption.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Keep driver blobs outside source-version cleanup and import compatible
legacy caches. Persist equal-size content changes and retry incomplete
snapshots without replacing the previous file.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
The limit only lowers the rate below the output's refresh, delays no title
that is already slower, does not burst after a stall, sleeps then spins,
handles window events between flips, can show uneven refresh counts under
fifo, and is a host choice.
States the accepted range, that the title's flip completes at the limited
rate and that the title is not told, that 0, empty and unset mean no limit,
and that any other value stops the game at its first flip with an error that
names the variable.
Recognize the inlined __syscall6 wrappers of ps5-payload-dev SDK libc/mount.c (mount, nmount, unmount) under --trap-sdk-syscall-stubs, with the four-byte syscall number immediate masked so an SDK build that renumbers the call still matches. The three wrappers differ in argument preparation, so each sequence is matched separately.
Observed in ftpsrv v0.21.1 (0x709a, 0x70ec, 0x713c) and websrv v0.35 (0xae6a, 0xaebc, 0xaf0c). Related: issue #8624, open draft PR #8729 covers mount only.
Adds the ANYPS5_PAD_IDENTIFY section after the vibration strength
section: the modes, the pattern per player, the quiet window, what
happens when the game rumbles, the ANYPS5_RUMBLE scale, the no-rumble
and keyboard cases, the invalid-value error, and that the pulses are a
host-side choice that has not been measured on hardware.
The libraries badge divides implemented by declared functions, so it drops
whenever a pull request declares many throwing exports at once, even while
implementations land daily. The history page now draws the daily change in
implemented functions, and a new badge-week.svg reports the gain over the
last 7 days, linked from the README status row.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Add a section on ANYPS5_PSN_DIALOGS: which dialogs finish silently without
PlayStation Network, what show displays, how the notice takes input and how
often it appears, and what the other values do.