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,
VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR = 2,
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;
or the equivalent
// Provided by VK_NV_ray_tracing
typedef VkCopyAccelerationStructureModeKHR VkCopyAccelerationStructureModeNV;
Description
-
VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR
creates a direct copy of the acceleration structure specified insrc
into the one specified bydst
. Thedst
acceleration structure must have been created with the same parameters assrc
. Ifsrc
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 structuresrc
intodst
. The acceleration structuredst
must have been created with a size at least as large as that returned by vkCmdWriteAccelerationStructuresPropertiesKHR or vkWriteAccelerationStructuresPropertiesKHR after the build of the acceleration structure specified bysrc
. Ifsrc
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.
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.