C Specification
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:
// Provided by VK_NV_cluster_acceleration_structure
void vkGetClusterAccelerationStructureBuildSizesNV(
VkDevice device,
const VkClusterAccelerationStructureInputInfoNV* pInfo,
VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo);
Parameters
-
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.
Description
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.
Document Notes
For more information, see the Vulkan Specification
This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.