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 (Eq, Ord, Storable) pattern Matrix :: Capability pattern Matrix = Capability 0 pattern Shader :: Capability pattern Shader = Capability 1 pattern Geometry :: Capability pattern Geometry = Capability 2 pattern Tessellation :: Capability pattern Tessellation = Capability 3 pattern Addresses :: Capability pattern Addresses = Capability 4 pattern Linkage :: Capability pattern Linkage = Capability 5 pattern Kernel :: Capability pattern Kernel = Capability 6 pattern Vector16 :: Capability pattern Vector16 = Capability 7 pattern Float16Buffer :: Capability pattern Float16Buffer = Capability 8 pattern Float16 :: Capability pattern Float16 = Capability 9 pattern Float64 :: Capability pattern Float64 = Capability 10 pattern Int64 :: Capability pattern Int64 = Capability 11 pattern Int64Atomics :: Capability pattern Int64Atomics = Capability 12 pattern ImageBasic :: Capability pattern ImageBasic = Capability 13 pattern ImageReadWrite :: Capability pattern ImageReadWrite = Capability 14 pattern ImageMipmap :: Capability pattern ImageMipmap = Capability 15 pattern Pipes :: Capability pattern Pipes = Capability 17 pattern Groups :: Capability pattern Groups = Capability 18 pattern DeviceEnqueue :: Capability pattern DeviceEnqueue = Capability 19 pattern LiteralSampler :: Capability pattern LiteralSampler = Capability 20 pattern AtomicStorage :: Capability pattern AtomicStorage = Capability 21 pattern Int16 :: Capability pattern Int16 = Capability 22 pattern TessellationPointSize :: Capability pattern TessellationPointSize = Capability 23 pattern GeometryPointSize :: Capability pattern GeometryPointSize = Capability 24 pattern ImageGatherExtended :: Capability pattern ImageGatherExtended = Capability 25 pattern StorageImageMultisample :: Capability pattern StorageImageMultisample = Capability 27 pattern UniformBufferArrayDynamicIndexing :: Capability pattern UniformBufferArrayDynamicIndexing = Capability 28 pattern SampledImageArrayDynamicIndexing :: Capability pattern SampledImageArrayDynamicIndexing = Capability 29 pattern StorageBufferArrayDynamicIndexing :: Capability pattern StorageBufferArrayDynamicIndexing = Capability 30 pattern StorageImageArrayDynamicIndexing :: Capability pattern StorageImageArrayDynamicIndexing = Capability 31 pattern ClipDistance :: Capability pattern ClipDistance = Capability 32 pattern CullDistance :: Capability pattern CullDistance = Capability 33 pattern ImageCubeArray :: Capability pattern ImageCubeArray = Capability 34 pattern SampleRateShading :: Capability pattern SampleRateShading = Capability 35 pattern ImageRect :: Capability pattern ImageRect = Capability 36 pattern SampledRect :: Capability pattern SampledRect = Capability 37 pattern GenericPointer :: Capability pattern GenericPointer = Capability 38 pattern Int8 :: Capability pattern Int8 = Capability 39 pattern InputAttachment :: Capability pattern InputAttachment = Capability 40 pattern SparseResidency :: Capability pattern SparseResidency = Capability 41 pattern MinLod :: Capability pattern MinLod = Capability 42 pattern Sampled1D :: Capability pattern Sampled1D = Capability 43 pattern Image1D :: Capability pattern Image1D = Capability 44 pattern SampledCubeArray :: Capability pattern SampledCubeArray = Capability 45 pattern SampledBuffer :: Capability pattern SampledBuffer = Capability 46 pattern ImageBuffer :: Capability pattern ImageBuffer = Capability 47 pattern ImageMSArray :: Capability pattern ImageMSArray = Capability 48 pattern StorageImageExtendedFormats :: Capability pattern StorageImageExtendedFormats = Capability 49 pattern ImageQuery :: Capability pattern ImageQuery = Capability 50 pattern DerivativeControl :: Capability pattern DerivativeControl = Capability 51 pattern InterpolationFunction :: Capability pattern InterpolationFunction = Capability 52 pattern TransformFeedback :: Capability pattern TransformFeedback = Capability 53 pattern GeometryStreams :: Capability pattern GeometryStreams = Capability 54 pattern StorageImageReadWithoutFormat :: Capability pattern StorageImageReadWithoutFormat = Capability 55 pattern StorageImageWriteWithoutFormat :: Capability pattern StorageImageWriteWithoutFormat = Capability 56 pattern MultiViewport :: Capability pattern MultiViewport = Capability 57 pattern SubgroupDispatch :: Capability pattern SubgroupDispatch = Capability 58 pattern NamedBarrier :: Capability pattern NamedBarrier = Capability 59 pattern PipeStorage :: Capability pattern PipeStorage = Capability 60 pattern GroupNonUniform :: Capability pattern GroupNonUniform = Capability 61 pattern GroupNonUniformVote :: Capability pattern GroupNonUniformVote = Capability 62 pattern GroupNonUniformArithmetic :: Capability pattern GroupNonUniformArithmetic = Capability 63 pattern GroupNonUniformBallot :: Capability pattern GroupNonUniformBallot = Capability 64 pattern GroupNonUniformShuffle :: Capability pattern GroupNonUniformShuffle = Capability 65 pattern GroupNonUniformShuffleRelative :: Capability pattern GroupNonUniformShuffleRelative = Capability 66 pattern GroupNonUniformClustered :: Capability pattern GroupNonUniformClustered = Capability 67 pattern GroupNonUniformQuad :: Capability pattern GroupNonUniformQuad = Capability 68 pattern ShaderLayer :: Capability pattern ShaderLayer = Capability 69 pattern ShaderViewportIndex :: Capability pattern ShaderViewportIndex = Capability 70 pattern UniformDecoration :: Capability pattern UniformDecoration = Capability 71 pattern CoreBuiltinsARM :: Capability pattern CoreBuiltinsARM = Capability 4165 pattern FragmentShadingRateKHR :: Capability pattern FragmentShadingRateKHR = Capability 4422 pattern SubgroupBallotKHR :: Capability pattern SubgroupBallotKHR = Capability 4423 pattern DrawParameters :: Capability pattern DrawParameters = Capability 4427 pattern WorkgroupMemoryExplicitLayoutKHR :: Capability pattern WorkgroupMemoryExplicitLayoutKHR = Capability 4428 pattern WorkgroupMemoryExplicitLayout8BitAccessKHR :: Capability pattern WorkgroupMemoryExplicitLayout8BitAccessKHR = Capability 4429 pattern WorkgroupMemoryExplicitLayout16BitAccessKHR :: Capability pattern WorkgroupMemoryExplicitLayout16BitAccessKHR = Capability 4430 pattern SubgroupVoteKHR :: Capability pattern SubgroupVoteKHR = Capability 4431 pattern StorageBuffer16BitAccess :: Capability pattern StorageBuffer16BitAccess = Capability 4433 pattern StorageUniformBufferBlock16 :: Capability pattern StorageUniformBufferBlock16 = Capability 4433 pattern StorageUniform16 :: Capability pattern StorageUniform16 = Capability 4434 pattern UniformAndStorageBuffer16BitAccess :: Capability pattern UniformAndStorageBuffer16BitAccess = Capability 4434 pattern StoragePushConstant16 :: Capability pattern StoragePushConstant16 = Capability 4435 pattern StorageInputOutput16 :: Capability pattern StorageInputOutput16 = Capability 4436 pattern DeviceGroup :: Capability pattern DeviceGroup = Capability 4437 pattern MultiView :: Capability pattern MultiView = Capability 4439 pattern VariablePointersStorageBuffer :: Capability pattern VariablePointersStorageBuffer = Capability 4441 pattern VariablePointers :: Capability pattern VariablePointers = Capability 4442 pattern AtomicStorageOps :: Capability pattern AtomicStorageOps = Capability 4445 pattern SampleMaskPostDepthCoverage :: Capability pattern SampleMaskPostDepthCoverage = Capability 4447 pattern StorageBuffer8BitAccess :: Capability pattern StorageBuffer8BitAccess = Capability 4448 pattern UniformAndStorageBuffer8BitAccess :: Capability pattern UniformAndStorageBuffer8BitAccess = Capability 4449 pattern StoragePushConstant8 :: Capability pattern StoragePushConstant8 = Capability 4450 pattern DenormPreserve :: Capability pattern DenormPreserve = Capability 4464 pattern DenormFlushToZero :: Capability pattern DenormFlushToZero = Capability 4465 pattern SignedZeroInfNanPreserve :: Capability pattern SignedZeroInfNanPreserve = Capability 4466 pattern RoundingModeRTE :: Capability pattern RoundingModeRTE = Capability 4467 pattern RoundingModeRTZ :: Capability pattern RoundingModeRTZ = Capability 4468 pattern RayQueryProvisionalKHR :: Capability pattern RayQueryProvisionalKHR = Capability 4471 pattern RayQueryKHR :: Capability pattern RayQueryKHR = Capability 4472 pattern RayTraversalPrimitiveCullingKHR :: Capability pattern RayTraversalPrimitiveCullingKHR = Capability 4478 pattern RayTracingKHR :: Capability pattern RayTracingKHR = Capability 4479 pattern Float16ImageAMD :: Capability pattern Float16ImageAMD = Capability 5008 pattern ImageGatherBiasLodAMD :: Capability pattern ImageGatherBiasLodAMD = Capability 5009 pattern FragmentMaskAMD :: Capability pattern FragmentMaskAMD = Capability 5010 pattern StencilExportEXT :: Capability pattern StencilExportEXT = Capability 5013 pattern ImageReadWriteLodAMD :: Capability pattern ImageReadWriteLodAMD = Capability 5015 pattern Int64ImageEXT :: Capability pattern Int64ImageEXT = Capability 5016 pattern ShaderClockKHR :: Capability pattern ShaderClockKHR = Capability 5055 pattern SampleMaskOverrideCoverageNV :: Capability pattern SampleMaskOverrideCoverageNV = Capability 5249 pattern GeometryShaderPassthroughNV :: Capability pattern GeometryShaderPassthroughNV = Capability 5251 pattern ShaderViewportIndexLayerEXT :: Capability pattern ShaderViewportIndexLayerEXT = Capability 5254 pattern ShaderViewportIndexLayerNV :: Capability pattern ShaderViewportIndexLayerNV = Capability 5254 pattern ShaderViewportMaskNV :: Capability pattern ShaderViewportMaskNV = Capability 5255 pattern ShaderStereoViewNV :: Capability pattern ShaderStereoViewNV = Capability 5259 pattern PerViewAttributesNV :: Capability pattern PerViewAttributesNV = Capability 5260 pattern FragmentFullyCoveredEXT :: Capability pattern FragmentFullyCoveredEXT = Capability 5265 pattern MeshShadingNV :: Capability pattern MeshShadingNV = Capability 5266 pattern ImageFootprintNV :: Capability pattern ImageFootprintNV = Capability 5282 pattern MeshShadingEXT :: Capability pattern MeshShadingEXT = Capability 5283 pattern FragmentBarycentricKHR :: Capability pattern FragmentBarycentricKHR = Capability 5284 pattern FragmentBarycentricNV :: Capability pattern FragmentBarycentricNV = Capability 5284 pattern ComputeDerivativeGroupQuadsNV :: Capability pattern ComputeDerivativeGroupQuadsNV = Capability 5288 pattern FragmentDensityEXT :: Capability pattern FragmentDensityEXT = Capability 5291 pattern ShadingRateNV :: Capability pattern ShadingRateNV = Capability 5291 pattern GroupNonUniformPartitionedNV :: Capability pattern GroupNonUniformPartitionedNV = Capability 5297 pattern ShaderNonUniform :: Capability pattern ShaderNonUniform = Capability 5301 pattern ShaderNonUniformEXT :: Capability pattern ShaderNonUniformEXT = Capability 5301 pattern RuntimeDescriptorArray :: Capability pattern RuntimeDescriptorArray = Capability 5302 pattern RuntimeDescriptorArrayEXT :: Capability pattern RuntimeDescriptorArrayEXT = Capability 5302 pattern InputAttachmentArrayDynamicIndexing :: Capability pattern InputAttachmentArrayDynamicIndexing = Capability 5303 pattern InputAttachmentArrayDynamicIndexingEXT :: Capability pattern InputAttachmentArrayDynamicIndexingEXT = Capability 5303 pattern UniformTexelBufferArrayDynamicIndexing :: Capability pattern UniformTexelBufferArrayDynamicIndexing = Capability 5304 pattern UniformTexelBufferArrayDynamicIndexingEXT :: Capability pattern UniformTexelBufferArrayDynamicIndexingEXT = Capability 5304 pattern StorageTexelBufferArrayDynamicIndexing :: Capability pattern StorageTexelBufferArrayDynamicIndexing = Capability 5305 pattern StorageTexelBufferArrayDynamicIndexingEXT :: Capability pattern StorageTexelBufferArrayDynamicIndexingEXT = Capability 5305 pattern UniformBufferArrayNonUniformIndexing :: Capability pattern UniformBufferArrayNonUniformIndexing = Capability 5306 pattern UniformBufferArrayNonUniformIndexingEXT :: Capability pattern UniformBufferArrayNonUniformIndexingEXT = Capability 5306 pattern SampledImageArrayNonUniformIndexing :: Capability pattern SampledImageArrayNonUniformIndexing = Capability 5307 pattern SampledImageArrayNonUniformIndexingEXT :: Capability pattern SampledImageArrayNonUniformIndexingEXT = Capability 5307 pattern StorageBufferArrayNonUniformIndexing :: Capability pattern StorageBufferArrayNonUniformIndexing = Capability 5308 pattern StorageBufferArrayNonUniformIndexingEXT :: Capability pattern StorageBufferArrayNonUniformIndexingEXT = Capability 5308 pattern StorageImageArrayNonUniformIndexing :: Capability pattern StorageImageArrayNonUniformIndexing = Capability 5309 pattern StorageImageArrayNonUniformIndexingEXT :: Capability pattern StorageImageArrayNonUniformIndexingEXT = Capability 5309 pattern InputAttachmentArrayNonUniformIndexing :: Capability pattern InputAttachmentArrayNonUniformIndexing = Capability 5310 pattern InputAttachmentArrayNonUniformIndexingEXT :: Capability pattern InputAttachmentArrayNonUniformIndexingEXT = Capability 5310 pattern UniformTexelBufferArrayNonUniformIndexing :: Capability pattern UniformTexelBufferArrayNonUniformIndexing = Capability 5311 pattern UniformTexelBufferArrayNonUniformIndexingEXT :: Capability pattern UniformTexelBufferArrayNonUniformIndexingEXT = Capability 5311 pattern StorageTexelBufferArrayNonUniformIndexing :: Capability pattern StorageTexelBufferArrayNonUniformIndexing = Capability 5312 pattern StorageTexelBufferArrayNonUniformIndexingEXT :: Capability pattern StorageTexelBufferArrayNonUniformIndexingEXT = Capability 5312 pattern RayTracingNV :: Capability pattern RayTracingNV = Capability 5340 pattern RayTracingMotionBlurNV :: Capability pattern RayTracingMotionBlurNV = Capability 5341 pattern VulkanMemoryModel :: Capability pattern VulkanMemoryModel = Capability 5345 pattern VulkanMemoryModelKHR :: Capability pattern VulkanMemoryModelKHR = Capability 5345 pattern VulkanMemoryModelDeviceScope :: Capability pattern VulkanMemoryModelDeviceScope = Capability 5346 pattern VulkanMemoryModelDeviceScopeKHR :: Capability pattern VulkanMemoryModelDeviceScopeKHR = Capability 5346 pattern PhysicalStorageBufferAddresses :: Capability pattern PhysicalStorageBufferAddresses = Capability 5347 pattern PhysicalStorageBufferAddressesEXT :: Capability pattern PhysicalStorageBufferAddressesEXT = Capability 5347 pattern ComputeDerivativeGroupLinearNV :: Capability pattern ComputeDerivativeGroupLinearNV = Capability 5350 pattern RayTracingProvisionalKHR :: Capability pattern RayTracingProvisionalKHR = Capability 5353 pattern CooperativeMatrixNV :: Capability pattern CooperativeMatrixNV = Capability 5357 pattern FragmentShaderSampleInterlockEXT :: Capability pattern FragmentShaderSampleInterlockEXT = Capability 5363 pattern FragmentShaderShadingRateInterlockEXT :: Capability pattern FragmentShaderShadingRateInterlockEXT = Capability 5372 pattern ShaderSMBuiltinsNV :: Capability pattern ShaderSMBuiltinsNV = Capability 5373 pattern FragmentShaderPixelInterlockEXT :: Capability pattern FragmentShaderPixelInterlockEXT = Capability 5378 pattern DemoteToHelperInvocation :: Capability pattern DemoteToHelperInvocation = Capability 5379 pattern DemoteToHelperInvocationEXT :: Capability pattern DemoteToHelperInvocationEXT = Capability 5379 pattern RayTracingOpacityMicromapEXT :: Capability pattern RayTracingOpacityMicromapEXT = Capability 5381 pattern ShaderInvocationReorderNV :: Capability pattern ShaderInvocationReorderNV = Capability 5383 pattern BindlessTextureNV :: Capability pattern BindlessTextureNV = Capability 5390 pattern SubgroupShuffleINTEL :: Capability pattern SubgroupShuffleINTEL = Capability 5568 pattern SubgroupBufferBlockIOINTEL :: Capability pattern SubgroupBufferBlockIOINTEL = Capability 5569 pattern SubgroupImageBlockIOINTEL :: Capability pattern SubgroupImageBlockIOINTEL = Capability 5570 pattern SubgroupImageMediaBlockIOINTEL :: Capability pattern SubgroupImageMediaBlockIOINTEL = Capability 5579 pattern RoundToInfinityINTEL :: Capability pattern RoundToInfinityINTEL = Capability 5582 pattern FloatingPointModeINTEL :: Capability pattern FloatingPointModeINTEL = Capability 5583 pattern IntegerFunctions2INTEL :: Capability pattern IntegerFunctions2INTEL = Capability 5584 pattern FunctionPointersINTEL :: Capability pattern FunctionPointersINTEL = Capability 5603 pattern IndirectReferencesINTEL :: Capability pattern IndirectReferencesINTEL = Capability 5604 pattern AsmINTEL :: Capability pattern AsmINTEL = Capability 5606 pattern AtomicFloat32MinMaxEXT :: Capability pattern AtomicFloat32MinMaxEXT = Capability 5612 pattern AtomicFloat64MinMaxEXT :: Capability pattern AtomicFloat64MinMaxEXT = Capability 5613 pattern AtomicFloat16MinMaxEXT :: Capability pattern AtomicFloat16MinMaxEXT = Capability 5616 pattern VectorComputeINTEL :: Capability pattern VectorComputeINTEL = Capability 5617 pattern VectorAnyINTEL :: Capability pattern VectorAnyINTEL = Capability 5619 pattern ExpectAssumeKHR :: Capability pattern ExpectAssumeKHR = Capability 5629 pattern SubgroupAvcMotionEstimationINTEL :: Capability pattern SubgroupAvcMotionEstimationINTEL = Capability 5696 pattern SubgroupAvcMotionEstimationIntraINTEL :: Capability pattern SubgroupAvcMotionEstimationIntraINTEL = Capability 5697 pattern SubgroupAvcMotionEstimationChromaINTEL :: Capability pattern SubgroupAvcMotionEstimationChromaINTEL = Capability 5698 pattern VariableLengthArrayINTEL :: Capability pattern VariableLengthArrayINTEL = Capability 5817 pattern FunctionFloatControlINTEL :: Capability pattern FunctionFloatControlINTEL = Capability 5821 pattern FPGAMemoryAttributesINTEL :: Capability pattern FPGAMemoryAttributesINTEL = Capability 5824 pattern FPFastMathModeINTEL :: Capability pattern FPFastMathModeINTEL = Capability 5837 pattern ArbitraryPrecisionIntegersINTEL :: Capability pattern ArbitraryPrecisionIntegersINTEL = Capability 5844 pattern ArbitraryPrecisionFloatingPointINTEL :: Capability pattern ArbitraryPrecisionFloatingPointINTEL = Capability 5845 pattern UnstructuredLoopControlsINTEL :: Capability pattern UnstructuredLoopControlsINTEL = Capability 5886 pattern FPGALoopControlsINTEL :: Capability pattern FPGALoopControlsINTEL = Capability 5888 pattern KernelAttributesINTEL :: Capability pattern KernelAttributesINTEL = Capability 5892 pattern FPGAKernelAttributesINTEL :: Capability pattern FPGAKernelAttributesINTEL = Capability 5897 pattern FPGAMemoryAccessesINTEL :: Capability pattern FPGAMemoryAccessesINTEL = Capability 5898 pattern FPGAClusterAttributesINTEL :: Capability pattern FPGAClusterAttributesINTEL = Capability 5904 pattern LoopFuseINTEL :: Capability pattern LoopFuseINTEL = Capability 5906 pattern FPGADSPControlINTEL :: Capability pattern FPGADSPControlINTEL = Capability 5908 pattern MemoryAccessAliasingINTEL :: Capability pattern MemoryAccessAliasingINTEL = Capability 5910 pattern FPGAInvocationPipeliningAttributesINTEL :: Capability pattern FPGAInvocationPipeliningAttributesINTEL = Capability 5916 pattern FPGABufferLocationINTEL :: Capability pattern FPGABufferLocationINTEL = Capability 5920 pattern ArbitraryPrecisionFixedPointINTEL :: Capability pattern ArbitraryPrecisionFixedPointINTEL = Capability 5922 pattern USMStorageClassesINTEL :: Capability pattern USMStorageClassesINTEL = Capability 5935 pattern RuntimeAlignedAttributeINTEL :: Capability pattern RuntimeAlignedAttributeINTEL = Capability 5939 pattern IOPipesINTEL :: Capability pattern IOPipesINTEL = Capability 5943 pattern BlockingPipesINTEL :: Capability pattern BlockingPipesINTEL = Capability 5945 pattern FPGARegINTEL :: Capability pattern FPGARegINTEL = Capability 5948 pattern DotProductInputAll :: Capability pattern DotProductInputAll = Capability 6016 pattern DotProductInputAllKHR :: Capability pattern DotProductInputAllKHR = Capability 6016 pattern DotProductInput4x8Bit :: Capability pattern DotProductInput4x8Bit = Capability 6017 pattern DotProductInput4x8BitKHR :: Capability pattern DotProductInput4x8BitKHR = Capability 6017 pattern DotProductInput4x8BitPacked :: Capability pattern DotProductInput4x8BitPacked = Capability 6018 pattern DotProductInput4x8BitPackedKHR :: Capability pattern DotProductInput4x8BitPackedKHR = Capability 6018 pattern DotProduct :: Capability pattern DotProduct = Capability 6019 pattern DotProductKHR :: Capability pattern DotProductKHR = Capability 6019 pattern RayCullMaskKHR :: Capability pattern RayCullMaskKHR = Capability 6020 pattern BitInstructions :: Capability pattern BitInstructions = Capability 6025 pattern GroupNonUniformRotateKHR :: Capability pattern GroupNonUniformRotateKHR = Capability 6026 pattern AtomicFloat32AddEXT :: Capability pattern AtomicFloat32AddEXT = Capability 6033 pattern AtomicFloat64AddEXT :: Capability pattern AtomicFloat64AddEXT = Capability 6034 pattern LongConstantCompositeINTEL :: Capability pattern LongConstantCompositeINTEL = Capability 6089 pattern OptNoneINTEL :: Capability pattern OptNoneINTEL = Capability 6094 pattern AtomicFloat16AddEXT :: Capability pattern AtomicFloat16AddEXT = Capability 6095 pattern DebugInfoModuleINTEL :: Capability pattern DebugInfoModuleINTEL = Capability 6114 pattern SplitBarrierINTEL :: Capability pattern SplitBarrierINTEL = Capability 6141 pattern GroupUniformArithmeticKHR :: Capability pattern GroupUniformArithmeticKHR = Capability 6400 toName :: IsString a => Capability -> a toName x = case x of Matrix -> "Matrix" Shader -> "Shader" Geometry -> "Geometry" Tessellation -> "Tessellation" Addresses -> "Addresses" Linkage -> "Linkage" Kernel -> "Kernel" Vector16 -> "Vector16" Float16Buffer -> "Float16Buffer" Float16 -> "Float16" Float64 -> "Float64" Int64 -> "Int64" Int64Atomics -> "Int64Atomics" ImageBasic -> "ImageBasic" ImageReadWrite -> "ImageReadWrite" ImageMipmap -> "ImageMipmap" Pipes -> "Pipes" Groups -> "Groups" DeviceEnqueue -> "DeviceEnqueue" LiteralSampler -> "LiteralSampler" AtomicStorage -> "AtomicStorage" Int16 -> "Int16" TessellationPointSize -> "TessellationPointSize" GeometryPointSize -> "GeometryPointSize" ImageGatherExtended -> "ImageGatherExtended" StorageImageMultisample -> "StorageImageMultisample" UniformBufferArrayDynamicIndexing -> "UniformBufferArrayDynamicIndexing" SampledImageArrayDynamicIndexing -> "SampledImageArrayDynamicIndexing" StorageBufferArrayDynamicIndexing -> "StorageBufferArrayDynamicIndexing" StorageImageArrayDynamicIndexing -> "StorageImageArrayDynamicIndexing" ClipDistance -> "ClipDistance" CullDistance -> "CullDistance" ImageCubeArray -> "ImageCubeArray" SampleRateShading -> "SampleRateShading" ImageRect -> "ImageRect" SampledRect -> "SampledRect" GenericPointer -> "GenericPointer" Int8 -> "Int8" InputAttachment -> "InputAttachment" SparseResidency -> "SparseResidency" MinLod -> "MinLod" Sampled1D -> "Sampled1D" Image1D -> "Image1D" SampledCubeArray -> "SampledCubeArray" SampledBuffer -> "SampledBuffer" ImageBuffer -> "ImageBuffer" ImageMSArray -> "ImageMSArray" StorageImageExtendedFormats -> "StorageImageExtendedFormats" ImageQuery -> "ImageQuery" DerivativeControl -> "DerivativeControl" InterpolationFunction -> "InterpolationFunction" TransformFeedback -> "TransformFeedback" GeometryStreams -> "GeometryStreams" StorageImageReadWithoutFormat -> "StorageImageReadWithoutFormat" StorageImageWriteWithoutFormat -> "StorageImageWriteWithoutFormat" MultiViewport -> "MultiViewport" SubgroupDispatch -> "SubgroupDispatch" NamedBarrier -> "NamedBarrier" PipeStorage -> "PipeStorage" GroupNonUniform -> "GroupNonUniform" GroupNonUniformVote -> "GroupNonUniformVote" GroupNonUniformArithmetic -> "GroupNonUniformArithmetic" GroupNonUniformBallot -> "GroupNonUniformBallot" GroupNonUniformShuffle -> "GroupNonUniformShuffle" GroupNonUniformShuffleRelative -> "GroupNonUniformShuffleRelative" GroupNonUniformClustered -> "GroupNonUniformClustered" GroupNonUniformQuad -> "GroupNonUniformQuad" ShaderLayer -> "ShaderLayer" ShaderViewportIndex -> "ShaderViewportIndex" UniformDecoration -> "UniformDecoration" CoreBuiltinsARM -> "CoreBuiltinsARM" FragmentShadingRateKHR -> "FragmentShadingRateKHR" SubgroupBallotKHR -> "SubgroupBallotKHR" DrawParameters -> "DrawParameters" WorkgroupMemoryExplicitLayoutKHR -> "WorkgroupMemoryExplicitLayoutKHR" WorkgroupMemoryExplicitLayout8BitAccessKHR -> "WorkgroupMemoryExplicitLayout8BitAccessKHR" WorkgroupMemoryExplicitLayout16BitAccessKHR -> "WorkgroupMemoryExplicitLayout16BitAccessKHR" SubgroupVoteKHR -> "SubgroupVoteKHR" StorageBuffer16BitAccess -> "StorageBuffer16BitAccess" StorageUniformBufferBlock16 -> "StorageUniformBufferBlock16" StorageUniform16 -> "StorageUniform16" UniformAndStorageBuffer16BitAccess -> "UniformAndStorageBuffer16BitAccess" StoragePushConstant16 -> "StoragePushConstant16" StorageInputOutput16 -> "StorageInputOutput16" DeviceGroup -> "DeviceGroup" MultiView -> "MultiView" VariablePointersStorageBuffer -> "VariablePointersStorageBuffer" VariablePointers -> "VariablePointers" AtomicStorageOps -> "AtomicStorageOps" SampleMaskPostDepthCoverage -> "SampleMaskPostDepthCoverage" StorageBuffer8BitAccess -> "StorageBuffer8BitAccess" UniformAndStorageBuffer8BitAccess -> "UniformAndStorageBuffer8BitAccess" StoragePushConstant8 -> "StoragePushConstant8" DenormPreserve -> "DenormPreserve" DenormFlushToZero -> "DenormFlushToZero" SignedZeroInfNanPreserve -> "SignedZeroInfNanPreserve" RoundingModeRTE -> "RoundingModeRTE" RoundingModeRTZ -> "RoundingModeRTZ" RayQueryProvisionalKHR -> "RayQueryProvisionalKHR" RayQueryKHR -> "RayQueryKHR" RayTraversalPrimitiveCullingKHR -> "RayTraversalPrimitiveCullingKHR" RayTracingKHR -> "RayTracingKHR" Float16ImageAMD -> "Float16ImageAMD" ImageGatherBiasLodAMD -> "ImageGatherBiasLodAMD" FragmentMaskAMD -> "FragmentMaskAMD" StencilExportEXT -> "StencilExportEXT" ImageReadWriteLodAMD -> "ImageReadWriteLodAMD" Int64ImageEXT -> "Int64ImageEXT" ShaderClockKHR -> "ShaderClockKHR" SampleMaskOverrideCoverageNV -> "SampleMaskOverrideCoverageNV" GeometryShaderPassthroughNV -> "GeometryShaderPassthroughNV" ShaderViewportIndexLayerEXT -> "ShaderViewportIndexLayerEXT" ShaderViewportIndexLayerNV -> "ShaderViewportIndexLayerNV" ShaderViewportMaskNV -> "ShaderViewportMaskNV" ShaderStereoViewNV -> "ShaderStereoViewNV" PerViewAttributesNV -> "PerViewAttributesNV" FragmentFullyCoveredEXT -> "FragmentFullyCoveredEXT" MeshShadingNV -> "MeshShadingNV" ImageFootprintNV -> "ImageFootprintNV" MeshShadingEXT -> "MeshShadingEXT" FragmentBarycentricKHR -> "FragmentBarycentricKHR" FragmentBarycentricNV -> "FragmentBarycentricNV" ComputeDerivativeGroupQuadsNV -> "ComputeDerivativeGroupQuadsNV" FragmentDensityEXT -> "FragmentDensityEXT" ShadingRateNV -> "ShadingRateNV" GroupNonUniformPartitionedNV -> "GroupNonUniformPartitionedNV" ShaderNonUniform -> "ShaderNonUniform" ShaderNonUniformEXT -> "ShaderNonUniformEXT" RuntimeDescriptorArray -> "RuntimeDescriptorArray" RuntimeDescriptorArrayEXT -> "RuntimeDescriptorArrayEXT" InputAttachmentArrayDynamicIndexing -> "InputAttachmentArrayDynamicIndexing" InputAttachmentArrayDynamicIndexingEXT -> "InputAttachmentArrayDynamicIndexingEXT" UniformTexelBufferArrayDynamicIndexing -> "UniformTexelBufferArrayDynamicIndexing" UniformTexelBufferArrayDynamicIndexingEXT -> "UniformTexelBufferArrayDynamicIndexingEXT" StorageTexelBufferArrayDynamicIndexing -> "StorageTexelBufferArrayDynamicIndexing" StorageTexelBufferArrayDynamicIndexingEXT -> "StorageTexelBufferArrayDynamicIndexingEXT" UniformBufferArrayNonUniformIndexing -> "UniformBufferArrayNonUniformIndexing" UniformBufferArrayNonUniformIndexingEXT -> "UniformBufferArrayNonUniformIndexingEXT" SampledImageArrayNonUniformIndexing -> "SampledImageArrayNonUniformIndexing" SampledImageArrayNonUniformIndexingEXT -> "SampledImageArrayNonUniformIndexingEXT" StorageBufferArrayNonUniformIndexing -> "StorageBufferArrayNonUniformIndexing" StorageBufferArrayNonUniformIndexingEXT -> "StorageBufferArrayNonUniformIndexingEXT" StorageImageArrayNonUniformIndexing -> "StorageImageArrayNonUniformIndexing" StorageImageArrayNonUniformIndexingEXT -> "StorageImageArrayNonUniformIndexingEXT" InputAttachmentArrayNonUniformIndexing -> "InputAttachmentArrayNonUniformIndexing" InputAttachmentArrayNonUniformIndexingEXT -> "InputAttachmentArrayNonUniformIndexingEXT" UniformTexelBufferArrayNonUniformIndexing -> "UniformTexelBufferArrayNonUniformIndexing" UniformTexelBufferArrayNonUniformIndexingEXT -> "UniformTexelBufferArrayNonUniformIndexingEXT" StorageTexelBufferArrayNonUniformIndexing -> "StorageTexelBufferArrayNonUniformIndexing" StorageTexelBufferArrayNonUniformIndexingEXT -> "StorageTexelBufferArrayNonUniformIndexingEXT" RayTracingNV -> "RayTracingNV" RayTracingMotionBlurNV -> "RayTracingMotionBlurNV" VulkanMemoryModel -> "VulkanMemoryModel" VulkanMemoryModelKHR -> "VulkanMemoryModelKHR" VulkanMemoryModelDeviceScope -> "VulkanMemoryModelDeviceScope" VulkanMemoryModelDeviceScopeKHR -> "VulkanMemoryModelDeviceScopeKHR" PhysicalStorageBufferAddresses -> "PhysicalStorageBufferAddresses" PhysicalStorageBufferAddressesEXT -> "PhysicalStorageBufferAddressesEXT" ComputeDerivativeGroupLinearNV -> "ComputeDerivativeGroupLinearNV" RayTracingProvisionalKHR -> "RayTracingProvisionalKHR" CooperativeMatrixNV -> "CooperativeMatrixNV" FragmentShaderSampleInterlockEXT -> "FragmentShaderSampleInterlockEXT" FragmentShaderShadingRateInterlockEXT -> "FragmentShaderShadingRateInterlockEXT" ShaderSMBuiltinsNV -> "ShaderSMBuiltinsNV" FragmentShaderPixelInterlockEXT -> "FragmentShaderPixelInterlockEXT" DemoteToHelperInvocation -> "DemoteToHelperInvocation" DemoteToHelperInvocationEXT -> "DemoteToHelperInvocationEXT" RayTracingOpacityMicromapEXT -> "RayTracingOpacityMicromapEXT" ShaderInvocationReorderNV -> "ShaderInvocationReorderNV" BindlessTextureNV -> "BindlessTextureNV" SubgroupShuffleINTEL -> "SubgroupShuffleINTEL" SubgroupBufferBlockIOINTEL -> "SubgroupBufferBlockIOINTEL" SubgroupImageBlockIOINTEL -> "SubgroupImageBlockIOINTEL" SubgroupImageMediaBlockIOINTEL -> "SubgroupImageMediaBlockIOINTEL" RoundToInfinityINTEL -> "RoundToInfinityINTEL" FloatingPointModeINTEL -> "FloatingPointModeINTEL" IntegerFunctions2INTEL -> "IntegerFunctions2INTEL" FunctionPointersINTEL -> "FunctionPointersINTEL" IndirectReferencesINTEL -> "IndirectReferencesINTEL" AsmINTEL -> "AsmINTEL" AtomicFloat32MinMaxEXT -> "AtomicFloat32MinMaxEXT" AtomicFloat64MinMaxEXT -> "AtomicFloat64MinMaxEXT" AtomicFloat16MinMaxEXT -> "AtomicFloat16MinMaxEXT" VectorComputeINTEL -> "VectorComputeINTEL" VectorAnyINTEL -> "VectorAnyINTEL" ExpectAssumeKHR -> "ExpectAssumeKHR" SubgroupAvcMotionEstimationINTEL -> "SubgroupAvcMotionEstimationINTEL" SubgroupAvcMotionEstimationIntraINTEL -> "SubgroupAvcMotionEstimationIntraINTEL" SubgroupAvcMotionEstimationChromaINTEL -> "SubgroupAvcMotionEstimationChromaINTEL" VariableLengthArrayINTEL -> "VariableLengthArrayINTEL" FunctionFloatControlINTEL -> "FunctionFloatControlINTEL" FPGAMemoryAttributesINTEL -> "FPGAMemoryAttributesINTEL" FPFastMathModeINTEL -> "FPFastMathModeINTEL" ArbitraryPrecisionIntegersINTEL -> "ArbitraryPrecisionIntegersINTEL" ArbitraryPrecisionFloatingPointINTEL -> "ArbitraryPrecisionFloatingPointINTEL" UnstructuredLoopControlsINTEL -> "UnstructuredLoopControlsINTEL" FPGALoopControlsINTEL -> "FPGALoopControlsINTEL" KernelAttributesINTEL -> "KernelAttributesINTEL" FPGAKernelAttributesINTEL -> "FPGAKernelAttributesINTEL" FPGAMemoryAccessesINTEL -> "FPGAMemoryAccessesINTEL" FPGAClusterAttributesINTEL -> "FPGAClusterAttributesINTEL" LoopFuseINTEL -> "LoopFuseINTEL" FPGADSPControlINTEL -> "FPGADSPControlINTEL" MemoryAccessAliasingINTEL -> "MemoryAccessAliasingINTEL" FPGAInvocationPipeliningAttributesINTEL -> "FPGAInvocationPipeliningAttributesINTEL" FPGABufferLocationINTEL -> "FPGABufferLocationINTEL" ArbitraryPrecisionFixedPointINTEL -> "ArbitraryPrecisionFixedPointINTEL" USMStorageClassesINTEL -> "USMStorageClassesINTEL" RuntimeAlignedAttributeINTEL -> "RuntimeAlignedAttributeINTEL" IOPipesINTEL -> "IOPipesINTEL" BlockingPipesINTEL -> "BlockingPipesINTEL" FPGARegINTEL -> "FPGARegINTEL" DotProductInputAll -> "DotProductInputAll" DotProductInputAllKHR -> "DotProductInputAllKHR" DotProductInput4x8Bit -> "DotProductInput4x8Bit" DotProductInput4x8BitKHR -> "DotProductInput4x8BitKHR" DotProductInput4x8BitPacked -> "DotProductInput4x8BitPacked" DotProductInput4x8BitPackedKHR -> "DotProductInput4x8BitPackedKHR" DotProduct -> "DotProduct" DotProductKHR -> "DotProductKHR" RayCullMaskKHR -> "RayCullMaskKHR" BitInstructions -> "BitInstructions" GroupNonUniformRotateKHR -> "GroupNonUniformRotateKHR" AtomicFloat32AddEXT -> "AtomicFloat32AddEXT" AtomicFloat64AddEXT -> "AtomicFloat64AddEXT" LongConstantCompositeINTEL -> "LongConstantCompositeINTEL" OptNoneINTEL -> "OptNoneINTEL" AtomicFloat16AddEXT -> "AtomicFloat16AddEXT" DebugInfoModuleINTEL -> "DebugInfoModuleINTEL" SplitBarrierINTEL -> "SplitBarrierINTEL" GroupUniformArithmeticKHR -> "GroupUniformArithmeticKHR" unknown -> fromString $ "Capability " ++ show unknown instance Show Capability where show = toName fromName :: (IsString a, Eq a) => a -> Maybe Capability fromName x = case x of "Matrix" -> Just Matrix "Shader" -> Just Shader "Geometry" -> Just Geometry "Tessellation" -> Just Tessellation "Addresses" -> Just Addresses "Linkage" -> Just Linkage "Kernel" -> Just Kernel "Vector16" -> Just Vector16 "Float16Buffer" -> Just Float16Buffer "Float16" -> Just Float16 "Float64" -> Just Float64 "Int64" -> Just Int64 "Int64Atomics" -> Just Int64Atomics "ImageBasic" -> Just ImageBasic "ImageReadWrite" -> Just ImageReadWrite "ImageMipmap" -> Just ImageMipmap "Pipes" -> Just Pipes "Groups" -> Just Groups "DeviceEnqueue" -> Just DeviceEnqueue "LiteralSampler" -> Just LiteralSampler "AtomicStorage" -> Just AtomicStorage "Int16" -> Just Int16 "TessellationPointSize" -> Just TessellationPointSize "GeometryPointSize" -> Just GeometryPointSize "ImageGatherExtended" -> Just ImageGatherExtended "StorageImageMultisample" -> Just StorageImageMultisample "UniformBufferArrayDynamicIndexing" -> Just UniformBufferArrayDynamicIndexing "SampledImageArrayDynamicIndexing" -> Just SampledImageArrayDynamicIndexing "StorageBufferArrayDynamicIndexing" -> Just StorageBufferArrayDynamicIndexing "StorageImageArrayDynamicIndexing" -> Just StorageImageArrayDynamicIndexing "ClipDistance" -> Just ClipDistance "CullDistance" -> Just CullDistance "ImageCubeArray" -> Just ImageCubeArray "SampleRateShading" -> Just SampleRateShading "ImageRect" -> Just ImageRect "SampledRect" -> Just SampledRect "GenericPointer" -> Just GenericPointer "Int8" -> Just Int8 "InputAttachment" -> Just InputAttachment "SparseResidency" -> Just SparseResidency "MinLod" -> Just MinLod "Sampled1D" -> Just Sampled1D "Image1D" -> Just Image1D "SampledCubeArray" -> Just SampledCubeArray "SampledBuffer" -> Just SampledBuffer "ImageBuffer" -> Just ImageBuffer "ImageMSArray" -> Just ImageMSArray "StorageImageExtendedFormats" -> Just StorageImageExtendedFormats "ImageQuery" -> Just ImageQuery "DerivativeControl" -> Just DerivativeControl "InterpolationFunction" -> Just InterpolationFunction "TransformFeedback" -> Just TransformFeedback "GeometryStreams" -> Just GeometryStreams "StorageImageReadWithoutFormat" -> Just StorageImageReadWithoutFormat "StorageImageWriteWithoutFormat" -> Just StorageImageWriteWithoutFormat "MultiViewport" -> Just MultiViewport "SubgroupDispatch" -> Just SubgroupDispatch "NamedBarrier" -> Just NamedBarrier "PipeStorage" -> Just PipeStorage "GroupNonUniform" -> Just GroupNonUniform "GroupNonUniformVote" -> Just GroupNonUniformVote "GroupNonUniformArithmetic" -> Just GroupNonUniformArithmetic "GroupNonUniformBallot" -> Just GroupNonUniformBallot "GroupNonUniformShuffle" -> Just GroupNonUniformShuffle "GroupNonUniformShuffleRelative" -> Just GroupNonUniformShuffleRelative "GroupNonUniformClustered" -> Just GroupNonUniformClustered "GroupNonUniformQuad" -> Just GroupNonUniformQuad "ShaderLayer" -> Just ShaderLayer "ShaderViewportIndex" -> Just ShaderViewportIndex "UniformDecoration" -> Just UniformDecoration "CoreBuiltinsARM" -> Just CoreBuiltinsARM "FragmentShadingRateKHR" -> Just FragmentShadingRateKHR "SubgroupBallotKHR" -> Just SubgroupBallotKHR "DrawParameters" -> Just DrawParameters "WorkgroupMemoryExplicitLayoutKHR" -> Just WorkgroupMemoryExplicitLayoutKHR "WorkgroupMemoryExplicitLayout8BitAccessKHR" -> Just WorkgroupMemoryExplicitLayout8BitAccessKHR "WorkgroupMemoryExplicitLayout16BitAccessKHR" -> Just WorkgroupMemoryExplicitLayout16BitAccessKHR "SubgroupVoteKHR" -> Just SubgroupVoteKHR "StorageBuffer16BitAccess" -> Just StorageBuffer16BitAccess "StorageUniformBufferBlock16" -> Just StorageUniformBufferBlock16 "StorageUniform16" -> Just StorageUniform16 "UniformAndStorageBuffer16BitAccess" -> Just UniformAndStorageBuffer16BitAccess "StoragePushConstant16" -> Just StoragePushConstant16 "StorageInputOutput16" -> Just StorageInputOutput16 "DeviceGroup" -> Just DeviceGroup "MultiView" -> Just MultiView "VariablePointersStorageBuffer" -> Just VariablePointersStorageBuffer "VariablePointers" -> Just VariablePointers "AtomicStorageOps" -> Just AtomicStorageOps "SampleMaskPostDepthCoverage" -> Just SampleMaskPostDepthCoverage "StorageBuffer8BitAccess" -> Just StorageBuffer8BitAccess "UniformAndStorageBuffer8BitAccess" -> Just UniformAndStorageBuffer8BitAccess "StoragePushConstant8" -> Just StoragePushConstant8 "DenormPreserve" -> Just DenormPreserve "DenormFlushToZero" -> Just DenormFlushToZero "SignedZeroInfNanPreserve" -> Just SignedZeroInfNanPreserve "RoundingModeRTE" -> Just RoundingModeRTE "RoundingModeRTZ" -> Just RoundingModeRTZ "RayQueryProvisionalKHR" -> Just RayQueryProvisionalKHR "RayQueryKHR" -> Just RayQueryKHR "RayTraversalPrimitiveCullingKHR" -> Just RayTraversalPrimitiveCullingKHR "RayTracingKHR" -> Just RayTracingKHR "Float16ImageAMD" -> Just Float16ImageAMD "ImageGatherBiasLodAMD" -> Just ImageGatherBiasLodAMD "FragmentMaskAMD" -> Just FragmentMaskAMD "StencilExportEXT" -> Just StencilExportEXT "ImageReadWriteLodAMD" -> Just ImageReadWriteLodAMD "Int64ImageEXT" -> Just Int64ImageEXT "ShaderClockKHR" -> Just ShaderClockKHR "SampleMaskOverrideCoverageNV" -> Just SampleMaskOverrideCoverageNV "GeometryShaderPassthroughNV" -> Just GeometryShaderPassthroughNV "ShaderViewportIndexLayerEXT" -> Just ShaderViewportIndexLayerEXT "ShaderViewportIndexLayerNV" -> Just ShaderViewportIndexLayerNV "ShaderViewportMaskNV" -> Just ShaderViewportMaskNV "ShaderStereoViewNV" -> Just ShaderStereoViewNV "PerViewAttributesNV" -> Just PerViewAttributesNV "FragmentFullyCoveredEXT" -> Just FragmentFullyCoveredEXT "MeshShadingNV" -> Just MeshShadingNV "ImageFootprintNV" -> Just ImageFootprintNV "MeshShadingEXT" -> Just MeshShadingEXT "FragmentBarycentricKHR" -> Just FragmentBarycentricKHR "FragmentBarycentricNV" -> Just FragmentBarycentricNV "ComputeDerivativeGroupQuadsNV" -> Just ComputeDerivativeGroupQuadsNV "FragmentDensityEXT" -> Just FragmentDensityEXT "ShadingRateNV" -> Just ShadingRateNV "GroupNonUniformPartitionedNV" -> Just GroupNonUniformPartitionedNV "ShaderNonUniform" -> Just ShaderNonUniform "ShaderNonUniformEXT" -> Just ShaderNonUniformEXT "RuntimeDescriptorArray" -> Just RuntimeDescriptorArray "RuntimeDescriptorArrayEXT" -> Just RuntimeDescriptorArrayEXT "InputAttachmentArrayDynamicIndexing" -> Just InputAttachmentArrayDynamicIndexing "InputAttachmentArrayDynamicIndexingEXT" -> Just InputAttachmentArrayDynamicIndexingEXT "UniformTexelBufferArrayDynamicIndexing" -> Just UniformTexelBufferArrayDynamicIndexing "UniformTexelBufferArrayDynamicIndexingEXT" -> Just UniformTexelBufferArrayDynamicIndexingEXT "StorageTexelBufferArrayDynamicIndexing" -> Just StorageTexelBufferArrayDynamicIndexing "StorageTexelBufferArrayDynamicIndexingEXT" -> Just StorageTexelBufferArrayDynamicIndexingEXT "UniformBufferArrayNonUniformIndexing" -> Just UniformBufferArrayNonUniformIndexing "UniformBufferArrayNonUniformIndexingEXT" -> Just UniformBufferArrayNonUniformIndexingEXT "SampledImageArrayNonUniformIndexing" -> Just SampledImageArrayNonUniformIndexing "SampledImageArrayNonUniformIndexingEXT" -> Just SampledImageArrayNonUniformIndexingEXT "StorageBufferArrayNonUniformIndexing" -> Just StorageBufferArrayNonUniformIndexing "StorageBufferArrayNonUniformIndexingEXT" -> Just StorageBufferArrayNonUniformIndexingEXT "StorageImageArrayNonUniformIndexing" -> Just StorageImageArrayNonUniformIndexing "StorageImageArrayNonUniformIndexingEXT" -> Just StorageImageArrayNonUniformIndexingEXT "InputAttachmentArrayNonUniformIndexing" -> Just InputAttachmentArrayNonUniformIndexing "InputAttachmentArrayNonUniformIndexingEXT" -> Just InputAttachmentArrayNonUniformIndexingEXT "UniformTexelBufferArrayNonUniformIndexing" -> Just UniformTexelBufferArrayNonUniformIndexing "UniformTexelBufferArrayNonUniformIndexingEXT" -> Just UniformTexelBufferArrayNonUniformIndexingEXT "StorageTexelBufferArrayNonUniformIndexing" -> Just StorageTexelBufferArrayNonUniformIndexing "StorageTexelBufferArrayNonUniformIndexingEXT" -> Just StorageTexelBufferArrayNonUniformIndexingEXT "RayTracingNV" -> Just RayTracingNV "RayTracingMotionBlurNV" -> Just RayTracingMotionBlurNV "VulkanMemoryModel" -> Just VulkanMemoryModel "VulkanMemoryModelKHR" -> Just VulkanMemoryModelKHR "VulkanMemoryModelDeviceScope" -> Just VulkanMemoryModelDeviceScope "VulkanMemoryModelDeviceScopeKHR" -> Just VulkanMemoryModelDeviceScopeKHR "PhysicalStorageBufferAddresses" -> Just PhysicalStorageBufferAddresses "PhysicalStorageBufferAddressesEXT" -> Just PhysicalStorageBufferAddressesEXT "ComputeDerivativeGroupLinearNV" -> Just ComputeDerivativeGroupLinearNV "RayTracingProvisionalKHR" -> Just RayTracingProvisionalKHR "CooperativeMatrixNV" -> Just CooperativeMatrixNV "FragmentShaderSampleInterlockEXT" -> Just FragmentShaderSampleInterlockEXT "FragmentShaderShadingRateInterlockEXT" -> Just FragmentShaderShadingRateInterlockEXT "ShaderSMBuiltinsNV" -> Just ShaderSMBuiltinsNV "FragmentShaderPixelInterlockEXT" -> Just FragmentShaderPixelInterlockEXT "DemoteToHelperInvocation" -> Just DemoteToHelperInvocation "DemoteToHelperInvocationEXT" -> Just DemoteToHelperInvocationEXT "RayTracingOpacityMicromapEXT" -> Just RayTracingOpacityMicromapEXT "ShaderInvocationReorderNV" -> Just ShaderInvocationReorderNV "BindlessTextureNV" -> Just BindlessTextureNV "SubgroupShuffleINTEL" -> Just SubgroupShuffleINTEL "SubgroupBufferBlockIOINTEL" -> Just SubgroupBufferBlockIOINTEL "SubgroupImageBlockIOINTEL" -> Just SubgroupImageBlockIOINTEL "SubgroupImageMediaBlockIOINTEL" -> Just SubgroupImageMediaBlockIOINTEL "RoundToInfinityINTEL" -> Just RoundToInfinityINTEL "FloatingPointModeINTEL" -> Just FloatingPointModeINTEL "IntegerFunctions2INTEL" -> Just IntegerFunctions2INTEL "FunctionPointersINTEL" -> Just FunctionPointersINTEL "IndirectReferencesINTEL" -> Just IndirectReferencesINTEL "AsmINTEL" -> Just AsmINTEL "AtomicFloat32MinMaxEXT" -> Just AtomicFloat32MinMaxEXT "AtomicFloat64MinMaxEXT" -> Just AtomicFloat64MinMaxEXT "AtomicFloat16MinMaxEXT" -> Just AtomicFloat16MinMaxEXT "VectorComputeINTEL" -> Just VectorComputeINTEL "VectorAnyINTEL" -> Just VectorAnyINTEL "ExpectAssumeKHR" -> Just ExpectAssumeKHR "SubgroupAvcMotionEstimationINTEL" -> Just SubgroupAvcMotionEstimationINTEL "SubgroupAvcMotionEstimationIntraINTEL" -> Just SubgroupAvcMotionEstimationIntraINTEL "SubgroupAvcMotionEstimationChromaINTEL" -> Just SubgroupAvcMotionEstimationChromaINTEL "VariableLengthArrayINTEL" -> Just VariableLengthArrayINTEL "FunctionFloatControlINTEL" -> Just FunctionFloatControlINTEL "FPGAMemoryAttributesINTEL" -> Just FPGAMemoryAttributesINTEL "FPFastMathModeINTEL" -> Just FPFastMathModeINTEL "ArbitraryPrecisionIntegersINTEL" -> Just ArbitraryPrecisionIntegersINTEL "ArbitraryPrecisionFloatingPointINTEL" -> Just ArbitraryPrecisionFloatingPointINTEL "UnstructuredLoopControlsINTEL" -> Just UnstructuredLoopControlsINTEL "FPGALoopControlsINTEL" -> Just FPGALoopControlsINTEL "KernelAttributesINTEL" -> Just KernelAttributesINTEL "FPGAKernelAttributesINTEL" -> Just FPGAKernelAttributesINTEL "FPGAMemoryAccessesINTEL" -> Just FPGAMemoryAccessesINTEL "FPGAClusterAttributesINTEL" -> Just FPGAClusterAttributesINTEL "LoopFuseINTEL" -> Just LoopFuseINTEL "FPGADSPControlINTEL" -> Just FPGADSPControlINTEL "MemoryAccessAliasingINTEL" -> Just MemoryAccessAliasingINTEL "FPGAInvocationPipeliningAttributesINTEL" -> Just FPGAInvocationPipeliningAttributesINTEL "FPGABufferLocationINTEL" -> Just FPGABufferLocationINTEL "ArbitraryPrecisionFixedPointINTEL" -> Just ArbitraryPrecisionFixedPointINTEL "USMStorageClassesINTEL" -> Just USMStorageClassesINTEL "RuntimeAlignedAttributeINTEL" -> Just RuntimeAlignedAttributeINTEL "IOPipesINTEL" -> Just IOPipesINTEL "BlockingPipesINTEL" -> Just BlockingPipesINTEL "FPGARegINTEL" -> Just FPGARegINTEL "DotProductInputAll" -> Just DotProductInputAll "DotProductInputAllKHR" -> Just DotProductInputAllKHR "DotProductInput4x8Bit" -> Just DotProductInput4x8Bit "DotProductInput4x8BitKHR" -> Just DotProductInput4x8BitKHR "DotProductInput4x8BitPacked" -> Just DotProductInput4x8BitPacked "DotProductInput4x8BitPackedKHR" -> Just DotProductInput4x8BitPackedKHR "DotProduct" -> Just DotProduct "DotProductKHR" -> Just DotProductKHR "RayCullMaskKHR" -> Just RayCullMaskKHR "BitInstructions" -> Just BitInstructions "GroupNonUniformRotateKHR" -> Just GroupNonUniformRotateKHR "AtomicFloat32AddEXT" -> Just AtomicFloat32AddEXT "AtomicFloat64AddEXT" -> Just AtomicFloat64AddEXT "LongConstantCompositeINTEL" -> Just LongConstantCompositeINTEL "OptNoneINTEL" -> Just OptNoneINTEL "AtomicFloat16AddEXT" -> Just AtomicFloat16AddEXT "DebugInfoModuleINTEL" -> Just DebugInfoModuleINTEL "SplitBarrierINTEL" -> Just SplitBarrierINTEL "GroupUniformArithmeticKHR" -> Just GroupUniformArithmeticKHR _unknown -> Nothing instance Read Capability where readPrec = Read.parens do Lex.Ident s <- Read.lexP maybe pfail pure $ fromName s