C Specification

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:

// Provided by VK_AMDX_dense_geometry_format
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;

Members

  • sType is a VkStructureType value identifying this structure.

  • pNext is NULL or a pointer to a structure extending this structure.

  • compressedData specifies the base address of the compressed data.

  • dataSize specifies the size of the compressed data.

  • numTriangles specifies the total number of triangles encoded in the compressed data.

  • numVertices specifies the number of vertices in the compressed data.

  • maxPrimitiveIndex specifies the maximum primitive index encoded in the compressed data.

  • maxGeometryIndex specifies the maximum geometry index encoded in the compressed data.

  • format specifies the VkCompressedTriangleFormatAMDX format of the compressed data.

Description

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

  • 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.address must be aligned to 128 bytes

  • VUID-VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX-format-10888
    If format is VK_COMPRESSED_TRIANGLE_FORMAT_DGF1_AMDX, then dataSize must be aligned to 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

See Also

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.

Copyright 2014-2025 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0