Function Prototype

vkCmdSetPrimitiveRestartEnable

Set primitive assembly restart state dynamically for a command buffer

To dynamically control whether a special vertex index value is treated as restarting the assembly of primitives, call:

void vkCmdSetPrimitiveRestartEnableEXT(
    VkCommandBuffer commandBuffer,
    VkBool32 primitiveRestartEnable);
  • commandBuffer is the command buffer into which the command will be recorded.
  • primitiveRestartEnable controls whether a special vertex index value is treated as restarting the assembly of primitives. It behaves in the same way as VkPipelineInputAssemblyStateCreateInfo::primitiveRestartEnable

This command sets the primitive restart enable for subsequent drawing commands when drawing using shader objects, or when the graphics pipeline is created with VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE set in VkPipelineDynamicStateCreateInfo::pDynamicStates. Otherwise, this state is specified by the VkPipelineInputAssemblyStateCreateInfo::primitiveRestartEnable value used to create the currently active pipeline.

Valid Usage

VUID-vkCmdSetPrimitiveRestartEnable-None-08970

At least one of the following must be true:

Valid Usage (Implicit)

VUID-vkCmdSetPrimitiveRestartEnable-commandBuffer-cmdpool

The VkCommandPool that commandBuffer was allocated from must support graphics operations

VUID-vkCmdSetPrimitiveRestartEnable-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 ::