Repository navigation
test(agc): wait for a batch to read as signaled before the recorder's signaled-batch checks - #12675
Conversation
… signaled-batch checks agc_driver_recorder used vkQueueWaitIdle as a stand-in for "this batch's fence signaled". On AMD's 32.0.32015.7029 Windows driver the fence still reads VK_NOT_READY for a short time after the queue wait returns, so the checks failed although the recorder behaved correctly. Each one now waits, up to 5 s, until the recorder describes the batch as signaled, then makes the same assertion. Fixes boykopovar#12278
|
Some comparisons could not be completed because a pull request conflicts with the base branch. Review these shared files manually before concluding that there is no overlap.
|
|
Checked the 23 pull requests above manually. For each one I applied its change to
None of them changes the lines this PR changes, so no Related but not overlapping: #10442 adds |
|
Windows run of this head
AI-assisted: yes (Claude Code) |
What
On AMD's Windows driver 32.0.32015.7029 (RX 9070 GRE),
vkGetFenceStatusreturnsVK_NOT_READYfor a batch fence for a short time aftervkQueueWaitIdlehas returned (#12278), soagc_driver_recorderfails at checks that use the queue wait as a stand-in for "the batch's fence signaled". Each of those checks now first waits, for at most 5 s, until the recorder itself describes the batch as signaled (DescribePendingRead/DescribePendingWrite), then makes the same assertion. Where fences signal with the queue wait, the first query already reports signaled. Production code is unchanged.Tested
Windows 11 Home 10.0.26200, Ryzen 5 7500X3D, WinLibs GCC 15.2.0 r7, Release,
BUILD_TESTING=ON,ANYPS5_REQUIRE_VULKAN=1 ANYPS5_NO_SHADER_CACHE=1,main3a2b91981with and without this commit.agc_driver_recorderonmaina signaled batch's read still refusesagc_driver_recorderwith this PRagc_driver_recorder_testsThree checks needed the wait (lines 869, 1229 and 3679 on
main).(9) a signaled write kept the scan unstablefollows the same kind of queue wait but passes without it, so it is unchanged.Full suite with this PR (2985 tests,
--parallel 6). The RX 9070 GRE fails only the four #7451 tests,agc_driver_sample_order_grid_reference(#12277),guest_freebsd_clocks(the UTC host zone check that #12660 removes; this machine runs at UTC+12) andagc_driver_queued_index_read_order, which passes 3 of 3 when run alone. The iGPU fails onlyagc_driver_sample_order_grid_reference(#9507) andguest_freebsd_clocks. Theselect_testsfamily fails only in this machine's sandboxed shell, where a directory cannot be created through a junction under%TEMP%, and passes 13 of 13 withTEMPset elsewhere. None of these runagc_driver_recorder_tests.The fence lag itself is reproduced without AnyPS5 by the standalone program in #12278 (comment). The Khronos validation layer is not installed here.
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)1002:7550), AMD 32.0.32015.7029, Windows 11 Home 10.0.26200; AMD Radeon(TM) Graphics (1002:164e), AMD 32.0.21045.16010, Windows 11 Home 10.0.26200🤖 Generated with Claude Code