Commit Graph
20967 Commits
Author SHA1 Message Date
Dean 97c2c0eed8 Merge pull request #9251 from SandstromPL/fix/mimg-gather4-c-a
feat(shader): decode MIMG opcodes 0xc8 and 0xd8 as image_gather4_c_a and image_gather4_c_o_a
2026-10-26 05:42:57 +13:00
Adrià 7b7d445bfb Merge pull request #9439 from milescoviello/feat/trace-calls-file
feat(libc): write the called imports to APS5_TRACE_CALLS_FILE every 10 seconds
2026-10-25 17:42:50 +01:00
Felipebmaitan 1cccff9441 test(ngs2): preserve PCM playback after empty setup 2026-10-25 13:41:29 -03:00
AlexandreandClaude Opus 5.5 0435d0b254 test(libSceNpWebApi): pin the results measured on a PS4 Pro
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01RoucYS7mQpV23WDUEwXLuU
2026-10-25 17:40:59 +01:00
AlexandreandClaude Opus 5.5 c889c1c742 feat(libSceNpWebApi): add user contexts, requests and push event callbacks offline
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01RoucYS7mQpV23WDUEwXLuU
2026-10-25 17:40:59 +01:00
slopgobblercobbler 670e57b5f1 fix(relinker): reject unsigned address overflow for narrow unwind encodings 2026-10-25 17:40:51 +01:00
Felipebmaitan 00f048de3a test(ngs2): avoid asserting unimplemented PCM behavior 2026-10-25 13:40:19 -03:00
Felipebmaitan 08587dfa7e feat(ngs2): play additional PCM sampler formats 2026-10-25 13:40:18 -03:00
Dean Galvin 31a6954205 test(playgo): initialize and open PlayGo for the valid-handle checks
The speed, ETA and prefetch checks now take their valid handle from scePlayGoInitialize and scePlayGoOpen in the same process and close it afterwards, instead of assuming handle 1.
2026-10-26 05:39:51 +13:00
Adrià c661d9fae2 Merge pull request #9133 from fogydes/feat/libSceLibcInternal-posix-spawn
feat(libSceLibcInternal): implement posix_spawn process creation and reaping
2026-10-25 17:38:41 +01:00
slopgobblercobbler 8c7b35c672 feat(libkernel): complete FreeBSD 11.4 errno parity (ENOTRECOVERABLE and EOWNERDEAD) 2026-10-25 17:37:29 +01:00
Dean ed0d0ae54a Merge pull request #10019 from chitters2004/fix/check-compile-preprocessor-dependencies
fix(tools): preserve dependency files during syntax checks
2026-10-26 05:36:50 +13:00
Dean 28ed43a567 Merge pull request #10737 from rooklz/fix/cescs-ksx1001-327e
fix(libSceCesCs): decode KS X 1001 cell 0xA2E8 as U+327E as the console does
2026-10-26 05:36:46 +13:00
Dean 74dfabae2c Merge pull request #10294 from al3w0f205/test/savedata-delete-null-struct-validation
test(libSceSaveData.native): cover null delete struct and directory name validation
2026-10-26 05:36:42 +13:00
Morten HolmandClaude Sonnet 5.5 708cc2260d fix(agc): name the mesh limit a pipeline exceeds and its values
The mesh pipeline check rejected a shader with one message for three
limits, so a shader 4 bytes over the shared memory limit could not be told
from one with too many output vertices. ValidateMeshLimits checks the
workgroup, output vertices, output primitives and LDS size separately and
names the limit and both values.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-25 17:35:16 +01:00
Adrià 0a77bbf18c Merge pull request #9170 from rooklz/fix/libc-thrd-id
fix(libc): return the calling thread from _Thrd_id as the console's libc.prx does
2026-10-25 17:34:31 +01:00
Dean Galvin cfd525426c Merge branch 'main' into pr9187 2026-10-26 05:32:47 +13:00
Dean Galvin e890f802ed Merge branch 'main' into pr10786 2026-10-26 05:32:41 +13:00
Dean Galvin 96cc55c714 Merge branch 'main' into pr10614 2026-10-26 05:32:09 +13:00
Dean Galvin c932eff258 Merge branch 'main' into pr10451 2026-10-26 05:31:54 +13:00
Dean Galvin b344e3d192 Merge branch 'main' into pr10446 2026-10-26 05:31:38 +13:00
dantdmdarealguy f34bfc4f28 docs(debt): remove the sceVideoRecordingInit and sceVideoRecordingTerm entry now that they return 0 as the firmware does
db2575839 (#8307) made both return 0, following their bodies in the
firmware module libSceVideoRecording.sprx (xor eax, eax; ret), but left
the entry saying they are parameterless stubs that throw. The firmware
body leaves no open gap, so the entry goes. sceVideoRecordingGetStatus
no longer lists sceVideoRecordingInit among the initializers that throw.
2026-10-25 17:28:05 +01:00
AZLisme ef9a48c6ec docs(libSceRudp): record firmware cancellation details 2026-10-26 00:25:54 +08:00
Adrià Franch 6ce060e3ee docs(libSceNpTrophy2): describe max and int32 statistics and property filters in USAGE 2026-10-25 17:24:50 +01:00
milescovielloandClaude Opus 5.5 ca34fdb351 feat(libSceNpTrophy2,libSceNpUniversalDataSystem): unlock progressive trophies through _UpdateTrophyProgress
Titles report a progressive trophy's progress with _UpdateTrophyProgress
events. Their udsNN.ucp rules feed $._trophy_progress into an int32
statistic with the max aggregation, filtered on $._trophy_id, and the
trophy's unlockCondition names that statistic. Those statistics and
rules were skipped and the events were dropped, so such trophies never
reported progress or unlocked (21 of Borderlands 4's 64).

- Read max statistics (largest value posted, from initialValue) and
  int32 statistics (0 to 2147483647).
- Read a rule condition with one == property equal to an unsigned
  integer, and apply the rule only to events whose property matches.
- Post _UpdateTrophyProgress through the statistic rules.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 17:24:43 +01:00
alnsx 7eecb44157 chore: merge main after socket debt corrections 2026-10-25 12:23:32 -04:00
verusferro 1d31901c4b feat(libc): format num_put<char>::do_put as the console's libc does
The num_put facet's eight do_put overloads build the console's printf format from the stream flags, format through snprintf and lay out the result as the SDK libc.prx does: thousands separators from the stream locale's numpunct, its decimal point, fill and width with left, right and internal adjustment, true and false names under boolalpha, and the console's prefix and infinity rules for floating point.
2026-10-25 19:19:16 +03:00
roboterspinne 3398046c3c fix(relinker): stop reading pop r/m without REX as XOP in red-zone framing
extensionBits and memoryUse in the red-zone framer took every 8F lead
byte without REX for an XOP prefix. For pop r/m (8F /0) that read the
ModRM byte as XOP's inverted R, X and B bits, so the base of
"pop qword [rsp-0x10]" looked like R12, and "pop rsp" through 8F was
not seen as a use of RSP. A leaf with a frame pointer that pops to an
RSP operand was framed with the operand left in place, and leaves that
pop into RSP through 8F were framed, while the REX.W forms were refused
as other use of rsp. Both now take 8F for XOP only when the map field
of the next byte is 8 or more, the rule the instruction decoder
applies.
2026-10-25 17:18:47 +01:00
Dean Galvin 814aea6f50 test(playgo): use the valid handle and the pinned error codes for the speed, ETA and prefetch checks
The implementation checks the handle first and reports BAD_HANDLE (0x80B20009) or BAD_POINTER (0x80B2000A); handle 1 is the valid one, so the pointer and speed cases use it and the invalid-handle cases expect BAD_HANDLE.
2026-10-26 05:18:43 +13:00
Dean Galvin c13db51bb9 Merge branch 'main' into test/playgo-speed-eta-handle-validation 2026-10-26 05:18:24 +13:00
verusferro 3338ffefff feat(libc): format time_put<char>::do_put as the console's libc does
The time_put facet's do_put formats % with the modifier and conversion through strftime and writes the result through the output iterator's stream buffer, following the SDK libc.prx: it stores into the put area while room remains, calls overflow otherwise, and marks the iterator failed when overflow returns eof or the buffer is null.
2026-10-25 19:18:04 +03:00
Dean Galvin b56107fb3e test(ajm): expect the Vorbis header packet invalid-parameter error for a null parameter
sceAjmDecWVorbisCreateHeaderPacket returns AJM_WVORBIS_ERROR_INVALID_PARAMETER (0x8A6E0001) for nullptr, not the generic 0x80B50001.
2026-10-26 05:17:51 +13:00
Dean Galvin 1e73d5f713 Merge branch 'main' into test/ajm-wvorbis-null-header-packet 2026-10-26 05:17:51 +13:00
Adrià Franch e02cfc04c0 fix(libkernel): declare the fcntl sync test's calls through the public header (amend) 2026-10-25 17:17:44 +01:00
Adrià Franch 00f9c53495 fix(libkernel): declare the fcntl sync test's calls through the public header 2026-10-25 17:17:22 +01:00
Dean Galvin 9fd26cdb8d test(bluetoothhid): expect success from UnregisterDevice before a callback is registered
The implementation checks initialization only and ignores the vendor and product IDs, so unregistering before RegisterCallback returns 0; NoCallback is a RegisterDevice and callback-path result.
2026-10-26 05:17:17 +13:00
Adrià Franch df0bfbee90 fix(libkernel): drop the duplicate sceKernelFsync declaration 2026-10-25 17:14:58 +01:00
David 60603545ff fix(libkernel): keep the writev sync guard out of std::optional
Destroying a std::optional is noexcept in libstdc++, so a failing sync in
the guard's destructor ended the process with std::terminate instead of
raising the sync error. The Windows writev and pwritev path now uses a
plain guard, which does nothing for -1. The debt line names the synced
write calls and leaves out the AIO writes.
2026-10-25 17:13:09 +01:00
David a81fcbfacd feat(libkernel): sync each write on a file whose O_FSYNC flag is set
FreeBSD's F_SETFL may change O_FSYNC (FCNTLFLAGS), and vn_write then
writes with IO_SYNC. The flag now lives in the status table, and the
write entry points sync a regular file after the write while it is set.
2026-10-25 17:13:01 +01:00
pushkarreddyy 4d4cb28eb0 feat(libkernel): return EFAULT for unreadable append iovec buffers on Windows 2026-10-25 21:39:38 +05:30
MarcZX10 6c1ac043c2 docs(build): note that libc is built without floating-point contraction 2026-10-25 16:07:20 +00:00
MarcZX10 4069b6eb3e build(libc): register the floating-point contraction test 2026-10-25 16:07:13 +00:00
MarcZX10 5316da7401 test(libc): check that libc's options keep a * b + c unfused on an FMA target 2026-10-25 16:07:13 +00:00
Adrià 0119103fa9 Merge pull request #9425 from cadenasynyster/test/fcntl-remove-stale-probe
test(libkernel): remove a leftover kernel_fcntl_probe.bin before guest_kernel_fcntl opens it
2026-10-25 17:05:01 +01:00
MarcZX10 8c71024ea2 fix(libc): build libc without floating-point contraction 2026-10-25 16:03:50 +00:00
boykopovar 2e773bff38 Merge pull request #10990 from boykopovar/feat/nid-patcher-exec
feat(nid): executables nid patching functional
2026-10-25 18:56:44 +03:00
Dean 8864d0e323 Merge pull request #10500 from dotaku22/contribution/agc-uncommitted-depth-reuse
perf(agc): reuse uncommitted depth plane layers
2026-10-26 04:55:09 +13:00
Adrià 160f6592b5 Merge pull request #9409 from cadenasynyster/test/windows-savedata-link-alias
test(libSceSaveData): create the mount identity link with CreateSymbolicLinkW on Windows
2026-10-25 16:50:05 +01:00
pushkarreddyy 9839162494 docs(libkernel): clarify sysctl default assumptions for sysKernel queries 2026-10-25 21:19:57 +05:30
Dean 636a9c1eec Merge pull request #10730 from roboterspinne/fix/relinker-tls-relocations-empty-pt-tls
fix(relinker): require a non-empty PT_TLS for executable TLS relocations
2026-10-26 04:45:22 +13:00