1// Copyright 2022-2024 The Khronos Group Inc.
2//
3// SPDX-License-Identifier: CC-BY-4.0
4
5// Common Valid Usage
6  * [[VUID-{refpage}-offset-08782]]
7    pname:offset must: be less than the size of pname:buffer
8  * [[VUID-{refpage}-offset-08783]]
9    The sum of pname:offset and the base address of the range of
10    sname:VkDeviceMemory object that is backing pname:buffer, must: be a
11    multiple of the size of the type indicated by pname:indexType
12  * [[VUID-{refpage}-buffer-08784]]
13    pname:buffer must: have been created with the
14    ename:VK_BUFFER_USAGE_INDEX_BUFFER_BIT flag
15  * [[VUID-{refpage}-buffer-08785]]
16    If pname:buffer is non-sparse then it must: be bound completely and
17    contiguously to a single sname:VkDeviceMemory object
18ifdef::VK_NV_ray_tracing,VK_KHR_acceleration_structure[]
19  * [[VUID-{refpage}-indexType-08786]]
20    pname:indexType must: not be ename:VK_INDEX_TYPE_NONE_KHR
21endif::VK_NV_ray_tracing,VK_KHR_acceleration_structure[]
22ifdef::VK_EXT_index_type_uint8[]
23  * [[VUID-{refpage}-indexType-08787]]
24    If pname:indexType is ename:VK_INDEX_TYPE_UINT8_EXT, the
25    <<features-indexTypeUint8, pname:indexTypeUint8>> feature must: be
26    enabled
27endif::VK_EXT_index_type_uint8[]
28  * [[VUID-{refpage}-None-09493]]
29    {empty}
30ifdef::VK_KHR_maintenance6+VK_EXT_robustness2[]
31    If <<features-maintenance6, pname:maintenance6>> is not enabled,
32endif::VK_KHR_maintenance6+VK_EXT_robustness2[]
33    pname:buffer must: not be dlink:VK_NULL_HANDLE
34ifdef::VK_KHR_maintenance6[]
35  * [[VUID-{refpage}-buffer-09494]]
36    If pname:buffer is dlink:VK_NULL_HANDLE, offset must: be zero
37endif::VK_KHR_maintenance6[]
38// Common Valid Usage
39