Structures

VkPartitionedAccelerationStructureUpdateInstanceDataNV

Structure describing instance data to update in PTLAS

The VkPartitionedAccelerationStructureUpdateInstanceDataNV structure is defined as:

typedef struct VkPartitionedAccelerationStructureUpdateInstanceDataNV {
    uint32_t instanceIndex;
    uint32_t instanceContributionToHitGroupIndex;
    VkDeviceAddress accelerationStructure;
} VkPartitionedAccelerationStructureUpdateInstanceDataNV;
  • instanceIndex is the index of the instance being updated.
  • instanceContributionToHitGroupIndex is a 24-bit per instance value added in the indexing into the shader binding table to fetch the hit group to use.
  • accelerationStructure is the device address of the bottom level acceleration structure or a clustered bottom level acceleration structure whose instance is being updated. The instance is disabled if the device address is 0.

If the instance was originally disabled by specifying a 0 in VkPartitionedAccelerationStructureWriteInstanceDataNV::accelerationStructure, it can not be updated to a new acceleration structure as the instance may have been permanently disabled by the implementation.

To avoid a refit, the new acceleration structure must be within the bounding box specified by VkPartitionedAccelerationStructureWriteInstanceDataNV::explicitAABB when the instance was first created.

Valid Usage

VUID-VkPartitionedAccelerationStructureUpdateInstanceDataNV-instanceContributionToHitGroupIndex-10571

The most significant 8 bits of instanceContributionToHitGroupIndexmust be 0

VUID-VkPartitionedAccelerationStructureUpdateInstanceDataNV-None-10572

The instance must have either been created with flag VK_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCE_FLAG_ENABLE_EXPLICIT_BOUNDING_BOX_NV or did not have an acceleration structure assigned with VkPartitionedAccelerationStructureWriteInstanceDataNV