Commit Graph
5815 Commits
Author SHA1 Message Date
Dean d43e6bd663 Merge pull request #12185 from Gonic0/fix/recompiler-user-data-call-across-branches
fix(recompiler): link user-data calls whose target copy precedes forward branches
2026-10-29 07:27:53 +13:00
Adrià 46e54cf1f7 Merge pull request #10800 from slopgobblercobbler/fix/shader-diagnostics-dump-safety
fix(libSceAgcDriver): handle failed shader request dumps and uncapped skips
2026-10-28 18:15:01 +01:00
Adrià ecfad8e66c Merge pull request #11711 from danielcadev/fix/runtime-formatted-store-expansion
fix(shader): bound runtime formatted-store expansion
2026-10-28 17:35:31 +01:00
Adrià bf969dbdbe Merge pull request #11692 from JJenkx/fix/agc-partly-watched-depth-planes
fix(agc): track CPU writes in partly watched depth planes
2026-10-28 15:54:50 +01:00
Adrià 2f34dca5b3 Merge pull request #11638 from dantdmdarealguy/test/agc-skip-without-vulkan
test(agc): skip submit progress and pipelined metadata pass without a Vulkan device
2026-10-28 15:29:28 +01:00
Adrià 446bd8776c Merge pull request #11465 from valenciana-nc/fix/draw-index-count-overflow
fix(agc): reject quad-list and strip draws whose expanded index count overflows uint32
2026-10-28 15:20:14 +01:00
Adrià 26c20975ac Merge pull request #11369 from QRMOE/fix/agc-msaa-depth-buffer-write
fix(agc): release a resident multisample depth before a GPU buffer may write over it
2026-10-28 14:49:09 +01:00
Adrià bd15a91f99 Merge pull request #11696 from Astronaut10/perf/agc-shape-memo
perf(agc): repeat a draw shape's resident targets and pipeline instead of looking them up again
2026-10-28 14:49:03 +01:00
Dean 0c4d871f18 Merge pull request #12253 from Michael-KD/fix/fma-f32-denormal-modes
fix(shader): translate the fused f32 fma forms in f32 denormal mode 2
2026-10-29 00:32:38 +13:00
Dean 7d223dd6da Merge pull request #12252 from Michael-KD/fix/f32-rounding-frexp-denormal-modes
fix(shader): translate f32 fract, floor, ceil and frexp_mant in f32 denormal modes 1 and 2
2026-10-29 00:32:22 +13:00
Dean cabaf13705 Merge pull request #12256 from dantdmdarealguy/test/spirv-optimizer-scan-in-bounds
test(shader): keep agc_spirv_optimizer's stored-lane scan inside the module
2026-10-29 00:29:00 +13:00
Dean a8dc96323c Merge pull request #12244 from Tehshortbus/chore/agc-storage-writeback-log
chore(agc): log the storage writeback submit and done lines only with APS5_DEBUG_LOG
2026-10-29 00:28:08 +13:00
Dean 3a40945e62 Merge pull request #12298 from oneandonlydean/revert-11199-helper-lane-masks
revert(shader): restore pixel helper lanes in guest lane masks (#11199)
2026-10-28 22:57:31 +13:00
Dean 94341855b4 Merge pull request #11916 from Bram910/fix/shader-pack-mapping-ownership
fix(shader): preserve ownership of mapped shader pack entries
2026-10-28 22:53:02 +13:00
Dean 3917fa85ce Merge pull request #12188 from Gonic0/fix/shader-lds-lock-fences-moltenvk
fix(shader): fence the LDS lock's critical section on MoltenVK
2026-10-28 22:51:00 +13:00
Dean 0b9a019696 Merge pull request #12062 from Lancito01/fix/mesh-barycentric-builtins
test(agc): disable barycentric built-ins in the mesh barycentric emulation test
2026-10-28 22:45:24 +13:00
Dean 16e1b95117 Merge pull request #11973 from janzezno/fix/overlay-uniform-palette-index
fix(agc): pick the overlay's palette entry with constant indices again
2026-10-28 22:35:43 +13:00
Dean f1f61b4475 Merge pull request #11943 from GiannisG1/test/packed-unorm4444-merge-skip-without-formatless-reads
test(agc): skip the 4_4_4_4 partial write test without shaderStorageImageReadWithoutFormat
2026-10-28 22:32:44 +13:00
Dean 5ae16ad52b Merge pull request #11915 from Bram910/fix/pipeline-cache-recovery
fix(agc): recover pipeline cache persistence from transient failures
2026-10-28 22:30:07 +13:00
Adrià 316615d042 Merge pull request #10307 from mazen320/fix/submit-acb-queue-0x58
fix(agc): accept compute queue 0x58 on SubmitAcb
2026-10-28 10:19:36 +01:00
Adrià a444a18d93 Merge pull request #11507 from hugodearaujo/fix/agc-short-cube-sampling
fix(agc): sample cube descriptors with fewer than six slices as six faces
2026-10-28 10:14:50 +01:00
Dean b332780eec revert(shader): restore pixel helper lanes in guest lane masks (#11199)
This reverts merge 7fc0ae6008. On NVIDIA, where helper lanes take part in ballots, clearing helper bits from every pixel ballot breaks derivatives along triangle edges (bright lines and specks on a cloud surface in PPSA21564). See the report on #11199.
2026-10-28 22:11:10 +13:00
Adrià 03fcf738b6 fix(libSceAgcDriver): make reportSkip reachable from the shader diagnostics test 2026-10-28 09:50:47 +01:00
slopgobblercobbler 9de5c3a851 fix(libSceAgcDriver): handle failed shader request dumps and uncapped skips 2026-10-28 09:50:43 +01:00
Adrià 5b8ba7b929 Merge pull request #11443 from JJenkx/feat/agc-compute-inspection-20261026
feat(agc): inspect captured compute pipeline statistics
2026-10-28 09:41:21 +01:00
Dean 87b810a1db Merge pull request #12211 from XairRrR/fix/shader-paired-wave-zero-branch
fix(recompiler): take a paired wave64 zero branch when some invocations are inactive
2026-10-28 21:32:27 +13:00
Dean 78360959ee Merge pull request #12137 from dantdmdarealguy/fix/agc-same-queue-label-epoch
fix(agc): start no collect epoch at a wait whose own queue's label already reached memory
2026-10-28 21:32:09 +13:00
Dean 3952092d74 Merge pull request #12209 from XairRrR/fix/agc-queue0-after-async-wait-free
fix(agc): run queue 0 work after earlier wait-free async submissions
2026-10-28 21:31:54 +13:00
Adrià a13ee2ddd1 Merge pull request #10498 from dotaku22/contribution/agc-committed-read-mapping
fix(agc): tolerate mapping changes during committed snapshots
2026-10-28 09:25:29 +01:00
Adrià 4a7c749047 fix(agc): leave the capture error buffer width to #7555 2026-10-28 08:59:32 +01:00
Maz 5d45d2cab7 fix(agc): name unmeasured queue end and drop debt duplicates 2026-10-28 08:59:28 +01:00
Maz 683b3497de fix(agc): limit 0x58 acceptance to SubmitAcb
Keep MultiAcbs and CommandBuffer on the unmeasured 0x57 exclusive end; split the debt entries and retain the title call-sites.
2026-10-28 08:59:28 +01:00
Maz 051b3e017b fix(agc): accept compute queue 0x58 on SubmitAcb
A PS5 measurement already recorded in the debt note shows queue 0x58 succeeds; raise the exclusive SubmissionQueueEnd and cover it in agc_driver_tests.
2026-10-28 08:59:28 +01:00
Adrià 7fc0ae6008 Merge pull request #11199 from QRMOE/fix/shader-pixel-helper-lane-masks
fix(shader): keep pixel helper lanes out of guest lane masks
2026-10-28 08:54:16 +01:00
AdriàandClaude Sonnet 5.5 fb4cc4e7cf fix(agc): run agc_repeat_storage_guard with libc on the Windows PATH
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-28 08:33:45 +01:00
Cesar MoraandClaude Opus 5.5 3181021a4f test(agc): a repeated storage surface refuses a guarded target past its first byte as its lookup does
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-28 08:33:41 +01:00
Cesar MoraandClaude Opus 5.5 91d601ecd0 fix(agc): guard a repeated storage surface over its whole range, as its lookup does
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-28 08:33:40 +01:00
Cesar MoraandClaude Opus 5.5 46366e060a test(agc): a touched pipeline is returned as a store hit and stays recently used
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-28 08:33:40 +01:00
Cesar MoraandClaude Opus 5.5 2b349ff156 perf(agc): repeat a draw shape's resident targets and pipeline instead of looking them up again
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-28 08:33:40 +01:00
AdriàandClaude Sonnet 5.5 0f8ac231b0 test(agc): report the device limitation when pipeline inspection skips
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-28 08:27:19 +01:00
JJenkx cc59cb7b93 test(agc): skip pipeline inspection when Vulkan is unavailable 2026-10-28 08:27:12 +01:00
JJenkx b971004857 feat(agc): inspect captured compute pipeline statistics 2026-10-28 08:27:11 +01:00
Dean b99bbebacd Merge pull request #11839 from oneandonlydean/wolverine/agc-driver-micro-perf
perf(agc): reuse context register storage and keep the shadow live-unit count
2026-10-28 20:11:36 +13:00
Dean a734b350f1 Merge pull request #8091 from JJenkx/fix/agc-import-allocation-error-budget
fix(agc): pin the import ceiling only on memory exhaustion
2026-10-28 20:11:23 +13:00
Adrià fddf0ffb75 Merge pull request #9129 from EagleBearerYS/fix/agc-draw-cache-byte-budget
fix(agc): bound the draw cache by bytes
2026-10-28 08:07:42 +01:00
JJenkxandClaude Opus 5.5 771dbdfec2 style: drop a code comment that is not technical debt
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-28 02:26:09 -04:00
dantdmdarealguy 556aa8098d test(shader): keep agc_spirv_optimizer's stored-lane scan inside the module
storedLaneFunction took &words[offset + 1] for every instruction,
including the final one-word OpFunctionEnd, where offset + 1 equals
words.size(). GCC 15 and later define _GLIBCXX_ASSERTIONS in unoptimized
builds, so agc_spirv_optimizer, agc_spirv_optimizer_full and
agc_spirv_optimizer_none abort in every Debug build with
"Assertion '__n < this->size()' failed". Form the operand pointer from
words.data(); operands are still read only for instructions that have
them.
2026-10-28 00:40:42 -05:00
Dean 00e85fea39 Merge pull request #10348 from oneandonlydean/perf-D2-v47
fix(agc): clamp an exported pixel depth to the viewport depth range
2026-10-28 18:25:05 +13:00
Dean ccfb96757f Merge pull request #11307 from dantdmdarealguy/perf/agc-depth-plane-copies-recent-presents
perf(agc): keep recently sampled depth plane copies up to twice the budget
2026-10-28 18:17:14 +13:00
Michael Krumland-DunningandClaude Opus 5.5 254d7b416f fix(shader): translate the fused f32 fma forms in f32 denormal mode 2
v_fma_f32, v_fmac_f32, v_fmamk_f32 and v_fmaak_f32 threw "f32 denormal
mode 2 is not implemented" whenever FLOAT_MODE flushed f32 denormal
inputs but kept denormal results.

On RDNA2 (gfx1036) at round to nearest even, mode 2 flushes the inputs
and rounds the fused result once with gradual underflow, which the host's
Fma gives under DenormPreserve 32. The translation now matches all 5,596
measured triples for the four forms at IEEE 0 and 1. Mode 1 keeps
throwing: there the hardware flushes a result that is tiny after rounding
with an unbounded exponent even when the addend is nonzero.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-27 22:05:57 -07:00