Commit Graph
14017 Commits
Author SHA1 Message Date
Amirtheshwaran Navaneethakrishnan 3699eff904 fix(libkernel): round mincore address down as FreeBSD does
Follow FreeBSD 11's sys_mincore by rounding unaligned address down to page boundary rather than returning EINVAL. Update guest memory test and document unmodeled residency/referenced/modified bits in libkernel technical debt.
2026-10-14 14:40:08 +02:00
Amirtheshwaran Navaneethakrishnan 7781eda113 feat(libkernel): implement mincore
Implement mincore (+hFjyohmOU0) in libkernel following FreeBSD 11's sys_mincore (sys/vm/vm_mmap.c). Validate page alignment, return EFAULT for null vector, check range bounds and residency via sceKernelVirtualQuery, and report MINCORE_INCORE (1) for resident pages. Required by Java 25 LAN / DNS (PPSA99869).
2026-10-14 14:40:08 +02:00
Adrià e2eebdb72a Merge pull request #5824 from adriadam10/revert/5089-waterfall
Revert #5089: agc_driver_waterfall_images fails SPIR-V validation on main
2026-10-14 14:39:35 +02:00
Adrià FranchandClaude 353094a254 Revert "Merge pull request #5089 from fdfawef324/feat/recompiler-waterfall-descriptors"
agc_driver_waterfall_images fails on main since fd438f663: its compute shader
runs an LOD query with a local size of 8x1, and the module gets
DerivativeGroupQuadsKHR, which SPIR-V validation rejects unless both
dimensions are even (VUID-StandaloneSpirv-DerivativeGroupQuadsKHR-10151).

This reverts commit fd438f663, reversing changes made to 51031742e.

Co-Authored-By: Claude <[email protected]>
2026-10-14 14:38:28 +02:00
boykopovar 381fa71f2f chore(docs): update readme collage hk 2026-10-14 15:36:40 +03:00
MarcZX100 a44689c480 fix(libScePlayGo): report missing chunk metadata 2026-10-14 12:33:51 +00:00
ps54allandClaude Opus 5.5 61e10efbd6 feat(libSceCesCs): convert EUC-JP (CP51932) strings through a profile context
sceCesUcsProfileInitEucJpCp51932 returns a profile for EUC-JP, and
sceCesMbcsUcsContextInit now keeps the profile in the context. The
multibyte string conversions (UTF-8, UCS-2, their length queries) and
sceCesEucJpToUcs2 convert ASCII and the JIS X 0201 half-width katakana
for that profile, and every character for the existing CP1252/CP1251
profiles. Two- and three-byte JIS X 0208/0212 characters throw, since
their mapping table is not present.

Metal Gear Solid 4 Master Collection (PPSA18194) imports the set in its
game executable, which fails to load without it.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-14 14:32:42 +02:00
boykopovar 069537d1c5 ci(linux): move builds to self-hosted runner with persistent caches 2026-10-14 15:31:22 +03:00
AlxcBTWandClaude Opus 5.5 48cdce9922 perf(agc): note an address space's in-place reads by reference
Every address-based build copied the cached address space's imported
ranges (about 9000 in Sword of the Sea gameplay) into its batch as pending
reads, only for the copy HLE's reader check to scan them. The space now
builds that list once, and a build that took the space whole notes it by
reference (Recorder::NotePendingReadList); its own ranges follow as before.

The space is immutable while its serial lives, the list equals the space's
part of InPlaceReads in its order, and the batch scans plain reads and lists
in note order, a list by bisection, so every PendingReadOverlaps and
DescribePendingRead answer and reader kind stay the same. A capture trace or
APS5_FLIP_READ_CHECK expands the list as before.

Tests: lists noted by reference answer like the same ranges noted one by one
(open and in-flight scans, kinds, a list noted twice, empty and null lists);
the space's list is shared while the registry stands and rebuilt when a range
is added or removed.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-14 14:30:19 +02:00
Adrià 9a3e2ac4da Merge pull request #5187 from p3n1cillin/claude/getrlimit-nofile
feat(libkernel): report RLIMIT_NOFILE through getrlimit
2026-10-14 14:27:42 +02:00
David-cmrg baf02ca904 fix(tests): skip the host mlock checks of guest_mlock in the ASan build 2026-10-14 14:25:32 +02:00
JJenkx 8c0c449173 feat(videoout): present reserved flips from tagged GPU completion
Rebased onto main as one commit (conflicts in debt notes, Presentation.cpp includes and Submission.cpp helpers).
2026-10-14 14:22:36 +02:00
lorkydey aac3485cc4 feat(tools): compare performance capture summaries 2026-10-14 14:22:27 +02:00
Adrià 2aad306825 Merge pull request #5546 from alexpournaras/feat/ces-profile-cp1250
feat(libSceCesCs): declare sceCesRefersUcsProfileCp1250
2026-10-14 14:22:07 +02:00
Adrià 956269ad1a Merge pull request #5470 from p3n1cillin/claude/ngs2-custom-sampler-state
feat(ngs2): report custom sampler voice state
2026-10-14 14:20:02 +02:00
Adrià 1015c55ee8 Merge pull request #5324 from lubaxe/feat/agc-store-pending-at-label
feat(agc): store pending storage-image results before each GPU label with APS5_STORE_AT_LABEL
2026-10-14 14:18:57 +02:00
Adrià e736e5bdb1 Merge pull request #5156 from pushkarreddyy/feat/agc-sampler-secondary-lod-bias
feat(libSceAgcDriver): support secondary LOD bias and relax unnormalized coordinate filters
2026-10-14 14:13:05 +02:00
Adrià 73019eb077 Merge pull request #5355 from pushkarreddyy/feat/nid-names-symbol-option
feat(tools): add --name option to nid_names to compute symbol NIDs
2026-10-14 14:11:34 +02:00
Josip Parlov 99e5ef9803 feat(tools): trace_digest lists the largest GPU batches with the CPU slices that recorded them
With batch ids in the trace, the digest gains a Largest GPU batches
section: for the longest GPU batch slices, the GPU ranges inside each and
the CPU slices carrying the same batch id, inclusive. --json carries it as
largest_gpu_batches. Traces without batch ids are digested as before.
2026-10-14 14:08:52 +02:00
Adrià 97eab6e63b Merge pull request #5430 from Prophet069/codex/pr-strict-provider-audit-20261013
feat(tools): fail import audits on strict provider mismatches
2026-10-14 14:08:31 +02:00
Adrià cba0746e68 Merge pull request #5408 from AlxcBTW/diag/resource-key-miss-trace
feat(agc): count which key component differs on resource-content cache misses
2026-10-14 14:08:15 +02:00
Adrià ecdcf34f75 Merge pull request #5406 from tibzejoker/feat/relinker-report-all-unresolved-imports
feat(relinker): report every unresolved ELF import before failing on Windows
2026-10-14 14:07:46 +02:00
Adrià 3b1ea78b9b Merge pull request #5380 from AlxcBTW/perf/agc-constant-dword-fill
perf(agc): take a dword fill of any inline constant as a buffer fill
2026-10-14 14:07:16 +02:00
snipeTRandClaude Opus 5.5 ea80fe17f7 feat(libSceVoice): implement sceVoiceResetPort
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-14 15:05:58 +03:00
Adrià cd65bfafe2 Merge pull request #5249 from SleglJan/perf/sparse-run-import
perf(agc): bind a sparse descriptor heap's committed run in place from its import
2026-10-14 14:05:10 +02:00
Adrià da4d5f2e6f Merge pull request #5168 from Dextroid17/feat/check-main-sync
feat(tools): report whether a branch is in step with main
2026-10-14 14:02:56 +02:00
Adrià Franch 32a11a57d1 docs(libc): move the fegetenv debt line off the end of its section 2026-10-14 14:02:31 +02:00
Karim IbrahimandClaude Opus 5.5 f49c54243f refactor(libc): move fegetenv and its test out of the lines #5495 changes
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-14 14:02:31 +02:00
Karim IbrahimandClaude Opus 5.5 34cf0e223f test(libc): cover fegetenv with a null environment and pending x87 flags
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-14 14:02:31 +02:00
Karim IbrahimandClaude Opus 5.5 74b93adb6c feat(libc): implement fegetenv
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-14 14:02:31 +02:00
Adrià 067f4f6147 Merge pull request #5116 from sanxchep/perf/relinker-streamed-scans
perf(relinker): stream scans and reuse executable buffers
2026-10-14 14:02:10 +02:00
Adrià fd438f663d Merge pull request #5089 from fdfawef324/feat/recompiler-waterfall-descriptors
feat(recompiler): plan waterfall loops over per-lane T#s as non-uniform tables
2026-10-14 14:01:42 +02:00
Adrià 51031742e4 Merge pull request #5046 from parl0v/feat/trace-batch-ids
feat(agc): trace slices and GPU ranges carry the recorder batch they belong to
2026-10-14 14:00:55 +02:00
Adrià 2e9ef83a5f Merge pull request #5042 from LeandroLP23/docs/progress-history-counts
feat(tools): plot counts in the progress history chart
2026-10-14 14:00:37 +02:00
Adrià 905f197966 Merge pull request #4979 from AlxcBTW/perf/bda-writable-writes-space-table
perf(agc): bind the address space's BDA table for writes inside writable imports
2026-10-14 14:00:09 +02:00
Adrià e9a985db1a Merge pull request #4969 from fdfawef324/feat/agc-pm4-capture-replay
feat(agc): capture submissions and replay their decode and wait releases offline
2026-10-14 13:59:22 +02:00
Adrià c7844d9cb5 Merge pull request #4948 from fdfawef324/perf/recompiler-giant-compute
feat(recompiler): reuse pure IR values recomputed in dominated blocks
2026-10-14 13:59:06 +02:00
Adrià 0fd6f62444 Merge pull request #4931 from poonasor/perf/shader-group-adjacent-bda-loads
perf(shader): read adjacent BDA dword loads of one block through one span read
2026-10-14 13:58:38 +02:00
Adrià cc8cb39228 Merge pull request #4900 from TideOPL/perf/same-queue-label-epoch
perf(agc): start no collect epoch at a wait its own queue's stored label satisfies
2026-10-14 13:58:23 +02:00
Adrià 42e3b32def Merge pull request #4889 from Dripl1x/codex/agc-pending-write-snapshots
perf(agc): extend pending write snapshots incrementally
2026-10-14 13:57:55 +02:00
Adrià 781b33d3ca Merge pull request #4821 from Lorkydey/feat/shader-vertex-user-data-tail
feat(shader): link raw vertex prologs through user-data tails
2026-10-14 13:57:10 +02:00
Adrià 968d326869 Merge pull request #4783 from Scramblrrrr/codex/resource-key-capacity
perf(agc): reserve resource keys for their serialized payload
2026-10-14 13:56:39 +02:00
Adrià b8f42c5aed Merge pull request #4593 from Recapi/feat/relinker-linux-fixed-base
feat(relinker): load Linux executables at a fixed base
2026-10-14 13:56:07 +02:00
MarcZX100 83d3a71aea perf(shader): reuse packed f16 operand lanes 2026-10-14 11:55:40 +00:00
Ondra97 1effd67b70 feat(agc): configure trace event buffers 2026-10-14 13:53:57 +02:00
Josip Parlov fa4fc23471 test(agc): stream copy kernel match, refusals and HLE path
The stream copy kernel is matched by its 16 code words instead of a hash, and the
match and its range checks become free functions (MatchesStreamCopyKernel,
StreamCopyRange) so a test can reach them. Its loads and stores are format
instructions, so the match also requires the descriptor the pattern fill takes:
32_32_32_32_UINT, XYZW selects, no add-tid, out-of-bounds mode 0, type 0. Copy
paths are counted in copyPathCounts whether or not APS5_PROFILE_DRAW is set.

agc_driver_stream_copy checks the match against every word with a bit flipped,
the descriptor and dispatch refusals, the range clamp and refusals, and runs nine
dispatches through the driver: four must take the HLE path and copy elements
g*128+t and g*128+64+t, five must be refused for their shape and leave the
shader's result.
2026-10-14 13:53:16 +02:00
xXPBSXxandClaude Sonnet 5.5 5a7f183a3d fix(libSceAgcDriver): return 0 from sceAgcDriverRegisterDefaultOwner
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-14 13:52:32 +02:00
1402c6c1d8 feat(agc): report device losses with VK_EXT_device_fault and dispatch checkpoints
A device that supports VK_EXT_device_fault reports, on the first
VK_ERROR_DEVICE_LOST a check sees, the fault description, the faulting
addresses (invalid reads and writes, or the instruction pointers of waves
still running when the device hung) and the vendor fault codes.
APS5_GPU_CHECKPOINTS=1 records a VK_NV_device_diagnostic_checkpoints
marker with the program address before each guest dispatch and prints the
last markers the GPU reached, which names the dispatch that hung. Without
either extension nothing changes.

Test: agc_device_fault drives the report through mock
vkGetDeviceFaultInfoEXT and vkGetQueueCheckpointDataNV entry points.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
Co-authored-by: overlordxrz-source <[email protected]>
2026-10-14 13:50:52 +02:00
Adrià 344afad05b Merge pull request #5807 from adriadam10/ci/build-closed-pr
ci(build): skip the pull request build of a pull request already closed
2026-10-14 13:50:41 +02:00
Adrià FranchandClaude e53b574782 ci(build): skip the pull request build of a pull request already closed
Co-Authored-By: Claude <[email protected]>
2026-10-14 13:50:34 +02:00