module Data.SpirV.Enum.Capability where

import Data.String (IsString(..))
import Data.Word (Word32)
import Foreign (Storable(..))
import GHC.Read (Read(..))
import Text.ParserCombinators.ReadPrec (pfail)
import qualified GHC.Read as Read
import qualified Text.Read.Lex as Lex

newtype Capability = Capability Word32
  deriving (Capability -> Capability -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Capability -> Capability -> Bool
$c/= :: Capability -> Capability -> Bool
== :: Capability -> Capability -> Bool
$c== :: Capability -> Capability -> Bool
Eq, Eq Capability
Capability -> Capability -> Bool
Capability -> Capability -> Ordering
Capability -> Capability -> Capability
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: Capability -> Capability -> Capability
$cmin :: Capability -> Capability -> Capability
max :: Capability -> Capability -> Capability
$cmax :: Capability -> Capability -> Capability
>= :: Capability -> Capability -> Bool
$c>= :: Capability -> Capability -> Bool
> :: Capability -> Capability -> Bool
$c> :: Capability -> Capability -> Bool
<= :: Capability -> Capability -> Bool
$c<= :: Capability -> Capability -> Bool
< :: Capability -> Capability -> Bool
$c< :: Capability -> Capability -> Bool
compare :: Capability -> Capability -> Ordering
$ccompare :: Capability -> Capability -> Ordering
Ord, Ptr Capability -> IO Capability
Ptr Capability -> Int -> IO Capability
Ptr Capability -> Int -> Capability -> IO ()
Ptr Capability -> Capability -> IO ()
Capability -> Int
forall b. Ptr b -> Int -> IO Capability
forall b. Ptr b -> Int -> Capability -> IO ()
forall a.
(a -> Int)
-> (a -> Int)
-> (Ptr a -> Int -> IO a)
-> (Ptr a -> Int -> a -> IO ())
-> (forall b. Ptr b -> Int -> IO a)
-> (forall b. Ptr b -> Int -> a -> IO ())
-> (Ptr a -> IO a)
-> (Ptr a -> a -> IO ())
-> Storable a
poke :: Ptr Capability -> Capability -> IO ()
$cpoke :: Ptr Capability -> Capability -> IO ()
peek :: Ptr Capability -> IO Capability
$cpeek :: Ptr Capability -> IO Capability
pokeByteOff :: forall b. Ptr b -> Int -> Capability -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> Capability -> IO ()
peekByteOff :: forall b. Ptr b -> Int -> IO Capability
$cpeekByteOff :: forall b. Ptr b -> Int -> IO Capability
pokeElemOff :: Ptr Capability -> Int -> Capability -> IO ()
$cpokeElemOff :: Ptr Capability -> Int -> Capability -> IO ()
peekElemOff :: Ptr Capability -> Int -> IO Capability
$cpeekElemOff :: Ptr Capability -> Int -> IO Capability
alignment :: Capability -> Int
$calignment :: Capability -> Int
sizeOf :: Capability -> Int
$csizeOf :: Capability -> Int
Storable)

pattern Matrix :: Capability
pattern $bMatrix :: Capability
$mMatrix :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
Matrix = Capability 0

pattern Shader :: Capability
pattern $bShader :: Capability
$mShader :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
Shader = Capability 1

pattern Geometry :: Capability
pattern $bGeometry :: Capability
$mGeometry :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
Geometry = Capability 2

pattern Tessellation :: Capability
pattern $bTessellation :: Capability
$mTessellation :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
Tessellation = Capability 3

pattern Addresses :: Capability
pattern $bAddresses :: Capability
$mAddresses :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
Addresses = Capability 4

pattern Linkage :: Capability
pattern $bLinkage :: Capability
$mLinkage :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
Linkage = Capability 5

pattern Kernel :: Capability
pattern $bKernel :: Capability
$mKernel :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
Kernel = Capability 6

pattern Vector16 :: Capability
pattern $bVector16 :: Capability
$mVector16 :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
Vector16 = Capability 7

pattern Float16Buffer :: Capability
pattern $bFloat16Buffer :: Capability
$mFloat16Buffer :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
Float16Buffer = Capability 8

pattern Float16 :: Capability
pattern $bFloat16 :: Capability
$mFloat16 :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
Float16 = Capability 9

pattern Float64 :: Capability
pattern $bFloat64 :: Capability
$mFloat64 :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
Float64 = Capability 10

pattern Int64 :: Capability
pattern $bInt64 :: Capability
$mInt64 :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
Int64 = Capability 11

pattern Int64Atomics :: Capability
pattern $bInt64Atomics :: Capability
$mInt64Atomics :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
Int64Atomics = Capability 12

pattern ImageBasic :: Capability
pattern $bImageBasic :: Capability
$mImageBasic :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
ImageBasic = Capability 13

pattern ImageReadWrite :: Capability
pattern $bImageReadWrite :: Capability
$mImageReadWrite :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
ImageReadWrite = Capability 14

pattern ImageMipmap :: Capability
pattern $bImageMipmap :: Capability
$mImageMipmap :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
ImageMipmap = Capability 15

pattern Pipes :: Capability
pattern $bPipes :: Capability
$mPipes :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
Pipes = Capability 17

pattern Groups :: Capability
pattern $bGroups :: Capability
$mGroups :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
Groups = Capability 18

pattern DeviceEnqueue :: Capability
pattern $bDeviceEnqueue :: Capability
$mDeviceEnqueue :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
DeviceEnqueue = Capability 19

pattern LiteralSampler :: Capability
pattern $bLiteralSampler :: Capability
$mLiteralSampler :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
LiteralSampler = Capability 20

pattern AtomicStorage :: Capability
pattern $bAtomicStorage :: Capability
$mAtomicStorage :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
AtomicStorage = Capability 21

pattern Int16 :: Capability
pattern $bInt16 :: Capability
$mInt16 :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
Int16 = Capability 22

pattern TessellationPointSize :: Capability
pattern $bTessellationPointSize :: Capability
$mTessellationPointSize :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
TessellationPointSize = Capability 23

pattern GeometryPointSize :: Capability
pattern $bGeometryPointSize :: Capability
$mGeometryPointSize :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
GeometryPointSize = Capability 24

pattern ImageGatherExtended :: Capability
pattern $bImageGatherExtended :: Capability
$mImageGatherExtended :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
ImageGatherExtended = Capability 25

pattern StorageImageMultisample :: Capability
pattern $bStorageImageMultisample :: Capability
$mStorageImageMultisample :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
StorageImageMultisample = Capability 27

pattern UniformBufferArrayDynamicIndexing :: Capability
pattern $bUniformBufferArrayDynamicIndexing :: Capability
$mUniformBufferArrayDynamicIndexing :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
UniformBufferArrayDynamicIndexing = Capability 28

pattern SampledImageArrayDynamicIndexing :: Capability
pattern $bSampledImageArrayDynamicIndexing :: Capability
$mSampledImageArrayDynamicIndexing :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
SampledImageArrayDynamicIndexing = Capability 29

pattern StorageBufferArrayDynamicIndexing :: Capability
pattern $bStorageBufferArrayDynamicIndexing :: Capability
$mStorageBufferArrayDynamicIndexing :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
StorageBufferArrayDynamicIndexing = Capability 30

pattern StorageImageArrayDynamicIndexing :: Capability
pattern $bStorageImageArrayDynamicIndexing :: Capability
$mStorageImageArrayDynamicIndexing :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
StorageImageArrayDynamicIndexing = Capability 31

pattern ClipDistance :: Capability
pattern $bClipDistance :: Capability
$mClipDistance :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
ClipDistance = Capability 32

pattern CullDistance :: Capability
pattern $bCullDistance :: Capability
$mCullDistance :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
CullDistance = Capability 33

pattern ImageCubeArray :: Capability
pattern $bImageCubeArray :: Capability
$mImageCubeArray :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
ImageCubeArray = Capability 34

pattern SampleRateShading :: Capability
pattern $bSampleRateShading :: Capability
$mSampleRateShading :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
SampleRateShading = Capability 35

pattern ImageRect :: Capability
pattern $bImageRect :: Capability
$mImageRect :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
ImageRect = Capability 36

pattern SampledRect :: Capability
pattern $bSampledRect :: Capability
$mSampledRect :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
SampledRect = Capability 37

pattern GenericPointer :: Capability
pattern $bGenericPointer :: Capability
$mGenericPointer :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
GenericPointer = Capability 38

pattern Int8 :: Capability
pattern $bInt8 :: Capability
$mInt8 :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
Int8 = Capability 39

pattern InputAttachment :: Capability
pattern $bInputAttachment :: Capability
$mInputAttachment :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
InputAttachment = Capability 40

pattern SparseResidency :: Capability
pattern $bSparseResidency :: Capability
$mSparseResidency :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
SparseResidency = Capability 41

pattern MinLod :: Capability
pattern $bMinLod :: Capability
$mMinLod :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
MinLod = Capability 42

pattern Sampled1D :: Capability
pattern $bSampled1D :: Capability
$mSampled1D :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
Sampled1D = Capability 43

pattern Image1D :: Capability
pattern $bImage1D :: Capability
$mImage1D :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
Image1D = Capability 44

pattern SampledCubeArray :: Capability
pattern $bSampledCubeArray :: Capability
$mSampledCubeArray :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
SampledCubeArray = Capability 45

pattern SampledBuffer :: Capability
pattern $bSampledBuffer :: Capability
$mSampledBuffer :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
SampledBuffer = Capability 46

pattern ImageBuffer :: Capability
pattern $bImageBuffer :: Capability
$mImageBuffer :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
ImageBuffer = Capability 47

pattern ImageMSArray :: Capability
pattern $bImageMSArray :: Capability
$mImageMSArray :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
ImageMSArray = Capability 48

pattern StorageImageExtendedFormats :: Capability
pattern $bStorageImageExtendedFormats :: Capability
$mStorageImageExtendedFormats :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
StorageImageExtendedFormats = Capability 49

pattern ImageQuery :: Capability
pattern $bImageQuery :: Capability
$mImageQuery :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
ImageQuery = Capability 50

pattern DerivativeControl :: Capability
pattern $bDerivativeControl :: Capability
$mDerivativeControl :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
DerivativeControl = Capability 51

pattern InterpolationFunction :: Capability
pattern $bInterpolationFunction :: Capability
$mInterpolationFunction :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
InterpolationFunction = Capability 52

pattern TransformFeedback :: Capability
pattern $bTransformFeedback :: Capability
$mTransformFeedback :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
TransformFeedback = Capability 53

pattern GeometryStreams :: Capability
pattern $bGeometryStreams :: Capability
$mGeometryStreams :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
GeometryStreams = Capability 54

pattern StorageImageReadWithoutFormat :: Capability
pattern $bStorageImageReadWithoutFormat :: Capability
$mStorageImageReadWithoutFormat :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
StorageImageReadWithoutFormat = Capability 55

pattern StorageImageWriteWithoutFormat :: Capability
pattern $bStorageImageWriteWithoutFormat :: Capability
$mStorageImageWriteWithoutFormat :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
StorageImageWriteWithoutFormat = Capability 56

pattern MultiViewport :: Capability
pattern $bMultiViewport :: Capability
$mMultiViewport :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
MultiViewport = Capability 57

pattern SubgroupDispatch :: Capability
pattern $bSubgroupDispatch :: Capability
$mSubgroupDispatch :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
SubgroupDispatch = Capability 58

pattern NamedBarrier :: Capability
pattern $bNamedBarrier :: Capability
$mNamedBarrier :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
NamedBarrier = Capability 59

pattern PipeStorage :: Capability
pattern $bPipeStorage :: Capability
$mPipeStorage :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
PipeStorage = Capability 60

pattern GroupNonUniform :: Capability
pattern $bGroupNonUniform :: Capability
$mGroupNonUniform :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
GroupNonUniform = Capability 61

pattern GroupNonUniformVote :: Capability
pattern $bGroupNonUniformVote :: Capability
$mGroupNonUniformVote :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
GroupNonUniformVote = Capability 62

pattern GroupNonUniformArithmetic :: Capability
pattern $bGroupNonUniformArithmetic :: Capability
$mGroupNonUniformArithmetic :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
GroupNonUniformArithmetic = Capability 63

pattern GroupNonUniformBallot :: Capability
pattern $bGroupNonUniformBallot :: Capability
$mGroupNonUniformBallot :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
GroupNonUniformBallot = Capability 64

pattern GroupNonUniformShuffle :: Capability
pattern $bGroupNonUniformShuffle :: Capability
$mGroupNonUniformShuffle :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
GroupNonUniformShuffle = Capability 65

pattern GroupNonUniformShuffleRelative :: Capability
pattern $bGroupNonUniformShuffleRelative :: Capability
$mGroupNonUniformShuffleRelative :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
GroupNonUniformShuffleRelative = Capability 66

pattern GroupNonUniformClustered :: Capability
pattern $bGroupNonUniformClustered :: Capability
$mGroupNonUniformClustered :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
GroupNonUniformClustered = Capability 67

pattern GroupNonUniformQuad :: Capability
pattern $bGroupNonUniformQuad :: Capability
$mGroupNonUniformQuad :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
GroupNonUniformQuad = Capability 68

pattern ShaderLayer :: Capability
pattern $bShaderLayer :: Capability
$mShaderLayer :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
ShaderLayer = Capability 69

pattern ShaderViewportIndex :: Capability
pattern $bShaderViewportIndex :: Capability
$mShaderViewportIndex :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
ShaderViewportIndex = Capability 70

pattern UniformDecoration :: Capability
pattern $bUniformDecoration :: Capability
$mUniformDecoration :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
UniformDecoration = Capability 71

pattern CoreBuiltinsARM :: Capability
pattern $bCoreBuiltinsARM :: Capability
$mCoreBuiltinsARM :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
CoreBuiltinsARM = Capability 4165

pattern FragmentShadingRateKHR :: Capability
pattern $bFragmentShadingRateKHR :: Capability
$mFragmentShadingRateKHR :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
FragmentShadingRateKHR = Capability 4422

pattern SubgroupBallotKHR :: Capability
pattern $bSubgroupBallotKHR :: Capability
$mSubgroupBallotKHR :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
SubgroupBallotKHR = Capability 4423

pattern DrawParameters :: Capability
pattern $bDrawParameters :: Capability
$mDrawParameters :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
DrawParameters = Capability 4427

pattern WorkgroupMemoryExplicitLayoutKHR :: Capability
pattern $bWorkgroupMemoryExplicitLayoutKHR :: Capability
$mWorkgroupMemoryExplicitLayoutKHR :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
WorkgroupMemoryExplicitLayoutKHR = Capability 4428

pattern WorkgroupMemoryExplicitLayout8BitAccessKHR :: Capability
pattern $bWorkgroupMemoryExplicitLayout8BitAccessKHR :: Capability
$mWorkgroupMemoryExplicitLayout8BitAccessKHR :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
WorkgroupMemoryExplicitLayout8BitAccessKHR = Capability 4429

pattern WorkgroupMemoryExplicitLayout16BitAccessKHR :: Capability
pattern $bWorkgroupMemoryExplicitLayout16BitAccessKHR :: Capability
$mWorkgroupMemoryExplicitLayout16BitAccessKHR :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
WorkgroupMemoryExplicitLayout16BitAccessKHR = Capability 4430

pattern SubgroupVoteKHR :: Capability
pattern $bSubgroupVoteKHR :: Capability
$mSubgroupVoteKHR :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
SubgroupVoteKHR = Capability 4431

pattern StorageBuffer16BitAccess :: Capability
pattern $bStorageBuffer16BitAccess :: Capability
$mStorageBuffer16BitAccess :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
StorageBuffer16BitAccess = Capability 4433

pattern StorageUniformBufferBlock16 :: Capability
pattern $bStorageUniformBufferBlock16 :: Capability
$mStorageUniformBufferBlock16 :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
StorageUniformBufferBlock16 = Capability 4433

pattern StorageUniform16 :: Capability
pattern $bStorageUniform16 :: Capability
$mStorageUniform16 :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
StorageUniform16 = Capability 4434

pattern UniformAndStorageBuffer16BitAccess :: Capability
pattern $bUniformAndStorageBuffer16BitAccess :: Capability
$mUniformAndStorageBuffer16BitAccess :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
UniformAndStorageBuffer16BitAccess = Capability 4434

pattern StoragePushConstant16 :: Capability
pattern $bStoragePushConstant16 :: Capability
$mStoragePushConstant16 :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
StoragePushConstant16 = Capability 4435

pattern StorageInputOutput16 :: Capability
pattern $bStorageInputOutput16 :: Capability
$mStorageInputOutput16 :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
StorageInputOutput16 = Capability 4436

pattern DeviceGroup :: Capability
pattern $bDeviceGroup :: Capability
$mDeviceGroup :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
DeviceGroup = Capability 4437

pattern MultiView :: Capability
pattern $bMultiView :: Capability
$mMultiView :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
MultiView = Capability 4439

pattern VariablePointersStorageBuffer :: Capability
pattern $bVariablePointersStorageBuffer :: Capability
$mVariablePointersStorageBuffer :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
VariablePointersStorageBuffer = Capability 4441

pattern VariablePointers :: Capability
pattern $bVariablePointers :: Capability
$mVariablePointers :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
VariablePointers = Capability 4442

pattern AtomicStorageOps :: Capability
pattern $bAtomicStorageOps :: Capability
$mAtomicStorageOps :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
AtomicStorageOps = Capability 4445

pattern SampleMaskPostDepthCoverage :: Capability
pattern $bSampleMaskPostDepthCoverage :: Capability
$mSampleMaskPostDepthCoverage :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
SampleMaskPostDepthCoverage = Capability 4447

pattern StorageBuffer8BitAccess :: Capability
pattern $bStorageBuffer8BitAccess :: Capability
$mStorageBuffer8BitAccess :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
StorageBuffer8BitAccess = Capability 4448

pattern UniformAndStorageBuffer8BitAccess :: Capability
pattern $bUniformAndStorageBuffer8BitAccess :: Capability
$mUniformAndStorageBuffer8BitAccess :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
UniformAndStorageBuffer8BitAccess = Capability 4449

pattern StoragePushConstant8 :: Capability
pattern $bStoragePushConstant8 :: Capability
$mStoragePushConstant8 :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
StoragePushConstant8 = Capability 4450

pattern DenormPreserve :: Capability
pattern $bDenormPreserve :: Capability
$mDenormPreserve :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
DenormPreserve = Capability 4464

pattern DenormFlushToZero :: Capability
pattern $bDenormFlushToZero :: Capability
$mDenormFlushToZero :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
DenormFlushToZero = Capability 4465

pattern SignedZeroInfNanPreserve :: Capability
pattern $bSignedZeroInfNanPreserve :: Capability
$mSignedZeroInfNanPreserve :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
SignedZeroInfNanPreserve = Capability 4466

pattern RoundingModeRTE :: Capability
pattern $bRoundingModeRTE :: Capability
$mRoundingModeRTE :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
RoundingModeRTE = Capability 4467

pattern RoundingModeRTZ :: Capability
pattern $bRoundingModeRTZ :: Capability
$mRoundingModeRTZ :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
RoundingModeRTZ = Capability 4468

pattern RayQueryProvisionalKHR :: Capability
pattern $bRayQueryProvisionalKHR :: Capability
$mRayQueryProvisionalKHR :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
RayQueryProvisionalKHR = Capability 4471

pattern RayQueryKHR :: Capability
pattern $bRayQueryKHR :: Capability
$mRayQueryKHR :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
RayQueryKHR = Capability 4472

pattern RayTraversalPrimitiveCullingKHR :: Capability
pattern $bRayTraversalPrimitiveCullingKHR :: Capability
$mRayTraversalPrimitiveCullingKHR :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
RayTraversalPrimitiveCullingKHR = Capability 4478

pattern RayTracingKHR :: Capability
pattern $bRayTracingKHR :: Capability
$mRayTracingKHR :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
RayTracingKHR = Capability 4479

pattern Float16ImageAMD :: Capability
pattern $bFloat16ImageAMD :: Capability
$mFloat16ImageAMD :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
Float16ImageAMD = Capability 5008

pattern ImageGatherBiasLodAMD :: Capability
pattern $bImageGatherBiasLodAMD :: Capability
$mImageGatherBiasLodAMD :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
ImageGatherBiasLodAMD = Capability 5009

pattern FragmentMaskAMD :: Capability
pattern $bFragmentMaskAMD :: Capability
$mFragmentMaskAMD :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
FragmentMaskAMD = Capability 5010

pattern StencilExportEXT :: Capability
pattern $bStencilExportEXT :: Capability
$mStencilExportEXT :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
StencilExportEXT = Capability 5013

pattern ImageReadWriteLodAMD :: Capability
pattern $bImageReadWriteLodAMD :: Capability
$mImageReadWriteLodAMD :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
ImageReadWriteLodAMD = Capability 5015

pattern Int64ImageEXT :: Capability
pattern $bInt64ImageEXT :: Capability
$mInt64ImageEXT :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
Int64ImageEXT = Capability 5016

pattern ShaderClockKHR :: Capability
pattern $bShaderClockKHR :: Capability
$mShaderClockKHR :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
ShaderClockKHR = Capability 5055

pattern SampleMaskOverrideCoverageNV :: Capability
pattern $bSampleMaskOverrideCoverageNV :: Capability
$mSampleMaskOverrideCoverageNV :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
SampleMaskOverrideCoverageNV = Capability 5249

pattern GeometryShaderPassthroughNV :: Capability
pattern $bGeometryShaderPassthroughNV :: Capability
$mGeometryShaderPassthroughNV :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
GeometryShaderPassthroughNV = Capability 5251

pattern ShaderViewportIndexLayerEXT :: Capability
pattern $bShaderViewportIndexLayerEXT :: Capability
$mShaderViewportIndexLayerEXT :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
ShaderViewportIndexLayerEXT = Capability 5254

pattern ShaderViewportIndexLayerNV :: Capability
pattern $bShaderViewportIndexLayerNV :: Capability
$mShaderViewportIndexLayerNV :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
ShaderViewportIndexLayerNV = Capability 5254

pattern ShaderViewportMaskNV :: Capability
pattern $bShaderViewportMaskNV :: Capability
$mShaderViewportMaskNV :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
ShaderViewportMaskNV = Capability 5255

pattern ShaderStereoViewNV :: Capability
pattern $bShaderStereoViewNV :: Capability
$mShaderStereoViewNV :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
ShaderStereoViewNV = Capability 5259

pattern PerViewAttributesNV :: Capability
pattern $bPerViewAttributesNV :: Capability
$mPerViewAttributesNV :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
PerViewAttributesNV = Capability 5260

pattern FragmentFullyCoveredEXT :: Capability
pattern $bFragmentFullyCoveredEXT :: Capability
$mFragmentFullyCoveredEXT :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
FragmentFullyCoveredEXT = Capability 5265

pattern MeshShadingNV :: Capability
pattern $bMeshShadingNV :: Capability
$mMeshShadingNV :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
MeshShadingNV = Capability 5266

pattern ImageFootprintNV :: Capability
pattern $bImageFootprintNV :: Capability
$mImageFootprintNV :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
ImageFootprintNV = Capability 5282

pattern MeshShadingEXT :: Capability
pattern $bMeshShadingEXT :: Capability
$mMeshShadingEXT :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
MeshShadingEXT = Capability 5283

pattern FragmentBarycentricKHR :: Capability
pattern $bFragmentBarycentricKHR :: Capability
$mFragmentBarycentricKHR :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
FragmentBarycentricKHR = Capability 5284

pattern FragmentBarycentricNV :: Capability
pattern $bFragmentBarycentricNV :: Capability
$mFragmentBarycentricNV :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
FragmentBarycentricNV = Capability 5284

pattern ComputeDerivativeGroupQuadsNV :: Capability
pattern $bComputeDerivativeGroupQuadsNV :: Capability
$mComputeDerivativeGroupQuadsNV :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
ComputeDerivativeGroupQuadsNV = Capability 5288

pattern FragmentDensityEXT :: Capability
pattern $bFragmentDensityEXT :: Capability
$mFragmentDensityEXT :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
FragmentDensityEXT = Capability 5291

pattern ShadingRateNV :: Capability
pattern $bShadingRateNV :: Capability
$mShadingRateNV :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
ShadingRateNV = Capability 5291

pattern GroupNonUniformPartitionedNV :: Capability
pattern $bGroupNonUniformPartitionedNV :: Capability
$mGroupNonUniformPartitionedNV :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
GroupNonUniformPartitionedNV = Capability 5297

pattern ShaderNonUniform :: Capability
pattern $bShaderNonUniform :: Capability
$mShaderNonUniform :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
ShaderNonUniform = Capability 5301

pattern ShaderNonUniformEXT :: Capability
pattern $bShaderNonUniformEXT :: Capability
$mShaderNonUniformEXT :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
ShaderNonUniformEXT = Capability 5301

pattern RuntimeDescriptorArray :: Capability
pattern $bRuntimeDescriptorArray :: Capability
$mRuntimeDescriptorArray :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
RuntimeDescriptorArray = Capability 5302

pattern RuntimeDescriptorArrayEXT :: Capability
pattern $bRuntimeDescriptorArrayEXT :: Capability
$mRuntimeDescriptorArrayEXT :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
RuntimeDescriptorArrayEXT = Capability 5302

pattern InputAttachmentArrayDynamicIndexing :: Capability
pattern $bInputAttachmentArrayDynamicIndexing :: Capability
$mInputAttachmentArrayDynamicIndexing :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
InputAttachmentArrayDynamicIndexing = Capability 5303

pattern InputAttachmentArrayDynamicIndexingEXT :: Capability
pattern $bInputAttachmentArrayDynamicIndexingEXT :: Capability
$mInputAttachmentArrayDynamicIndexingEXT :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
InputAttachmentArrayDynamicIndexingEXT = Capability 5303

pattern UniformTexelBufferArrayDynamicIndexing :: Capability
pattern $bUniformTexelBufferArrayDynamicIndexing :: Capability
$mUniformTexelBufferArrayDynamicIndexing :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
UniformTexelBufferArrayDynamicIndexing = Capability 5304

pattern UniformTexelBufferArrayDynamicIndexingEXT :: Capability
pattern $bUniformTexelBufferArrayDynamicIndexingEXT :: Capability
$mUniformTexelBufferArrayDynamicIndexingEXT :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
UniformTexelBufferArrayDynamicIndexingEXT = Capability 5304

pattern StorageTexelBufferArrayDynamicIndexing :: Capability
pattern $bStorageTexelBufferArrayDynamicIndexing :: Capability
$mStorageTexelBufferArrayDynamicIndexing :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
StorageTexelBufferArrayDynamicIndexing = Capability 5305

pattern StorageTexelBufferArrayDynamicIndexingEXT :: Capability
pattern $bStorageTexelBufferArrayDynamicIndexingEXT :: Capability
$mStorageTexelBufferArrayDynamicIndexingEXT :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
StorageTexelBufferArrayDynamicIndexingEXT = Capability 5305

pattern UniformBufferArrayNonUniformIndexing :: Capability
pattern $bUniformBufferArrayNonUniformIndexing :: Capability
$mUniformBufferArrayNonUniformIndexing :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
UniformBufferArrayNonUniformIndexing = Capability 5306

pattern UniformBufferArrayNonUniformIndexingEXT :: Capability
pattern $bUniformBufferArrayNonUniformIndexingEXT :: Capability
$mUniformBufferArrayNonUniformIndexingEXT :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
UniformBufferArrayNonUniformIndexingEXT = Capability 5306

pattern SampledImageArrayNonUniformIndexing :: Capability
pattern $bSampledImageArrayNonUniformIndexing :: Capability
$mSampledImageArrayNonUniformIndexing :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
SampledImageArrayNonUniformIndexing = Capability 5307

pattern SampledImageArrayNonUniformIndexingEXT :: Capability
pattern $bSampledImageArrayNonUniformIndexingEXT :: Capability
$mSampledImageArrayNonUniformIndexingEXT :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
SampledImageArrayNonUniformIndexingEXT = Capability 5307

pattern StorageBufferArrayNonUniformIndexing :: Capability
pattern $bStorageBufferArrayNonUniformIndexing :: Capability
$mStorageBufferArrayNonUniformIndexing :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
StorageBufferArrayNonUniformIndexing = Capability 5308

pattern StorageBufferArrayNonUniformIndexingEXT :: Capability
pattern $bStorageBufferArrayNonUniformIndexingEXT :: Capability
$mStorageBufferArrayNonUniformIndexingEXT :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
StorageBufferArrayNonUniformIndexingEXT = Capability 5308

pattern StorageImageArrayNonUniformIndexing :: Capability
pattern $bStorageImageArrayNonUniformIndexing :: Capability
$mStorageImageArrayNonUniformIndexing :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
StorageImageArrayNonUniformIndexing = Capability 5309

pattern StorageImageArrayNonUniformIndexingEXT :: Capability
pattern $bStorageImageArrayNonUniformIndexingEXT :: Capability
$mStorageImageArrayNonUniformIndexingEXT :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
StorageImageArrayNonUniformIndexingEXT = Capability 5309

pattern InputAttachmentArrayNonUniformIndexing :: Capability
pattern $bInputAttachmentArrayNonUniformIndexing :: Capability
$mInputAttachmentArrayNonUniformIndexing :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
InputAttachmentArrayNonUniformIndexing = Capability 5310

pattern InputAttachmentArrayNonUniformIndexingEXT :: Capability
pattern $bInputAttachmentArrayNonUniformIndexingEXT :: Capability
$mInputAttachmentArrayNonUniformIndexingEXT :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
InputAttachmentArrayNonUniformIndexingEXT = Capability 5310

pattern UniformTexelBufferArrayNonUniformIndexing :: Capability
pattern $bUniformTexelBufferArrayNonUniformIndexing :: Capability
$mUniformTexelBufferArrayNonUniformIndexing :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
UniformTexelBufferArrayNonUniformIndexing = Capability 5311

pattern UniformTexelBufferArrayNonUniformIndexingEXT :: Capability
pattern $bUniformTexelBufferArrayNonUniformIndexingEXT :: Capability
$mUniformTexelBufferArrayNonUniformIndexingEXT :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
UniformTexelBufferArrayNonUniformIndexingEXT = Capability 5311

pattern StorageTexelBufferArrayNonUniformIndexing :: Capability
pattern $bStorageTexelBufferArrayNonUniformIndexing :: Capability
$mStorageTexelBufferArrayNonUniformIndexing :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
StorageTexelBufferArrayNonUniformIndexing = Capability 5312

pattern StorageTexelBufferArrayNonUniformIndexingEXT :: Capability
pattern $bStorageTexelBufferArrayNonUniformIndexingEXT :: Capability
$mStorageTexelBufferArrayNonUniformIndexingEXT :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
StorageTexelBufferArrayNonUniformIndexingEXT = Capability 5312

pattern RayTracingNV :: Capability
pattern $bRayTracingNV :: Capability
$mRayTracingNV :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
RayTracingNV = Capability 5340

pattern RayTracingMotionBlurNV :: Capability
pattern $bRayTracingMotionBlurNV :: Capability
$mRayTracingMotionBlurNV :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
RayTracingMotionBlurNV = Capability 5341

pattern VulkanMemoryModel :: Capability
pattern $bVulkanMemoryModel :: Capability
$mVulkanMemoryModel :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
VulkanMemoryModel = Capability 5345

pattern VulkanMemoryModelKHR :: Capability
pattern $bVulkanMemoryModelKHR :: Capability
$mVulkanMemoryModelKHR :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
VulkanMemoryModelKHR = Capability 5345

pattern VulkanMemoryModelDeviceScope :: Capability
pattern $bVulkanMemoryModelDeviceScope :: Capability
$mVulkanMemoryModelDeviceScope :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
VulkanMemoryModelDeviceScope = Capability 5346

pattern VulkanMemoryModelDeviceScopeKHR :: Capability
pattern $bVulkanMemoryModelDeviceScopeKHR :: Capability
$mVulkanMemoryModelDeviceScopeKHR :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
VulkanMemoryModelDeviceScopeKHR = Capability 5346

pattern PhysicalStorageBufferAddresses :: Capability
pattern $bPhysicalStorageBufferAddresses :: Capability
$mPhysicalStorageBufferAddresses :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
PhysicalStorageBufferAddresses = Capability 5347

pattern PhysicalStorageBufferAddressesEXT :: Capability
pattern $bPhysicalStorageBufferAddressesEXT :: Capability
$mPhysicalStorageBufferAddressesEXT :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
PhysicalStorageBufferAddressesEXT = Capability 5347

pattern ComputeDerivativeGroupLinearNV :: Capability
pattern $bComputeDerivativeGroupLinearNV :: Capability
$mComputeDerivativeGroupLinearNV :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
ComputeDerivativeGroupLinearNV = Capability 5350

pattern RayTracingProvisionalKHR :: Capability
pattern $bRayTracingProvisionalKHR :: Capability
$mRayTracingProvisionalKHR :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
RayTracingProvisionalKHR = Capability 5353

pattern CooperativeMatrixNV :: Capability
pattern $bCooperativeMatrixNV :: Capability
$mCooperativeMatrixNV :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
CooperativeMatrixNV = Capability 5357

pattern FragmentShaderSampleInterlockEXT :: Capability
pattern $bFragmentShaderSampleInterlockEXT :: Capability
$mFragmentShaderSampleInterlockEXT :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
FragmentShaderSampleInterlockEXT = Capability 5363

pattern FragmentShaderShadingRateInterlockEXT :: Capability
pattern $bFragmentShaderShadingRateInterlockEXT :: Capability
$mFragmentShaderShadingRateInterlockEXT :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
FragmentShaderShadingRateInterlockEXT = Capability 5372

pattern ShaderSMBuiltinsNV :: Capability
pattern $bShaderSMBuiltinsNV :: Capability
$mShaderSMBuiltinsNV :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
ShaderSMBuiltinsNV = Capability 5373

pattern FragmentShaderPixelInterlockEXT :: Capability
pattern $bFragmentShaderPixelInterlockEXT :: Capability
$mFragmentShaderPixelInterlockEXT :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
FragmentShaderPixelInterlockEXT = Capability 5378

pattern DemoteToHelperInvocation :: Capability
pattern $bDemoteToHelperInvocation :: Capability
$mDemoteToHelperInvocation :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
DemoteToHelperInvocation = Capability 5379

pattern DemoteToHelperInvocationEXT :: Capability
pattern $bDemoteToHelperInvocationEXT :: Capability
$mDemoteToHelperInvocationEXT :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
DemoteToHelperInvocationEXT = Capability 5379

pattern RayTracingOpacityMicromapEXT :: Capability
pattern $bRayTracingOpacityMicromapEXT :: Capability
$mRayTracingOpacityMicromapEXT :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
RayTracingOpacityMicromapEXT = Capability 5381

pattern ShaderInvocationReorderNV :: Capability
pattern $bShaderInvocationReorderNV :: Capability
$mShaderInvocationReorderNV :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
ShaderInvocationReorderNV = Capability 5383

pattern BindlessTextureNV :: Capability
pattern $bBindlessTextureNV :: Capability
$mBindlessTextureNV :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
BindlessTextureNV = Capability 5390

pattern SubgroupShuffleINTEL :: Capability
pattern $bSubgroupShuffleINTEL :: Capability
$mSubgroupShuffleINTEL :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
SubgroupShuffleINTEL = Capability 5568

pattern SubgroupBufferBlockIOINTEL :: Capability
pattern $bSubgroupBufferBlockIOINTEL :: Capability
$mSubgroupBufferBlockIOINTEL :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
SubgroupBufferBlockIOINTEL = Capability 5569

pattern SubgroupImageBlockIOINTEL :: Capability
pattern $bSubgroupImageBlockIOINTEL :: Capability
$mSubgroupImageBlockIOINTEL :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
SubgroupImageBlockIOINTEL = Capability 5570

pattern SubgroupImageMediaBlockIOINTEL :: Capability
pattern $bSubgroupImageMediaBlockIOINTEL :: Capability
$mSubgroupImageMediaBlockIOINTEL :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
SubgroupImageMediaBlockIOINTEL = Capability 5579

pattern RoundToInfinityINTEL :: Capability
pattern $bRoundToInfinityINTEL :: Capability
$mRoundToInfinityINTEL :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
RoundToInfinityINTEL = Capability 5582

pattern FloatingPointModeINTEL :: Capability
pattern $bFloatingPointModeINTEL :: Capability
$mFloatingPointModeINTEL :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
FloatingPointModeINTEL = Capability 5583

pattern IntegerFunctions2INTEL :: Capability
pattern $bIntegerFunctions2INTEL :: Capability
$mIntegerFunctions2INTEL :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
IntegerFunctions2INTEL = Capability 5584

pattern FunctionPointersINTEL :: Capability
pattern $bFunctionPointersINTEL :: Capability
$mFunctionPointersINTEL :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
FunctionPointersINTEL = Capability 5603

pattern IndirectReferencesINTEL :: Capability
pattern $bIndirectReferencesINTEL :: Capability
$mIndirectReferencesINTEL :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
IndirectReferencesINTEL = Capability 5604

pattern AsmINTEL :: Capability
pattern $bAsmINTEL :: Capability
$mAsmINTEL :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
AsmINTEL = Capability 5606

pattern AtomicFloat32MinMaxEXT :: Capability
pattern $bAtomicFloat32MinMaxEXT :: Capability
$mAtomicFloat32MinMaxEXT :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
AtomicFloat32MinMaxEXT = Capability 5612

pattern AtomicFloat64MinMaxEXT :: Capability
pattern $bAtomicFloat64MinMaxEXT :: Capability
$mAtomicFloat64MinMaxEXT :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
AtomicFloat64MinMaxEXT = Capability 5613

pattern AtomicFloat16MinMaxEXT :: Capability
pattern $bAtomicFloat16MinMaxEXT :: Capability
$mAtomicFloat16MinMaxEXT :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
AtomicFloat16MinMaxEXT = Capability 5616

pattern VectorComputeINTEL :: Capability
pattern $bVectorComputeINTEL :: Capability
$mVectorComputeINTEL :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
VectorComputeINTEL = Capability 5617

pattern VectorAnyINTEL :: Capability
pattern $bVectorAnyINTEL :: Capability
$mVectorAnyINTEL :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
VectorAnyINTEL = Capability 5619

pattern ExpectAssumeKHR :: Capability
pattern $bExpectAssumeKHR :: Capability
$mExpectAssumeKHR :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
ExpectAssumeKHR = Capability 5629

pattern SubgroupAvcMotionEstimationINTEL :: Capability
pattern $bSubgroupAvcMotionEstimationINTEL :: Capability
$mSubgroupAvcMotionEstimationINTEL :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
SubgroupAvcMotionEstimationINTEL = Capability 5696

pattern SubgroupAvcMotionEstimationIntraINTEL :: Capability
pattern $bSubgroupAvcMotionEstimationIntraINTEL :: Capability
$mSubgroupAvcMotionEstimationIntraINTEL :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
SubgroupAvcMotionEstimationIntraINTEL = Capability 5697

pattern SubgroupAvcMotionEstimationChromaINTEL :: Capability
pattern $bSubgroupAvcMotionEstimationChromaINTEL :: Capability
$mSubgroupAvcMotionEstimationChromaINTEL :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
SubgroupAvcMotionEstimationChromaINTEL = Capability 5698

pattern VariableLengthArrayINTEL :: Capability
pattern $bVariableLengthArrayINTEL :: Capability
$mVariableLengthArrayINTEL :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
VariableLengthArrayINTEL = Capability 5817

pattern FunctionFloatControlINTEL :: Capability
pattern $bFunctionFloatControlINTEL :: Capability
$mFunctionFloatControlINTEL :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
FunctionFloatControlINTEL = Capability 5821

pattern FPGAMemoryAttributesINTEL :: Capability
pattern $bFPGAMemoryAttributesINTEL :: Capability
$mFPGAMemoryAttributesINTEL :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
FPGAMemoryAttributesINTEL = Capability 5824

pattern FPFastMathModeINTEL :: Capability
pattern $bFPFastMathModeINTEL :: Capability
$mFPFastMathModeINTEL :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
FPFastMathModeINTEL = Capability 5837

pattern ArbitraryPrecisionIntegersINTEL :: Capability
pattern $bArbitraryPrecisionIntegersINTEL :: Capability
$mArbitraryPrecisionIntegersINTEL :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
ArbitraryPrecisionIntegersINTEL = Capability 5844

pattern ArbitraryPrecisionFloatingPointINTEL :: Capability
pattern $bArbitraryPrecisionFloatingPointINTEL :: Capability
$mArbitraryPrecisionFloatingPointINTEL :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
ArbitraryPrecisionFloatingPointINTEL = Capability 5845

pattern UnstructuredLoopControlsINTEL :: Capability
pattern $bUnstructuredLoopControlsINTEL :: Capability
$mUnstructuredLoopControlsINTEL :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
UnstructuredLoopControlsINTEL = Capability 5886

pattern FPGALoopControlsINTEL :: Capability
pattern $bFPGALoopControlsINTEL :: Capability
$mFPGALoopControlsINTEL :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
FPGALoopControlsINTEL = Capability 5888

pattern KernelAttributesINTEL :: Capability
pattern $bKernelAttributesINTEL :: Capability
$mKernelAttributesINTEL :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
KernelAttributesINTEL = Capability 5892

pattern FPGAKernelAttributesINTEL :: Capability
pattern $bFPGAKernelAttributesINTEL :: Capability
$mFPGAKernelAttributesINTEL :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
FPGAKernelAttributesINTEL = Capability 5897

pattern FPGAMemoryAccessesINTEL :: Capability
pattern $bFPGAMemoryAccessesINTEL :: Capability
$mFPGAMemoryAccessesINTEL :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
FPGAMemoryAccessesINTEL = Capability 5898

pattern FPGAClusterAttributesINTEL :: Capability
pattern $bFPGAClusterAttributesINTEL :: Capability
$mFPGAClusterAttributesINTEL :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
FPGAClusterAttributesINTEL = Capability 5904

pattern LoopFuseINTEL :: Capability
pattern $bLoopFuseINTEL :: Capability
$mLoopFuseINTEL :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
LoopFuseINTEL = Capability 5906

pattern FPGADSPControlINTEL :: Capability
pattern $bFPGADSPControlINTEL :: Capability
$mFPGADSPControlINTEL :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
FPGADSPControlINTEL = Capability 5908

pattern MemoryAccessAliasingINTEL :: Capability
pattern $bMemoryAccessAliasingINTEL :: Capability
$mMemoryAccessAliasingINTEL :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
MemoryAccessAliasingINTEL = Capability 5910

pattern FPGAInvocationPipeliningAttributesINTEL :: Capability
pattern $bFPGAInvocationPipeliningAttributesINTEL :: Capability
$mFPGAInvocationPipeliningAttributesINTEL :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
FPGAInvocationPipeliningAttributesINTEL = Capability 5916

pattern FPGABufferLocationINTEL :: Capability
pattern $bFPGABufferLocationINTEL :: Capability
$mFPGABufferLocationINTEL :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
FPGABufferLocationINTEL = Capability 5920

pattern ArbitraryPrecisionFixedPointINTEL :: Capability
pattern $bArbitraryPrecisionFixedPointINTEL :: Capability
$mArbitraryPrecisionFixedPointINTEL :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
ArbitraryPrecisionFixedPointINTEL = Capability 5922

pattern USMStorageClassesINTEL :: Capability
pattern $bUSMStorageClassesINTEL :: Capability
$mUSMStorageClassesINTEL :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
USMStorageClassesINTEL = Capability 5935

pattern RuntimeAlignedAttributeINTEL :: Capability
pattern $bRuntimeAlignedAttributeINTEL :: Capability
$mRuntimeAlignedAttributeINTEL :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
RuntimeAlignedAttributeINTEL = Capability 5939

pattern IOPipesINTEL :: Capability
pattern $bIOPipesINTEL :: Capability
$mIOPipesINTEL :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
IOPipesINTEL = Capability 5943

pattern BlockingPipesINTEL :: Capability
pattern $bBlockingPipesINTEL :: Capability
$mBlockingPipesINTEL :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
BlockingPipesINTEL = Capability 5945

pattern FPGARegINTEL :: Capability
pattern $bFPGARegINTEL :: Capability
$mFPGARegINTEL :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
FPGARegINTEL = Capability 5948

pattern DotProductInputAll :: Capability
pattern $bDotProductInputAll :: Capability
$mDotProductInputAll :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
DotProductInputAll = Capability 6016

pattern DotProductInputAllKHR :: Capability
pattern $bDotProductInputAllKHR :: Capability
$mDotProductInputAllKHR :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
DotProductInputAllKHR = Capability 6016

pattern DotProductInput4x8Bit :: Capability
pattern $bDotProductInput4x8Bit :: Capability
$mDotProductInput4x8Bit :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
DotProductInput4x8Bit = Capability 6017

pattern DotProductInput4x8BitKHR :: Capability
pattern $bDotProductInput4x8BitKHR :: Capability
$mDotProductInput4x8BitKHR :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
DotProductInput4x8BitKHR = Capability 6017

pattern DotProductInput4x8BitPacked :: Capability
pattern $bDotProductInput4x8BitPacked :: Capability
$mDotProductInput4x8BitPacked :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
DotProductInput4x8BitPacked = Capability 6018

pattern DotProductInput4x8BitPackedKHR :: Capability
pattern $bDotProductInput4x8BitPackedKHR :: Capability
$mDotProductInput4x8BitPackedKHR :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
DotProductInput4x8BitPackedKHR = Capability 6018

pattern DotProduct :: Capability
pattern $bDotProduct :: Capability
$mDotProduct :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
DotProduct = Capability 6019

pattern DotProductKHR :: Capability
pattern $bDotProductKHR :: Capability
$mDotProductKHR :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
DotProductKHR = Capability 6019

pattern RayCullMaskKHR :: Capability
pattern $bRayCullMaskKHR :: Capability
$mRayCullMaskKHR :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
RayCullMaskKHR = Capability 6020

pattern BitInstructions :: Capability
pattern $bBitInstructions :: Capability
$mBitInstructions :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
BitInstructions = Capability 6025

pattern GroupNonUniformRotateKHR :: Capability
pattern $bGroupNonUniformRotateKHR :: Capability
$mGroupNonUniformRotateKHR :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
GroupNonUniformRotateKHR = Capability 6026

pattern AtomicFloat32AddEXT :: Capability
pattern $bAtomicFloat32AddEXT :: Capability
$mAtomicFloat32AddEXT :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
AtomicFloat32AddEXT = Capability 6033

pattern AtomicFloat64AddEXT :: Capability
pattern $bAtomicFloat64AddEXT :: Capability
$mAtomicFloat64AddEXT :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
AtomicFloat64AddEXT = Capability 6034

pattern LongConstantCompositeINTEL :: Capability
pattern $bLongConstantCompositeINTEL :: Capability
$mLongConstantCompositeINTEL :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
LongConstantCompositeINTEL = Capability 6089

pattern OptNoneINTEL :: Capability
pattern $bOptNoneINTEL :: Capability
$mOptNoneINTEL :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
OptNoneINTEL = Capability 6094

pattern AtomicFloat16AddEXT :: Capability
pattern $bAtomicFloat16AddEXT :: Capability
$mAtomicFloat16AddEXT :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
AtomicFloat16AddEXT = Capability 6095

pattern DebugInfoModuleINTEL :: Capability
pattern $bDebugInfoModuleINTEL :: Capability
$mDebugInfoModuleINTEL :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
DebugInfoModuleINTEL = Capability 6114

pattern SplitBarrierINTEL :: Capability
pattern $bSplitBarrierINTEL :: Capability
$mSplitBarrierINTEL :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
SplitBarrierINTEL = Capability 6141

pattern GroupUniformArithmeticKHR :: Capability
pattern $bGroupUniformArithmeticKHR :: Capability
$mGroupUniformArithmeticKHR :: forall {r}. Capability -> ((# #) -> r) -> ((# #) -> r) -> r
GroupUniformArithmeticKHR = Capability 6400

toName :: IsString a => Capability -> a
toName :: forall a. IsString a => Capability -> a
toName Capability
x = case Capability
x of
  Capability
Matrix -> a
"Matrix"
  Capability
Shader -> a
"Shader"
  Capability
Geometry -> a
"Geometry"
  Capability
Tessellation -> a
"Tessellation"
  Capability
Addresses -> a
"Addresses"
  Capability
Linkage -> a
"Linkage"
  Capability
Kernel -> a
"Kernel"
  Capability
Vector16 -> a
"Vector16"
  Capability
Float16Buffer -> a
"Float16Buffer"
  Capability
Float16 -> a
"Float16"
  Capability
Float64 -> a
"Float64"
  Capability
Int64 -> a
"Int64"
  Capability
Int64Atomics -> a
"Int64Atomics"
  Capability
ImageBasic -> a
"ImageBasic"
  Capability
ImageReadWrite -> a
"ImageReadWrite"
  Capability
ImageMipmap -> a
"ImageMipmap"
  Capability
Pipes -> a
"Pipes"
  Capability
Groups -> a
"Groups"
  Capability
DeviceEnqueue -> a
"DeviceEnqueue"
  Capability
LiteralSampler -> a
"LiteralSampler"
  Capability
AtomicStorage -> a
"AtomicStorage"
  Capability
Int16 -> a
"Int16"
  Capability
TessellationPointSize -> a
"TessellationPointSize"
  Capability
GeometryPointSize -> a
"GeometryPointSize"
  Capability
ImageGatherExtended -> a
"ImageGatherExtended"
  Capability
StorageImageMultisample -> a
"StorageImageMultisample"
  Capability
UniformBufferArrayDynamicIndexing -> a
"UniformBufferArrayDynamicIndexing"
  Capability
SampledImageArrayDynamicIndexing -> a
"SampledImageArrayDynamicIndexing"
  Capability
StorageBufferArrayDynamicIndexing -> a
"StorageBufferArrayDynamicIndexing"
  Capability
StorageImageArrayDynamicIndexing -> a
"StorageImageArrayDynamicIndexing"
  Capability
ClipDistance -> a
"ClipDistance"
  Capability
CullDistance -> a
"CullDistance"
  Capability
ImageCubeArray -> a
"ImageCubeArray"
  Capability
SampleRateShading -> a
"SampleRateShading"
  Capability
ImageRect -> a
"ImageRect"
  Capability
SampledRect -> a
"SampledRect"
  Capability
GenericPointer -> a
"GenericPointer"
  Capability
Int8 -> a
"Int8"
  Capability
InputAttachment -> a
"InputAttachment"
  Capability
SparseResidency -> a
"SparseResidency"
  Capability
MinLod -> a
"MinLod"
  Capability
Sampled1D -> a
"Sampled1D"
  Capability
Image1D -> a
"Image1D"
  Capability
SampledCubeArray -> a
"SampledCubeArray"
  Capability
SampledBuffer -> a
"SampledBuffer"
  Capability
ImageBuffer -> a
"ImageBuffer"
  Capability
ImageMSArray -> a
"ImageMSArray"
  Capability
StorageImageExtendedFormats -> a
"StorageImageExtendedFormats"
  Capability
ImageQuery -> a
"ImageQuery"
  Capability
DerivativeControl -> a
"DerivativeControl"
  Capability
InterpolationFunction -> a
"InterpolationFunction"
  Capability
TransformFeedback -> a
"TransformFeedback"
  Capability
GeometryStreams -> a
"GeometryStreams"
  Capability
StorageImageReadWithoutFormat -> a
"StorageImageReadWithoutFormat"
  Capability
StorageImageWriteWithoutFormat -> a
"StorageImageWriteWithoutFormat"
  Capability
MultiViewport -> a
"MultiViewport"
  Capability
SubgroupDispatch -> a
"SubgroupDispatch"
  Capability
NamedBarrier -> a
"NamedBarrier"
  Capability
PipeStorage -> a
"PipeStorage"
  Capability
GroupNonUniform -> a
"GroupNonUniform"
  Capability
GroupNonUniformVote -> a
"GroupNonUniformVote"
  Capability
GroupNonUniformArithmetic -> a
"GroupNonUniformArithmetic"
  Capability
GroupNonUniformBallot -> a
"GroupNonUniformBallot"
  Capability
GroupNonUniformShuffle -> a
"GroupNonUniformShuffle"
  Capability
GroupNonUniformShuffleRelative -> a
"GroupNonUniformShuffleRelative"
  Capability
GroupNonUniformClustered -> a
"GroupNonUniformClustered"
  Capability
GroupNonUniformQuad -> a
"GroupNonUniformQuad"
  Capability
ShaderLayer -> a
"ShaderLayer"
  Capability
ShaderViewportIndex -> a
"ShaderViewportIndex"
  Capability
UniformDecoration -> a
"UniformDecoration"
  Capability
CoreBuiltinsARM -> a
"CoreBuiltinsARM"
  Capability
FragmentShadingRateKHR -> a
"FragmentShadingRateKHR"
  Capability
SubgroupBallotKHR -> a
"SubgroupBallotKHR"
  Capability
DrawParameters -> a
"DrawParameters"
  Capability
WorkgroupMemoryExplicitLayoutKHR -> a
"WorkgroupMemoryExplicitLayoutKHR"
  Capability
WorkgroupMemoryExplicitLayout8BitAccessKHR -> a
"WorkgroupMemoryExplicitLayout8BitAccessKHR"
  Capability
WorkgroupMemoryExplicitLayout16BitAccessKHR -> a
"WorkgroupMemoryExplicitLayout16BitAccessKHR"
  Capability
SubgroupVoteKHR -> a
"SubgroupVoteKHR"
  Capability
StorageBuffer16BitAccess -> a
"StorageBuffer16BitAccess"
  Capability
StorageUniformBufferBlock16 -> a
"StorageUniformBufferBlock16"
  Capability
StorageUniform16 -> a
"StorageUniform16"
  Capability
UniformAndStorageBuffer16BitAccess -> a
"UniformAndStorageBuffer16BitAccess"
  Capability
StoragePushConstant16 -> a
"StoragePushConstant16"
  Capability
StorageInputOutput16 -> a
"StorageInputOutput16"
  Capability
DeviceGroup -> a
"DeviceGroup"
  Capability
MultiView -> a
"MultiView"
  Capability
VariablePointersStorageBuffer -> a
"VariablePointersStorageBuffer"
  Capability
VariablePointers -> a
"VariablePointers"
  Capability
AtomicStorageOps -> a
"AtomicStorageOps"
  Capability
SampleMaskPostDepthCoverage -> a
"SampleMaskPostDepthCoverage"
  Capability
StorageBuffer8BitAccess -> a
"StorageBuffer8BitAccess"
  Capability
UniformAndStorageBuffer8BitAccess -> a
"UniformAndStorageBuffer8BitAccess"
  Capability
StoragePushConstant8 -> a
"StoragePushConstant8"
  Capability
DenormPreserve -> a
"DenormPreserve"
  Capability
DenormFlushToZero -> a
"DenormFlushToZero"
  Capability
SignedZeroInfNanPreserve -> a
"SignedZeroInfNanPreserve"
  Capability
RoundingModeRTE -> a
"RoundingModeRTE"
  Capability
RoundingModeRTZ -> a
"RoundingModeRTZ"
  Capability
RayQueryProvisionalKHR -> a
"RayQueryProvisionalKHR"
  Capability
RayQueryKHR -> a
"RayQueryKHR"
  Capability
RayTraversalPrimitiveCullingKHR -> a
"RayTraversalPrimitiveCullingKHR"
  Capability
RayTracingKHR -> a
"RayTracingKHR"
  Capability
Float16ImageAMD -> a
"Float16ImageAMD"
  Capability
ImageGatherBiasLodAMD -> a
"ImageGatherBiasLodAMD"
  Capability
FragmentMaskAMD -> a
"FragmentMaskAMD"
  Capability
StencilExportEXT -> a
"StencilExportEXT"
  Capability
ImageReadWriteLodAMD -> a
"ImageReadWriteLodAMD"
  Capability
Int64ImageEXT -> a
"Int64ImageEXT"
  Capability
ShaderClockKHR -> a
"ShaderClockKHR"
  Capability
SampleMaskOverrideCoverageNV -> a
"SampleMaskOverrideCoverageNV"
  Capability
GeometryShaderPassthroughNV -> a
"GeometryShaderPassthroughNV"
  Capability
ShaderViewportIndexLayerEXT -> a
"ShaderViewportIndexLayerEXT"
  Capability
ShaderViewportIndexLayerNV -> a
"ShaderViewportIndexLayerNV"
  Capability
ShaderViewportMaskNV -> a
"ShaderViewportMaskNV"
  Capability
ShaderStereoViewNV -> a
"ShaderStereoViewNV"
  Capability
PerViewAttributesNV -> a
"PerViewAttributesNV"
  Capability
FragmentFullyCoveredEXT -> a
"FragmentFullyCoveredEXT"
  Capability
MeshShadingNV -> a
"MeshShadingNV"
  Capability
ImageFootprintNV -> a
"ImageFootprintNV"
  Capability
MeshShadingEXT -> a
"MeshShadingEXT"
  Capability
FragmentBarycentricKHR -> a
"FragmentBarycentricKHR"
  Capability
FragmentBarycentricNV -> a
"FragmentBarycentricNV"
  Capability
ComputeDerivativeGroupQuadsNV -> a
"ComputeDerivativeGroupQuadsNV"
  Capability
FragmentDensityEXT -> a
"FragmentDensityEXT"
  Capability
ShadingRateNV -> a
"ShadingRateNV"
  Capability
GroupNonUniformPartitionedNV -> a
"GroupNonUniformPartitionedNV"
  Capability
ShaderNonUniform -> a
"ShaderNonUniform"
  Capability
ShaderNonUniformEXT -> a
"ShaderNonUniformEXT"
  Capability
RuntimeDescriptorArray -> a
"RuntimeDescriptorArray"
  Capability
RuntimeDescriptorArrayEXT -> a
"RuntimeDescriptorArrayEXT"
  Capability
InputAttachmentArrayDynamicIndexing -> a
"InputAttachmentArrayDynamicIndexing"
  Capability
InputAttachmentArrayDynamicIndexingEXT -> a
"InputAttachmentArrayDynamicIndexingEXT"
  Capability
UniformTexelBufferArrayDynamicIndexing -> a
"UniformTexelBufferArrayDynamicIndexing"
  Capability
UniformTexelBufferArrayDynamicIndexingEXT -> a
"UniformTexelBufferArrayDynamicIndexingEXT"
  Capability
StorageTexelBufferArrayDynamicIndexing -> a
"StorageTexelBufferArrayDynamicIndexing"
  Capability
StorageTexelBufferArrayDynamicIndexingEXT -> a
"StorageTexelBufferArrayDynamicIndexingEXT"
  Capability
UniformBufferArrayNonUniformIndexing -> a
"UniformBufferArrayNonUniformIndexing"
  Capability
UniformBufferArrayNonUniformIndexingEXT -> a
"UniformBufferArrayNonUniformIndexingEXT"
  Capability
SampledImageArrayNonUniformIndexing -> a
"SampledImageArrayNonUniformIndexing"
  Capability
SampledImageArrayNonUniformIndexingEXT -> a
"SampledImageArrayNonUniformIndexingEXT"
  Capability
StorageBufferArrayNonUniformIndexing -> a
"StorageBufferArrayNonUniformIndexing"
  Capability
StorageBufferArrayNonUniformIndexingEXT -> a
"StorageBufferArrayNonUniformIndexingEXT"
  Capability
StorageImageArrayNonUniformIndexing -> a
"StorageImageArrayNonUniformIndexing"
  Capability
StorageImageArrayNonUniformIndexingEXT -> a
"StorageImageArrayNonUniformIndexingEXT"
  Capability
InputAttachmentArrayNonUniformIndexing -> a
"InputAttachmentArrayNonUniformIndexing"
  Capability
InputAttachmentArrayNonUniformIndexingEXT -> a
"InputAttachmentArrayNonUniformIndexingEXT"
  Capability
UniformTexelBufferArrayNonUniformIndexing -> a
"UniformTexelBufferArrayNonUniformIndexing"
  Capability
UniformTexelBufferArrayNonUniformIndexingEXT -> a
"UniformTexelBufferArrayNonUniformIndexingEXT"
  Capability
StorageTexelBufferArrayNonUniformIndexing -> a
"StorageTexelBufferArrayNonUniformIndexing"
  Capability
StorageTexelBufferArrayNonUniformIndexingEXT -> a
"StorageTexelBufferArrayNonUniformIndexingEXT"
  Capability
RayTracingNV -> a
"RayTracingNV"
  Capability
RayTracingMotionBlurNV -> a
"RayTracingMotionBlurNV"
  Capability
VulkanMemoryModel -> a
"VulkanMemoryModel"
  Capability
VulkanMemoryModelKHR -> a
"VulkanMemoryModelKHR"
  Capability
VulkanMemoryModelDeviceScope -> a
"VulkanMemoryModelDeviceScope"
  Capability
VulkanMemoryModelDeviceScopeKHR -> a
"VulkanMemoryModelDeviceScopeKHR"
  Capability
PhysicalStorageBufferAddresses -> a
"PhysicalStorageBufferAddresses"
  Capability
PhysicalStorageBufferAddressesEXT -> a
"PhysicalStorageBufferAddressesEXT"
  Capability
ComputeDerivativeGroupLinearNV -> a
"ComputeDerivativeGroupLinearNV"
  Capability
RayTracingProvisionalKHR -> a
"RayTracingProvisionalKHR"
  Capability
CooperativeMatrixNV -> a
"CooperativeMatrixNV"
  Capability
FragmentShaderSampleInterlockEXT -> a
"FragmentShaderSampleInterlockEXT"
  Capability
FragmentShaderShadingRateInterlockEXT -> a
"FragmentShaderShadingRateInterlockEXT"
  Capability
ShaderSMBuiltinsNV -> a
"ShaderSMBuiltinsNV"
  Capability
FragmentShaderPixelInterlockEXT -> a
"FragmentShaderPixelInterlockEXT"
  Capability
DemoteToHelperInvocation -> a
"DemoteToHelperInvocation"
  Capability
DemoteToHelperInvocationEXT -> a
"DemoteToHelperInvocationEXT"
  Capability
RayTracingOpacityMicromapEXT -> a
"RayTracingOpacityMicromapEXT"
  Capability
ShaderInvocationReorderNV -> a
"ShaderInvocationReorderNV"
  Capability
BindlessTextureNV -> a
"BindlessTextureNV"
  Capability
SubgroupShuffleINTEL -> a
"SubgroupShuffleINTEL"
  Capability
SubgroupBufferBlockIOINTEL -> a
"SubgroupBufferBlockIOINTEL"
  Capability
SubgroupImageBlockIOINTEL -> a
"SubgroupImageBlockIOINTEL"
  Capability
SubgroupImageMediaBlockIOINTEL -> a
"SubgroupImageMediaBlockIOINTEL"
  Capability
RoundToInfinityINTEL -> a
"RoundToInfinityINTEL"
  Capability
FloatingPointModeINTEL -> a
"FloatingPointModeINTEL"
  Capability
IntegerFunctions2INTEL -> a
"IntegerFunctions2INTEL"
  Capability
FunctionPointersINTEL -> a
"FunctionPointersINTEL"
  Capability
IndirectReferencesINTEL -> a
"IndirectReferencesINTEL"
  Capability
AsmINTEL -> a
"AsmINTEL"
  Capability
AtomicFloat32MinMaxEXT -> a
"AtomicFloat32MinMaxEXT"
  Capability
AtomicFloat64MinMaxEXT -> a
"AtomicFloat64MinMaxEXT"
  Capability
AtomicFloat16MinMaxEXT -> a
"AtomicFloat16MinMaxEXT"
  Capability
VectorComputeINTEL -> a
"VectorComputeINTEL"
  Capability
VectorAnyINTEL -> a
"VectorAnyINTEL"
  Capability
ExpectAssumeKHR -> a
"ExpectAssumeKHR"
  Capability
SubgroupAvcMotionEstimationINTEL -> a
"SubgroupAvcMotionEstimationINTEL"
  Capability
SubgroupAvcMotionEstimationIntraINTEL -> a
"SubgroupAvcMotionEstimationIntraINTEL"
  Capability
SubgroupAvcMotionEstimationChromaINTEL -> a
"SubgroupAvcMotionEstimationChromaINTEL"
  Capability
VariableLengthArrayINTEL -> a
"VariableLengthArrayINTEL"
  Capability
FunctionFloatControlINTEL -> a
"FunctionFloatControlINTEL"
  Capability
FPGAMemoryAttributesINTEL -> a
"FPGAMemoryAttributesINTEL"
  Capability
FPFastMathModeINTEL -> a
"FPFastMathModeINTEL"
  Capability
ArbitraryPrecisionIntegersINTEL -> a
"ArbitraryPrecisionIntegersINTEL"
  Capability
ArbitraryPrecisionFloatingPointINTEL -> a
"ArbitraryPrecisionFloatingPointINTEL"
  Capability
UnstructuredLoopControlsINTEL -> a
"UnstructuredLoopControlsINTEL"
  Capability
FPGALoopControlsINTEL -> a
"FPGALoopControlsINTEL"
  Capability
KernelAttributesINTEL -> a
"KernelAttributesINTEL"
  Capability
FPGAKernelAttributesINTEL -> a
"FPGAKernelAttributesINTEL"
  Capability
FPGAMemoryAccessesINTEL -> a
"FPGAMemoryAccessesINTEL"
  Capability
FPGAClusterAttributesINTEL -> a
"FPGAClusterAttributesINTEL"
  Capability
LoopFuseINTEL -> a
"LoopFuseINTEL"
  Capability
FPGADSPControlINTEL -> a
"FPGADSPControlINTEL"
  Capability
MemoryAccessAliasingINTEL -> a
"MemoryAccessAliasingINTEL"
  Capability
FPGAInvocationPipeliningAttributesINTEL -> a
"FPGAInvocationPipeliningAttributesINTEL"
  Capability
FPGABufferLocationINTEL -> a
"FPGABufferLocationINTEL"
  Capability
ArbitraryPrecisionFixedPointINTEL -> a
"ArbitraryPrecisionFixedPointINTEL"
  Capability
USMStorageClassesINTEL -> a
"USMStorageClassesINTEL"
  Capability
RuntimeAlignedAttributeINTEL -> a
"RuntimeAlignedAttributeINTEL"
  Capability
IOPipesINTEL -> a
"IOPipesINTEL"
  Capability
BlockingPipesINTEL -> a
"BlockingPipesINTEL"
  Capability
FPGARegINTEL -> a
"FPGARegINTEL"
  Capability
DotProductInputAll -> a
"DotProductInputAll"
  Capability
DotProductInputAllKHR -> a
"DotProductInputAllKHR"
  Capability
DotProductInput4x8Bit -> a
"DotProductInput4x8Bit"
  Capability
DotProductInput4x8BitKHR -> a
"DotProductInput4x8BitKHR"
  Capability
DotProductInput4x8BitPacked -> a
"DotProductInput4x8BitPacked"
  Capability
DotProductInput4x8BitPackedKHR -> a
"DotProductInput4x8BitPackedKHR"
  Capability
DotProduct -> a
"DotProduct"
  Capability
DotProductKHR -> a
"DotProductKHR"
  Capability
RayCullMaskKHR -> a
"RayCullMaskKHR"
  Capability
BitInstructions -> a
"BitInstructions"
  Capability
GroupNonUniformRotateKHR -> a
"GroupNonUniformRotateKHR"
  Capability
AtomicFloat32AddEXT -> a
"AtomicFloat32AddEXT"
  Capability
AtomicFloat64AddEXT -> a
"AtomicFloat64AddEXT"
  Capability
LongConstantCompositeINTEL -> a
"LongConstantCompositeINTEL"
  Capability
OptNoneINTEL -> a
"OptNoneINTEL"
  Capability
AtomicFloat16AddEXT -> a
"AtomicFloat16AddEXT"
  Capability
DebugInfoModuleINTEL -> a
"DebugInfoModuleINTEL"
  Capability
SplitBarrierINTEL -> a
"SplitBarrierINTEL"
  Capability
GroupUniformArithmeticKHR -> a
"GroupUniformArithmeticKHR"
  Capability
unknown -> forall a. IsString a => [Char] -> a
fromString forall a b. (a -> b) -> a -> b
$ [Char]
"Capability " forall a. [a] -> [a] -> [a]
++ forall a. Show a => a -> [Char]
show Capability
unknown

instance Show Capability where
  show :: Capability -> [Char]
show = forall a. IsString a => Capability -> a
toName

fromName :: (IsString a, Eq a) => a -> Maybe Capability
fromName :: forall a. (IsString a, Eq a) => a -> Maybe Capability
fromName a
x = case a
x of
  a
"Matrix" -> forall a. a -> Maybe a
Just Capability
Matrix
  a
"Shader" -> forall a. a -> Maybe a
Just Capability
Shader
  a
"Geometry" -> forall a. a -> Maybe a
Just Capability
Geometry
  a
"Tessellation" -> forall a. a -> Maybe a
Just Capability
Tessellation
  a
"Addresses" -> forall a. a -> Maybe a
Just Capability
Addresses
  a
"Linkage" -> forall a. a -> Maybe a
Just Capability
Linkage
  a
"Kernel" -> forall a. a -> Maybe a
Just Capability
Kernel
  a
"Vector16" -> forall a. a -> Maybe a
Just Capability
Vector16
  a
"Float16Buffer" -> forall a. a -> Maybe a
Just Capability
Float16Buffer
  a
"Float16" -> forall a. a -> Maybe a
Just Capability
Float16
  a
"Float64" -> forall a. a -> Maybe a
Just Capability
Float64
  a
"Int64" -> forall a. a -> Maybe a
Just Capability
Int64
  a
"Int64Atomics" -> forall a. a -> Maybe a
Just Capability
Int64Atomics
  a
"ImageBasic" -> forall a. a -> Maybe a
Just Capability
ImageBasic
  a
"ImageReadWrite" -> forall a. a -> Maybe a
Just Capability
ImageReadWrite
  a
"ImageMipmap" -> forall a. a -> Maybe a
Just Capability
ImageMipmap
  a
"Pipes" -> forall a. a -> Maybe a
Just Capability
Pipes
  a
"Groups" -> forall a. a -> Maybe a
Just Capability
Groups
  a
"DeviceEnqueue" -> forall a. a -> Maybe a
Just Capability
DeviceEnqueue
  a
"LiteralSampler" -> forall a. a -> Maybe a
Just Capability
LiteralSampler
  a
"AtomicStorage" -> forall a. a -> Maybe a
Just Capability
AtomicStorage
  a
"Int16" -> forall a. a -> Maybe a
Just Capability
Int16
  a
"TessellationPointSize" -> forall a. a -> Maybe a
Just Capability
TessellationPointSize
  a
"GeometryPointSize" -> forall a. a -> Maybe a
Just Capability
GeometryPointSize
  a
"ImageGatherExtended" -> forall a. a -> Maybe a
Just Capability
ImageGatherExtended
  a
"StorageImageMultisample" -> forall a. a -> Maybe a
Just Capability
StorageImageMultisample
  a
"UniformBufferArrayDynamicIndexing" -> forall a. a -> Maybe a
Just Capability
UniformBufferArrayDynamicIndexing
  a
"SampledImageArrayDynamicIndexing" -> forall a. a -> Maybe a
Just Capability
SampledImageArrayDynamicIndexing
  a
"StorageBufferArrayDynamicIndexing" -> forall a. a -> Maybe a
Just Capability
StorageBufferArrayDynamicIndexing
  a
"StorageImageArrayDynamicIndexing" -> forall a. a -> Maybe a
Just Capability
StorageImageArrayDynamicIndexing
  a
"ClipDistance" -> forall a. a -> Maybe a
Just Capability
ClipDistance
  a
"CullDistance" -> forall a. a -> Maybe a
Just Capability
CullDistance
  a
"ImageCubeArray" -> forall a. a -> Maybe a
Just Capability
ImageCubeArray
  a
"SampleRateShading" -> forall a. a -> Maybe a
Just Capability
SampleRateShading
  a
"ImageRect" -> forall a. a -> Maybe a
Just Capability
ImageRect
  a
"SampledRect" -> forall a. a -> Maybe a
Just Capability
SampledRect
  a
"GenericPointer" -> forall a. a -> Maybe a
Just Capability
GenericPointer
  a
"Int8" -> forall a. a -> Maybe a
Just Capability
Int8
  a
"InputAttachment" -> forall a. a -> Maybe a
Just Capability
InputAttachment
  a
"SparseResidency" -> forall a. a -> Maybe a
Just Capability
SparseResidency
  a
"MinLod" -> forall a. a -> Maybe a
Just Capability
MinLod
  a
"Sampled1D" -> forall a. a -> Maybe a
Just Capability
Sampled1D
  a
"Image1D" -> forall a. a -> Maybe a
Just Capability
Image1D
  a
"SampledCubeArray" -> forall a. a -> Maybe a
Just Capability
SampledCubeArray
  a
"SampledBuffer" -> forall a. a -> Maybe a
Just Capability
SampledBuffer
  a
"ImageBuffer" -> forall a. a -> Maybe a
Just Capability
ImageBuffer
  a
"ImageMSArray" -> forall a. a -> Maybe a
Just Capability
ImageMSArray
  a
"StorageImageExtendedFormats" -> forall a. a -> Maybe a
Just Capability
StorageImageExtendedFormats
  a
"ImageQuery" -> forall a. a -> Maybe a
Just Capability
ImageQuery
  a
"DerivativeControl" -> forall a. a -> Maybe a
Just Capability
DerivativeControl
  a
"InterpolationFunction" -> forall a. a -> Maybe a
Just Capability
InterpolationFunction
  a
"TransformFeedback" -> forall a. a -> Maybe a
Just Capability
TransformFeedback
  a
"GeometryStreams" -> forall a. a -> Maybe a
Just Capability
GeometryStreams
  a
"StorageImageReadWithoutFormat" -> forall a. a -> Maybe a
Just Capability
StorageImageReadWithoutFormat
  a
"StorageImageWriteWithoutFormat" -> forall a. a -> Maybe a
Just Capability
StorageImageWriteWithoutFormat
  a
"MultiViewport" -> forall a. a -> Maybe a
Just Capability
MultiViewport
  a
"SubgroupDispatch" -> forall a. a -> Maybe a
Just Capability
SubgroupDispatch
  a
"NamedBarrier" -> forall a. a -> Maybe a
Just Capability
NamedBarrier
  a
"PipeStorage" -> forall a. a -> Maybe a
Just Capability
PipeStorage
  a
"GroupNonUniform" -> forall a. a -> Maybe a
Just Capability
GroupNonUniform
  a
"GroupNonUniformVote" -> forall a. a -> Maybe a
Just Capability
GroupNonUniformVote
  a
"GroupNonUniformArithmetic" -> forall a. a -> Maybe a
Just Capability
GroupNonUniformArithmetic
  a
"GroupNonUniformBallot" -> forall a. a -> Maybe a
Just Capability
GroupNonUniformBallot
  a
"GroupNonUniformShuffle" -> forall a. a -> Maybe a
Just Capability
GroupNonUniformShuffle
  a
"GroupNonUniformShuffleRelative" -> forall a. a -> Maybe a
Just Capability
GroupNonUniformShuffleRelative
  a
"GroupNonUniformClustered" -> forall a. a -> Maybe a
Just Capability
GroupNonUniformClustered
  a
"GroupNonUniformQuad" -> forall a. a -> Maybe a
Just Capability
GroupNonUniformQuad
  a
"ShaderLayer" -> forall a. a -> Maybe a
Just Capability
ShaderLayer
  a
"ShaderViewportIndex" -> forall a. a -> Maybe a
Just Capability
ShaderViewportIndex
  a
"UniformDecoration" -> forall a. a -> Maybe a
Just Capability
UniformDecoration
  a
"CoreBuiltinsARM" -> forall a. a -> Maybe a
Just Capability
CoreBuiltinsARM
  a
"FragmentShadingRateKHR" -> forall a. a -> Maybe a
Just Capability
FragmentShadingRateKHR
  a
"SubgroupBallotKHR" -> forall a. a -> Maybe a
Just Capability
SubgroupBallotKHR
  a
"DrawParameters" -> forall a. a -> Maybe a
Just Capability
DrawParameters
  a
"WorkgroupMemoryExplicitLayoutKHR" -> forall a. a -> Maybe a
Just Capability
WorkgroupMemoryExplicitLayoutKHR
  a
"WorkgroupMemoryExplicitLayout8BitAccessKHR" -> forall a. a -> Maybe a
Just Capability
WorkgroupMemoryExplicitLayout8BitAccessKHR
  a
"WorkgroupMemoryExplicitLayout16BitAccessKHR" -> forall a. a -> Maybe a
Just Capability
WorkgroupMemoryExplicitLayout16BitAccessKHR
  a
"SubgroupVoteKHR" -> forall a. a -> Maybe a
Just Capability
SubgroupVoteKHR
  a
"StorageBuffer16BitAccess" -> forall a. a -> Maybe a
Just Capability
StorageBuffer16BitAccess
  a
"StorageUniformBufferBlock16" -> forall a. a -> Maybe a
Just Capability
StorageUniformBufferBlock16
  a
"StorageUniform16" -> forall a. a -> Maybe a
Just Capability
StorageUniform16
  a
"UniformAndStorageBuffer16BitAccess" -> forall a. a -> Maybe a
Just Capability
UniformAndStorageBuffer16BitAccess
  a
"StoragePushConstant16" -> forall a. a -> Maybe a
Just Capability
StoragePushConstant16
  a
"StorageInputOutput16" -> forall a. a -> Maybe a
Just Capability
StorageInputOutput16
  a
"DeviceGroup" -> forall a. a -> Maybe a
Just Capability
DeviceGroup
  a
"MultiView" -> forall a. a -> Maybe a
Just Capability
MultiView
  a
"VariablePointersStorageBuffer" -> forall a. a -> Maybe a
Just Capability
VariablePointersStorageBuffer
  a
"VariablePointers" -> forall a. a -> Maybe a
Just Capability
VariablePointers
  a
"AtomicStorageOps" -> forall a. a -> Maybe a
Just Capability
AtomicStorageOps
  a
"SampleMaskPostDepthCoverage" -> forall a. a -> Maybe a
Just Capability
SampleMaskPostDepthCoverage
  a
"StorageBuffer8BitAccess" -> forall a. a -> Maybe a
Just Capability
StorageBuffer8BitAccess
  a
"UniformAndStorageBuffer8BitAccess" -> forall a. a -> Maybe a
Just Capability
UniformAndStorageBuffer8BitAccess
  a
"StoragePushConstant8" -> forall a. a -> Maybe a
Just Capability
StoragePushConstant8
  a
"DenormPreserve" -> forall a. a -> Maybe a
Just Capability
DenormPreserve
  a
"DenormFlushToZero" -> forall a. a -> Maybe a
Just Capability
DenormFlushToZero
  a
"SignedZeroInfNanPreserve" -> forall a. a -> Maybe a
Just Capability
SignedZeroInfNanPreserve
  a
"RoundingModeRTE" -> forall a. a -> Maybe a
Just Capability
RoundingModeRTE
  a
"RoundingModeRTZ" -> forall a. a -> Maybe a
Just Capability
RoundingModeRTZ
  a
"RayQueryProvisionalKHR" -> forall a. a -> Maybe a
Just Capability
RayQueryProvisionalKHR
  a
"RayQueryKHR" -> forall a. a -> Maybe a
Just Capability
RayQueryKHR
  a
"RayTraversalPrimitiveCullingKHR" -> forall a. a -> Maybe a
Just Capability
RayTraversalPrimitiveCullingKHR
  a
"RayTracingKHR" -> forall a. a -> Maybe a
Just Capability
RayTracingKHR
  a
"Float16ImageAMD" -> forall a. a -> Maybe a
Just Capability
Float16ImageAMD
  a
"ImageGatherBiasLodAMD" -> forall a. a -> Maybe a
Just Capability
ImageGatherBiasLodAMD
  a
"FragmentMaskAMD" -> forall a. a -> Maybe a
Just Capability
FragmentMaskAMD
  a
"StencilExportEXT" -> forall a. a -> Maybe a
Just Capability
StencilExportEXT
  a
"ImageReadWriteLodAMD" -> forall a. a -> Maybe a
Just Capability
ImageReadWriteLodAMD
  a
"Int64ImageEXT" -> forall a. a -> Maybe a
Just Capability
Int64ImageEXT
  a
"ShaderClockKHR" -> forall a. a -> Maybe a
Just Capability
ShaderClockKHR
  a
"SampleMaskOverrideCoverageNV" -> forall a. a -> Maybe a
Just Capability
SampleMaskOverrideCoverageNV
  a
"GeometryShaderPassthroughNV" -> forall a. a -> Maybe a
Just Capability
GeometryShaderPassthroughNV
  a
"ShaderViewportIndexLayerEXT" -> forall a. a -> Maybe a
Just Capability
ShaderViewportIndexLayerEXT
  a
"ShaderViewportIndexLayerNV" -> forall a. a -> Maybe a
Just Capability
ShaderViewportIndexLayerNV
  a
"ShaderViewportMaskNV" -> forall a. a -> Maybe a
Just Capability
ShaderViewportMaskNV
  a
"ShaderStereoViewNV" -> forall a. a -> Maybe a
Just Capability
ShaderStereoViewNV
  a
"PerViewAttributesNV" -> forall a. a -> Maybe a
Just Capability
PerViewAttributesNV
  a
"FragmentFullyCoveredEXT" -> forall a. a -> Maybe a
Just Capability
FragmentFullyCoveredEXT
  a
"MeshShadingNV" -> forall a. a -> Maybe a
Just Capability
MeshShadingNV
  a
"ImageFootprintNV" -> forall a. a -> Maybe a
Just Capability
ImageFootprintNV
  a
"MeshShadingEXT" -> forall a. a -> Maybe a
Just Capability
MeshShadingEXT
  a
"FragmentBarycentricKHR" -> forall a. a -> Maybe a
Just Capability
FragmentBarycentricKHR
  a
"FragmentBarycentricNV" -> forall a. a -> Maybe a
Just Capability
FragmentBarycentricNV
  a
"ComputeDerivativeGroupQuadsNV" -> forall a. a -> Maybe a
Just Capability
ComputeDerivativeGroupQuadsNV
  a
"FragmentDensityEXT" -> forall a. a -> Maybe a
Just Capability
FragmentDensityEXT
  a
"ShadingRateNV" -> forall a. a -> Maybe a
Just Capability
ShadingRateNV
  a
"GroupNonUniformPartitionedNV" -> forall a. a -> Maybe a
Just Capability
GroupNonUniformPartitionedNV
  a
"ShaderNonUniform" -> forall a. a -> Maybe a
Just Capability
ShaderNonUniform
  a
"ShaderNonUniformEXT" -> forall a. a -> Maybe a
Just Capability
ShaderNonUniformEXT
  a
"RuntimeDescriptorArray" -> forall a. a -> Maybe a
Just Capability
RuntimeDescriptorArray
  a
"RuntimeDescriptorArrayEXT" -> forall a. a -> Maybe a
Just Capability
RuntimeDescriptorArrayEXT
  a
"InputAttachmentArrayDynamicIndexing" -> forall a. a -> Maybe a
Just Capability
InputAttachmentArrayDynamicIndexing
  a
"InputAttachmentArrayDynamicIndexingEXT" -> forall a. a -> Maybe a
Just Capability
InputAttachmentArrayDynamicIndexingEXT
  a
"UniformTexelBufferArrayDynamicIndexing" -> forall a. a -> Maybe a
Just Capability
UniformTexelBufferArrayDynamicIndexing
  a
"UniformTexelBufferArrayDynamicIndexingEXT" -> forall a. a -> Maybe a
Just Capability
UniformTexelBufferArrayDynamicIndexingEXT
  a
"StorageTexelBufferArrayDynamicIndexing" -> forall a. a -> Maybe a
Just Capability
StorageTexelBufferArrayDynamicIndexing
  a
"StorageTexelBufferArrayDynamicIndexingEXT" -> forall a. a -> Maybe a
Just Capability
StorageTexelBufferArrayDynamicIndexingEXT
  a
"UniformBufferArrayNonUniformIndexing" -> forall a. a -> Maybe a
Just Capability
UniformBufferArrayNonUniformIndexing
  a
"UniformBufferArrayNonUniformIndexingEXT" -> forall a. a -> Maybe a
Just Capability
UniformBufferArrayNonUniformIndexingEXT
  a
"SampledImageArrayNonUniformIndexing" -> forall a. a -> Maybe a
Just Capability
SampledImageArrayNonUniformIndexing
  a
"SampledImageArrayNonUniformIndexingEXT" -> forall a. a -> Maybe a
Just Capability
SampledImageArrayNonUniformIndexingEXT
  a
"StorageBufferArrayNonUniformIndexing" -> forall a. a -> Maybe a
Just Capability
StorageBufferArrayNonUniformIndexing
  a
"StorageBufferArrayNonUniformIndexingEXT" -> forall a. a -> Maybe a
Just Capability
StorageBufferArrayNonUniformIndexingEXT
  a
"StorageImageArrayNonUniformIndexing" -> forall a. a -> Maybe a
Just Capability
StorageImageArrayNonUniformIndexing
  a
"StorageImageArrayNonUniformIndexingEXT" -> forall a. a -> Maybe a
Just Capability
StorageImageArrayNonUniformIndexingEXT
  a
"InputAttachmentArrayNonUniformIndexing" -> forall a. a -> Maybe a
Just Capability
InputAttachmentArrayNonUniformIndexing
  a
"InputAttachmentArrayNonUniformIndexingEXT" -> forall a. a -> Maybe a
Just Capability
InputAttachmentArrayNonUniformIndexingEXT
  a
"UniformTexelBufferArrayNonUniformIndexing" -> forall a. a -> Maybe a
Just Capability
UniformTexelBufferArrayNonUniformIndexing
  a
"UniformTexelBufferArrayNonUniformIndexingEXT" -> forall a. a -> Maybe a
Just Capability
UniformTexelBufferArrayNonUniformIndexingEXT
  a
"StorageTexelBufferArrayNonUniformIndexing" -> forall a. a -> Maybe a
Just Capability
StorageTexelBufferArrayNonUniformIndexing
  a
"StorageTexelBufferArrayNonUniformIndexingEXT" -> forall a. a -> Maybe a
Just Capability
StorageTexelBufferArrayNonUniformIndexingEXT
  a
"RayTracingNV" -> forall a. a -> Maybe a
Just Capability
RayTracingNV
  a
"RayTracingMotionBlurNV" -> forall a. a -> Maybe a
Just Capability
RayTracingMotionBlurNV
  a
"VulkanMemoryModel" -> forall a. a -> Maybe a
Just Capability
VulkanMemoryModel
  a
"VulkanMemoryModelKHR" -> forall a. a -> Maybe a
Just Capability
VulkanMemoryModelKHR
  a
"VulkanMemoryModelDeviceScope" -> forall a. a -> Maybe a
Just Capability
VulkanMemoryModelDeviceScope
  a
"VulkanMemoryModelDeviceScopeKHR" -> forall a. a -> Maybe a
Just Capability
VulkanMemoryModelDeviceScopeKHR
  a
"PhysicalStorageBufferAddresses" -> forall a. a -> Maybe a
Just Capability
PhysicalStorageBufferAddresses
  a
"PhysicalStorageBufferAddressesEXT" -> forall a. a -> Maybe a
Just Capability
PhysicalStorageBufferAddressesEXT
  a
"ComputeDerivativeGroupLinearNV" -> forall a. a -> Maybe a
Just Capability
ComputeDerivativeGroupLinearNV
  a
"RayTracingProvisionalKHR" -> forall a. a -> Maybe a
Just Capability
RayTracingProvisionalKHR
  a
"CooperativeMatrixNV" -> forall a. a -> Maybe a
Just Capability
CooperativeMatrixNV
  a
"FragmentShaderSampleInterlockEXT" -> forall a. a -> Maybe a
Just Capability
FragmentShaderSampleInterlockEXT
  a
"FragmentShaderShadingRateInterlockEXT" -> forall a. a -> Maybe a
Just Capability
FragmentShaderShadingRateInterlockEXT
  a
"ShaderSMBuiltinsNV" -> forall a. a -> Maybe a
Just Capability
ShaderSMBuiltinsNV
  a
"FragmentShaderPixelInterlockEXT" -> forall a. a -> Maybe a
Just Capability
FragmentShaderPixelInterlockEXT
  a
"DemoteToHelperInvocation" -> forall a. a -> Maybe a
Just Capability
DemoteToHelperInvocation
  a
"DemoteToHelperInvocationEXT" -> forall a. a -> Maybe a
Just Capability
DemoteToHelperInvocationEXT
  a
"RayTracingOpacityMicromapEXT" -> forall a. a -> Maybe a
Just Capability
RayTracingOpacityMicromapEXT
  a
"ShaderInvocationReorderNV" -> forall a. a -> Maybe a
Just Capability
ShaderInvocationReorderNV
  a
"BindlessTextureNV" -> forall a. a -> Maybe a
Just Capability
BindlessTextureNV
  a
"SubgroupShuffleINTEL" -> forall a. a -> Maybe a
Just Capability
SubgroupShuffleINTEL
  a
"SubgroupBufferBlockIOINTEL" -> forall a. a -> Maybe a
Just Capability
SubgroupBufferBlockIOINTEL
  a
"SubgroupImageBlockIOINTEL" -> forall a. a -> Maybe a
Just Capability
SubgroupImageBlockIOINTEL
  a
"SubgroupImageMediaBlockIOINTEL" -> forall a. a -> Maybe a
Just Capability
SubgroupImageMediaBlockIOINTEL
  a
"RoundToInfinityINTEL" -> forall a. a -> Maybe a
Just Capability
RoundToInfinityINTEL
  a
"FloatingPointModeINTEL" -> forall a. a -> Maybe a
Just Capability
FloatingPointModeINTEL
  a
"IntegerFunctions2INTEL" -> forall a. a -> Maybe a
Just Capability
IntegerFunctions2INTEL
  a
"FunctionPointersINTEL" -> forall a. a -> Maybe a
Just Capability
FunctionPointersINTEL
  a
"IndirectReferencesINTEL" -> forall a. a -> Maybe a
Just Capability
IndirectReferencesINTEL
  a
"AsmINTEL" -> forall a. a -> Maybe a
Just Capability
AsmINTEL
  a
"AtomicFloat32MinMaxEXT" -> forall a. a -> Maybe a
Just Capability
AtomicFloat32MinMaxEXT
  a
"AtomicFloat64MinMaxEXT" -> forall a. a -> Maybe a
Just Capability
AtomicFloat64MinMaxEXT
  a
"AtomicFloat16MinMaxEXT" -> forall a. a -> Maybe a
Just Capability
AtomicFloat16MinMaxEXT
  a
"VectorComputeINTEL" -> forall a. a -> Maybe a
Just Capability
VectorComputeINTEL
  a
"VectorAnyINTEL" -> forall a. a -> Maybe a
Just Capability
VectorAnyINTEL
  a
"ExpectAssumeKHR" -> forall a. a -> Maybe a
Just Capability
ExpectAssumeKHR
  a
"SubgroupAvcMotionEstimationINTEL" -> forall a. a -> Maybe a
Just Capability
SubgroupAvcMotionEstimationINTEL
  a
"SubgroupAvcMotionEstimationIntraINTEL" -> forall a. a -> Maybe a
Just Capability
SubgroupAvcMotionEstimationIntraINTEL
  a
"SubgroupAvcMotionEstimationChromaINTEL" -> forall a. a -> Maybe a
Just Capability
SubgroupAvcMotionEstimationChromaINTEL
  a
"VariableLengthArrayINTEL" -> forall a. a -> Maybe a
Just Capability
VariableLengthArrayINTEL
  a
"FunctionFloatControlINTEL" -> forall a. a -> Maybe a
Just Capability
FunctionFloatControlINTEL
  a
"FPGAMemoryAttributesINTEL" -> forall a. a -> Maybe a
Just Capability
FPGAMemoryAttributesINTEL
  a
"FPFastMathModeINTEL" -> forall a. a -> Maybe a
Just Capability
FPFastMathModeINTEL
  a
"ArbitraryPrecisionIntegersINTEL" -> forall a. a -> Maybe a
Just Capability
ArbitraryPrecisionIntegersINTEL
  a
"ArbitraryPrecisionFloatingPointINTEL" -> forall a. a -> Maybe a
Just Capability
ArbitraryPrecisionFloatingPointINTEL
  a
"UnstructuredLoopControlsINTEL" -> forall a. a -> Maybe a
Just Capability
UnstructuredLoopControlsINTEL
  a
"FPGALoopControlsINTEL" -> forall a. a -> Maybe a
Just Capability
FPGALoopControlsINTEL
  a
"KernelAttributesINTEL" -> forall a. a -> Maybe a
Just Capability
KernelAttributesINTEL
  a
"FPGAKernelAttributesINTEL" -> forall a. a -> Maybe a
Just Capability
FPGAKernelAttributesINTEL
  a
"FPGAMemoryAccessesINTEL" -> forall a. a -> Maybe a
Just Capability
FPGAMemoryAccessesINTEL
  a
"FPGAClusterAttributesINTEL" -> forall a. a -> Maybe a
Just Capability
FPGAClusterAttributesINTEL
  a
"LoopFuseINTEL" -> forall a. a -> Maybe a
Just Capability
LoopFuseINTEL
  a
"FPGADSPControlINTEL" -> forall a. a -> Maybe a
Just Capability
FPGADSPControlINTEL
  a
"MemoryAccessAliasingINTEL" -> forall a. a -> Maybe a
Just Capability
MemoryAccessAliasingINTEL
  a
"FPGAInvocationPipeliningAttributesINTEL" -> forall a. a -> Maybe a
Just Capability
FPGAInvocationPipeliningAttributesINTEL
  a
"FPGABufferLocationINTEL" -> forall a. a -> Maybe a
Just Capability
FPGABufferLocationINTEL
  a
"ArbitraryPrecisionFixedPointINTEL" -> forall a. a -> Maybe a
Just Capability
ArbitraryPrecisionFixedPointINTEL
  a
"USMStorageClassesINTEL" -> forall a. a -> Maybe a
Just Capability
USMStorageClassesINTEL
  a
"RuntimeAlignedAttributeINTEL" -> forall a. a -> Maybe a
Just Capability
RuntimeAlignedAttributeINTEL
  a
"IOPipesINTEL" -> forall a. a -> Maybe a
Just Capability
IOPipesINTEL
  a
"BlockingPipesINTEL" -> forall a. a -> Maybe a
Just Capability
BlockingPipesINTEL
  a
"FPGARegINTEL" -> forall a. a -> Maybe a
Just Capability
FPGARegINTEL
  a
"DotProductInputAll" -> forall a. a -> Maybe a
Just Capability
DotProductInputAll
  a
"DotProductInputAllKHR" -> forall a. a -> Maybe a
Just Capability
DotProductInputAllKHR
  a
"DotProductInput4x8Bit" -> forall a. a -> Maybe a
Just Capability
DotProductInput4x8Bit
  a
"DotProductInput4x8BitKHR" -> forall a. a -> Maybe a
Just Capability
DotProductInput4x8BitKHR
  a
"DotProductInput4x8BitPacked" -> forall a. a -> Maybe a
Just Capability
DotProductInput4x8BitPacked
  a
"DotProductInput4x8BitPackedKHR" -> forall a. a -> Maybe a
Just Capability
DotProductInput4x8BitPackedKHR
  a
"DotProduct" -> forall a. a -> Maybe a
Just Capability
DotProduct
  a
"DotProductKHR" -> forall a. a -> Maybe a
Just Capability
DotProductKHR
  a
"RayCullMaskKHR" -> forall a. a -> Maybe a
Just Capability
RayCullMaskKHR
  a
"BitInstructions" -> forall a. a -> Maybe a
Just Capability
BitInstructions
  a
"GroupNonUniformRotateKHR" -> forall a. a -> Maybe a
Just Capability
GroupNonUniformRotateKHR
  a
"AtomicFloat32AddEXT" -> forall a. a -> Maybe a
Just Capability
AtomicFloat32AddEXT
  a
"AtomicFloat64AddEXT" -> forall a. a -> Maybe a
Just Capability
AtomicFloat64AddEXT
  a
"LongConstantCompositeINTEL" -> forall a. a -> Maybe a
Just Capability
LongConstantCompositeINTEL
  a
"OptNoneINTEL" -> forall a. a -> Maybe a
Just Capability
OptNoneINTEL
  a
"AtomicFloat16AddEXT" -> forall a. a -> Maybe a
Just Capability
AtomicFloat16AddEXT
  a
"DebugInfoModuleINTEL" -> forall a. a -> Maybe a
Just Capability
DebugInfoModuleINTEL
  a
"SplitBarrierINTEL" -> forall a. a -> Maybe a
Just Capability
SplitBarrierINTEL
  a
"GroupUniformArithmeticKHR" -> forall a. a -> Maybe a
Just Capability
GroupUniformArithmeticKHR
  a
_unknown -> forall a. Maybe a
Nothing

instance Read Capability where
  readPrec :: ReadPrec Capability
readPrec = forall a. ReadPrec a -> ReadPrec a
Read.parens do
    Lex.Ident [Char]
s <- ReadPrec Lexeme
Read.lexP
    forall b a. b -> (a -> b) -> Maybe a -> b
maybe forall a. ReadPrec a
pfail forall (f :: * -> *) a. Applicative f => a -> f a
pure forall a b. (a -> b) -> a -> b
$ forall a. (IsString a, Eq a) => a -> Maybe Capability
fromName [Char]
s