VK_NV_cluster_acceleration_structure(3)
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
-
-
Vikram Kushwaha vkushwaha
-
- Extension Proposal
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 Structures
If VK_KHR_ray_tracing_pipeline is supported:
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:
-
Extending VkOpacityMicromapSpecialIndexEXT:
-
VK_OPACITY_MICROMAP_SPECIAL_INDEX_CLUSTER_GEOMETRY_DISABLE_OPACITY_MICROMAP_NV
-
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
-
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.