VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX
If a VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX
structure is included in the pNext chain of a
VkAccelerationStructureGeometryKHR structure whose geometryType
member is VK_GEOMETRY_TYPE_DENSE_GEOMETRY_FORMAT_TRIANGLES_AMDX, then
that structure defines triangle geometry using compressed data.
The VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX
structure is defined as:
typedef struct VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX {
VkStructureType sType;
const void* pNext;
VkDeviceOrHostAddressConstKHR compressedData;
VkDeviceSize dataSize;
uint32_t numTriangles;
uint32_t numVertices;
uint32_t maxPrimitiveIndex;
uint32_t maxGeometryIndex;
VkCompressedTriangleFormatAMDX format;
} VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX;
pub struct AccelerationStructureDenseGeometryFormatTrianglesDataAMDX {
s_type: vk::StructureType,
p_next: *const c_void,
compressed_data: vk::DeviceOrHostAddressConstKHR,
data_size: vk::DeviceSize,
num_triangles: u32,
num_vertices: u32,
max_primitive_index: u32,
max_geometry_index: u32,
format: vk::CompressedTriangleFormatAMDX,
}
sTypeis a VkStructureType value identifying this structure.pNextisNULLor a pointer to a structure extending this structure.compressedDataspecifies the base address of the compressed data.dataSizespecifies the size of the compressed data.numTrianglesspecifies the total number of triangles encoded in the compressed data.numVerticesspecifies the number of vertices in the compressed data.maxPrimitiveIndexspecifies the maximum primitive index encoded in the compressed data.maxGeometryIndexspecifies the maximum geometry index encoded in the compressed data.formatspecifies the VkCompressedTriangleFormatAMDX format of the compressed data.
If format is VK_COMPRESSED_TRIANGLE_FORMAT_DGF1_AMDX,
numVertices specifies the sum of vertex counts across all blocks.
Valid Usage
VUID-VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX-compressedData-10885
The buffer from which compressedData.deviceAddress is queried
must have been created with the
VK_BUFFER_USAGE_2_COMPRESSED_DATA_DGF1_BIT_AMDX usage flag set
VUID-VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX-denseGeometryFormat-10886
The VkPhysicalDeviceDenseGeometryFormatFeaturesAMDX::denseGeometryFormat
feature must be enabled
VUID-VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX-format-10887
If format is VK_COMPRESSED_TRIANGLE_FORMAT_DGF1_AMDX, then
compressedData must be aligned to
VK_COMPRESSED_TRIANGLE_FORMAT_DGF1_BYTE_ALIGNMENT_AMDX (128) bytes
VUID-VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX-format-10888
If format is VK_COMPRESSED_TRIANGLE_FORMAT_DGF1_AMDX, then
dataSize must be a multiple of
VK_COMPRESSED_TRIANGLE_FORMAT_DGF1_BYTE_STRIDE_AMDX (128) bytes
VUID-VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX-pNext-10890
pNext must be NULL or a pointer to a valid
VkAccelerationStructureTrianglesOpacityMicromapEXT structure
VUID-VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX-pNext-10891
If pNext is a pointer to a valid
VkAccelerationStructureTrianglesOpacityMicromapEXT structure, the
micromap feature must be enabled
Valid Usage (Implicit)
VUID-VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX-sType-sType
sType must be VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DENSE_GEOMETRY_FORMAT_TRIANGLES_DATA_AMDX
VUID-VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX-compressedData-parameter
compressedData must be a valid VkDeviceOrHostAddressConstKHR union
VUID-VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX-format-parameter
format must be a valid VkCompressedTriangleFormatAMDX value