Commit Graph
20967 Commits
Author SHA1 Message Date
Adrià 061cdb66b0 Merge pull request #11702 from milescoviello/test/agc-rewind-patch
test(agc): cover the REWIND packet and its rewind state patches
2026-10-28 05:00:13 +01:00
Adrià ed94f8443f Merge pull request #11699 from Filip722/perf/shader-pixel-entry-mask
perf(shader): reuse starting pixel lane predicates
2026-10-28 04:59:08 +01:00
Nicolas GonzalezandClaude Opus 5.5 c89d1467de test(recompiler): shut the driver down at the end of the user-data call after branch test
Without it the driver's device is destroyed after main returns, and the
Vulkan validation layer aborts the test on exit.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-28 00:57:26 -03:00
Adrià 2a81f0969f Merge pull request #11691 from hugodearaujo/fix/agc-msaa-format36-sampled
fix(agc): sample a multisampled 11_11_10 float texture in its sampled format
2026-10-28 04:57:02 +01:00
Adrià a31b527125 Merge pull request #11693 from milescoviello/test/agc-dma-data-patches
test(agc): cover the address words the DMA data patch setters write
2026-10-28 04:55:58 +01:00
Adrià dd508d19e2 Merge pull request #11701 from milescoviello/test/agc-create-shader
test(agc): cover sceAgcCreateShader's relative pointers, program address patch and registration
2026-10-28 04:54:54 +01:00
Adrià 6db75895fb Merge pull request #11695 from milescoviello/test/ampr-event-queue-size
test(libSceAmpr): check the measured kernel event queue command size against the recorded one
2026-10-28 04:51:48 +01:00
Adrià a00e826a27 Merge pull request #11690 from JJenkx/fix/agc-depth-plane-fresh-collect
fix(agc): collect fresh CPU writes before depth plane stores
2026-10-28 04:49:43 +01:00
Felipebmaitan 4ba0a6f9c4 chore: integrate current main for guest-signal-cancellation 2026-10-28 00:48:38 -03:00
Adrià 957a22d51f Merge pull request #11688 from milescoviello/test/batch-map-fixed
test(libkernel): cover sceKernelBatchMap mapping and unmapping at the given starts
2026-10-28 04:41:33 +01:00
Adrià 6694ea83ba Merge pull request #11687 from milescoviello/test/ampr-write-address
test(libSceAmpr): cover the versioned write-address command, its sizes and the buffer type
2026-10-28 04:40:26 +01:00
XairRrR 86f97e8ac4 fix(recompiler): take a paired wave64 zero branch when some invocations are inactive
A wave64 program held as 32 invocations x 2 lanes decided s_cbranch_execz,
s_cbranch_vccz and s_cbranch_scc0 by balloting the per-lane "zero"
condition and requiring all 64 bits set. OpGroupNonUniformBallot sets the
bit of an inactive invocation to 0 (SPIR-V specification,
OpGroupNonUniformBallot: "The bit is set to one if the corresponding
invocation is active and the Predicate for that invocation evaluated to
true; otherwise, it is set to zero"), and an invocation that returned
from the entry point is no longer active. When one invocation stopped,
e.g. after a BDA fault, the zero branch was never taken for the others:
a loop leaving through s_cbranch_execz never ended.

The RDNA2 ISA branches when the whole register is zero ("if (EXEC == 0)",
"if (VCC == 0)", "if (SCC == 0)", SOPP S_CBRANCH_EXECZ / VCCZ / SCC0), so
the branch now asks whether any active invocation still has a lane with
the bit set, as the wave32 path does: not any(own lane set || other
lane set). Inactive invocations then count as lanes with the bit clear.
The non-zero kinds keep any(own || other).

The execution test runs a wave64 program in which lane 0 faults and
stops its invocation, then takes each zero and non-zero branch; before
this change the other lanes fell through all three zero branches.

AI-assisted: yes
2026-10-28 04:37:56 +01:00
Adrià 1829def9bf Merge pull request #11672 from StoneDC/fix/oracle-report-bom
fix(tools): accept UTF-8 BOMs in oracle reports
2026-10-28 04:33:10 +01:00
Dean facac6a4c5 Merge pull request #12192 from oneandonlydean/revert-10809-direct-memory
Revert "report 12 GiB of direct memory" (#10809): PPSA21564 runs out of direct memory
2026-10-28 16:29:14 +13:00
Adrià f321bb8d56 Merge pull request #11674 from milescoviello/test/agc-acquire-mem
test(agc): cover the DCB and ACB acquire-mem packets, their range rounding and refusals
2026-10-28 04:28:09 +01:00
Adrià 5aadbcfc96 Merge pull request #11670 from StoneDC/fix/web-release-metadata
fix(tools): validate web release metadata before publication
2026-10-28 04:28:04 +01:00
Adrià 5c8beca92c Merge pull request #11676 from al3w0f205/test/net-getsockopt-null-and-bad-descriptor-coverage
test(libSceNet): cover null length pointer and invalid descriptor in socket option calls
2026-10-28 04:27:01 +01:00
Adrià 1a551c48ee Merge pull request #11675 from milescoviello/test/agc-dispatch-packets
test(agc): cover the graphics and compute dispatch-indirect and direct dispatch packets
2026-10-28 04:26:56 +01:00
XairRrR c6e74df78d fix(agc): run queue 0 work after earlier wait-free async submissions
Wait-free submissions on other queues ran on their own workers with no
order against queue 0, so a queue 0 submission received after them
could execute first. Uncharted: The Lost Legacy submits small compute
jobs on queue 0x50 and reuses their command and descriptor memory once
later queue 0 work has passed; with the async job up to a second late,
it read recycled memory (garbage descriptors, BDA faults, a zeroed PM4
buffer) while loading Sri Lanka. A queue 0 submission now waits until
no wait-free submission received before it is pending or executing on
another queue. Submissions that wait for something, and the wait-free
ones queued behind them, are not waited for, since they can wait for
this queue 0 work.

Uncharted 4's menu fps is unchanged (10.21 vs 10.24, two runs each).
Tests: testQueue0SubmissionAfterEarlierWaitFreeWork and
testQueue0SubmissionBehindWaitingQueue.

AI-assisted: yes
2026-10-28 04:22:20 +01:00
hyvvs 9c8405acc5 fix(tools): classify separate environment reads independently 2026-10-28 04:21:59 +01:00
Adrià 439d03db38 Merge pull request #11663 from Danigamer05/feat/libc-stdc-count-ones
feat(libc): add C23 count-ones exports
2026-10-28 04:19:47 +01:00
Felipebmaitan aa64282ba1 fix(libSceFreeType): declare advance queries in public API 2026-10-28 00:19:30 -03:00
Felipebmaitan 22a61ee3cd chore: merge current main for public export headers 2026-10-28 00:18:52 -03:00
Adrià 86fb985abb Merge pull request #11667 from StoneDC/fix/symbolizer-module-candidates
fix(tools): select matching sampled module candidates
2026-10-28 04:15:40 +01:00
Felipebmaitan c4e614037b Merge branch 'main' of https://github.com/boykopovar/AnyPS5 into feat/freetype-advance-queries 2026-10-28 00:15:18 -03:00
Adrià 3ca715ee15 Merge pull request #11666 from StoneDC/fix/annotate-input-alias
fix(tools): preserve annotation input modules
2026-10-28 04:12:34 +01:00
rooklz 72eb12c5c1 fix(tools): report unreadable --body and --event inputs in check_conventions as usage errors 2026-10-28 03:10:29 +00:00
Adrià ae0e0a284b Merge pull request #11660 from al3w0f205/test/file-timestamps-invalid-fd-coverage
test(libkernel): cover invalid usec and bad descriptor validation in futimes
2026-10-28 04:08:25 +01:00
Yunus Shaikh 332b5f3d28 Merge main into fix/agc-draw-cache-byte-budget
# Conflicts:
#	core/libs/prx/libSceAgcDriver/Execution/src/Driver/Draw/DrawCacheStatistics.cpp
2026-10-27 20:08:17 -07:00
Adrià f1f1737371 Merge pull request #11647 from B-Howell/codex/libc-strtoq
feat(libc): implement strtoq
2026-10-28 04:06:20 +01:00
pushkarreddyy f3a612cd5e fix(tools): reject aliased report output paths in progress_history 2026-10-28 08:35:43 +05:30
pushkarreddyy 5ceaa3c276 test(tools): cover report alias rejection in progress_history 2026-10-28 08:35:38 +05:30
MarcZX10 c753d8193c test(tools): unwrap a SELF whose load segments share one file range
The conversion has to be refused with the output-size message and leave no
output file.
2026-10-28 03:05:36 +00:00
MarcZX10 664e66e12c fix(tools): refuse a SELF whose load segments expand the output far past the container
unwrap_self copies one output region per PT_LOAD and nothing required the
regions to be disjoint in the input. Only the alignment padding was capped, so
200 PT_LOADs that all point at the same 2 MiB of a 2 MiB container produced
400 MiB, and the 65535 program headers the parser accepts could ask for
hundreds of gigabytes, ending in MemoryError or an OOM kill instead of a
Refused message.

The output size is now checked before the buffer is allocated. It may be up to
four times the container, and never less than 256 MiB.
2026-10-28 03:05:36 +00:00
Adrià 1092ba2720 Merge pull request #11658 from al3w0f205/test/net-socket-invalid-descriptor-coverage
test(libSceNet): cover bad file descriptor rejection in socket close
2026-10-28 04:01:22 +01:00
Adrià 3bbb68c187 Merge pull request #11657 from al3w0f205/test/current-cpu-null-thread-affinity
test(libkernel): cover null thread handle and mask validation in thread affinity
2026-10-28 04:01:17 +01:00
Adrià 5175257b05 Merge pull request #11652 from al3w0f205/test/pthread-cond-recursive-mutex-null-coverage
test(libkernel): cover null pointer and invalid type validation in mutex attributes
2026-10-28 04:01:12 +01:00
Adrià 5402720e5d Merge pull request #11654 from al3w0f205/test/cpu-time-clocks-invalid-id-coverage
test(libkernel): cover null pointer and invalid clock id in clock gettime and getres
2026-10-28 04:00:12 +01:00
Adrià 4a4c260603 Merge pull request #11659 from al3w0f205/test/directory-rewind-invalid-fd-coverage
test(libkernel): cover double close and invalid file descriptor rejection in sceKernelClose
2026-10-28 03:59:07 +01:00
Adrià 09d952f0eb Merge pull request #11651 from al3w0f205/test/audio3d-parameters-null-coverage
test(libSceAudio3d): cover terminate when uninitialized and positive reserved parameter
2026-10-28 03:53:51 +01:00
Adrià 19f71094a7 Merge pull request #11650 from al3w0f205/test/font-style-info-null-checks-coverage
test(libSceFont): cover invalid font handle in font scale slant and dpi getters
2026-10-28 03:50:04 +01:00
Adrià 9f8c14959e Merge pull request #11649 from al3w0f205/test/font-outline-profile-null-checks-coverage
test(libSceFont): cover parameter validation in sceFontDestroyLibrary and sceFontMemoryTerm
2026-10-28 03:49:59 +01:00
Adrià 603d4ccc66 Merge pull request #11648 from al3w0f205/test/font-metrics-null-checks-coverage
test(libSceFont): cover invalid font handle in effect weight and scale setters
2026-10-28 03:49:53 +01:00
Adrià a37797da92 Merge pull request #11637 from B-Howell/codex/videoout-display-index-current-main
feat(libSceVideoOut): allow selecting the initial display
2026-10-28 03:49:48 +01:00
Adrià 06b8a508aa Merge pull request #11646 from al3w0f205/test/ces-mbc-null-source-coverage
test(libSceCesCs): cover null source buffer rejection in mbc conversions
2026-10-28 03:49:43 +01:00
Adrià 747bc3a65d Merge pull request #11645 from al3w0f205/test/ces-japanese-null-checks-coverage
test(libSceCesCs): cover null source and destination checks in Japanese conversions
2026-10-28 03:46:39 +01:00
Dean Galvin 97f1d41a2c Revert "Merge pull request #10809 from frankea/fix/direct-memory-12gib"
This reverts commit 780b33aea3, restoring the 13824 MiB direct memory pool.

With the pool at 12288 MiB, Astro Bot (PPSA21564) can no longer load its
level: DirectMemoryAllocator asserts "Can't allocate direct memory" for a
64 MB VideoPlayerTexture with 12228 of 12288 MB in use, then the process
faults about 26 s in (2 of 2 runs, RTX 4090, Linux, main cccdaa2734).
The same tree with only this merge reverted runs the full 150 s with no
direct memory assert (2 of 2 runs).
2026-10-28 15:45:26 +13:00
Adrià a3ac94774e Merge pull request #11622 from BunnyFl/fix/import-audit-lazy-branch-variants
fix(tools): read preprocessor branch combinations lazily in import_audit
2026-10-28 03:39:32 +01:00
Adrià 17058c004c Merge pull request #11641 from al3w0f205/test/camera-settings-invalid-channel-coverage
test(libSceCamera): cover out-of-range channel rejection in settings getters and setters
2026-10-28 03:38:29 +01:00
Nicolas GonzalezandClaude Opus 5.5 2f25ab919f fix(shader): fence the LDS lock's critical section on MoltenVK
SPIRV-Cross emits the lock's acquire compare-exchange and release
exchange as relaxed Metal atomics, so the plain LDS loads and stores of
a locked 64-bit update were not ordered against the lock and contended
ds_add_u64 lost updates on an Apple M5 Pro. On MoltenVK the driver now sets
SpirvTarget::ldsLockFences, and the lock brackets its critical section
with workgroup-scope acquire and release OpMemoryBarriers, which become
threadgroup atomic_thread_fence with no execution barrier.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-27 23:37:56 -03:00