Commit Graph
7963 Commits
Author SHA1 Message Date
Adrià Franch b6bfc78286 docs(agc): keep main's stencil replay debt line 2026-10-24 22:41:08 +02:00
fma-rc a8706b22ba docs(agc): record when an undrawn multisampled target is retired on guest access 2026-10-24 22:41:08 +02:00
JJenkxandClaude Opus 5.5 2ff14f34e3 fix(agc): emulate two-sample DB_ALPHA_TO_MASK 0xe701 dithered alpha-to-coverage
Bugsnax (PPSA01503) draws with DB_ALPHA_TO_MASK 0xe701 (quad offsets
3, 1, 2, 3 without OFFSET_ROUND) on a two-sample target and stopped on
the refusal of every dither but the eight-sample 0x18701. The pixel
shader now applies an eight-level per-quad table for it, measured
natively on gfx1032, and the request's dither byte selects that table
(serialization version 47). It is accepted only for two matched raster
and DB_EQAA samples, the two measured location pairs and FP16_ABGR or
32_ABGR exports.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 16:40:02 -04:00
Daniele Giovane 65bb594abb docs(libkernel): retain only initial-thread query limitations 2026-10-24 22:38:43 +02:00
Daniele Giovane 32926902b8 Merge main and leave pthread attributes to the earlier contribution 2026-10-24 22:38:29 +02:00
Kyon 372a31ed41 feat(libSceSulphaDrv): implement default configuration 2026-10-24 22:27:26 +02:00
boykopovar 53153d68be fix(sdk): recover dialog and streaming output layouts 2026-10-24 23:17:49 +03:00
JJenkxandClaude Opus 5.5 182bd6aa78 fix(libc): round and cap %e, %f and %g as titles' libc.prx does
The printf family formatted floating-point conversions through the host,
which prints every exact digit and rounds ties to even. The libc.prx
that titles ship keeps the exact digits only down to a position derived
from the binary exponent and prints zeros after them, rounds half up on
the kept digits, and rounds an exact tie down once that exponent
estimate reaches 8. So %.0f of 2.5 is 3 and %.1f of 0.25 is 0.3 there,
and %.20f of 0.1 is 0.10000000000000000555.

Format finite double and long double e, f and g conversions with those
rules from exactly generated digits, on every host. On 600,000 random
formats every output with up to 17 significant digits now matches the
copies bundled with PPSA07923, PPSA05916 and PPSA13934; longer outputs
still differ where the console's extended-precision digits end one unit
lower.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 16:17:13 -04:00
JJenkxandClaude Opus 5.5 377e8fccec docs(debt): %a no longer goes to glibc on Linux
The libc debt entry for %a and %A still described the Windows-only
formatter and said Linux hands %a to glibc; since Linux routes %a and %A
to the same formatter, describe it for both platforms.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 16:15:06 -04:00
JJenkxandClaude Opus 5.5 1fbd44b66f fix(libc): format %a like the console on Windows
The Windows printf family handed %a and %A to the host, whose UCRT prints
a subnormal unnormalised (0x0.0000000000001p-1022) and pads with zeros
even when the - flag is given (%-010a of 1.5 gave 0x001.8p+0). The
libc.prx that titles ship normalises subnormals (0x1p-1074), rounds a
shorter precision half up without renormalising a carry, and lets -
override 0, as C requires.

Finite doubles are now formatted here, checked against three titles'
copies of libc.prx run side by side.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 16:14:15 -04:00
Adrià c8d34aa8f4 Merge pull request #6009 from zmeizy/claude/minmax-f32-denormal-modes
fix(shader): translate f32 min and max in f32 denormal modes 1 and 2
2026-10-24 22:13:03 +02:00
Adrià 637220db11 Merge pull request #8686 from Ondra97/codex/fix-net-empty-stream-receive
fix(net): complete zero-length TCP receives without waiting on Windows
2026-10-24 22:07:49 +02:00
Yunus Shaikh bc0971afbc Merge #9505's main merge into perf/libc-collect-without-region-query 2026-10-24 12:53:59 -07:00
Adrià 2dc85609fc Merge pull request #5431 from sktharunbalaji13-cmd/feat/shader-draw-submission-correlation-5166-fresh
feat(agc): trace shader failures through draw submission batches
2026-10-24 21:49:57 +02:00
Swag 1d2d3d2a5d Merge upstream/main into feat/libressl-error-queue
Co-Authored-By: Claude Opus 5.5 <[email protected]>

# Conflicts:
#	core/libs/prx/libSceLibreSsl/CMakeLists.txt
#	docs/dev/debt/libSceLibreSsl.md
2026-10-24 15:40:11 -04:00
orezraeyandClaude Opus 5.5 60e4b0b651 Merge main into fix/libkernel-socket-receive-flags-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 16:35:43 -03:00
thuanquangandClaude a89e4c35a3 docs(libkernel): correct three stale socket statements
Co-Authored-By: Claude <[email protected]>
2026-10-25 02:28:11 +07:00
Adrià 50757b01c6 Merge pull request #9545 from Ondra97/codex/feat-freetype-cid-metadata
feat(libSceFreeType): expose CID font metadata
2026-10-24 21:24:52 +02:00
Dean Galvin 8807b0e235 test(agc): do not build agc_driver_frame_replay_tests while the test is quarantined (#10711)
The Windows registration check fails when a test executable is built but no ctest test runs it. Put the executable under ANYPS5_RUN_QUARANTINED_FRAME_REPLAY as well, so OFF neither builds nor registers it and ON does both.
2026-10-25 08:22:42 +13:00
Rookie b15a58d802 fix(libSceAgcDriver): export raw 32-bit values into UINT color targets as integers 2026-10-24 20:14:50 +01:00
Dean 30be9b428b Merge pull request #10331 from orezraey/fix/libkernel-multicast-membership-measured-ps5
fix(libkernel): join and leave multicast groups as measured on a PS5
2026-10-25 08:03:16 +13:00
Queuze eebd13e224 chore: refresh socket option contribution #9523 2026-10-24 15:52:53 -03:00
Queuze 4537b815e5 chore: refresh socket option contribution #9525 2026-10-24 15:52:52 -03:00
Queuze 28371daefd chore: refresh socket option contribution #9542 2026-10-24 15:52:51 -03:00
Queuze 942934a863 chore: refresh socket option contribution #9931 2026-10-24 15:52:49 -03:00
Queuze 2103fdf846 chore: refresh socket option contribution #9930 2026-10-24 15:52:49 -03:00
Yunus Shaikh 02f6f8e66f Merge main into fix/agc-sync-settle-initial-dcc-main2 2026-10-24 11:49:50 -07:00
Dean Galvin a875c2cc1e test(agc): quarantine agc_driver_frame_replay on Windows until the recorder fix (#10711)
The recorder reads a delta block with ReadCommittedUnsynced while the second DMA copy into it is still in flight, so the capture can hold zeros and the replay then does not reproduce the second copy. The test failed intermittently on the Windows lane. Do not register it on Windows unless ANYPS5_RUN_QUARANTINED_FRAME_REPLAY is ON, and list it in the libSceAgcDriver technical debt.
2026-10-25 07:46:42 +13:00
Adrià Franch 4e35ece5a3 Merge remote-tracking branch 'upstream/main' into HEAD 2026-10-24 20:42:36 +02:00
Dean Galvin e31ae9fc3e Merge main into windows/libc-powf-msun 2026-10-25 07:39:41 +13:00
Dean 0ea0f25e1b Merge pull request #8863 from UnhealthyKraken/feat/libc-feholdexcept
feat(libc): implement feholdexcept
2026-10-25 07:37:11 +13:00
Dean 82443ce914 Merge pull request #10223 from orezraey/fix/libc-printf-measured-ps5
fix(libc): format sizes, NaN signs, UTF-16 units, positions and unknown conversions as a PS5 does
2026-10-25 07:34:56 +13:00
Dean aad10c84cc Merge pull request #9979 from mazen320/feat/libc-collate-vtable
feat(libc): export the collate facet vtable as data
2026-10-25 07:34:33 +13:00
Dean 1c6e10f170 Merge pull request #8693 from JAB-dev/fix/audioout2-speaker-info-errors
fix(libSceAudioOut): report not-initialized, null-pointer and flag errors from sceAudioOut2GetSpeakerInfo
2026-10-25 07:32:15 +13:00
orezraeyandClaude Opus 5.5 199fd82e3d Merge main into fix/libscepad-open-checks-measured-ps5
Main limits the standard port to logged-in users, so scePadOpen now checks the port type alone first, then the user and index, and leaves the standard port's user lookup to PortForUser.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 15:30:45 -03:00
Adrià 6b23aaf129 Merge pull request #9159 from EagleBearerYS/fix/agc-rewatched-imports-compared-when-shared
fix(agc): keep a rewatched import's memory compared once it is shared
2026-10-24 20:26:38 +02:00
Michael Krumland-DunningandClaude Opus 5.5 952cc18efa test(shader): pin SDWA v_cvt_f32_ubyte source selects measured on RDNA2
v_cvt_f32_ubyte0 to v_cvt_f32_ubyte3 take byte N of source 0 after
SRC0_SEL and SRC0_SEXT select and extend it, as measured with the
hardware oracle on RDNA2 (gfx1036) for all seven source selects with
and without SRC0_SEXT. The test checked four combinations derived from
the ISA guide; it now checks every combination against the measured
results, and the debt entry keeps only what is not measured: gfx1013.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 11:26:19 -07:00
Adrià c035bd5b70 Merge pull request #9424 from hugodearaujo/fix/agc-unset-index-limit
fix(agc): resolve indexed indirect draws on a queue that never set INDEX_BUFFER_SIZE
2026-10-24 20:23:28 +02:00
Adrià 24581200ad Merge pull request #9450 from fma-rc/fix/agc-eqaa-one-fragment
fix(agc): draw a one-fragment multisampled color target as one sample with sample 0's coverage
2026-10-24 20:22:28 +02:00
qpavyros 0a64d23bdf feat(libkernel): enumerate archived app directories
Squashed onto current main, resolving the fchflags/fstatfs conflict with the kqueue guards.
2026-10-24 20:18:05 +02:00
Kyon b5d41024b1 feat(libSceAudio3d): implement error descriptions 2026-10-24 20:16:40 +02:00
orezraeyandClaude Opus 5.5 fddc34a381 Merge main into fix/libkernel-socket-receive-flags-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 15:16:39 -03:00
orezraeyandClaude Opus 5.5 898736710e Merge main into fix/libkernel-posix-thread-attr-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 15:06:30 -03:00
xXPBSXxandClaude Sonnet 5.5 a631659db4 docs(debt): note how a title calls scePadSetAngularVelocityDeadbandState
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-24 19:58:47 +02:00
PYTHONRETARDEandClaude Opus 5.5 d84a94e6d2 fix(agc): discard a new depth surface's depth before taking storage writes
TakeStorage copies a pending or live storage image over the whole depth
plane of a new single-sample surface, after the creation clear. On AMD's
Windows driver 32.0.31041.1004 (RX 7800 XT), one or two 8x8 blocks of a
D16 surface then tested as the clear value in about 1 of 10 runs of
agc_driver_depth_surface_from_storage, although a copy back of the image
read the copied values (#6630).

Without a stencil plane the copy now goes through an UNDEFINED to
TRANSFER_DST_OPTIMAL barrier on the depth aspect and back to GENERAL, so
the clear's state is discarded before the copy writes every texel. A
surface with a stencil plane keeps the previous path.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 17:55:56 +00:00
Maz 2f94984276 feat(libc): export the collate facet vtable as data
Titles that resolve collate<char>'s vtable as an object need a 72-byte export matching console libc.prx (PPSA16833).
2026-10-24 21:49:15 +04:00
Adrià 29f539a5f3 Merge pull request #7881 from slugzero/feat/pad-multi-controller
feat(pad): support up to 4 controllers with dynamic user discovery
2026-10-24 19:48:53 +02:00
Yunus Shaikh 9e7b2ade4c Merge main into fix/libkernel-signal-handler-mask 2026-10-24 10:47:50 -07:00
Shahul Mubeen AandClaude Opus 5.5 e75a166184 fix(agc): ignore skip-file tokens that are not whole hexadecimal addresses
strtoull took the valid hex prefix of a token and ignored the rest, so a
malformed token such as "123garbage" selected program 0x123, and an
overflowing token was not detected. A token now has to be a whole 64-bit
hex number (with an optional 0x prefix); any other token is reported and
ignored. The test adds a list with a malformed token whose prefix is the
first program's address and an overflowing token.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 23:14:58 +05:30
Shahul Mubeen AandClaude Opus 5.5 49b68167fa feat(agc): skip the draws and dispatches of the programs listed in a file
APS5_SKIP_SHADER_FILE names a file of hex program addresses (whitespace
separated, # starts a comment). Draws and dispatches that use a listed
program are dropped as with APS5_SKIP_SHADER. The file is re-read within
500 ms of a change, so passes can be switched off and on while the title
runs.

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