vulkan-2.1.0.0: Bindings to the Vulkan graphics API.

Safe HaskellNone
LanguageHaskell2010

Graphics.Vulkan.Core11.Promoted_From_VK_KHR_subgroup

Synopsis

Documentation

newtype VkSubgroupFeatureFlagBits Source #

VkSubgroupFeatureFlagBits - Enum describing what subgroup operations are supported

See Also

VkSubgroupFeatureFlags

Instances
Eq VkSubgroupFeatureFlagBits Source # 
Instance details
Ord VkSubgroupFeatureFlagBits Source # 
Instance details
Read VkSubgroupFeatureFlagBits Source # 
Instance details
Show VkSubgroupFeatureFlagBits Source # 
Instance details
Storable VkSubgroupFeatureFlagBits Source # 
Instance details
Bits VkSubgroupFeatureFlagBits Source # 
Instance details

Methods

(.&.) :: VkSubgroupFeatureFlagBits -> VkSubgroupFeatureFlagBits -> VkSubgroupFeatureFlagBits #

(.|.) :: VkSubgroupFeatureFlagBits -> VkSubgroupFeatureFlagBits -> VkSubgroupFeatureFlagBits #

xor :: VkSubgroupFeatureFlagBits -> VkSubgroupFeatureFlagBits -> VkSubgroupFeatureFlagBits #

complement :: VkSubgroupFeatureFlagBits -> VkSubgroupFeatureFlagBits #

shift :: VkSubgroupFeatureFlagBits -> Int -> VkSubgroupFeatureFlagBits #

rotate :: VkSubgroupFeatureFlagBits -> Int -> VkSubgroupFeatureFlagBits #

zeroBits :: VkSubgroupFeatureFlagBits #

bit :: Int -> VkSubgroupFeatureFlagBits #

setBit :: VkSubgroupFeatureFlagBits -> Int -> VkSubgroupFeatureFlagBits #

clearBit :: VkSubgroupFeatureFlagBits -> Int -> VkSubgroupFeatureFlagBits #

complementBit :: VkSubgroupFeatureFlagBits -> Int -> VkSubgroupFeatureFlagBits #

testBit :: VkSubgroupFeatureFlagBits -> Int -> Bool #

bitSizeMaybe :: VkSubgroupFeatureFlagBits -> Maybe Int #

bitSize :: VkSubgroupFeatureFlagBits -> Int #

isSigned :: VkSubgroupFeatureFlagBits -> Bool #

shiftL :: VkSubgroupFeatureFlagBits -> Int -> VkSubgroupFeatureFlagBits #

unsafeShiftL :: VkSubgroupFeatureFlagBits -> Int -> VkSubgroupFeatureFlagBits #

shiftR :: VkSubgroupFeatureFlagBits -> Int -> VkSubgroupFeatureFlagBits #

unsafeShiftR :: VkSubgroupFeatureFlagBits -> Int -> VkSubgroupFeatureFlagBits #

rotateL :: VkSubgroupFeatureFlagBits -> Int -> VkSubgroupFeatureFlagBits #

rotateR :: VkSubgroupFeatureFlagBits -> Int -> VkSubgroupFeatureFlagBits #

popCount :: VkSubgroupFeatureFlagBits -> Int #

FiniteBits VkSubgroupFeatureFlagBits Source # 
Instance details

pattern VK_SUBGROUP_FEATURE_BASIC_BIT :: VkSubgroupFeatureFlagBits Source #

VK_SUBGROUP_FEATURE_BASIC_BIT specifies the device will accept SPIR-V shader modules that contain the GroupNonUniform capability.

pattern VK_SUBGROUP_FEATURE_VOTE_BIT :: VkSubgroupFeatureFlagBits Source #

VK_SUBGROUP_FEATURE_VOTE_BIT specifies the device will accept SPIR-V shader modules that contain the GroupNonUniformVote capability.

pattern VK_SUBGROUP_FEATURE_ARITHMETIC_BIT :: VkSubgroupFeatureFlagBits Source #

VK_SUBGROUP_FEATURE_ARITHMETIC_BIT specifies the device will accept SPIR-V shader modules that contain the GroupNonUniformArithmetic capability.

pattern VK_SUBGROUP_FEATURE_BALLOT_BIT :: VkSubgroupFeatureFlagBits Source #

VK_SUBGROUP_FEATURE_BALLOT_BIT specifies the device will accept SPIR-V shader modules that contain the GroupNonUniformBallot capability.

pattern VK_SUBGROUP_FEATURE_SHUFFLE_BIT :: VkSubgroupFeatureFlagBits Source #

VK_SUBGROUP_FEATURE_SHUFFLE_BIT specifies the device will accept SPIR-V shader modules that contain the GroupNonUniformShuffle capability.

pattern VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT :: VkSubgroupFeatureFlagBits Source #

VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT specifies the device will accept SPIR-V shader modules that contain the GroupNonUniformShuffleRelative capability.

pattern VK_SUBGROUP_FEATURE_CLUSTERED_BIT :: VkSubgroupFeatureFlagBits Source #

VK_SUBGROUP_FEATURE_CLUSTERED_BIT specifies the device will accept SPIR-V shader modules that contain the GroupNonUniformClustered capability.

pattern VK_SUBGROUP_FEATURE_QUAD_BIT :: VkSubgroupFeatureFlagBits Source #

VK_SUBGROUP_FEATURE_QUAD_BIT specifies the device will accept SPIR-V shader modules that contain the GroupNonUniformQuad capability.

data VkPhysicalDeviceSubgroupProperties Source #

VkPhysicalDeviceSubgroupProperties - Structure describing subgroup support for an implementation

Members

The members of the VkPhysicalDeviceSubgroupProperties structure describe the following implementation-dependent limits:

Description

  • sType is the type of this structure.
  • pNext is NULL or a pointer to an extension-specific structure.
  • subgroupSize is the number of invocations in each subgroup. This will match any @SubgroupSize@ decorated variable used in any shader module created on this device. subgroupSize is at least 1 if any of the physical device’s queues support VK_QUEUE_GRAPHICS_BIT or VK_QUEUE_COMPUTE_BIT.
  • supportedStages is a bitfield of VkShaderStageFlagBits describing the shader stages that subgroup operations are supported in. supportedStages will have the VK_SHADER_STAGE_COMPUTE_BIT bit set if any of any of the physical device’s queues support VK_QUEUE_COMPUTE_BIT.
  • supportedOperations is a bitmask of VkSubgroupFeatureFlagBits specifying the sets of subgroup operations supported on this device. supportedOperations will have the VK_SUBGROUP_FEATURE_BASIC_BIT bit set if any of the physical device’s queues support VK_QUEUE_GRAPHICS_BIT or VK_QUEUE_COMPUTE_BIT.
  • quadOperationsInAllStages is a boolean that specifies whether quad subgroup operations are available in all stages, or are restricted to fragment and compute stages.

Valid Usage (Implicit)

  • sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES

If the VkPhysicalDeviceSubgroupProperties structure is included in the pNext chain of VkPhysicalDeviceProperties2, it is filled with the implementation-dependent limits.

See Also

VkBool32, VkShaderStageFlags, VkStructureType, VkSubgroupFeatureFlags

type VkSubgroupFeatureFlags = VkSubgroupFeatureFlagBits Source #

VkSubgroupFeatureFlags - Bitmask of VkSubgroupFeatureFlagBits

Description

VkSubgroupFeatureFlags is a bitmask type for setting a mask of zero or more VkSubgroupFeatureFlagBits.

See Also

VkPhysicalDeviceSubgroupProperties, VkSubgroupFeatureFlagBits