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

See Also

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 2014-2025 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0