Function Prototype

vkCopyMemoryToAccelerationStructureKHR

Deserialize an acceleration structure on the host

To copy host accessible memory to an acceleration structure, call:

VkResult vkCopyMemoryToAccelerationStructureKHR(
    VkDevice device,
    VkDeferredOperationKHR deferredOperation,
    const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);

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

This command can accept acceleration structures produced by either vkCmdCopyAccelerationStructureToMemoryKHR or vkCopyAccelerationStructureToMemoryKHR.

Valid Usage

VUID-vkCopyMemoryToAccelerationStructureKHR-deferredOperation-03678

Any previous deferred operation that was associated with deferredOperation must be complete

VUID-vkCopyMemoryToAccelerationStructureKHR-pInfo-03729

pInfo→src.hostAddress must be a valid host pointer

VUID-vkCopyMemoryToAccelerationStructureKHR-pInfo-03750

pInfo→src.hostAddress must be aligned to 16 bytes

VUID-vkCopyMemoryToAccelerationStructureKHR-buffer-03730

The buffer used to create pInfo→dst must be bound to host-visible device memory

VUID-vkCopyMemoryToAccelerationStructureKHR-buffer-03782

The buffer used to create pInfo→dst must be bound to memory that was not allocated with multiple instances

Valid Usage (Implicit)

VUID-vkCopyMemoryToAccelerationStructureKHR-deferredOperation-parent

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