-
Notifications
You must be signed in to change notification settings - Fork 168
Open
Description
Please see my reply, I may have a fix
Describe the bug
I was able to build everything on my system, with minimal warnings, but when I run the program, I get an exception and vulkan layer errors.
To Reproduce
brew install molten-vk vulkan-extensionlayer vulkan-tools vulkan-volk vulkan-headers vulkan-utility-libraries vulkan-loader vulkan-validationlayers ```
cd ~/Developer/C++/Acid
cmake -B Build -G Ninja -DCMAKE_BUILD_TYPE=Debug
cmake --build Build
Build/bin/Tutorial1
Version: 0.14.3
Git: 2ff8adee3 on master
Compiled on: Darwin-22.6.0 from: Ninja with: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++
Instance Layers: VK_LAYER_KHRONOS_timeline_semaphore, VK_LAYER_KHRONOS_validation, VK_LAYER_KHRONOS_synchronization2, VK_LAYER_KHRONOS_shader_object,
Searching for ICD drivers named ../../../lib/libMoltenVK.dylib
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.
vkCreateInstance: Found no drivers!
libc++abi: terminating due to uncaught exception of type std::runtime_error: Vulkan error: The requested version of Vulkan is not supported by the driver or is otherwise incompatible
Expected behaviour*
The tutorial runs
Screenshots
N/A
Hardware:
- Device: Macbook Pro 2017 (Touchbar)
- OS: macOS Ventura 13.6.4
Additional context
╰─➤ brew search moltenvk
==> Formulae
molten-vk ✔
╰─➤ brew search vulkan
==> Formulae
vulkan-extensionlayer ✔ vulkan-tools ✔ vulkan-volk ✔
vulkan-headers ✔ vulkan-utility-libraries ✔
vulkan-loader ✔ vulkan-validationlayers ✔
I think maybe Vulkan is being initialized without portability extensions?
I've done very little Vulkan programming, but when I have, I have to add:
#ifdef __APPLE__
extensions.push_back(VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME);
extensions.push_back(VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME);
#endif
//...
vk::InstanceCreateInfo createInfo({}, &appInfo, 0, nullptr, static_cast<uint32_t>(extensions.size()), extensions.data());
#ifdef __APPLE__
createInfo.setFlags(vk::InstanceCreateFlagBits::eEnumeratePortabilityKHR);
#endif
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels