Commit Graph
14017 Commits
Author SHA1 Message Date
Alex ColliniandClaude Opus 5.5 ef3cb7c9ef docs(agc): bound the released-texture sweep by the grown resource cache
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 10:04:28 +02:00
T3cm0andClaude Opus 5.5 53a1fe47d6 feat(libSceLibcInternal): implement err, warn, psignal and sys_signame
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 03:02:13 -05:00
Dean ed01d79d3c Merge pull request #7271 from gjonn/feat/agc-format43-native-repack
feat(agc): sample texture format 43 through a lossless B10G11R11 copy
2026-10-18 20:51:59 +13:00
Yunus Shaikh 3ea0be6488 docs(agc): say a settled import under a storage image stays compared
ARCHITECTURE.md and the libSceAgcDriver debt entry now say that a
settled Windows import under 1 MiB returns to the write watch only when
no storage image overlaps it, and why.
2026-10-18 00:47:31 -07:00
Yunus Shaikh 0623263512 fix(agc): keep a settled import compared while a storage image overlaps it
Since #6678, a Windows host import under 1 MiB returns to the write watch
once its deferred settle read has completed, and GuestMemory::Rewatch
stamps every block of it as a CPU store. The return waited only while
storage results were pending over the import. A storage image can take
its generation before the stamp and have results pending only after it:
an image's first upload takes its generation and then imports its block,
a recorded draw marks its targets pending once it is recorded, and the
settle is polled at the import lookups between the two. The image's
next refresh then takes the stamp for a CPU store over its results,
drops them and uploads the guest bytes again, so the GPU's output is
lost. On an RTX 3070 this also splits the first two draws of
agc_driver_address_passes into two passes.

A settled import that a live storage image overlaps now stays compared,
as every import under 1 MiB was before #6678. Imports with no image over
them still return to the write watch. Keeping the import compared, rather
than waiting for the image to go, checks each settled import against the
live images once instead of at every poll. The [buffers] line counts the
imports kept compared.

agc_import_settle_storage_image makes an image whose first upload imports
its block, waits for the settle read, clears the image on the GPU, then
refreshes and stores it. On the old code the refresh drops the clear.
2026-10-18 00:47:31 -07:00
TamaleroandClaude Opus 5.5 9f5efd4f97 test(libkernel): pass the release under test with its declared calling convention
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 00:46:13 -07:00
MrMha c91e90b966 feat: compute NIDs from UTF-8 symbol files or stdin 2026-10-18 11:39:05 +04:00
011010 479847104a docs(environment): name the readers the scanner recognises 2026-10-18 01:24:50 -06:00
011010 5f10ea8fbf docs(environment): add the rows for the names main added since the last rebase 2026-10-18 01:20:56 -06:00
husari.orozco fc14940647 docs(environment): add the rows the readers on main need 2026-10-18 01:14:35 -06:00
husari.orozco abec10fe2d fix(tools): catch the EnvInt and GetEnvironmentVariableA readers and take the review rows 2026-10-18 01:14:35 -06:00
husari.orozco d49b0fecf5 docs(environment): add the APS5_* and ANYPS5_* reference and check it 2026-10-18 01:14:35 -06:00
husari.orozco a084b22f23 feat(tools): cover both prefixes and report the kind and default 2026-10-18 01:14:34 -06:00
husari.orozco 5a0fbcd9dd feat(tools): list the APS5_* environment names the code reads 2026-10-18 01:14:34 -06:00
Romans Pokrovskis a2d6c16bcd fix(audio): route legacy vibration PCM with per-port timing 2026-10-18 10:07:29 +03:00
Dean 1c523bdb48 Merge pull request #6437 from fma-rc/fix/libkernel-amm-range-256
fix(libkernel): report a 256 GiB AMM range starting on a 64 GiB boundary
2026-10-18 20:03:09 +13:00
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
MrMha d19e3f125b feat: bound hardware-oracle comparison diagnostics 2026-10-18 10:21:05 +04:00
MrMha 71e1073128 feat: cache progress history by commit and counting rules 2026-10-18 10:20:26 +04:00
MrMha 71de464e18 feat: optionally fail import audits on referenced throwing stubs 2026-10-18 10:19:56 +04:00
MrMha 08c280a35b feat: filter configure checks included in cache seeds 2026-10-18 10:18:36 +04:00
MrMha b9a5d3dfc3 feat: explain saved test selections and fixture dependencies 2026-10-18 10:17:59 +04:00
MrMha 3e906dce25 feat: run independent syntax checks with configurable concurrency 2026-10-18 10:17:24 +04:00
MrMha 4ed7c7aeb6 feat: validate hardware-oracle inputs without GPU tools 2026-10-18 10:16:19 +04:00
MrMha 08156bb30c feat: filter trace digests by named event threads 2026-10-18 10:15:42 +04: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
MrMha a45b08a9cd feat: require matching recorded context in performance comparisons 2026-10-18 10:14:58 +04: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
Dean bb2624a533 Merge pull request #6395 from IshmamDC217/fix/trace-digest-missing-summary
fix(tools): fail when the trace_digest --summary file does not exist
2026-10-18 17:51:51 +13:00
Dean 55145c7a12 Merge pull request #7389 from AlexanderCalli/fix/trace-digest-window-totals
fix(tools): clip trace digest totals to the frame window
2026-10-18 17:51:47 +13: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