VkBuildPartitionedAccelerationStructureInfoNV(3)

# VkBuildPartitionedAccelerationStructureInfoNV(3) Manual Page

## Name

VkBuildPartitionedAccelerationStructureInfoNV - Structure describing build parameters for a PTLAS

## C Specification

The VkBuildPartitionedAccelerationStructureInfoNV structure is defined as:

    // Provided by VK_NV_partitioned_acceleration_structure
    typedef struct VkBuildPartitionedAccelerationStructureInfoNV {
        VkStructureType                                       sType;
        void*                                                 pNext;
        VkPartitionedAccelerationStructureInstancesInputNV    input;
        VkDeviceAddress                                       srcAccelerationStructureData;
        VkDeviceAddress                                       dstAccelerationStructureData;
        VkDeviceAddress                                       scratchData;
        VkDeviceAddress                                       srcInfos;
        VkDeviceAddress                                       srcInfosCount;
    } VkBuildPartitionedAccelerationStructureInfoNV;

## Members

- `sType` is a VkStructureType value identifying this structure.

- `pNext` is `NULL` 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` is `NULL` 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 of `srcInfos` array.

## Description

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
  If the `buildScratchSize` member of the VkAccelerationStructureBuildSizesInfoKHR structure returned from a call to vkGetPartitionedAccelerationStructuresBuildSizesNV is not `0`, then `scratchData` must be a valid VkDeviceAddress

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

- VUID-VkBuildPartitionedAccelerationStructureInfoNV-srcAccelerationStructureData-parameter
  If `srcAccelerationStructureData` is not `0`, `srcAccelerationStructureData` must be a valid VkDeviceAddress value

- VUID-VkBuildPartitionedAccelerationStructureInfoNV-dstAccelerationStructureData-parameter
  `dstAccelerationStructureData` must be a valid VkDeviceAddress value

- VUID-VkBuildPartitionedAccelerationStructureInfoNV-srcInfos-parameter
  `srcInfos` must be a valid VkDeviceAddress value

- VUID-VkBuildPartitionedAccelerationStructureInfoNV-srcInfosCount-parameter
  `srcInfosCount` must be a valid VkDeviceAddress value

## See Also

VK_NV_partitioned_acceleration_structure, VkDeviceAddress, VkPartitionedAccelerationStructureInstancesInputNV, VkStructureType, vkCmdBuildPartitionedAccelerationStructuresNV

## 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-2026 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0