Commit Graph
12370 Commits
Author SHA1 Message Date
JJenkx 8ee44075d8 test(agc): explain native clear write-watch skips 2026-10-22 16:54:40 -04:00
JJenkx 60b379a65f test(agc): share native depth fixture backing on Linux 2026-10-22 16:54:40 -04:00
Dean 1da03c6f34 Merge pull request #9076 from orezraey/fix/net-utilities-measured-ps5
fix(libSceNet): accept every sceNetMemoryAllocate flag as measured on a PS5
2026-10-23 09:22:21 +13:00
Dean 9366a29432 Merge pull request #9697 from EagleBearerYS/fix/agc-pipelined-fill-blocker-lifetime
test(agc): share the pipelined fill blocker with its lambda and end each case on an empty pipeline
2026-10-23 09:22:17 +13:00
Dean 5d40eb3fdc Merge pull request #9106 from Retr0G28/fix/scenet-stream-recv-timeout-eagain
fix(libSceNet): report EAGAIN when a stream receive times out on Windows
2026-10-23 09:22:12 +13:00
Dean 3bbd2321de Merge pull request #8468 from Gabrieljr42/feat/ajm-mp3-frame-metadata
feat(libSceAjm): parse CRC-protected and non-stereo MP3 metadata frames
2026-10-23 09:14:29 +13:00
Dean a0900b9d99 Merge pull request #8460 from orezraey/fix/pe-import-first-wide-paths
fix(allocator): take pe_import_first's file as a wide path on Windows
2026-10-23 09:06:09 +13:00
Dean f6075c2f4a Merge pull request #8690 from JAB-dev/fix/audiopropagation-remove-inline-helpers
fix(libSceAudioPropagation): drop the SDK inline Init helpers from the export list
2026-10-23 08:54:28 +13:00
Dean 44602d61df Merge pull request #8660 from JJenkx/fix/videodec2-flush-without-pending
fix(libSceVideodec2): flush without draining when no picture is pending
2026-10-23 08:54:24 +13:00
Dean ea2b6d4077 Merge pull request #8611 from Ondra97/codex/fix-np-auth-unstarted-abort
fix(libSceNpAuth): reject completion queries before request start
2026-10-23 08:54:20 +13:00
Dean a661d12e30 Merge pull request #8375 from orezraey/fix/font-system-fonts-wide-env
fix(libSceFont): open fonts and the system font directory under non-ASCII paths on Windows
2026-10-23 08:54:15 +13:00
Dean a62feecd6c Merge pull request #7948 from Amoenus/codex/feat-native-owner-fmask
feat(agc): expose expanded FMASK for tracked native owners
2026-10-23 08:54:11 +13:00
Dean 5c13a1be0f Merge pull request #8692 from JAB-dev/fix/ngs2-geom-listener-errors
fix(libSceNgs2): return INVALID_GEOM_FLAG and the listener-address error from sceNgs2GeomCalcListener
2026-10-23 08:51:25 +13:00
Adrià 001d132f47 Merge pull request #9636 from MarcZX10/codex/test-net-deterministic-resolver-failure
test(net): make resolver failures deterministic
2026-10-22 21:36:46 +02:00
Dean d6e7ab42df Merge pull request #6727 from simonbronk/fix/native-msaa-depth-unwritten-guest-access
fix(agc): retire an unwritten native multisample depth surface on guest access
2026-10-23 07:55:56 +13:00
Adrià 3a2ca40dab Merge pull request #9234 from mossyanwar/fix/relinker-linux-named-imports
fix(relinker): resolve symbol-name imports through NIDs on Linux
2026-10-22 20:54:22 +02:00
Adrià a6fc8a467d Merge pull request #8797 from xXPBSXx/fix/unlink-rmdir-dot-component
fix(libkernel): fail unlink and rmdir of a path that ends in a dot component with EINVAL
2026-10-22 20:40:44 +02:00
Adrià 854ac3bdc2 Merge pull request #8678 from CPritch/fix/agc-drop-queued-prebuilds
fix(agc): drop queued library prebuilds when the prebuild pool closes
2026-10-22 20:39:45 +02:00
Adrià 8580e7e214 Merge pull request #9331 from MarcZX10/codex/wide-scan-reported-edge-cases
fix(libc): match reported wide scanf edge cases
2026-10-22 20:36:35 +02:00
Adrià 2e2ea5e697 Merge pull request #9131 from xXPBSXx/fix/fchdir-non-vnode
fix(libkernel_sys): fail fchdir on a pipe or socket with EINVAL
2026-10-22 20:32:29 +02:00
Adrià cbcb083086 Merge pull request #9296 from superhe11/codex/fix-snprintf-size-overflow
fix(libc): reject snprintf capacities above INT_MAX + 1
2026-10-22 20:29:27 +02:00
Adrià d969e4bd60 Merge pull request #9223 from xXPBSXx/fix/file-stream-status-sync-race
fix(libc): publish the guest FILE status of a stream with atomic accesses
2026-10-22 20:24:20 +02:00
Adrià 9b1ed888d1 Merge pull request #9206 from xXPBSXx/fix/lseek-eoverflow
fix(libkernel): fail lseek with EOVERFLOW when the new offset exceeds the 64-bit range
2026-10-22 20:16:30 +02:00
Adrià FranchandClaude 093a5ba195 fix(libkernel_sys): reach the fchdir vnode check through a _nid_no_patch export
Co-Authored-By: Claude <[email protected]>
2026-10-22 20:15:39 +02:00
Adrià fa107a44c7 Merge pull request #9084 from xXPBSXx/fix-agc-11-11-10-comp-swap-0
fix(agc): accept the standard component order for 11_11_10 float color targets
2026-10-22 20:15:26 +02:00
xXPBSXxandClaude Sonnet 5.5 e56c6d2ba8 fix(libkernel_sys): keep ENOTDIR from fchdir on a character device
The EINVAL for a descriptor without a vnode now applies only to a pipe or socket. A character device is a vnode on FreeBSD, so getvnode succeeds and change_dir fails with ENOTDIR; File::IsCharacterDevice keeps that answer for the host character devices (a tty, NUL or /dev/null) and the guest random device. guest_kernel_sys pins it with /dev/random.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-22 20:15:26 +02:00
xXPBSXxandClaude Sonnet 5.5 e1605dda52 fix(libkernel_sys): fail fchdir on a pipe or socket with EINVAL
FreeBSD 11.4's sys_fchdir resolves the descriptor with getvnode, which fails with EINVAL for a descriptor that has no vnode; only a vnode that is not a directory gives ENOTDIR from change_dir. fchdir returned ENOTDIR for a pipe or socket. A descriptor that is neither a vnode nor a random device now gets EINVAL; the debt entry records the order of the three errors.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-22 20:15:26 +02:00
Adrià FranchandClaude e8c73627f6 fix(libc): keep %% at end of input an input failure in the wide scanner
Co-Authored-By: Claude <[email protected]>
2026-10-22 20:11:40 +02:00
MarcZX10 4a67c165b6 fix(libc): match reported wide scanf edge cases 2026-10-22 20:11:31 +02:00
Adrià a6646f8464 Merge pull request #9071 from MarcZX10/marc/libc-cosh-9062
feat(libc): implement _Cosh
2026-10-22 19:52:15 +02:00
xXPBSXxandClaude Sonnet 5.5 7e2cc7ec6b fix(agc): accept the standard component order for 11_11_10 float color targets
PPSA12361 binds color format 7 (COLOR_11_11_10, float) with COMP_SWAP 0
and stops on "unsupported color format 7 number type 7 component swap 0".
Only the reversed order (COMP_SWAP 2) was accepted.

The format keeps its 10-bit component in the low bits. The standard
swap puts red in the first slot, as Mesa pairs SWAP_STD with
COLOR_10_11_11 for R11G11B10_FLOAT, so COMP_SWAP 0 puts red there and
COMP_SWAP 2 blue. Swap 0 now decodes with the identity export mapping
0xe4 and the same packing; the other swaps still throw.

The decode test accepts swap 0 and keeps refusing swaps 1 and 3. The
execution test renders both orders into tiled and linear targets and
compares each stored word with the packing of the order. Its program
pool grows to fit the second pass. The debt entry names the accepted
orders and says the swap 0 layout is derived, not measured.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-22 19:46:23 +02:00
Adrià 9062485ebe Merge pull request #8880 from ycbuzi/feat/libc-num-get-objects
feat(libc): export the num_get and time_get locale objects as data
2026-10-22 19:44:08 +02:00
Adrià 3cd82ffe47 Merge pull request #8884 from thuanquang/fix/tess-constant-attribute-indices
fix(shader): index tessellation attributes at a constant address with constants
2026-10-22 19:43:05 +02:00
Adrià 29b25aaf4a Merge pull request #9101 from xXPBSXx/fix/flock-directory-windows
fix(libkernel): accept flock on a directory descriptor on Windows
2026-10-22 19:42:03 +02:00
Adrià c55d7c8e7b Merge pull request #8670 from xXPBSXx/fix/stream-send-after-reset-epipe
fix(libkernel): report EPIPE for a stream send on a connection the peer closed on Windows
2026-10-22 19:40:02 +02:00
Adrià 0cece6ebbc Merge pull request #8445 from juanpimg/test/agc-recorder-registrations
test(agc): register the recorder's flag-scoped runs with ctest
2026-10-22 19:39:00 +02:00
Adrià 6671bb3a17 Merge pull request #8723 from xXPBSXx/fix/symlink-target-too-long
fix(libkernel_sys): fail symlink with ENAMETOOLONG for a target of 1024 bytes or more
2026-10-22 19:36:50 +02:00
Adrià 0def01bcb5 Merge pull request #8538 from LeandroLP23/fix/recompiler-flat-p20-provoking
fix(recompiler): read P20 of a flat input as the provoking vertex
2026-10-22 19:26:58 +02:00
Dean 6a6a35fdf5 Merge pull request #7965 from frankea/ps5-measured-1340
fix(libs): values measured on a PS5 (firmware 13.40) from inside retail games
2026-10-23 06:18:10 +13:00
xXPBSXxandClaude Sonnet 5.5 ff2b4ba4cc fix(libkernel): report EPIPE for a stream send on a connection the peer closed on Windows
sosend_generic fails a send on a socket that can send no more with EPIPE
before it looks at so_error. Winsock reports the same send as WSAECONNABORTED
or WSAECONNRESET, which reached the guest as ECONNABORTED or ECONNRESET.
A stream send now maps both to EPIPE. The send-after-close checks of
guest_tcp, guest_socket_read_write and guest_socket_pair run on Windows too.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-22 19:09:29 +02:00
Adrià 11f976b27c Merge pull request #8509 from xXPBSXx/fix/stdio-transfer-overflow
fix(libc): fail fread with EINVAL when size times count overflows
2026-10-22 18:48:00 +02:00
Dean 9c3b1af626 Merge pull request #7952 from emirplus/fix/libc-wcscpy-s-limits
fix(libc): check size limits and null terminate on wcscpy_s constraint violations
2026-10-23 05:47:22 +13:00
Dean e5c5329251 Merge pull request #8099 from LuisAguilarDev/fix/agc-stencil-clear-absent-plane
fix(agc): ignore a stencil clear on a target without a stencil plane
2026-10-23 05:43:36 +13:00
LeandroLP23andClaude Opus 5.5 1bf43f9b02 fix(recompiler): read P20 of a flat input as the provoking vertex
A FLAT_SHADE input without pass-through that a pixel shader reads
through v_interp_mov_f32 P20 and not P10 stayed an explicit per-vertex
input and read vertex 2 minus vertex 0. For a flat value that is the same
on every vertex the difference is 0, and with the first provoking vertex
nothing refused it.

ps5-opengl lowers every flat input to a load of one vertex: vertex 1
(P10) by default, which #4030 reads as the provoking vertex, and vertex 2
(P20) for triangles when GL's flatshade_first is set. SuperTuxKart's
deferred point lights are drawn that way, so all twelve flat inputs of
pointlight.frag read 0, the attenuation 0 * -inf was NaN, nothing was
discarded, and the starting-line referee's light quad blacked out the
scene behind it (#8364).

A P20-only read now returns the provoking vertex's value, as P10 and P0
do. The lane was not measured on the console either, so FragmentParameter
records it and a pipeline using the last provoking vertex throws. An input
read through both P10 and P20 keeps its per-vertex differences.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-22 18:37:47 +02:00
Dean 499b1cf9fc Merge pull request #7979 from emirplus/fix/libc-str-secure-overlap
fix(libc): check overlap in strncpy_s and strncat_s
2026-10-23 05:27:39 +13:00
Dean 751b2881ae Merge pull request #8871 from thuanquang/fix/msaa-enable-clear-lines
fix(agc): draw line lists and strips into a multisampled target with MSAA_ENABLE clear
2026-10-23 05:20:48 +13:00
Romans Pokrovskis b8c6a94572 chore(agc): refresh PR 7948 on current main 2026-10-22 19:13:40 +03:00
Adrià 8499ea52e5 Merge pull request #8499 from xXPBSXx/fix/sendto-port-zero
fix(libkernel): fail sendto to port 0 from an unbound IPv4 datagram socket with EADDRNOTAVAIL
2026-10-22 17:54:00 +02:00
Adrià 093149c5bd Merge pull request #8483 from xXPBSXx/fix/poll-peer-close-pollin
fix(libkernel): report a stream whose peer closed as readable in poll on Windows
2026-10-22 17:44:27 +02:00
emirplus 2824bf21eb fix(libc): check size limits, overlap, and invoke handler in wcscpy_s 2026-10-22 18:33:56 +03:00