Overv / VulkanTutorial

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

Enabling VK_KHR_portability_enumeration causes deadlock on Arch Linux #368

Open saccharineboi opened 7 months ago

saccharineboi commented 7 months 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 6 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.