Commit Graph
20967 Commits
Author SHA1 Message Date
xXPBSXxandClaude Sonnet 5.5 fba61c0da0 docs(debt): shorten the pathconf entry under the length limit
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-23 14:01:12 +02:00
JAB-devandClaude Sonnet 5.5 2375223a92 fix(libSceNgs2): an all-zero sampler setup leaves an earlier setup untouched, as the PS5 module does
The PS5 libSceNgs2.native module (firmware 3.20 and 4.03) accepts a setup with an all-zero format on a configured voice and keeps its format, so a play afterwards succeeds. The guard for a play on a voice with no channels would otherwise fail it.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-23 14:00:47 +02:00
JAB-devandClaude Sonnet 5.5 45b061fa6c Merge branch 'main' of https://github.com/boykopovar/AnyPS5 into fix/ngs2-play-without-setup
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-23 13:59:13 +02:00
ntamas94andClaude Opus 5.5 e284395f58 fix(agc): keep hundreds of raw shader snapshots cached
ReadRawShader evicted snapshots past 64 entries or 8 MiB. A snapshot owns
its prepared artifacts, so an evicted unregistered shader was recompiled
on its next use. PS4 titles do not register their shaders: Knowledge is
Power cycles through 383 of them in its menus and recompiled them 341 136
times in 240 s. Raise the limit to 4096 entries or 64 MiB.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 13:58:46 +02:00
orezraey ed75f2fee1 Merge branch 'docs/libc-math-measured-ps5' into fix/libc-strftime-measured-ps5
# Conflicts:
#	docs/dev/debt/libc.md
2026-10-23 08:58:39 -03:00
hypermistandClaude Opus 5.5 702d85e0bc fix(libSceNpCommon): check for a queued callout before writing it
sceNpCalloutStartOnCtx64 cleared and filled the entry before looking for
it in the queue, so restarting a queued callout cut off every callout
queued after it and changed its deadline while the callout thread could
read it. The entry is now written only after the duplicate check under
the context mutex. sceNpArchInit and sceNpArchTerm now hold a lock, so a
second caller no longer returns before the global heap exists. Both
differences from the firmware are recorded in the debt document.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_013XFS3FUfBtqCVfwmBrRQ6q
2026-10-24 00:57:29 +13:00
orezraey a99a56fe83 Merge branch 'fix/libkernel-pthread-attr-measured-ps5' into fix/libkernel-posix-thread-attr-measured-ps5
# Conflicts:
#	docs/dev/debt/libkernel.md
2026-10-23 08:56:44 -03:00
xXPBSXxandClaude Sonnet 5.5 4ee33a5509 docs(debt): note how titles call sceAgcDriverSubmitAcb
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-23 13:56:18 +02:00
Dean 8eb8e39207 Merge pull request #10077 from frankea/fix/system-service-registry-parameters
fix(libSceSystemService): answer the registry-backed integer parameters with values measured on a PS5
2026-10-24 00:55:28 +13:00
Dean 0f8da39aeb Merge pull request #9928 from JJenkx/test/named-shm-unlink-root
test(libkernel): skip the read-only shm unlink case when running as root
2026-10-24 00:54:58 +13:00
Dean 19d0005a47 Merge pull request #9027 from hypermoist/fix/audioout2-mastering-state
fix(libSceAudioOut): track mastering initialization as the console does
2026-10-24 00:54:34 +13:00
Dean 98aef0f7fa Merge pull request #9023 from hypermoist/fix/audioout-info-calls
fix(libSceAudioOut): return what the firmware returns from three info calls
2026-10-24 00:54:12 +13:00
Dean de4be245b8 Merge pull request #8768 from al3w0f205/test/move-close-unknown-handle-coverage
test(libSceMove): assert unknown handle rejection for zero and negative handles
2026-10-24 00:53:47 +13:00
Yunus Shaikh 92de1c6a76 feat(libSceNetCtl): report no error from sceNetCtlGetResult for IPv4 events
sceNetCtlGetResult threw for every event after its initialization and
address checks, and Worms Armageddon: Anniversary Edition (PPSA20052)
and Monster Hunter Wilds (PPSA24191) stop on it at boot; MHW's first
call asks about event 1, a disconnection.

It now answers as sceNetCtlGetResultV6 does: for event types 1 to 3,
disconnected to IP obtained (the numbers sceNetCtlCheckCallback
delivers), it writes 0 to the result and returns 0. Other event types
throw, naming the type. The initialization and null checks come first,
as before. The error code a console reports per event is unconfirmed,
which the library's debt page now records.

The guest NetCtl test covers each supported event, three unsupported
ones with the new message and the result left untouched, and a null
result answered before the event is looked at.
2026-10-23 04:53:12 -07:00
Dean 06fd07ab4a Merge pull request #8700 from nikowolf123/feat/libkernel-underscore-socket-signal-entries
feat(libkernel): export the underscore entry points of the socket, directory and signal calls
2026-10-24 00:53:04 +13:00
orezraeyandClaude Opus 5.5 a431d14efe fix(libkernel): mark a destroyed condition variable with 1 and accept destroying a null one, as measured on a PS5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 08:52:48 -03:00
Daniele Giovane cd3e37795d Merge main and preserve kernel thread tests 2026-10-23 13:52:37 +02:00
orezraeyandClaude Opus 5.5 886a2b249c revert(libkernel): move the destroyed condition marker to its own pull request
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 08:49:24 -03:00
orezraeyandClaude Opus 5.5 c22a810b6b revert(libc): move fetestexcept and the memmem note to their own pull requests
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 08:48:45 -03:00
Dean 74f6fa8e31 Merge pull request #10076 from JJenkx/windows/raise-host-backoff
fix(libkernel): give a raise target time to run between host-code samples
2026-10-24 00:45:09 +13:00
xXPBSXxandClaude Sonnet 5.5 01655d7219 fix(libkernel_sys): answer fpathconf for pipes and _PC_ASYNC_IO as FreeBSD does
kern_fpathconf answers _PC_ASYNC_IO with _POSIX_ASYNCHRONOUS_IO (200112) after the descriptor lookup, and a pipe or socket (no vnode) with PIPE_BUF for _PC_PIPE_BUF and EINVAL for every other name. Drop the unused File.hpp include and the duplicate KernelErrors.hpp include.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-23 13:44:46 +02:00
xXPBSXxandClaude Sonnet 5.5 4e7e4eed8f fix(libkernel_sys): check the fpathconf descriptor with fstat
DescriptorIsOpen_nid_no_patch is not extern "C", so the patched libkernel.prx
does not export it and libkernel_sys.prx fails to load (patched_libraries:
LoadLibraryEx error 127). Check the descriptor like fchown does: GuestFstat on
Windows, fstat elsewhere, EBADF on failure.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-23 13:44:45 +02:00
QuentinRemondandClaude Sonnet 5.5 07d3d6447a feat(libkernel_sys): implement fpathconf and _fpathconf
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-23 13:44:43 +02:00
LeandroLP23andClaude Opus 5.5 94d9c6a73f build(cmake): compile the Windows test exit wrapper once for every test
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 13:44:32 +02:00
Adrià 32d86275b7 Merge pull request #7747 from MarcZX10/codex/scalar-buffer-build
fix(shader): scope descriptor length reuse to SPIR-V labels
2026-10-23 13:43:04 +02:00
xXPBSXxandClaude Sonnet 5.5 e6daabdad8 test(libkernel): keep descriptor 0 open when guest_kqueue starts with standard input closed
When the process starts with descriptor 0 closed, open returns 0, dup2(0, 0)
succeeds and closing the temporary descriptor then closes descriptor 0 again,
so the standard input case returned early at its EBADF branch. Skip the dup2
and the close when the temporary descriptor already is 0, on both platform
branches, and check the replacement for an initially open and an initially
closed standard input.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-23 13:42:29 +02:00
Yunus Shaikh dd5a4a3e5a fix(libkernel): store only rwlock attribute types 1 and 2
scePthreadRwlockattrSettype stored any type and threw on a null
attribute. Measured against firmware 13.42's libkernel by BunnyFl in
#9632, it is the same function as pthread_rwlockattr_settype_np with
the error converted to an SCE code: types 1 and 2 are stored and return
0, and any other type, 0 included, or a null attribute or object
returns SCE_KERNEL_ERROR_EINVAL and stores nothing.
2026-10-23 04:42:16 -07:00
Dean d187f09c93 Merge pull request #10098 from voidlakhan/fix/shareplay-prohibit-controller-invalid-args
fix(libSceSharePlay): return invalid args error for invalid prohibition in sceSharePlayProhibitController
2026-10-24 00:42:00 +13:00
orezraeyandClaude Opus 5.5 a51fcc5aa6 docs(libc): record that libSceLibcInternal does not export memmem or memccpy
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 08:41:39 -03:00
orezraeyandClaude Opus 5.5 815a9e0289 fix(libc): return fetestexcept's unmasked status bits as measured on a PS5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 08:41:38 -03:00
Dean 201c4d0920 Merge pull request #9861 from veosett/codex/ctest-bracket-newlines
fix(ci): honor initial newlines in CMake bracket arguments
2026-10-24 00:41:37 +13:00
Dean a60033fe8e Merge pull request #8320 from hypermoist/fix/np-session-signaling-lookups
fix(libSceNpSessionSignaling): return the firmware lookup results
2026-10-24 00:41:15 +13:00
orezraeyandClaude Opus 5.5 d6dcdeacfe docs(libSceRtc): record that titles built before SDK 3.00 get INVALID_YEAR before year 1
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 08:40:46 -03:00
orezraeyandClaude Opus 5.5 af0ac7050a fix(libkernel): look the thread up before the priority range in scePthreadSetprio, as firmware 13.42 does
A finished or joined thread returns ESRCH for any priority, and scePthreadSetprio sets errno for a refused priority like pthread_setprio.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 08:39:41 -03:00
Yunus Shaikh ca39134f27 fix(libkernel): answer the measured rwlock type and mutex kind cases
BunnyFl measured these functions against firmware 13.42's libkernel and
libkernel_sys in the PR thread (behaviour only):

- pthread_rwlockattr_settype_np stores only types 1 and 2. Any other
  type, 0 included, and a null attribute or object return EINVAL and
  store nothing; type 0 was stored before.
- scePthreadMutexattrSetkind returns 0x8001FFFF, sceKernelError(-1), for
  a null attribute or object instead of throwing. Kinds 1 to 4 are set as
  before; other kinds still throw, since the firmware stores them
  unchecked and a mutex's behaviour with them is not measured.
- scePthreadMutexattrGetkind takes the attribute itself and returns
  sceKernelError of its kind, or 0x8001FFFF for a null one.
2026-10-23 04:39:14 -07:00
eliasbruno124-dev b996e31d8c perf(agc): reclaim idle device buffers under storage cache pressure 2026-10-23 13:38:46 +02:00
eliasbruno124-dev e6d7e36dcf fix(agc): bound deferred settle retirement waits 2026-10-23 13:38:46 +02:00
eliasbruno124-dev 894d9f81d4 docs(agc): describe deferred settle submission ordering 2026-10-23 13:38:46 +02:00
eliasbruno124-dev ac8be901ad fix(agc): order deferred host-import settles with main-queue accesses 2026-10-23 13:38:46 +02:00
Santhosh Kumar a3640ce984 test(libSceFreeType): select packaged dependencies for NID checks 2026-10-23 17:05:15 +05:30
Santhosh Kumar 32db446435 test(libSceLibreSsl): select packaged dependencies for NID checks 2026-10-23 17:05:13 +05:30
Adrià 777bdbb4f8 Merge pull request #7867 from xXPBSXx/fix/agc-rewind-offload-bit
fix(agc): accept the REWIND offload-enable payload bit
2026-10-23 13:34:35 +02:00
jacob6769 0f54186f5a Merge remote-tracking branch 'origin/main' into feat/ces-korean-big5-scalars
# Conflicts:
#	core/libs/prx/libSceCesCs/Export.cpp
#	core/libs/prx/libSceCesCs/PendingExports.cpp
#	docs/dev/debt/libSceCesCs.md
2026-10-23 20:34:04 +09:00
Dean 58ceeb8ed5 Merge pull request #9040 from YossiYad/feat/kernel-sys-workaround-process-type
feat(libkernel_sys): implement sceKernelTitleWorkaroundIsEnabled and sceKernelGetProcessType
2026-10-24 00:33:16 +13:00
Adrià 0cc23ad8ba Merge pull request #7811 from santhoshkumar-dev/codex/fix-pixel-wqm-interpolation
fix(shader): keep host interpolation across entry EXEC copies
2026-10-23 13:30:25 +02:00
Dean d1b6cdbabd Merge pull request #8976 from simonbronk/feat/libSceCesCs-gbk-euc-cn
feat(libSceCesCs): convert GBK and EUC-CN through the CP936 table
2026-10-24 00:29:10 +13:00
Adrià ef337cd082 Merge pull request #8104 from Celegans12/perf/agc-address-build-staging
perf(agc): stage the written elements of address-based compute builds in device memory
2026-10-23 13:28:29 +02:00
hypermistandClaude Opus 5.5 547e0b74dd docs(libc): record the console evidence for the sized __atomic calls
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_013XFS3FUfBtqCVfwmBrRQ6q
2026-10-24 00:28:24 +13:00
Adrià 362d702c1d Merge pull request #7817 from JJenkx/fix/shader-specialized-bda-abi
fix(shader): clear BDA ABI after removing address bindings
2026-10-23 13:28:24 +02:00
hypermistandClaude Opus 5.5 372d0738e9 Merge remote-tracking branch 'upstream/main' into feat/npcommon-runtime
#9037 landed as this branch already carried it, so keep this branch's pending exports and debt entries and add the runtime test beside main's.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_013XFS3FUfBtqCVfwmBrRQ6q
2026-10-24 00:28:23 +13:00