Commit Graph
7963 Commits
Author SHA1 Message Date
Queuze 323d269fa1 chore: sync contribution #9931 with main 2026-10-23 20:02:15 -03:00
Himansh Raj 002c361aaf Merge remote-tracking branch 'origin/main' into split/macos-build
# Conflicts:
#	core/libs/tests/Formatting.cpp
2026-10-24 04:30:49 +05:30
hypermistandClaude Opus 5.5 55b53c969e test(libSceHttpCache): cover an Expires earlier than Date
Firmware 13.60 subtracts Expires minus Date and Date minus Last-Modified
on unsigned ticks without comparing them, so either order wraps to a
lifetime that never runs out. Keep that behaviour, state it in the debt
doc, and cover both cases next to their in-order counterparts.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 12:00:41 +13:00
Dean ca7bf033c5 Merge pull request #9005 from JJenkx/fix/libkernel-sema-null-esrch
fix(libkernel): return ESRCH for a null semaphore handle
2026-10-24 11:58:20 +13:00
Dean 2fcc60cf37 Merge pull request #5426 from Prophet069/codex/review-scratch-offsets-20261013
fix(shader): decode GFX10 scratch offsets as one dword
2026-10-24 11:57:41 +13:00
Dean 4dad3f50c3 Merge pull request #8864 from valenciana-nc/fix/bessel-float-zero-exceptions
fix(libc): avoid spurious float Bessel exceptions at zero
2026-10-24 11:57:10 +13:00
Dean c675a415f2 Merge pull request #9103 from HQasper/claude/project-thread-w0s18y-chown
feat(libkernel_sys): implement chown, lchown, fchownat and linkat
2026-10-24 11:56:40 +13:00
Dean 097a9514a0 Merge pull request #8865 from hypermoist/fix/libc-strtof-sign-hex-range
fix(libc): keep the sign of a failed strtof and match libc.prx strtof ERANGE
2026-10-24 11:56:01 +13:00
Dean 85f2f2d478 Merge pull request #8544 from Retr0G28/fix/fcntl-getfl-pipe-rdwr
fix(libkernel): report O_RDWR from F_GETFL on both ends of a pipe
2026-10-24 11:55:31 +13:00
JAB-devandClaude Sonnet 5.5 8da1a2dc0b fix(libSceNgs2): return the PS5 pan codes and accept NaN pan inputs
sceNgs2PanGetVolumeMatrix now returns the PS5 error codes in the PS5 check order instead of throwing, and lets NaN angles and distances through as the PS5 module does. sceNgs2PanInit gives the 7-speaker degree defaults for 0 speakers without angles, stores NaN speaker angles and leaves unused slots untouched. Inputs on which the PS5 library never returns still throw.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-24 00:51:07 +02:00
Dean f622f0253c Merge pull request #9063 from hypermoist/feat/npcommon-runtime
feat(libSceNpCommon): implement 95 more of the module's exports
2026-10-24 11:50:08 +13:00
JJenkxandClaude Opus 5.5 d07ceb9494 docs(agc): describe the run-start join rule in the host import debt entry
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 18:35:36 -04:00
Adrià a0fb7c26a7 Merge pull request #8968 from Chuk49/fix/agc-capture-skip-float-probe
fix(agc): leave the float-controls probe's pipelines out of compute captures
2026-10-24 00:20:00 +02:00
Mehran 54d7c780a5 perf(shader): reuse a memoized result by patching its copied words 2026-10-24 01:17:14 +03:00
orezraeyandClaude Opus 5.5 76e43cade8 Merge fix/libscecescs-mbcs-strings-measured-ps5 into fix/libscecescs-jis-encode-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 19:13:28 -03:00
JAB-devandClaude Sonnet 5.5 330e1699f3 Merge branch 'main' of https://github.com/boykopovar/AnyPS5 into fix/ngs2-mastering-gain-ps5
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-24 00:10:38 +02:00
JAB-devandClaude Sonnet 5.5 3f18aed2a5 fix(libSceNgs2): clamp the mastering gain to +-32 as the PS5 module does
The PS5 libSceNgs2.native (firmware 3.20 and 4.03) accepts every value of the mastering gain param 0x30000004 with return code 0, clamps each level to [-32, 32] (so +-inf gives +-32) and keeps NaN, which then gives NaN samples. Ours threw on NaN and inf and did not clamp. A NaN sample in a PCM_I16L render buffer now throws, since the PS5 conversion was only measured into float buffers.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-24 00:10:35 +02:00
orezraeyandClaude Opus 5.5 67ef849d7c Merge fix/libscecescs-scalar-measured-ps5 into fix/libscecescs-mbcs-strings-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 19:08:57 -03:00
orezraeyandClaude Opus 5.5 a349c9dcd2 Merge main into fix/libscecescs-scalar-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 19:03:24 -03:00
Adrià e7f46f5c89 Merge pull request #8489 from wachi35676/fix/shader-amd-lds-fence-scope
fix(shader): widen LDS atomic fences to device scope on AMD's proprietary driver
2026-10-24 00:02:07 +02:00
Adrià 495b7c10ab Merge pull request #8792 from SuarezPM/ai/image-atomics-keyed-tables
feat(shader): support 32-bit image atomics through keyed image tables
2026-10-24 00:00:03 +02:00
JJenkxandClaude Opus 5.5 9904c737ca fix(agc): reserve the storage images held in the sampled texture budget
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 17:59:54 -04:00
JJenkxandClaude Opus 5.5 3f2e9865b1 docs(agc): condense the texture cache budget debt entry
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 17:59:54 -04:00
JJenkxandClaude Opus 5.5 4c4a2332d5 perf(agc): let the storage image cache take up to half of the heap budget
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 17:59:54 -04:00
hamb3r cb29f63d43 perf(agc): address review on exception catches, docs, and test entry 2026-10-24 00:59:49 +03:00
slopggobblercobbler81 2f1cfdfa1a fix(libkernel): enforce SESS_LEADER EPERM and negative pid ESRCH ordering in setpgid/setpgrp 2026-10-23 23:52:23 +02:00
slopggobblercobbler81 782637fce4 feat(libkernel): implement setpgid and setpgrp 2026-10-23 23:52:21 +02:00
Dean 1b5efcc8d9 Merge pull request #9210 from rooklz/feat/cescs-gb18030
feat(libSceCesCs): add the GB18030-2000 and GB18030-2005 profiles
2026-10-24 10:44:26 +13:00
Dean 11b175a6b9 Merge pull request #9967 from JJenkx/windows/libc-setlocale-console
fix(libc): accept any setlocale category and only the C locale, as titles' libc.prx does
2026-10-24 10:38:40 +13:00
Dean Galvin 73aede5257 Merge main into feat/libscezlib-requests 2026-10-24 10:38:35 +13:00
Dean 313d905437 Merge pull request #9877 from orezraey/fix/libkernel-release-flexible-measured-ps5
fix(libkernel): keep the range sceKernelReleaseFlexibleMemory releases mapped as measured on a PS5
2026-10-24 10:37:09 +13:00
Himansh Raj 23b2cf95f9 Merge remote-tracking branch 'origin/main' into split/macos-build 2026-10-24 03:05:19 +05:30
Adrià dcd7e3a61e Merge pull request #8564 from JAB-dev/feat/agc-4-4-4-4-partial-writes
feat(agc): merge partial writes into 4_4_4_4 UNORM color targets
2026-10-23 23:23:11 +02:00
Adrià 9477025a05 Merge pull request #8672 from eliasbruno124-dev/fix/cold-device-storage-pressure-20261020
perf(agc): reclaim idle device buffers under storage cache pressure
2026-10-23 23:22:06 +02:00
Adrià a0e858ff7b Merge pull request #8881 from thuanquang/fix/writelane-spill-window
fix(shader): keep a v_writelane lane known across computed-index window stores
2026-10-23 23:17:12 +02:00
spiff637 3d831f4d1c fix(agc): resolve indexed indirect draws on a queue that never set INDEX_BUFFER_SIZE
A queue that has received neither INDEX_BUFFER_SIZE nor
INDEX_ATTRIBUTES_INDIRECT since its last reset has no index limit.
Such a draw takes the CPU record path and reads each record's index
range as written, refusing a range that overflows or is not readable.
An explicit INDEX_BUFFER_SIZE of 0 still throws.
2026-10-23 18:13:02 -03:00
Felipebmaitan 31c4d801ea test(job-manager): record worker wait reference divergence 2026-10-23 18:05:09 -03:00
Crimson cd329c060a fix(shader): fault on misaligned 64-bit LDS atomics under the workgroup lock 2026-10-23 23:59:53 +03:00
JJenkxandClaude Opus 5.5 8251179fc2 fix(libc): return the upper 32 bits of the state from drand48 and erand48 as titles' libc.prx does
drand48 and erand48 returned the whole 48-bit state over 2^48, as FreeBSD
does. The libc.prx bundled with eleven titles returns its upper 32 bits
over 2^32, so the low 16 bits never reach the result; both functions now
do the same. The generator and the other rand48 functions are unchanged.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 16:52:02 -04:00
Adrià FranchandClaude Sonnet 5.5 86d9e49f2e docs(shader): note APS5_EXACT_RCP reaches v_rcp_f16 and position W
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-23 22:50:13 +02:00
thibautandClaude Opus 5.5 3654f15bfa feat(shader): bit-exact RDNA v_rcp_f32 behind APS5_EXACT_RCP
v_rcp_f32 and v_rcp_iflag_f32 lower to the driver's 1/x, whose low bits
differ from the console's on NVIDIA and Intel. With APS5_EXACT_RCP set,
normal inputs with normal results take the RDNA reciprocal datapath
instead: a cubic over 32 segments of the mantissa in 32-bit integer
arithmetic, the linear term rounded to nearest even, and a 2,761-entry
table of one-ULP corrections, looked up only when the dropped bits fall
next to the rounding cut (6.25 % of inputs). This reproduces all 2^23
mantissas of an RDNA2 (gfx1031) sweep. Other inputs keep 1/x.

It is off by default: the tables add about 13k SPIR-V words to each
shader that uses it.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_017EjjFU1FjMR11oWDYs8UMo
2026-10-23 22:50:09 +02:00
orezraeyandClaude Opus 5.5 88d5f8483a docs(libkernel): keep the unmodelled EBADF of sceKernelAvailableDirectMemorySize in the debt
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 17:49:06 -03:00
Adrià 11e8ad2934 Merge pull request #8713 from SeifKaroui/fix/shader-unused-phi-cycles
fix(shader): remove unused phi cycles before resource planning
2026-10-23 22:46:22 +02:00
orezraeyandClaude Opus 5.5 4dc6530ee0 fix(libkernel): refuse an ip_mreqn with a non-zero address and require the multicast host checks
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 17:45:18 -03:00
orezraeyandClaude Opus 5.5 26090c534a Merge fix/libscecescs-mbcs-strings-measured-ps5 into fix/libscecescs-jis-encode-measured-ps5
Brings in main with #9204. The measured CP932 and CP51932 encoding rules (JIS form aliases, U+FEFF, the C1 range and U+000E) apply to those profiles only; the strict JIS X 0208 profiles keep #9204's tables.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 17:41:53 -03:00
orezraeyandClaude Opus 5.5 cce3beb67a Merge main into fix/libscecescs-mbcs-strings-measured-ps5
Keep #9204's strict JIS X 0208 profiles with their SS2 and SS3 choices inside the new helpers: decodeEucJp sends the measured CP51932 profile to decodeEucJpScalar and the strict profiles to #9204's rules, and only the X0208Ss2Ss3 profile encodes JIS X 0212. The EUC-KR, UHC and Big5 UTF-8 forms decode with decodeScalarUtf8.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 17:39:22 -03:00
Dean d53b659ab2 Merge pull request #9006 from JJenkx/feat/audio-propagation-path-slots
feat(audio-propagation): source-owned path slots and the public render output formats
2026-10-24 09:32:13 +13:00
orezraeyandClaude Opus 5.5 ad03c52f38 Merge main into fix/libkernel-socket-address-measured-ps5
Keep #9108's long IPv4-mapped bind on a dual-stack datagram socket, now also for connect, on top of the measured exact-size checks; drop LongAddressError and the duplicate listening check.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 17:32:09 -03:00
norton62andClaude Opus 5.5 ce3e22a325 fix(libScePad): open the system remote control port as a disconnected device
scePadOpen for the system user's remote control port (type 16) returned the
DualSense handle, so scePadReadState on the "remote" reported the controller's
buttons as connected. SDL's PS5 video driver maps that port's buttons to keys,
so every Cross also arrived as Return and every D-pad press as an arrow key.
In Raptor (PPSA94002) the Return overwrote the key typed on the on-screen
keyboard before the name field read it, and Circle closed the dialog instead
of the keyboard.

The port now opens its own handle that reads no buttons with connected false,
and closes independently of the DualSense handle. Unlike the special port
handles, it stays out of KnownHandle, so calls that act on the DualSense reject
it.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 21:31:49 +01:00
HQasperandClaude Opus 5.5 0b2e9aa564 fix(agc): draw stencil AND, OR, XOR and XNOR on the bits they change
DB_STENCIL_CONTROL codes 10, 11, 12 and 15 (STENCIL_AND, STENCIL_OR,
STENCIL_XOR, STENCIL_XNOR) combine the stored stencil value with
DB_STENCILREFMASK.STENCILOPVAL, as AMD_stencil_operation_extended
defines them, and threw "stencil operation N is unsupported".

Each one now becomes a single Vulkan operation with the face's write
mask narrowed to the bits it can change: ZERO for AND, INVERT for XOR
and XNOR, REPLACE with those reference bits set for OR. A face whose
other operations write other bits, OR against a compared test value bit
it would set, OR with a stencil test value export, and NAND and NOR
still throw.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 20:30:57 +00:00