VK_KHR_workgroup_memory_explicit_layout(3)

# VK_KHR_workgroup_memory_explicit_layout(3) Manual Page

## Name

VK_KHR_workgroup_memory_explicit_layout - device extension

Loading… please wait.

## Registered Extension Number

337

## Revision

1

## Extension and Version Dependencies

- Requires support for Vulkan 1.0

- Requires `VK_KHR_get_physical_device_properties2` to be enabled for any device-level functionality

## Contact

- Caio Marcelo de Oliveira Filho cmarcelo

## Other Extension Metadata

Last Modified Date

  2020-06-01

IP Status

  No known IP claims.

Interactions and External Dependencies

  - This extension requires `SPV_KHR_workgroup_memory_explicit_layout`

  - This extension provides API support for `GL_EXT_shared_memory_block`

Contributors

  - Caio Marcelo de Oliveira Filho, Intel

  - Jeff Bolz, NVIDIA

  - Graeme Leese, Broadcom

  - Jason Ekstrand, Intel

  - Daniel Koch, NVIDIA

## Description

This extension adds Vulkan support for the `SPV_KHR_workgroup_memory_explicit_layout` SPIR-V extension, which allows shaders to explicitly define the layout of `Workgroup` storage class memory and create aliases between variables from that storage class in a compute shader.

The aliasing feature allows different “views” on the same data, so the shader can bulk copy data from another storage class using one type (e.g. an array of large vectors), and then use the data with a more specific type. It also enables reducing the amount of workgroup memory consumed by allowing the shader to alias data whose lifetimes do not overlap.

The explicit layout support and some form of aliasing is also required for layering OpenCL on top of Vulkan.

## New Structures

- Extending VkPhysicalDeviceFeatures2, VkDeviceCreateInfo:

  - VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR

## New Enum Constants

- `VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME`

- `VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION`

- Extending VkStructureType:

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR`

## New SPIR-V Capabilities

- `WorkgroupMemoryExplicitLayoutKHR`

- `WorkgroupMemoryExplicitLayout8BitAccessKHR`

- `WorkgroupMemoryExplicitLayout16BitAccessKHR`

## Version History

- Revision 1, 2020-06-01 (Caio Marcelo de Oliveira Filho)

  - Initial version

## See Also

VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR

## 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-2022 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0