Commit Graph
20967 Commits
Author SHA1 Message Date
Dean 5e6ae6e3d0 Merge pull request #10282 from al3w0f205/test/npentitlementaccess-flags-and-transaction-coverage
test(libSceNpEntitlementAccess): cover flag queries and transaction parameter validation
2026-10-24 13:00:28 +13:00
Adrià 798c908fc4 Merge pull request #9068 from frankea/table-callee-range
fix(shader): link table callees that together exceed s_call_b64 range
2026-10-24 01:58:48 +02:00
Retr0 d44d5685eb fix(libkernel_sys): resolve linkat paths relative to a directory descriptor 2026-10-24 02:58:00 +03:00
Dean 98768fd542 Merge pull request #10188 from Felipebmaitan/feat/jobmanager-compute-storage
fix(libSceJobManager): batch compute completion in caller storage
2026-10-24 12:56:53 +13:00
Dean 8d6a50bb8f Merge pull request #8126 from Longziip/fix/agc-direct-write-completion-stamp
fix(agc): keep storage image results recorded after a direct write when its completion stamps it again
2026-10-24 12:56:01 +13:00
Dean 8fc60685a7 Merge pull request #10224 from Project-MOC/codex/fix-unwrap-self-atomic-output
fix(tools): preserve SELF outputs on failed writes
2026-10-24 12:55:33 +13:00
Dean c4c368b84b Merge pull request #10353 from ntamas94/fix/ps4-json2-array-assign
feat(libSceJson2): implement sce::Json::Array::operator=
2026-10-24 12:55:05 +13:00
Dean a3cf44c558 Merge pull request #10111 from xXPBSXx/fix/fchflags-kqueue-einval
fix(libkernel): fail fchflags on a kqueue descriptor with EINVAL
2026-10-24 12:54:38 +13:00
Dean 46b8d61206 Merge pull request #10068 from xdCloudy/feat/libSceCamera-pending-exports
feat(libSceCamera): declare 106 PS5 3.20 exports
2026-10-24 12:54:09 +13:00
Dean 5211b744ba Merge pull request #8942 from enfuego27826/feat/libscezlib-requests
feat(libSceZlib): support several outstanding requests and timed waits
2026-10-24 12:53:40 +13:00
Dean d8b73e3644 Merge pull request #9273 from DavidSamir/feat/libkernel-sys-pselect
feat(libkernel): implement pselect over select
2026-10-24 12:53:12 +13:00
orezraeyandClaude Opus 5.5 6008fc69aa Merge main into fix/agc-partial-fast-clear-eliminate
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 20:52:57 -03:00
Dean d284c98b2e Merge pull request #10001 from MarcZX10/codex/libc-coshf-msun
fix(libc): follow msun for coshf
2026-10-24 12:52:24 +13:00
Queuze 41a1e6a196 fix(libc): retain valid standard stream bindings 2026-10-24 00:51:42 +01:00
Queuze 02e884c8e0 test(libc): preserve prebound standard streams 2026-10-24 00:51:42 +01:00
Queuze 5e8eed1540 test(libc): pass loader path as a wide argument 2026-10-24 00:51:42 +01:00
Queuze 563d1dcc3a fix(libc): reopen bound streams without double close 2026-10-24 00:51:42 +01:00
Queuze 897bf2ef6c fix(libc): attach missing standard streams to NUL 2026-10-24 00:51:42 +01:00
Queuze f26a9b04aa test(libc): check streams for missing std handles 2026-10-24 00:51:42 +01:00
p3nicillinandClaude Opus 5.5 02cf85ef89 fix(libc): open NUL on standard descriptors without a stream on Windows
A Windows process started without a standard handle, such as a detached
process or a --windows-gui executable started from Explorer, has
descriptors 0 to 2 whose _get_osfhandle is -2. fcntl then threw on their
unknown file type, which stopped Halo: Combat Evolved (PPSA99500) at
start-up. Open NUL on each of them when libc loads, as Linux and macOS
already open /dev/null on a closed standard descriptor.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 00:51:42 +01:00
Oscar45397andClaude Opus 5.5 13ebd7d43c fix(tests): retry the Windows working directory read until the child has written it
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 01:50:59 +02:00
orezraeyandClaude Opus 5.5 9402457fb7 Merge fix/libkernel-multicast-membership-measured-ps5 into fix/libkernel-socket-receive-flags-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 20:50:51 -03:00
Nicolas GonzalezandClaude Opus 5.5 7c5d97324c Merge branch 'main' of https://github.com/boykopovar/AnyPS5 into fix/macos-sce-net-freebsd-errors
Resolve the sceNetInetPton conflict with #10275: the macOS leading-zero check moves into its convert lambda for AF_INET, so the dotted IPv4 tail of IPv6 text is checked too.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 20:50:02 -03:00
Himansh Raj cb87c6028f Merge remote-tracking branch 'origin/main' into split/macos-build 2026-10-24 05:19:58 +05:30
Yunus Shaikh 3e3808e55b fix(agc): rewatch only a settled import's own pages
rewatchSettledImports passed an import's 64 KiB-rounded span to
Rewatch. For an import whose size is not a block multiple the span's
last block holds pages past the allocation, the walk fails on them, and
the import stayed compared for good. Pass the import's own pages; the
shared-block and live storage image checks still use the block span.
2026-10-24 01:49:43 +02:00
Yunus Shaikh e172ee8394 fix(agc): let Rewatch return page-aligned ranges
Rewatch took only whole 64 KiB blocks, so an unwatched import whose
size or base is not a block multiple could only be offered its rounded
span, and that span reaches pages the import does not own: uncommitted
ones fail the write-watch walk and nothing returns, committed ones of a
neighbour return with it. Rewatch now takes ranges in 4 KiB pages, as
WriteWatchCoverage::Restore already does, and still stamps every block
a range touches as a CPU store.

agc_write_tracking_rewatch_import_pages (Windows) covers a 0xc4000-byte
import, one starting 0x1000 into a block, one sharing its last block
with another unwatched import, and a whole-block import.
2026-10-24 01:49:43 +02:00
Queuze f3964a7d2d fix(agc): settle every pending import batch 2026-10-24 01:49:43 +02:00
Queuze 5537cb82c0 test(agc): cover multi-batch import settling 2026-10-24 01:49:43 +02:00
Yunus Shaikh e551d07274 test(agc): keep only the FMASK's settle pending in an eight-sample initial DCC case
Case 6 of settleInitialDccTests imports the target's color, DCC and CMASK
region and its FMASK region off the GPU lock, so both settles are pending
at the first use. The color loop's WatchedAfterSettle submits a settle
batch, and submitSettleBatch puts every wanted settle in it, the FMASK's
included. By the FMASK check the FMASK is back in the write watch, so the
case passes with and without the previous commit: 2 settle reads
submitted either way on an RTX 3070.

Keep case 6 as the case where both settles are pending, and add a case
where only the FMASK's is. The target's import is made and settled under
the GPU lock with WatchedAfterSettle before the FMASK's import exists, so
its color, DCC and CMASK planes are watched with no compared import over
them. The FMASK then gets its own 64 KiB import off the GPU lock, between
unregistered 64 KiB gaps, compared with its deferred settle wanted. The
case checks those preconditions and that no settle read is submitted
before the first use. The settle counters do not tell the color loop from
the FMASK check, so the case requires exactly one settle read for the
whole use: the FMASK's.

With the previous commit the target is accepted and its FMASK returns to
the write watch. Without it the FMASK check refuses the target with
"native FMASK contents require watched guest memory" and no settle read
is submitted.

Refs https://github.com/boykopovar/AnyPS5/issues/9724
2026-10-24 01:49:43 +02:00
Yunus Shaikh bef24410af fix(agc): settle a pending import before the FMASK checks of an initial multisampled DCC import
#7948 requires the FMASK of an eight-fragment DCC target to be
write-watched at the initial import and at each reuse. On Windows an
FMASK in a host import whose deferred settle has not run yet is still
compared, so the target is refused with "native FMASK contents require
watched guest memory" after the previous commit has settled its color and
metadata ranges.

Call WatchedAfterSettle for the FMASK range at both checks, as the initial
import already does for the color, DCC and CMASK ranges. A range that is
unwatched without an import awaiting its read is still refused, and
nothing changes off Windows.

Four-sample targets take no FMASK range, so this changes nothing for them.

Refs https://github.com/boykopovar/AnyPS5/issues/9724
2026-10-24 01:49:43 +02:00
Yunus Shaikh 44141f9aaf fix(agc): settle a pending import synchronously before an initial multisampled DCC import
Rush 2 Recompiled (PPSA69423) and Wave Race 64 Recompiled (PPSA69424)
stop on Windows with "initial multisampled DCC contents require watched
guest memory" (https://github.com/boykopovar/AnyPS5/issues/9724). Their
multisampled color target lives in a 784 KiB host import made at map
time. An import under 1 MiB stays compared until a later lookup reaps
its deferred settle read, and the titles draw to the target first.

When an initial multisampled DCC import needs a range whose import still
waits for its settle read, submit that read now if it is still wanted,
wait for its fence and return the import to the write watch before the
check. This builds on #8527's ordering: the read goes through its
main-queue batch with barriers around it, so it runs after every earlier
main-queue access, and the wait happens under the GPU mutex that
submission holds.

An import that is not a whole number of 64 KiB blocks, such as these
titles' 0xc4000 bytes, never got a deferred read, and Rewatch refuses a
range that does not start and end on a block. Such an import now waits
for this path alone. It returns to the write watch with its partial
blocks whole, each stamped as a CPU store, unless another compared
import or a live storage image shares them.

Imports that stay compared for any other reason still do, an explicitly
unwatched range is still refused, and APS5_NO_DEFERRED_SETTLES still
keeps these imports compared.
2026-10-24 01:49:43 +02:00
Retr0 68db53d7a5 fix(libkernel): fail sendfile with EINVAL for a file that is not a regular file 2026-10-24 02:44:14 +03:00
Dean 2ace103a9c Merge pull request #10275 from orezraey/fix/libscenet-inet-pton-ex-measured-ps5
fix(libSceNet): convert sceNetInetPton text and null outputs as measured on a PS5
2026-10-24 12:43:38 +13:00
Dean d634849209 Merge pull request #10277 from al3w0f205/test/userservice-initial-user-and-game-presets-validation
test(libSceUserService): cover initial user queries and game presets validation
2026-10-24 12:41:28 +13:00
Dean 0884fab4b1 Merge pull request #8995 from dantdmdarealguy/fix/env-reference-environmentnumber
fix(tools): read the EnvironmentNumber environment reader in env_reference
2026-10-24 12:40:38 +13:00
Himansh Raj 481366247c Merge remote-tracking branch 'origin/main' into split/macos-build 2026-10-24 05:10:15 +05:30
orezraeyandClaude Opus 5.5 39d4e73e26 test(libc): stop pinning the unmeasured reallocalign zero-size realignment
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 20:34:40 -03:00
hypermistandClaude Opus 5.5 b06247e712 Merge remote-tracking branch 'upstream/main' into feat/libc-sce-v2-exceptions
Kept both sides in StandardExceptions.cpp: main's system_category and error_code value at offset 4 plus this PR's SceV2 types; the shared ThrowCppError and the test's ErrorCode follow the new layout. No exports overlap.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 12:29:29 +13:00
Adrià d1fc16348e Merge pull request #9013 from Queuse/codex/test-long-pipeline-cache-paths
test(agc): guard long pipeline-cache paths
2026-10-24 01:23:57 +02:00
Adrià 06596f3bdf Merge pull request #9017 from TheSovietWaffle/fix/recompiler-stencil-replay-exec-copy
fix(recompiler): accept EXEC copies in stencil replay masks
2026-10-24 01:23:52 +02:00
MaxandClaude Opus 5.5 3ddaa64707 fix(libkernel): return EINVAL for the semaphore arguments the console rejects
The prosper console oracle measured SCE_KERNEL_ERROR_EINVAL for creating
a semaphore with an initial count above the maximum, a maximum of 0, a
negative initial count or a null name, for polling 0 or more than the
maximum, and for signalling 0. These threw, or polled past the maximum
returned EBUSY, and signalling 0 succeeded.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 01:18:34 +02:00
Akul Tyagi 378ce8f9b5 test(libSceSaveData.native): cover transferring and v1 mount lifecycle 2026-10-24 04:46:44 +05:30
JAB-dev f6f7b24164 Merge branch 'main' of https://github.com/boykopovar/AnyPS5 into fix/ngs2-pan-ps5 2026-10-24 01:16:05 +02:00
orezraeyandClaude Opus 5.5 60135e8855 Merge main into fix/libkernel-aio-limits-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 20:06:53 -03:00
orezraeyandClaude Opus 5.5 3b962f06ed Merge main into docs/libc-memmem-memccpy-exports
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-23 20:05:29 -03:00
Himansh Raj 048bb887a7 build: cast away const before the error_category vtable call on macOS
Apple clang rejects reinterpret_cast from const void* to a function
pointer ("casts away qualifiers") in StandardExceptions.cpp, so
libc/src/exception/Exports.cpp, which includes it, failed to build on
macOS after std::system_category landed. On macOS the vtable slot is
const_cast first. Linux and Windows compile the same code as before.
2026-10-24 04:34:11 +05:30
Queuze 6d31de8561 chore: sync contribution #8873 with main 2026-10-23 20:02:20 -03:00
Queuze df3fb05b06 chore: sync contribution #9001 with main 2026-10-23 20:02:19 -03:00
Queuze a19a7d52bf chore: sync contribution #9000 with main 2026-10-23 20:02:19 -03:00
Queuze 4f6358a918 chore: sync contribution #9523 with main 2026-10-23 20:02:18 -03:00