VkBuildPartitionedAccelerationStructureInfoNV
The VkBuildPartitionedAccelerationStructureInfoNV structure is defined as:
typedef struct VkBuildPartitionedAccelerationStructureInfoNV {
VkStructureType sType;
void* pNext;
VkPartitionedAccelerationStructureInstancesInputNV input;
VkDeviceAddress srcAccelerationStructureData;
VkDeviceAddress dstAccelerationStructureData;
VkDeviceAddress scratchData;
VkDeviceAddress srcInfos;
VkDeviceAddress srcInfosCount;
} VkBuildPartitionedAccelerationStructureInfoNV;
sType
is a VkStructureType value identifying this structure.pNext
isNULL
or a pointer to a structure extending this structure.input
is a VkPartitionedAccelerationStructureInstancesInputNV structure describing the instance and partition count information in the PTLAS.srcAccelerationStructureData
isNULL
or an address of a previously built PTLAS. If non-NULL
, the PTLAS stored at this address is used as a basis to create new PTLAS.dstAccelerationStructureData
is the address to store the built PTLAS.scratchData
is the device address of scratch memory that will be used during PTLAS build.srcInfos
is the device address of an array of VkBuildPartitionedAccelerationStructureIndirectCommandNV structures describing the type of operation to perform.srcInfosCount
is a device address containing the size ofsrcInfos
array.
Members srcAccelerationStructureData
and
dstAccelerationStructureData
may be the same or different.
If they are the same, the update happens in-place.
Otherwise, the destination acceleration structure is updated and the source
is not modified.
Valid Usage
VUID-VkBuildPartitionedAccelerationStructureInfoNV-scratchData-10558
scratchData
must not be NULL
VUID-VkBuildPartitionedAccelerationStructureInfoNV-scratchData-10559
Memory at scratchData
must be equal or larger than the
VkAccelerationStructureBuildSizesInfoKHR::buildScratchSize
value returned from
vkGetPartitionedAccelerationStructuresBuildSizesNV with the same
build parameters
VUID-VkBuildPartitionedAccelerationStructureInfoNV-srcAccelerationStructureData-10560
If srcAccelerationStructureData
is not NULL
, it must have
previously been built as a PTLAS
VUID-VkBuildPartitionedAccelerationStructureInfoNV-dstAccelerationStructureData-10561
dstAccelerationStructureData
must not be NULL
VUID-VkBuildPartitionedAccelerationStructureInfoNV-dstAccelerationStructureData-10562
Memory at dstAccelerationStructureData
must be equal or larger
than the
VkAccelerationStructureBuildSizesInfoKHR::accelerationStructureSize
value returned from
vkGetPartitionedAccelerationStructuresBuildSizesNV with the same
build parameters
VUID-VkBuildPartitionedAccelerationStructureInfoNV-srcInfosCount-10563
srcInfosCount
must be 4-byte aligned
VUID-VkBuildPartitionedAccelerationStructureInfoNV-srcInfos-10564
Each element of srcInfos
array must have a unique
VkBuildPartitionedAccelerationStructureIndirectCommandNV::opType
Valid Usage (Implicit)
VUID-VkBuildPartitionedAccelerationStructureInfoNV-sType-sType
sType
must be VK_STRUCTURE_TYPE_BUILD_PARTITIONED_ACCELERATION_STRUCTURE_INFO_NV
VUID-VkBuildPartitionedAccelerationStructureInfoNV-pNext-pNext
pNext
must be NULL
VUID-VkBuildPartitionedAccelerationStructureInfoNV-input-parameter
input
must be a valid VkPartitionedAccelerationStructureInstancesInputNV structure