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 Commands

New Structures

If VK_KHR_ray_tracing_pipeline is supported:

New Unions

New Enums

New Bitmasks

New Enum Constants

  • VK_NV_CLUSTER_ACCELERATION_STRUCTURE_EXTENSION_NAME
  • VK_NV_CLUSTER_ACCELERATION_STRUCTURE_SPEC_VERSION
  • 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

New SPIR-V Capability

Version History

  • 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