Commit Graph
20967 Commits
Author SHA1 Message Date
Queuze b5e40d1d3e chore: sync siginterrupt after implementation merge 2026-10-24 15:49:52 -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
fma-rc 18d170c163 fix(tests): keep the recorder test main's body at its indentation inside a plain block 2026-10-24 20:44:24 +02:00
Dean 2fade7ef4e Merge pull request #8980 from Dragost/fix/libSceAvPlayer-drift-gated-audio-clock-rebase
fix(libSceAvPlayer): gate audio clock rebase by drift threshold
2026-10-25 07:43:44 +13:00
Filip Michalski 50dc1c93c8 fix(relinker): reject LOCK-prefixed MOVNTSS and MOVNTSD 2026-10-24 20:43:16 +02:00
Filip Michalski cfa8c10d21 fix(relinker): clarify LOCK SHA failures and cover conversion 2026-10-24 20:43:14 +02:00
Adrià FranchandClaude Sonnet 5.5 041df5af17 fix(agc): record an evicting import's range as a pair for the mirror release
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-24 20:42:43 +02:00
Adrià Franch 4e35ece5a3 Merge remote-tracking branch 'upstream/main' into HEAD 2026-10-24 20:42:36 +02:00
Yunus Shaikh fbf50df422 Merge main into port/fable-shared-map-views 2026-10-24 11:40:50 -07:00
Dean Galvin e31ae9fc3e Merge main into windows/libc-powf-msun 2026-10-25 07:39:41 +13:00
Bram910 05bd732eaf test(tools): tighten inner ELF version regressions 2026-10-24 20:38:30 +02: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
Guille Dols 6fb15480a5 ci(conventions): keep namespace identity across reopened blocks for alignas constants 2026-10-24 20:33:30 +02:00
Guille Dols 3b4c56757c ci(conventions): resolve alignas constants in the scope they are used in 2026-10-24 20:33:30 +02:00
Guille Dols a2b2c374ed ci(conventions): reject alignas above the 8192 bytes MinGW allows 2026-10-24 20:33:30 +02: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
roboterspinne b687ff45ab Merge remote-tracking branch 'upstream/main' into fix/relinker-validation-offset-once 2026-10-24 20:23:54 +02: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
Adrià 8d3ec0aead Merge pull request #9436 from ycbuzi/fix/agc-vertex-format-widen
fix(agc): widen a vertex format the device lacks to the buffer element's
2026-10-24 20:22:23 +02:00
roboterspinne 0ba2ca7982 fix(relinker): reject executable DT_NEEDED names the guest reader rejects
The pipeline read an executable's DT_NEEDED names with readCStr and
checked only bounds and the NUL terminator, so without bundled modules
an empty name, $LIB.prx, a:b.prx or a name with CR or LF relinked with
exit 0 and reached the Linux DT_NEEDED unchanged, while the Windows and
macOS outputs each rejected a different subset. The DT_NEEDED loop now
applies the rule GuestImageReader applies to a module's DT_NEEDED: a
name is not empty and contains no backslash, colon, dollar, CR or LF; a
slash stays allowed. Such an executable now fails on every target with
"Invalid dependency: <name>" at the name's file offset, and outputs for
valid names do not change.
2026-10-24 20:20:26 +02:00
roboterspinne 7424949b8b fix(relinker): refuse branches into trapped guest GS instructions on Windows
Windows output replaced each guest GS memory instruction with UD2 and
NOP fill without checking the decoded direct branch targets, so a branch
past the first byte of such an instruction was converted and landed in
the second UD2 byte or the NOP fill. A branch target strictly inside a
trapped GS instruction is now refused with "Branch enters a guest GS
instruction", the rule macOS applies since #7706 and this builder
already applies to its FS rewrites. The branch targets are sorted before
the trap loop, which runs before the PT_TLS early returns, so images
without PT_TLS are covered; guest modules go through the same builder. A
branch to the first byte still converts and reaches the UD2.
2026-10-24 20:18:50 +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
Romans Pokrovskis 3a28164803 Merge commit '5357acd6973dd4bd16c69fbab0804580c144537d' into codex/fix-import-upload-generation-main29f539-20261024 2026-10-24 21:16:59 +03:00
Bram910 a3e2626eea test(tools): avoid private subprocess encoding helper 2026-10-24 20:16:43 +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
Adrià befe264ffb Merge pull request #9495 from Neppolo/fix/spirv-optimizer-host-stack
fix(shader): validate and optimize SPIR-V on a host thread when the stack is short
2026-10-24 20:14:59 +02:00
Bram910 93fe401062 test(tools): clarify GNU hash chain coverage 2026-10-24 20:07:38 +02: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
ed61cbd11b fix(libkernel): refuse O_CREAT on an existing directory with EISDIR on macOS
Darwin opens an existing directory for O_CREAT without O_EXCL, while FreeBSD
and Linux fail with EISDIR. Close the descriptor and report EISDIR so
sceKernelOpen and open behave the same on every host.

Co-authored-by: Himansh Raj <[email protected]>
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-24 23:36:14 +05:30
Adrià 5357acd697 Merge pull request #9236 from milescoviello/test/draw-snapshot-table-texels
test(agc): give the draw snapshot table set test texels for its whole surface
2026-10-24 20:03:13 +02: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
Romans Pokrovskis 8afdc2e10a fix(agc): collect upload generation after host import
(cherry picked from commit 0d993899322b146276dcec9be59ae115b25acf93)
2026-10-24 20:56:14 +03: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
Adrià 6b496aa1d1 Merge pull request #7299 from qpavyros/codex/windows-named-shm
feat(libkernel): support named shared memory on Windows
2026-10-24 19:42:16 +02:00
Dean 67bbe03f91 Merge pull request #10173 from EagleBearerYS/fix/libkernel-rwlockattr-settype-types
fix(libkernel): store only rwlock attribute types 1 and 2
2026-10-25 06:39:50 +13:00
Dean 845e081537 Merge pull request #9038 from akkadbakkad89/feat/libc-facet-getcat
feat(libc): cover the codecvt, numpunct, num_put and time_put facets, their ids and std::clog
2026-10-25 06:39:27 +13:00
Dean ebdfb92528 Merge pull request #8872 from ycbuzi/feat/libc-siginterrupt
feat(libc): implement siginterrupt through the sigaction libkernel registers
2026-10-25 06:39:00 +13:00