VkCopyAccelerationStructureModeKHR(3)

# VkCopyAccelerationStructureModeKHR(3) Manual Page

## Name

VkCopyAccelerationStructureModeKHR - Acceleration structure copy mode

## C Specification

Possible values of `mode` specifying additional operations to perform during the copy, are:

    // Provided by VK_KHR_acceleration_structure
    typedef enum VkCopyAccelerationStructureModeKHR {
        VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR = 0,
        VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR = 1,
      // Provided by VK_KHR_acceleration_structure
        VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR = 2,
      // Provided by VK_KHR_acceleration_structure
        VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR = 3,
      // Provided by VK_NV_ray_tracing
        VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR,
      // Provided by VK_NV_ray_tracing
        VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR,
    } VkCopyAccelerationStructureModeKHR;

    // Provided by VK_NV_ray_tracing
    // Equivalent to VkCopyAccelerationStructureModeKHR
    typedef VkCopyAccelerationStructureModeKHR VkCopyAccelerationStructureModeNV;

## Description

- VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR creates a direct copy of the acceleration structure specified in `src` into the one specified by `dst`. The `dst` acceleration structure must have been created with the same parameters as `src` with the exception of `size`, which must at least as large as the queried VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SIZE_KHR size . If `src` contains references to other acceleration structures, `dst` will reference the same acceleration structures.

- VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR creates a more compact version of an acceleration structure `src` into `dst`. The acceleration structure `dst` must have been created with a size at least as large as that returned by vkCmdWriteAccelerationStructuresPropertiesNV , vkCmdWriteAccelerationStructuresPropertiesKHR, or vkWriteAccelerationStructuresPropertiesKHR after the build of the acceleration structure specified by `src`. If `src` contains references to other acceleration structures, `dst` will reference the same acceleration structures.

- VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR serializes the acceleration structure to a semi-opaque format which can be reloaded on a compatible implementation.

- VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR deserializes the semi-opaque serialization format in the buffer to the acceleration structure. After deserialization, the destination acceleration structure is treated as having the same acceleration structure type as the originally serialized acceleration structure.

## See Also

VK_KHR_acceleration_structure, VK_NV_ray_tracing, VkCopyAccelerationStructureInfoKHR, VkCopyAccelerationStructureToMemoryInfoKHR, VkCopyMemoryToAccelerationStructureInfoKHR, vkCmdCopyAccelerationStructureNV

## 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-2026 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0