# VK_KHR_vulkan_memory_model(3) Manual Page

## Name

VK_KHR_vulkan_memory_model - device extension

Loading… please wait.

## Registered Extension Number

212

## Revision

3

## Ratification Status

Ratified

## Extension and Version Dependencies

VK_KHR_get_physical_device_properties2
or
Vulkan Version 1.1

## SPIR-V Dependencies

- SPV_KHR_vulkan_memory_model

## Deprecation State

- Promoted to Vulkan 1.2

## Contact

- Jeff Bolz [GitHub]jeffbolznv

## Other Extension Metadata

Last Modified Date

  2018-12-10

IP Status

  No known IP claims.

Contributors

  - Jeff Bolz, NVIDIA

  - Alan Baker, Google

  - Tobias Hector, AMD

  - David Neto, Google

  - Robert Simpson, Qualcomm Technologies, Inc.

  - Brian Sumner, AMD

## Description

The VK_KHR_vulkan_memory_model extension allows use of the features guarded by the `VulkanMemoryModel`, `VulkanMemoryModelDeviceScope`, and `VulkanMemoryModelAvailabilityVisibilityChains` capabilities in shader modules. The Vulkan Memory Model formally defines how to synchronize memory accesses to the same memory locations performed by multiple shader invocations.

Note | Version 3 of the spec added a member (`vulkanMemoryModelAvailabilityVisibilityChains`) to VkPhysicalDeviceVulkanMemoryModelFeaturesKHR, which is an incompatible change from version 2.

## Promotion to Vulkan 1.2

All functionality in this extension is included in core Vulkan 1.2, with the KHR suffix omitted. However, if Vulkan 1.2 is supported and this extension is not, the `vulkanMemoryModel` capability is optional. The original type, enum, and command names are still available as aliases of the core functionality.

## New Structures

- Extending VkPhysicalDeviceFeatures2, VkDeviceCreateInfo:

  - VkPhysicalDeviceVulkanMemoryModelFeaturesKHR

## New Enum Constants

- `VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME`

- `VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION`

- Extending VkStructureType:

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR`

## New SPIR-V Capabilities

- `VulkanMemoryModelKHR`

## Version History

- Revision 1, 2018-06-24 (Jeff Bolz)

  - Initial draft

- Revision 3, 2018-12-10 (Jeff Bolz)

  - Add vulkanMemoryModelAvailabilityVisibilityChains member to the VkPhysicalDeviceVulkanMemoryModelFeaturesKHR structure.

## See Also

No cross-references are available

## Document Notes

For more information, see the Vulkan Specification

This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.

## Copyright

Copyright 2014-2024 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0