# vkGetClusterAccelerationStructureBuildSizesNV(3) Manual Page

## Name

vkGetClusterAccelerationStructureBuildSizesNV - Retrieve the buffer allocation requirements for cluster geometry command

Loading… please wait.

## 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.

Valid Usage

- VUID-vkGetClusterAccelerationStructureBuildSizesNV-clusterAccelerationStructure-10438
  The `VkPhysicalDeviceClusterAccelerationStructureFeaturesNV`::`clusterAccelerationStructure` feature must be enabled

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

## See Also

VK_NV_cluster_acceleration_structure, VkAccelerationStructureBuildSizesInfoKHR, VkClusterAccelerationStructureInputInfoNV, VkDevice

## 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.

## Copyright

Copyright 2014-2025 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0