Commit Graph
9966 Commits
Author SHA1 Message Date
AlxcBTW bb86b5f357 test(agc): isolate the depth clear cases per recorder and cover plane fills against a UAV clear
Each case re-activates the test device's recorder, and the DCB submit re-activates the recorder of the second device it creates, so the cases no longer depend on the order they run in. PlaneFillCase checks that a plane fill before a UAV clear is overwritten by it and a plane fill after it wins.
2026-10-18 05:56:26 +02:00
Dean a86577e464 Merge pull request #7178 from AlxcBTW/pr/depth-clear-2
perf(agc): replace the plane copies around a depth plane's UAV clear by a depth clear
2026-10-18 16:52:16 +13:00
Dean f28ae2d5a4 Merge pull request #7139 from AlexOfTheForest/feat/poll-files
feat(libkernel): poll files, directories, the random device and stdio as FreeBSD does
2026-10-18 16:52:12 +13:00
Dean Galvin 57d3e85ca8 Merge main into pr/depth-clear-2 2026-10-18 16:37:09 +13:00
Dean 1e2d9b369b Merge pull request #7346 from thuanquang/fix/depth-bits-32-guest-memory
fix(agc): read a 32-bit depth-bits T# over guest memory through a float view
2026-10-18 16:22:26 +13:00
Dean 43663419cb Merge pull request #7343 from BiladeiroSupremo/fix/agc-row-scan-reduction
fix(shader): reduce a DPP row scan read at a row's last lane over the…
2026-10-18 16:22:23 +13:00
Dean a644767534 Merge pull request #7366 from milescoviello/fix/pthread-join-self-first
fix(libkernel): answer a join of the calling thread before its detach state
2026-10-18 16:22:19 +13:00
Dean 1ab64e7f0e Merge pull request #7365 from milescoviello/fix/sigprocmask-invalid-how
fix(libkernel): fail sigprocmask with EINVAL for an unknown how
2026-10-18 16:22:16 +13:00
Dean d9656f1283 Merge pull request #7353 from T3cm0/bionic/mergesort
feat(libc): implement mergesort
2026-10-18 16:22:12 +13:00
Dean Galvin 67e7043332 Merge main into feat/poll-files 2026-10-18 16:04:36 +13:00
Dean 2626e5ee7e Merge pull request #7360 from milescoviello/perf/srgb-table-initializer
perf(shader): initialize the sRGB decode table once per module
2026-10-18 15:58:50 +13:00
Dean c4fea909a5 Merge pull request #7335 from EagleBearerYS/prep/np-trophies-part2
feat(libSceNpTrophy2,libSceNpUniversalDataSystem): record trophy unlocks and statistics
2026-10-18 15:58:22 +13:00
Dean fdcc9f70e0 Merge pull request #5780 from MrMha/fix/conventions-duplicate-source-tokens
Merged while @adriadam10 is away; his requested change is in place.
2026-10-18 15:57:48 +13:00
thuanquangandClaude Opus 5.5 4aaa125279 test(agc): drop the comment above the guest depth-bits case
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 09:55:38 +07:00
Dean 5dd2e365b7 Merge pull request #7189 from tibzejoker/perf/grow-resource-cache
perf(agc): grow the resource cache while the keys it evicts come back
2026-10-18 15:55:35 +13:00
Dean 3b887b51c8 Merge pull request #5917 from fdfawef324/codex/stencil-null-feedback
Merged while @adriadam10 is away; he approved this head.
2026-10-18 15:52:50 +13:00
Dean c534fc0af7 Merge pull request #7339 from oneandonlydean/rescue/2779
fix(agc): harden host import construction and mutation waits
2026-10-18 15:52:28 +13:00
Dean 6313b1f890 Merge pull request #7364 from SandstromPL/fix/test-aniso-reduction-no-mip
fix(test): sample the anisotropic min/max rows without a mip filter
2026-10-18 15:52:24 +13:00
Dean 1d8524be7c Merge pull request #7352 from T3cm0/bionic/inet-aton-ntoa
feat(libSceLibcInternal): implement inet_aton, inet_addr and inet_ntoa
2026-10-18 15:52:20 +13:00
Dean 628047ef6c Merge pull request #7349 from T3cm0/bionic/posix-spawnattr-accessors
feat(libSceLibcInternal): implement the remaining posix_spawnattr accessors
2026-10-18 15:52:17 +13:00
Dean 3ef424a7f6 Merge pull request #7348 from T3cm0/bionic/paf-mspace
feat(libc): implement the sceLibcPafMspace allocation exports
2026-10-18 15:52:13 +13:00
milescovielloandClaude Opus 5.5 4ebc7d7d43 fix(libkernel): answer a join of the calling thread before its detach state
scePthreadJoin checked whether the thread was detached before whether it
was the calling thread. So a detached thread joining itself got EINVAL
instead of EDEADLK, and so did the main thread, which scePthreadSelf
adopts as detached. FreeBSD's join checks the calling thread right after
the null check and before it looks at the detach state. The self check
now comes first; the null, detached and already-joined answers are
unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 02:41:38 +00:00
milescovielloandClaude Opus 5.5 8cd9c1d310 fix(libkernel): fail sigprocmask with EINVAL for an unknown how
sigprocmask and _sigprocmask threw std::invalid_argument for a how other
than SIG_BLOCK, SIG_UNBLOCK or SIG_SETMASK, which ends the title. FreeBSD
returns -1 with EINVAL and leaves the old mask uncopied, and ignores how
when set is null; pthread_sigmask here already returns EINVAL. The check
now comes first, before the previous mask is written.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 02:37:39 +00:00
Dean b39d90bf14 Merge pull request #7357 from T3cm0/bionic/seed48-lcong48
feat(libc): implement seed48 and lcong48
2026-10-18 15:20:36 +13:00
Dean 49e657e83b Merge pull request #7356 from T3cm0/bionic/wide-string-exports
feat(libc): implement wcscspn, wcstoimax, wcstoumax, strtouq, rindex and flsl
2026-10-18 15:20:32 +13:00
Dean 5cc435f02f Merge pull request #7355 from T3cm0/bionic/uchar-conversions
feat(libc): implement the uchar.h conversions, mblen and wctomb
2026-10-18 15:20:29 +13:00
Dean 82a119ad69 Merge pull request #7354 from T3cm0/bionic/long-double-math
feat(libc): implement long double, Bessel and integer math exports
2026-10-18 15:20:26 +13:00
Dean 5a240614e4 Merge pull request #7351 from thuanquang/fix/amd-robust-buffer-access2
fix(agc): keep robustBufferAccess2 off on AMD's proprietary driver
2026-10-18 15:20:22 +13:00
SandstromPLandClaude Opus 5.5 7f9427a763 fix(test): sample the anisotropic min/max rows without a mip filter
The two anisotropic rows of agc_driver_image_sample_reduction sampled
a two-level texture at explicit LOD 0.25 and 0.75 through a point mip
filter, and expected only the nearest level in the min or max. Vulkan
leaves the anisotropic filtering scheme to the implementation, and
only recommends that it consider mipmapMode, minLod and maxLod. On an
RTX 4090 (NVIDIA 616.92) the min row returns 5, a level-1 texel, where
level 0's bilinear minimum is 17, so the test fails on main there.

The rows now use no mip filter, which the decoder turns into a host
sampler with minLod and maxLod 0, so they read level 0 only, as the
RDNA2 measurements without derivatives did (gfx1030 with no mip filter
over a single-level texture, gfx1035 with image_sample_lz). They still
throw if the min or max reduction with anisotropy is refused again.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 07:38:34 +05:30
milescovielloandClaude Opus 5.5 e273a65352 perf(shader): initialize the sRGB decode table once per module
DecodeSrgbTexel looked up the 256 table constants and stored the whole
table into its Private array at every decode site. The constants are
interned, but once a module has more than the declaration cache's 512
entries, each of those lookups that misses walks every slot before it
reaches the map. The table is now built on first use as the Private
array's initializer, as the buffer format table already is, and later
sites only index it.

The sRGB image load test checks that the recompiled module holds one
table, initializes one variable with it and never stores it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 02:02:41 +00:00
Dean 195d0d08a8 Merge pull request #7334 from milescoviello/fix/rect-list-clip-distances
fix(shader): pass clip distances through the rect-list stages as the vertex shader writes them
2026-10-18 15:01:00 +13:00
Dean 0e94c5d434 Merge pull request #6243 from EagleBearerYS/perf/shader-direct-cpu-evaluable-images
perf(shader): select the record of a T# whose offset the CPU evaluates
2026-10-18 15:00:57 +13:00
Dean 199e2ceb2f Merge pull request #7262 from EagleBearerYS/prep/np-trophies
feat(libSceNpTrophy2): report the title's trophy data from trophyNN.ucp
2026-10-18 15:00:53 +13:00
Dean 154d627e38 Merge pull request #7341 from MarcZX100/codex/noreturn-unimplemented-stub
fix(libc): mark unimplemented NID handler as non-returning
2026-10-18 14:50:33 +13:00
Dean a3dc0b52b0 Merge pull request #7337 from milescoviello/fix/test-fixture-validation
test(agc): create fixture command pools with the reset flag
2026-10-18 14:50:29 +13:00
Dean 7cdfbd2e9d Merge pull request #7152 from Bonjourcestmatt/fix/getdents-not-directory
fix(libkernel): report EINVAL for getdirentries on a non-directory
2026-10-18 14:50:26 +13:00
Dean 720f02ea89 Merge pull request #7342 from oneandonlydean/rescue/2468
fix(relinker): keep test artifacts in the build tree
2026-10-18 14:50:22 +13:00
Dean 0455317705 Merge pull request #7338 from oneandonlydean/rescue/3241
fix(libkernel): name module-relative call sites and thread ids in Linux wait traces
2026-10-18 14:50:19 +13:00
Dean ddf547fbf8 Merge pull request #7186 from simonbronk/codex/net-receive-address-guards-20261017
fix(libSceNet): guard recvfrom sender outputs before receiving
2026-10-18 14:50:15 +13:00
Dean f376eeb9ef Merge pull request #7176 from milescoviello/fix/asan-gpu-tests
fix(agc): run the AGC GPU tests in an ANYPS5_ENABLE_ASAN build
2026-10-18 14:50:11 +13:00
Dean 3d9ba7fce1 Merge pull request #7171 from MrMha/fix/oracle-cli-input-errors-20261017
fix: report oracle CLI input errors before running tools
2026-10-18 14:50:08 +13:00
T3cm0andClaude Opus 5.5 26898755e5 feat(libc): implement seed48 and lcong48
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 20:44:32 -05:00
T3cm0andClaude Opus 5.5 f68ab450e2 feat(libc): implement wcscspn, wcstoimax, wcstoumax, strtouq, rindex and flsl
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 20:44:06 -05:00
T3cm0andClaude Opus 5.5 58697488a2 feat(libc): implement the uchar.h conversions, mblen and wctomb
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 20:43:39 -05:00
T3cm0andClaude Opus 5.5 24a999c499 feat(libc): implement long double, Bessel and integer math exports
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 20:43:13 -05:00
T3cm0andClaude Opus 5.5 8283831a19 feat(libc): implement mergesort
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 20:42:46 -05:00
T3cm0andClaude Opus 5.5 300b7ff34c feat(libSceLibcInternal): implement inet_aton, inet_addr and inet_ntoa
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 20:42:20 -05:00
thuanquangandClaude Opus 5.5 48b394d1ec fix(agc): keep robustBufferAccess2 off on AMD's proprietary driver
Since #4048 enabled robustBufferAccess2, AMD's Windows driver draws
nothing in agc_driver_layered_volume_draw and agc_driver_layered_volume_vertex,
and the selected loads make the high half of agc_driver_subvector_loop's
wave64 skip its loop. Until the cause is found, that driver does not get
the feature, and its loads keep their selections.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 08:42:00 +07:00
T3cm0andClaude Opus 5.5 f9b7b230fc feat(libSceLibcInternal): implement the remaining posix_spawnattr accessors
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 20:41:26 -05:00
T3cm0andClaude Opus 5.5 66247cef5c feat(libc): implement the sceLibcPafMspace allocation exports
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 20:40:58 -05:00