VK_KHR_vulkan_memory_model

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.

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

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

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.