vkCmdCopyAccelerationStructureKHR
To copy an acceleration structure call:
void vkCmdCopyAccelerationStructureKHR(
VkCommandBuffer commandBuffer,
const VkCopyAccelerationStructureInfoKHR* pInfo);
pub fn cmd_copy_acceleration_structure_khr(
command_buffer: vk::CommandBuffer,
p_info: *const vk::CopyAccelerationStructureInfoKHR,
);
commandBufferis the command buffer into which the command will be recorded.pInfois a pointer to a VkCopyAccelerationStructureInfoKHR structure defining the copy operation.
This command copies the pInfo→src acceleration structure to the
pInfo→dst acceleration structure in the manner specified by
pInfo→mode.
Accesses to pInfo→src and pInfo→dst must be
synchronized with the
VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR
pipeline stage or the
VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR
pipeline stage, and an
access type of
VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR or
VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR as appropriate.
Valid Usage
VUID-vkCmdCopyAccelerationStructureKHR-accelerationStructure-08925
The VkPhysicalDeviceAccelerationStructureFeaturesKHR::accelerationStructure
feature must be enabled
VUID-vkCmdCopyAccelerationStructureKHR-src-11633
The source acceleration structure pInfo→src must have been
constructed prior to the execution of this command on the device
VUID-vkCmdCopyAccelerationStructureKHR-src-11634
If the source acceleration structure pInfo→src was constructed
through deserialization, all micromap arrays the acceleration structure
references that were not replaced by an acceleration structure update
command must have been deserialized using the serialized data of the
corresponding micromaps used to originally build the acceleration
structure prior to the execution of this command on the device
Valid Usage (Implicit)
VUID-vkCmdCopyAccelerationStructureKHR-commandBuffer-parameter
commandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdCopyAccelerationStructureKHR-pInfo-parameter
pInfo must be a valid pointer to a valid VkCopyAccelerationStructureInfoKHR structure
VUID-vkCmdCopyAccelerationStructureKHR-commandBuffer-recording
commandBuffer must be in the recording state
VUID-vkCmdCopyAccelerationStructureKHR-commandBuffer-cmdpool
The VkCommandPool that commandBuffer was allocated from must support VK_QUEUE_COMPUTE_BIT operations
VUID-vkCmdCopyAccelerationStructureKHR-renderpass
This command must only be called outside of a render pass instance
VUID-vkCmdCopyAccelerationStructureKHR-suspended
This command must not be called between suspended render pass instances
VUID-vkCmdCopyAccelerationStructureKHR-videocoding
This command must only be called outside of a video coding scope
Host Synchronization
- Host access to
commandBuffermust be externally synchronized - Host access to the
VkCommandPoolthatcommandBufferwas allocated from must be externally synchronized