Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Name
VK_KHR_workgroup_memory_explicit_layout - device extension
VK_KHR_workgroup_memory_explicit_layout
- Name String
VK_KHR_workgroup_memory_explicit_layout
- Extension Type
- Device extension
- Registered Extension Number
- 337
- Revision
- 1
- Ratification Status
- Ratified
- Extension and Version Dependencies
- VK_KHR_get_physical_device_properties2
- Contact
- Caio Marcelo de Oliveira Filho @cmarcelo%0A*Here describe the issue or question you have about the VK_KHR_workgroup_memory_explicit_layout extension*
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
- Faith 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
PhysicalDeviceFeatures2
,DeviceCreateInfo
:
New Enum Constants
New SPIR-V Capabilities
Version History
Revision 1, 2020-06-01 (Caio Marcelo de Oliveira Filho)
- Initial version
See Also
PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR
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.
Synopsis
- data PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR = PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {}
- type KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION = 1
- pattern KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION :: forall a. Integral a => a
- type KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME = "VK_KHR_workgroup_memory_explicit_layout"
- pattern KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
Documentation
data PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR Source #
VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR - Structure describing the workgroup storage explicit layout features that can be supported by an implementation
Members
This structure describes the following features:
Description
If the PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR
structure is included in the pNext
chain of the
PhysicalDeviceFeatures2
structure passed to
getPhysicalDeviceFeatures2
,
it is filled in to indicate whether each corresponding feature is
supported. PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR
can also be used in the pNext
chain of
DeviceCreateInfo
to selectively enable these
features.
Valid Usage (Implicit)
See Also
VK_KHR_workgroup_memory_explicit_layout,
Bool32
,
StructureType
PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR | |
|
Instances
pattern KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION :: forall a. Integral a => a Source #
type KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME = "VK_KHR_workgroup_memory_explicit_layout" Source #
pattern KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a Source #