Overv / VulkanTutorial

Tutorial for the Vulkan graphics and compute API
https://vulkan-tutorial.com
Creative Commons Attribution Share Alike 4.0 International
3.2k stars 527 forks source link

Enabling VK_KHR_portability_enumeration causes deadlock on Arch Linux #368

Open saccharineboi opened 1 year ago

saccharineboi commented 1 year ago

In the Instance Chapter, following code:

requiredExtensions.emplace_back(VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME);

createInfo.flags |= VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR;

causes deadlock when the "vkCreateDebugUtilsMessengerEXT" function is invoked on Arch Linux with the latest radeon-vulkan and vulkan-devel packages. This wasn't the case before. This issue is an FYI for those who decided to add the two lines above to their code and now are experiencing a deadlock. The solution is to remove the above two lines.

wisnunugroho21 commented 11 months ago

Please read the tutorial again.

"If using MacOS with the latest MoltenVK sdk, you may get VK_ERROR_INCOMPATIBLE_DRIVER returned from vkCreateInstance. According to the Getting Start Notes. Beginning with the 1.3.216 Vulkan SDK, the VK_KHR_PORTABILITY_subset extension is mandatory.

To get over this error, first add the VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR bit to VkInstanceCreateInfo struct's flags, then add VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME to instance enabled extension list."

Both extensions are only intended for Mac OS as there is no official vulkan driver for M series processors.