{-# LANGUAGE MultiParamTypeClasses #-} module Language.SpirV.OpCode where import Data.Word (Word16) import qualified Language.SpirV.Capability as Capability import Language.SpirV.SpirEnum data OpCode = OpNop | OpUndef | OpSource | OpSourceExtension | OpName | OpMemberName | OpString | OpLine | OpDecorate | OpMemberDecorate | OpDecorationGroup | OpGroupDecorate | OpGroupMemberDecorate | OpExtension | OpExtInstImport | OpExtInst | OpMemoryModel | OpEntryPoint | OpExecutionMode | OpCapability | OpTypeVoid | OpTypeBool | OpTypeInt | OpTypeFloat | OpTypeVector | OpTypeMatrix | OpTypeImage | OpTypeSampler | OpTypeSampledImage | OpTypeArray | OpTypeRuntimeArray | OpTypeStruct | OpTypeOpaque | OpTypePointer | OpTypeFunction | OpTypeEvent | OpTypeDeviceEvent | OpTypeReserveId | OpTypeQueue | OpTypePipe | OpConstantTrue | OpConstantFalse | OpConstant | OpConstantComposite | OpConstantSampler | OpConstantNull | OpSpecConstantTrue | OpSpecConstantFalse | OpSpecConstant | OpSpecConstantComposite | OpSpecConstantOp | OpVariable | OpImageTexelPointer | OpLoad | OpStore | OpCopyMemory | OpCopyMemorySized | OpAccessChain | OpInBoundsAccessChain | OpPtrAccessChain | OpArrayLength | OpGenericPtrMemSemantics | OpFunction | OpFunctionParameter | OpFunctionEnd | OpFunctionCall | OpSampledImage | OpImageSampleImplicitLod | OpImageSampleExplicitLod | OpImageSampleDrefImplicitLod | OpImageSampleDrefExplicitLod | OpImageSampleProjImplicitLod | OpImageSampleProjExplicitLod | OpImageSampleProjDrefImplicitLod | OpImageSampleProjDrefExplicitLod | OpImageFetch | OpImageGather | OpImageDrefGather | OpImageRead | OpImageWrite | OpImageQueryDim | OpImageQueryFormat | OpImageQueryOrder | OpImageQuerySizeLod | OpImageQuerySize | OpImageQueryLod | OpImageQueryLevels | OpImageQuerySamples | OpConvertFToU | OpConvertFToS | OpConvertSToF | OpConvertUToF | OpUConvert | OpSConvert | OpFConvert | OpQuantizeToF16 | OpConvertPtrToU | OpSatConvertSToU | OpSatConvertUToS | OpConvertUToPtr | OpPtrCastToGeneric | OpGenericCastToPtr | OpGenericCastToPtrExplicit | OpBitcast | OpVectorExtractDynamic | OpVectorInsertDynamic | OpVectorShuffle | OpCompositeConstruct | OpCompositeExtract | OpCompositeInsert | OpCopyObject | OpTranspose | OpSNegate | OpFNegate | OpIAdd | OpFAdd | OpISub | OpFSub | OpIMul | OpFMul | OpUDiv | OpSDiv | OpFDiv | OpUMod | OpSRem | OpSMod | OpFRem | OpFMod | OpVectorTimesScalar | OpMatrixTimesScalar | OpVectorTimesMatrix | OpMatrixTimesVector | OpMatrixTimesMatrix | OpOuterProduct | OpDot | OpIAddCarry | OpISubBorrow | OpIMulExtended | OpShiftRightLogical | OpShiftRightArithmetic | OpShiftLeftLogical | OpBitwiseOr | OpBitwiseXor | OpBitwiseAnd | OpNot | OpBitFieldInsert | OpBitFieldSExtract | OpBitFieldUExtract | OpBitReverse | OpBitCount | OpAny | OpAll | OpIsNan | OpIsInf | OpIsFinite | OpIsNormal | OpSignBitSet | OpLessOrGreater | OpOrdered | OpUnordered | OpLogicalEqual | OpLogicalNotEqual | OpLogicalOr | OpLogicalAnd | OpLogicalNot | OpSelect | OpIEqual | OpINotEqual | OpUGreaterThan | OpSGreaterThan | OpUGreaterThanEqual | OpSGreaterThanEqual | OpULessThan | OpSLessThan | OpULessThanEqual | OpSLessThanEqual | OpFOrdEqual | OpFUnordEqual | OpFOrdNotEqual | OpFUnordNotEqual | OpFOrdLessThan | OpFUnordLessThan | OpFOrdGreaterThan | OpFUnordGreaterThan | OpFOrdLessThanEqual | OpFUnordLessThanEqual | OpFOrdGreaterThanEqual | OpFUnordGreaterThanEqual | OpDPdx | OpDPdy | OpFwidth | OpDPdxFine | OpDPdyFine | OpFwidthFine | OpDPdxCoarse | OpDPdyCoarse | OpFwidthCoarse | OpPhi | OpLoopMerge | OpSelectionMerge | OpLabel | OpBranch | OpBranchConditional | OpSwitch | OpKill | OpReturn | OpReturnValue | OpUnreachable | OpLifetimeStart | OpLifetimeStop | OpAtomicLoad | OpAtomicStore | OpAtomicExchange | OpAtomicCompareExchange | OpAtomicCompareExchangeWeak | OpAtomicIIncrement | OpAtomicIDecrement | OpAtomicIAdd | OpAtomicISub | OpAtomicSMin | OpAtomicUMin | OpAtomicSMax | OpAtomicUMax | OpAtomicAnd | OpAtomicOr | OpAtomicXor | OpEmitVertex | OpEndPrimitive | OpEmitStreamVertex | OpEndStreamPrimitive | OpControlBarrier | OpMemoryBarrier | OpAsyncGroupCopy | OpWaitGroupEvents | OpGroupAll | OpGroupAny | OpGroupBroadcast | OpGroupIAdd | OpGroupFAdd | OpGroupFMin | OpGroupUMin | OpGroupSMin | OpGroupFMax | OpGroupUMax | OpGroupSMax | OpEnqueueMarker | OpEnqueueKernel | OpGetKernelNDrangeSubGroupCount | OpGetKernelNDrangeMaxSubGroupSize | OpGetKernelWorkGroupSize | OpGetKernelPreferredWorkGroupSizeMultiple | OpRetainEvent | OpReleaseEvent | OpCreateUserEvent | OpIsValidEvent | OpSetUserEventStatus | OpCaptureEventProfilingInfo | OpGetDefaultQueue | OpBuildNDRange | OpReadPipe | OpWritePipe | OpReservedReadPipe | OpReservedWritePipe | OpReserveReadPipePackets | OpReserveWritePipePackets | OpCommitReadPipe | OpCommitWritePipe | OpIsValidReserveId | OpGetNumPipePackets | OpGetMaxPipePackets | OpGroupReserveReadPipePackets | OpGroupReserveWritePipePackets | OpGroupCommitReadPipe | OpGroupCommitWritePipe deriving(Read, Show, Eq, Ord) data InstructionSize = Fixed Word16 | Variadic Word16 deriving(Read, Show, Eq) instructionSize :: OpCode -> InstructionSize instructionSize OpNop = Fixed 1 instructionSize OpUndef = Fixed 3 instructionSize OpSource = Fixed 3 instructionSize OpSourceExtension = Variadic 1 instructionSize OpName = Variadic 2 instructionSize OpMemberName = Variadic 3 instructionSize OpString = Variadic 2 instructionSize OpLine = Fixed 5 instructionSize OpDecorate = Variadic 3 instructionSize OpMemberDecorate = Variadic 4 instructionSize OpDecorationGroup = Fixed 2 instructionSize OpGroupDecorate = Variadic 2 instructionSize OpGroupMemberDecorate = Fixed 2 instructionSize OpExtension = Variadic 1 instructionSize OpExtInstImport = Variadic 2 instructionSize OpExtInst = Variadic 5 instructionSize OpMemoryModel = Fixed 3 instructionSize OpEntryPoint = Variadic 3 instructionSize OpExecutionMode = Fixed 3 instructionSize OpCapability = Fixed 2 instructionSize OpTypeVoid = Fixed 2 instructionSize OpTypeBool = Fixed 2 instructionSize OpTypeInt = Fixed 4 instructionSize OpTypeFloat = Fixed 3 instructionSize OpTypeVector = Fixed 4 instructionSize OpTypeMatrix = Fixed 4 instructionSize OpTypeImage = Fixed 9 instructionSize OpTypeSampler = Fixed 2 instructionSize OpTypeSampledImage = Fixed 3 instructionSize OpTypeArray = Fixed 4 instructionSize OpTypeRuntimeArray = Fixed 3 instructionSize OpTypeStruct = Variadic 2 instructionSize OpTypeOpaque = Variadic 2 instructionSize OpTypePointer = Fixed 4 instructionSize OpTypeFunction = Variadic 3 instructionSize OpTypeEvent = Fixed 2 instructionSize OpTypeDeviceEvent = Fixed 2 instructionSize OpTypeReserveId = Fixed 2 instructionSize OpTypeQueue = Fixed 2 instructionSize OpTypePipe = Fixed 4 instructionSize OpConstantTrue = Fixed 3 instructionSize OpConstantFalse = Fixed 3 instructionSize OpConstant = Variadic 3 instructionSize OpConstantComposite = Variadic 3 instructionSize OpConstantSampler = Fixed 6 instructionSize OpConstantNull = Fixed 3 instructionSize OpSpecConstantTrue = Fixed 3 instructionSize OpSpecConstantFalse = Fixed 3 instructionSize OpSpecConstant = Variadic 3 instructionSize OpSpecConstantComposite = Variadic 3 instructionSize OpSpecConstantOp = Variadic 4 instructionSize OpVariable = Variadic 4 instructionSize OpImageTexelPointer = Fixed 6 instructionSize OpLoad = Fixed 4 instructionSize OpStore = Fixed 3 instructionSize OpCopyMemory = Fixed 3 instructionSize OpCopyMemorySized = Fixed 4 instructionSize OpAccessChain = Variadic 4 instructionSize OpInBoundsAccessChain = Variadic 4 instructionSize OpPtrAccessChain = Variadic 5 instructionSize OpArrayLength = Fixed 5 instructionSize OpGenericPtrMemSemantics = Fixed 4 instructionSize OpFunction = Fixed 5 instructionSize OpFunctionParameter = Fixed 3 instructionSize OpFunctionEnd = Fixed 1 instructionSize OpFunctionCall = Variadic 4 instructionSize OpSampledImage = Fixed 5 instructionSize OpImageSampleImplicitLod = Variadic 5 instructionSize OpImageSampleExplicitLod = Variadic 5 instructionSize OpImageSampleDrefImplicitLod = Variadic 6 instructionSize OpImageSampleDrefExplicitLod = Variadic 6 instructionSize OpImageSampleProjImplicitLod = Variadic 5 instructionSize OpImageSampleProjExplicitLod = Variadic 5 instructionSize OpImageSampleProjDrefImplicitLod = Variadic 6 instructionSize OpImageSampleProjDrefExplicitLod = Variadic 6 instructionSize OpImageFetch = Variadic 5 instructionSize OpImageGather = Variadic 6 instructionSize OpImageDrefGather = Variadic 6 instructionSize OpImageRead = Fixed 5 instructionSize OpImageWrite = Fixed 4 instructionSize OpImageQueryDim = Fixed 4 instructionSize OpImageQueryFormat = Fixed 4 instructionSize OpImageQueryOrder = Fixed 4 instructionSize OpImageQuerySizeLod = Fixed 5 instructionSize OpImageQuerySize = Fixed 4 instructionSize OpImageQueryLod = Fixed 5 instructionSize OpImageQueryLevels = Fixed 4 instructionSize OpImageQuerySamples = Fixed 4 instructionSize OpConvertFToU = Fixed 4 instructionSize OpConvertFToS = Fixed 4 instructionSize OpConvertSToF = Fixed 4 instructionSize OpConvertUToF = Fixed 4 instructionSize OpUConvert = Fixed 4 instructionSize OpSConvert = Fixed 4 instructionSize OpFConvert = Fixed 4 instructionSize OpQuantizeToF16 = Fixed 4 instructionSize OpConvertPtrToU = Fixed 4 instructionSize OpSatConvertSToU = Fixed 4 instructionSize OpSatConvertUToS = Fixed 4 instructionSize OpConvertUToPtr = Fixed 4 instructionSize OpPtrCastToGeneric = Fixed 4 instructionSize OpGenericCastToPtr = Fixed 4 instructionSize OpGenericCastToPtrExplicit = Fixed 5 instructionSize OpBitcast = Fixed 4 instructionSize OpVectorExtractDynamic = Fixed 5 instructionSize OpVectorInsertDynamic = Fixed 6 instructionSize OpVectorShuffle = Variadic 5 instructionSize OpCompositeConstruct = Variadic 3 instructionSize OpCompositeExtract = Variadic 4 instructionSize OpCompositeInsert = Variadic 5 instructionSize OpCopyObject = Fixed 4 instructionSize OpTranspose = Fixed 4 instructionSize OpSNegate = Fixed 4 instructionSize OpFNegate = Fixed 4 instructionSize OpIAdd = Fixed 5 instructionSize OpFAdd = Fixed 5 instructionSize OpISub = Fixed 5 instructionSize OpFSub = Fixed 5 instructionSize OpIMul = Fixed 5 instructionSize OpFMul = Fixed 5 instructionSize OpUDiv = Fixed 5 instructionSize OpSDiv = Fixed 5 instructionSize OpFDiv = Fixed 5 instructionSize OpUMod = Fixed 5 instructionSize OpSRem = Fixed 5 instructionSize OpSMod = Fixed 5 instructionSize OpFRem = Fixed 5 instructionSize OpFMod = Fixed 5 instructionSize OpVectorTimesScalar = Fixed 5 instructionSize OpMatrixTimesScalar = Fixed 5 instructionSize OpVectorTimesMatrix = Fixed 5 instructionSize OpMatrixTimesVector = Fixed 5 instructionSize OpMatrixTimesMatrix = Fixed 5 instructionSize OpOuterProduct = Fixed 5 instructionSize OpDot = Fixed 5 instructionSize OpIAddCarry = Fixed 3 instructionSize OpISubBorrow = Fixed 3 instructionSize OpIMulExtended = Fixed 3 instructionSize OpShiftRightLogical = Fixed 5 instructionSize OpShiftRightArithmetic = Fixed 5 instructionSize OpShiftLeftLogical = Fixed 5 instructionSize OpBitwiseOr = Fixed 5 instructionSize OpBitwiseXor = Fixed 5 instructionSize OpBitwiseAnd = Fixed 5 instructionSize OpNot = Fixed 4 instructionSize OpBitFieldInsert = Fixed 7 instructionSize OpBitFieldSExtract = Fixed 6 instructionSize OpBitFieldUExtract = Fixed 6 instructionSize OpBitReverse = Fixed 4 instructionSize OpBitCount = Fixed 4 instructionSize OpAny = Fixed 4 instructionSize OpAll = Fixed 4 instructionSize OpIsNan = Fixed 4 instructionSize OpIsInf = Fixed 4 instructionSize OpIsFinite = Fixed 4 instructionSize OpIsNormal = Fixed 4 instructionSize OpSignBitSet = Fixed 4 instructionSize OpLessOrGreater = Fixed 5 instructionSize OpOrdered = Fixed 5 instructionSize OpUnordered = Fixed 5 instructionSize OpLogicalEqual = Fixed 5 instructionSize OpLogicalNotEqual = Fixed 5 instructionSize OpLogicalOr = Fixed 5 instructionSize OpLogicalAnd = Fixed 5 instructionSize OpLogicalNot = Fixed 4 instructionSize OpSelect = Fixed 6 instructionSize OpIEqual = Fixed 5 instructionSize OpINotEqual = Fixed 5 instructionSize OpUGreaterThan = Fixed 5 instructionSize OpSGreaterThan = Fixed 5 instructionSize OpUGreaterThanEqual = Fixed 5 instructionSize OpSGreaterThanEqual = Fixed 5 instructionSize OpULessThan = Fixed 5 instructionSize OpSLessThan = Fixed 5 instructionSize OpULessThanEqual = Fixed 5 instructionSize OpSLessThanEqual = Fixed 5 instructionSize OpFOrdEqual = Fixed 5 instructionSize OpFUnordEqual = Fixed 5 instructionSize OpFOrdNotEqual = Fixed 5 instructionSize OpFUnordNotEqual = Fixed 5 instructionSize OpFOrdLessThan = Fixed 5 instructionSize OpFUnordLessThan = Fixed 5 instructionSize OpFOrdGreaterThan = Fixed 5 instructionSize OpFUnordGreaterThan = Fixed 5 instructionSize OpFOrdLessThanEqual = Fixed 5 instructionSize OpFUnordLessThanEqual = Fixed 5 instructionSize OpFOrdGreaterThanEqual = Fixed 5 instructionSize OpFUnordGreaterThanEqual = Fixed 5 instructionSize OpDPdx = Fixed 4 instructionSize OpDPdy = Fixed 4 instructionSize OpFwidth = Fixed 4 instructionSize OpDPdxFine = Fixed 4 instructionSize OpDPdyFine = Fixed 4 instructionSize OpFwidthFine = Fixed 4 instructionSize OpDPdxCoarse = Fixed 4 instructionSize OpDPdyCoarse = Fixed 4 instructionSize OpFwidthCoarse = Fixed 4 instructionSize OpPhi = Variadic 3 instructionSize OpLoopMerge = Fixed 3 instructionSize OpSelectionMerge = Fixed 3 instructionSize OpLabel = Fixed 2 instructionSize OpBranch = Fixed 2 instructionSize OpBranchConditional = Variadic 4 instructionSize OpSwitch = Fixed 3 instructionSize OpKill = Fixed 1 instructionSize OpReturn = Fixed 1 instructionSize OpReturnValue = Fixed 2 instructionSize OpUnreachable = Fixed 1 instructionSize OpLifetimeStart = Fixed 3 instructionSize OpLifetimeStop = Fixed 3 instructionSize OpAtomicLoad = Fixed 6 instructionSize OpAtomicStore = Fixed 5 instructionSize OpAtomicExchange = Fixed 7 instructionSize OpAtomicCompareExchange = Fixed 9 instructionSize OpAtomicCompareExchangeWeak = Fixed 9 instructionSize OpAtomicIIncrement = Fixed 6 instructionSize OpAtomicIDecrement = Fixed 6 instructionSize OpAtomicIAdd = Fixed 7 instructionSize OpAtomicISub = Fixed 7 instructionSize OpAtomicSMin = Fixed 7 instructionSize OpAtomicUMin = Fixed 7 instructionSize OpAtomicSMax = Fixed 7 instructionSize OpAtomicUMax = Fixed 7 instructionSize OpAtomicAnd = Fixed 7 instructionSize OpAtomicOr = Fixed 7 instructionSize OpAtomicXor = Fixed 7 instructionSize OpEmitVertex = Fixed 1 instructionSize OpEndPrimitive = Fixed 1 instructionSize OpEmitStreamVertex = Fixed 2 instructionSize OpEndStreamPrimitive = Fixed 2 instructionSize OpControlBarrier = Fixed 4 instructionSize OpMemoryBarrier = Fixed 3 instructionSize OpAsyncGroupCopy = Fixed 9 instructionSize OpWaitGroupEvents = Fixed 4 instructionSize OpGroupAll = Fixed 5 instructionSize OpGroupAny = Fixed 5 instructionSize OpGroupBroadcast = Fixed 6 instructionSize OpGroupIAdd = Fixed 6 instructionSize OpGroupFAdd = Fixed 6 instructionSize OpGroupFMin = Fixed 6 instructionSize OpGroupUMin = Fixed 6 instructionSize OpGroupSMin = Fixed 6 instructionSize OpGroupFMax = Fixed 6 instructionSize OpGroupUMax = Fixed 6 instructionSize OpGroupSMax = Fixed 6 instructionSize OpEnqueueMarker = Fixed 7 instructionSize OpEnqueueKernel = Variadic 13 instructionSize OpGetKernelNDrangeSubGroupCount = Fixed 8 instructionSize OpGetKernelNDrangeMaxSubGroupSize = Fixed 8 instructionSize OpGetKernelWorkGroupSize = Fixed 7 instructionSize OpGetKernelPreferredWorkGroupSizeMultiple = Fixed 7 instructionSize OpRetainEvent = Fixed 2 instructionSize OpReleaseEvent = Fixed 2 instructionSize OpCreateUserEvent = Fixed 3 instructionSize OpIsValidEvent = Fixed 4 instructionSize OpSetUserEventStatus = Fixed 3 instructionSize OpCaptureEventProfilingInfo = Fixed 4 instructionSize OpGetDefaultQueue = Fixed 3 instructionSize OpBuildNDRange = Fixed 6 instructionSize OpReadPipe = Fixed 5 instructionSize OpWritePipe = Fixed 5 instructionSize OpReservedReadPipe = Fixed 7 instructionSize OpReservedWritePipe = Fixed 7 instructionSize OpReserveReadPipePackets = Fixed 5 instructionSize OpReserveWritePipePackets = Fixed 5 instructionSize OpCommitReadPipe = Fixed 3 instructionSize OpCommitWritePipe = Fixed 3 instructionSize OpIsValidReserveId = Fixed 4 instructionSize OpGetNumPipePackets = Fixed 4 instructionSize OpGetMaxPipePackets = Fixed 4 instructionSize OpGroupReserveReadPipePackets = Fixed 6 instructionSize OpGroupReserveWritePipePackets = Fixed 6 instructionSize OpGroupCommitReadPipe = Fixed 4 instructionSize OpGroupCommitWritePipe = Fixed 4 instance SpirEnum OpCode Word16 where toWord OpNop = 0 toWord OpUndef = 1 toWord OpSource = 3 toWord OpSourceExtension = 4 toWord OpName = 5 toWord OpMemberName = 6 toWord OpString = 7 toWord OpLine = 8 toWord OpDecorate = 71 toWord OpMemberDecorate = 72 toWord OpDecorationGroup = 73 toWord OpGroupDecorate = 74 toWord OpGroupMemberDecorate = 75 toWord OpExtension = 10 toWord OpExtInstImport = 11 toWord OpExtInst = 12 toWord OpMemoryModel = 14 toWord OpEntryPoint = 15 toWord OpExecutionMode = 16 toWord OpCapability = 17 toWord OpTypeVoid = 19 toWord OpTypeBool = 20 toWord OpTypeInt = 21 toWord OpTypeFloat = 22 toWord OpTypeVector = 23 toWord OpTypeMatrix = 24 toWord OpTypeImage = 25 toWord OpTypeSampler = 26 toWord OpTypeSampledImage = 27 toWord OpTypeArray = 28 toWord OpTypeRuntimeArray = 29 toWord OpTypeStruct = 30 toWord OpTypeOpaque = 31 toWord OpTypePointer = 32 toWord OpTypeFunction = 33 toWord OpTypeEvent = 34 toWord OpTypeDeviceEvent = 35 toWord OpTypeReserveId = 36 toWord OpTypeQueue = 37 toWord OpTypePipe = 38 toWord OpConstantTrue = 41 toWord OpConstantFalse = 42 toWord OpConstant = 43 toWord OpConstantComposite = 44 toWord OpConstantSampler = 45 toWord OpConstantNull = 46 toWord OpSpecConstantTrue = 48 toWord OpSpecConstantFalse = 49 toWord OpSpecConstant = 50 toWord OpSpecConstantComposite = 51 toWord OpSpecConstantOp = 52 toWord OpVariable = 59 toWord OpImageTexelPointer = 60 toWord OpLoad = 61 toWord OpStore = 62 toWord OpCopyMemory = 63 toWord OpCopyMemorySized = 64 toWord OpAccessChain = 65 toWord OpInBoundsAccessChain = 66 toWord OpPtrAccessChain = 67 toWord OpArrayLength = 68 toWord OpGenericPtrMemSemantics = 69 toWord OpFunction = 54 toWord OpFunctionParameter = 55 toWord OpFunctionEnd = 56 toWord OpFunctionCall = 57 toWord OpSampledImage = 86 toWord OpImageSampleImplicitLod = 87 toWord OpImageSampleExplicitLod = 88 toWord OpImageSampleDrefImplicitLod = 89 toWord OpImageSampleDrefExplicitLod = 90 toWord OpImageSampleProjImplicitLod = 91 toWord OpImageSampleProjExplicitLod = 92 toWord OpImageSampleProjDrefImplicitLod = 93 toWord OpImageSampleProjDrefExplicitLod = 94 toWord OpImageFetch = 95 toWord OpImageGather = 96 toWord OpImageDrefGather = 97 toWord OpImageRead = 98 toWord OpImageWrite = 99 toWord OpImageQueryDim = 100 toWord OpImageQueryFormat = 101 toWord OpImageQueryOrder = 102 toWord OpImageQuerySizeLod = 103 toWord OpImageQuerySize = 104 toWord OpImageQueryLod = 105 toWord OpImageQueryLevels = 106 toWord OpImageQuerySamples = 107 toWord OpConvertFToU = 109 toWord OpConvertFToS = 110 toWord OpConvertSToF = 111 toWord OpConvertUToF = 112 toWord OpUConvert = 113 toWord OpSConvert = 114 toWord OpFConvert = 115 toWord OpQuantizeToF16 = 116 toWord OpConvertPtrToU = 117 toWord OpSatConvertSToU = 118 toWord OpSatConvertUToS = 119 toWord OpConvertUToPtr = 120 toWord OpPtrCastToGeneric = 121 toWord OpGenericCastToPtr = 122 toWord OpGenericCastToPtrExplicit = 123 toWord OpBitcast = 124 toWord OpVectorExtractDynamic = 77 toWord OpVectorInsertDynamic = 78 toWord OpVectorShuffle = 79 toWord OpCompositeConstruct = 80 toWord OpCompositeExtract = 81 toWord OpCompositeInsert = 82 toWord OpCopyObject = 83 toWord OpTranspose = 84 toWord OpSNegate = 126 toWord OpFNegate = 127 toWord OpIAdd = 128 toWord OpFAdd = 129 toWord OpISub = 130 toWord OpFSub = 131 toWord OpIMul = 132 toWord OpFMul = 133 toWord OpUDiv = 134 toWord OpSDiv = 135 toWord OpFDiv = 136 toWord OpUMod = 137 toWord OpSRem = 138 toWord OpSMod = 139 toWord OpFRem = 140 toWord OpFMod = 141 toWord OpVectorTimesScalar = 142 toWord OpMatrixTimesScalar = 143 toWord OpVectorTimesMatrix = 144 toWord OpMatrixTimesVector = 145 toWord OpMatrixTimesMatrix = 146 toWord OpOuterProduct = 147 toWord OpDot = 148 toWord OpIAddCarry = 149 toWord OpISubBorrow = 150 toWord OpIMulExtended = 151 toWord OpShiftRightLogical = 194 toWord OpShiftRightArithmetic = 195 toWord OpShiftLeftLogical = 196 toWord OpBitwiseOr = 197 toWord OpBitwiseXor = 198 toWord OpBitwiseAnd = 199 toWord OpNot = 200 toWord OpBitFieldInsert = 201 toWord OpBitFieldSExtract = 202 toWord OpBitFieldUExtract = 203 toWord OpBitReverse = 204 toWord OpBitCount = 205 toWord OpAny = 154 toWord OpAll = 155 toWord OpIsNan = 156 toWord OpIsInf = 157 toWord OpIsFinite = 158 toWord OpIsNormal = 159 toWord OpSignBitSet = 160 toWord OpLessOrGreater = 161 toWord OpOrdered = 162 toWord OpUnordered = 163 toWord OpLogicalEqual = 164 toWord OpLogicalNotEqual = 165 toWord OpLogicalOr = 166 toWord OpLogicalAnd = 167 toWord OpLogicalNot = 168 toWord OpSelect = 169 toWord OpIEqual = 170 toWord OpINotEqual = 171 toWord OpUGreaterThan = 172 toWord OpSGreaterThan = 173 toWord OpUGreaterThanEqual = 174 toWord OpSGreaterThanEqual = 175 toWord OpULessThan = 176 toWord OpSLessThan = 177 toWord OpULessThanEqual = 178 toWord OpSLessThanEqual = 179 toWord OpFOrdEqual = 180 toWord OpFUnordEqual = 181 toWord OpFOrdNotEqual = 182 toWord OpFUnordNotEqual = 183 toWord OpFOrdLessThan = 184 toWord OpFUnordLessThan = 185 toWord OpFOrdGreaterThan = 186 toWord OpFUnordGreaterThan = 187 toWord OpFOrdLessThanEqual = 188 toWord OpFUnordLessThanEqual = 189 toWord OpFOrdGreaterThanEqual = 190 toWord OpFUnordGreaterThanEqual = 191 toWord OpDPdx = 207 toWord OpDPdy = 208 toWord OpFwidth = 209 toWord OpDPdxFine = 210 toWord OpDPdyFine = 211 toWord OpFwidthFine = 212 toWord OpDPdxCoarse = 213 toWord OpDPdyCoarse = 214 toWord OpFwidthCoarse = 215 toWord OpPhi = 245 toWord OpLoopMerge = 246 toWord OpSelectionMerge = 247 toWord OpLabel = 248 toWord OpBranch = 249 toWord OpBranchConditional = 250 toWord OpSwitch = 251 toWord OpKill = 252 toWord OpReturn = 253 toWord OpReturnValue = 254 toWord OpUnreachable = 255 toWord OpLifetimeStart = 256 toWord OpLifetimeStop = 257 toWord OpAtomicLoad = 227 toWord OpAtomicStore = 228 toWord OpAtomicExchange = 229 toWord OpAtomicCompareExchange = 230 toWord OpAtomicCompareExchangeWeak = 231 toWord OpAtomicIIncrement = 232 toWord OpAtomicIDecrement = 233 toWord OpAtomicIAdd = 234 toWord OpAtomicISub = 235 toWord OpAtomicSMin = 236 toWord OpAtomicUMin = 237 toWord OpAtomicSMax = 238 toWord OpAtomicUMax = 239 toWord OpAtomicAnd = 240 toWord OpAtomicOr = 241 toWord OpAtomicXor = 242 toWord OpEmitVertex = 218 toWord OpEndPrimitive = 219 toWord OpEmitStreamVertex = 220 toWord OpEndStreamPrimitive = 221 toWord OpControlBarrier = 224 toWord OpMemoryBarrier = 225 toWord OpAsyncGroupCopy = 259 toWord OpWaitGroupEvents = 260 toWord OpGroupAll = 261 toWord OpGroupAny = 262 toWord OpGroupBroadcast = 263 toWord OpGroupIAdd = 264 toWord OpGroupFAdd = 265 toWord OpGroupFMin = 266 toWord OpGroupUMin = 267 toWord OpGroupSMin = 268 toWord OpGroupFMax = 269 toWord OpGroupUMax = 270 toWord OpGroupSMax = 271 toWord OpEnqueueMarker = 291 toWord OpEnqueueKernel = 292 toWord OpGetKernelNDrangeSubGroupCount = 293 toWord OpGetKernelNDrangeMaxSubGroupSize = 294 toWord OpGetKernelWorkGroupSize = 295 toWord OpGetKernelPreferredWorkGroupSizeMultiple = 296 toWord OpRetainEvent = 297 toWord OpReleaseEvent = 298 toWord OpCreateUserEvent = 299 toWord OpIsValidEvent = 300 toWord OpSetUserEventStatus = 301 toWord OpCaptureEventProfilingInfo = 302 toWord OpGetDefaultQueue = 303 toWord OpBuildNDRange = 304 toWord OpReadPipe = 274 toWord OpWritePipe = 275 toWord OpReservedReadPipe = 276 toWord OpReservedWritePipe = 277 toWord OpReserveReadPipePackets = 278 toWord OpReserveWritePipePackets = 279 toWord OpCommitReadPipe = 280 toWord OpCommitWritePipe = 281 toWord OpIsValidReserveId = 282 toWord OpGetNumPipePackets = 283 toWord OpGetMaxPipePackets = 284 toWord OpGroupReserveReadPipePackets = 285 toWord OpGroupReserveWritePipePackets = 286 toWord OpGroupCommitReadPipe = 287 toWord OpGroupCommitWritePipe = 288 fromWord 0 = Just OpNop fromWord 1 = Just OpUndef fromWord 3 = Just OpSource fromWord 4 = Just OpSourceExtension fromWord 5 = Just OpName fromWord 6 = Just OpMemberName fromWord 7 = Just OpString fromWord 8 = Just OpLine fromWord 71 = Just OpDecorate fromWord 72 = Just OpMemberDecorate fromWord 73 = Just OpDecorationGroup fromWord 74 = Just OpGroupDecorate fromWord 75 = Just OpGroupMemberDecorate fromWord 10 = Just OpExtension fromWord 11 = Just OpExtInstImport fromWord 12 = Just OpExtInst fromWord 14 = Just OpMemoryModel fromWord 15 = Just OpEntryPoint fromWord 16 = Just OpExecutionMode fromWord 17 = Just OpCapability fromWord 19 = Just OpTypeVoid fromWord 20 = Just OpTypeBool fromWord 21 = Just OpTypeInt fromWord 22 = Just OpTypeFloat fromWord 23 = Just OpTypeVector fromWord 24 = Just OpTypeMatrix fromWord 25 = Just OpTypeImage fromWord 26 = Just OpTypeSampler fromWord 27 = Just OpTypeSampledImage fromWord 28 = Just OpTypeArray fromWord 29 = Just OpTypeRuntimeArray fromWord 30 = Just OpTypeStruct fromWord 31 = Just OpTypeOpaque fromWord 32 = Just OpTypePointer fromWord 33 = Just OpTypeFunction fromWord 34 = Just OpTypeEvent fromWord 35 = Just OpTypeDeviceEvent fromWord 36 = Just OpTypeReserveId fromWord 37 = Just OpTypeQueue fromWord 38 = Just OpTypePipe fromWord 41 = Just OpConstantTrue fromWord 42 = Just OpConstantFalse fromWord 43 = Just OpConstant fromWord 44 = Just OpConstantComposite fromWord 45 = Just OpConstantSampler fromWord 46 = Just OpConstantNull fromWord 48 = Just OpSpecConstantTrue fromWord 49 = Just OpSpecConstantFalse fromWord 50 = Just OpSpecConstant fromWord 51 = Just OpSpecConstantComposite fromWord 52 = Just OpSpecConstantOp fromWord 59 = Just OpVariable fromWord 60 = Just OpImageTexelPointer fromWord 61 = Just OpLoad fromWord 62 = Just OpStore fromWord 63 = Just OpCopyMemory fromWord 64 = Just OpCopyMemorySized fromWord 65 = Just OpAccessChain fromWord 66 = Just OpInBoundsAccessChain fromWord 67 = Just OpPtrAccessChain fromWord 68 = Just OpArrayLength fromWord 69 = Just OpGenericPtrMemSemantics fromWord 54 = Just OpFunction fromWord 55 = Just OpFunctionParameter fromWord 56 = Just OpFunctionEnd fromWord 57 = Just OpFunctionCall fromWord 86 = Just OpSampledImage fromWord 87 = Just OpImageSampleImplicitLod fromWord 88 = Just OpImageSampleExplicitLod fromWord 89 = Just OpImageSampleDrefImplicitLod fromWord 90 = Just OpImageSampleDrefExplicitLod fromWord 91 = Just OpImageSampleProjImplicitLod fromWord 92 = Just OpImageSampleProjExplicitLod fromWord 93 = Just OpImageSampleProjDrefImplicitLod fromWord 94 = Just OpImageSampleProjDrefExplicitLod fromWord 95 = Just OpImageFetch fromWord 96 = Just OpImageGather fromWord 97 = Just OpImageDrefGather fromWord 98 = Just OpImageRead fromWord 99 = Just OpImageWrite fromWord 100 = Just OpImageQueryDim fromWord 101 = Just OpImageQueryFormat fromWord 102 = Just OpImageQueryOrder fromWord 103 = Just OpImageQuerySizeLod fromWord 104 = Just OpImageQuerySize fromWord 105 = Just OpImageQueryLod fromWord 106 = Just OpImageQueryLevels fromWord 107 = Just OpImageQuerySamples fromWord 109 = Just OpConvertFToU fromWord 110 = Just OpConvertFToS fromWord 111 = Just OpConvertSToF fromWord 112 = Just OpConvertUToF fromWord 113 = Just OpUConvert fromWord 114 = Just OpSConvert fromWord 115 = Just OpFConvert fromWord 116 = Just OpQuantizeToF16 fromWord 117 = Just OpConvertPtrToU fromWord 118 = Just OpSatConvertSToU fromWord 119 = Just OpSatConvertUToS fromWord 120 = Just OpConvertUToPtr fromWord 121 = Just OpPtrCastToGeneric fromWord 122 = Just OpGenericCastToPtr fromWord 123 = Just OpGenericCastToPtrExplicit fromWord 124 = Just OpBitcast fromWord 77 = Just OpVectorExtractDynamic fromWord 78 = Just OpVectorInsertDynamic fromWord 79 = Just OpVectorShuffle fromWord 80 = Just OpCompositeConstruct fromWord 81 = Just OpCompositeExtract fromWord 82 = Just OpCompositeInsert fromWord 83 = Just OpCopyObject fromWord 84 = Just OpTranspose fromWord 126 = Just OpSNegate fromWord 127 = Just OpFNegate fromWord 128 = Just OpIAdd fromWord 129 = Just OpFAdd fromWord 130 = Just OpISub fromWord 131 = Just OpFSub fromWord 132 = Just OpIMul fromWord 133 = Just OpFMul fromWord 134 = Just OpUDiv fromWord 135 = Just OpSDiv fromWord 136 = Just OpFDiv fromWord 137 = Just OpUMod fromWord 138 = Just OpSRem fromWord 139 = Just OpSMod fromWord 140 = Just OpFRem fromWord 141 = Just OpFMod fromWord 142 = Just OpVectorTimesScalar fromWord 143 = Just OpMatrixTimesScalar fromWord 144 = Just OpVectorTimesMatrix fromWord 145 = Just OpMatrixTimesVector fromWord 146 = Just OpMatrixTimesMatrix fromWord 147 = Just OpOuterProduct fromWord 148 = Just OpDot fromWord 149 = Just OpIAddCarry fromWord 150 = Just OpISubBorrow fromWord 151 = Just OpIMulExtended fromWord 194 = Just OpShiftRightLogical fromWord 195 = Just OpShiftRightArithmetic fromWord 196 = Just OpShiftLeftLogical fromWord 197 = Just OpBitwiseOr fromWord 198 = Just OpBitwiseXor fromWord 199 = Just OpBitwiseAnd fromWord 200 = Just OpNot fromWord 201 = Just OpBitFieldInsert fromWord 202 = Just OpBitFieldSExtract fromWord 203 = Just OpBitFieldUExtract fromWord 204 = Just OpBitReverse fromWord 205 = Just OpBitCount fromWord 154 = Just OpAny fromWord 155 = Just OpAll fromWord 156 = Just OpIsNan fromWord 157 = Just OpIsInf fromWord 158 = Just OpIsFinite fromWord 159 = Just OpIsNormal fromWord 160 = Just OpSignBitSet fromWord 161 = Just OpLessOrGreater fromWord 162 = Just OpOrdered fromWord 163 = Just OpUnordered fromWord 164 = Just OpLogicalEqual fromWord 165 = Just OpLogicalNotEqual fromWord 166 = Just OpLogicalOr fromWord 167 = Just OpLogicalAnd fromWord 168 = Just OpLogicalNot fromWord 169 = Just OpSelect fromWord 170 = Just OpIEqual fromWord 171 = Just OpINotEqual fromWord 172 = Just OpUGreaterThan fromWord 173 = Just OpSGreaterThan fromWord 174 = Just OpUGreaterThanEqual fromWord 175 = Just OpSGreaterThanEqual fromWord 176 = Just OpULessThan fromWord 177 = Just OpSLessThan fromWord 178 = Just OpULessThanEqual fromWord 179 = Just OpSLessThanEqual fromWord 180 = Just OpFOrdEqual fromWord 181 = Just OpFUnordEqual fromWord 182 = Just OpFOrdNotEqual fromWord 183 = Just OpFUnordNotEqual fromWord 184 = Just OpFOrdLessThan fromWord 185 = Just OpFUnordLessThan fromWord 186 = Just OpFOrdGreaterThan fromWord 187 = Just OpFUnordGreaterThan fromWord 188 = Just OpFOrdLessThanEqual fromWord 189 = Just OpFUnordLessThanEqual fromWord 190 = Just OpFOrdGreaterThanEqual fromWord 191 = Just OpFUnordGreaterThanEqual fromWord 207 = Just OpDPdx fromWord 208 = Just OpDPdy fromWord 209 = Just OpFwidth fromWord 210 = Just OpDPdxFine fromWord 211 = Just OpDPdyFine fromWord 212 = Just OpFwidthFine fromWord 213 = Just OpDPdxCoarse fromWord 214 = Just OpDPdyCoarse fromWord 215 = Just OpFwidthCoarse fromWord 245 = Just OpPhi fromWord 246 = Just OpLoopMerge fromWord 247 = Just OpSelectionMerge fromWord 248 = Just OpLabel fromWord 249 = Just OpBranch fromWord 250 = Just OpBranchConditional fromWord 251 = Just OpSwitch fromWord 252 = Just OpKill fromWord 253 = Just OpReturn fromWord 254 = Just OpReturnValue fromWord 255 = Just OpUnreachable fromWord 256 = Just OpLifetimeStart fromWord 257 = Just OpLifetimeStop fromWord 227 = Just OpAtomicLoad fromWord 228 = Just OpAtomicStore fromWord 229 = Just OpAtomicExchange fromWord 230 = Just OpAtomicCompareExchange fromWord 231 = Just OpAtomicCompareExchangeWeak fromWord 232 = Just OpAtomicIIncrement fromWord 233 = Just OpAtomicIDecrement fromWord 234 = Just OpAtomicIAdd fromWord 235 = Just OpAtomicISub fromWord 236 = Just OpAtomicSMin fromWord 237 = Just OpAtomicUMin fromWord 238 = Just OpAtomicSMax fromWord 239 = Just OpAtomicUMax fromWord 240 = Just OpAtomicAnd fromWord 241 = Just OpAtomicOr fromWord 242 = Just OpAtomicXor fromWord 218 = Just OpEmitVertex fromWord 219 = Just OpEndPrimitive fromWord 220 = Just OpEmitStreamVertex fromWord 221 = Just OpEndStreamPrimitive fromWord 224 = Just OpControlBarrier fromWord 225 = Just OpMemoryBarrier fromWord 259 = Just OpAsyncGroupCopy fromWord 260 = Just OpWaitGroupEvents fromWord 261 = Just OpGroupAll fromWord 262 = Just OpGroupAny fromWord 263 = Just OpGroupBroadcast fromWord 264 = Just OpGroupIAdd fromWord 265 = Just OpGroupFAdd fromWord 266 = Just OpGroupFMin fromWord 267 = Just OpGroupUMin fromWord 268 = Just OpGroupSMin fromWord 269 = Just OpGroupFMax fromWord 270 = Just OpGroupUMax fromWord 271 = Just OpGroupSMax fromWord 291 = Just OpEnqueueMarker fromWord 292 = Just OpEnqueueKernel fromWord 293 = Just OpGetKernelNDrangeSubGroupCount fromWord 294 = Just OpGetKernelNDrangeMaxSubGroupSize fromWord 295 = Just OpGetKernelWorkGroupSize fromWord 296 = Just OpGetKernelPreferredWorkGroupSizeMultiple fromWord 297 = Just OpRetainEvent fromWord 298 = Just OpReleaseEvent fromWord 299 = Just OpCreateUserEvent fromWord 300 = Just OpIsValidEvent fromWord 301 = Just OpSetUserEventStatus fromWord 302 = Just OpCaptureEventProfilingInfo fromWord 303 = Just OpGetDefaultQueue fromWord 304 = Just OpBuildNDRange fromWord 274 = Just OpReadPipe fromWord 275 = Just OpWritePipe fromWord 276 = Just OpReservedReadPipe fromWord 277 = Just OpReservedWritePipe fromWord 278 = Just OpReserveReadPipePackets fromWord 279 = Just OpReserveWritePipePackets fromWord 280 = Just OpCommitReadPipe fromWord 281 = Just OpCommitWritePipe fromWord 282 = Just OpIsValidReserveId fromWord 283 = Just OpGetNumPipePackets fromWord 284 = Just OpGetMaxPipePackets fromWord 285 = Just OpGroupReserveReadPipePackets fromWord 286 = Just OpGroupReserveWritePipePackets fromWord 287 = Just OpGroupCommitReadPipe fromWord 288 = Just OpGroupCommitWritePipe fromWord _ = Nothing requiredCapabilities OpTypeMatrix = [Capability.Matrix] requiredCapabilities OpTypeRuntimeArray = [Capability.Shader] requiredCapabilities OpTypeOpaque = [Capability.Kernel] requiredCapabilities OpTypeEvent = [Capability.Kernel] requiredCapabilities OpTypeDeviceEvent = [Capability.Kernel] requiredCapabilities OpTypeReserveId = [Capability.Pipes] requiredCapabilities OpTypeQueue = [Capability.Kernel] requiredCapabilities OpTypePipe = [Capability.Pipes] requiredCapabilities OpConstantSampler = [Capability.LiteralSampler] requiredCapabilities OpCopyMemorySized = [Capability.Addresses] requiredCapabilities OpPtrAccessChain = [Capability.Addresses] requiredCapabilities OpArrayLength = [Capability.Shader] requiredCapabilities OpGenericPtrMemSemantics = [Capability.Kernel] requiredCapabilities OpImageSampleImplicitLod = [Capability.Shader] requiredCapabilities OpImageSampleDrefImplicitLod = [Capability.Shader] requiredCapabilities OpImageSampleDrefExplicitLod = [Capability.Shader] requiredCapabilities OpImageSampleProjImplicitLod = [Capability.Shader] requiredCapabilities OpImageSampleProjExplicitLod = [Capability.Shader] requiredCapabilities OpImageSampleProjDrefImplicitLod = [Capability.Shader] requiredCapabilities OpImageSampleProjDrefExplicitLod = [Capability.Shader] requiredCapabilities OpImageGather = [Capability.Shader] requiredCapabilities OpImageDrefGather = [Capability.Shader] requiredCapabilities OpImageQueryDim = [Capability.Kernel] requiredCapabilities OpImageQueryFormat = [Capability.Kernel] requiredCapabilities OpImageQueryOrder = [Capability.Kernel] requiredCapabilities OpImageQueryLod = [Capability.Shader] requiredCapabilities OpImageQueryLevels = [Capability.Shader] requiredCapabilities OpImageQuerySamples = [Capability.Shader] requiredCapabilities OpQuantizeToF16 = [Capability.Shader] requiredCapabilities OpConvertPtrToU = [Capability.Addresses] requiredCapabilities OpSatConvertSToU = [Capability.Kernel] requiredCapabilities OpSatConvertUToS = [Capability.Kernel] requiredCapabilities OpConvertUToPtr = [Capability.Addresses] requiredCapabilities OpPtrCastToGeneric = [Capability.Kernel] requiredCapabilities OpGenericCastToPtr = [Capability.Kernel] requiredCapabilities OpGenericCastToPtrExplicit = [Capability.Kernel] requiredCapabilities OpTranspose = [Capability.Matrix] requiredCapabilities OpMatrixTimesScalar = [Capability.Matrix] requiredCapabilities OpVectorTimesMatrix = [Capability.Matrix] requiredCapabilities OpMatrixTimesVector = [Capability.Matrix] requiredCapabilities OpMatrixTimesMatrix = [Capability.Matrix] requiredCapabilities OpOuterProduct = [Capability.Matrix] requiredCapabilities OpBitFieldInsert = [Capability.Shader] requiredCapabilities OpBitFieldSExtract = [Capability.Shader] requiredCapabilities OpBitFieldUExtract = [Capability.Shader] requiredCapabilities OpBitReverse = [Capability.Shader] requiredCapabilities OpIsFinite = [Capability.Kernel] requiredCapabilities OpIsNormal = [Capability.Kernel] requiredCapabilities OpSignBitSet = [Capability.Kernel] requiredCapabilities OpLessOrGreater = [Capability.Kernel] requiredCapabilities OpOrdered = [Capability.Kernel] requiredCapabilities OpUnordered = [Capability.Kernel] requiredCapabilities OpDPdx = [Capability.Shader] requiredCapabilities OpDPdy = [Capability.Shader] requiredCapabilities OpFwidth = [Capability.Shader] requiredCapabilities OpDPdxFine = [Capability.Shader] requiredCapabilities OpDPdyFine = [Capability.Shader] requiredCapabilities OpFwidthFine = [Capability.Shader] requiredCapabilities OpDPdxCoarse = [Capability.Shader] requiredCapabilities OpDPdyCoarse = [Capability.Shader] requiredCapabilities OpFwidthCoarse = [Capability.Shader] requiredCapabilities OpKill = [Capability.Shader] requiredCapabilities OpAtomicCompareExchangeWeak = [Capability.Kernel] requiredCapabilities OpEmitVertex = [Capability.Geometry] requiredCapabilities OpEndPrimitive = [Capability.Geometry] requiredCapabilities OpEmitStreamVertex = [Capability.Geometry] requiredCapabilities OpEndStreamPrimitive = [Capability.Geometry] requiredCapabilities OpAsyncGroupCopy = [Capability.Kernel] requiredCapabilities OpWaitGroupEvents = [Capability.Kernel] requiredCapabilities OpGroupAll = [Capability.Groups] requiredCapabilities OpGroupAny = [Capability.Groups] requiredCapabilities OpGroupBroadcast = [Capability.Groups] requiredCapabilities OpGroupIAdd = [Capability.Groups] requiredCapabilities OpGroupFAdd = [Capability.Groups] requiredCapabilities OpGroupFMin = [Capability.Groups] requiredCapabilities OpGroupUMin = [Capability.Groups] requiredCapabilities OpGroupSMin = [Capability.Groups] requiredCapabilities OpGroupFMax = [Capability.Groups] requiredCapabilities OpGroupUMax = [Capability.Groups] requiredCapabilities OpGroupSMax = [Capability.Groups] requiredCapabilities OpEnqueueMarker = [Capability.DeviceEnqueue] requiredCapabilities OpEnqueueKernel = [Capability.DeviceEnqueue] requiredCapabilities OpGetKernelNDrangeSubGroupCount = [Capability.DeviceEnqueue] requiredCapabilities OpGetKernelNDrangeMaxSubGroupSize = [Capability.DeviceEnqueue] requiredCapabilities OpGetKernelWorkGroupSize = [Capability.DeviceEnqueue] requiredCapabilities OpGetKernelPreferredWorkGroupSizeMultiple = [Capability.DeviceEnqueue] requiredCapabilities OpRetainEvent = [Capability.DeviceEnqueue] requiredCapabilities OpReleaseEvent = [Capability.DeviceEnqueue] requiredCapabilities OpCreateUserEvent = [Capability.DeviceEnqueue] requiredCapabilities OpIsValidEvent = [Capability.DeviceEnqueue] requiredCapabilities OpSetUserEventStatus = [Capability.DeviceEnqueue] requiredCapabilities OpCaptureEventProfilingInfo = [Capability.DeviceEnqueue] requiredCapabilities OpGetDefaultQueue = [Capability.DeviceEnqueue] requiredCapabilities OpBuildNDRange = [Capability.DeviceEnqueue] requiredCapabilities OpReadPipe = [Capability.Pipes] requiredCapabilities OpWritePipe = [Capability.Pipes] requiredCapabilities OpReservedReadPipe = [Capability.Pipes] requiredCapabilities OpReservedWritePipe = [Capability.Pipes] requiredCapabilities OpReserveReadPipePackets = [Capability.Pipes] requiredCapabilities OpReserveWritePipePackets = [Capability.Pipes] requiredCapabilities OpCommitReadPipe = [Capability.Pipes] requiredCapabilities OpCommitWritePipe = [Capability.Pipes] requiredCapabilities OpIsValidReserveId = [Capability.Pipes] requiredCapabilities OpGetNumPipePackets = [Capability.Pipes] requiredCapabilities OpGetMaxPipePackets = [Capability.Pipes] requiredCapabilities OpGroupReserveReadPipePackets = [Capability.Pipes] requiredCapabilities OpGroupReserveWritePipePackets = [Capability.Pipes] requiredCapabilities OpGroupCommitReadPipe = [Capability.Pipes] requiredCapabilities OpGroupCommitWritePipe = [Capability.Pipes] requiredCapabilities _ = []