Commit Graph
14017 Commits
Author SHA1 Message Date
Alexej Szpevák 5057a9e54d fix(libkernel): report ELOOP and ENAMETOOLONG from truncate
sceKernelTruncate's status query fails with too_many_symbolic_link_levels for a link loop and filename_too_long for an over-long name, and the call answered ENOENT for both. It now returns ELOOP or ENAMETOOLONG through PathLookupFailure, and truncate sets the same errno.
2026-10-20 13:31:52 +02:00
Alexej Szpevák eead108c3b fix(libkernel): report ELOOP and ENAMETOOLONG from mkdir and rmdir
#6648 taught open, unlink and stat to report a symbolic link loop and an over-long name, but sceKernelMkdir and sceKernelRmdir still lost them: their std::filesystem queries fail with filename_too_long or too_many_symbolic_link_levels and the code went on to ENOENT, EIO or ENOTDIR. A PathLookupFailure check after those queries now returns the guest error (ELOOP 62, ENAMETOOLONG 63) as FreeBSD's namei does, and the POSIX wrappers set the same errno. guest_path_errors covers the open, unlink, stat, rename, mkdir and rmdir paths with a self-referencing link, a two-link cycle, a 300-byte name and each as a path prefix; it is UNIX-only because it creates symbolic links.
2026-10-20 13:31:44 +02:00
Adrià FranchandClaude Sonnet 5.5 32a3c59650 fix(libScePlayerSelectionDialog): unwind the test exe on Windows so the NotImplemented throw is catchable
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-20 13:30:29 +02:00
Adrià Franch 648d19f91e fix(libScePlayerSelectionDialog): link libc into the test for NotImplemented_nid_no_patch 2026-10-20 13:30:24 +02:00
al3w0f205 9f6924cc1d feat(libScePlayerSelectionDialog): add scePlayerSelectionDialogParamInitialize stub and tests 2026-10-20 13:30:24 +02:00
Adrià d50ec76da0 Merge pull request #7656 from andreamatt/fix/progress-history-utc-days
fix(progress_history): take history days in UTC
2026-10-20 13:25:16 +02:00
Adrià b9a097353c Merge pull request #7556 from MarcZX10/codex/libkernel-sysctl-mib-enoent
fix(libkernel): return ENOENT for measured absent sysctl MIBs
2026-10-20 13:23:08 +02:00
Adrià e25c9758e0 Merge pull request #7641 from milescoviello/fix/msaa-target-recreated-xor
fix(agc): reimport a multisampled target recreated with another pipe-bank XOR
2026-10-20 13:18:14 +02:00
Adrià 8afd6ea478 Merge pull request #7660 from savvaniss/fix/sce-code-gaps
fix(relinker): resume scans after undecodable bytes between PS4 unwind functions
2026-10-20 13:17:15 +02:00
AnyPS5 Contributors aea2ca9b78 fix(windows): restore write tracking for resident direct remaps 2026-10-20 13:16:49 +02:00
Adrià 437de6392f Merge pull request #7652 from billythemenace2/fix/kernel-raise-outside-host-code
fix(libkernel): redirect a raise only once the target leaves host code
2026-10-20 13:16:49 +02:00
AnyPS5 Contributors 91aa7dc605 test(windows): reproduce stale write tracking on direct remaps 2026-10-20 13:16:49 +02:00
Josip ParlovandJJenkx 16daeffb65 test(agc): sweep the storage image budget across heap sizes and pressure
Checks the floor and caps, that more memory used outside the texture
caches never raises the budget, and that a budget above the floor
leaves room for the live sampled textures plus an eighth of the budget,
on 2-32 GiB heaps.

Co-authored-by: JJenkx <[email protected]>
2026-10-20 13:09:21 +02:00
Josip Parlov 321460a4ed fix(agc): reserve only the sampled textures alive from the storage image budget
StorageTextureBudget reserved the larger of the sampled textures alive
and their 2 GiB floor. The sampled budget already reserves
TextureCacheBudget, at least the storage cap, for the storage cache, so
on an 8 GB card the two caches each kept the other's maximum: with
3936 MiB used outside the caches on a 7189 MiB budget and 49 MiB of
sampled textures, the storage budget came out at 306 MiB and sat at its
512 MiB floor while about 2.7 GB of the budget stayed free.

The storage budget now reserves the sampled textures alive and gives
room back as they grow, at its next read. Where they hold 2 GiB or more
the budget is unchanged.
2026-10-20 13:09:20 +02:00
Adrià 1d41645527 Merge pull request #7633 from WallisSkill/fix/dualsense-audio-haptics
fix(libSceVideoOut): rumble a DualSense from haptic audio without a sound card
2026-10-20 13:07:58 +02:00
Adrià d3633bd9e3 Merge pull request #7554 from MarcZX10/codex/libkernel-rng-pseudo-mib
fix(libkernel): support kern.rng_pseudo MIB access
2026-10-20 13:06:57 +02:00
Adrià FranchandClaude Sonnet 5.5 6eb1168e69 test(libc): set the zone in guest_time_extras through the guest setenv/tzset
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-20 13:06:49 +02:00
hypermistandClaude Opus 5.5 becb78b704 feat(libc): implement gmtime_r, localtime_r, timegm and the Dinkumware xtime helpers
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-20 13:06:39 +02:00
Seif Allah Karoui be27ffa12c test(libkernel): harden signed-byte memory protection coverage 2026-10-20 12:06:06 +01:00
Adrià 6220506553 Merge pull request #7570 from Amoenus/codex/fix-sampled-cache-gpu-selector
fix(tests): honor GPU selection in sampled-cache fixtures
2026-10-20 13:05:55 +02:00
Federico Marras 367648cb79 feat(libSceVideoRecordingP): report a recorder that is never open in sceVideoRecordingGetStatus 2026-10-20 13:05:00 +02:00
Adrià 809aab71d8 Merge pull request #7630 from JJenkx/fix/shader-scheduled-table-index
fix(shader): follow scheduled jump table index writes
2026-10-20 13:04:54 +02:00
Adrià 6c94343e04 Merge pull request #7627 from JJenkx/fix/agc-infinite-depth-bounds
fix(agc): preserve infinite depth bounds
2026-10-20 13:04:48 +02:00
Federico Marras d3629b034b feat(libSceVdecsw): report VP9 picture info in sceVdecswGetVp9PictureInfo 2026-10-20 13:00:41 +02:00
Adrià 36b72ad84a Merge pull request #7632 from WallisSkill/fix/pad-output-coalesce
fix(libSceVideoOut): coalesce controller output updates
2026-10-20 13:00:37 +02:00
akkadbakkad89 ea931ada35 feat(libSceNpGameIntent): implement the AppLauncher lifecycle AC Shadows calls
Generated with [Devin](https://devin.ai)
2026-10-20 16:28:09 +05:30
Adrià 891d567515 Merge pull request #7610 from milescoviello/fix/spirv-failure-hash-hex
fix(shader): print the shader hash of a SPIR-V emission failure in hex
2026-10-20 12:56:17 +02:00
Adrià f1d13abca4 Merge pull request #7559 from mugurc/fix/libkernel-listening-socket-macos
fix(libkernel): recognize listening sockets on macOS hosts
2026-10-20 12:56:12 +02:00
Adrià 84be26d93e Merge pull request #7606 from hugodearaujo/fix/agc-register-range-any-alignment
fix(libSceAgc): accept register range values at any byte address, as the console does
2026-10-20 12:55:13 +02:00
pushkarreddyy 3bb39053ae fix(savedata): return parameter error on null arguments in umount2, loadIcon and saveIcon 2026-10-20 12:54:28 +02:00
Dean 294f9d27a3 Merge pull request #8021 from ymatrix1/feat/audioout-missing-exports
feat(libSceAudioOut): export missing firmware audio output interfaces
2026-10-20 23:53:50 +13:00
GruzzberryandClaude Sonnet 5.5 8cae300f8d docs: drop the compatibility clause from the trademark notice
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-20 11:53:13 +01:00
thibautandClaude Opus 5.5 187b1ab247 fix(shader): take the storage write product error from a Dekker two-product
GLSL Fma is not required to be fused: llvmpipe splits it into a
multiply and an add, so the residual came out 0 and ties fell back to
round-to-even of the rounded product. Split both factors (Veltkamp,
4097) and sum the partial products with correctly rounded operations
only, every one NoContraction, so the error is exact on every device.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_016TuDcnUv4yXWYDS6ZUqCdG
2026-10-20 12:52:31 +02:00
Adrià 777bd0f4b2 Merge pull request #7564 from slopggobblercobbler81/fix/appcontent-download-error-codes
fix(libSceAppContent): return NOT_MOUNTED for invalid download mount point
2026-10-20 12:51:43 +02:00
xXPBSXxandClaude Sonnet 5.5 308848e1a6 fix(libc): resolve the rename source before the destination argument
FreeBSD 11.4 kern_renameat looks up the source first (namei on fromnd),
so a missing or dot source fails with ENOENT or EINVAL before the new
name is touched. The guest call rejected a NULL, empty or dot destination
first, so rename(missing, NULL) returned EFAULT and rename(missing, ".")
returned EINVAL where FreeBSD returns ENOENT.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-20 12:51:02 +02:00
orezraeyandClaude Opus 5.5 1529a5cf31 test(recompiler): read the cache fixture's build.ninja in the Ninja build-file encoding
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-20 07:45:53 -03:00
Federico Marras 213d68cfee feat(libSceMbus): report a device set that never changes in sceDeviceServiceGetGeneration 2026-10-20 12:45:30 +02:00
Adrià 7602dde042 Merge pull request #7603 from HQasper/fix/coherent-dwordx2-store
fix(recompiler): write a coherent dwordx2 as one 64-bit atomic store
2026-10-20 12:44:28 +02:00
Adrià 5bb37bec5d Merge pull request #7553 from iAlturki/fix_trace_digest_utf8_bom
fix(tools): accept UTF-8 BOMs in trace digest inputs
2026-10-20 12:44:23 +02:00
orezraeyandClaude Opus 5.5 e5de2a9b7d test(tools): run the hw-oracle oracle.cmd fixture from non-ASCII paths
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-20 07:40:52 -03:00
Jota d502c75b5f fix(tools): skip commented workflow lines when finding test scripts
A YAML comment line such as '# python3 tools/tests/test_x.py' counted as a run, because only a comment after a space was stripped. Skip lines whose first non-blank character is '#', also inside run blocks, and strip a trailing comment after any whitespace.
2026-10-20 12:39:44 +02:00
Jota 34d3199601 fix(tools): fail when a test_*.py script is never run
check_test_registration.py only audits built test executables, so a Python test that no add_test or workflow names is silently skipped. Add a --scripts mode that lists the tracked test_*.py scripts and fails for any not run by an add_test of a CMakeLists or a python step of a workflow, and register it as a ctest so the relinker builds run it.
2026-10-20 12:39:44 +02:00
Adrià 01e5f8f199 Merge pull request #7552 from voidlakhan/fix/pad-invalid-argument-errors
fix(pad): return invalid argument error on null buffer in scePadRead and scePadReadState
2026-10-20 12:31:46 +02:00
MarcZX10 99e87ce36f test(libkernel): avoid flaky random byte assertion 2026-10-20 12:29:39 +02:00
MarcZX100 7b05271abb fix(libkernel): support kern.rng_pseudo MIB access 2026-10-20 12:29:39 +02:00
Adrià 6bd02dd915 Merge pull request #7545 from ionut27001/fix/libc-strtod-nan-payload
fix(libc): parse NaN payloads in strtod as measured on a PS5
2026-10-20 12:25:58 +02:00
Adrià b944cf141c Merge pull request #7456 from Cankiee/fix/checker-git-errors
fix(tools): handle git command failures gracefully
2026-10-20 12:25:53 +02:00
Adrià 9299e6fd8a Merge pull request #7542 from ionut27001/fix/libkernel-rng-pseudo-block
fix(libkernel): return kern.rng_pseudo in 64-byte blocks as measured on a PS5
2026-10-20 12:24:51 +02:00
Adrià d2d9b1057b Merge pull request #7533 from hugodearaujo/fix/agc-cube-extra-slices
fix(agc): decode cube descriptors with slices past their last whole cube
2026-10-20 12:24:46 +02:00
Dean e41fb9db5d Merge pull request #8009 from primesoul-web/feat/ime-open-filters
feat(libs): the sceImeOpen text and external-keyboard filters
2026-10-20 23:20:35 +13:00