VkPartitionedAccelerationStructureUpdateInstanceDataNV
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 is0
.
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 instanceContributionToHitGroupIndex
must 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
VUID-VkPartitionedAccelerationStructureUpdateInstanceDataNV-instanceIndex-10573
instanceIndex
must be less than
VkBuildPartitionedAccelerationStructureInfoNV::input
::instanceCount