Function Prototype

vkCmdSetLineRasterizationModeEXT

Specify the line rasterization mode dynamically for a command buffer
primary / secondary
both
graphics
state

To dynamically set the lineRasterizationMode state, call:

void vkCmdSetLineRasterizationModeEXT(
    VkCommandBuffer commandBuffer,
    VkLineRasterizationModeEXT lineRasterizationMode);
  • commandBuffer is the command buffer into which the command will be recorded.
  • lineRasterizationMode specifies the lineRasterizationMode state.

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

Valid Usage

VUID-vkCmdSetLineRasterizationModeEXT-None-09423

At least one of the following must be true:

VUID-vkCmdSetLineRasterizationModeEXT-lineRasterizationMode-07418

If lineRasterizationMode is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR, then the rectangularLines feature must be enabled

VUID-vkCmdSetLineRasterizationModeEXT-lineRasterizationMode-07419

If lineRasterizationMode is VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR, then the bresenhamLines feature must be enabled

VUID-vkCmdSetLineRasterizationModeEXT-lineRasterizationMode-07420

If lineRasterizationMode is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR, then the smoothLines feature must be enabled

Valid Usage (Implicit)

VUID-vkCmdSetLineRasterizationModeEXT-commandBuffer-cmdpool

The VkCommandPool that commandBuffer was allocated from must support graphics operations

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