Commit Graph
17691 Commits
Author SHA1 Message Date
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à 03fcf738b6 fix(libSceAgcDriver): make reportSkip reachable from the shader diagnostics test 2026-10-28 09:50:47 +01:00
slopgobblercobbler 9de5c3a851 fix(libSceAgcDriver): handle failed shader request dumps and uncapped skips 2026-10-28 09:50:43 +01: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
Adrià 41a67b523f test(agc): drop the duplicate QueueEndOfPipeAction include 2026-10-28 09:46:55 +01:00
milescovielloandClaude Opus 5.5 20ab4a470a test(agc): cover the end-of-pipe action address patch on both packet forms
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-28 09:46:51 +01:00
Adrià 5b8ba7b929 Merge pull request #11443 from JJenkx/feat/agc-compute-inspection-20261026
feat(agc): inspect captured compute pipeline statistics
2026-10-28 09:41:21 +01:00
Adrià 241649ed7e Merge pull request #11296 from tablefrogpillow/fix/fpathconf-kqueue-shm-eopnotsupp
fix(libkernel_sys): fail fpathconf on a kqueue or shm descriptor with EOPNOTSUPP
2026-10-28 09:41:16 +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
Dean 87b810a1db Merge pull request #12211 from XairRrR/fix/shader-paired-wave-zero-branch
fix(recompiler): take a paired wave64 zero branch when some invocations are inactive
2026-10-28 21:32:27 +13: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
Dean 78360959ee Merge pull request #12137 from dantdmdarealguy/fix/agc-same-queue-label-epoch
fix(agc): start no collect epoch at a wait whose own queue's label already reached memory
2026-10-28 21:32:09 +13:00
Dean 3952092d74 Merge pull request #12209 from XairRrR/fix/agc-queue0-after-async-wait-free
fix(agc): run queue 0 work after earlier wait-free async submissions
2026-10-28 21:31:54 +13:00
Adrià a13ee2ddd1 Merge pull request #10498 from dotaku22/contribution/agc-committed-read-mapping
fix(agc): tolerate mapping changes during committed snapshots
2026-10-28 09:25:29 +01:00
Adrià cd3c3ba033 docs(relinker): list --lazy-binding under Deprecated and mark --trap-sdk-syscall-stubs as debugging 2026-10-28 09:22:45 +01:00
ebosido444-ai d6322a801f docs(relinker): describe every option in the usage text
--help printed three syntax lines with no explanation, so the only
discovery surface was the 67 KB USAGE.md. List every option with a
one-line description, grouped by purpose, plus the exit codes. The first
line keeps the "Usage: relinker" prefix the CLI tests match.
2026-10-28 09:22:41 +01: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 dfc5c7c6c7 fix(ngs2): reset the custom filter selected by the parameter index 2026-10-28 09:02:55 +01:00
Eduardo Ruiz a2d5b03456 fix(ngs2): clear the peak-meter mode on a voice reset 2026-10-28 09:02:36 +01:00
Eduardo Ruiz f20abed467 test(ngs2): cover the peak-meter history and reset 2026-10-28 09:02:36 +01:00
edubox d62e8f42ea feat(ngs2): implement the sampler and submixer peak meter 2026-10-28 09:02:36 +01:00
Adrià 4a7c749047 fix(agc): leave the capture error buffer width to #7555 2026-10-28 08:59:32 +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
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 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
MarcZX10 161c9d55c6 test(libSceNpTrophy): fail the state write of an unlock and unlock again
A directory in place of the temporary state file makes the save fail; the unlock
has to report it, leave trophy 0 locked, and succeed once the directory is gone.
2026-10-28 07:44:31 +00:00
MarcZX10 944192d89d fix(libSceNpTrophy): keep a trophy locked when its unlock state cannot be saved
sceNpTrophyUnlockTrophy inserted the id into the in-memory set and then saved the
state file. A save that threw (the state directory or the rename failed) left the
trophy unlocked in memory but not on disk, so a retry answered
TROPHY_ALREADY_UNLOCKED and the unlock was lost at the next start. The new set is
now built on a copy, written, and only then installed.

SaveState also never looked at the stream after writing, so a failed write (for
example a full disk) was ignored and the truncated temporary file was renamed over
the good state file. It now flushes, checks the stream, removes the partial
temporary file and throws.
2026-10-28 07:44:31 +00:00
AdriàandClaude Sonnet 5.5 149ec09adf fix(libkernel): give the descriptor checks C linkage so libkernel_sys can import them
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-28 08:43:15 +01:00
AdriàandClaude Sonnet 5.5 f87b6289ac fix(libkernel): export the kqueue descriptor check to libkernel_sys
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-28 08:43:15 +01:00
tablefrogpillowandClaude Opus 4.8 90d0daedc9 test(libkernel_sys): use a named shm descriptor in the fpathconf check
An anonymous shm descriptor is recognised as shared memory only on
Linux, where the memfd link name is matched; on Windows the anonymous
%TEMP% object is not registered in the shared-descriptor table, so the
descriptor is not recognised and fpathconf never reaches the EOPNOTSUPP
branch. A named descriptor is recognised on both platforms, so the
check now opens a named object and unlinks it, keeping the same branch
coverage without a Linux-only assumption.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-10-28 08:43:15 +01:00
tablefrogpillowandClaude Opus 4.8 d8dfb7eab4 fix(libkernel_sys): fail fpathconf on a kqueue or shm descriptor with EOPNOTSUPP
_fpathconf_nid_postfix only treated FIFOs and sockets as descriptors without
a vnode, so a kqueue or shm_open descriptor fell through to the UFS constants
(LINK_MAX 32767, NAME_MAX 255, PIPE_BUF 512). FreeBSD 11.4 kern_fpathconf
(kern_descrip.c:1411-1429) answers _PC_ASYNC_IO for every descriptor and
returns EOPNOTSUPP for a no-vnode descriptor that is not a pipe or socket.
Return EOPNOTSUPP for kqueue and shared-memory descriptors.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-10-28 08:43:15 +01:00
Adrià 660a0b306d Merge pull request #11032 from Gruzzberry/feat/kenv
feat(libkernel_sys): implement kenv
2026-10-28 08:39:51 +01:00
AdriàandClaude Sonnet 5.5 fb4cc4e7cf fix(agc): run agc_repeat_storage_guard with libc on the Windows PATH
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-28 08:33:45 +01:00
Cesar MoraandClaude Opus 5.5 3181021a4f test(agc): a repeated storage surface refuses a guarded target past its first byte as its lookup does
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-28 08:33:41 +01:00
Cesar MoraandClaude Opus 5.5 91d601ecd0 fix(agc): guard a repeated storage surface over its whole range, as its lookup does
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-28 08:33:40 +01:00
Cesar MoraandClaude Opus 5.5 46366e060a test(agc): a touched pipeline is returned as a store hit and stays recently used
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-28 08:33:40 +01:00
Cesar MoraandClaude Opus 5.5 2b349ff156 perf(agc): repeat a draw shape's resident targets and pipeline instead of looking them up again
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-28 08:33:40 +01:00
AdriàandClaude Sonnet 5.5 0f8ac231b0 test(agc): report the device limitation when pipeline inspection skips
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-28 08:27:19 +01:00
JJenkx cc59cb7b93 test(agc): skip pipeline inspection when Vulkan is unavailable 2026-10-28 08:27:12 +01:00
JJenkx b971004857 feat(agc): inspect captured compute pipeline statistics 2026-10-28 08:27:11 +01:00
B-HowellandClaude Opus 5.5 b8636b11f7 test(relinker): report the case and flag values when a masked store stub changes the flags
masked_store_lowering failed twice under Rosetta on GitHub's macOS x86_64
runner (runs 40216485859 and 40438653738) with only "Masked store stub
changed the flags", while the stored bytes, faults, vector and general
registers, red zone and RSP all matched. The message now names the form,
width, addressing mode, offset, mask pattern, fault count and the flags
before and after, so the next occurrence shows which flags change and
whether the probe faulted.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-28 03:11:41 -04:00
Dean b99bbebacd Merge pull request #11839 from oneandonlydean/wolverine/agc-driver-micro-perf
perf(agc): reuse context register storage and keep the shadow live-unit count
2026-10-28 20:11:36 +13:00