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
- Extending VkPhysicalDeviceFeatures2, VkDeviceCreateInfo:
- Extending VkPhysicalDeviceProperties2:
- Extending VkPipelineRasterizationStateCreateInfo:
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