vulkan-3.26.1: Bindings to the Vulkan graphics API.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Vulkan.Extensions.VK_KHR_vulkan_memory_model

Description

Name

VK_KHR_vulkan_memory_model - device extension

VK_KHR_vulkan_memory_model

Name String
VK_KHR_vulkan_memory_model
Extension Type
Device extension
Registered Extension Number
212
Revision
3
Ratification Status
Ratified
Extension and Version Dependencies
VK_KHR_get_physical_device_properties2
Deprecation State
Contact

Other Extension Metadata

Last Modified Date
2018-12-10
IP Status
No known IP claims.
Interactions and External Dependencies
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 PhysicalDeviceVulkanMemoryModelFeaturesKHR, 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

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.

See Also

PhysicalDeviceVulkanMemoryModelFeaturesKHR

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.

Documentation

type KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME = "VK_KHR_vulkan_memory_model" Source #

pattern KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a Source #