Repository navigation
fix(agc): publish native multisample depth over a colour alias its owner took in - #16301
dantdmdarealguy wants to merge 1 commit into
Conversation
…ner took in A native D32S8 owner can take in a multisampled colour target over one of its planes: the R32F target over the depth plane that the import accepts when HTILE proves its clear, or the R8 target over the stencil plane whose fill the owner applies as its stencil clear. Publishing a written owner to the guest refused whenever any colour target was resident over a plane. If that target has not cleared, drawn or taken a fill since the owner took its content in, every depth or stencil write of the owner is newer than the target's samples. Publication now goes ahead over such a target, re-checks it before the planes commit and retires it after them. Any other colour target over a plane still refuses. Ghost of Tsushima Director's Cut (PPSA02225) stopped on main at "compute shader 0x20001f3500: AGC graphics: native multisample depth publication over a resident colour target is not implemented".
|
Correction (rerun): my first run rebuilt only the main test target, but the test pattern also matched Windows check of head Setup: Windows 11 Enterprise 22621, WinLibs GCC 15.2 UCRT, Release, Radeon RX 6700 XT, AMD driver 26.10.1. Run with
AI-assisted: yes. |
✅ NVIDIA GPU test: passedPR head
Unstable on main (1, these also failed in recent main runs on this machine; not counted against this PR)Failing on main too (4, not counted against this PR)Validation IDs already present on main (9 IDs in 587 tests)Skipped (52)ReproduceAutomated build and test on a contributor's NVIDIA machine; it does not replace upstream CI. A new comment is posted for each new push. Full logs. |
What
fix(agc): publish native multisample depth over a colour alias its owner took inA native D32S8 owner can take in a multisampled colour target that lies over one of its planes. There are two such cases:
The guest publication from #13021 refused whenever any colour target was resident over a plane. Ghost of Tsushima has both kinds of alias over its 2-sample D32S8 target.
Why the owner's bytes are newer. If the colour target has not cleared, drawn or taken a fill since the owner took its content in, every depth or stencil write of the owner came after the target's last change. The published bytes are then what the memory holds. A fill over a plane is also noted to the depth owner, and publication already refuses while such a fill has not been applied. So a stencil-plane alias's latest fill is always one the owner has absorbed.
The change:
Test:
agc_driver_native_depth_publicationgets five cases, each for 2, 4 and 8 samples:On
mainthe test fails withAGC graphics: native multisample depth publication over a resident colour target is not implemented. With the change it passes.Tested
Windows 11 Pro, Intel Core i9-14900K, 128 GB RAM, NVIDIA GeForce RTX 5080 (driver 32.0.16.1742), WinLibs GCC 15.2.0, Release.
relinker --windows --registry --module-dir prospero.maine322066 it stops as quoted above, at +270 s with a cold cache and +60 s with a warm one.ctest -R '^agc_driver_native_depth_publication$'fails onmainwith the message above and passes with the change.ctest -R "agc_driver.*(depth|multisample|msaa|stencil|alias|fmask|dcc|cmask|htile)"passes 114 of 114, andpatched_librariespasses.ctest -V -R agc_driver_native_depth(17 tests) onmainand on this change, withANYPS5_REQUIRE_VULKAN=1,ANYPS5_NO_SHADER_CACHE=1andVK_INSTANCE_LAYERS=VK_LAYER_KHRONOS_validation.was not found but was requested by env var VK_INSTANCE_LAYERS.Insert instance layer "VK_LAYER_KHRONOS_validation"32 times (VK_LOADER_DEBUG=layer).VUID-line.mainonlyagc_driver_native_depth_publicationfails, with the title's message.agc_driver_native_depth_driver_queued_fillskips in both.Checklist
main; no other open PR implements the same functionsNotImplemented_nid_no_patch); silent stubs are listed under Silent stubs in their library's technical debt file.mdfiles or images added to the repository (attach them to this PR)compute shader 0x20001f3500: AGC graphics: native multisample depth publication over a resident colour target is not implemented)