Function Prototype

vkCopyAccelerationStructureKHR

Copy an acceleration structure on the host

To copy or compact an acceleration structure on the host, call:

VkResult vkCopyAccelerationStructureKHR(
    VkDevice device,
    VkDeferredOperationKHR deferredOperation,
    const VkCopyAccelerationStructureInfoKHR* pInfo);

This command fulfills the same task as vkCmdCopyAccelerationStructureKHR but is executed by the host.

Valid Usage

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-deferredOperation-parameter

If deferredOperation is not VK_NULL_HANDLE, deferredOperation must be a valid VkDeferredOperationKHR handle

VUID-vkCopyAccelerationStructureKHR-deferredOperation-parent

If deferredOperation is a valid handle, it must have been created, allocated, or retrieved from device