macOSのVulkanで"vk::createInstanceUnique: ErrorIncompatibleDriver"というエラーが出る (Vulkan SDK 1.3.216.0以降)
2 min
258 words
Suzuki Shun
macのVulkan (というかMoltenVK) でvk::createInstanceUnique
を実行時にErrorIncompatibleDriver
というエラーが出るようになった. (vulkan.hpp
を使用)
そういえば, 古いバージョンのSDKでは普通に動いていたはずなのでリリースノートをあさると, それらしきことが書いてあった.
This release of the Vulkan Loader for macOS will require the addition of the VK_KHR_portability_enumaration extension. This is easily added, and without it, you will not see a valid driver when using MoltenVK. Details and example code can be found in the macOS Getting Started Guide.
というわけで, macOS Getting Started Guideに従って,
vk::DeviceCreateInfo
で指定するDevice extensionsにVK_KHR_portability_subset
を追加vk::InstanceCreateInfo
で指定するInstance extensionsにVK_KHR_portability_enumeration
を追加vk::InstanceCreateInfo
で指定するInstance flagにvk::InstanceCreateFlagBits::eEnumeratePortabilityKHR
を追加
以上三点で治った.
ちなみに, Validation layersを有効にすると, 一番上エラーに関しては警告を出してくれたが, 下二つに関してはとくに何も表示されなかった.