C Specification
To build an acceleration structure call:
// Provided by VK_NV_ray_tracing
void vkCmdBuildAccelerationStructureNV(
    VkCommandBuffer                             commandBuffer,
    const VkAccelerationStructureInfoNV*        pInfo,
    VkBuffer                                    instanceData,
    VkDeviceSize                                instanceOffset,
    VkBool32                                    update,
    VkAccelerationStructureNV                   dst,
    VkAccelerationStructureNV                   src,
    VkBuffer                                    scratch,
    VkDeviceSize                                scratchOffset);Parameters
- 
commandBufferis the command buffer into which the command will be recorded.
- 
pInfocontains the shared information for the acceleration structure’s structure.
- 
instanceDatais the buffer containing an array of VkAccelerationStructureInstanceKHR structures defining acceleration structures. This parameter must beNULLfor bottom level acceleration structures.
- 
instanceOffsetis the offset in bytes (relative to the start ofinstanceData) at which the instance data is located.
- 
updatespecifies whether to update thedstacceleration structure with the data insrc.
- 
dstis a pointer to the target acceleration structure for the build.
- 
srcis a pointer to an existing acceleration structure that is to be used to update thedstacceleration structure.
- 
scratchis the VkBuffer that will be used as scratch memory for the build.
- 
scratchOffsetis the offset in bytes relative to the start ofscratchthat will be used as a scratch memory.
Description
Accesses to dst, src, and scratch must be
synchronized with the
VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR
pipeline stage and an
access type of
VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR or
VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR.
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.