Commit Graph
14017 Commits
Author SHA1 Message Date
Romans Pokrovskis 9452485ffd test(agc): skip unsupported readback sample counts 2026-10-18 04:25:27 +03:00
Romans Pokrovskis ab52b02381 feat(agc): read individual multisample image samples 2026-10-18 04:25:26 +03:00
thuanquangandClaude Opus 5.5 0563713626 fix(agc): read a 32-bit depth-bits T# over guest memory through a float view
A sampled 32_UINT or 32_SINT T# with a depth swizzle that no live depth
surface matches threw, while the 16-bit case already falls back to guest
memory through an R16_UNORM view. The 32-bit case now reads the guest
bytes through an R32_SFLOAT view, which the shader casts back to the
stored dword.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 08:25:21 +07:00
Nikhil Panchal 304798015b fix(agc): harden host import construction and mutation waits
Guard incomplete imports and preserve mutation waiter errors and progress.

Follow-up to #2575; refs #2352.
2026-10-18 14:19:49 +13:00
Dean 0bb238b4a4 Merge pull request #7336 from thuanquang/fix/trace-thread-across-modules
fix(agc): keep one trace thread pointer and recording flag across modules
2026-10-18 14:15:36 +13:00
MarcZX100 f96cdc1e7e fix(libc): mark unimplemented NID handler as non-returning 2026-10-18 01:10:16 +00:00
thibautandClaude Opus 5.5 f27ad681ee test(agc): keep the resource cache growth test short
The test now sets a base bound of 32 entries and a first shrink window
of 2 (ResourceCache::SetBase, applied at the next Clear()) and turns
dispatch recipes off, so every dispatch goes through the cache: grow,
shrink, regrow, backoff and the Clear() reset take about 1.2k
dispatches instead of about 100k.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01XBXM4pgkMHYEtqN1EQni2P
2026-10-18 03:08:58 +02:00
BiladeiroSupremoandClaude Opus 5.5 859dcae2a1 fix(shader): reduce a DPP row scan read at a row's last lane over the active lanes
A row scan (DPP row_shr 1, 2, 4 and 8 over keys that hold the identity on
lanes the wave did not enter with) read with v_readlane at lane 15, 31, 47
or 63 shuffles from lanes that already left the surrounding loop, which are
inactive on the host and whose values are undefined there. The read becomes
a subgroup reduction over the active invocations of that row, per wave32
half when a wave64 host subgroup holds two waves. The saved exec mask set to
every lane (`!x || x`) also counts as every lane.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-17 22:05:35 -03:00
Dean 5229b5b829 Merge pull request #7333 from MarcZX100/codex/guest-filesystem-cleanup-retry-7331
test: retry transient Windows filesystem cleanup
2026-10-18 14:04:46 +13:00
Dean 4b2563e2ef Merge pull request #3186 from fma-rc/feat/libscejobmanager-compute
feat(libSceJobManager): implement compute sequences and compute dispatches
2026-10-18 14:04:33 +13:00
Romans Pokrovskis ba9aec5119 fix(shader): preserve clip arrays for tessellation control points 2026-10-18 01:00:55 +00:00
milescovielloandClaude Opus 5.5 563cdd6e99 test(agc): create fixture command pools with the reset flag
Seven test fixtures create their own command pool without
VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, while the driver's own
pool sets it and Recorder begins a used command buffer again without an
explicit reset. The Khronos validation layer reports
VUID-vkBeginCommandBuffer-commandBuffer-00050 in depth_storage and
partially_resident_snapshot --pending-stores for this. The fixtures now
create the pool the way VulkanDevice does.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 01:00:16 +00:00
Yunus Shaikh 32f480d361 Merge main into fix/agc-heap-mirror-replan-unwatched
Main registers agc_driver_lds_lock_budget where this branch registers
its heap mirror unwatch tests. Keep both.
2026-10-17 17:59:51 -07:00
Yunus Shaikh 49788713ac Merge #6243's head into perf/shader-image-table-reuse-v3-pr
#6243's new head merges main f1af6c5915, whose #7325 adds
verifyChainedTableOffset next to the selected-record tests this
branch carries from #6243. That test reads the record words from the
snapshot's shared word list; this branch keeps the words with each
table's snapshot, so the merge reads them from the table it checks.
2026-10-17 17:57:47 -07:00
Dean f663e565fe Merge pull request #7329 from oneandonlydean/fix/conventions-shader-comment-fixture
test(tools): check shader comments in one fixture repository
2026-10-18 13:56:58 +13:00
Dean 6336b0eabc Merge pull request #7326 from KauaSantos702/fix/check-compile-utf8-output
fix(tools): write check_compile output as UTF-8
2026-10-18 13:56:54 +13:00
Dean ba38dccb3d Merge pull request #6537 from AnthonyClemens/fix/agc-draw-snapshot-table-sets
fix(agc): keep each set's image table writes in its own draw snapshot…
2026-10-18 13:56:51 +13:00
Dean d9dc2a8231 Merge pull request #7218 from milescoviello/perf/fold-nested-select
perf(shader): fold a select nested in a select on the same condition
2026-10-18 13:56:46 +13:00
Dean e0644fbce1 Merge pull request #7212 from milescoviello/perf/denormal-free-guarded-products
perf(shader): drop the result flush of a product behind its tiny-product check
2026-10-18 13:56:43 +13:00
Dean e99938800e Merge pull request #7323 from MontyMcK/feat/psvr2-no-headset
feat(libSceHmd2): report a console without a PS VR2 headset
2026-10-18 13:56:39 +13:00
Dean 63da333b7a Merge pull request #4048 from Mouad-Scriptz-0/perf/recompiler-select-load-guards
perf(recompiler): select guest memory loads instead of branching around them
2026-10-18 13:56:36 +13:00
thuanquangandClaude Opus 5.5 5c3d21023f fix(agc): keep one trace thread pointer and recording flag across modules
PerformanceTrace kept the recording flag and each thread's trace buffer
as inline static members, so on Windows every module that includes the
header had its own copies: agc_driver_registration_trace read an empty
pointer, and libSceVideoOut's timers never saw the trace recording. They
are now defined once in the driver.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 07:50:57 +07:00
MarcZX100 087c57ac84 test: retry transient Windows filesystem cleanup 2026-10-18 00:45:12 +00:00
milescovielloandClaude Opus 5.5 6c47f92b52 fix(shader): pass clip distances through the rect-list stages as the vertex shader writes them
The recompiled vertex shader writes gl_ClipDistance through a variable of
its own beside its position block, but the rect-list control and
evaluation stages read and wrote it as a second member of their
per-vertex block, so the stage interfaces did not match
(VUID-RuntimeSpirv-OpVariable-08746). They now take and forward the clip
distances through ClipDistance variables of their own.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 00:43:33 +00:00
Ondra97 01b1664eb4 chore: update f64 minmax fix with current main 2026-10-18 02:42:18 +02:00
MarcZX100 06379ceac7 fix(shader): match barycentric tessellation clip interfaces 2026-10-18 00:37:36 +00:00
blu 5e340fa54d fix(relinker): append the test temp directory instead of replacing the environment
set_tests_properties replaced the ASAN_OPTIONS that add_asan_test_options appends to
guest_module_args, guest_deferred_dependencies and guest_module_fini in ASan builds.
Append the TMPDIR, TEMP and TMP settings instead.
2026-10-18 13:37:21 +13:00
Ondra97 397f43d042 test(agc): respect f64 denormal preservation support 2026-10-18 02:35:26 +02:00
Yunus Shaikh 8c6765be71 Merge main into perf/shader-direct-cpu-evaluable-images
Main's #7325 adds verifyChainedTableOffset to the image table tests
where this branch adds its selected-record tests. Keep both, with
main's call after this branch's.
2026-10-17 17:32:11 -07:00
Dean f1af6c5915 Merge pull request #7325 from Cleverdee/fix/image-table-nested-addend
fix(recompiler): fold chained immediate addends of image-table record offsets
2026-10-18 13:30:46 +13:00
Ondra97 c4e9c431b5 chore: merge main into f64 minmax denormal fix 2026-10-18 02:28:30 +02:00
Dean dfd7ad6d56 Merge pull request #6058 from notaxeltv/feat/libScePlayerSelectionDialog-ppsa34015
feat(libScePlayerSelectionDialog): run common-dialog state machine without UI
2026-10-18 13:26:44 +13:00
Dean 55366489fb Merge pull request #7276 from T3cm0/bionic/coredump-exports
feat(libkernel): implement three coredump exports from the console module
2026-10-18 13:26:40 +13:00
Dean eeea684a0b Merge pull request #7280 from T3cm0/bionic/mspace-reallocalign-order
fix(libc): take sceLibcMspaceReallocalign's alignment before its size
2026-10-18 13:26:35 +13:00
Dean 6eea4e0c2e Merge pull request #7282 from T3cm0/bionic/unlocked-stream-queries
feat(libc): implement clearerr_unlocked, fileno_unlocked and fgetln
2026-10-18 13:26:31 +13:00
Dean bf3b5d679d Merge pull request #4020 from MrMha/perf/linear-shader-use-rewrites
perf(shader): rewrite high-fan-out IR uses in linear time
2026-10-18 13:22:31 +13:00
MontyMcK 68355e4269 refactor(libSceHmd2): implement the exports where their stubs were 2026-10-18 13:20:55 +13:00
JJenkx bbc16577c9 fix(libc): share the guest SDK application allocator 2026-10-17 20:19:08 -04:00
fma-rc 394ac01946 fix(libSceJobManager): refuse shutdown with compute work in flight and check the handler wait 2026-10-18 02:14:02 +02:00
fma-rc 051a610798 feat(libSceJobManager): implement compute sequences and compute dispatches 2026-10-18 02:12:57 +02:00
Kaua 316ad40b46 fix(tools): write check_compile output as UTF-8 2026-10-17 21:07:01 -03:00
Yunus Shaikh ddf072e6f3 Merge main into fix/recompiler-once-per-pixel-sample-inputs
Main's EmitSetAttribute debt entry now says the generated rect-list and
barycentric tessellation stages forward the vertex shader's clip array.
It sits next to this branch's PERSP_SAMPLE and pixel position entries,
which main left as they were; keep main's entry and this branch's two.
2026-10-17 17:03:27 -07:00
Karan Vora db091f5fbb perf(videoout): don't hold a flip thread's CPU flips behind queued work
sceVideoOutSubmitFlip went through queue 0 as a one-packet command
buffer, so every CPU flip waited until the queue worker had translated
all command buffers submitted before it. The PS5 RADV WSI flips from its
own thread once the frame's fence has signaled. vkQuake keeps two frames
in flight, so by then the next frame's command buffer is already queued,
and the flip waited about 10 ms for the worker to translate it. Presents
came in pairs, about 4.7 ms and 29 ms apart. Meanwhile the title waited
in acquire for the flip to be shown, leaving the worker idle for about
7.5 ms per pair.

A CPU flip from a thread that has never submitted queue-0 work now goes
to the presenter at once, unless a command-buffer or EOP flip ahead of it
has not been reached yet. Such a thread can only know that its frame is
done by waiting for it. A flip from a thread that submits its own frames
still waits for the work submitted ahead of it, because a title that
flips without waiting for its frame relies on that order.
APS5_CPU_FLIP_IN_ORDER=1 orders every CPU flip.

vkQuake (PPSA99010) on an RTX 4060: 60 -> 72-74 presents per second,
present-interval standard deviation 12.2 -> 2.1 ms, and intervals over
25 ms 40% -> 1%.
2026-10-17 20:00:58 -04:00
Dean a8581d3331 Merge pull request #6769 from MrMha/fix/audit-test-aliases-20261016
fix: exclude test export aliases from import audit classification
2026-10-18 12:57:36 +13:00
Dean 97c37af020 Merge pull request #6239 from ArjenS-LA/fix/audit-named-homebrew-imports
fix(tools): audit ordinary homebrew import names
2026-10-18 12:57:29 +13:00
Dean 91bc3cc03b Merge pull request #6778 from MrMha/fix/audit-multiple-aliases-20261016
fix: classify every explicit export alias in import audits
2026-10-18 12:57:17 +13:00
Dean 54c5eff8ac Merge pull request #7308 from DavidSamir/feat/shader-barycentric-tessellation
feat(shader): emulate barycentrics through tessellation on devices without geometry shaders
2026-10-18 12:57:13 +13:00
Dean fc7b7e33b5 Merge pull request #6199 from valenciana-nc/fix/audioout-size-overflow
fix(libSceAudioOut): check the audio buffer size for 32-bit overflow
2026-10-18 12:57:10 +13:00
Dean fa982246d0 Merge pull request #7322 from MarcZX100/codex/relinker-macos-x86_64-7188-current
ci(relinker): test macOS x86-64 under Rosetta
2026-10-18 12:57:07 +13:00
Dean b2a503dbf8 Merge pull request #6766 from MrMha/fix/archive-parent-conflicts-20261016
fix: reject library archive file and directory conflicts
2026-10-18 12:57:04 +13:00