Commit Graph
6285 Commits
Author SHA1 Message Date
Dean 4a6693acf8 Merge pull request #12083 from KernelPanicNT/fix/libkernel-mutexattr-setkind-any-kind
fix(libkernel): store any scePthreadMutexattrSetkind kind as firmware 13.42 does
2026-10-28 22:46:46 +13:00
Dean f653b562a9 Merge pull request #12037 from JJenkx/windows/libc-fexp-titles
fix(libc): compute _Exp and _FExp as titles do
2026-10-28 22:40:19 +13:00
Dean cfed3bbe3c Merge pull request #12003 from simnJS/automounter-device-info-fields
fix(libSceAutoMounterClient): name the fields of the USB device-info output
2026-10-28 22:38:23 +13:00
Adrià 0713ccea94 Merge pull request #11921 from milescoviello/docs/systemservice-splash-player-dialog
docs(libSceSystemService): list the splash, player dialog and notice-flag calls as silent stubs
2026-10-28 10:37:42 +01:00
Adrià b5a57b2eb3 Merge pull request #11913 from PrivacyOnion/docs/debt-playerinvitationdialog-stubs
docs(debt): record silent stubs in libScePlayerInvitationDialog debt
2026-10-28 10:37:24 +01:00
Dean 18cf074ab3 Merge pull request #11975 from kyon-eth/feat/logger2game-1360-inventory
feat(libSceSystemLogger2Game): declare 2 additional exports
2026-10-28 22:36:15 +13:00
Dean 805efc6478 Merge pull request #11974 from kyon-eth/feat/appcontent-1360-inventory
feat(libSceAppContent): declare 4 additional exports
2026-10-28 22:35:59 +13:00
Dean f3e674f76a Merge pull request #11965 from kyon-eth/feat/contentsearch-1360-inventory
feat(libSceContentSearch): declare 4 additional exports
2026-10-28 22:34:50 +13:00
Dean 8255da8a3d Merge pull request #11964 from kyon-eth/feat/remoteplay-1360-inventory
feat(libSceRemoteplay): declare 4 additional exports
2026-10-28 22:34:33 +13:00
Dean 9a149d8ebc Merge pull request #11963 from kyon-eth/feat/uds-1360-inventory
feat(libSceNpUniversalDataSystem): declare 9 additional exports
2026-10-28 22:34:17 +13:00
Adrià e52fd8377d Merge pull request #11897 from ionut27001/docs/libkernel-payload-measurements
docs(libkernel): record PS5 results for two libkernel exports
2026-10-28 10:33:32 +01:00
Dean dc668c2264 Merge pull request #11945 from 00xDisaster/feat/player-selection-param-init
feat(libScePlayerSelectionDialog): initialize dialog parameters
2026-10-28 22:33:00 +13:00
Dean a172b05c5c Merge pull request #11932 from kyon-eth/feat/videodec2-1360-inventory
feat(libSceVideodec2): declare 3 additional exports
2026-10-28 22:32:22 +13:00
Dean 356a765387 Merge pull request #11931 from kyon-eth/feat/camera-1360-inventory
feat(libSceCamera): declare 4 additional exports
2026-10-28 22:32:06 +13:00
Dean fe84a7bd37 Merge pull request #11919 from kyon-eth/feat/http2-1360-inventory
feat(libSceHttp2): declare eight additional exports
2026-10-28 22:30:44 +13:00
Dean c2d14b444c Merge pull request #11918 from kyon-eth/feat/audioout2-1360-inventory
feat(libSceAudioOut): declare 11 additional exports
2026-10-28 22:30:28 +13:00
Adrià 2d9843cb8b Merge pull request #11294 from harisibrar1/feat/rudp-poll-cancel
feat(libSceRudp): implement sceRudpPollCancel as firmware 13.42's library does
2026-10-28 10:25:10 +01:00
B-HowellandClaude Opus 5.5 a252638976 docs(libc): cite the strtod measurement by title ID in the debt entries
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-28 05:24:35 -04:00
Adrià 316615d042 Merge pull request #10307 from mazen320/fix/submit-acb-queue-0x58
fix(agc): accept compute queue 0x58 on SubmitAcb
2026-10-28 10:19:36 +01:00
JJenkxandClaude Opus 5.5 8b5c02ca61 fix(libc): store EDOM and raise FE_INVALID from acosf and asinf domain errors
For |x| > 1, the infinities and NaN, titles' libc.prx stores EDOM and
raises FE_INVALID from acosf, quiet NaN included, and asinf also
raises FE_INVALID for a quiet NaN. acosf returned the same NaN bits
without either, and asinf set errno but raised nothing for a quiet NaN.
Both now call _Feraise with the invalid exception, which stores EDOM
and raises the flag in both units; the results are unchanged.

The acosf test asserted the old errno-preserving behaviour from a
FreeBSD reading; it now checks the titles' EDOM and FE_INVALID.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-28 05:17:22 -04:00
Adrià a444a18d93 Merge pull request #11507 from hugodearaujo/fix/agc-short-cube-sampling
fix(agc): sample cube descriptors with fewer than six slices as six faces
2026-10-28 10:14:50 +01:00
Adrià e2ca6e4223 Merge pull request #11803 from milescoviello/docs/agc-registration-silent-stubs
docs(libSceAgcDriver): list the registration init and memory query as silent stubs
2026-10-28 10:14:41 +01:00
Adrià 284a487cd9 Merge pull request #11145 from p3n1cillin/claude/http2-system-roots
fix(http2): trust the system CA list for HTTPS requests
2026-10-28 10:13:32 +01:00
Adrià 41417377ca Merge pull request #11742 from milescoviello/docs/audioout2-context-attributes-silent
docs(libSceAudioOut): list sceAudioOut2ContextSetAttributes as a silent stub
2026-10-28 10:11:24 +01:00
Dean b332780eec revert(shader): restore pixel helper lanes in guest lane masks (#11199)
This reverts merge 7fc0ae6008. On NVIDIA, where helper lanes take part in ballots, clearing helper bits from every pixel ballot breaks derivatives along triangle edges (bright lines and specks on a cloud surface in PPSA21564). See the report on #11199.
2026-10-28 22:11:10 +13:00
Adrià a57567928d Merge pull request #11739 from milescoviello/docs/audioout2-port-state-reads
docs(libSceAudioOut): note which port state fields five titles read
2026-10-28 10:10:14 +01:00
Adrià 117ef37bf3 Merge pull request #11736 from milescoviello/docs/gameintent-info-size-callers
docs(libSceNpGameIntent): note the info size and intent data offset six titles use
2026-10-28 10:09:57 +01:00
Adrià ab168194d4 Merge pull request #11732 from milescoviello/docs/virtualquery-title-reads
docs(libkernel): note the sceKernelVirtualQuery fields seven titles read
2026-10-28 10:09:05 +01:00
ionut27001 7db98b9058 fix(libSceHttp2): return invalid value from sceHttp2Init for a maximum of 0 requests as measured in a PS5 payload 2026-10-28 10:02:57 +01:00
Dean 871517aaee Merge pull request #11521 from Lindamea1/fix/font-writing-non-owning
fix(libSceFont): stop a font writing from owning its string's characters
2026-10-28 22:02:06 +13:00
Adrià e2e27a3ba9 Merge pull request #11717 from xXPBSXx/docs-agc-alpha-to-coverage-round
docs(agc): record the unsupported DB_ALPHA_TO_MASK value 0x1aa01
2026-10-28 09:54:18 +01:00
JaceTheBlu 918b7792b9 Merge feat/libressl-verify-param-ip into feat/libressl-x509-lookup
# Conflicts:
#	core/libs/prx/libSceLibreSsl/include/Api.hpp
#	docs/dev/debt/libSceLibreSsl.md
2026-10-28 08:51:21 +00:00
Adrià 4c4fce3d82 Merge pull request #10502 from frankea/fix/net-show-ifconfig-netstat
fix(libSceNet): print the interface and socket tables from sceNetShowIfconfig and sceNetShowNetstat
2026-10-28 09:49:51 +01:00
iAbdulrrahman 2f54c883ba feat(libSceFreeTypeOt): implement ft_corner_is_flat and ft_corner_orientation 2026-10-28 09:33:29 +01:00
JaceTheBlu 6886f61ade Merge feat/libressl-x509-store into feat/libressl-verify-param-ip
# Conflicts:
#	docs/dev/debt/libSceLibreSsl.md
2026-10-28 08:32:48 +00:00
JaceTheBlu 3b43b785e4 Merge upstream/main into feat/libressl-x509-store
# Conflicts:
#	core/libs/prx/libSceLibreSsl/CMakeLists.txt
#	core/libs/prx/libSceLibreSsl/include/Api.hpp
#	docs/dev/debt/libSceLibreSsl.md
2026-10-28 08:32:47 +00:00
JaceTheBluandClaude Opus 5.5 983eea3d71 test(libSceLibreSsl): stop asserting that guest lookup callbacks throw
Drop the duplicated older X509_STORE debt entry left by a merge.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-28 08:32:23 +00:00
Adrià aa159b2f24 Merge pull request #9399 from Felipebmaitan/feat/freetype-advance-queries
feat(libSceFreeType): implement advance queries
2026-10-28 09:21:16 +01:00
frankea 2129d1f7b5 fix(libSceNet): print the interface and socket tables from sceNetShowIfconfig and sceNetShowNetstat
Since #9137 both throw after sceNetInit. A PS5 on firmware 13.40
returns 0 from each and prints plain-text tables to stdout. They now
print the console's layout with what the emulator knows: ifconfig an
eth0 block from the host interface sceNetCtlGetInfo reports (the same
MAC, address, netmask and MTU), the console's lo0 block and the DNS
servers; netstat the header and one entry per socket and epoll of the
title, with the self and non-blocking flags, addresses, buffer sizes and
the names given to sceNetSocket and sceNetEpollCreate, which are now
kept. The debt entry lists what the console prints that is left out.

guest_sce_net captures both outputs: the lo0 block and DNS section, a
named unbound UDP socket, a non-blocking listening TCP socket bound to
127.0.0.1, an epoll, a 40-character name cut to 31, and the entries gone
after close.
2026-10-28 09:05:58 +01:00
edubox d62e8f42ea feat(ngs2): implement the sampler and submixer peak meter 2026-10-28 09:02:36 +01:00
Maz 5d45d2cab7 fix(agc): name unmeasured queue end and drop debt duplicates 2026-10-28 08:59:28 +01:00
Maz 683b3497de fix(agc): limit 0x58 acceptance to SubmitAcb
Keep MultiAcbs and CommandBuffer on the unmeasured 0x57 exclusive end; split the debt entries and retain the title call-sites.
2026-10-28 08:59:28 +01:00
Maz 051b3e017b fix(agc): accept compute queue 0x58 on SubmitAcb
A PS5 measurement already recorded in the debt note shows queue 0x58 succeeds; raise the exclusive SubmissionQueueEnd and cover it in agc_driver_tests.
2026-10-28 08:59:28 +01:00
dantdmdarealguy 2b03bf743a docs(debt): drop libSceMbus's stale protected-body note
ab4a949f07 ended the "sceMbus remaining declarations" entry with "All
protected stub bodies remain unchanged." It was written on top of
afbd9b882 (#8305), which had already made sceMbusAcquireControlList
return 0x809B00FF and sceMbusTerm return 0, and the same entry says both
return constants. Drop the sentence.
2026-10-28 02:57:27 -05:00
Adrià d7fd416992 Merge pull request #11231 from Gruzzberry/feat/kldsym
feat(libkernel_sys): implement kldsym argument checks
2026-10-28 08:56:23 +01:00
Adrià 7fc0ae6008 Merge pull request #11199 from QRMOE/fix/shader-pixel-helper-lane-masks
fix(shader): keep pixel helper lanes out of guest lane masks
2026-10-28 08:54:16 +01:00
Qu Yi 475484a00f feat(libSceIcu): implement C string conversion helpers 2026-10-28 15:52:57 +08:00
B-HowellandClaude Opus 5.5 82c8a51391 fix(libc): saturate the hexadecimal strtod exponent past any digit run
The explicit binary exponent stopped accumulating near 1e9 while the
digits add 4 per character without bound, so a subject with a few
hundred million digits was classified against the wrong exponent:
0x1 followed by 3e8 zeros and p-1200000005000 kept errno, and a long
zero fraction with p+1000000000000 underflowed instead of overflowing.
Saturate the explicit exponent at 2^62, beyond what any addressable
digit run can offset, so the sum never overflows or changes sign.

Record that _Stod and _Stodx follow the title libc.prx rule for
hexadecimal underflow, unverified for libSceLibcInternal.

Refs #9691

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-28 03:49:24 -04:00
B-HowellandClaude Opus 5.5 33c69417e4 docs(libc): trim the hexadecimal strtod debt entry to what is open
Keep only the gaps: the rule is measured on one title-bundled libc.prx,
and on Linux glibc 2.35's strtod rounds some hexadecimal subnormal
results a unit low.

Refs #9691

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-28 03:49:24 -04:00
B-HowellandClaude Opus 5.5 6084ed65b4 fix(libc): match title libc.prx for hexadecimal strtod underflow
Classify hexadecimal strtod and wcstod input from its own digits rather
than a long double approximation. As measured on God of War Ragnarok's
bundled libc.prx, ERANGE is set only on overflow or when the exact value
is below 2^-1074, and a value between 2^-1075 and 2^-1074 becomes the
smallest subnormal only from 2^-1075 * (1 + 2^-52) up.

Refs #9691

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-28 03:49:24 -04:00