Top Description Fields Constructors Methods
org.lwjgl.vulkan

public final Class NVRepresentativeFragmentTest

extends Object
Class Inheritance

This extension provides a new representative fragment test that allows implementations to reduce the amount of rasterization and fragment processing work performed for each point, line, or triangle primitive. For any primitive that produces one or more fragments that pass all other early fragment tests, the implementation is permitted to choose one or more “representative” fragments for processing and discard all other fragments. For draw calls rendering multiple points, lines, or triangles arranged in lists, strips, or fans, the representative fragment test is performed independently for each of those primitives.

This extension is useful for applications that use an early render pass to determine the full set of primitives that would be visible in the final scene. In this render pass, such applications would set up a fragment shader that enables early fragment tests and writes to an image or shader storage buffer to record the ID of the primitive that generated the fragment. Without this extension, the shader would record the ID separately for each visible fragment of each primitive. With this extension, fewer stores will be performed, particularly for large primitives.

The representative fragment test has no effect if early fragment tests are not enabled via the fragment shader. The set of fragments discarded by the representative fragment test is implementation-dependent and may vary from frame to frame. In some cases, the representative fragment test may not discard any fragments for a given primitive.

VK_NV_representative_fragment_test
Name String
VK_NV_representative_fragment_test
Extension Type
Device extension
Registered Extension Number
167
Revision
2
Extension and Version Dependencies
VK_KHR_get_physical_device_properties2
Contact
Other Extension Metadata
Last Modified Date
2018-09-13
Contributors
  • Kedarnath Thangudu, NVIDIA
  • Christoph Kubisch, NVIDIA
  • Pierre Boudier, NVIDIA
  • Pat Brown, NVIDIA
  • Jeff Bolz, NVIDIA
  • Eric Werness, NVIDIA

Field Summary

Modifier and TypeField and Description
public static final String
public static final int
VK_NV_REPRESENTATIVE_FRAGMENT_TEST_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_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAMEback to summary
public static final String VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME

The extension name.

VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSIONback to summary
public static final int VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION

The extension specification version.

VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NVback to summary
public static final int VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV

Extends VkStructureType.

Enum values:
VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NVback to summary
public static final int VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV

Extends VkStructureType.

Enum values:

Constructor Detail

NVRepresentativeFragmentTestback to summary
private NVRepresentativeFragmentTest()