Skip to content

Windows (AMD RX 6600 XT): with VK_LAYER_KHRONOS_validation requested, test processes fail at vkCreateInstance with -9, so the required validation runs are impossible #10663

Closed

Description

@brummilab

What happens

With VK_INSTANCE_LAYERS=VK_LAYER_KHRONOS_validation (Vulkan SDK 1.4.363), AGC tests that need a device fail at "vkCreateInstance: Vulkan result -9" (VK_ERROR_INCOMPATIBLE_DRIVER); without the variable they pass, and vulkaninfo creates an instance with the same layer.

Title, test or build step

ctest: agc_driver_image_table, agc_driver_sample_order (and other Vulkan tests); guest_video_out_wqhd_detection is skipped instead

AnyPS5 commit

main b84322d, no pull requests on top

System

Windows 11 Pro 10.0.26300, AMD Radeon RX 6600 XT (Navi 23, 0x73ff), AMD driver 32.0.21045.16010, Vulkan SDK 1.4.363.0 (System32 vulkan-1.dll 1.4.363.0), WinLibs GCC 15.2.0 r7

Steps to reproduce

$env:VK_INSTANCE_LAYERS = "VK_LAYER_KHRONOS_validation"
ctest --test-dir build -R "^agc_driver_image_table$" --output-on-failure   # fails in 0.02 s
Remove-Item Env:VK_INSTANCE_LAYERS
ctest --test-dir build -R "^agc_driver_image_table$"                       # passes

Log

[src/VulkanDevice.cpp:1105 VulkanDevice] VulkanDevice constructor window=0000000000000000
[src/VulkanDevice.cpp:1114 VulkanDevice] Vulkan loader loaded library=00007ff90d620000
vkCreateInstance: Vulkan result -9
1/1 Test #781: agc_driver_image_table ...........***Failed    0.02 sec

What was checked

With the layer requested: agc_driver_sample_order and agc_driver_image_table fail in under 0.1 s, guest_video_out_wqhd_detection is skipped ("no display or Vulkan device"); agc_driver_graphics and agc_shader_memory pass (they also pass with VK_DRIVER_FILES pointing at a missing file, so they don't need a device). Without the variable all of them pass.

vulkaninfo --summary with the same VK_INSTANCE_LAYERS lists the GPU, and the layer creates the file named by VK_KHRONOS_VALIDATION_LOG_FILENAME; the test processes create no such file. VK_LOADER_DEBUG=layer prints loader messages for vulkaninfo but nothing for the test processes, so the loader's reason for -9 is not visible here.

Neither log contains "was not found but was requested by env var VK_INSTANCE_LAYERS", so the check in AGENTS.md / CONTRIBUTING.md does not catch this, and the "no new VUID- errors" comparison compares two logs that cannot contain any.

In #9056 another tester reported validation output on Windows with a Radeon 680M (driver 32.0.21030) and layer 1.4.363, so this may depend on the driver or the machine.

AI-assisted: yes

Activity

  1. MarcZX10 commented on Oct 24, 2026

    @MarcZX10
    Contributor

    A useful next discriminator is the actual loader DLL path used by the test process. VulkanDevice opens vulkan-1.dll by bare name through SDL_LoadObject (core/libs/prx/libSceAgcDriver/Execution/src/VulkanDevice.cpp:1107), whereas vulkaninfo may resolve a different copy. Could you compare the loaded module path and file version/hash for agc_driver_image_table versus vulkaninfo, and check for a build-directory-local vulkan-1.dll or VK_DRIVER_FILES/VK_ICD_FILENAMES override? The absence of loader debug output in the test process makes a different loader or process environment worth ruling out before attributing this to the RX 6600 XT driver.

  2. brummilab commented on Oct 24, 2026

    @brummilab
    Author

    False alarm, my mistake, sorry for the noise. @MarcZX10 your VK_DRIVER_FILES question found it: VK_DRIVER_FILES pointing at a missing file was still set in my shell from an earlier probe, so the loader found no driver and returned -9. With it cleared, on the same main b84322da6, agc_driver_image_table passes with VK_INSTANCE_LAYERS=VK_LAYER_KHRONOS_validation, the layer writes the file named by VK_KHRONOS_VALIDATION_LOG_FILENAME, and it reports VUID-VkWriteDescriptorSet-descriptorType-00337 x2 (the one #9056 addresses). Closing.

    AI-assisted: yes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions