GpuZelenograd / memtest_vulkan

Vulkan compute tool for testing video memory stability
https://github.com/GpuZelenograd/memtest_vulkan/blob/main/Readme.md
zlib License
262 stars 12 forks source link

fails to initialise on MoltenVK: `VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR` #37

Open Atemu opened 3 months ago

Atemu commented 3 months ago
DRIVER:            Searching for driver manifest files
DRIVER:               In following locations:
DRIVER:                  /nix/store/gi6ylcisphlks0avxsz7w67bny12h4j5-MoltenVK-1.2.7/share/vulkan/icd.d/MoltenVK_icd.json
DRIVER:               Found the following files:
DRIVER:                  /nix/store/gi6ylcisphlks0avxsz7w67bny12h4j5-MoltenVK-1.2.7/share/vulkan/icd.d/MoltenVK_icd.json
DRIVER:            Found ICD manifest file /nix/store/gi6ylcisphlks0avxsz7w67bny12h4j5-MoltenVK-1.2.7/share/vulkan/icd.d/MoltenVK_icd.json, version 1.0.0
DEBUG | DRIVER:    Searching for ICD drivers named /nix/store/gi6ylcisphlks0avxsz7w67bny12h4j5-MoltenVK-1.2.7/lib/libMoltenVK.dylib
ERROR | DRIVER:    vkCreateInstance: Found drivers that contain devices which support the portability subset, but the instance does not enumerate portability drivers! Applications that wish to enumerate portability drivers must set the VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR bit in the VkInstanceCreateInfo flags and enable the VK_KHR_portability_enumeration instance extension.
ERROR | DRIVER:    vkCreateInstance: Found no drivers!

memtest_vulkan: early exit during init: ERROR_INCOMPATIBLE_DRIVER while getting erupt::generated::InstanceLoader in context instance. Try specifying icd.json via VK_DRIVER_FILES env var
  press any key to continue...
galkinvv commented 3 months ago

Looks interesting. Is this a binary build for mac via nix infrastructure?

Regarding the bug itself - I plan to make a prerelease tag usable by nix build with a bunch of small fixes collected from non-trivial use cases ans will definetely include VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR there. Hoewer it is a bit stalled by now, so I can't promise any specific timeline

Atemu commented 3 months ago

Yes, this is a Darwin executable built with Nix. I've disabled Darwin for Nixpkgs though since it's broken. I wasn't sure this is a packaging issue.

Here's the relevant PR: https://github.com/NixOS/nixpkgs/pull/296594

No need to stress it (heh), the version above already works on x86_64-linux. I'll just update this whenever you release a new version; take your time.

I also unfortunately won't have access to a Darwin machine for at least a few months.