Commit Graph
1247 Commits
Author SHA1 Message Date
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
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
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
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
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
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
Dean 6e08dc3d6e Merge pull request #14243 from Tamalero/fix/agc-fp16-abgr-uint-target
fix(libSceAgcDriver): export FP16_ABGR into UINT color targets
2026-11-03 21:08:31 +13:00
Dean fec9ceae93 Merge pull request #14005 from hugodearaujo/fix/agc-nohtile-uniform-depth
fix(agc): import a native multisample D32S8 target without HTILE whose planes each hold one value
2026-11-03 21:08:19 +13:00
Dean 8b1be62353 Merge pull request #14302 from hugodearaujo/fix/agc-storage-cpu-rewrite
fix(agc): keep a CPU store that rewrote a pending block with its baseline bytes
2026-11-03 21:08:14 +13:00
Dean ff8faeb7d6 Merge pull request #14311 from XatiX/fix/agc-store-occasional-images
fix(agc): store an occasionally written image before a label
2026-11-03 21:08:07 +13:00
Dean a8544c6745 Merge pull request #14815 from hugodearaujo/perf/agc-staging-shadow-headroom
perf(agc): refuse a staging shadow that would take the last eighth of the device-local budget
2026-11-03 21:08:02 +13:00
Dean 1d922bd0b1 Merge pull request #6185 from ee6aba54/fix/agc-changed-copy-back
fix(agc): copy only the dwords a shader changed back from a GPU-copied buffer
2026-11-03 21:07:12 +13:00
Savvanis SpyrosandClaude Opus 5.5 f070b16201 Merge main into perf/agc-stores-without-drains
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-03 09:18:32 +02:00
JAB-dev 6e2b8263c2 Merge remote-tracking branch 'origin/main' into feat/agc-publish-native-d32s8-guest-planes
# Conflicts:
#	core/libs/prx/libSceAgcDriver/Graphics/src/Draw.cpp
2026-11-03 07:29:04 +02:00
Dean a9e723b83b Merge pull request #14909 from kallmek3nny/feat/shader-alpha-to-coverage-sample-mask
feat(shader): combine alpha-to-coverage with a sample-mask export
2026-11-03 18:12:13 +13:00
Dean Galvin 788ccea451 Merge commit 'f6232fcfda70644495273f6b8dd88cf0603463d6' into HEAD
# Conflicts:
#	docs/dev/debt/libSceAgcDriver.md
2026-11-03 17:58:45 +13:00
Dean Galvin d6e038b9a2 Merge commit 'f6232fcfda70644495273f6b8dd88cf0603463d6' into HEAD
# Conflicts:
#	core/libs/prx/libSceAgcDriver/CMakeLists.txt
2026-11-03 17:57:56 +13:00
Yunus Shaikh b211f54b97 test(libSceAgcDriver): drop the user data writers main implemented from the pending list
#13474 implemented sceAgcDriverUserDataWritePacket,
sceAgcDriverUserDataWritePushMarker, sceAgcDriverUserDataWriteSetMarker
and sceAgcDriverUserDataWritePopMarker in Submit/src/Dcb.cpp, with their
firmware signatures, and removed their stubs from Export.cpp. The
pending export list still named them as no-parameter stubs, so
UnsupportedDiagnostics.cpp stopped compiling once merged with main.

The list drops them, and the debt entry counts the 24 exports that are
still pending. The other listed exports are still stubs on main.
2026-11-02 17:11:54 -08:00
Yunus Shaikh 48f0002490 Merge main into feat/unbuilt-exports-guard 2026-11-02 17:03:14 -08:00
JAB-dev 456c2ef40b Merge remote-tracking branch 'origin/main' into feat/agc-publish-native-d32s8-guest-planes
# Conflicts:
#	core/libs/prx/libSceAgcDriver/Execution/src/VulkanDevice.cpp
2026-11-03 00:59:01 +02:00
Dean 1f272537eb Merge pull request #12764 from Pipodi/perf/flat-private-aperture-1028
perf(recompiler): back compute scratch with a device buffer slot pool
2026-11-03 11:35:12 +13:00
GiannisandClaude Opus 5.5 0d6a0790c8 test(agc): check the other device's HTILE before the first device imports again
MaskCleanupIsolation recorded the second device's HTILE fill, then checked
the first device's two owners and only then the second device's. The host
import registry serves one device at a time: the first device's checks parked
the second device's imports, and back on the second device the expanded HTILE
store went through a new import of the same pages as the batch's earlier
fill. With the write-watch probe run between the two imports, the NVIDIA
driver left the earlier fill's value in about nine of ten runs, so
agc_driver_htile_mask_lifetime failed there.

The second device's check now runs right after the first device's cleanup,
before the first device imports again; the test asserts the same results.
The registry's behaviour across devices is recorded as technical debt.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-03 00:05:55 +02:00
JAB-dev 3ffeb212b0 Merge remote-tracking branch 'origin/main' into feat/agc-staged-packed-partial-writes 2026-11-02 22:06:50 +02:00
hugodearaujo d2399ff2cd Merge main a4eca2a056 into the uniform-plane depth branch 2026-11-02 15:35:08 -03:00
hugodearaujo 2c6b5e4477 Merge main a4eca2a056 into the rewritten-baseline branch 2026-11-02 15:23:42 -03:00
XatiXandClaude Opus 5.5 44df0c5fbc fix(agc): store an occasionally written image before a label
A title can render a tiled image by compute and read it on the CPU after a label. StoreReadbackBeforeLabel took only linear images and those up to 64 KiB, so the CPU read the old bytes at that address. PPSA06866 renders its save thumbnail into a 768 KiB image this way and stored noise as every save's PNG. An image up to 1 MiB on its first write or not written in the last 8 flips now takes one store before a label. The label clears the flag when it chooses the image, so with no flips it cannot store the image at every label. Images written on consecutive flips stay on the GPU.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-02 17:34:17 +00:00
Dean 7d6055732f Merge pull request #13474 from BunnyFl/feat/libsceagcdriver-user-data-writers
feat(libSceAgcDriver): write the user data packets as firmware 13.42 does
2026-11-03 06:31:28 +13:00
Dean f01a601be2 Merge pull request #13146 from Prophet069/pr/agc-msaa-color-upload
feat(agc): upload varying guest samples of a multisampled texture no draw rendered to
2026-11-03 06:27:12 +13:00
Dean cf8dbaed2e Merge pull request #12651 from slopgobblercobbler/fix/agc-eq-event-and-queue-context-validation
fix(agc): validate queue context alignment and event queue parameters
2026-11-03 02:39:15 +13:00
Dean ead4b80484 Merge pull request #12348 from vingelvatten/feat/oracle-vulkan-runner
feat(agc): run hardware oracle kernels through the recompiler on Vulkan
2026-11-03 02:37:27 +13:00
Dean 906597a512 Merge pull request #12246 from B-Howell/feat/agc-1d-array-layer-rows
feat(agc): sample 1D arrays past maxImageArrayLayers as rows of a 2D image
2026-11-03 02:36:11 +13:00
Dean 94a803bd39 Merge pull request #11886 from Sumaiter/fix/issue-10199-label-memory-write
fix(agc): order queued labels behind every earlier write at submit
2026-11-03 01:27:49 +13:00
Dean b6ab5e7abd Merge pull request #7893 from thuanquang/fix/strip-first-provoking-order
fix(shader): hand a geometry program strip and fan triangles in the order of its provoking vertex mode
2026-11-03 01:25:32 +13:00
Dean Galvin e9d8998d58 Merge main 3c3b3cda73 into #12764 (fee187ee67)
SpirvEmitter.cpp: main now calls Finalize() before filling info and checks
spanned-wave barriers on the words; keep that and run this branch's
VerifyScratchPoolReturns(state, words) on the same words before returning.
2026-11-02 23:39:24 +13:00
Dean 54746cb800 Merge pull request #11280 from Michael-KD/feat/linear-texture-custom-pitch
feat(agc): honour the DEPTH row pitch of linear 2D textures as RDNA2 does
2026-11-02 23:27:24 +13:00
Dean d7809ef62b Merge pull request #11126 from shahulmubeen-a/feat/agc-unnormalized-mirror-samplers
feat(agc): sample unnormalized S#s with mirror and mirror-once clamp modes
2026-11-02 23:27:03 +13:00
Dean 12683e2cef Merge pull request #10435 from ntamas94/fix/ps4-htile-macro-tile
fix(libSceAgcDriver): size a PS4 depth target's HTILE in 512x512 blocks
2026-11-02 23:25:57 +13:00
Dean e4119e9455 Merge pull request #10333 from SleglJan/test/6868-driver-store-tests
test(agc): cover repeated driver stores into a shared block's exact ring
2026-11-02 23:25:51 +13:00
Dean baba4197ad Merge pull request #10940 from TechLevelZero/fix/storage-idle-flush-own-device
fix(agc): keep a device's idle stores and storage write-backs on its own recorder
2026-11-02 23:25:17 +13:00
Dean 0d02927bd0 Merge pull request #10906 from EagleBearerYS/fix/shader-null-storage-image-type0
fix(agc): bind a written TYPE 0 or 1 static image slot as a null storage image
2026-11-02 23:24:59 +13:00
Dean d4ee73b8cd Merge pull request #10760 from lgqdaxia/codex/fix-capture-trace-backpressure
fix(agc): keep capture trace output nonfatal
2026-11-02 23:24:20 +13:00