Repository navigation
Conversation
|
Hi edubox, Thanks for this; the alias rules (
|
|
Addressed all three points in
Focused tests: 19/19 ( |
|
Independent RADV run: both new depth-alias tests pass on this head, and the same tests reproduce the prior refusal when the production file is temporarily returned to main's version. Linux (CachyOS kernel 7.3.1-1-cachyos), GCC 16.2.1 Release, Radeon RX 9060 XT (RADV GFX1200, Mesa 26.2.5, Vulkan 1.4.354), Khronos validation layer 1.4.363. Head
Commandsexport ANYPS5_REQUIRE_VULKAN=1 ANYPS5_NO_SHADER_CACHE=1
export VK_INSTANCE_LAYERS=VK_LAYER_KHRONOS_validation VK_LOADER_DEBUG=layer
export VK_LAYER_PATH="$HOME/.local/share/anyps5-tester/vk-layers/usr/share/vulkan/explicit_layer.d"
cmake --build build-main --target agc_driver_native_multisample_depth_tests -j 4
ctest --test-dir build-main -R '^agc_driver_native_depth_(uniform_planes|aliased_stencil|separate_stencil)$' --repeat until-fail:3 -V
ctest --test-dir build-main -R '^agc_driver_native_depth_(uniform_plane_alias|htile_plane_alias)$' --repeat until-fail:3 -VThe last command requires the candidate test files; the counter-test additionally substitutes main's No game, performance claim, or other GPU/driver was tested. AI-assisted independent hardware test run (GPT-6.1 Terra medium). |
✅ AMD GPU test: passedPR head
Unstable on main (2, these also failed in recent main runs on this machine; not counted against this PR)Failing on main too (8, not counted against this PR)Validation IDs already present on main (4 IDs in 517 tests)Skipped (58)ReproduceAutomated build and test on a contributor's AMD machine; it does not replace upstream CI. A new comment is posted for each new push. Full logs. |
✅ NVIDIA GPU test: passedPR head
Unstable on main (2, these also failed in recent main runs on this machine; not counted against this PR)Failing on main too (3, not counted against this PR)Validation IDs already present on main (4 IDs in 517 tests)Skipped (48)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. |
|
Hi, a note on how this PR and #9742 fit together. Both clear
Where they meet: the index-0 branch of The HTILE case, a proposed composition. It's for #9742's merge of
Order: this PR first, then #9742, which takes the composition above when it merges |
|
The composition matches what the code can prove. On the |
A native multisample depth plane whose range exactly aliases a multisampled R32F colour target with a known clear or fill now takes that value instead of refusing the import. The HTILE path requires the metadata to prove the same value.
A depth alias no longer marks the separate stencil plane as aliased, so a stencil fill still needs its own tracked store and value check. The tests drop the drawn-target refusal, cover an HTILE that proves the alias value instead of the target clear, and check a stored and an unstored stencil fill next to the depth alias.
6e9b2be to
b6407b2
Compare
|
Rebased onto current On this head: |
✅ NVIDIA GPU test: passedPR head
Unstable on main (3, these also failed in recent main runs on this machine; not counted against this PR)Failing on main too (3, not counted against this PR)Validation IDs already present on main (8 IDs in 533 tests)Skipped (50)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. |
|
Verified the current head The retriggered hosted windows job failed again on AI-assisted: yes |
boykopovar#9742 has merged ahead of this branch. DepthSurface.cpp conflicts where both read a colour target over the depth plane at index 0, at import and in CheckCurrent, and the test list conflicts where both add registrations. The merge composes the two rules: - At import both are recorded, this branch's aliasDepth and boykopovar#9742's depthAlias. HTILE is checked against aliasDepth first. When it doesn't prove it and boykopovar#9742 recorded a sole alias, aliasDepth is dropped and every word must prove DB_DEPTH_CLEAR, as on boykopovar#9742. - CheckCurrent keeps boykopovar#9742's unchanged alias first, then this branch's value re-proof, which now compares bits, so a whole fill of -0.0 over a 0.0 clear still refuses, as boykopovar#9742's test expects. - In CheckHtileAliasedDepth, the fill of 1.0 over HTILE that proves 0.0 now imports and reads 0.0 under boykopovar#9742's rule instead of refusing. - Both set_tests_properties lines take both sides' names. - NativeMultisampleDepth.cpp keeps one depthAliasRefusal, boykopovar#9742's, which this branch defined again with the same text.
|
Hi, a follow-up to my note above. #9742 merged first (aa186a7), so the order there is now the other way round. This PR conflicts with In case it saves you time, here's a merge of What it does
Tested on GitHub's runners, 10 runs (run).
|
|
Took the proposed composition from EagleBearerYS's The merge keeps both alias candidates ( Verification on an RTX 4080 SUPER with
|
|
Thanks for taking it, and for the RTX 4080 SUPER run with the validation layer on both sides. That settles the overlap with #9742 from our side. |
✅ NVIDIA GPU test: passedPR head
Unstable on main (4, these also failed in recent main runs on this machine; not counted against this PR)Failing on main too (3, not counted against this PR)Validation IDs already present on main (13 IDs in 548 tests)Skipped (49)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. |
|
Re-checked the current head
Focused checks on
No new change was pushed. The |
|
Independent Windows / Radeon RX 7800 XT focused check of #15443 head On the selected AMD Radeon RX 7800 XT ( I used This adds Windows RX 7800 XT hardware evidence to the Linux AMD and NVIDIA results already posted. No game or performance test was run. AI-assisted local test; build and verbose CTest logs are retained locally. |
|
Re-checked On this machine (RTX 4080 SUPER,
Nothing was pushed. The AI-assisted: yes. |
✅ AMD 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 (8, not counted against this PR)Validation IDs already present on main (4 IDs in 558 tests)Skipped (67)ReproduceAutomated build and test on a contributor's AMD machine; it does not replace upstream CI. A new comment is posted for each new push. Full logs. |
|
Updated the branch to current Focused checks on the merged head (
AI-assisted: yes. |
✅ NVIDIA GPU test: passedPR head
Failing on main too (3, not counted against this PR)Validated but not compared (1, not in the main baseline's validation pass)Validation IDs already present on main (9 IDs in 590 tests)Skipped (54)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. |
|
Status at
Verified locally without the Khronos layer (not installed on this host), with
|
What
A native multisample depth plane whose guest range exactly aliases a multisampled R32F colour target can now take the value that target's clear or fill proves, instead of refusing the depth import. This covers both import paths:
A colour target that has drawn, a non-R32F format, or a clear value outside
[0, 1]is still refused.CheckCurrentrepeats the check, so an imported depth stays valid only while the colour alias still proves the imported value.7th Guest (PPSA17019) previously stopped at
native multisample depth or HTILE aliases a multisampled colour target whose samples are only on the host; with this it advances to the next, separate blocker (overlapping native multisample depth clear transitions are not implemented).Tested
Linux x86-64 (CachyOS), GCC 16.2.1, Release, NVIDIA GeForce RTX 4080 SUPER (driver 615.78.8.0):
agc_driver_native_depth_uniform_plane_aliasandagc_driver_native_depth_htile_plane_aliascases: clears 0 and 1.0, a drawn target, and a clear outside[0, 1], with 2, 4 and 8 samples.ANYPS5_REQUIRE_VULKAN=1 ctest --test-dir build -R 'agc_driver_native_depth|^agc_driver_graphics$|^agc_driver_key_miss$|^agc_driver_bda_device$|^agc_driver_recorder$': 19/19 pass on the change, 17/17 onmain(4f41f4c375).VK_LAYER_KHRONOS_validationis not installed on this host, so the validation-layer comparison could not be run.tools/check_conventions.py --base origin/mainandgit diff --checkare clean.tools/pr_overlap.py --branch fix/agc-aliased-uniform-depthflags a sharedDepthSurface.cppwith fix(agc): keep guest writes over a stale stencil plane #14969 and perf(agc): size thin surfaces without a heap mip chain #15059; reviewed manually: they touch stencil retirement/flush and surface-size helpers, not this import or check path.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)