C Specification
The VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR
structure
is defined as:
// Provided by VK_KHR_workgroup_memory_explicit_layout
typedef struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {
VkStructureType sType;
void* pNext;
VkBool32 workgroupMemoryExplicitLayout;
VkBool32 workgroupMemoryExplicitLayoutScalarBlockLayout;
VkBool32 workgroupMemoryExplicitLayout8BitAccess;
VkBool32 workgroupMemoryExplicitLayout16BitAccess;
} VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR;
Description
-
workgroupMemoryExplicitLayout
indicates whether the implementation supports the SPIR-VWorkgroupMemoryExplicitLayoutKHR
capability. -
workgroupMemoryExplicitLayoutScalarBlockLayout
indicates whether the implementation supports scalar alignment for laying out Workgroup Blocks. -
workgroupMemoryExplicitLayout8BitAccess
indicates whether objects in theWorkgroup
storage class with theBlock
decoration can have 8-bit integer members. If this feature is not enabled, 8-bit integer members must not be used in such objects. This also indicates whether shader modules can declare theWorkgroupMemoryExplicitLayout8BitAccessKHR
capability. -
workgroupMemoryExplicitLayout16BitAccess
indicates whether objects in theWorkgroup
storage class with theBlock
decoration can have 16-bit integer and 16-bit floating-point members. If this feature is not enabled, 16-bit integer or 16-bit floating-point members must not be used in such objects. This also indicates whether shader modules can declare theWorkgroupMemoryExplicitLayout16BitAccessKHR
capability.
If the VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR
structure is included in the pNext
chain of the
VkPhysicalDeviceFeatures2 structure passed to
vkGetPhysicalDeviceFeatures2, it is filled in to indicate whether each
corresponding feature is supported.
VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR
can also be used in the pNext
chain of
VkDeviceCreateInfo to selectively enable these features.
See Also
VkBool32
, VkStructureType
Document Notes
For more information, see the Vulkan Specification
This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.