vkCopyAccelerationStructureKHR
To copy or compact an acceleration structure on the host, call:
VkResult vkCopyAccelerationStructureKHR(
VkDevice device,
VkDeferredOperationKHR deferredOperation,
const VkCopyAccelerationStructureInfoKHR* pInfo);
device
is the device which owns the acceleration structures.deferredOperation
is an optional VkDeferredOperationKHR to request deferral for this command.pInfo
is a pointer to a VkCopyAccelerationStructureInfoKHR structure defining the copy operation.
This command fulfills the same task as vkCmdCopyAccelerationStructureKHR but is executed by the host.
Valid Usage
VUID-vkCopyAccelerationStructureKHR-accelerationStructureHostCommands-03582
The VkPhysicalDeviceAccelerationStructureFeaturesKHR
::accelerationStructureHostCommands
feature must be enabled
VUID-vkCopyAccelerationStructureKHR-deferredOperation-03678
Any previous deferred operation that was associated with
deferredOperation
must be complete
VUID-vkCopyAccelerationStructureKHR-buffer-03727
The buffer
used to create pInfo→src
must be bound to
host-visible device memory
VUID-vkCopyAccelerationStructureKHR-buffer-03728
The buffer
used to create pInfo→dst
must be bound to
host-visible device memory
VUID-vkCopyAccelerationStructureKHR-buffer-03780
The buffer
used to create pInfo→src
must be bound to
memory that was not allocated with multiple instances
VUID-vkCopyAccelerationStructureKHR-buffer-03781
The buffer
used to create pInfo→dst
must be bound to
memory that was not allocated with multiple instances
Valid Usage (Implicit)
VUID-vkCopyAccelerationStructureKHR-device-parameter
device
must be a valid VkDevice handle
VUID-vkCopyAccelerationStructureKHR-deferredOperation-parameter
If deferredOperation
is not VK_NULL_HANDLE, deferredOperation
must be a valid VkDeferredOperationKHR handle
VUID-vkCopyAccelerationStructureKHR-pInfo-parameter
pInfo
must be a valid pointer to a valid VkCopyAccelerationStructureInfoKHR structure
VUID-vkCopyAccelerationStructureKHR-deferredOperation-parent
If deferredOperation
is a valid handle, it must have been created, allocated, or retrieved from device