VK_KHR_ray_tracing_maintenance1

Other Extension Metadata

Last Modified Date

2022-02-21

Interactions and External Dependencies
Contributors
  • Stu Smith, AMD
  • Tobias Hector, AMD
  • Marius Bjorge, Arm
  • Tom Olson, Arm
  • Yuriy O’Donnell, Epic Games
  • Yunpeng Zhu, Huawei
  • Andrew Garrard, Imagination
  • Dae Kim, Imagination
  • Joshua Barczak, Intel
  • Lionel Landwerlin, Intel
  • Daniel Koch, NVIDIA
  • Eric Werness, NVIDIA
  • Spencer Fricke, Samsung

Description

VK_KHR_ray_tracing_maintenance1 adds a collection of minor ray tracing features, none of which would warrant an entire extension of their own.

The new features are as follows:

  • Adds support for the SPV_KHR_ray_cull_mask SPIR-V extension in Vulkan. This extension provides access to built-in CullMaskKHR shader variable which contains the value of the OpTrace* Cull Mask parameter. This new shader variable is accessible in the intersection, any-hit, closest hit and miss shader stages.
  • Adds support for a new pipeline stage and access mask built on top of VK_KHR_synchronization2:
  • Adds two new acceleration structure query parameters:
    • VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SIZE_KHR to query the acceleration structure size on the device timeline
    • VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_BOTTOM_LEVEL_POINTERS_KHR to query the number of bottom level acceleration structure pointers for serialization
  • Adds an optional new indirect ray tracing dispatch command, vkCmdTraceRaysIndirect2KHR, which sources the shader binding table parameters as well as the dispatch dimensions from the device. The rayTracingPipelineTraceRaysIndirect2 feature indicates whether this functionality is supported.

New Commands

If VK_KHR_ray_tracing_pipeline is supported:

New Structures

If VK_KHR_ray_tracing_pipeline is supported:

New Enum Constants

  • VK_KHR_RAY_TRACING_MAINTENANCE_1_EXTENSION_NAME
  • VK_KHR_RAY_TRACING_MAINTENANCE_1_SPEC_VERSION
  • Extending VkQueryType:
    • VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_BOTTOM_LEVEL_POINTERS_KHR
    • VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SIZE_KHR
  • Extending VkStructureType:
    • VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR

If VK_KHR_synchronization2 or Vulkan Version 1.3 and VK_KHR_ray_tracing_pipeline is supported:

If VK_EXT_device_generated_commands is supported:

If VK_KHR_synchronization2 or Vulkan Version 1.3 is supported:

New Built-In Variables

New SPIR-V Capabilities

Issues

None Yet!

Version History

  • Revision 1, 2022-02-21 (Members of the Vulkan Ray Tracing TSG)
    • internal revisions