Function Prototype

vkCmdSetPolygonModeEXT

Specify polygon mode dynamically for a command buffer
primary / secondary
both
graphics
state

To dynamically set the polygon mode, call:

void vkCmdSetPolygonModeEXT(
    VkCommandBuffer commandBuffer,
    VkPolygonMode polygonMode);
  • commandBuffer is the command buffer into which the command will be recorded.
  • polygonMode specifies polygon mode.

This command sets the polygon mode for subsequent drawing commands when drawing using shader objects, or when the graphics pipeline is created with VK_DYNAMIC_STATE_POLYGON_MODE_EXT set in VkPipelineDynamicStateCreateInfo::pDynamicStates. Otherwise, this state is specified by the VkPipelineRasterizationStateCreateInfo::polygonMode value used to create the currently active pipeline.

Valid Usage

VUID-vkCmdSetPolygonModeEXT-None-09423

At least one of the following must be true:- The extendedDynamicState3PolygonMode feature is enabled

VUID-vkCmdSetPolygonModeEXT-fillModeNonSolid-07424

If the [`fillModeNonSolid`](xref::features-fillModeNonSolid) feature is
not enabled, `polygonMode` :normative{type="must"} be `VK_POLYGON_MODE_FILL`

or VK_POLYGON_MODE_FILL_RECTANGLE_NV

VUID-vkCmdSetPolygonModeEXT-polygonMode-07425

If the VK_NV_fill_rectangle extension is not enabled, polygonMode must not be VK_POLYGON_MODE_FILL_RECTANGLE_NV

::

Valid Usage (Implicit)

VUID-vkCmdSetPolygonModeEXT-commandBuffer-cmdpool

The VkCommandPool that commandBuffer was allocated from must support graphics operations

VUID-vkCmdSetPolygonModeEXT-videocoding

This command must only be called outside of a video coding scope

Host Synchronization

  • Host access to commandBuffer must be externally synchronized
  • Host access to the VkCommandPool that commandBuffer was allocated from must be externally synchronized ::