Top Description Fields Constructors Methods
org.lwjgl.vulkan

public final Class EXTConservativeRasterization

extends Object
Class Inheritance

This extension adds a new rasterization mode called conservative rasterization. There are two modes of conservative rasterization; overestimation and underestimation.

When overestimation is enabled, if any part of the primitive, including its edges, covers any part of the rectangular pixel area, including its sides, then a fragment is generated with all coverage samples turned on. This extension allows for some variation in implementations by accounting for differences in overestimation, where the generating primitive size is increased at each of its edges by some sub-pixel amount to further increase conservative pixel coverage. Implementations can allow the application to specify an extra overestimation beyond the base overestimation the implementation already does. It also allows implementations to either cull degenerate primitives or rasterize them.

When underestimation is enabled, fragments are only generated if the rectangular pixel area is fully covered by the generating primitive. If supported by the implementation, when a pixel rectangle is fully covered the fragment shader input variable builtin called FullyCoveredEXT is set to true. The shader variable works in either overestimation or underestimation mode.

Implementations can process degenerate triangles and lines by either discarding them or generating conservative fragments for them. Degenerate triangles are those that end up with zero area after the rasterizer quantizes them to the fixed-point pixel grid. Degenerate lines are those with zero length after quantization.

VK_EXT_conservative_rasterization
Name String
VK_EXT_conservative_rasterization
Extension Type
Device extension
Registered Extension Number
102
Revision
1
Extension and Version Dependencies
VK_KHR_get_physical_device_properties2 or Version 1.1
Contact
Other Extension Metadata
Last Modified Date
2020-06-09
Interactions and External Dependencies
Contributors
  • Daniel Koch, NVIDIA
  • Daniel Rakos, AMD
  • Jeff Bolz, NVIDIA
  • Slawomir Grajewski, Intel
  • Stu Smith, Imagination Technologies

Field Summary

Modifier and TypeField and Description
public static final int
VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT

VkConservativeRasterizationModeEXT - Specify the conservative rasterization mode Description

public static final int
VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT

VkConservativeRasterizationModeEXT - Specify the conservative rasterization mode Description

public static final int
VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT

VkConservativeRasterizationModeEXT - Specify the conservative rasterization mode Description

public static final String
public static final int
VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION

The extension specification version.

public static final int
public static final int

Constructor Summary

AccessConstructor and Description
private

Method Summary

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXTback to summary
public static final int VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT

VkConservativeRasterizationModeEXT - Specify the conservative rasterization mode

Description
See Also

VkPipelineRasterizationConservativeStateCreateInfoEXT, CmdSetConservativeRasterizationModeEXT

VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXTback to summary
public static final int VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT

VkConservativeRasterizationModeEXT - Specify the conservative rasterization mode

Description
See Also

VkPipelineRasterizationConservativeStateCreateInfoEXT, CmdSetConservativeRasterizationModeEXT

VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXTback to summary
public static final int VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT

VkConservativeRasterizationModeEXT - Specify the conservative rasterization mode

Description
See Also

VkPipelineRasterizationConservativeStateCreateInfoEXT, CmdSetConservativeRasterizationModeEXT

VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAMEback to summary
public static final String VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME

The extension name.

VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSIONback to summary
public static final int VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION

The extension specification version.

VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXTback to summary
public static final int VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT

Extends VkStructureType.

Enum values:
VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXTback to summary
public static final int VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT

Extends VkStructureType.

Enum values:

Constructor Detail

EXTConservativeRasterizationback to summary
private EXTConservativeRasterization()