Structures

VkCopyMemoryToAccelerationStructureInfoKHR

Parameters for deserializing an acceleration structure

The VkCopyMemoryToAccelerationStructureInfoKHR structure is defined as:

typedef struct VkCopyMemoryToAccelerationStructureInfoKHR {
    VkStructureType sType;
    const void* pNext;
    VkDeviceOrHostAddressConstKHR src;
    VkAccelerationStructureKHR dst;
    VkCopyAccelerationStructureModeKHR mode;
} VkCopyMemoryToAccelerationStructureInfoKHR;
  • sType is a VkStructureType value identifying this structure.
  • pNext is NULL or a pointer to a structure extending this structure.
  • src is the device or host address of memory containing the source data for the copy.
  • dst is the target acceleration structure for the copy.
  • mode is a VkCopyAccelerationStructureModeKHR value specifying additional operations to perform during the copy.

Valid Usage

VUID-VkCopyMemoryToAccelerationStructureInfoKHR-src-04960

The source memory pointed to by src must contain data previously serialized using vkCmdCopyAccelerationStructureToMemoryKHR, potentially modified to relocate acceleration structure references as described in that command

VUID-VkCopyMemoryToAccelerationStructureInfoKHR-mode-03413

mode must be VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR

VUID-VkCopyMemoryToAccelerationStructureInfoKHR-pInfo-03414

The data in src must have a format compatible with the destination physical device as returned by vkGetDeviceAccelerationStructureCompatibilityKHR

VUID-VkCopyMemoryToAccelerationStructureInfoKHR-dst-03746

dst must have been created with a size greater than or equal to that used to serialize the data in src

VUID-VkCopyMemoryToAccelerationStructureInfoKHR-dst-11716

The range of src accessed by this command must be fully backed by physical memory

VUID-VkCopyMemoryToAccelerationStructureInfoKHR-dst-11717

The range of dst accessed by this command must be fully backed by physical memory

VUID-VkCopyMemoryToAccelerationStructureInfoKHR-src-11583

If the serialized acceleration structure in src is bottom-level, each block in the header must have a type that corresponds to a valid value in VkAccelerationStructureSerializedBlockTypeKHR

VUID-VkCopyMemoryToAccelerationStructureInfoKHR-dst-11584

If the serialized acceleration structure in src is bottom-level, and any block in the header has a type of VK_ACCELERATION_STRUCTURE_SERIALIZED_BLOCK_TYPE_OPACITY_MICROMAP_KHR the VkPhysicalDeviceOpacityMicromapFeaturesKHR::micromap feature must be enabled

VUID-VkCopyMemoryToAccelerationStructureInfoKHR-dst-11585

If the serialized acceleration structure in src is bottom-level, every device address in each block in the header with type VK_ACCELERATION_STRUCTURE_SERIALIZED_BLOCK_TYPE_OPACITY_MICROMAP_KHRmust point to a valid VkDeviceAddress that was retrieved by vkGetBufferDeviceAddressKHR for the underlying buffer objects of compatible micromaps constructed on the VkDevice when the command is executed