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,
} 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.
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.