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

// Common Valid Usage
// Common to vkCmdPipelineBarrier* commands
  * [[VUID-{refpage}-pDependencies-02285]]
    If fname:{refpage} is called within a render pass instance, the render
    pass must: have been created with at least one slink:VkSubpassDependency
    instance in sname:VkRenderPassCreateInfo::pname:pDependencies that
    expresses a dependency from the current subpass to itself, with
    <<synchronization-dependencies-scopes, synchronization scopes>> and
    <<synchronization-dependencies-access-scopes, access scopes>> that are
    all supersets of the scopes defined in this command
  * [[VUID-{refpage}-bufferMemoryBarrierCount-01178]]
    If fname:{refpage} is called within a render pass instance, it must: not
    include any buffer memory barriers
  * [[VUID-{refpage}-image-04073]]
    If fname:{refpage} is called within a render pass instance, the
    pname:image member of any image memory barrier included in this command
    must: be an attachment used in the current subpass both as an input
    attachment, and as either a color or depth/stencil attachment
  * [[VUID-{refpage}-oldLayout-01181]]
    If fname:{refpage} is called within a render pass instance, the
    pname:oldLayout and pname:newLayout members of any image memory barrier
    included in this command must: be equal
  * [[VUID-{refpage}-srcQueueFamilyIndex-01182]]
    If fname:{refpage} is called within a render pass instance, the
    pname:srcQueueFamilyIndex and pname:dstQueueFamilyIndex members of any
    image memory barrier included in this command must: be equal
ifdef::VK_VERSION_1_1,VK_KHR_multiview[]
  * [[VUID-{refpage}-dependencyFlags-01186]]
    If fname:{refpage} is called outside of a render pass instance,
    ename:VK_DEPENDENCY_VIEW_LOCAL_BIT must: not be included in the
    dependency flags
endif::VK_VERSION_1_1,VK_KHR_multiview[]
// Common Valid Usage
