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

CC BY-SA 4.0
2019-02-15T22:43:02.520Z
2019-02-15T22:43:02.520Z
Vectorizer
<p>I departed slightly from the Vulkan tutorial I was following and decided to draw a wireframe instead of a solid triangle.</p>

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

<blockquote>
  <p><code>vkCreateGraphicsPipelines</code> parameter, <code>VkPolygonMode</code> <code>pCreateInfos-&gt; pRasterizationState-&gt;polygonMode</code> cannot be <code>VK_POLYGON_MODE_POINT</code> or <code>VK_POLYGON_MODE_LINE</code> if <code>VkPhysicalDeviceFeatures-&gt;fillModeNonSolid</code> is false.</p>
</blockquote>

<p>For good measure I check the <code>VkPhysicalDeviceFeatures</code> right after I call <code>vkCreateGraphicsPipelines()</code> and <code>fillModeNonSolid</code> is <code>VK_TRUE</code>.</p>

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

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

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

<vulkan>
Inconsistent behavior involving VkPhysicalDeviceFeatures.fillModeNonSolid
Vectorizer
# Inconsistent behavior involving VkPhysicalDeviceFeatures.fillModeNonSolid

(Asked by: username_0 on 2019-01-20)

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

**Tags:** vulkan


---

## 1 answers

### Answer by username_0 on 2019-02-15. Score: 2 | Accepted answer

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


---

