1// Copyright 2020-2021 The Khronos Group Inc. 2// 3// SPDX-License-Identifier: CC-BY-4.0 4// Common Valid Usage 5// Common to attachment description structures 6 * [[VUID-{refpage}-format-06698]] 7 pname:format must: not be VK_FORMAT_UNDEFINED 8 * [[VUID-{refpage}-format-06699]] 9 If pname:format includes a color or depth aspect and pname:loadOp is 10 ename:VK_ATTACHMENT_LOAD_OP_LOAD, then pname:initialLayout must: not be 11 ename:VK_IMAGE_LAYOUT_UNDEFINED 12 * [[VUID-{refpage}-finalLayout-00843]] 13 pname:finalLayout must: not be ename:VK_IMAGE_LAYOUT_UNDEFINED or 14 ename:VK_IMAGE_LAYOUT_PREINITIALIZED 15 * [[VUID-{refpage}-format-03280]] 16 If pname:format is a color format, pname:initialLayout must: not be 17 ename:VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL or 18 ename:VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL 19 * [[VUID-{refpage}-format-03281]] 20 If pname:format is a depth/stencil format, pname:initialLayout must: not 21 be ename:VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL 22 * [[VUID-{refpage}-format-03282]] 23 If pname:format is a color format, pname:finalLayout must: not be 24 ename:VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL or 25 ename:VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL 26 * [[VUID-{refpage}-format-03283]] 27 If pname:format is a depth/stencil format, pname:finalLayout must: not 28 be ename:VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL 29ifdef::VK_VERSION_1_1,VK_KHR_maintenance2[] 30 * [[VUID-{refpage}-format-06487]] 31 If pname:format is a color format, pname:initialLayout must: not be 32 ename:VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL or 33 ename:VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL 34 * [[VUID-{refpage}-format-06488]] 35 If pname:format is a color format, pname:finalLayout must: not be 36 ename:VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL or 37 ename:VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL 38endif::VK_VERSION_1_1,VK_KHR_maintenance2[] 39ifdef::VK_VERSION_1_2,VK_KHR_separate_depth_stencil_layouts[] 40 * [[VUID-{refpage}-separateDepthStencilLayouts-03284]] 41 If the <<features-separateDepthStencilLayouts, 42 pname:separateDepthStencilLayouts>> feature is not enabled, 43 pname:initialLayout must: not be 44 ename:VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL, 45 ename:VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, 46 ename:VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, or 47 ename:VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL, 48 * [[VUID-{refpage}-separateDepthStencilLayouts-03285]] 49 If the <<features-separateDepthStencilLayouts, 50 pname:separateDepthStencilLayouts>> feature is not enabled, 51 pname:finalLayout must: not be 52 ename:VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL, 53 ename:VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, 54 ename:VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, or 55 ename:VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL, 56 * [[VUID-{refpage}-format-03286]] 57 If pname:format is a color format, pname:initialLayout must: not be 58 ename:VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL, 59 ename:VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, 60 ename:VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, or 61 ename:VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL 62 * [[VUID-{refpage}-format-03287]] 63 If pname:format is a color format, pname:finalLayout must: not be 64 ename:VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL, 65 ename:VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, 66 ename:VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, or 67 ename:VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL 68 * [[VUID-{refpage}-format-06906]] 69 If pname:format is a depth/stencil format which includes both depth and 70 stencil aspects, pname:initialLayout must: not be 71 ename:VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL or 72 ename:VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL 73 * [[VUID-{refpage}-format-06907]] 74 If pname:format is a depth/stencil format which includes both depth and 75 stencil aspects, pname:finalLayout must: not be 76 ename:VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL or 77 ename:VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL 78 * [[VUID-{refpage}-format-03290]] 79 If pname:format is a depth/stencil format which includes only the depth 80 aspect, pname:initialLayout must: not be 81 ename:VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL or 82 ename:VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL 83 * [[VUID-{refpage}-format-03291]] 84 If pname:format is a depth/stencil format which includes only the depth 85 aspect, pname:finalLayout must: not be 86 ename:VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL or 87 ename:VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL 88endif::VK_VERSION_1_2,VK_KHR_separate_depth_stencil_layouts[] 89ifdef::VK_KHR_synchronization2[] 90 * [[VUID-{refpage}-synchronization2-06908]] 91 If the <<features-synchronization2, pname:synchronization2>> feature is 92 not enabled, pname:initialLayout must: not be 93 ename:VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR or 94 ename:VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR 95 * [[VUID-{refpage}-synchronization2-06909]] 96 If the <<features-synchronization2, pname:synchronization2>> feature is 97 not enabled, pname:finalLayout must: not be 98 ename:VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR or 99 ename:VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR 100endif::VK_KHR_synchronization2[] 101ifdef::VK_EXT_attachment_feedback_loop_layout[] 102 * [[VUID-{refpage}-attachmentFeedbackLoopLayout-07309]] 103 If the <<features-attachmentFeedbackLoopLayout, 104 pname:attachmentFeedbackLoopLayout>> feature is not enabled, 105 pname:initialLayout must: not be 106 ename:VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT 107 * [[VUID-{refpage}-attachmentFeedbackLoopLayout-07310]] 108 If the <<features-attachmentFeedbackLoopLayout, 109 pname:attachmentFeedbackLoopLayout>> feature is not enabled, 110 pname:finalLayout must: not be 111 ename:VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT 112endif::VK_EXT_attachment_feedback_loop_layout[] 113// Common Valid Usage 114