# VK_EXT_line_rasterization(3) Manual Page

## Name

VK_EXT_line_rasterization - device extension

Loading… please wait.

## Registered Extension Number

260

## Revision

1

## Ratification Status

Not ratified

## Extension and Version Dependencies

VK_KHR_get_physical_device_properties2
or
Vulkan Version 1.1

## Deprecation State

- Promoted to VK_KHR_line_rasterization extension

  - Which in turn was promoted to Vulkan 1.4

## Special Use

- CAD support

## Contact

- Jeff Bolz [GitHub]jeffbolznv

## Other Extension Metadata

Last Modified Date

  2019-05-09

IP Status

  No known IP claims.

Contributors

  - Jeff Bolz, NVIDIA

  - Allen Jensen, NVIDIA

  - Faith Ekstrand, Intel

## Description

This extension adds some line rasterization features that are commonly used in CAD applications and supported in other APIs like OpenGL. Bresenham-style line rasterization is supported, smooth rectangular lines (coverage to alpha) are supported, and stippled lines are supported for all three line rasterization modes.

## Promotion to `VK_KHR_line_rasterization`

All functionality in this extension is included in `VK_KHR_line_rasterization`, with the suffix changed to KHR. The original enum names are still available as aliases of the KHR functionality.

## New Commands

- vkCmdSetLineStippleEXT

## New Structures

- Extending VkPhysicalDeviceFeatures2, VkDeviceCreateInfo:

  - VkPhysicalDeviceLineRasterizationFeaturesEXT

- Extending VkPhysicalDeviceProperties2:

  - VkPhysicalDeviceLineRasterizationPropertiesEXT

- Extending VkPipelineRasterizationStateCreateInfo:

  - VkPipelineRasterizationLineStateCreateInfoEXT

## New Enums

- VkLineRasterizationModeEXT

## New Enum Constants

- `VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME`

- `VK_EXT_LINE_RASTERIZATION_SPEC_VERSION`

- Extending VkDynamicState:

  - `VK_DYNAMIC_STATE_LINE_STIPPLE_EXT`

- Extending VkLineRasterizationMode:

  - `VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT`

  - `VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT`

  - `VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT`

  - `VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT`

- Extending VkStructureType:

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT`

  - `VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT`

## Issues

1) Do we need to support Bresenham-style and smooth lines with more than one rasterization sample? i.e. the equivalent of glDisable(GL_MULTISAMPLE) in OpenGL when the framebuffer has more than one sample?

RESOLVED: Yes. For simplicity, Bresenham line rasterization carries forward a few restrictions from OpenGL, such as not supporting per-sample shading, alpha to coverage, or alpha to one.

## Version History

- Revision 1, 2019-05-09 (Jeff Bolz)

  - Initial draft

## See Also

No cross-references are available

## Document Notes

For more information, see the Vulkan Specification

This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.

## Copyright

Copyright 2014-2025 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0