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_VERSION_1_4
VK_SUBGROUP_FEATURE_ROTATE_BIT = 0x00000200,
// Provided by VK_VERSION_1_4
VK_SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT = 0x00000400,
// Provided by VK_EXT_shader_subgroup_partitioned
VK_SUBGROUP_FEATURE_PARTITIONED_BIT_EXT = 0x00000100,
// Provided by VK_NV_shader_subgroup_partitioned
VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = VK_SUBGROUP_FEATURE_PARTITIONED_BIT_EXT,
// Provided by VK_KHR_shader_subgroup_rotate
VK_SUBGROUP_FEATURE_ROTATE_BIT_KHR = VK_SUBGROUP_FEATURE_ROTATE_BIT,
// Provided by VK_KHR_shader_subgroup_rotate
VK_SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT_KHR = VK_SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT,
} VkSubgroupFeatureFlagBits;
Description
-
VK_SUBGROUP_FEATURE_BASIC_BIT specifies the device will accept SPIR-V shader modules containing the
GroupNonUniformcapability. -
VK_SUBGROUP_FEATURE_VOTE_BIT specifies the device will accept SPIR-V shader modules containing the
GroupNonUniformVotecapability. -
VK_SUBGROUP_FEATURE_ARITHMETIC_BIT specifies the device will accept SPIR-V shader modules containing the
GroupNonUniformArithmeticcapability. -
VK_SUBGROUP_FEATURE_BALLOT_BIT specifies the device will accept SPIR-V shader modules containing the
GroupNonUniformBallotcapability. -
VK_SUBGROUP_FEATURE_SHUFFLE_BIT specifies the device will accept SPIR-V shader modules containing the
GroupNonUniformShufflecapability. -
VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT specifies the device will accept SPIR-V shader modules containing the
GroupNonUniformShuffleRelativecapability. -
VK_SUBGROUP_FEATURE_CLUSTERED_BIT specifies the device will accept SPIR-V shader modules containing the
GroupNonUniformClusteredcapability. -
VK_SUBGROUP_FEATURE_QUAD_BIT specifies the device will accept SPIR-V shader modules containing the
GroupNonUniformQuadcapability. -
VK_SUBGROUP_FEATURE_PARTITIONED_BIT_EXT specifies the device will accept SPIR-V shader modules containing the
GroupNonUniformPartitionedEXTcapability. -
VK_SUBGROUP_FEATURE_ROTATE_BIT specifies the device will accept SPIR-V shader modules containing the
GroupNonUniformRotateKHRcapability. -
VK_SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT specifies the device will accept SPIR-V shader modules that use the
ClusterSizeoperand 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.