C Specification
The VkClusterAccelerationStructureCommandsInfoNV structure is defined as:
// Provided by VK_NV_cluster_acceleration_structure
typedef struct VkClusterAccelerationStructureCommandsInfoNV {
VkStructureType sType;
void* pNext;
VkClusterAccelerationStructureInputInfoNV input;
VkDeviceAddress dstImplicitData;
VkDeviceAddress scratchData;
VkStridedDeviceAddressRegionKHR dstAddressesArray;
VkStridedDeviceAddressRegionKHR dstSizesArray;
VkStridedDeviceAddressRegionKHR srcInfosArray;
VkDeviceAddress srcInfosCount;
VkClusterAccelerationStructureAddressResolutionFlagsNV addressResolutionFlags;
} VkClusterAccelerationStructureCommandsInfoNV;
Members
-
sType
is a VkStructureType value identifying this structure. -
pNext
isNULL
or a pointer to a structure extending this structure. -
input
is VkClusterAccelerationStructureInputInfoNV structure describing the build or move parameters for the cluster acceleration structure. -
dstImplicitData
is the device address for memory where the implicit build of cluster acceleration structure will be saved. If VkClusterAccelerationStructureInputInfoNV::opMode
isVK_CLUSTER_ACCELERATION_STRUCTURE_OP_MODE_EXPLICIT_DESTINATIONS_NV
orVK_CLUSTER_ACCELERATION_STRUCTURE_OP_MODE_COMPUTE_SIZES_NV
, this value is ignored. -
scratchData
is the device address of scratch memory that will be used during cluster acceleration structure move or build. -
dstAddressesArray
is a VkStridedDeviceAddressRegionKHR where the individual addresses and stride of moved or built cluster acceleration structures will be saved or read from depending on VkClusterAccelerationStructureInputInfoNV::opMode
. If VkClusterAccelerationStructureInputInfoNV::opMode
isVK_CLUSTER_ACCELERATION_STRUCTURE_OP_MODE_IMPLICIT_DESTINATIONS_NV
and the address indstAddressesArray
is not0
, then the addresses are saved. If VkClusterAccelerationStructureInputInfoNV::opMode
isVK_CLUSTER_ACCELERATION_STRUCTURE_OP_MODE_EXPLICIT_DESTINATIONS_NV
, then the addresses are read from. If VkClusterAccelerationStructureInputInfoNV::opMode
isVK_CLUSTER_ACCELERATION_STRUCTURE_OP_MODE_COMPUTE_SIZES_NV
, then this value is ignored and may be0
. -
dstSizesArray
isNULL
or a VkStridedDeviceAddressRegionKHR containing sizes of moved or built cluster acceleration structures. Similar todstAddressesArray
, if VkClusterAccelerationStructureInputInfoNV::opMode
isVK_CLUSTER_ACCELERATION_STRUCTURE_OP_MODE_IMPLICIT_DESTINATIONS_NV
, then the sizes are saved. If VkClusterAccelerationStructureInputInfoNV::opMode
isVK_CLUSTER_ACCELERATION_STRUCTURE_OP_MODE_EXPLICIT_DESTINATIONS_NV
, then the sizes are read from. -
srcInfosArray
is a VkStridedDeviceAddressRegionKHR where input data for the build or move operation is read from. If the stride is0
, the structures are assumed to be packed tightly. Its format is dependent on VkClusterAccelerationStructureInputInfoNV::opType
as per the table below.
|
Format of |
|
|
|
VkClusterAccelerationStructureBuildClustersBottomLevelInfoNV |
|
|
|
VkClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV |
|
-
srcInfosCount
is the device address of memory containing the count of number of build or move operations to perform. The actual value is the minimum of this value and the value specified ininput
::maxAccelerationStructureCount
. If this value is0
, the count is determined byinput
::maxAccelerationStructureCount
alone. -
addressResolutionFlags
is a bitmask of VkClusterAccelerationStructureAddressResolutionFlagBitsNV values specifying how an implementation will interpret the device addresses in this structure.
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.