VK_EXT_line_rasterization

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

New Structures

New Enums

New Enum Constants

  • VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME
  • VK_EXT_LINE_RASTERIZATION_SPEC_VERSION
  • Extending VkDynamicState:
    • VK_DYNAMIC_STATE_LINE_STIPPLE_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