vkCmdSetPrimitiveRestartEnable
To dynamically control whether a special vertex index value is treated as restarting the assembly of primitives, call:
void vkCmdSetPrimitiveRestartEnableEXT(
VkCommandBuffer commandBuffer,
VkBool32 primitiveRestartEnable);
commandBufferis the command buffer into which the command will be recorded.primitiveRestartEnablecontrols whether a special vertex index value is treated as restarting the assembly of primitives. It behaves in the same way asVkPipelineInputAssemblyStateCreateInfo::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:
- the
extendedDynamicState2feature is enabled - the
shaderObjectfeature is enabled ::
Valid Usage (Implicit)
VUID-vkCmdSetPrimitiveRestartEnable-commandBuffer-parameter
commandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdSetPrimitiveRestartEnable-commandBuffer-recording
commandBuffer must be in the recording state
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
commandBuffermust be externally synchronized - Host access to the
VkCommandPoolthatcommandBufferwas allocated from must be externally synchronized ::