Repository navigation
fix(agc): accept a CB metadata pass beside depth state without depth or stencil planes - #4076
Conversation
|
The change is one predicate, and it is the one this file already applies:
The helper's name reads wider than it behaves: it returns false when One more thing worth flagging, since it's a second acceptance path this diff opens without a test for it: the The title's leftover Written with AI assistance. |
…or stencil planes
b5bcf88 to
d9fbaf7
Compare
|
Thanks. I added two cases to
The second one is intended: with neither plane bound those two registers cannot change the outcome, so the decode should not require them. Reading them first would bring back #2121 changes the line after this one (the resolve sample count), so whichever merges second needs a one-line rebase; neither depends on the other. |
|
Hit the same abort on Windows with NVIDIA (RTX 4070 SUPER). The draw that threw was a non-indexed rect list, 4 vertices, |
|
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.
|
What
DecodeColorMetadataPassrefuses a CB fast-clear eliminate or DCC decompress pass whileDB_DEPTH_CONTROLorDB_RENDER_CONTROLenables depth or stencil work ("CB metadata pass with depth or stencil work"). Vampire Survivors (PPSA21703) runs a DCC decompress pass on its results screen withDB_DEPTH_CONTROL = 0x700763left over from earlier draws, whileDB_Z_INFOandDB_STENCIL_INFOboth have format 0. No depth or stencil plane is bound, so the pass does no depth or stencil work, but the driver threw and the title aborted when the player pressed "Done".The pass is now accepted when no depth or stencil plane is bound (
depthPlanesAbsent) and still refused when one is. Without a plane the pass does not readDB_DEPTH_CONTROLorDB_RENDER_CONTROL, since they cannot change the outcome.metadataPassTestsadds the title's register values, the refusal once a Z or a stencil format is set, and a pass without planes that never wrote either control register.Bring-up notes: #3745 (comment)
Tested
Windows 11 Pro 10.0.22631, AMD Ryzen 7 7800X3D, AMD Radeon RX 7900 XTX, WinLibs GCC 15.2.0, Release.
main: "Done" on the results screen aborted with the error above. With the change the title returns to the stage map and keeps running.ctest -R agc_driver_graphicson 7a84b22: passes, and fails without the change.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)