Commit Graph
7963 Commits
Author SHA1 Message Date
thuanquangandClaude b8596dca9b docs(shader): say that S#s without a mip filter also read a multi-level view at its base
Co-Authored-By: Claude <[email protected]>
2026-10-21 18:41:59 +07:00
Adrià 865166414f Merge pull request #7884 from jacob6769/feat/ces-korean-big5
feat(libSceCesCs): convert EUC-KR, UHC and Big5 through the CP949 and CP950 tables
2026-10-21 13:39:26 +02:00
Adrià 6c8b43931b Merge pull request #8228 from jagrat04/feat/libSceNet-show-route6
feat(libSceNet): implement sceNetShowRoute6
2026-10-21 13:38:29 +02:00
Adrià 64361960c5 Merge pull request #7818 from fogydes/feat/vorbisdec-firmware-exports
feat(libSceVorbisDec): export missing firmware Vorbis decoder interfaces
2026-10-21 13:38:24 +02:00
Adrià de4ef842b5 Merge pull request #7850 from mugurc/feat/libkernel-sockets-macos
feat(libkernel): UDP sockets and name resolution on macOS hosts
2026-10-21 13:36:21 +02:00
Gabrieljr42 5df064ebda Merge remote-tracking branch 'upstream/main' into feat/ajm-mp3-frame-metadata 2026-10-21 08:35:45 -03:00
xXPBSXxandClaude Sonnet 5.5 0e2252f638 fix(libkernel): accept flock on a directory descriptor on Windows
FreeBSD 11.4's sys_flock only requires a vnode descriptor, so flock on a directory descriptor succeeds. On Windows the call reached LockFileEx, which rejects a directory handle with ERROR_INVALID_PARAMETER, and flock_nid_postfix turned that into a runtime_error that aborted the process. A directory descriptor now returns 0 without taking a lock; the new guest_file_lock_directory case covers it and the debt entry records that no lock is held.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-21 13:35:39 +02:00
orezraeyandClaude Opus 5.5 19d7e29b3a fix(libSceHttp): copy URIs as measured on a PS5
A payload on a PS5 (firmware 13.60) shows sceHttpUriCopy clears the
whole output and all prepare bytes of the pool before it reads the
source, so a source that is the output or lies in the pool copies as
empty. Read the source after clearing, clear the output with its
padding, and test the measured layout, failures and aliasing.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 08:33:25 -03:00
Gabrieljr42 e25647d686 fix(progress): handle snapshots without library counts 2026-10-21 08:33:04 -03:00
Gabrieljr42 11d5efa075 Merge remote-tracking branch 'origin/main' into feat/progress-library-report 2026-10-21 08:32:06 -03:00
Adrià FranchandClaude 488da1774d fix(libSceNpAuth): indent the A forwards and pin the shadPS4 links in the debt entry
Co-Authored-By: Claude <[email protected]>
2026-10-21 13:28:34 +02:00
NoOverflow 982db91217 feat(libSceNpAuth): implement sceNpAuthGetAuthorizationCodeA and sceNpAuthGetIdTokenA
Both forward to their V3 counterparts, which share one implementation in
shadPS4, and complete libSceNpAuth (14/14).
2026-10-21 13:28:13 +02:00
orezraeyandClaude Opus 5.5 77a05cbfe9 fix(libSceHttp): parse status lines past lineLen as measured on a PS5
A payload process on a PS5 (firmware 13.60) parsed 124 status lines and
lengths. It checks lineLen only for its minimum of 8 and for the three
code digits, reads the version and its separators past it, and finds the
line feed up to and including the byte at lineLen, so a length that
stops right before the line feed still parses. When the version ends
past lineLen the unsigned subtractions wrap and the search continues
until a line feed.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 08:24:19 -03:00
hypermistandClaude Opus 5.5 736ee67caf feat(libSceNpCommon): implement 94 more of the module's exports
Builds on #9037. Adds threads, event flags, semaphores, atomics, heaps
and kernel memory, callout contexts, time and SDK version queries,
base64 and hex codecs, integer and string helpers, JSON escaping, URL
encoding, online id strings, language codes, title ids and debug output.
The behaviour follows libSceNpCommon.sprx from firmware 12.00, read
from disassembly.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01RbLgECLQ2bpDM7oe2urGZK
2026-10-22 00:23:37 +13:00
akkadbakkad89andDevin a212812dc1 feat(prx): declare exports for 5 inventory-covered system libraries
Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-21 16:47:58 +05:30
Federico Marras cc7b9a7652 Merge remote-tracking branch 'upstream/main' into feat/kqueue-read-on-kqueue
# Conflicts:
#	docs/dev/debt/libkernel.md
2026-10-21 13:17:12 +02:00
Federico Marras 49f1c7207b Merge remote-tracking branch 'upstream/main' into docs/ajm-instance-signature-sources
# Conflicts:
#	docs/dev/debt/libSceAjm.native.md
2026-10-21 13:16:27 +02:00
Savvanis Spyros 123768abcd Merge branch 'main' of https://github.com/boykopovar/AnyPS5 into fix/agc-release-mem-system-counter
# Conflicts:
#	docs/dev/debt/libSceAgcDriver.md
2026-10-21 14:15:53 +03:00
Dean 3e91c8edf5 Merge pull request #8850 from UnhealthyKraken/feat/libkernel-cfsetspeed
feat(libkernel): implement cfsetspeed
2026-10-22 00:13:16 +13:00
Savvanis SpyrosandClaude Opus 5.5 79a5d6b65a fix(libSceNpManager): refuse an unknown request in sceNpSetGamePresenceOnline
After the argument checks, shadPS4 looks the request up and returns
REQUEST_NOT_FOUND for one that was never created or was deleted. The
library already tracks live requests for sceNpSetTimeout.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 14:13:04 +03:00
louise-patraandClaude Opus 5.5 43d4eebe51 feat(libSceFiber): attach contexts on run and switch, internal option initialize
Fibers may be initialized without a context and get one from
_sceFiberAttachContextAndRun or _sceFiberAttachContextAndSwitch.
_sceFiberInitializeWithInternalOptionImpl accepts the ulobjmgr,
context size check and FPU default flags.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 16:42:19 +05:30
Savvanis SpyrosandClaude Opus 5.5 1d0451f659 docs(relinker): note that a deferred module the title never loads gets no module_start
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 14:12:12 +03:00
Adrià b3f4783abc Merge pull request #7795 from fogydes/feat/remoteplay-firmware-exports
feat(libSceRemoteplay): export missing firmware remote play interfaces
2026-10-21 13:11:20 +02:00
David 6d8ff2d5b8 Merge branch 'main' into feat/agc-barycentric-tessellation-strips 2026-10-21 15:10:49 +04:00
Adrià 59776f2e6a Merge pull request #7841 from hypermoist/feat/libc-annex-k-remaining
feat(libc): implement the remaining C11 Annex K bounds-checking functions
2026-10-21 13:09:59 +02:00
Adrià eb4a7fee4e Merge pull request #7525 from AlexOfTheForest/feat/scanf-wide-linux
feat(libc): scan 16-bit wide conversions in the sscanf family on Linux
2026-10-21 13:09:54 +02:00
Federico Marras 93fb6293c4 Merge remote-tracking branch 'upstream/main' into feat/system-service-app-title-id
# Conflicts:
#	docs/dev/debt/libSceSystemService.md
2026-10-21 13:09:18 +02:00
Adrià 98145b48d8 Merge pull request #7426 from DavidSamir/feat/shader-barycentric-tessellation-last-vertex
feat(agc): draw the last provoking vertex through the barycentric tessellation stages
2026-10-21 13:08:47 +02:00
Adrià 2cca5c0fd6 Merge pull request #7600 from milescoviello/feat/msaa-dcc-comp-to-single
feat(agc): take RADV's comp-to-single clear of a multisampled DCC target
2026-10-21 13:07:42 +02:00
orezraeyandClaude Opus 5.5 b9b9c07713 fix(libSceHttp): parse, build and merge URIs as measured on a PS5
A payload process on a PS5 (firmware 13.60) parsed, built and merged
several hundred URIs. sceHttpUriParse cuts the hostname at the first
byte that cannot be in it and starts the path there instead of failing,
takes the userinfo up to the first '@', accepts a port up to 65536 that
ends at '/' or the end, and gives https... schemes 443 and http...
schemes 80. It sweeps the path as sceHttpUriSweepPath does but sizes the
pool for the unswept path, and leaves require alone when the pool is too
small. sceHttpUriBuild writes IPv6 hostnames without brackets.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 08:07:12 -03:00
akkadbakkad89 f57ef9986f feat(prx): declare exports for 66 inventory-covered system libraries 2026-10-21 16:30:58 +05:30
ntamas94 95968952e1 Merge branch 'main' of https://github.com/boykopovar/AnyPS5 into fix/agc-copied-writer-label-drain
# Conflicts:
#	core/libs/prx/libSceAgcDriver/CMakeLists.txt
2026-10-21 12:58:03 +02:00
Federico Marras 15c0a386be Merge remote-tracking branch 'upstream/main' into feat/ngs2-waveform-frame-info
# Conflicts:
#	docs/dev/debt/libSceNgs2.md
#	docs/dev/debt/libSceNgs2.native.md
2026-10-21 12:57:17 +02:00
Federico Marras c8e99c7f71 Merge remote-tracking branch 'upstream/main' into feat/ngs2-voice-owner
# Conflicts:
#	docs/dev/debt/libSceNgs2.md
2026-10-21 12:56:14 +02:00
ntamas94andClaude Opus 5.5 baa0ca3dfc fix(agc): store a small label behind copied write-backs at reap instead of draining
The first commit drained the device for every label recorded while any
copied writer was listed, including labels nowhere near it. CPU-copied
writers also occur in default runs, so that could cost a drain per label
in normal play.

While a copied writer is listed, a label of 8 bytes or less (every
RELEASE_MEM, the fence WRITE_DATAs) is now not recorded on the GPU at all.
A completion action of the open (or newest in-flight) batch stores it when
that batch is reaped (AfterCompletions with storedOnGpu false, reason 5).
Completions run in push order and batches finish front-first, so it lands
after every earlier write-back without a drain. The existing GPU store
plus completion re-store path would not keep this order: its GPU store is
visible to a polling title before the write-back runs, and its re-store
runs only over a write-back that overlapped the label itself.

Recorder::PendingCompletionStores counts the guest stores completions
still have to make (not end-of-pipe deliveries or write-backs). While it
is not zero, later small labels follow the same route even after every
writer was written back, so a later GPU label cannot become visible
before an earlier completion store or land under it at one address.
Stores over 8 bytes keep the GPU store and go behind the completions only
over a copied writer's range or a pending completion store of their own
range. Queue 0 reaps while it spins on REWIND, so a title polling such a
label there cannot wait forever. The debt entry lists what this still
leaves out of order (larger stores and GPU-made DMA_DATA copies away from
those ranges, and a nested sync from inside a write-back).

APS5_DRAIN_COMPLETION_LABELS=1 brings back the drain (reason 2); a second
ctest entry runs the test with it.

CopiedWriterLabelOrder now skips with a line naming
minStorageBufferOffsetAlignment when the device binds the record at
+0x1004 in place (alignment 4, AMD's driver and RADV) and nothing is
written back. Above 4 the write-back count still fails the test. A new
pass checks the order across batches: a later label to the address of a
pending completion store is not visible before it and is not overwritten
by it at the reap.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 12:53:42 +02:00
Adrià 275e896797 Merge pull request #7696 from MaxLikesCode/feat/agc-set-index-indirect-args
feat(libSceAgc): implement sceAgcDcbSetIndexIndirectArgs
2026-10-21 12:52:39 +02:00
Adrià 27fabb6b7d Merge pull request #7869 from savvaniss/feat/agc-polygon-mode
feat(agc): draw point and line polygon modes
2026-10-21 12:48:05 +02:00
Dean 80b1ebd36e Merge pull request #8862 from orezraey/fix/audiodec-word-length-measured-ps5
fix(libSceAudiodec): reject the PCM word sizes a PS5 rejects
2026-10-21 23:46:31 +13:00
Dean fd857beef1 Merge pull request #8854 from orezraey/fix/rtc-format-null-tick-measured-ps5
fix(libSceRtc): format the current time for a null tick as measured on a PS5
2026-10-21 23:46:27 +13:00
Dean a20fc89702 Merge pull request #8852 from nikowolf123/feat/voice-pause-resume-all
feat(libSceVoice): implement sceVoicePausePortAll and sceVoiceResumePortAll
2026-10-21 23:46:23 +13:00
Adrià FranchandClaude c5e861b868 docs(libSceNpWebApi2): drop title id from AddWebTraceTag debt line
Co-Authored-By: Claude <[email protected]>
2026-10-21 12:45:44 +02:00
jagrat Singh b9cdbf932d feat(libSceNpWebApi2): implement sceNpWebApi2AddWebTraceTag
Implement sceNpWebApi2AddWebTraceTag with the (int64_t request_id, const char* value) signature from shadPS4. Validates that value is not null, accepts any request id, and acts as a silent stub matching the other offline request functions.
2026-10-21 12:45:40 +02:00
jagrat Singh 54d1a8d6d6 feat(libSceNet): implement sceNetShowRoute6 2026-10-21 12:44:40 +02:00
Federico Marras be7a9e1314 Merge remote-tracking branch 'upstream/main' into feat/net-get-sock-info6 2026-10-21 12:43:37 +02:00
jacob6769andClaude Opus 5.5 dc7be1b072 feat(libSceCesCs): convert EUC-KR, UHC and Big5 through the CP949 and CP950 tables
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 12:42:02 +02:00
memob 106fa6b6be fix(recompiler): hash shader cache sources with normalized line endings
The shader disk cache source version hashed raw file bytes, so one commit
checked out with CRLF in one worktree and LF in another produced two
versions and emptied the cache and pipeline journal. Hash the text with
CRLF folded to LF.
2026-10-21 06:40:50 -04:00
Dean 9a8c2a1a05 Merge pull request #9003 from xdCloudy/feat/libSceNpManager-150-exports
feat(libSceNpManager): declare 150 pending exports
2026-10-21 23:32:40 +13:00
Dean f1f6626835 Merge pull request #8102 from Dragost/fix/libSceAvPlayer-sync-tolerance-and-eof-cleanup
fix(libSceAvPlayer): allow presenting video frames within sync tolerance
2026-10-21 23:31:28 +13:00
Yossi Yadgar e0df782d2c docs(debt): note where the NpCommon utilities and wrappers come from 2026-10-21 13:19:04 +03:00
Yossi Yadgar affc646ae7 feat(libSceNpCommon): wrap the condition, join, clock and version calls 2026-10-21 13:18:57 +03:00