C Specification
Bits which can be set in
VkPhysicalDeviceSubgroupProperties::supportedOperations
and
VkPhysicalDeviceVulkan11Properties::subgroupSupportedOperations
to specify supported group operations with
subgroup scope are:
// Provided by VK_VERSION_1_1
typedef enum VkSubgroupFeatureFlagBits {
VK_SUBGROUP_FEATURE_BASIC_BIT = 0x00000001,
VK_SUBGROUP_FEATURE_VOTE_BIT = 0x00000002,
VK_SUBGROUP_FEATURE_ARITHMETIC_BIT = 0x00000004,
VK_SUBGROUP_FEATURE_BALLOT_BIT = 0x00000008,
VK_SUBGROUP_FEATURE_SHUFFLE_BIT = 0x00000010,
VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 0x00000020,
VK_SUBGROUP_FEATURE_CLUSTERED_BIT = 0x00000040,
VK_SUBGROUP_FEATURE_QUAD_BIT = 0x00000080,
// Provided by VK_NV_shader_subgroup_partitioned
VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100,
// Provided by VK_KHR_shader_subgroup_rotate
VK_SUBGROUP_FEATURE_ROTATE_BIT_KHR = 0x00000200,
// Provided by VK_KHR_shader_subgroup_rotate
VK_SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT_KHR = 0x00000400,
} VkSubgroupFeatureFlagBits;
Description
-
VK_SUBGROUP_FEATURE_BASIC_BIT
specifies the device will accept SPIR-V shader modules containing theGroupNonUniform
capability. -
VK_SUBGROUP_FEATURE_VOTE_BIT
specifies the device will accept SPIR-V shader modules containing theGroupNonUniformVote
capability. -
VK_SUBGROUP_FEATURE_ARITHMETIC_BIT
specifies the device will accept SPIR-V shader modules containing theGroupNonUniformArithmetic
capability. -
VK_SUBGROUP_FEATURE_BALLOT_BIT
specifies the device will accept SPIR-V shader modules containing theGroupNonUniformBallot
capability. -
VK_SUBGROUP_FEATURE_SHUFFLE_BIT
specifies the device will accept SPIR-V shader modules containing theGroupNonUniformShuffle
capability. -
VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT
specifies the device will accept SPIR-V shader modules containing theGroupNonUniformShuffleRelative
capability. -
VK_SUBGROUP_FEATURE_CLUSTERED_BIT
specifies the device will accept SPIR-V shader modules containing theGroupNonUniformClustered
capability. -
VK_SUBGROUP_FEATURE_QUAD_BIT
specifies the device will accept SPIR-V shader modules containing theGroupNonUniformQuad
capability. -
VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV
specifies the device will accept SPIR-V shader modules containing theGroupNonUniformPartitionedNV
capability. -
VK_SUBGROUP_FEATURE_ROTATE_BIT_KHR
specifies the device will accept SPIR-V shader modules containing theGroupNonUniformRotateKHR
capability. -
VK_SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT_KHR
specifies the device will accept SPIR-V shader modules that use theClusterSize
operand toOpGroupNonUniformRotateKHR
.
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.