VkMemoryBarrier(3)

# VkMemoryBarrier(3) Manual Page

## Name

VkMemoryBarrier - Structure specifying a global memory barrier

Loading… please wait.

## C Specification

The `VkMemoryBarrier` structure is defined as:

    // Provided by VK_VERSION_1_0
    typedef struct VkMemoryBarrier {
        VkStructureType    sType;
        const void*        pNext;
        VkAccessFlags      srcAccessMask;
        VkAccessFlags      dstAccessMask;
    } VkMemoryBarrier;

## Members

- `sType` is a VkStructureType value identifying this structure.

- `pNext` is `NULL` or a pointer to a structure extending this structure.

- `srcAccessMask` is a bitmask of VkAccessFlagBits specifying a source access mask.

- `dstAccessMask` is a bitmask of VkAccessFlagBits specifying a destination access mask.

## Description

The first access scope is limited to access types in the source access mask specified by `srcAccessMask` and, if a VkMemoryBarrierAccessFlags3KHR is passed in `pNext`, `srcAccessMask3`.

The second access scope is limited to access types in the destination access mask specified by `dstAccessMask` and, if a VkMemoryBarrierAccessFlags3KHR is passed in `pNext`, `dstAccessMask3`.

Valid Usage (Implicit)

- VUID-VkMemoryBarrier-sType-sType
  `sType` must be VK_STRUCTURE_TYPE_MEMORY_BARRIER

- VUID-VkMemoryBarrier-pNext-pNext
  `pNext` must be `NULL`

- VUID-VkMemoryBarrier-srcAccessMask-parameter
  `srcAccessMask` must be a valid combination of VkAccessFlagBits values

- VUID-VkMemoryBarrier-dstAccessMask-parameter
  `dstAccessMask` must be a valid combination of VkAccessFlagBits values

## See Also

VK_VERSION_1_0, VkAccessFlags, VkStructureType, vkCmdPipelineBarrier, vkCmdWaitEvents

## Document Notes

For more information, see the Vulkan Specification.

This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.

## Copyright

Copyright 2014-2026 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0