vkGetClusterAccelerationStructureBuildSizesNV
These cluster acceleration structures can be built or moved by a single versatile multi-indirect function vkCmdBuildClusterAccelerationStructureIndirectNV. To determine the memory requirements for executing this function, call:
void vkGetClusterAccelerationStructureBuildSizesNV(
VkDevice device,
const VkClusterAccelerationStructureInputInfoNV* pInfo,
VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo);
device
is the logical device that owns the acceleration structure.pInfo
is a pointer to a VkClusterAccelerationStructureInputInfoNV structure containing parameters required for the memory requirements query.pSizeInfo
is a pointer to a VkAccelerationStructureBuildSizesInfoKHR structure which returns the size required for an acceleration structure and scratch buffer, given the build parameters.
If VkClusterAccelerationStructureInputInfoNV::opMode
is
VK_CLUSTER_ACCELERATION_STRUCTURE_OP_MODE_IMPLICIT_DESTINATIONS_NV
,
acceleration structure and scratch memory sizes are returned for all
VkClusterAccelerationStructureInputInfoNV::maxAccelerationStructureCount
acceleration structures.
If VkClusterAccelerationStructureInputInfoNV::opMode
is
VK_CLUSTER_ACCELERATION_STRUCTURE_OP_MODE_EXPLICIT_DESTINATIONS_NV
,
scratch memory size for all
VkClusterAccelerationStructureInputInfoNV::maxAccelerationStructureCount
acceleration structures and the acceleration structure memory size for a
single acceleration structure is returned.
If VkClusterAccelerationStructureInputInfoNV::opMode
is
VK_CLUSTER_ACCELERATION_STRUCTURE_OP_MODE_COMPUTE_SIZES_NV
, only
scratch memory size is returned for the requested acceleration structures.
Valid Usage
Valid Usage (Implicit)
VUID-vkGetClusterAccelerationStructureBuildSizesNV-device-parameter
device
must be a valid VkDevice handle
VUID-vkGetClusterAccelerationStructureBuildSizesNV-pInfo-parameter
pInfo
must be a valid pointer to a valid VkClusterAccelerationStructureInputInfoNV structure
VUID-vkGetClusterAccelerationStructureBuildSizesNV-pSizeInfo-parameter
pSizeInfo
must be a valid pointer to a VkAccelerationStructureBuildSizesInfoKHR structure