vkCopyAccelerationStructureToMemoryKHR
To copy an acceleration structure to host accessible memory, call:
VkResult vkCopyAccelerationStructureToMemoryKHR(
VkDevice device,
VkDeferredOperationKHR deferredOperation,
const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
pub fn copy_acceleration_structure_to_memory_khr(
device: vk::Device,
deferred_operation: vk::DeferredOperationKHR,
p_info: *const vk::CopyAccelerationStructureToMemoryInfoKHR,
) -> vk::Result;
deviceis the device which ownspInfo→src.deferredOperationis an optional VkDeferredOperationKHR to request deferral for this command.pInfois a pointer to a VkCopyAccelerationStructureToMemoryInfoKHR structure defining the copy operation.
This command fulfills the same task as vkCmdCopyAccelerationStructureToMemoryKHR but is executed by the host.
This command produces the same results as vkCmdCopyAccelerationStructureToMemoryKHR, but writes its result directly to a host pointer, and is executed on the host rather than the device. The output may not necessarily be bit-for-bit identical, but it can be equally used by either vkCmdCopyMemoryToAccelerationStructureKHR or vkCopyMemoryToAccelerationStructureKHR.
Valid Usage
VUID-vkCopyAccelerationStructureToMemoryKHR-accelerationStructureHostCommands-03584
The VkPhysicalDeviceAccelerationStructureFeaturesKHR::accelerationStructureHostCommands
feature must be enabled
VUID-vkCopyAccelerationStructureToMemoryKHR-deferredOperation-03678
Any previous deferred operation that was associated with
deferredOperation must be complete
VUID-vkCopyAccelerationStructureToMemoryKHR-pInfo-03731
pInfo→src must be bound to host-visible device memory
VUID-vkCopyAccelerationStructureToMemoryKHR-pInfo-03732
pInfo→dst.hostAddress must be a valid host pointer
VUID-vkCopyAccelerationStructureToMemoryKHR-pInfo-03751
pInfo→dst.hostAddress must be aligned to 16 bytes
VUID-vkCopyAccelerationStructureToMemoryKHR-buffer-03783
pInfo→src must not be bound to memory that was allocated with
multiple instances
VUID-vkCopyAccelerationStructureToMemoryKHR-src-11678
pInfo→src must have been created with
vkCreateAccelerationStructureKHR
Valid Usage (Implicit)
VUID-vkCopyAccelerationStructureToMemoryKHR-device-parameter
device must be a valid VkDevice handle
VUID-vkCopyAccelerationStructureToMemoryKHR-deferredOperation-parameter
If deferredOperation is not VK_NULL_HANDLE, deferredOperation must be a valid VkDeferredOperationKHR handle
VUID-vkCopyAccelerationStructureToMemoryKHR-pInfo-parameter
pInfo must be a valid pointer to a valid VkCopyAccelerationStructureToMemoryInfoKHR structure
VUID-vkCopyAccelerationStructureToMemoryKHR-deferredOperation-parent
If deferredOperation is a valid handle, it must have been created, allocated, or retrieved from device