VK_NV_cluster_acceleration_structure(3)

Name

VK_NV_cluster_acceleration_structure - device extension

VK_NV_cluster_acceleration_structure

Name String

VK_NV_cluster_acceleration_structure

Extension Type

Device extension

Registered Extension Number

570

Revision

4

Ratification Status

Not ratified

Extension and Version Dependencies
API Interactions
  • Interacts with VK_EXT_opacity_micromap

  • Interacts with VK_KHR_ray_tracing_pipeline

SPIR-V Dependencies
Contact
Extension Proposal

VK_NV_cluster_acceleration_structure

Other Extension Metadata

Last Modified Date

2024-09-09

Contributors
  • Vikram Kushwaha, NVIDIA

  • Eric Werness, NVIDIA

  • Christoph Kubisch, NVIDIA

  • Jan Schmid, NVIDIA

  • Pyarelal Knowles, NVIDIA

Description

Acceleration structure build times can become a bottleneck in ray tracing applications dealing with extensive dynamic geometry. This extension addresses the problem by enabling applications to construct bottom-level acceleration structures (BLAS) from pre-generated acceleration structures based on clusters of triangles (CLAS), leading to significant improvements in build times.

It provides a host-side query function to fetch the requirements and a versatile multi-indirect call for managing cluster geometry. This call enables applications to generate cluster geometry, construct Cluster BLAS from CLAS lists, and move or copy CLAS and BLAS. By sourcing inputs from device memory and processing multiple elements simultaneously, the call reduces the host-side costs associated with traditional acceleration structure functions.

This extension adds support for the following SPIR-V extension in Vulkan:

  • SPV_NV_cluster_acceleration_structure

New Enum Constants

  • VK_NV_CLUSTER_ACCELERATION_STRUCTURE_EXTENSION_NAME

  • VK_NV_CLUSTER_ACCELERATION_STRUCTURE_SPEC_VERSION

  • Extending VkBuildAccelerationStructureFlagBitsKHR:

    • VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_CLUSTER_OPACITY_MICROMAPS_BIT_NV

  • Extending VkStructureType:

    • VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_CLUSTERS_BOTTOM_LEVEL_INPUT_NV

    • VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_COMMANDS_INFO_NV

    • VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_INPUT_INFO_NV

    • VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_MOVE_OBJECTS_INPUT_NV

    • VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_TRIANGLE_CLUSTER_INPUT_NV

    • VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_FEATURES_NV

    • VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_PROPERTIES_NV

    • VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CLUSTER_ACCELERATION_STRUCTURE_CREATE_INFO_NV

If VK_EXT_opacity_micromap is supported:

New or Modified Built-In Variables

Version History

  • Revision 4, 2025-07-16 (Vikram Kushwaha)

    • Adding build flag to enable OMM in cluster acceleration structure

  • Revision 3, 2025-06-18 (Vikram Kushwaha)

    • Adding a OpType to get template’s index data

  • Revision 2, 2024-09-09 (Vikram Kushwaha)

    • Changes to some structures causing incompatibility with Revision 1

  • Revision 1, 2024-08-29 (Vikram Kushwaha)

    • 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.