2
$\begingroup$

I departed slightly from the Vulkan tutorial I was following and decided to draw a wireframe instead of a solid triangle.

As soon as I call vkCreateGraphicsPipelines(), I get the following message from Validation Layer even though the call finishes with VK_SUCCESS.

vkCreateGraphicsPipelines parameter, VkPolygonMode pCreateInfos-> pRasterizationState->polygonMode cannot be VK_POLYGON_MODE_POINT or VK_POLYGON_MODE_LINE if VkPhysicalDeviceFeatures->fillModeNonSolid is false.

For good measure I check the VkPhysicalDeviceFeatures right after I call vkCreateGraphicsPipelines() and fillModeNonSolid is VK_TRUE.

The output is a wireframe triangle as expected but the message got me worried if I am missing something.

I am using Nvidia GeForce GTX 1050Ti (driver 417.22), Vulkan 1.1.82.1 on Windows 10(64-bit).

PS: I am experiencing similar problem with wideLines feature as well:VkPhysicalDeviceFeatures has wideLines as VK_TRUE but Validation Layer thinks it is set to false

$\endgroup$

1 Answer 1

2
$\begingroup$

It turned out that the fillModeNonSolid feature needed to be explicitly enabled during logical device creation.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.