Commit Graph
1350 Commits
Author SHA1 Message Date
Dean 097e86df8b Merge pull request #10779 from stuart-russell/fix/agc-zero-export-format
fix(agc): a zero color export format is not a color export
2026-11-05 08:19:21 +13:00
Dean de5f875cab Merge pull request #15783 from mrfelek/perf/agc-moved-input-snapshot-cap
perf(agc): keep moved read-only draw inputs within the draw snapshot cap
2026-11-05 08:18:55 +13:00
Dean 020377bf9b Merge pull request #14265 from Astronaut10/perf/shader-vertex-specialized
perf(shader): emit vertex modules specialized instead of in registration form
2026-11-05 08:18:17 +13:00
mrfelek cac7977ba0 perf(agc): keep moved read-only draw inputs within the draw snapshot cap
A cached draw whose read-only inputs moved (MovedReadOnlyBuffers) snapshotted the moved inputs whatever their size, while PrepareDrawBindings binds any other input over the draw snapshot budget in place. A move whose inputs together exceed the budget is now refused, so the draw builds its resources and binds those inputs in place.
2026-11-04 14:27:15 +01:00
Dean Galvin d870bc198c Merge branch 'main' into fix/agc-flip-no-eop-event 2026-11-04 21:38:49 +13:00
Dean b11c7bf84f Merge pull request #14976 from liskeee/fix/agc-shared-import-alias-fallback
fix(agc): fall back when a shared import alias is refused
2026-11-04 21:32:44 +13:00
Dean 0097b73ad0 Merge pull request #13858 from EagleBearerYS/perf/agc-reuse-address-draws-in-space
perf(agc): reuse read-only address-based draw builds over their cached address space
2026-11-04 21:31:53 +13:00
Dean 6aca873d9b Merge pull request #15454 from Nesyth/perf/agc-import-kind-windows
perf(agc): import a block that mixes private memory with shared views in smaller runs
2026-11-04 21:31:42 +13:00
Dean aa186a77b6 Merge pull request #9742 from EagleBearerYS/fix/agc-msaa-d32s8-depth-alias-htile-proof
fix(agc): accept a colour alias over a native multisample depth plane when HTILE proves its clear
2026-11-04 19:26:50 +13:00
Dean a06ff1334e Merge pull request #9674 from ntamas94/up/ps4-thick-tiles
feat(libSceAgcDriver): lay out PS4 textures in tile mode 19 (Thick_1dThick)
2026-11-04 18:33:41 +13:00
Dean aa5186e240 Merge pull request #10472 from nikhilpanchal1/perf/agc-image-suballocation
feat(agc): suballocate sampled and storage image memory
2026-11-04 17:48:36 +13:00
Dean 2c381088ba Merge pull request #10256 from Capmare/perf/agc-image-table-variant-substitution
perf(agc): bind one texture for the dynamic-resolution variants of an image table surface
2026-11-04 17:48:19 +13:00
Dean Galvin c6daa9a3f2 Merge branch 'main' into perf/agc-reuse-address-draws-in-space 2026-11-04 17:06:15 +13:00
Dean Galvin 54665e451e Merge branch 'main' into up/ps4-thick-tiles 2026-11-04 16:59:59 +13:00
Dean c2eafe4461 Merge pull request #9892 from savvaniss/feat/ps4-gcn-msaa-targets
feat(agc): draw PS4 multisampled color targets as host-resident targets
2026-11-04 16:59:01 +13:00
Dean ea0913b3a4 Merge pull request #9700 from frankea/eqaa-color-targets
feat(agc): draw EQAA color targets at their coverage sample count
2026-11-04 16:57:56 +13:00
Dean Galvin 1405c26132 Merge main 1c8c0efc8c into #9674 (9fde6efab2) 2026-11-04 11:32:46 +13:00
Dean Galvin 4308f2c31c Merge main 1c8c0efc8c into #9892 (3c0ee17922) 2026-11-04 11:30:09 +13:00
Dean 49021a4c90 Merge pull request #9891 from savvaniss/fix/ps4-cusa03312-surfaces
fix(agc): decode PS4 texture bases, linear-aligned targets and thin-tiled 3D textures
2026-11-04 11:25:47 +13:00
Yunus Shaikh a8c64b9c3b Merge main into fix/agc-msaa-d32s8-depth-alias-htile-proof
#13021 takes the multisample targets lock through TargetsLock, which marks the
lock held for HoldsMultisampleTargetsLock; MultisampleColorTargetsOver takes it
the same way. Its declaration sits beside WithMultisampleTargetsLockForTest.
The debt file keeps #13021's guest publication entry and its edit of the
depth sampling entry, then this branch's two colour-target entries.
2026-11-03 13:27:20 -08:00
Yunus Shaikh cfec53d781 Merge main into perf/agc-reuse-address-draws-in-space
Draw.cpp conflicts where #13021 notes a depth surface write after the draw's
resources are resolved. Both are kept, with the injected stop after resolve
first, so an injected failure notes no depth write.
2026-11-03 13:22:45 -08:00
Dean 0e7d4a25ef Merge pull request #13021 from JAB-dev/feat/agc-publish-native-d32s8-guest-planes
feat(agc): publish a written native multisample D32S8 surface to its guest planes on a guest read
2026-11-04 10:08:52 +13:00
ntamas94 9fde6efab2 fix(libSceAgcDriver): degrade shallow GCN mip levels to thin tiles 2026-11-03 21:57:11 +01:00
ntamas94 cc596afba5 docs(libSceAgcDriver): retain both sides of tiling debt conflict 2026-11-03 21:48:50 +01:00
ntamas94 72d72c720d fix(libSceAgcDriver): merge main into thick texture layout 2026-11-03 21:47:12 +01:00
Dean Galvin 3c2bbeaf3d Merge main into PR #10256 2026-11-04 09:38:59 +13:00
Dean Galvin 8bc11fae31 Merge main 086c0686c8 into #9700 (8efaff36c0)
MultisampleTarget.cpp: main moved PrimedSharedMutex to libc and guardedColorBytes earlier in the file; GuardedRange keeps the PR's plane member, and guardedColorBytes (at its new place) keeps the PR's storedFragments change.
Debt doc: main's new written type-0/type-1 descriptor line stays, the multisampled color targets line keeps the PR's wording.
2026-11-04 09:37:14 +13:00
Yunus Shaikh 8942229a70 Merge main into perf/agc-reuse-address-draws-in-space 2026-11-03 11:27:51 -08:00
Dean Galvin 7ceffb3974 Merge main 086c0686c8 into #7978 (04f9490487) 2026-11-04 08:19:39 +13:00
Dean 5a20baa0cc Merge pull request #15466 from JJenkx/fix/agc-drop-depth-results-over-unmapped-memory
fix(agc): drop depth and stencil plane results over memory unmapped since they were drawn
2026-11-04 08:13:33 +13:00
Dean 590c04615c Merge pull request #15248 from GiannisG1/test/htile-mask-lifetime-other-device-before-reimport
test(agc): check the other device's HTILE before the first device imports again
2026-11-04 08:12:00 +13:00
Savvanis SpyrosandClaude Opus 5.5 3c0ee17922 Merge main 1e658521a0 into #9892 (fde9ff2d9a)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-03 21:11:21 +02:00
Dean 0e7df59efb Merge pull request #11557 from JAB-dev/feat/agc-staged-packed-partial-writes
feat(agc): draw partial writes of multisampled 4_4_4_4 targets into a temporary target
2026-11-04 08:10:52 +13:00
Dean b52e86f043 Merge pull request #9898 from savvaniss/perf/agc-stores-without-drains
perf(agc): keep constant RAM dumps and unregistered labels on the GPU without draining
2026-11-04 08:10:45 +13:00
Savvanis SpyrosandClaude Opus 5.5 9b9288abc8 Merge main 1e658521a0 into fix/ps4-cusa03312-surfaces
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-03 21:07:13 +02:00
Dean 1e658521a0 Merge pull request #12120 from meh7an/perf/agc-depth-transfer-passes
perf(agc): read depth planes into storage images in a compute pass
2026-11-04 05:43:40 +13:00
Dean 6457b9a0e4 Merge pull request #9672 from ntamas94/up/ps4-depth-sample-extent
fix(libSceAgcDriver): sample a PS4 depth buffer through a T# smaller than its padded extent
2026-11-04 05:43:13 +13:00
Dean 3a2ce76ace Merge pull request #6273 from SoRadGaming/perf/windows-widen-collects
perf(agc): widen small epoch collects to their 64 KiB block on Windows
2026-11-04 05:42:55 +13:00
Savvanis SpyrosandClaude Opus 5.5 f160886325 Merge main into perf/agc-stores-without-drains
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-03 17:37:34 +02:00
JJenkxandClaude Opus 5.5 be898698d1 docs(debt): say that a partly unmapped stencil plane is still dropped whole
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-03 09:15:56 -05:00
fma-rc f9e1ac270c docs(agc): describe the end-of-pipe event's context and which flips are held 2026-11-03 12:58:56 +01:00
fma-rc 6345fe47b7 fix(agc): hold a flip until the previous flip submission's work completed, and raise no event from flips
A flip packet delivered the queue's graphics end-of-pipe event after the
work recorded before it. On the console a flip raises no such event: its
interrupt context is always a typed token that the kernel routes to the
display path (PS5 13.60 kernel), and neither Minecraft (PPSA17221) nor
Death Stranding 2 (PPSA02015) sends a release that requests one. Death
Stranding 2 registers the event before it fills its handler table, so the
first flip's event reached a null handler (issue 6462).

Minecraft did need it, but only because of when the flip hold ends. It
writes its frame label after the flip in the same buffer and, after its
next submission, waits on the event until that label is 1. The hold
released the title at the flip packet, so it read the label before the
worker had written it and slept until the flip event came. The hold now
ends when the previous flip submission ran to its end and its recorded GPU
work completed, so the label is in memory when the title reads it.

The per-queue flip event latch is removed with the event: a queue's own
release interrupts deliver as before.
2026-11-03 12:58:43 +01:00
JJenkxandClaude Opus 5.5 eedb239864 docs(debt): note that a plane mapped again since its last draw is not stored
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-03 06:20:22 -05:00
Yunus Shaikh 69d9d231c6 Merge main into fix/agc-msaa-d32s8-depth-alias-htile-proof 2026-11-03 01:33:28 -08:00
Nesyth 8490638cc3 perf(agc): import a block that mixes private memory with shared views in smaller runs 2026-11-03 10:18:57 +01:00
Dean Galvin a80d36f86c Merge main 4f41f4c375 into #13858 (5479721abf) 2026-11-03 22:05:50 +13:00
JAB-dev 1b12e6f302 Merge remote-tracking branch 'origin/main' into feat/agc-staged-packed-partial-writes
# Conflicts:
#	core/libs/prx/libSceAgcDriver/CMakeLists.txt
2026-11-03 10:29:50 +02:00
JAB-dev 0180bafe62 Merge remote-tracking branch 'origin/main' into feat/agc-publish-native-d32s8-guest-planes
# Conflicts:
#	core/libs/prx/libSceAgcDriver/Execution/src/GuestMemory.cpp
#	docs/dev/debt/libSceAgcDriver.md
2026-11-03 10:29:26 +02:00
Dean Galvin d8d638d5af Merge main 4f41f4c375 into #9672 (f8bc6ebb92) 2026-11-03 21:19:03 +13:00
Dean 108a85a325 Merge pull request #11104 from EagleBearerYS/feat/unbuilt-exports-guard
feat(tools): fail when a library source that defines exports is never built
2026-11-03 21:09:59 +13:00