VkAccelerationStructureGeometryTrianglesDataKHR
The VkAccelerationStructureGeometryTrianglesDataKHR structure is
defined as:
typedef struct VkAccelerationStructureGeometryTrianglesDataKHR {
VkStructureType sType;
const void* pNext;
VkFormat vertexFormat;
VkDeviceOrHostAddressConstKHR vertexData;
VkDeviceSize vertexStride;
uint32_t maxVertex;
VkIndexType indexType;
VkDeviceOrHostAddressConstKHR indexData;
VkDeviceOrHostAddressConstKHR transformData;
} VkAccelerationStructureGeometryTrianglesDataKHR;
sTypeis a VkStructureType value identifying this structure.pNextisNULLor a pointer to a structure extending this structure.vertexFormatis the VkFormat of each vertex element.vertexDatais a device or host address to memory containing vertex data for this geometry.vertexStrideis the stride in bytes between each vertex.maxVertexis the number of vertices invertexDataminus one.indexTypeis the VkIndexType of each index element.indexDatais a device or host address to memory containing index data for this geometry.transformDatais a device or host address to memory containing an optional reference to a VkTransformMatrixKHR structure describing a transformation from the space in which the vertices in this geometry are described to the space in which the acceleration structure is defined.
Unlike the stride for vertex buffers in
VkVertexInputBindingDescription for graphics pipelines which must not
exceed maxVertexInputBindingStride, vertexStride for
acceleration structure geometry is instead restricted to being a 32-bit
value.
Valid Usage
VUID-VkAccelerationStructureGeometryTrianglesDataKHR-vertexStride-03735
vertexStride must be a multiple of the size in bytes of the
smallest component of vertexFormat
VUID-VkAccelerationStructureGeometryTrianglesDataKHR-vertexStride-03819
vertexStride must be less than or equal to 232-1
VUID-VkAccelerationStructureGeometryTrianglesDataKHR-vertexFormat-03797
The format features of
vertexFormat must contain
VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR
VUID-VkAccelerationStructureGeometryTrianglesDataKHR-indexType-03798
indexType must be VK_INDEX_TYPE_UINT16,
VK_INDEX_TYPE_UINT32, or VK_INDEX_TYPE_NONE_KHR
Valid Usage (Implicit)
VUID-VkAccelerationStructureGeometryTrianglesDataKHR-sType-sType
sType must be VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR
VUID-VkAccelerationStructureGeometryTrianglesDataKHR-pNext-pNext
Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkAccelerationStructureGeometryMotionTrianglesDataNV, VkAccelerationStructureTrianglesDisplacementMicromapNV, or VkAccelerationStructureTrianglesOpacityMicromapEXT
VUID-VkAccelerationStructureGeometryTrianglesDataKHR-sType-unique
The sType value of each structure in the pNext chain must be unique
VUID-VkAccelerationStructureGeometryTrianglesDataKHR-vertexFormat-parameter
vertexFormat must be a valid VkFormat value
VUID-VkAccelerationStructureGeometryTrianglesDataKHR-indexType-parameter
indexType must be a valid VkIndexType value