// Copyright 2019-2021 The Khronos Group Inc.
//
// SPDX-License-Identifier: CC-BY-4.0

// Common Valid Usage
// Common to indirect drawing commands
  * [[VUID-{refpage}-buffer-02708]]
    If pname:buffer is non-sparse then it must: be bound completely and
    contiguously to a single sname:VkDeviceMemory object
  * [[VUID-{refpage}-buffer-02709]]
    pname:buffer must: have been created with the
    ename:VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT bit set
  * [[VUID-{refpage}-offset-02710]]
    pname:offset must: be a multiple of `4`
ifdef::VK_VERSION_1_1[]
  * [[VUID-{refpage}-commandBuffer-02711]]
    pname:commandBuffer must: not be a protected command buffer
endif::VK_VERSION_1_1[]
// Common Valid Usage
