Repository navigation
test(agc): register the full recorder run with CTest - #5211
Conversation
|
A data point for registering the full run: on another AMD Windows driver, the no-argument run fails on plain Setup: Windows 11 (26300), Radeon 860M (RDNA 3.5 iGPU, driver 32.0.13058.8001, Vulkan driver string That is the check in The flag-scoped entries are not affected. AI-assisted: yes (Claude Code) |
The full run of agc_driver_recorder_tests (no arguments) was the only section of the binary no ctest test covered: the registered entries run the -only flags, which skip the main flow from readTrackingTests through drawSnapshotPatchTests. Both failures that kept it off the run are resolved on main: the (w) import window and (s) stale generation sections now check generations around the storage image's own import (433302b), and the lavapipe partial publish copy is preserved when device writes reach the write watch (60f12c8). Run on a Radeon RX 9070 (RADV, Mesa 26.2.4), Linux 7.2: 3/3 pass, 0.5-0.9 s per run; the full run joins the existing agc_driver_recorder_tests entries in the same CMake block.
(cherry picked from commit 1b3f2e0)
ec7c584 to
a95e122
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.
|
|
Checked on current main: |
Revert #5211: agc_driver_recorder fails on the Linux runners
What
Register the no-argument
agc_driver_recorder_testsrun asagc_driver_recorder, with return code 77 as a skip and a 30-second timeout. The flag-scoped CTest entries leave the full main flow, including stale-generation and import-window coverage, unregistered. Preserve the current main's recorder entries and scope the Windows libc runtime path to the new entry.Depends on #5883: the rebased registration without that dependency fails at
(9) a scan under a pending write was kepton both Windows/RX 6900 XT and Linux/lavapipe. The pending-store implementation synchronizes an unknown DCC key write before proving the keys, so that proof is stable. Carry its assertion/counter correction from AnzouBeli's1b3f2e098, preserving authorship; the existing data and known-key-fill checks remain active. The imported code comment is removed to meet the repository conventions.The registration carries the offered handoff from closed, unmerged #3354, retaining blawesom's authorship. The fixture also requires
/dev/udmabufbefore using DMA-BUF imports on Linux, with a diagnostic when it is unavailable; extension presence alone does not provide the kernel device.Added
--read-tracking-onlyto isolate the Radeon 860M report in this comment. The original queue wait and all signaled-read/no-reaping assertions are retained. vkQueueWaitIdle already waits for completion of prior queue submissions. The reported failure did not reproduce on the devices below; no fix or validation on Radeon 860M is claimed. The isolated command isagc_driver_recorder_tests --read-tracking-only, withANYPS5_REQUIRE_VULKAN=1andANYPS5_NO_SHADER_CACHE=1.Production library code is unchanged.
Tested
Head
a95e122dca1f59e6f60f8a37774d47cfabd34de5, based on maine154f5658524bf3b6fd2aed987d31f61bfdb64d3; Release, BUILD_TESTING=ON, ANYPS5_ENABLE_SPIRV_TOOLS=ON:libs,relinkerandagc_driver_recorder_tests; 34 passed, 0 skipped, zero failures across 34 recorder CTest entries (7.87 s total; first full run 1.32 s). The no-argument run also passed with the shader cache disabled.ANYPS5_NO_SHADER_CACHE=1.Limits: the full run reports compared host imports and retains the existing feature guards. On Linux,
agc_shadowed_key_storesreturns skip code 77 because no watched host memory is imported under a unit shadow. WSL has no/dev/udmabuf; the fixture reports that unavailable path. No Radeon 860M, NVIDIA, or console/title execution is claimed.Checklist