Repository navigation
fix(agc): CB resolve into any tiled color target - #1189
oneandonlydean merged 2 commits into
Conversation
b9844dc to
13c1cbf
Compare
13c1cbf to
070fbff
Compare
|
Rebased onto main to resolve the test-list conflict in |
29bf266 to
119c18e
Compare
|
GTA V (PPSA04263) before/after, on current (#757). No CB resolve is issued before that point, so GTA can't show this change yet; the frames are identical. Build and |
A multisample resolve writes into a resident 4 KiB or 64 KiB standard target as well as a 64 KiB render-target one (GTA V's fidelity mode resolves into a SW_64KB_S target). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The resolve decode keeps a SW_4KB_S, SW_64KB_S and SW_64KB_R_X destination's tile mode. An execution case (ctest agc_tiled_resolve) fast-clears a 4x source through its CMASK and resolves it into each of those targets, reading the resolved color back from guest memory; a linear destination still throws. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
Rebased onto main (test list conflict); |
119c18e to
a17f25b
Compare
|
Other open pull requests touch the same code. Merging one will break the other, or both implement the same thing. If this one builds on them, list them in Depends on.
|
Met: a17f25b adds the 4 KiB/64 KiB standard-target decode and execution tests, and the branch is only this fix on main.
What
A multisample resolve writes into a resident 4 KiB or 64 KiB standard target, as well as into a 64 KiB render-target one. GTA V's fidelity mode resolves into a SW_64KB_S target.
Tested
Windows 11 Pro, AMD Ryzen 5 7600, NVIDIA GeForce RTX 5080 (driver 32.0.16.1074), 32 GB, MinGW-w64 GCC 15.2.0.
gta-v/testingbranch (Performance mode, the prologue).main0214069 (2026-10-13; feat(agc): multisampled color and depth targets with CB resolves #419 is merged, so only this PR's two commits remain): the newagc_tiled_resolvectest resolves a CMASK-fast-cleared 4x source into SW_4KB_S, SW_64KB_S and SW_64KB_R_X targets and reads the color back from guest memory. CI runs it in theBuildworkflow'slinuxjob (ctest under lavapipe). It fails without this change ("CB resolve into a target without a resident image is not implemented"), and also with the resolve call removed (16384 texels keep their old value).agc_driver_graphicschecks that each tile mode decodes as a resolve destination. In the fullagc_ctest, the failures are the same as onmain. Not run here: the relinker's Python tests (my local Python does not find their helper modules) andguest_gameupdate.agc_*suite passes on Windows on the rebase (484 tests).Checklist
main; no other open PR implements the same functionsNotImplemented_nid_no_patch); silent stubs are listed in TechnicalDebt.mdfiles or images added to the repository (attach them to this PR)🤖 Generated with Claude Code