// Copyright 2020-2024 The Khronos Group Inc.
//
// SPDX-License-Identifier: CC-BY-4.0
// Common Valid Usage
// Common to subpass description structures
  * [[VUID-{refpage}-attachment-06912]]
    If the pname:attachment member of an element of pname:pInputAttachments
    is not ename:VK_ATTACHMENT_UNUSED, its pname:layout member must: not be
    ename:VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL or
    ename:VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL
  * [[VUID-{refpage}-attachment-06913]]
    If the pname:attachment member of an element of pname:pColorAttachments
    is not ename:VK_ATTACHMENT_UNUSED, its pname:layout member must: not be
    ename:VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL or
    ename:VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL
  * [[VUID-{refpage}-attachment-06914]]
    If the pname:attachment member of an element of
    pname:pResolveAttachments is not ename:VK_ATTACHMENT_UNUSED, its
    pname:layout member must: not be
    ename:VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL or
    ename:VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL
  * [[VUID-{refpage}-attachment-06915]]
    If the pname:attachment member of pname:pDepthStencilAttachment is not
    ename:VK_ATTACHMENT_UNUSED, ts pname:layout member must: not be
    ename:VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL or
    ename:VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL
ifdef::VK_VERSION_1_1,VK_KHR_maintenance2[]
  * [[VUID-{refpage}-attachment-06916]]
    If the pname:attachment member of an element of pname:pColorAttachments
    is not ename:VK_ATTACHMENT_UNUSED, its pname:layout member must: not be
    ename:VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL or
    ename:VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL
  * [[VUID-{refpage}-attachment-06917]]
    If the pname:attachment member of an element of
    pname:pResolveAttachments is not ename:VK_ATTACHMENT_UNUSED, its
    pname:layout member must: not be
    ename:VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL or
    ename:VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL
endif::VK_VERSION_1_1,VK_KHR_maintenance2[]
ifdef::VK_VERSION_1_2,VK_KHR_separate_depth_stencil_layouts[]
  * [[VUID-{refpage}-attachment-06918]]
    If the pname:attachment member of an element of pname:pInputAttachments
    is not ename:VK_ATTACHMENT_UNUSED, its pname:layout member must: not be
    ename:VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL or
    ename:VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL
  * [[VUID-{refpage}-attachment-06919]]
    If the pname:attachment member of an element of pname:pColorAttachments
    is not ename:VK_ATTACHMENT_UNUSED, its pname:layout member must: not be
    ename:VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
    ename:VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
    ename:VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, or
    ename:VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL
  * [[VUID-{refpage}-attachment-06920]]
    If the pname:attachment member of an element of
    pname:pResolveAttachments is not ename:VK_ATTACHMENT_UNUSED, its
    pname:layout member must: not be
    ename:VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
    ename:VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
    ename:VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, or
    ename:VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL
endif::VK_VERSION_1_2,VK_KHR_separate_depth_stencil_layouts[]
ifdef::VK_KHR_synchronization2[]
  * [[VUID-{refpage}-attachment-06921]]
    If the pname:attachment member of an element of pname:pInputAttachments
    is not ename:VK_ATTACHMENT_UNUSED, its pname:layout member must: not be
    ename:VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR
  * [[VUID-{refpage}-attachment-06922]]
    If the pname:attachment member of an element of pname:pColorAttachments
    is not ename:VK_ATTACHMENT_UNUSED, its pname:layout member must: not be
    ename:VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR
  * [[VUID-{refpage}-attachment-06923]]
    If the pname:attachment member of an element of
    pname:pResolveAttachments is not ename:VK_ATTACHMENT_UNUSED, its
    pname:layout member must: not be
    ename:VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR
endif::VK_KHR_synchronization2[]
// Common Valid Usage
