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_NV_shader_subgroup_partitioned
VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100,
// 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_BITspecifies the device will accept SPIR-V shader modules containing theGroupNonUniformcapability. -
VK_SUBGROUP_FEATURE_VOTE_BITspecifies the device will accept SPIR-V shader modules containing theGroupNonUniformVotecapability. -
VK_SUBGROUP_FEATURE_ARITHMETIC_BITspecifies the device will accept SPIR-V shader modules containing theGroupNonUniformArithmeticcapability. -
VK_SUBGROUP_FEATURE_BALLOT_BITspecifies the device will accept SPIR-V shader modules containing theGroupNonUniformBallotcapability. -
VK_SUBGROUP_FEATURE_SHUFFLE_BITspecifies the device will accept SPIR-V shader modules containing theGroupNonUniformShufflecapability. -
VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BITspecifies the device will accept SPIR-V shader modules containing theGroupNonUniformShuffleRelativecapability. -
VK_SUBGROUP_FEATURE_CLUSTERED_BITspecifies the device will accept SPIR-V shader modules containing theGroupNonUniformClusteredcapability. -
VK_SUBGROUP_FEATURE_QUAD_BITspecifies the device will accept SPIR-V shader modules containing theGroupNonUniformQuadcapability. -
VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NVspecifies the device will accept SPIR-V shader modules containing theGroupNonUniformPartitionedNVcapability. -
VK_SUBGROUP_FEATURE_ROTATE_BITspecifies the device will accept SPIR-V shader modules containing theGroupNonUniformRotateKHRcapability. -
VK_SUBGROUP_FEATURE_ROTATE_CLUSTERED_BITspecifies the device will accept SPIR-V shader modules that use theClusterSizeoperand 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.