Repository navigation
test(agc): run agc_driver_bda_device_tests under ctest - #1187
Merged
oneandonlydean merged 1 commit intoOct 8, 2026
Merged
Conversation
The BDA device test was built only on request and never registered, so it ran nowhere. Register it with the other AGC driver tests. Pick the Vulkan device the way VulkanDevice does, a discrete GPU over an integrated one, instead of the first enumerated device, so the test runs on the same GPU as the runtime on hosts with an iGPU. Without a usable device it exits 77, as OpenVulkanTestDevice does, unless ANYPS5_REQUIRE_VULKAN is set. On a CPU device the BDA execution tests are not run: llvmpipe loads through the null pointer of a branch that is not taken and the process segfaults (Mesa #16515, #16217). The contract, allocation and color transfer tests still run there. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
9 tasks done
|
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.
|
This was referenced Oct 7, 2026
popcoder565
added a commit
to popcoder565/AnyPS5
that referenced
this pull request
Oct 7, 2026
The test is added to ctest in its own BUILD_TESTING block, as agc_vop1_sdwa_move_decode is, instead of in the shared test list that boykopovar#1187 also extends.
This was referenced Oct 8, 2026
adriadam10
pushed a commit
to popcoder565/AnyPS5
that referenced
this pull request
Oct 8, 2026
The test is added to ctest in its own BUILD_TESTING block, as agc_vop1_sdwa_move_decode is, instead of in the shared test list that boykopovar#1187 also extends.
9 tasks done
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
agc_driver_bda_device_testswasEXCLUDE_FROM_ALLand never registered, so it ran nowhere (#22, #23 left it out pending #14 and #20). It now runs under ctest with the other AGC driver tests.devices.front(). It now ranks devices asVulkanDevicedoes (discrete, integrated, virtual, then the rest; Vulkan 1.1 or newer), so on a host with an iGPU it runs on the same GPU as the runtime.OpenVulkanTestDevicedoes, unlessANYPS5_REQUIRE_VULKANis set. The Windows job has no Vulkan driver.The BDA execution tests segfault on lavapipe on
maintoo: the third dispatch, a 32-bit read atguest + 1that spans both ranges, faults in llvmpipe's JIT code onvpbroadcastd (%rcx)withrcx = 0. The probe returns 0 for that read, and the only load through the probe result sits behindOpBranchConditional mapped && aligned. llvmpipe executes it anyway. WithAPS5_BDA_BYTE_READS=1, which removes that branch, all 22 dispatches pass on lavapipe.A 20-line GLSL shader reproduces it outside the project (
if (address != 0) value = Word(address).value;withaddress = 0): it crashes lavapipe at everyGALLIUM_OVERRIDE_CPU_CAPSlevel (sse2, sse4_2, avx, avx2, native on an Alder Lake CPU; Mesa 25.2.8, LLVM 20.1.2), and returns the right value on RADV and ANV. Reported upstream as Mesa #16515 (same AnyPS5 shader), same class as #16217.agc_driver_recorder_testshas the samedevices.front()and is also unregistered, but fails onmainon every device (an unchanged draw input was copied again); that is a separate PR.Tested
Linux, Ubuntu 24.04.5, GCC 13.3, Mesa 25.2.8; i3-12100 with RX 7600 (RADV) and UHD 730 (ANV).
ctest(Release,BUILD_TESTING=ON,ANYPS5_REQUIRE_VULKAN=1): 400/400 on the RX 7600; 400/400 on lavapipe alone with the CI settings (GALLIUM_OVERRIDE_CPU_CAPS=avx,--repeat until-fail:3), 21 skipped as before.agc_driver_bda_device_testsalone:ANYPS5_REQUIRE_VULKAN=1Checklist
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)🤖 Generated with Claude Code