vkCopyMemoryToAccelerationStructureKHR
To copy host accessible memory to an acceleration structure, call:
VkResult vkCopyMemoryToAccelerationStructureKHR(
VkDevice device,
VkDeferredOperationKHR deferredOperation,
const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
pub fn copy_memory_to_acceleration_structure_khr(
device: vk::Device,
deferred_operation: vk::DeferredOperationKHR,
p_info: *const vk::CopyMemoryToAccelerationStructureInfoKHR,
) -> vk::Result;
deviceis the device which ownspInfo→dst.deferredOperationis an optional VkDeferredOperationKHR to request deferral for this command.pInfois a pointer to a VkCopyMemoryToAccelerationStructureInfoKHR structure defining the copy operation.
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-accelerationStructureHostCommands-03583
The VkPhysicalDeviceAccelerationStructureFeaturesKHR::accelerationStructureHostCommands
feature must be enabled
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
pInfo→dst must be bound to host-visible device memory
VUID-vkCopyMemoryToAccelerationStructureKHR-buffer-03782
pInfo→dst must be bound to memory that was not allocated with
multiple instances
VUID-vkCopyMemoryToAccelerationStructureKHR-dst-11677
pInfo→dst must have been created with
vkCreateAccelerationStructureKHR
Valid Usage (Implicit)
VUID-vkCopyMemoryToAccelerationStructureKHR-device-parameter
device must be a valid VkDevice handle
VUID-vkCopyMemoryToAccelerationStructureKHR-deferredOperation-parameter
If deferredOperation is not VK_NULL_HANDLE, deferredOperation must be a valid VkDeferredOperationKHR handle
VUID-vkCopyMemoryToAccelerationStructureKHR-pInfo-parameter
pInfo must be a valid pointer to a valid VkCopyMemoryToAccelerationStructureInfoKHR structure
VUID-vkCopyMemoryToAccelerationStructureKHR-deferredOperation-parent
If deferredOperation is a valid handle, it must have been created, allocated, or retrieved from device