MacOS - Vulkan at runtime vkCreateDevice() fails when VkPhysicalDeviceFeatures wideLines = VK_TURE and doestn’t support vkCmdSetLineWidth API as well

I am new to Vulkan, and recently started learning .

I am facing issue, at runtime in vkCreateDevice() fails, when VkPhysicalDeviceFeatures is enables with

VkPhysicalDeviceFeatures features {}; features.wideLines = VK_TRUE; Error – [mvk-error] VK_ERROR_FEATURE_NOT_PRESENT: vkCmdSetLineWidth(): The current device does not support wide lines

And when features.wideLines = VK_FALSE; vkCreateDevice() creations is successful, but I am not able to modify the LineWidth using - vkCmdSetLineWidth (command_buffer, line_width); this gives me

error- [mvk-error] VK_ERROR_FEATURE_NOT_PRESENT: vkCmdSetLineWidth(): The current device does not support wide lines.

here is some of details -

MacOS - 10.14 (Mojave) Graphics card - Graphichs - Intel UHD Graphics 630 1536 MB LunarG Vulkan Instance Version: 1.2.154 Note- Same version of “LunarG Vulkan Instance Version: 1.2.154” on windows is working fine when features.wideLines = VK_TRUE; and able to use vkCmdSetLineWidth (command_buffer, line_width); Some of details of VulkanInfo mentioning here related to wideLines feature-

VkPhysicalDeviceFeatures:

geometryShader       = false
wideLines            = false
lineWidthRange: count =  2
        1
        1
lineWidthGranularity = 1
strictLines          = false

I did some searches in Vulkan Documentation/on google, but couldn’t find anyone reporting a similar issue. Any help would be appreciated.

1 answer

  • answered 2020-10-16 05:15 Nicol Bolas

    As you were told elsewhere, Metal does not support wide-lines, so MoltenVK (Vulkan over Metal) cannot support wide lines either. You will have to render wide lines manually with polygons.