Commit Graph
12196 Commits
Author SHA1 Message Date
TamaleroandClaude Opus 5.5 268e96df8b fix(libkernel): unmap released direct memory views before freeing the physical range
sceKernelReleaseDirectMemory and sceKernelCheckedReleaseDirectMemory returned the range to the
allocator before unmapping its views. The unmap waits for GPU leases on the views, and during
that wait another allocation could take the freed pages and map them while the old view was
still mapped and host-imported, so GPU writes through it landed in the new owner's memory.
Both calls now unmap the views first; the checked call still reports ENOENT for an unallocated
range before it touches any view.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-17 23:51:55 -07:00
Dean 1b0c7cfa02 Merge pull request #7112 from Pouare514/fix/flexible-release-scope
fix(libkernel): scope flexible release to tracked ranges with release-then-record
2026-10-18 19:22:54 +13:00
milescovielloandClaude Opus 5.5 9be717d11b perf(shader): insert patched SRT reads before their use without appending first
PlanBuilder::PatchReads emitted GetSrtResource and ReadConst at the end
of the block, then removed each with RemoveInstruction, which scans the
block from the front to find a value that is always at its end. Create
both values directly and insert them before the patched read, as
ResourceTracker's EmitBefore does. The SPIR-V is unchanged.

verifySrtReadPatching now checks that the flat read sits right before
the original read and the planning reference ends the block.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 06:15:38 +00:00
Dean Galvin e886b91fab Merge branch 'main' into 6492 2026-10-18 19:07:59 +13:00
mrfelekandClaude Opus 5.5 3f33dcf951 fix(libSceNgs2): clear the voice callback on sampler and mixer setup
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01BywPXoZACVi8ALV4JKvuPZ
2026-10-18 08:07:27 +02:00
Dean Galvin 5db206aba0 fix(agc): read the depth remap scale and offset from push constants at run time
The remap mode stays a specialization constant and cache key input. Scale and
offset are two push words at byte 104, patched per draw, so draws that differ
only in depth range share one pipeline. The recipe, journal and serializer
carry the mode only.
2026-10-18 19:01:14 +13:00
Dean ccb0c09268 Merge pull request #7240 from gjonn/fix/shader-unnormalized-offset-base-level
fix(shader): fold texel offsets into base-level unnormalized samples
2026-10-18 18:58:51 +13:00
Dean 4827d822ec Merge pull request #7238 from gjonn/fix/recompiler-dynamic-storage-mip-slots
fix(recompiler): give a dynamic-mip storage image a slot for every level
2026-10-18 18:58:30 +13:00
Dean d704b808e3 Merge pull request #6828 from loyalburrito/claude/brave-ride-lz92qi
feat(ssl): run TLS 1.2 client connections over Mbed TLS
2026-10-18 18:58:26 +13:00
Dean 883cb1ac52 Merge pull request #6231 from ArjenS-LA/fix/explicit-homebrew-module-directories
fix(relinker): allow explicit module directories without standard folders
2026-10-18 18:58:22 +13:00
Dean 80249ea54e Merge pull request #7330 from MarcZX100/codex/fix-barycentric-interface-7328
fix(shader): match barycentric tessellation clip interfaces
2026-10-18 18:51:47 +13:00
David 814f17982b Merge remote-tracking branch 'origin/main' into feat/shader-barycentric-tessellation-last-vertex
# Conflicts:
#	docs/dev/debt/libSceAgcDriver.md
2026-10-18 09:40:45 +04:00
David f3bf216868 Merge remote-tracking branch 'origin/main' into fix/netctl-default-route-macos
# Conflicts:
#	docs/dev/debt/libSceNetCtl.md
2026-10-18 09:37:31 +04:00
Yunus Shaikh cd89b29c52 Merge perf/agc-host-import-aligned-blocks into perf/agc-remember-evicting-refusals 2026-10-17 22:27:11 -07:00
Yunus Shaikh 82cf694bb8 Merge perf/agc-host-import-aligned-blocks into perf/agc-host-import-blocks 2026-10-17 22:26:38 -07:00
Yunus Shaikh 0b84427db3 Merge main into perf/agc-host-import-aligned-blocks 2026-10-17 22:25:50 -07:00
tkcm01 8bcf040abb fix(relinker): allow Windows export aliases when probing backup copies 2026-10-18 01:22:50 -04:00
Dean 66e71b63d1 Merge pull request #5390 from hugodearaujo/feat/agc-sparse-unaligned-import
feat(agc): import shared ranges whose backing offset is not 64 KiB aligned
2026-10-18 18:22:50 +13:00
milescovielloandClaude Opus 5.5 4aa81fbd8a test(agc): print the staged clear's expected byte count as a size_t
The expected count in the failure message of the staged clear sampled
read test is Threads * 4u + SampleTexelBytes, a std::size_t, but was
formatted with %u. On LP64 hosts that is the only -Wformat warning in
the tree, and the message would print the wrong value.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 05:18:16 +00:00
Yunus Shaikh a508aa03c4 Merge main into perf/shader-image-table-reuse-v3-pr 2026-10-17 22:15:10 -07:00
milescovielloandClaude Opus 5.5 04134c7367 test(avplayer): keep guest_avplayer's frame expectations within a loaded run
The player hands out the newest frame that is due and skips the ones
before it (Source.cpp), as a real-time player does, and the test movies
are one second long. Under load, when the test thread runs late, the
WebM case could receive fewer than its five required video frames, and
the playback case, which waited for eight frames and eight audio chunks
before pausing, could reach the end of the movie first and find the
player inactive while paused.

The playback case now pauses after two frames and two audio chunks,
still enough for its timestamp order check, and the WebM case requires
one decoded video frame; its audio, which is not skipped at normal
speed, still has to deliver two chunks.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 05:04:43 +00:00
MarcZX100 1bb663f687 fix(libSceVrSetupDialog): finish dialog on close 2026-10-18 04:47:22 +00:00
Nithishvelan M aa154d52f3 fix(libSceCdlgG2P): transition to finished on dialog close
Transition dialog status to finished in sceG2PDialogClose, matching the behavior in libSceSigninDialog, and add unit test coverage in GuestG2PDialog.
2026-10-18 10:15:41 +05:30
milescovielloandClaude Opus 5.5 bdead6944b fix(libkernel): handle fcntl and FIONREAD on a host socket descriptor
On Linux and macOS, fcntl and ioctl threw "descriptor N is neither a
file, a directory, a pipe nor a character device" for a host socket that
is not a guest socket. That is what a standard descriptor is when a
service manager connects it to its journal, or when a test runner starts
the process with a socket as stdin; guest_kernel_fcntl's standard input
check aborts then.

A socket is now its own descriptor kind. Its status and close-on-exec
flags go through the host as for a pipe end, FIONREAD asks the host,
record locks and read-ahead hints fail with EBADF as FreeBSD's
kern_fcntl fails them on a descriptor without a vnode, and O_ASYNC
throws as on a pipe.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 04:44:36 +00:00
Dean Galvin 489c64ecb5 Merge main into fix/explicit-homebrew-module-directories 2026-10-18 17:43:12 +13:00
Dean 4566cc3377 Merge pull request #6455 from EagleBearerYS/fix/agc-stamp-partly-watched-stores
fix(agc): stamp the watched blocks of a store into partly watched memory
2026-10-18 17:41:49 +13:00
Dean 3e32946e66 Merge pull request #5988 from ErenYeager1836/feat/libSceUserService-accessibility-getters
Merged while @adriadam10 is away; his requested change is in place.
2026-10-18 17:41:20 +13:00
Dean 0e03263013 Merge pull request #6095 from meh7an/perf/shader-srt-tape
Merged while @adriadam10 is away; his requested change is in place.
2026-10-18 17:41:16 +13:00
Dean bc25d892cf Merge pull request #7380 from thuanquang/fix/relinker-skip-backup-copies
fix(relinker): skip a dumper's backup copy of a module beside the module
2026-10-18 17:41:00 +13:00
Dean bd4ae99709 Merge pull request #7393 from ErenYeager1836/feat/player-selection-dialog-status-and-close
feat(libScePlayerSelectionDialog): export scePlayerSelectionDialogGetStatus and scePlayerSelectionDialogClose
2026-10-18 17:38:13 +13:00
Yunus Shaikh 543d7cf5eb Merge main into fix/agc-heap-mirror-replan-unwatched 2026-10-17 21:33:59 -07:00
Yunus Shaikh 3e2ff056b6 Merge perf/agc-host-import-aligned-blocks into perf/agc-remember-evicting-refusals 2026-10-17 21:32:44 -07:00
Yunus Shaikh 698491c2d6 Merge perf/agc-host-import-aligned-blocks into perf/agc-host-import-blocks 2026-10-17 21:31:56 -07:00
Nithishvelan M dec0e2013c feat(libScePlayerSelectionDialog): export scePlayerSelectionDialogGetStatus and scePlayerSelectionDialogClose
Implement scePlayerSelectionDialogGetStatus and scePlayerSelectionDialogClose in libScePlayerSelectionDialog, matching the common dialog lifecycle convention across player dialogs, and add unit test coverage in GuestPlayerSelectionDialog.
2026-10-18 10:01:34 +05:30
Yunus Shaikh 1b304c8e9f test(agc): keep the copy lifetime test's two ranges out of one aligned import
This branch imports adjacent registered ranges that fill an aligned
power-of-two block as one import, so the copy check's source and
destination, mapped one after the other, became a single 128 KiB
import, and the source's protection change retired the destination
with it. Map them with an unmapped block between them, so each is its
own import and the check still shows that retiring one import leaves an
unrelated one in place.
2026-10-17 21:29:31 -07:00
Yunus Shaikh 399cc69e9f Merge main into perf/agc-host-import-aligned-blocks 2026-10-17 21:29:30 -07:00
Yunus Shaikh db622e1c4f Merge main into perf/shader-image-table-reuse-v3-pr 2026-10-17 21:26:16 -07:00
Dean 3de84fa106 Merge pull request #7385 from EagleBearerYS/test/agc-depth-bits-guest-memory
test(agc): read the depth bits of a SW_64KB_Z_X surface from guest memory
2026-10-18 17:22:09 +13:00
Dean 755fecb333 Merge pull request #6678 from EagleBearerYS/perf/agc-async-settle
perf(agc): settle Windows imports under 1 MiB without waiting
2026-10-18 17:22:05 +13:00
Dean a84027dcba Merge pull request #7248 from HQasper/fix/select-kqueues-and-devices
fix(libkernel): select on kqueues as kqueue_poll answers
2026-10-18 17:22:02 +13:00
Dean Galvin 2edaf44a64 Merge main into claude/brave-ride-lz92qi 2026-10-18 17:20:58 +13:00
pushkarreddyy 813fdda24d fix(json2): return parse error on null text or zero size 2026-10-18 09:50:39 +05:30
Dean bf34e3a009 Merge pull request #7199 from pushkarreddyy/feat/agc-driver-cmask-mipmapped
feat(libSceAgcDriver): support CMASK fast clears on base mip 0 of mipmapped 2D targets
2026-10-18 17:20:25 +13:00
Dean dbafca0d05 Merge pull request #7193 from XairRrR/perf/image-table-index-scratch
perf(recompiler): keep image-table indexes in per-thread scratch
2026-10-18 17:20:21 +13:00
Dean 51a1605731 Merge pull request #5969 from jagrat04/feat/libSceSsl-validity-and-fingerprint
Merged while @adriadam10 is away; his requested change is in place.
2026-10-18 17:18:33 +13:00
Nithishvelan M 738eff083c fix(libSceSaveData.native): return error for uninitialized sceSaveDataSyncSaveDataMemory 2026-10-18 09:42:13 +05:30
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 Galvin e1dc3c0593 Merge main into fix/select-kqueues-and-devices 2026-10-18 16:55:09 +13:00
Nithishvelan M 432ad48393 test(libSceUserService): unwind guest_user_service_tests on Windows
Register unwind tables on Windows via configure_windows_unwind so that throwing stubs tested in GuestUserService can be caught without unhandled runtime_error aborting the test runner.
2026-10-18 09:23:56 +05:30
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