Commit Graph
12196 Commits
Author SHA1 Message Date
Adrià 35fa2bdd82 Merge pull request #6555 from Ondra97/codex/fix-decoder-buffer-lifetime
fix(decoder): release decoded pixels when allocation fails
2026-10-20 10:41:19 +02:00
Adrià 5c94d40bf6 Merge pull request #5942 from JJenkx/feat/ult-bound-condition-variables
feat(ult): implement creation-bound condition variables
2026-10-20 10:41:14 +02:00
Kovalev Vladislav 80024c48fd test(agc): serialize journal replay result capture 2026-10-20 14:40:12 +06:00
Adrià 3d54c5b2b2 Merge pull request #6448 from DavidSamir/fix/relinker-macos-empty-tls
fix(relinker): convert stack-guard and thread-pointer reads with an empty PT_TLS for macOS
2026-10-20 10:40:07 +02:00
Adrià 7faab0aea9 Merge pull request #4891 from dantdmdarealguy/feat/screenshot-hotkey
feat(agc,videoout): save the displayed frame as a PNG with a screenshot key
2026-10-20 10:40:02 +02:00
Adrià 5e7c618699 Merge pull request #6607 from jweidenh/codex/overlapping-rela-tables
fix(relinker): handle overlapping relocation tables
2026-10-20 10:38:40 +02:00
Romans Pokrovskis 340f5784b0 fix(shader): normalize mapped cache entry and pack paths
(cherry picked from commit 0a3621bbbfd27bafb1ff5b97208eaf51ba90ccf0)
2026-10-20 14:26:33 +06:00
Romans Pokrovskis 56778c97d2 test(shader): exercise long-path mapped cache persistence
(cherry picked from commit 83ad99879035e1418a5fa500cf061b236ec0a867)
2026-10-20 14:25:57 +06:00
Dean 661f8b7171 Merge pull request #8059 from KernelPanicNT/fix/voice-not-init-codes
fix(libSceVoice): return the module's initialization errors
2026-10-20 21:20:54 +13:00
Kovalev Vladislav 2e4cae5840 fix(agc): normalize all pipeline journal file paths on Windows 2026-10-20 14:19:45 +06:00
Dean f9012eed0d Merge pull request #7080 from Rengundom/feat/trace-bench-fields
feat(trace): record host, title and per-frame benchmark data
2026-10-20 21:19:24 +13:00
Kovalev Vladislav 61fa2d2221 test(agc): cover long pipeline journal paths and external tails 2026-10-20 14:19:17 +06:00
Romans Pokrovskis 1481f03bbd test(shader): keep cache relative paths on one drive 2026-10-20 14:19:17 +06:00
Alex Callisaya a5ab12df24 fix(shader): support long Windows cache file paths 2026-10-20 14:19:17 +06:00
thuanquangandClaude Opus 5.5 a5e1f83417 fix(shader): keep the 24-bit factor reads of 16-bit multiplies
#7018 reads the low-half factors of v_mul_lo_u16 and v_pk_mul_lo_u16
as 24-bit fields because AMD's Windows driver stores the full 32-bit
product when it knows both factors fit in 16 bits. #7673's fold of
BitFieldUExtract(x, 0, n) into x removed those reads when the program
had masked the factors to 16 bits, so agc_driver_mul_lo_u16_high_half
failed again on that driver. The folder now keeps a field read that a
multiply uses.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-20 15:18:13 +07:00
Dean 587bb343e8 Merge pull request #8106 from juanpimg/feat/prx-declare-ps5-3.20-exports
feat(prx): declare the missing PS5 3.20 system exports
2026-10-20 21:13:30 +13:00
Dean efd5a4c7eb Merge pull request #8060 from KernelPanicNT/fix/logindialog-module-error-codes
fix(libSceLoginDialog): return the module's error codes and check the open param
2026-10-20 21:12:58 +13:00
thuanquangandClaude 1868043281 test(agc): skip only the device-dependent f64 denormal mode results
On a device whose target reports no f64 DenormPreserve, the f64
rounding and add/mul denormal mode tests skipped every mismatch in the
modes that keep f64 denormal inputs (1, 3 and no known float mode) and
checked modes 0 and 2 strictly. A recompiler regression in modes 1 and
3 never failed there, such as dropping the v_fract_f64 result flush
that only mode 1 shows, while mode 2 failed where a driver may flush a
denormal result of normal inputs (v_add_f64 and v_mul_f64 rows 4, 9,
11 and 15).

A result is now skipped only when its expected value changes if the
device flushes f64 denormal inputs, results or both, and only until the
device shows that it keeps them: when the run without a known float
mode, which uses the native instructions, matches every row, the other
modes are checked strictly.

Co-Authored-By: Claude <[email protected]>
2026-10-20 15:04:34 +07:00
Dean 7d876ad3ba Merge pull request #7949 from slider/feat/libkernel-fchflags
feat(libkernel): implement fchflags
2026-10-20 21:02:26 +13:00
thuanquangandClaude a8f47b3322 test(agc): remove the large cache file test directory when the test fails
runLargeFileWrite writes a 2 GiB pipelines.bin into a randomly named
temporary directory, and only the passing path removed it. A failing
require after the write and the 200 s hang limit (std::_Exit) left the
file behind, and the two skips left the empty directory. A local Cleanup
now removes the directory when the function returns or throws, and the
hang path removes it before std::_Exit and prints the error when it
cannot, as on Windows while the write still holds the file open.

Co-Authored-By: Claude <[email protected]>
2026-10-20 15:01:18 +07:00
thuanquangandClaude 36b30824e0 test(shader): check that s_subvector_loop_begin tests an empty exec mask with one compare
agc_spirv_subvector_loop_begin recompiles the exec-kept program of
agc_driver_subvector_loop at wave64 in both robustBufferAccess2 modes and
requires exactly one branch on (exec_lo | exec_hi) == 0 and none on
exec_lo == 0 && exec_hi == 0. It needs no GPU, so CI fails if the begin
instruction goes back to two compares. The program moves to
SubvectorLoopFixture.hpp so both tests use one copy.

Co-Authored-By: Claude <[email protected]>
2026-10-20 14:59:55 +07:00
Ethan Barcus a8e06fb008 Merge branch 'main' into feat/trace-bench-fields 2026-10-20 02:57:23 -05:00
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 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 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
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
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
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