C Specification

If VkAccelerationStructureGeometryLinearSweptSpheresDataNV is included in the pNext chain of a VkAccelerationStructureGeometryKHR structure, then that structures defines the linear swept sphere’s (LSS) geometry data.

The VkAccelerationStructureGeometryLinearSweptSpheresDataNV structure is defined as:

// Provided by VK_NV_ray_tracing_linear_swept_spheres
typedef struct VkAccelerationStructureGeometryLinearSweptSpheresDataNV {
    VkStructureType                          sType;
    const void*                              pNext;
    VkFormat                                 vertexFormat;
    VkDeviceOrHostAddressConstKHR            vertexData;
    VkDeviceSize                             vertexStride;
    VkFormat                                 radiusFormat;
    VkDeviceOrHostAddressConstKHR            radiusData;
    VkDeviceSize                             radiusStride;
    VkIndexType                              indexType;
    VkDeviceOrHostAddressConstKHR            indexData;
    VkDeviceSize                             indexStride;
    VkRayTracingLssIndexingModeNV            indexingMode;
    VkRayTracingLssPrimitiveEndCapsModeNV    endCapsMode;
} VkAccelerationStructureGeometryLinearSweptSpheresDataNV;

Members

  • sType is a VkStructureType value identifying this structure.

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

  • vertexFormat is the VkFormat of each LSS vertex element.

  • vertexData is a device or host address to memory containing vertex data for this geometry.

  • vertexStride is the stride in bytes between each vertex element.

  • radiusFormat is the VkFormat of each LSS radius.

  • radiusData is a device or host address to memory containing LSS radius data value.

  • radiusStride is the stride in bytes between each radius value.

  • indexType is the VkIndexType of each index element.

  • indexData is NULL or a device or host address to memory containing index data for vertex and radius buffers for this geometry.

  • indexStride is the stride in bytes between each index element.

  • indexingMode is a VkRayTracingLssIndexingModeNV value specifying the mode of indexing.

  • endCapsMode is a VkRayTracingLssPrimitiveEndCapsModeNV value specifying the endcaps mode for LSS primitives.

Description

If an index buffer is not specified in indexData, LSS primitives are rendered individually using subsequent pairs of vertices similar to VK_PRIMITIVE_TOPOLOGY_LINE_LIST.

Valid Usage
  • VUID-VkAccelerationStructureGeometryLinearSweptSpheresDataNV-None-10419
    The linearSweptSpheres feature must be enabled

  • VUID-VkAccelerationStructureGeometryLinearSweptSpheresDataNV-vertexData-10420
    The memory address in vertexData must not be 0 or `NULL'

  • VUID-VkAccelerationStructureGeometryLinearSweptSpheresDataNV-vertexStride-10421
    vertexStride must be a multiple of:

  • VUID-VkAccelerationStructureGeometryLinearSweptSpheresDataNV-vertexStride-10422
    vertexStride and radiusStride must be less than or equal to 232-1

  • VUID-VkAccelerationStructureGeometryLinearSweptSpheresDataNV-vertexFormat-10423
    The format features of vertexFormat must contain VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR

  • VUID-VkAccelerationStructureGeometryLinearSweptSpheresDataNV-radiusFormat-10424
    The format features of radiusFormat must contain VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_RADIUS_BUFFER_BIT_NV

  • VUID-VkAccelerationStructureGeometryLinearSweptSpheresDataNV-radiusData-10425
    The memory address in radiusData must not be 0 or `NULL'

  • VUID-VkAccelerationStructureGeometryLinearSweptSpheresDataNV-radiusData-10426
    All values referenced in radiusData must be greater than or equal to 0

  • VUID-VkAccelerationStructureGeometryLinearSweptSpheresDataNV-indexingMode-10427
    If indexingMode is VK_RAY_TRACING_LSS_INDEXING_MODE_SUCCESSIVE_NV, indexData must not be NULL

  • VUID-VkAccelerationStructureGeometryLinearSweptSpheresDataNV-indexData-10428
    If indexData is not NULL, indexType must be one of VK_INDEX_TYPE_UINT16 or VK_INDEX_TYPE_UINT32

Valid Usage (Implicit)
  • VUID-VkAccelerationStructureGeometryLinearSweptSpheresDataNV-sType-sType
    sType must be VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_LINEAR_SWEPT_SPHERES_DATA_NV

  • VUID-VkAccelerationStructureGeometryLinearSweptSpheresDataNV-vertexFormat-parameter
    vertexFormat must be a valid VkFormat value

  • VUID-VkAccelerationStructureGeometryLinearSweptSpheresDataNV-vertexData-parameter
    vertexData must be a valid VkDeviceOrHostAddressConstKHR union

  • VUID-VkAccelerationStructureGeometryLinearSweptSpheresDataNV-radiusFormat-parameter
    radiusFormat must be a valid VkFormat value

  • VUID-VkAccelerationStructureGeometryLinearSweptSpheresDataNV-radiusData-parameter
    radiusData must be a valid VkDeviceOrHostAddressConstKHR union

  • VUID-VkAccelerationStructureGeometryLinearSweptSpheresDataNV-indexType-parameter
    indexType must be a valid VkIndexType value

  • VUID-VkAccelerationStructureGeometryLinearSweptSpheresDataNV-indexData-parameter
    indexData must be a valid VkDeviceOrHostAddressConstKHR union

  • VUID-VkAccelerationStructureGeometryLinearSweptSpheresDataNV-indexingMode-parameter
    indexingMode must be a valid VkRayTracingLssIndexingModeNV value

  • VUID-VkAccelerationStructureGeometryLinearSweptSpheresDataNV-endCapsMode-parameter
    endCapsMode must be a valid VkRayTracingLssPrimitiveEndCapsModeNV 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