Commit Graph
17691 Commits
Author SHA1 Message Date
Dean Galvin 1bf274a817 Merge main into perf-D2-v47: depth export tail moves to request version 48
Main took request serialization version 47 for the two-sample dithered
alpha-to-coverage value. The depth export clamp bounds are now written at
version 48 and read only for versions from 48, so a version 47 request as main
writes it still decodes, with default bounds. Tests: version 48 is the
emitted prefix, 49 the first unsupported one, and a version 47 two-sample
dithered request (with and without depth export) decodes as written.
2026-10-27 22:37:31 +13:00
avnish f9613a9136 test(libSceWebBrowserDialog): cover post-terminate argument validation 2026-10-27 15:02:46 +05:30
roboterspinne b6c9e39abb fix(relinker): reject non-TLS executable relocations against STT_TLS symbols
An executable relocation of type R_X86_64_64, PC32, 32, GLOB_DAT or
JUMP_SLOT against an STT_TLS symbol, defined or undefined, became a
named import, and the Linux output kept it typed STT_TLS. The gABI
allows STT_TLS symbols only in TLS relocations, since their value is
an offset in the TLS block and not an address, and GuestImageReader
already rejects such relocations in guest modules. The pipeline now
fails on them in extractRela for every target and writes no output.
2026-10-27 10:32:28 +01:00
JJenkxandClaude Opus 5.5 1c7f19e716 fix(agc): pin the import ceiling only on memory exhaustion
A failed vkAllocateMemory still makes the host import budget follow the
driver's VK_EXT_memory_budget report, but only VK_ERROR_OUT_OF_HOST_MEMORY
and VK_ERROR_OUT_OF_DEVICE_MEMORY pin the permanent ceiling. RADV reports a
refused user-memory import as VK_ERROR_UNKNOWN or
VK_ERROR_INVALID_EXTERNAL_HANDLE, and pinning on those collapsed the budget
to the few MiB live at the time.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-27 05:18:29 -04:00
Santhosh Kumar d3d7ae0ae2 fix(libSceLibcInternal): preserve combined POSIX spawn flags 2026-10-27 14:48:12 +05:30
Santhosh Kumar e8db1c1648 test(libSceLibcInternal): observe combined spawn flags in a dedicated fixture 2026-10-27 14:45:53 +05:30
roboterspinne a5e1bc5c3a Merge remote-tracking branch 'upstream/main' into fix/relinker-guest-declared-module-binding 2026-10-27 10:12:52 +01:00
guglia001 1bdb8388ed test(relinker): add a libFuzzer target for the whole conversion
ANYPS5_BUILD_FUZZERS builds relinker_conversion_fuzzer with AddressSanitizer
and UndefinedBehaviorSanitizer in relinker-only Clang builds on Linux. The
first input byte selects the target system, --to-intel and the unused-filter
level; the rest is the executable passed to Conversion::Convert, the path the
web converter takes. tools/relinker_fuzz_seeds.py writes the relinker test
fixtures as seeds, and CTest runs a short smoke run.
2026-10-27 10:12:35 +01:00
Dean Galvin 560a9c0be6 merge: main into test/player-review-dialog-mode-1-and-null-result 2026-10-27 22:08:34 +13:00
JJenkxandClaude Opus 5.5 8f39bcc549 Merge main into PR #10283
Conflicts with main's newer libc changes resolved without changing either
side: the debt list keeps each side's entry changes (per entry, deletions
included), GuestMath.cpp keeps both sides' test functions and calls, and
Math.cpp differs from main by exactly this branch's own changes.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-27 05:06:27 -04:00
Dean 801d5b9bc1 Merge pull request #11344 from thuanquang/fix/commit-every-view-of-a-run
fix(libc): reset every page of a run view that Commit reprotects
2026-10-27 22:05:59 +13:00
Dean Galvin 0344e6e209 test(libkernel): map AMM pages from a fragmented pool
Fragment the pool into single free pages, map a range no single run holds, check each page keeps its own data, and check an exhausted pool still reports no free run.
2026-10-27 22:05:24 +13:00
Dean Galvin ba6e914e1d fix(libkernel): drop the comment and log line from the scattered AMM map
The exhaustion message stays "AMM: no free run of N bytes" when the pool holds fewer bytes than the map needs.
2026-10-27 22:05:24 +13:00
BiladeiroSupremo c55d34663a fix(libkernel): map AMM pages from a fragmented pool
_ammMap took one contiguous run of the direct memory given to the mapper and
threw (an uncaught runtime_error -> abort) when the pool was fragmented:
PPSA03671 aborted ~4 min into a slot-4 load on an 11 MB map ("AMM: no free run
of 11010048 bytes"). The PS5 maps the mapper's pages through page tables, so a
fragmented pool still serves the map: when no run fits, the map now takes
pages from several runs (first fit) and maps each contiguous group. Run hww8:
the 11 MB map and several 10-33 MB maps went through, no abort.
2026-10-27 22:05:24 +13:00
MarcZX10 ca67aefde9 refactor(libSceFreeType): declare the exports of this PR in the public header
The public header audit wants one declaration per export in the library header, so Api.hpp declares them with their definitions' signatures and the tests include it instead of their own extern blocks.
2026-10-27 09:05:15 +00:00
MarcZX10 49032fe9ed fix(libSceFreeTypeOt): name the aliases of the symbols this PR implements after them
An Unknown export whose NID is a symbol of the tree is rejected by the unknown-nid convention check, so the alias takes the symbol's name, as the already identified ones do.
2026-10-27 09:05:15 +00:00
MarcZX10 cafa957425 test(freetype): set Windows DLL path for 10598 2026-10-27 09:05:15 +00:00
MarcZX10 acfb431a8d test(libSceFreeType): compare FT_Stroker_CubicTo with native FreeType 2026-10-27 09:05:15 +00:00
MarcZX10 b5dfb0be64 feat(libSceFreeType): implement FT_Stroker_CubicTo 2026-10-27 09:05:15 +00:00
MarcZX10 7aaf18a152 test(libSceFreeType): compare FT_Stroker_ConicTo with native FreeType 2026-10-27 09:05:14 +00:00
MarcZX10 8224bf1def feat(libSceFreeType): implement FT_Stroker_ConicTo 2026-10-27 09:05:14 +00:00
MarcZX10 d25286fc7c test(libSceFreeType): compare FT_Stroker_GetBorderCounts with native FreeType 2026-10-27 09:05:14 +00:00
MarcZX10 48437be1e2 feat(libSceFreeType): implement FT_Stroker_GetBorderCounts 2026-10-27 09:05:14 +00:00
MarcZX10 4561ddf6e9 test(libSceFreeType): compare FT_Stroker_Rewind with native FreeType 2026-10-27 09:05:14 +00:00
MarcZX10 dc19e9adc8 feat(libSceFreeType): implement FT_Stroker_Rewind 2026-10-27 09:05:14 +00:00
MarcZX10 7534ee64c2 test(libSceFreeType): compare FT_Stroker_Set with native FreeType 2026-10-27 09:05:14 +00:00
MarcZX10 1121e7d97f feat(libSceFreeType): implement FT_Stroker_Set 2026-10-27 09:05:14 +00:00
MarcZX10 4e99b7a18d test(libSceFreeType): compare FT_Stroker_EndSubPath with native FreeType 2026-10-27 09:05:14 +00:00
MarcZX10 d76e9a89d9 feat(libSceFreeType): implement FT_Stroker_EndSubPath 2026-10-27 09:05:14 +00:00
MarcZX10 8d41c9d664 test(libSceFreeType): compare FT_Stroker_LineTo with native FreeType 2026-10-27 09:05:14 +00:00
MarcZX10 44907b28be feat(libSceFreeType): implement FT_Stroker_LineTo 2026-10-27 09:05:14 +00:00
MarcZX10 89cfa496c8 test(libSceFreeType): compare FT_Stroker_BeginSubPath with native FreeType 2026-10-27 09:05:14 +00:00
MarcZX10 192f32d941 feat(libSceFreeType): implement FT_Stroker_BeginSubPath 2026-10-27 09:05:14 +00:00
MarcZX10 d0fc1eb62c test(libSceFreeType): compare FT_Stroker_GetCounts with native FreeType 2026-10-27 09:05:14 +00:00
MarcZX10 775b4d6812 feat(libSceFreeType): implement FT_Stroker_GetCounts 2026-10-27 09:05:14 +00:00
MarcZX10 47c79888e7 test(libSceFreeType): compare FT_Stroker_Done with native FreeType 2026-10-27 09:05:14 +00:00
MarcZX10 6ec8ee804c feat(libSceFreeType): implement FT_Stroker_Done 2026-10-27 09:05:14 +00:00
MarcZX10 ff203b5444 test(libSceFreeType): compare FT_Stroker_New with native FreeType 2026-10-27 09:05:13 +00:00
MarcZX10 52ec25aaae feat(libSceFreeType): implement FT_Stroker_New 2026-10-27 09:05:13 +00:00
Dean Galvin dd5121f76e fix(libSceAgcDriver): drop the comment from the spare context register storage 2026-10-27 22:04:24 +13:00
Alexandre Figueiredo a62e4fae0a feat(libSceNpCppWebApi): track the Leaderboards V1 parameter lifecycles as the module does 2026-10-27 09:03:06 +00:00
Alexandre Figueiredo 7054872694 feat(libSceNpCppWebApi): track the SessionManager V1 parameter lifecycles as the module does 2026-10-27 09:02:38 +00:00
BiladeiroSupremo eff427b899 perf(agc): keep a shadow's live unit count as units change instead of recounting every unit 2026-10-27 22:01:20 +13:00
BiladeiroSupremo ac7aa18e5f perf(agc): reuse context register storage across context state push, pop and clear 2026-10-27 22:01:20 +13:00
Lindamea1andClaude Opus 5.5 ac682a4064 fix(libSceFont): stop a font writing from owning its string's characters
sceFontWritingInit took a reference on the string's host character
storage and kept it in the caller's SceFontWriting bytes. Only a later
sceFontWritingInit on the same, unchanged bytes dropped it, so every
string drawn with a fresh, zeroed or overwritten writing leaked its
characters, and re-initialising both copies of a copied writing dropped
its one reference twice. A SceFontWriting has no teardown export, so it
is plain caller memory and cannot own anything.

sceFontCreateString now allocates the characters through the string's
FontMemory, as it already did the string, so no character pointer the
guest receives points into host memory. sceFontDestroyString clears
the string's magic and frees both, and a failed create clears it before
freeing the string. A writing keeps only a pointer to its string and
checks the magic on every step, so after the destroy its steps return
null unless that memory holds the magic again, as when a new string is
allocated there. An init that fails after resetting the writing still
leaves it stepping nothing.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-27 09:00:33 +00:00
Dean 5bc84038c4 Merge pull request #11791 from heditrigui/test/npauthauthorizedappdialog-coverage
test(libSceNpAuthAuthorizedAppDialog): cover uninitialized and terminated argument validation
2026-10-27 21:51:48 +13:00
Dean 4fcc390c3c Merge pull request #11790 from heditrigui/test/netctlapdialog-coverage
test(libSceNetCtlApDialog): cover uninitialized and terminated argument validation
2026-10-27 21:51:14 +13:00
Dean 121a850402 Merge pull request #11789 from heditrigui/test/playerreviewdialog-coverage
test(libSceCdlgPlayerReview): cover post-terminate argument validation
2026-10-27 21:50:44 +13:00
Dean 0d62324ce2 Merge pull request #11788 from heditrigui/test/npsnsfacebookdialog-coverage
test(libSceNpSnsFacebookDialog): cover uninitialized and terminated argument validation
2026-10-27 21:50:14 +13:00
Dean 1edf661236 Merge pull request #11787 from heditrigui/test/npfriendlistdialog-coverage
test(libSceNpFriendListDialog): cover uninitialized and terminated argument validation
2026-10-27 21:49:39 +13:00