blob: 99b33516d3efafff2028d6fc8601e0c626f7ec37 [file] [log] [blame]
// Copyright 2019-2021 The Khronos Group Inc.
//
// SPDX-License-Identifier: CC-BY-4.0
// Common Valid Usage
// Common to vkCmdPipelineBarrier and vkCmdWaitEvents
* [[VUID-{refpage}-srcAccessMask-02815]]
The pname:srcAccessMask member of each element of pname:pMemoryBarriers
must: only include access flags that are supported by one or more of the
pipeline stages in pname:srcStageMask, as specified in the
<<synchronization-access-types-supported, table of supported access
types>>
* [[VUID-{refpage}-dstAccessMask-02816]]
The pname:dstAccessMask member of each element of pname:pMemoryBarriers
must: only include access flags that are supported by one or more of the
pipeline stages in pname:dstStageMask, as specified in the
<<synchronization-access-types-supported, table of supported access
types>>
* [[VUID-{refpage}-pBufferMemoryBarriers-02817]]
For any element of pname:pBufferMemoryBarriers, if its
pname:srcQueueFamilyIndex and pname:dstQueueFamilyIndex members are
equal, or if its pname:srcQueueFamilyIndex is the queue family index
that was used to create the command pool that pname:commandBuffer was
allocated from, then its pname:srcAccessMask member must: only contain
access flags that are supported by one or more of the pipeline stages in
pname:srcStageMask, as specified in the
<<synchronization-access-types-supported, table of supported access
types>>
* [[VUID-{refpage}-pBufferMemoryBarriers-02818]]
For any element of pname:pBufferMemoryBarriers, if its
pname:srcQueueFamilyIndex and pname:dstQueueFamilyIndex members are
equal, or if its pname:dstQueueFamilyIndex is the queue family index
that was used to create the command pool that pname:commandBuffer was
allocated from, then its pname:dstAccessMask member must: only contain
access flags that are supported by one or more of the pipeline stages in
pname:dstStageMask, as specified in the
<<synchronization-access-types-supported, table of supported access
types>>
* [[VUID-{refpage}-pImageMemoryBarriers-02819]]
For any element of pname:pImageMemoryBarriers, if its
pname:srcQueueFamilyIndex and pname:dstQueueFamilyIndex members are
equal, or if its pname:srcQueueFamilyIndex is the queue family index
that was used to create the command pool that pname:commandBuffer was
allocated from, then its pname:srcAccessMask member must: only contain
access flags that are supported by one or more of the pipeline stages in
pname:srcStageMask, as specified in the
<<synchronization-access-types-supported, table of supported access
types>>
* [[VUID-{refpage}-pImageMemoryBarriers-02820]]
For any element of pname:pImageMemoryBarriers, if its
pname:srcQueueFamilyIndex and pname:dstQueueFamilyIndex members are
equal, or if its pname:dstQueueFamilyIndex is the queue family index
that was used to create the command pool that pname:commandBuffer was
allocated from, then its pname:dstAccessMask member must: only contain
access flags that are supported by one or more of the pipeline stages in
pname:dstStageMask, as specified in the
<<synchronization-access-types-supported, table of supported access
types>>
// Common Valid Usage