Commit Graph
14017 Commits
Author SHA1 Message Date
milescovielloandClaude Opus 5.5 c7849f8495 test(libkernel): check the timed locks against the holder's release, not elapsed time
The waiter took the lock only after the holder unlocked, but under load it
saw the holder's lock late and measured less than half the hold time.
The holder now sets a flag just before it unlocks and the waiter requires
it once its lock is taken.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-17 10:07:17 +00:00
Yunus Shaikh 3d42f60978 Merge branch 'fix/agc-sample-location-grid-fallback' into fix/agc-sample-location-grid-exact
The fallback branch's merge of main brings the single-sample scan entry
after the custom MSAA sample locations entry in the AGC debt file. Keep
it after this branch's version of that entry.
2026-10-17 03:05:00 -07:00
Yunus Shaikh 7b3826a42d Merge main into fix/recompiler-once-per-pixel-sample-inputs
main d7262bd6d6 adds the single-sample scan entry after the custom MSAA
sample locations entry in the AGC debt file. Keep it after this
branch's version of that entry.
2026-10-17 03:04:20 -07:00
Yunus Shaikh cebbd414eb Merge main into fix/agc-sample-location-grid-fallback
main d7262bd6d6 adds the single-sample scan entry after the custom MSAA
sample locations entry in the AGC debt file. Keep it after this
branch's version of that entry.
2026-10-17 03:04:15 -07:00
Alexej Szpevák 41ec785705 fix(libkernel): answer F_GETLK with F_UNLCK on Linux and macOS
fcntl threw for F_GETLK with an F_UNLCK request on the hosts that use POSIX locks, as Linux's F_GETLK rejects that type. FreeBSD 11.4's kern_fcntl accepts it and lf_getlock reports the first overlapping lock that lf_blocks lets conflict: another owner's lock, one of the two being a write lock. For an F_UNLCK request that is exactly another owner's write lock, the same set an F_RDLCK request finds, so the host is asked with F_RDLCK and the reply is written back as for the other types.
2026-10-17 12:00:21 +02:00
Adrià d7262bd6d6 Merge pull request #5915 from SandstromPL/fix/agc-single-sample-scan-multisampled-depth
fix(agc): rasterize a single-sample scan into a multisampled depth target at the pixel center
2026-10-17 12:00:13 +02:00
Adrià 23a0dad994 Merge pull request #6100 from Zinebyte/fix/web-appledouble-metadata
fix(web): recognize AppleDouble ZIP metadata
2026-10-17 12:00:08 +02:00
akkadbakkad89 418d385c96 test(agc): cover Intel single-queue devices in recorder fixtures 2026-10-17 10:00:04 +00:00
Adrià fce6353052 Merge pull request #6026 from leorossi2005/feat/voiceqos-endpoints
feat(libSceVoiceQoS): implement endpoints and connections to unblock
2026-10-17 12:00:03 +02:00
Alexej Szpevák 5433b32b7d fix(libc): return the open error from fopen_s instead of ENOENT
fopen_s returned ENOENT for every failed open, including an invalid mode, a directory opened for writing and the loop and long-name cases. C11 K.3.5.2.1 only asks for a nonzero value; Microsoft's CRT, which shares Dinkumware's library, returns errno. fopen_s now returns the errno fopen set.
2026-10-17 11:52:14 +02:00
Alexej Szpevák 8806043613 fix(libc): translate the host errno of a failed freopen
freopen closed the stream and returned the host's errno from the failed reopen as is, with the same Linux numbers for a symlink loop or an over-long name as fopen had. It now passes it through GuestErrnoFromHost_nid_no_patch.
2026-10-17 11:51:32 +02:00
Alexej Szpevák dc324d3d5f fix(libc): translate the host errno of a failed fopen
fopen left the host's errno in place when the host open failed, so on Linux a symlink loop reached the title as 40 and an over-long name as 36, which are EMSGSIZE and EINPROGRESS on FreeBSD. GuestErrnoFromHost_nid_no_patch maps the host value to FreeBSD 11.4's: 1 to 34 are shared except EAGAIN (35), and ELOOP, ENAMETOOLONG, ENOTEMPTY, EDQUOT, EOVERFLOW and EDEADLK get their FreeBSD numbers; anything else is EIO.
2026-10-17 11:51:00 +02:00
danielcadev 27ded2c4d1 fix(agc): keep small device buffers in the small pool tier 2026-10-17 04:39:56 -05:00
Dean bf20538169 Merge pull request #7053 from inmert/fix/relinker-macos-libc-for-libkernel
fix(relinker): list libc.prx with libkernel.prx in macOS executables
2026-10-17 22:32:23 +13:00
Alexandros Pournaras 4b656882ba fix(libSceNet): store SO_ONESBCAST in sceNetSetsockopt 2026-10-17 11:29:25 +02:00
Aryan Sharma 2e0d310c91 docs(debt): link the backtrace entry from its debt file 2026-10-17 14:57:32 +05:30
Aryan Sharma 7e89abbab0 test(libc): backtrace tests call the _nid_postfix exports
The sceLibcBacktrace implementations were renamed to the _nid_postfix
convention on this branch, so the test declarations must match.
2026-10-17 14:56:56 +05:30
Aryan Sharma ec832e0bcb fix(libc): limit sceLibcBacktraceSelf to Linux and test its record layout 2026-10-17 14:56:56 +05:30
Aryan Sharma ce57c2d799 feat(libc): implement sceLibcBacktraceSelf on Linux
PPSA28997 (IL2CPP) calls sceLibcBacktraceGetBufferSize and
sceLibcBacktraceSelf. On Linux the host call stack is captured with
backtrace and each frame is resolved to its module and offset with
dladdr, then written as a linked list of frame records. The record
layout is inferred and listed in TechnicalDebt. Windows throws.
2026-10-17 14:56:56 +05:30
Dean 6d6e33d638 Merge pull request #6790 from simonbronk/codex/nid-empty-symbol-filter
fix(nid-names): keep empty symbol filters in name mode
2026-10-17 22:26:53 +13:00
David Sera 38551363fd test(agc): skip the emulated color compare clamp cases without MinLod
The offset cases compile `image_sample_cb_cl_o`, whose LOD clamp the emitter
reaches only through the device's `shaderResourceMinLod`; without it the
emitter refuses the shader (the gate #388 left in place). The test had no
capability guard, so on such a device every one of those cases failed at the
first of them, `point, wrap with negative offsets`, instead of skipping them
as `ImageSampleLodClamp` and `ImageSampleBiasA16` already do.

Found on llvmpipe (Mesa 25.0.7, Debian 13), which lacks the feature that
lavapipe reports from Mesa 25.2.8: `agc_driver_emulated_color_compare` and
its `_srgb_decode` variant both failed. The other cases still run; the note
names the cases that were skipped.
2026-10-17 12:26:38 +03:00
Adrià 501f740529 Merge pull request #6074 from notaxeltv/feat/libc-aligned-new-ppsa34015
feat(libc): allocate through operator new with align_val_t
2026-10-17 11:26:33 +02:00
Adrià 05f6541e48 Merge pull request #6087 from notaxeltv/feat/libc-locale-classic-ppsa34015
feat(libc): export locale::classic (PPSA34015)
2026-10-17 11:26:28 +02:00
AlxcBTW a58a709116 fix(agc): compare moved dispatch buffers at their build-time clamped size
A read-only V# the build clamps (size above the descriptor range limit cut to the
mapped end, stride overhang cut to the allocation end) was compared with the template
by its raw size, so an unchanged buffer counted as moved, was refused over the limit
and the dispatch rebuilt every time; a moved one with an overhang was snapshotted past
the allocation end. The build and the move proof now take the range from one function
(ShaderResources::guestBufferBytes), compare clamped with clamped and snapshot the
clamped range.

An overlay without a descriptor set is refused like one that could not be made, and
recording one throws instead of binding the template's set.
2026-10-17 11:23:47 +02:00
Azaluz 9b29e696c1 fix(agc): keep nonbinding import probes from pinning buffers 2026-10-17 12:22:39 +03:00
Adrià ef674f5af3 Merge pull request #7055 from adriadam10/fix/main-loadexec-cleanup
fix(main): retry temp dir cleanup in loadexec_arguments on Windows
2026-10-17 11:13:58 +02:00
Adrià FranchandClaude 5e87aaed47 fix(main): retry temp dir cleanup in loadexec_arguments on Windows
Run 39019245350 (main f05fc7d953) failed loadexec_arguments with WinError 5 on
unlinking guest_loadexec_host.prx in TemporaryDirectory cleanup: the exited
guest process still held the module briefly. #7038 does not touch it (0 of 25
earlier main builds failed). Retry the removal for up to 10 s.

Co-Authored-By: Claude <[email protected]>
2026-10-17 11:13:41 +02:00
Dean f05fc7d953 Merge pull request #7038 from thuanquang/fix/packed-f16-denormal-modes
feat(shader): translate packed f16 in the f16 denormal modes that flush
2026-10-17 21:56:30 +13:00
inmert f91e53d595 fix(relinker): list libc.prx with libkernel.prx in macOS executables 2026-10-17 14:06:01 +05:30
thuanquangandClaude Opus 5.5 e5cc0bc0ff feat(shader): translate packed f16 in the f16 denormal modes that flush
v_pk_add/mul/fma/fmac/min/max_f16 threw in f16 denormal modes 0-2. On
RDNA2 (gfx1031) bit 6 clear flushes each denormal input lane to a zero
of its sign, and bit 7 clear flushes an add result below 2^-14 and a
mul or fma result whose exact value rounded to 11 significant bits
with an unbounded exponent is below 2^-14, as the scalar forms do;
min/max flush only their inputs. Packed f16 still throws for f16
rounding other than nearest even.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-17 21:23:10 +13:00
Dean adb0e7a8cb Merge pull request #7040 from thuanquang/fix/fma-mix-f16-input-flush
fix(shader): flush v_fma_mix_f32 f16 sources by the f16 denormal field
2026-10-17 21:21:53 +13:00
Dean bf0bec93ff Merge pull request #7041 from thuanquang/fix/div-fixup-f64-input-flush
fix(shader): flush v_div_fixup_f64 src1 and src2 by the f64 denormal field
2026-10-17 21:21:49 +13:00
Dean 660cf7b215 Merge pull request #7001 from MarcZX100/codex/fix-viewbytes-range-6999
fix(agc): cover unaligned guest buffer views
2026-10-17 21:21:45 +13:00
fma-rc 67f13f61c9 ci: label pull requests that unblock a title or change performance 2026-10-17 10:18:05 +02:00
Yunus Shaikh a6ff397acc Merge main into fix/agc-shutdown-pool-threads
main's 81e3db853c counts each device's active library builds
(activeBuilds), so ClearPipelineLibraries waits for them. Keep it
beside this branch's joinable worker and stopping flag, which replace
started.
2026-10-17 01:01:48 -07:00
Yunus Shaikh 7539ba6116 Merge branch 'perf/agc-host-import-aligned-blocks' into perf/agc-remember-evicting-refusals 2026-10-17 01:01:31 -07:00
Yunus Shaikh e60ca87228 Merge branch 'perf/agc-host-import-aligned-blocks' into perf/agc-host-import-blocks 2026-10-17 01:01:30 -07:00
Yunus Shaikh f03efaeb48 Merge main into perf/agc-host-import-aligned-blocks
main 52798f71d5 declares ExistingHostImportFor next to HostImportFor
(#6892). Keep it beside this branch's HostImportFor, which takes a
requester.
2026-10-17 01:01:03 -07:00
Adrià 5f61879a97 Merge pull request #7046 from adriadam10/ci/fix-error-label
ci: label pull requests that close an issue
2026-10-17 10:00:19 +02:00
Adrià FranchandClaude dde946d488 ci: label pull requests that close an issue
Co-Authored-By: Claude <[email protected]>
2026-10-17 10:00:09 +02:00
Dean 52798f71d5 Merge pull request #6892 from tibzejoker/perf/resident-linear-targets
perf(agc): linear color targets over imported memory get a resident image
2026-10-17 20:52:24 +13:00
Dean 7a2435edee Merge pull request #6814 from MarcZX100/codex/agc-library-prebuild-replacement-race
fix(agc): drain library prebuilds before device replacement
2026-10-17 20:52:21 +13:00
Dean a60ac1fbed Merge pull request #7034 from thuanquang/fix/f16-fma-denormal-flush
fix(shader): flush v_fma_f16 family denormals by the f16 denormal field
2026-10-17 20:52:18 +13:00
simonbronk 4ef9056af4 fix(nid-names): keep empty symbol filters in name mode 2026-10-17 09:44:27 +02:00
Dean 3b10c7ef09 Merge pull request #4288 from 014-code/fix/spirv-optimizer-memory-4166
fix(shader): bound SPIR-V scalar replacement
2026-10-17 20:35:30 +13:00
Dean acca883e0b Merge pull request #3557 from karanvora2599/perf/shader-native-scalar-f16
perf(shader): compute scalar f16 add, sub and mul with native f16 math
2026-10-17 20:35:26 +13:00
Dean 17cfb1f4cb Merge pull request #7031 from thuanquang/fix/f16-pack-denormal-flush
fix(shader): flush v_cvt_pkrtz_f16_f32 and v_pack_b32_f16 f16 denormals
2026-10-17 20:22:25 +13:00
Dean 8a2a2ee78f Merge pull request #7030 from thuanquang/fix/div-fixup-f16-input-flush
fix(shader): flush v_div_fixup_f16 src1 and src2 by the f16 denormal field
2026-10-17 20:22:21 +13:00
Dean b365e67320 Merge pull request #7003 from MarcZX100/codex/explain-sampler-device-limit-7000
fix(agc): report sampler device limits
2026-10-17 20:22:16 +13:00
Dean 61ba0d9185 Merge pull request #7021 from thuanquang/fix/f16-compare-input-flush
fix(shader): flush f16 compare inputs by the FLOAT_MODE f16 denormal field
2026-10-17 20:22:13 +13:00