Commit Graph
7981 Commits
Author SHA1 Message Date
harisibrar1andClaude Opus 5.5 c7cd45c0da fix(libkernel): return EINTR from pselect when its mask unblocks a pending signal
FreeBSD's kern_pselect installs the mask and kern_select sleeps with
PCATCH, so a pending signal that the new mask unblocks makes the call
return EINTR once the descriptors have been scanned. Here the handler ran
inside the mask swap and select then waited the full timeout, or forever
with no timeout. The swap now reports whether a handler ran, and pselect
then scans the descriptors once without waiting: a ready descriptor, a
zero timeout or an invalid argument keep select's answer, and otherwise
the call fails with EINTR and leaves the descriptor sets unchanged.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 00:39:02 -04:00
Kapy2003 a25aa36641 feat(libSceNgs2): support custom mastering rack 0x4003
Accept SCE_NGS2_RACK_ID_CUSTOM_MASTERING (0x4003) using the 0x508-byte
custom rack option layout without modules. Channels above NGS2_MAX_CHANNELS
(8) and non-zero module counts throw runtime_error as unsupported. Support
mastering voice control parameters 0x40030000 (setup), 0x40030004 (gain),
and 0x40030005 (output), write active mastering voices to render buffers,
and return voice state flags in sceNgs2VoiceGetState.

References #8039.
2026-10-24 09:58:09 +05:30
Himansh Raj a0e5090aba Merge remote-tracking branch 'origin/main' into split/macos-build 2026-10-24 09:50:23 +05:30
Dean Galvin 2f5366ea80 Merge main into feat/libc-swscanf-wide-synonyms 2026-10-24 17:17:02 +13:00
orezraeyandClaude Opus 5.5 7902af7357 Merge main into fix/libkernel-socket-address-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 01:12:54 -03:00
Dean 6c52b649e7 Merge pull request #9261 from wail-arch/fix/linux-sdk-homebrew-imports
fix(relinker): bind SDK guest module imports on Linux
2026-10-24 17:11:50 +13:00
orezraeyandClaude Opus 5.5 144319f82e Merge main into fix/libkernel-msync-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 01:10:30 -03:00
memob 776040e96d Merge remote-tracking branch 'origin/main' into fix/recompiler-cache-line-endings
# Conflicts:
#	core/shader/recompiler/ShaderCacheVersion.cmake
2026-10-24 00:02:21 -04:00
Himansh Raj fc93f11b4b Merge remote-tracking branch 'origin/main' into split/macos-build 2026-10-24 09:30:22 +05:30
xXPBSXxandClaude Sonnet 5.5 33b6388820 docs(debt): record what a Windows UDP socket keeps after connect(AF_UNSPEC)
The connect-to-AF_UNSPEC debt entry only described Linux. On Windows a socket bound to an explicit address keeps it in the same way, getsockname reports the host address, and a sendto to a non-loopback address then fails with ENETUNREACH, where FreeBSD's udp_disconnect() resets the local address and the send succeeds.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-24 05:59:34 +02:00
Dean 924b18f59c Merge pull request #10166 from Felipebmaitan/feat/jobmanager-engine
fix(libSceJobManager): honor worker spin and persistence policies
2026-10-24 16:58:18 +13:00
Dean 83a25ceb71 Merge pull request #9105 from Retr0G28/fix/connect-port0-connected-dgram
fix(libkernel): disconnect a connected datagram socket on connect to port 0
2026-10-24 16:54:25 +13:00
Himansh Raj 08b20bab74 Merge remote-tracking branch 'origin/main' into split/macos-build 2026-10-24 09:10:22 +05:30
Dean 68871895d4 Merge pull request #9256 from Dom3005/fix/windows-fcntl-append
fix(libkernel): change O_APPEND on a Windows file through fcntl
2026-10-24 16:37:06 +13:00
frankea fabe448517 fix(libkernel): report the host zone's standard offset and daylight saving amount from sceKernelGettimezone
sceKernelGettimezone wrote {0, 0} for every zone. A PS5 on firmware
13.40 set to US Eastern returned tz_minuteswest -300 and tz_dsttime 60:
the standard offset in minutes east of UTC, without the summer time in
effect on the run date, and the zone's daylight saving amount in
minutes. Both now come from the host zone, through the same HostZoneAt
and HostDaylightAmount the calendar conversions use.

guest_freebsd_clocks checks five TZ settings (UTC0, IST-5:30, BRT+3,
EST5EDT, CET-1CEST) and the null pointer.
2026-10-23 23:27:29 -04:00
frankea 5c19aa5e42 Merge remote-tracking branch 'origin/main' into fix/one-sample-ancillary-unsampled
# Conflicts:
#	docs/dev/debt/libSceAgcDriver.md
2026-10-23 23:17:55 -04:00
Himansh Raj 6d3bd640c8 Merge remote-tracking branch 'origin/main' into split/macos-build 2026-10-24 08:40:24 +05:30
Dean cf46f9803a Merge pull request #8121 from milescoviello/fix/one-sample-color-iter
fix(agc): draw a PS_ITER_SAMPLE program once per pixel into a one-sample color target
2026-10-24 16:10:19 +13:00
thuanquangandClaude 5b5dcaeaff fix(agc): keep a drawn linear target's results over a direct write's completion stamp
A dispatch that writes a resident linear target's memory directly through
a host import, and has completion work, stamps that memory a second time
when its batch completes. With the target's draws stored at completion
points, the completion can run inside the target's own store:
FlushPending moves the target to the flushing list and then waits for the
dispatch. StampKeepingNewerResults only kept block-tracked images still in
the pending list, so the second stamp made every draw recorded after the
dispatch look older than the dispatch, and the store dropped them all.
The keep rule now also covers targets with drawn results and images that
are already being flushed.

Co-Authored-By: Claude <[email protected]>
2026-10-24 10:04:45 +07:00
thuanquang bb58e7ddbd Merge fix/linear-target-completion-stores into fix/linear-target-import-creation 2026-10-24 10:04:45 +07:00
jacob6769andClaude Opus 5.5 0fed30252a fix(libSceLibreSsl): follow LibreSSL 2.5.4 and 4.0.0 for null digest buffers and SHA-512/t lengths
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 12:01:56 +09:00
frankea fc29c5a338 Merge remote-tracking branch 'origin/main' into fix/one-sample-ancillary-unsampled
# Conflicts:
#	core/libs/prx/libSceAgcDriver/Graphics/src/State.cpp
#	core/libs/prx/libSceAgcDriver/tests/Graphics.cpp
#	docs/dev/debt/libSceAgcDriver.md
2026-10-23 22:58:22 -04:00
thuanquang eefe6d1380 Merge main into fix/linear-target-completion-stores 2026-10-24 09:58:06 +07:00
Dean Galvin 18b13fbe64 Merge main into 9945 2026-10-24 15:49:35 +13:00
Dean Galvin 5ec0cdec84 Merge main into 9342 2026-10-24 15:49:35 +13:00
orezraeyandClaude Opus 5.5 c216a3b82d Merge main into fix/libc-strftime-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 23:46:23 -03:00
orezraeyandClaude Opus 5.5 3633e09abb Merge main into fix/libkernel-posix-thread-attr-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 23:44:53 -03:00
orezraeyandClaude Opus 5.5 f91cf205cf Merge main into fix/libkernel-sync-on-address-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 23:40:48 -03:00
Himansh Raj 9f32eb50e9 Merge remote-tracking branch 'origin/main' into split/macos-build 2026-10-24 08:00:25 +05:30
Dean 379b1dca32 Merge pull request #9164 from MaxLikesCode/fix/kernel-sema-einval
fix(libkernel): return EINVAL for the semaphore arguments the console rejects
2026-10-24 15:28:17 +13:00
Yunus Shaikh a809ad7d2f fix(libc): fail a q length in scanf as the console's libc does
The console's own sscanf, run natively from three titles' libc.prx, returns 0 for %qd and stores nothing, where FreeBSD 11.4's source reads q as ll. A q directive now ends the scan there, and the count of conversions before it is returned. The test adds the console's rows for wrapping narrow conversions, saturating 64-bit ones with ERANGE, and %qd.
2026-10-23 19:26:15 -07:00
Dean 43d6937041 Merge pull request #10246 from orezraey/fix/libkernel-pthread-create-detach-measured-ps5
fix(libkernel): refuse long thread names and answer a detach after a join as measured on a PS5
2026-10-24 15:26:04 +13:00
Dean 6fc058f5cf Merge pull request #10302 from orezraey/fix/libkernel-socket-buffers-measured-ps5
fix(libkernel): keep socket buffer sizes and SO_NBIO as measured on a PS5
2026-10-24 15:25:05 +13:00
billybobpicklioandClaude Opus 5.5 1f11b8ab9b fix(agc): bound the sampled depth-plane copies
A depth plane copy (a depth surface sampled as several slices, an integer view or a cube) was
kept until the device went away, with a staging buffer of its own size, and a staging buffer it
outgrew was never freed. Every depth surface a scene ever sampled this way held its copy, so
device memory grew with each new scene (0.4-1.2 GB in RE2 after a level load).

The copies now share their image's ownership with the views they hand out, the recorder keeps
the image and the staging buffer until the recorded copy has run, and past
APS5_DEPTH_PLANE_COPY_MIB (default 256; 0 keeps every copy) the least recently used copies
leave the cache. A copy made again refills from the surface and guest memory as a new one does.
agc_driver_depth_plane_sampling_evicting runs the plane sampling cases with a 1 MiB budget.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 04:24:03 +02:00
Dean da53518e5f Merge pull request #10212 from noamroger/claude/project-thread-a44tqk
feat(libSceJson2): implement sce::Json::String at, find and rfind
2026-10-24 15:23:36 +13:00
Dean d7f0c005a9 Merge pull request #9862 from JJenkx/windows/libc-cbrtf-msun
fix(libc): compute cbrtf with FreeBSD msun's algorithm, as titles' libc.prx does
2026-10-24 15:23:06 +13:00
Dean 5669dff560 Merge pull request #9596 from JJenkx/windows/fgetws-console-contract
fix(libc): follow the console fgetws for short buffers and read errors
2026-10-24 15:22:31 +13:00
Adrià FranchandClaude Opus 5.5 7b4b9d9814 fix(shader): zero the resinfo layer count for DIMs without layers
image_get_resinfo returns 0 in its third component when the instruction's
DIM has no layers (1D, 2D, 2D MSAA) and the T# is not 3D, as measured on
RDNA 2 in #7550. Keep 1D-array T#s on their first layer and MSAA T#s
refused, and record the unmeasured forms in the shader debt file.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 04:21:06 +02:00
Yunus Shaikh fca8266468 Merge main into fix/libscenet-inet-text-rules 2026-10-23 19:15:30 -07:00
Felipebmaitan a1086ce5c5 fix(job-manager): merge main into Linux reference changes 2026-10-23 23:01:11 -03:00
Felipebmaitan 2211c438b8 fix(job-manager): merge main into compute shutdown changes 2026-10-23 22:59:46 -03:00
hypermistandClaude Opus 5.5 1159e12357 Merge remote-tracking branch 'upstream/main' into fix/agc-semaphore-memory-firmware
Keep this PR's semaphore entry and main's workload entry.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 14:58:12 +13:00
Felipebmaitan a83522e25f fix(job-manager): merge main into profiler changes 2026-10-23 22:57:42 -03:00
Felipebmaitan 9a7b9cc95b fix(job-manager): merge main into caller-owned state changes 2026-10-23 22:56:30 -03:00
Felipebmaitan 2758578c20 fix(job-manager): merge main into registration changes 2026-10-23 22:54:47 -03:00
Felipebmaitan 260c7816c0 fix(job-manager): merge main into lifecycle changes 2026-10-23 22:53:34 -03:00
Felipebmaitan b7640ae5a3 fix(job-manager): merge main and reconcile scheduler debt 2026-10-23 22:48:31 -03:00
Himansh Raj a0a0960a7b Merge remote-tracking branch 'origin/main' into split/macos-build 2026-10-24 07:10:36 +05:30
Dean 5ac955b1ac Merge pull request #9166 from orezraey/fix/agcdriver-workload-registration-measured-ps5
fix(libSceAgcDriver): return the console's workload stream registration errors
2026-10-24 14:35:51 +13:00
Dean d1d67190a8 Merge pull request #8720 from orezraey/fix/libc-heap-measured-ps5
fix(libc): follow the default heap's alignment, errno and realloc to zero as measured on a PS5
2026-10-24 14:34:38 +13:00