1// Copyright 2019-2024 The Khronos Group Inc. 2// 3// SPDX-License-Identifier: CC-BY-4.0 4 5// Common Valid Usage 6// Common to vkCmdPipelineBarrier and vkCmdWaitEvents 7 * [[VUID-{refpage}-srcAccessMask-02815]] 8 The pname:srcAccessMask member of each element of pname:pMemoryBarriers 9 must: only include access flags that are supported by one or more of the 10 pipeline stages in pname:srcStageMask, as specified in the 11 <<synchronization-access-types-supported, table of supported access 12 types>> 13 * [[VUID-{refpage}-dstAccessMask-02816]] 14 The pname:dstAccessMask member of each element of pname:pMemoryBarriers 15 must: only include access flags that are supported by one or more of the 16 pipeline stages in pname:dstStageMask, as specified in the 17 <<synchronization-access-types-supported, table of supported access 18 types>> 19 * [[VUID-{refpage}-pBufferMemoryBarriers-02817]] 20 For any element of pname:pBufferMemoryBarriers, if its 21 pname:srcQueueFamilyIndex and pname:dstQueueFamilyIndex members are 22 equal, or if its pname:srcQueueFamilyIndex is the queue family index 23 that was used to create the command pool that pname:commandBuffer was 24 allocated from, then its pname:srcAccessMask member must: only contain 25 access flags that are supported by one or more of the pipeline stages in 26 pname:srcStageMask, as specified in the 27 <<synchronization-access-types-supported, table of supported access 28 types>> 29 * [[VUID-{refpage}-pBufferMemoryBarriers-02818]] 30 For any element of pname:pBufferMemoryBarriers, if its 31 pname:srcQueueFamilyIndex and pname:dstQueueFamilyIndex members are 32 equal, or if its pname:dstQueueFamilyIndex is the queue family index 33 that was used to create the command pool that pname:commandBuffer was 34 allocated from, then its pname:dstAccessMask member must: only contain 35 access flags that are supported by one or more of the pipeline stages in 36 pname:dstStageMask, as specified in the 37 <<synchronization-access-types-supported, table of supported access 38 types>> 39 * [[VUID-{refpage}-pImageMemoryBarriers-02819]] 40 For any element of pname:pImageMemoryBarriers, if its 41 pname:srcQueueFamilyIndex and pname:dstQueueFamilyIndex members are 42 equal, or if its pname:srcQueueFamilyIndex is the queue family index 43 that was used to create the command pool that pname:commandBuffer was 44 allocated from, then its pname:srcAccessMask member must: only contain 45 access flags that are supported by one or more of the pipeline stages in 46 pname:srcStageMask, as specified in the 47 <<synchronization-access-types-supported, table of supported access 48 types>> 49 * [[VUID-{refpage}-pImageMemoryBarriers-02820]] 50 For any element of pname:pImageMemoryBarriers, if its 51 pname:srcQueueFamilyIndex and pname:dstQueueFamilyIndex members are 52 equal, or if its pname:dstQueueFamilyIndex is the queue family index 53 that was used to create the command pool that pname:commandBuffer was 54 allocated from, then its pname:dstAccessMask member must: only contain 55 access flags that are supported by one or more of the pipeline stages in 56 pname:dstStageMask, as specified in the 57 <<synchronization-access-types-supported, table of supported access 58 types>> 59// Common Valid Usage 60