Commit Graph
7963 Commits
Author SHA1 Message Date
Dean ec3ea2f558 Merge pull request #6586 from JJenkx/fix/linux-runtime-module-start
fix(loader): defer Linux runtime module starts until requested
2026-10-24 19:54:29 +13:00
Dean f8b61a2cca Merge pull request #10372 from Kapy2003/feat/ngs2-custom-mastering-rack-0x4003
feat(libSceNgs2): support custom mastering rack 0x4003
2026-10-24 19:53:37 +13:00
orezraeyandClaude Opus 5.5 5515884034 docs(videoout): state the overlay upload memory bound
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 03:43:15 -03:00
Emanuele dbda360df4 feat(agc): emulate a one-sided depth bounds test without the depthBounds feature 2026-10-24 08:41:27 +02:00
Himansh Raj b017223970 Merge remote-tracking branch 'origin/main' into split/macos-build 2026-10-24 12:11:02 +05:30
Emanuele d93cdf402d fix(libkernel): defer raises while a thread holds the address-wait lock on Linux and macOS
On Linux and macOS, sceKernelRaiseException runs the guest handler in
the target's SIGUSR1 handler wherever the thread was interrupted. A
thread interrupted while it held the address-wait lock of
sceKernelSyncOnAddressWait, sceKernelSyncOnAddressWake or _umtx_op ran
the handler with the lock held, so a handler that waits, as a
stop-the-world collector's does, blocked every other thread that waits
on or wakes an address. #5756 fixed this on Windows.

The address-wait lock is now taken under DeliveryDeferral on every
host. On POSIX the deferral is a count per thread: while it is raised
the SIGUSR1 handler only records the signal, and DeliverDeferred sends
it to the thread again once the lock is released. An address waiter
waits on its own semaphore (sem_t, a dispatch semaphore on macOS) with
the lock released and the deferral lifted, so a raise reaches a thread
that waits for an address without a timeout.

The address-lock phases of guest_raise_exception now run on every
host, with a new phase that raises at a thread in an unbounded address
wait.
2026-10-24 08:40:37 +02:00
Adrià cd0591c8f4 Merge pull request #7705 from AnthonyClemens/fix/agc-bound-depth-plane-copies
fix(agc): bound the sampled depth-plane copies
2026-10-24 08:36:48 +02:00
Himansh Raj 41df89a481 Merge remote-tracking branch 'origin/main' into split/macos-build 2026-10-24 11:50:26 +05:30
Adrià b0f57be3c7 Merge pull request #6086 from notaxeltv/feat/libc-thread-hardware-concurrency-ppsa34015
feat(libc): export std::thread::hardware_concurrency (PPSA34015)
2026-10-24 08:18:54 +02:00
thuanquangandClaude 46a13989b9 docs(shader): remove the stale converted unorm image loads entry
Co-Authored-By: Claude <[email protected]>
2026-10-24 13:03:22 +07:00
orezraeyandClaude Opus 5.5 698697cbc7 fix(libkernel): throw for an unmeasured unbalanced thread atexit decrement on a module
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 02:53:35 -03:00
orezraeyandClaude Opus 5.5 11df317b82 docs(libkernel): list SO_ACCEPTFILTER, option 0x10000 and the timestamp options in the socket debt
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 02:49:38 -03:00
orezraeyandClaude Opus 5.5 711171a505 Merge fix/libkernel-tcp-options-measured-ps5 into fix/libkernel-socket-flags-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 02:49:29 -03:00
orezraeyandClaude Opus 5.5 8d4002884c docs(libkernel): mark the unmeasured TCP_MAXSEG bound and the AF_INET6 default
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 02:47:23 -03:00
orezraeyandClaude Opus 5.5 ac54c95c77 Merge main into fix/libc-strftime-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 02:44:33 -03:00
orezraeyandClaude Opus 5.5 ded043d552 feat(videoout): composite the overlay bus over the main output
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 02:43:21 -03:00
orezraeyandClaude Opus 5.5 366c18439e docs(libSceNet): move the sceNetRecv truncation note to the libSceNet debt file
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 02:43:13 -03:00
Himansh Raj 8f50c890a1 Merge remote-tracking branch 'origin/main' into split/macos-build 2026-10-24 11:10:23 +05:30
Adrià a5a2c946a3 Merge pull request #10396 from CrimsonMac/fix/lds-misaligned-atomic64-fault
fix(shader): fault on misaligned 64-bit LDS atomics under the workgroup lock
2026-10-24 07:33:30 +02:00
orezraeyandClaude Opus 5.5 db9e8a846b fix(libkernel): ignore the sendto address of a connected stream socket
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 02:33:20 -03:00
hypermistandClaude Opus 5.5 2dd8d4902d feat(libSceFont): report font style information through the FreeType driver
sceFontGetFontStyleInformation fills the 24-byte style block through the
driver slot at SysDriver+0x48, as libSceFont and libSceFontFt do in
firmware 13.60: the FreeType family and style names, the italic and bold
flags, the OS/2 weight class when it is a multiple of 100 from 100 to 900,
the width class below 10, and 1 plus a right-to-left head direction plus
0x80 for vertical metrics. A font-set record supplies the same fields
directly. A failed call points both names at an empty string and clears
the rest.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 18:30:38 +13:00
Himansh Raj b58c5b693b Merge remote-tracking branch 'origin/main' into split/macos-build 2026-10-24 11:00:24 +05:30
orezraeyandClaude Opus 5.5 ee83082a10 docs(libkernel): mark the unmeasured zero-length receive cases and keep the libSceNet truncation note
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 02:27:12 -03:00
Dean 09f62b94c9 Merge pull request #9216 from Felipebmaitan/feat/libc-fegetexcept
feat(libc): implement fegetexcept
2026-10-24 18:23:35 +13:00
Dean 564de82a00 Merge pull request #10044 from JJenkx/perf/agc-storage-cache-half-heap
perf(agc): let the storage image cache take up to half of the heap budget
2026-10-24 18:23:07 +13:00
Dean a1e1ed0eab Merge pull request #10172 from EagleBearerYS/feat/netctl-get-result-ipv4-events
feat(libSceNetCtl): report no error from sceNetCtlGetResult for IPv4 events
2026-10-24 18:21:20 +13:00
hypermistandClaude Opus 5.5 da04d2eede feat(libSceFont): report font metrics through the FreeType driver
sceFontGetFontMetrics fills the 64-byte metrics block through a new
driver slot at SysDriver+0x98, as libSceFont and libSceFontFt do in
firmware 13.60. Form 1 reads hhea, 2 the OS/2 typographic values, 3 the
OS/2 Windows values and 4 the vertical values from vhea or OS/2; 2 and 3
fall back to hhea when OS/2 is missing or gives an empty range. The
bounding box, em size, raw weight deltas and slant follow. A failed call
clears the block and sets both weights to 1.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 18:11:40 +13:00
Himansh Raj 93fd73a56d Merge remote-tracking branch 'origin/main' into split/macos-build 2026-10-24 10:40:23 +05:30
Adrià 7966e590ef Merge pull request #8740 from Sam-mon7/feat/frame-replay
feat(agc): capture frames at the driver boundary and replay them offline
2026-10-24 07:03:41 +02:00
thuanquang fe1927d398 Merge remote-tracking branch 'origin/main' into fix/linear-target-import-creation
# Conflicts:
#	core/libs/prx/libSceAgcDriver/tests/BdaResources.cpp
2026-10-24 11:55:57 +07:00
thuanquangandClaude b012267774 docs(agc): drop the stale "only" from the alpha-to-coverage entry
Co-Authored-By: Claude <[email protected]>
2026-10-24 11:55:55 +07:00
JJenkxandClaude Opus 5.5 99abd2604d fix(libc): compute expm1 with FreeBSD msun's algorithm, as titles' libc.prx does
expm1 returned the host's expm1, whose last bit differs from the titles'
copy on Windows on 35,152,346 of 320 million random arguments. The titles'
copy is FreeBSD msun's s_expm1.c, and it sets ERANGE only when a finite
argument overflows to infinity. expm1 now computes that algorithm and sets
ERANGE there.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 00:43:08 -04:00
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