Commit Graph
14017 Commits
Author SHA1 Message Date
thuanquangandClaude Opus 5.5 e04cd44347 test(libc): cover wcsncat_s exact fit, unterminated destination and overlapping source
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-20 14:54:30 +07:00
Allan JohnandClaude Opus 5.5 8ab6ecb17a feat(libSceNet): implement sceNetGetDnsInfo
Report the host IPv4 DNS servers of the interface sceNetCtlGetInfo
uses, through a helper libSceNetCtl exports, and return their count.
The signature and layout follow the OpenOrbis musl resolver and Net.h.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-20 13:19:12 +05:30
RengundomandClaude Opus 5.5 2e70f478e8 test(trace): check again that a failed benchmark rewrite keeps the previous file
The blocked-destination case checks a different file, so an in-place
rewrite passed it. The earlier case is back beside it: a directory at
<name>.tmp makes the write fail, and the previous aps5-bench.json.gz must
be unchanged. It is left out of Windows builds, where the
std::ios_base::failure thrown inside the MinGW ofstream did not unwind to
the test's catch.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-20 02:47:24 -05:00
Leonardo Feitosa eca73e1e40 revert(agc): track DCC storage images with more than one mip as one unit 2026-10-20 04:38:56 -03:00
milescovielloandClaude Opus 5.5 2be68c12b9 fix(agc): remember the differing statistics' value sets by hash
With APS5_PROFILE_DRAW, every dispatch that misses because its captured
SRT words differ copies the entry's runs and words into a ring of the
last three value sets per dispatch key, for up to 16384 keys. The ring
only answers whether a new value set equals one of them, so it now keeps
a 64-bit hash of each set instead of a copy.

Ghost of Tsushima captures SRT words of more than 1 MiB per compute
dispatch, and a profiled run held 352 MiB of these copies 274 s in.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-20 07:36:30 +00:00
thuanquangandClaude Opus 5.5 c98ebbde1e fix(relinker): name the guest module when its syscall scan fails
The forbidden-syscall error carried no input path, so the conversion's
catch filled in the main executable's path even when the instruction
was in a guest module. The scanner already receives the scanned file's
path; put it in the exception.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-20 14:32:54 +07:00
Dean 1edbe4b5e0 Merge pull request #7006 from TheSovietWaffle/fix/recompiler-stencil-replay-every-value
fix(recompiler): replay every eight-bit stencil reference a pixel shader may export
2026-10-20 20:30:46 +13:00
SebastianandClaude Opus 5.5 cfdaf2dbb8 feat(libkernel): implement fchflags
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01QnkpF2oEMofseVz9Z7WEAC
2026-10-20 07:28:54 +00:00
primesoul-web a0356d0cdd Merge upstream/main: carry the revision drop over the console size wave 2026-10-20 07:25:26 +00:00
primesoul-web eb78be8036 fix(libSceIme): drop the filtered commit when the session changed while the filter ran 2026-10-20 07:24:09 +00:00
Yossi Yadgar 190829863e docs(debt): note where the NpParty state comes from 2026-10-20 10:18:30 +03:00
Yossi Yadgar 12e33a68ab feat(libSceNpParty): report the user as not in a party from sceNpPartyGetState
There is no party service, so the 16-bit state is NOT_IN_PARTY; a null state returns INVALID_ARGUMENT.
2026-10-20 10:18:20 +03:00
hamb3r 57c8c01183 Merge branch 'main' into feat/libc-backtrace-windows 2026-10-20 10:15:56 +03:00
Yossi Yadgar 6cedb6a5fd docs(debt): note where the headset-less Hmd results come from 2026-10-20 10:13:11 +03:00
Yossi Yadgar a569d075ec feat(libSceHmd): report the headset disconnected from sceHmdGetAssyError 2026-10-20 10:13:11 +03:00
Yossi Yadgar fe6aba89a8 feat(libSceHmd): refuse the field of view, eye offset and sensor queries without a headset
No handle is ever open, as sceHmdOpen reports the headset disconnected, so they return HANDLE_INVALID after initialization and NOT_INITIALIZED before it, without writing their outputs.
2026-10-20 10:13:11 +03:00
Yossi Yadgar fa916ae7bc feat(libSceHmd): return the distortion and reprojection buffer sizes and alignments 2026-10-20 10:13:11 +03:00
Dean 3fd1cc393b Merge pull request #7690 from T3cm0/bionic/hmd2-size-queries
feat(libSceHmd2): return the console's display and mirroring buffer sizes
v0.1.3
2026-10-20 20:07:31 +13:00
Dean 4a10f5f167 Merge pull request #8037 from MarrasFederico/feat/libc-strtonum
feat(libc): implement bounded decimal parsing with strtonum
2026-10-20 20:07:26 +13:00
Dean 26f157ba15 Merge pull request #7959 from Lindamea1/fix/libscenet-getsockinfo-fill
fix(libSceNet): fill the address and port fields in sceNetGetSockInfo
2026-10-20 20:07:23 +13:00
Dean d9df34d081 Merge pull request #8172 from wachi35676/fix/agc-import-watch
fix(agc): keep resident DCC targets watched under aligned block imports
2026-10-20 20:07:19 +13:00
Santhosh Kumar c233067eb3 feat(libSceFreeType): select and iterate character maps 2026-10-20 12:37:02 +05:30
Yossi Yadgar c478789949 fix(libSceMove): refuse a second open of the same controller with ALREADY_OPENED 2026-10-20 10:02:04 +03:00
Agnibha Mukherjee 43b1f49f7c fix(tools): keep the blank line between a staying entry and a paragraph
render_index emitted a blank line only after a heading or text line, so a
paragraph following an entry that stays in the index was written directly
under the bullet, and Markdown read it as a lazy continuation of the list.
2026-10-20 12:31:55 +05:30
Yossi Yadgar 808d67e715 fix(libSceMove): return INVALID_HANDLE for a handle that is not open
The handle calls and sceMoveClose threw for a handle never opened, already closed or opened before sceMoveTerm; they now return 0x80EE0004, checked before the other arguments.
2026-10-20 10:01:45 +03:00
Mayank Manas ac1f4ded19 test(agc): skip the f64 denormal mode tests on devices without shaderFloat64 2026-10-20 12:28:22 +05:30
Dean e9cc4a8efb Merge pull request #8200 from xXPBSXx/fix/enotdir-through-file-3-fb
fix(libc): fail chdir, remove, opendir and fopen through a regular file with ENOTDIR on Windows
2026-10-20 19:50:10 +13:00
Dean d8ae320ca4 Merge pull request #8128 from JAB-dev/debt/rtc-tick-add
fix(libSceRtc): make sceRtcTickAdd* wrap and ignore range like the console
2026-10-20 19:50:06 +13:00
Dean 98db779227 Merge pull request #8085 from vittoriosalvadore/codex/fix-configure-seed-input-alias
fix(tools): prevent configure seeds from overwriting their cache
2026-10-20 19:39:32 +13:00
Yossi Yadgar 0a69b383d1 docs(debt): note where the HTTP option defaults come from 2026-10-20 09:37:28 +03:00
Yossi Yadgar c0f8251a4b feat(libSceHttp): accept the redirect cache, private SSL and forced abort calls
Without a network these change nothing, so they check their arguments and return 0, and the debt file lists them as silent stubs.
2026-10-20 09:37:17 +03:00
Yossi Yadgar 2525578179 feat(libSceHttp): implement sceHttpGetEpoll
sceHttpSetEpoll and sceHttpUnsetEpoll now keep and clear the object's epoll and argument, which sceHttpGetEpoll returns.
2026-10-20 09:36:03 +03:00
Yossi Yadgar 32f0a809be feat(libSceHttp): implement the Accept-Encoding gzip switches
sceHttpSetDefaultAcceptEncodingGZIPEnabled sets the value templates of that context start with; sceHttpSetAcceptEncodingGZIPEnabled and sceHttpGetAcceptEncodingGZIPEnabled set and read it per object.
2026-10-20 09:35:20 +03:00
Yossi Yadgar 585e42bcab feat(libSceHttp): implement sceHttpGetNonblock and the Try variants of the nonblocking switch 2026-10-20 09:34:26 +03:00
Yossi Yadgar ac6ceb0b55 feat(libSceHttp): keep redirect options per object and implement sceHttpGetAutoRedirect
Templates, connections and requests now each keep their options, copied from the parent when they are created, so sceHttpSetAutoRedirect is no longer dropped and sceHttpGetAutoRedirect returns it.
2026-10-20 09:33:53 +03:00
Dean 15da28937e Merge pull request #8149 from JJenkx/windows/libkernel-stat-symlink-loop
fix(libkernel): report ELOOP from sceKernelStat for Windows symbolic link loops
2026-10-20 19:32:01 +13:00
Dean 138351d714 Merge pull request #8056 from ntamas94/fix/sce-net-inet-pton-ex-aton
fix(libSceNet): parse sceNetInetPtonEx IPv4 text as the PS4 does
2026-10-20 19:31:57 +13:00
Lindamea1andClaude Opus 5.5 a05db60c87 fix(libSceNet): fill the address and port fields in sceNetGetSockInfo
sceNetGetSockInfo returned 0 for a known socket and wrote nothing, so
callers read uninitialised bytes as the socket's endpoints. Monster
Hunter Wilds (PPSA24191) calls it after bind, connect and accept and
stores the local and remote address and port it reads back.

It now writes one 0xA0-byte record in the layout SharpProspero and
shadPS4 give: the socket id, the socket type, the local and remote
IPv4 address and port of the host socket in network byte order, the
SELF and NONBLOCK status flags, and the receive and send buffer sizes
sceNetGetsockopt reports for the socket. The other fields are 0. It
returns 1, the number of records written, and EINVAL for a null record
or an n below 1, as shadPS4 does.

An s below 0 lists the sockets as shadPS4 does: with a null record it
returns their number, otherwise it writes up to n records in socket
order and returns how many it wrote. Unlike shadPS4, which lists IPv6
sockets with zero addresses and ignores flags, an IPv6 socket fails
with EAFNOSUPPORT and is left out of the count and the list, and a
flags bit other than 0x40 fails with EINVAL. SharpProspero names 0x40
SockInfoTimeWait; closed sockets leave the table at once, so it lists
the same sockets. docs/dev/debt/libSceNet.md lists the fields left 0
and these differences.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-20 07:23:51 +01:00
Santhosh Kumar 971d8ba891 feat(libSceNpTus): delete title contexts and their requests 2026-10-20 11:48:16 +05:30
maximaxi01 d96a010710 test(tools): keep configure seed BOM checks registered 2026-10-20 02:00:46 -04:00
maximaxi01 9c919b3aac test(tools): split configure seed test groups 2026-10-20 01:59:10 -04:00
maximaxi01 56ab8dcf7b fix(tools): prevent configure seeds from overwriting their cache 2026-10-20 01:59:09 -04:00
Dean Galvin 0b51b5b482 Merge main into pr-7215
# Conflicts:
#	core/libs/tests/GuestJson.cpp
2026-10-20 18:57:38 +13:00
xXPBSXxandClaude Sonnet 5.5 972fb84988 fix(libc): fail chdir, remove, opendir and fopen through a regular file with ENOTDIR on Windows
A path whose directory part is a regular file, such as file/child, failed
with ENOENT in chdir, remove, opendir, fopen and freopen on Windows, where
FreeBSD 11.4 fails it with ENOTDIR (vfs_cache_lookup, sys/kern/vfs_cache.c).
The not-found error of these calls now asks whether the nearest existing
ancestor is not a directory, as open, stat, lstat, access and unlink do.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-20 07:54:18 +02:00
Henryisdjfunkyho 42701b2906 fix(tools): reject unexpanded response files in syntax checks 2026-10-19 22:49:45 -07:00
adhimiw 1dcbe42379 feat(libSceCesCs): declare the missing firmware character set exports 2026-10-20 11:14:38 +05:30
primesoul-web 5b2f829133 Merge upstream/main: queue host edits, run the title's filter in sceImeUpdate 2026-10-20 05:43:53 +00:00
Dean 1ed63f63c2 Merge pull request #8151 from xXPBSXx/fix/pr-overlap-report-git-errors
fix(tools): name the failing command when pr_overlap cannot run git or gh
2026-10-20 18:34:21 +13:00
Dean cc798b8248 Merge pull request #8131 from xXPBSXx/fix/progress-compare-snapshots
fix(tools): name the unreadable snapshot in progress --compare
2026-10-20 18:34:17 +13:00
Dean 7914531d6c Merge pull request #8130 from xXPBSXx/fix/test-registration-build-errors
fix(tools): report an unusable build directory in check_test_registration
2026-10-20 18:34:14 +13:00