# VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR(3) Manual Page

## Name

VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR - Structure describing the ray tracing maintenance features that can be supported by an implementation

Loading… please wait.

## C Specification

The `VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR` structure is defined as:

    // Provided by VK_KHR_ray_tracing_maintenance1
    typedef struct VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR {
        VkStructureType    sType;
        void*              pNext;
        VkBool32           rayTracingMaintenance1;
        VkBool32           rayTracingPipelineTraceRaysIndirect2;
    } VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR;

## Members

This structure describes the following features:

- `sType` is a VkStructureType value identifying this structure.

- `pNext` is `NULL` or a pointer to a structure extending this structure.

- `rayTracingMaintenance1` indicates that the implementation supports the following:

  - The `CullMaskKHR` SPIR-V builtin using the `SPV_KHR_ray_cull_mask` SPIR-V extension.

  - Additional acceleration structure property queries: `VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_BOTTOM_LEVEL_POINTERS_KHR` and `VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SIZE_KHR`.

  - A new access flag `VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR`.

  - A new pipeline stage flag bit `VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR`

- `rayTracingPipelineTraceRaysIndirect2` indicates whether the implementation supports the extended indirect ray tracing command vkCmdTraceRaysIndirect2KHR.

## Description

If the `VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR` structure is included in the `pNext` chain of the VkPhysicalDeviceFeatures2 structure passed to vkGetPhysicalDeviceFeatures2, it is filled in to indicate whether each corresponding feature is supported. If the application wishes to use a VkDevice with any features described by `VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR`, it must add an instance of the structure, with the desired feature members set to `VK_TRUE`, to the `pNext` chain of VkDeviceCreateInfo when creating the VkDevice.

Valid Usage (Implicit)

- VUID-VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR-sType-sType
  `sType` must be `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR`

## See Also

VK_KHR_ray_tracing_maintenance1, VkBool32, VkStructureType

## Document Notes

For more information, see the Vulkan Specification

This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.

## Copyright

Copyright 2014-2025 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0