// Source embedding for SPIR-V core grammar // // This file was carefully generated by a machine, // don't even think about modifying it yourself! // #include "../core/slang-smart-pointer.h" #include "../compiler-core/slang-spirv-core-grammar.h" namespace Slang { using OperandKind = SPIRVCoreGrammarInfo::OperandKind; using QualifiedEnumName = SPIRVCoreGrammarInfo::QualifiedEnumName; using QualifiedEnumValue = SPIRVCoreGrammarInfo::QualifiedEnumValue; static bool lookupSpvOp(const UnownedStringSlice& str, SpvOp& value) { static const unsigned tableSalt[733] = { 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 3, 1, 0, 5, 2, 2, 1, 0, 0, 1, 1, 0, 2, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 2, 1, 9, 4, 0, 1, 0, 1, 4, 2, 0, 4, 1, 8, 3, 0, 0, 1, 2, 1, 4, 2, 0, 3, 9, 3, 2, 1, 1, 0, 2, 0, 0, 1, 0, 0, 2, 0, 0, 1, 1, 8, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 6, 4, 1, 4, 0, 2, 5, 0, 1, 3, 2, 0, 0, 0, 0, 2, 0, 0, 3, 1, 0, 0, 2, 2, 0, 0, 2, 0, 0, 6, 0, 2, 4, 3, 0, 0, 3, 1, 3, 3, 1, 0, 2, 4, 2, 4, 0, 0, 0, 1, 3, 1, 1, 2, 3, 1, 3, 2, 0, 0, 1, 0, 0, 0, 0, 2, 6, 1, 3, 1, 1, 1, 1, 0, 1, 0, 0, 3, 3, 4, 3, 0, 4, 0, 2, 2, 4, 2, 0, 0, 2, 1, 3, 1, 1, 0, 1, 4, 0, 0, 6, 14, 2, 0, 0, 0, 4, 0, 7, 2, 0, 7, 0, 1, 1, 0, 0, 3, 7, 5, 0, 0, 1, 1, 3, 6, 0, 0, 3, 0, 6, 1, 0, 0, 0, 5, 0, 9, 0, 2, 2, 0, 0, 2, 0, 0, 0, 1, 0, 0, 1, 2, 2, 1, 0, 11, 0, 1, 0, 1, 1, 0, 0, 2, 1, 1, 1, 0, 0, 8, 0, 3, 6, 1, 0, 10, 2, 1, 3, 1, 1, 0, 1, 9, 0, 0, 0, 1, 1, 1, 1, 0, 6, 0, 0, 1, 0, 0, 0, 0, 12, 1, 0, 1, 1, 0, 4, 2, 3, 0, 0, 6, 3, 3, 1, 0, 1, 0, 0, 1, 1, 2, 3, 1, 0, 0, 1, 0, 0, 1, 1, 2, 7, 1, 0, 1, 1, 1, 4, 9, 1, 5, 1, 0, 0, 2, 0, 7, 5, 2, 3, 5, 0, 2, 14, 7, 7, 1, 1, 0, 1, 1, 0, 3, 2, 15, 14, 0, 4, 7, 7, 4, 1, 1, 0, 1, 0, 0, 0, 0, 10, 1, 1, 3, 2, 14, 7, 0, 7, 0, 0, 2, 7, 0, 1, 0, 0, 3, 0, 8, 2, 3, 0, 5, 0, 7, 5, 0, 1, 1, 5, 0, 0, 14, 3, 7, 0, 0, 0, 1, 0, 2, 15, 0, 0, 0, 8, 1, 0, 9, 20, 2, 4, 12, 3, 2, 23, 0, 4, 0, 0, 0, 6, 0, 1, 1, 0, 3, 5, 39, 0, 15, 0, 0, 11, 1, 0, 0, 0, 16, 0, 12, 0, 5, 4, 1, 1, 2, 0, 7, 6, 5, 0, 0, 3, 4, 9, 0, 5, 5, 0, 0, 0, 8, 0, 1, 0, 3, 4, 4, 2, 0, 9, 1, 0, 3, 5, 13, 2, 7, 4, 7, 3, 6, 0, 3, 3, 25, 0, 14, 0, 0, 0, 0, 12, 0, 23, 0, 4, 2, 22, 2, 0, 1, 15, 0, 10, 5, 1, 4, 2, 0, 3, 2, 9, 1, 0, 1, 2, 2, 9, 0, 0, 0, 12, 0, 7, 12, 2, 24, 0, 0, 23, 13, 7, 3, 12, 3, 0, 1, 7, 0, 30, 6, 11, 10, 2, 0, 0, 0, 1, 6, 6, 0, 0, 7, 4, 0, 12, 7, 10, 41, 0, 0, 23, 4, 0, 0, 0, 0, 0, 0, 5, 0, 3, 0, 4, 0, 8, 0, 2, 4, 1, 1, 3, 8, 8, 2, 43, 1, 23, 0, 7, 31, 6, 0, 1, 6, 0, 0, 14, 6, 0, 0, 0, 0, 5, 36, 0, 0, 18, 10, 0, 1, 0, 7, 7, 2, 6, 30, 0, 0, 36, 14, 2, 39, 11, 0, 35, 0, 1, 0, 7, 0, 5, 19, 0, 22, 0, 0, 0, 3, 0, 2, 12, 0, 2, 0, 4, 1, 0, 2, 27, 9, 11, 10, 15, 15, 0, 0, 0, 82, 0, 2, 0, 2, 19, 80, 49, 0, 2, 4, 36, 1, 0, 3, 106, 0, 0, 167, 0, 242, 2, 0, 11, 0, 60, 0, 212, 0, 227, 2, 11, 11, 0, 4, 158, 0, 10, 0, 0, 26, 1, 0, 106, 0, 84, 8, 1, 1, 1, 0, 555, 88, 514, 10, 0, 615, 3, 4, 1 }; using KV = std::pair; static const KV words[733] = { {"OpSubgroupAvcImeInitializeINTEL", static_cast(5747)}, {"OpRawAccessChainNV", static_cast(5398)}, {"OpTypeNamedBarrier", static_cast(327)}, {"OpHitObjectRecordHitWithIndexMotionNV", static_cast(5250)}, {"OpGroupNonUniformLogicalXor", static_cast(364)}, {"OpEnqueueKernel", static_cast(292)}, {"OpFUnordLessThan", static_cast(185)}, {"OpHitObjectRecordHitWithIndexNV", static_cast(5262)}, {"OpMaskedScatterINTEL", static_cast(6429)}, {"OpFixedRecipINTEL", static_cast(5924)}, {"OpUMul32x16INTEL", static_cast(5598)}, {"OpReportIntersectionKHR", static_cast(5334)}, {"OpSubgroupBlockReadINTEL", static_cast(5575)}, {"OpTypeReserveId", static_cast(36)}, {"OpAtomicXor", static_cast(242)}, {"OpSGreaterThan", static_cast(173)}, {"OpSubgroupAvcMceGetMotionVectorsINTEL", static_cast(5738)}, {"OpTypeHitObjectNV", static_cast(5281)}, {"OpImageWrite", static_cast(99)}, {"OpGenericCastToPtrExplicit", static_cast(123)}, {"OpGroupBitwiseAndKHR", static_cast(6403)}, {"OpExtInst", static_cast(12)}, {"OpFunctionEnd", static_cast(56)}, {"OpBeginInvocationInterlockEXT", static_cast(5364)}, {"OpSizeOf", static_cast(321)}, {"OpDemoteToHelperInvocationEXT", static_cast(5380)}, {"OpCopyMemory", static_cast(63)}, {"OpGroupNonUniformFMul", static_cast(352)}, {"OpReadPipe", static_cast(274)}, {"OpTypeRuntimeArray", static_cast(29)}, {"OpName", static_cast(5)}, {"OpTypeAvcImePayloadINTEL", static_cast(5701)}, {"OpGroupReserveWritePipePackets", static_cast(286)}, {"OpTypeSampledImage", static_cast(27)}, {"OpSatConvertSToU", static_cast(118)}, {"OpImageSparseTexelsResident", static_cast(316)}, {"OpConstantPipeStorage", static_cast(323)}, {"OpAliasScopeListDeclINTEL", static_cast(5913)}, {"OpSubgroupAnyKHR", static_cast(4429)}, {"OpIAddCarry", static_cast(149)}, {"OpSUDotKHR", static_cast(4452)}, {"OpRayQueryGetIntersectionBarycentricsKHR", static_cast(6024)}, {"OpArbitraryFloatCastFromIntINTEL", static_cast(5842)}, {"OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL", static_cast(5715)}, {"OpArbitraryFloatLogINTEL", static_cast(5860)}, {"OpHitObjectGetShaderRecordBufferHandleNV", static_cast(5257)}, {"OpGroupWaitEvents", static_cast(260)}, {"OpSubgroupFirstInvocationKHR", static_cast(4422)}, {"OpSRem", static_cast(138)}, {"OpGetKernelMaxNumSubgroups", static_cast(326)}, {"OpConstantTrue", static_cast(41)}, {"OpMatrixTimesScalar", static_cast(143)}, {"OpImageBlockMatchSADQCOM", static_cast(4483)}, {"OpSubgroupAvcImeRefWindowSizeINTEL", static_cast(5750)}, {"OpArbitraryFloatLog2INTEL", static_cast(5861)}, {"OpImageSampleImplicitLod", static_cast(87)}, {"OpTypeAvcImeResultSingleReferenceStreamoutINTEL", static_cast(5707)}, {"OpConvertSampledImageToUNV", static_cast(5396)}, {"OpSubgroupAvcSicEvaluateIpeINTEL", static_cast(5803)}, {"OpConstantCompositeContinuedINTEL", static_cast(6091)}, {"OpHitObjectGetRayTMaxNV", static_cast(5274)}, {"OpGroupFAdd", static_cast(265)}, {"OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL", static_cast(5801)}, {"OpFixedExpINTEL", static_cast(5933)}, {"OpImageQueryFormat", static_cast(101)}, {"OpUAverageRoundedINTEL", static_cast(5594)}, {"OpFOrdLessThanEqual", static_cast(188)}, {"OpTraceRayMotionNV", static_cast(5339)}, {"OpISubSatINTEL", static_cast(5595)}, {"OpGroupNonUniformQuadSwap", static_cast(366)}, {"OpFMod", static_cast(141)}, {"OpSubgroupAvcImeSetWeightedSadINTEL", static_cast(5756)}, {"OpBranchConditional", static_cast(250)}, {"OpGroupNonUniformQuadAnyKHR", static_cast(5111)}, {"OpRayQueryGetIntersectionGeometryIndexKHR", static_cast(6022)}, {"OpReservedReadPipe", static_cast(276)}, {"OpVectorExtractDynamic", static_cast(77)}, {"OpOuterProduct", static_cast(147)}, {"OpAssumeTrueKHR", static_cast(5630)}, {"OpGroupNonUniformBroadcast", static_cast(337)}, {"OpCreateUserEvent", static_cast(299)}, {"OpArbitraryFloatCosINTEL", static_cast(5869)}, {"OpSLessThan", static_cast(177)}, {"OpSConvert", static_cast(114)}, {"OpArbitraryFloatCosPiINTEL", static_cast(5872)}, {"OpTraceMotionNV", static_cast(5338)}, {"OpArbitraryFloatCastToIntINTEL", static_cast(5843)}, {"OpConstantSampler", static_cast(45)}, {"OpExtension", static_cast(10)}, {"OpEntryPoint", static_cast(15)}, {"OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL", static_cast(5778)}, {"OpSubgroupAvcImeGetDualReferenceStreaminINTEL", static_cast(5767)}, {"OpGenericCastToPtr", static_cast(122)}, {"OpCapability", static_cast(17)}, {"OpDecorationGroup", static_cast(73)}, {"OpVectorInsertDynamic", static_cast(78)}, {"OpHitObjectRecordHitMotionNV", static_cast(5249)}, {"OpImageQueryLod", static_cast(105)}, {"OpVmeImageINTEL", static_cast(5699)}, {"OpFUnordGreaterThan", static_cast(187)}, {"OpFDiv", static_cast(136)}, {"OpFRem", static_cast(140)}, {"OpRayQueryInitializeKHR", static_cast(4473)}, {"OpArbitraryFloatACosPiINTEL", static_cast(5876)}, {"OpGroupNonUniformBallotFindLSB", static_cast(343)}, {"OpSDotAccSatKHR", static_cast(4453)}, {"OpMatrixTimesVector", static_cast(145)}, {"OpArbitraryFloatLog10INTEL", static_cast(5862)}, {"OpFinalizeNodePayloadsAMDX", static_cast(5075)}, {"OpTraceNV", static_cast(5337)}, {"OpGroupNonUniformInverseBallot", static_cast(340)}, {"OpAliasScopeDeclINTEL", static_cast(5912)}, {"OpGroupIAdd", static_cast(264)}, {"OpSubgroupAvcMceGetInterMinorShapeINTEL", static_cast(5742)}, {"OpReportIntersectionNV", static_cast(5334)}, {"OpArbitraryFloatSinCosPiINTEL", static_cast(5840)}, {"OpSubgroupImageMediaBlockWriteINTEL", static_cast(5581)}, {"OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL", static_cast(5777)}, {"OpGroupFMaxNonUniformAMD", static_cast(5005)}, {"OpTypePointer", static_cast(32)}, {"OpGroupNonUniformBroadcastFirst", static_cast(338)}, {"OpRestoreMemoryINTEL", static_cast(5820)}, {"OpAsmCallINTEL", static_cast(5611)}, {"OpSubgroupAvcRefSetBilinearFilterEnableINTEL", static_cast(5785)}, {"OpAsmINTEL", static_cast(5610)}, {"OpCooperativeMatrixStoreNV", static_cast(5360)}, {"OpGroupNonUniformBallotBitExtract", static_cast(341)}, {"OpReleaseEvent", static_cast(298)}, {"OpImageSparseFetch", static_cast(313)}, {"OpArbitraryFloatLEINTEL", static_cast(5853)}, {"OpWritePipeBlockingINTEL", static_cast(5947)}, {"OpTypePipeStorage", static_cast(322)}, {"OpFixedSinPiINTEL", static_cast(5929)}, {"OpBitcast", static_cast(124)}, {"OpMemberName", static_cast(6)}, {"OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL", static_cast(5768)}, {"OpGroupNonUniformSMin", static_cast(353)}, {"OpLogicalAnd", static_cast(167)}, {"OpFMul", static_cast(133)}, {"OpTypeCooperativeMatrixKHR", static_cast(4456)}, {"OpConvertPtrToU", static_cast(117)}, {"OpCooperativeMatrixLengthKHR", static_cast(4460)}, {"OpGroupNonUniformBallot", static_cast(339)}, {"OpAtomicLoad", static_cast(227)}, {"OpRayQueryGetIntersectionObjectToWorldKHR", static_cast(6031)}, {"OpGroupAny", static_cast(262)}, {"OpRayQueryProceedKHR", static_cast(4477)}, {"OpFixedSqrtINTEL", static_cast(5923)}, {"OpNot", static_cast(200)}, {"OpSubgroupAvcImeAdjustRefOffsetINTEL", static_cast(5751)}, {"OpRayQueryGetIntersectionPrimitiveIndexKHR", static_cast(6023)}, {"OpGroupNonUniformShuffleXor", static_cast(346)}, {"OpCommitWritePipe", static_cast(281)}, {"OpHitObjectGetInstanceIdNV", static_cast(5270)}, {"OpSubgroupAvcSicConfigureIpeLumaINTEL", static_cast(5793)}, {"OpGroupSMin", static_cast(268)}, {"OpCompositeConstructContinuedINTEL", static_cast(6096)}, {"OpArbitraryFloatSinINTEL", static_cast(5868)}, {"OpImageSampleExplicitLod", static_cast(88)}, {"OpTypeFloat", static_cast(22)}, {"OpUCountTrailingZerosINTEL", static_cast(5586)}, {"OpSubgroupAvcMceSetInterShapePenaltyINTEL", static_cast(5716)}, {"OpIAverageRoundedINTEL", static_cast(5593)}, {"OpLoad", static_cast(61)}, {"OpImageRead", static_cast(98)}, {"OpSampledImage", static_cast(86)}, {"OpDecorateStringGOOGLE", static_cast(5632)}, {"OpFwidth", static_cast(209)}, {"OpPtrAccessChain", static_cast(67)}, {"OpSUDotAccSatKHR", static_cast(4455)}, {"OpGroupNonUniformBitwiseXor", static_cast(361)}, {"OpUCountLeadingZerosINTEL", static_cast(5585)}, {"OpSubgroupShuffleDownINTEL", static_cast(5572)}, {"OpHitObjectGetAttributesNV", static_cast(5266)}, {"OpAtomicIAdd", static_cast(234)}, {"OpAccessChain", static_cast(65)}, {"OpRayQueryGenerateIntersectionKHR", static_cast(4475)}, {"OpFunctionCall", static_cast(57)}, {"OpGroupFMulKHR", static_cast(6402)}, {"OpIgnoreIntersectionKHR", static_cast(4448)}, {"OpConvertUToF", static_cast(112)}, {"OpTypeAvcRefPayloadINTEL", static_cast(5702)}, {"OpSubgroupAvcImeSetDualReferenceINTEL", static_cast(5749)}, {"OpTypeQueue", static_cast(37)}, {"OpSubgroupBallotKHR", static_cast(4421)}, {"OpGroupUMin", static_cast(267)}, {"OpTypeRayQueryKHR", static_cast(4472)}, {"OpGetKernelWorkGroupSize", static_cast(295)}, {"OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL", static_cast(5725)}, {"OpSubgroupAvcRefConvertToMcePayloadINTEL", static_cast(5783)}, {"OpImageQuerySize", static_cast(104)}, {"OpLine", static_cast(8)}, {"OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL", static_cast(5729)}, {"OpSubgroupAvcMceGetInterDistortionsINTEL", static_cast(5739)}, {"OpFSub", static_cast(131)}, {"OpPhi", static_cast(245)}, {"OpDPdxCoarse", static_cast(213)}, {"OpImageTexelPointer", static_cast(60)}, {"OpLoopControlINTEL", static_cast(5887)}, {"OpInitializeNodePayloadsAMDX", static_cast(5090)}, {"OpUGreaterThanEqual", static_cast(174)}, {"OpIsInf", static_cast(157)}, {"OpUDotAccSatKHR", static_cast(4454)}, {"OpSubgroupAvcMceSetInterDirectionPenaltyINTEL", static_cast(5718)}, {"OpConstantFunctionPointerINTEL", static_cast(5600)}, {"OpGroupNonUniformBallotBitCount", static_cast(342)}, {"OpSUDotAccSat", static_cast(4455)}, {"OpSubgroupAvcMceGetInterReferenceIdsINTEL", static_cast(5745)}, {"OpFragmentMaskFetchAMD", static_cast(5011)}, {"OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL", static_cast(5762)}, {"OpImage", static_cast(100)}, {"OpSubgroupAvcSicConfigureIpeLumaChromaINTEL", static_cast(5794)}, {"OpImageSparseSampleProjExplicitLod", static_cast(310)}, {"OpArbitraryFloatASinINTEL", static_cast(5873)}, {"OpMemberDecorateString", static_cast(5633)}, {"OpGroupFMinNonUniformAMD", static_cast(5002)}, {"OpInBoundsPtrAccessChain", static_cast(70)}, {"OpUDiv", static_cast(134)}, {"OpHitObjectIsHitNV", static_cast(5277)}, {"OpTypeAvcMceResultINTEL", static_cast(5705)}, {"OpGroupNonUniformAny", static_cast(335)}, {"OpAtomicAnd", static_cast(240)}, {"OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL", static_cast(5713)}, {"OpSelectionMerge", static_cast(247)}, {"OpSubgroupAvcBmeInitializeINTEL", static_cast(5782)}, {"OpImageFetch", static_cast(95)}, {"OpSDotKHR", static_cast(4450)}, {"OpAtomicSMax", static_cast(238)}, {"OpImageSampleProjExplicitLod", static_cast(92)}, {"OpIsValidEvent", static_cast(300)}, {"OpMaskedGatherINTEL", static_cast(6428)}, {"OpTypeAvcImeSingleReferenceStreaminINTEL", static_cast(5709)}, {"OpExtInstImport", static_cast(11)}, {"OpRayQueryGetRayTMinKHR", static_cast(6016)}, {"OpArbitraryFloatMulINTEL", static_cast(5848)}, {"OpGroupAsyncCopy", static_cast(259)}, {"OpGroupNonUniformLogicalAnd", static_cast(362)}, {"OpSubgroupAvcSicConfigureSkcINTEL", static_cast(5792)}, {"OpSubgroupAvcMceGetInterDirectionsINTEL", static_cast(5743)}, {"OpAtomicSMin", static_cast(236)}, {"OpGroupFMin", static_cast(266)}, {"OpFUnordNotEqual", static_cast(183)}, {"OpStore", static_cast(62)}, {"OpRetainEvent", static_cast(297)}, {"OpConvertFToBF16INTEL", static_cast(6116)}, {"OpHitObjectGetObjectRayOriginNV", static_cast(5255)}, {"OpRayQueryGetIntersectionWorldToObjectKHR", static_cast(6032)}, {"OpGroupCommitWritePipe", static_cast(288)}, {"OpSubgroupAvcSicSetBilinearFilterEnableINTEL", static_cast(5800)}, {"OpImageQueryOrder", static_cast(102)}, {"OpExecutionMode", static_cast(16)}, {"OpArbitraryFloatEQINTEL", static_cast(5854)}, {"OpGetMaxPipePackets", static_cast(284)}, {"OpTypeAvcImeResultINTEL", static_cast(5706)}, {"OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL", static_cast(5746)}, {"OpDot", static_cast(148)}, {"OpShiftRightLogical", static_cast(194)}, {"OpIsNormal", static_cast(159)}, {"OpUConvert", static_cast(113)}, {"OpImageSampleProjDrefImplicitLod", static_cast(93)}, {"OpReorderThreadWithHitObjectNV", static_cast(5279)}, {"OpNoLine", static_cast(317)}, {"OpGroupNonUniformIMul", static_cast(351)}, {"OpGroupNonUniformUMax", static_cast(357)}, {"OpMemoryBarrier", static_cast(225)}, {"OpTypeAccelerationStructureKHR", static_cast(5341)}, {"OpExecuteCallableKHR", static_cast(4446)}, {"OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL", static_cast(5798)}, {"OpSpecConstantCompositeContinuedINTEL", static_cast(6092)}, {"OpUMod", static_cast(137)}, {"OpHitObjectGetWorldRayDirectionNV", static_cast(5272)}, {"OpEmitMeshTasksEXT", static_cast(5294)}, {"OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL", static_cast(5780)}, {"OpBitCount", static_cast(205)}, {"OpISub", static_cast(130)}, {"OpUAverageINTEL", static_cast(5592)}, {"OpArbitraryFloatGTINTEL", static_cast(5850)}, {"OpFOrdGreaterThan", static_cast(186)}, {"OpTypeForwardPointer", static_cast(39)}, {"OpBitReverse", static_cast(204)}, {"OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL", static_cast(5771)}, {"OpSignBitSet", static_cast(160)}, {"OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL", static_cast(5802)}, {"OpEmitStreamVertex", static_cast(220)}, {"OpMemberDecorateStringGOOGLE", static_cast(5633)}, {"OpImageSampleDrefExplicitLod", static_cast(90)}, {"OpPtrCastToCrossWorkgroupINTEL", static_cast(5934)}, {"OpReorderThreadWithHintNV", static_cast(5280)}, {"OpRayQueryGetWorldRayDirectionKHR", static_cast(6029)}, {"OpGroupCommitReadPipe", static_cast(287)}, {"OpLogicalNot", static_cast(168)}, {"OpArbitraryFloatPowINTEL", static_cast(5880)}, {"OpCooperativeMatrixLengthNV", static_cast(5362)}, {"OpImageDrefGather", static_cast(97)}, {"OpGroupSMax", static_cast(271)}, {"OpGroupNonUniformBitwiseAnd", static_cast(359)}, {"OpAtomicFMaxEXT", static_cast(5615)}, {"OpSubgroupAvcImeSetSingleReferenceINTEL", static_cast(5748)}, {"OpGroupAll", static_cast(261)}, {"OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL", static_cast(5814)}, {"OpIAverageINTEL", static_cast(5591)}, {"OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL", static_cast(5720)}, {"OpIAddSatINTEL", static_cast(5589)}, {"OpRayQueryGetIntersectionObjectRayOriginKHR", static_cast(6028)}, {"OpUnreachable", static_cast(255)}, {"OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL", static_cast(5721)}, {"OpGroupNonUniformSMax", static_cast(356)}, {"OpArbitraryFloatCastINTEL", static_cast(5841)}, {"OpGenericPtrMemSemantics", static_cast(69)}, {"OpFUnordLessThanEqual", static_cast(189)}, {"OpShiftLeftLogical", static_cast(196)}, {"OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL", static_cast(5815)}, {"OpAtomicFMinEXT", static_cast(5614)}, {"OpGroupNonUniformShuffleDown", static_cast(348)}, {"OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL", static_cast(5772)}, {"OpConvertBF16ToFINTEL", static_cast(6117)}, {"OpControlBarrier", static_cast(224)}, {"OpTranspose", static_cast(84)}, {"OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL", static_cast(5731)}, {"OpWritePackedPrimitiveIndices4x8NV", static_cast(5299)}, {"OpReserveReadPipePackets", static_cast(278)}, {"OpImageBlockMatchWindowSADQCOM", static_cast(4501)}, {"OpControlBarrierArriveINTEL", static_cast(6142)}, {"OpTypeArray", static_cast(28)}, {"OpHitObjectTraceRayMotionNV", static_cast(5256)}, {"OpCompositeInsert", static_cast(82)}, {"OpULessThan", static_cast(176)}, {"OpHitObjectTraceRayNV", static_cast(5260)}, {"OpSDiv", static_cast(135)}, {"OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL", static_cast(5755)}, {"OpLifetimeStop", static_cast(257)}, {"OpSubgroupAvcSicGetMotionVectorMaskINTEL", static_cast(5795)}, {"OpUDotKHR", static_cast(4451)}, {"OpHitObjectIsEmptyNV", static_cast(5276)}, {"OpGroupDecorate", static_cast(74)}, {"OpFixedSinCosINTEL", static_cast(5928)}, {"OpEndPrimitive", static_cast(219)}, {"OpSubgroupAvcRefConvertToMceResultINTEL", static_cast(5790)}, {"OpGroupNonUniformBallotFindMSB", static_cast(344)}, {"OpTypeVmeImageINTEL", static_cast(5700)}, {"OpTypeBool", static_cast(20)}, {"OpSpecConstantOp", static_cast(52)}, {"OpSubgroupAvcMceGetBestInterDistortionsINTEL", static_cast(5740)}, {"OpSubgroupShuffleXorINTEL", static_cast(5574)}, {"OpImageBlockMatchSSDQCOM", static_cast(4482)}, {"OpRayQueryGetIntersectionCandidateAABBOpaqueKHR", static_cast(6026)}, {"OpSetUserEventStatus", static_cast(301)}, {"OpGroupNonUniformRotateKHR", static_cast(4431)}, {"OpFixedCosPiINTEL", static_cast(5930)}, {"OpImageSampleDrefImplicitLod", static_cast(89)}, {"OpDemoteToHelperInvocation", static_cast(5380)}, {"OpSourceContinued", static_cast(2)}, {"OpIsHelperInvocationEXT", static_cast(5381)}, {"OpRayQueryConfirmIntersectionKHR", static_cast(4476)}, {"OpArbitraryFloatSinPiINTEL", static_cast(5871)}, {"OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL", static_cast(5724)}, {"OpConstantNull", static_cast(46)}, {"OpCopyMemorySized", static_cast(64)}, {"OpImageQuerySizeLod", static_cast(103)}, {"OpArbitraryFloatAddINTEL", static_cast(5846)}, {"OpGroupLogicalAndKHR", static_cast(6406)}, {"OpFixedSinCosPiINTEL", static_cast(5931)}, {"OpGroupSMaxNonUniformAMD", static_cast(5007)}, {"OpKill", static_cast(252)}, {"OpModuleProcessed", static_cast(330)}, {"OpConvertSamplerToUNV", static_cast(5394)}, {"OpGroupIAddNonUniformAMD", static_cast(5000)}, {"OpSNegate", static_cast(126)}, {"OpTypeEvent", static_cast(34)}, {"OpVariable", static_cast(59)}, {"OpHitObjectGetCurrentTimeNV", static_cast(5265)}, {"OpSubgroupAvcImeSetMaxMotionVectorCountINTEL", static_cast(5753)}, {"OpAny", static_cast(154)}, {"OpTerminateRayNV", static_cast(5336)}, {"OpSubgroupAvcSicEvaluateWithDualReferenceINTEL", static_cast(5805)}, {"OpGroupNonUniformFAdd", static_cast(350)}, {"OpSGreaterThanEqual", static_cast(175)}, {"OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL", static_cast(5727)}, {"OpIsValidReserveId", static_cast(282)}, {"OpAtomicExchange", static_cast(229)}, {"OpConstant", static_cast(43)}, {"OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL", static_cast(5759)}, {"OpUndef", static_cast(1)}, {"OpGroupNonUniformFMin", static_cast(355)}, {"OpSubgroupShuffleINTEL", static_cast(5571)}, {"OpCooperativeMatrixLoadNV", static_cast(5359)}, {"OpTypeMatrix", static_cast(24)}, {"OpGroupUMax", static_cast(270)}, {"OpImageBlockMatchGatherSSDQCOM", static_cast(4502)}, {"OpBitFieldInsert", static_cast(201)}, {"OpSubgroupBlockWriteINTEL", static_cast(5576)}, {"OpImageSparseDrefGather", static_cast(315)}, {"OpImageSparseRead", static_cast(320)}, {"OpSubgroupAvcSicGetIpeLumaShapeINTEL", static_cast(5809)}, {"OpUDot", static_cast(4451)}, {"OpSubgroupAvcImeGetSingleReferenceStreaminINTEL", static_cast(5766)}, {"OpAtomicFlagTestAndSet", static_cast(318)}, {"OpImageSampleProjImplicitLod", static_cast(91)}, {"OpBitwiseOr", static_cast(197)}, {"OpHitObjectGetHitKindNV", static_cast(5267)}, {"OpSubgroupAvcRefSetBidirectionalMixDisableINTEL", static_cast(5784)}, {"OpGetDefaultQueue", static_cast(303)}, {"OpExecuteCallableNV", static_cast(5344)}, {"OpRayQueryGetIntersectionTKHR", static_cast(6018)}, {"OpDPdyFine", static_cast(211)}, {"OpFPGARegINTEL", static_cast(5949)}, {"OpTypeImage", static_cast(25)}, {"OpSourceExtension", static_cast(4)}, {"OpCopyLogical", static_cast(400)}, {"OpGroupNonUniformShuffleUp", static_cast(347)}, {"OpGroupReserveReadPipePackets", static_cast(285)}, {"OpAtomicISub", static_cast(235)}, {"OpTypeFunction", static_cast(33)}, {"OpHitObjectExecuteShaderNV", static_cast(5264)}, {"OpTypeStructContinuedINTEL", static_cast(6090)}, {"OpImageSparseGather", static_cast(314)}, {"OpFOrdNotEqual", static_cast(182)}, {"OpString", static_cast(7)}, {"OpArbitraryFloatLTINTEL", static_cast(5852)}, {"OpGroupNonUniformQuadAllKHR", static_cast(5110)}, {"OpConvertImageToUNV", static_cast(5393)}, {"OpSpecConstantTrue", static_cast(48)}, {"OpGroupMemberDecorate", static_cast(75)}, {"OpULessThanEqual", static_cast(178)}, {"OpFunctionParameter", static_cast(55)}, {"OpFUnordGreaterThanEqual", static_cast(191)}, {"OpVectorTimesMatrix", static_cast(144)}, {"OpLogicalOr", static_cast(166)}, {"OpSubgroupAvcMceConvertToSicPayloadINTEL", static_cast(5736)}, {"OpRayQueryGetIntersectionTypeKHR", static_cast(4479)}, {"OpArbitraryFloatSinCosINTEL", static_cast(5870)}, {"OpSubgroupImageBlockWriteINTEL", static_cast(5578)}, {"OpMatrixTimesMatrix", static_cast(146)}, {"OpBitFieldSExtract", static_cast(202)}, {"OpHitObjectRecordMissMotionNV", static_cast(5251)}, {"OpConvertUToSampledImageNV", static_cast(5395)}, {"OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL", static_cast(5723)}, {"OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL", static_cast(5722)}, {"OpGroupNonUniformBitwiseOr", static_cast(360)}, {"OpExecutionModeId", static_cast(331)}, {"OpTerminateInvocation", static_cast(4416)}, {"OpTypeAvcImeDualReferenceStreaminINTEL", static_cast(5710)}, {"OpArbitraryFloatExp2INTEL", static_cast(5865)}, {"OpDPdyCoarse", static_cast(214)}, {"OpGroupNonUniformShuffle", static_cast(345)}, {"OpIgnoreIntersectionNV", static_cast(5335)}, {"OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL", static_cast(5811)}, {"OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL", static_cast(5754)}, {"OpTypeAvcSicPayloadINTEL", static_cast(5703)}, {"OpAtomicCompareExchangeWeak", static_cast(231)}, {"OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL", static_cast(5779)}, {"OpFOrdGreaterThanEqual", static_cast(190)}, {"OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL", static_cast(5797)}, {"OpSLessThanEqual", static_cast(179)}, {"OpSubgroupAvcSicConvertToMcePayloadINTEL", static_cast(5796)}, {"OpUAddSatINTEL", static_cast(5590)}, {"OpConvertUToSamplerNV", static_cast(5392)}, {"OpArbitraryFloatSubINTEL", static_cast(5847)}, {"OpGroupNonUniformUMin", static_cast(354)}, {"OpCaptureEventProfilingInfo", static_cast(302)}, {"OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL", static_cast(5774)}, {"OpGroupUMinNonUniformAMD", static_cast(5003)}, {"OpImageQueryLevels", static_cast(106)}, {"OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL", static_cast(5810)}, {"OpINotEqual", static_cast(171)}, {"OpGroupNonUniformQuadBroadcast", static_cast(365)}, {"OpGroupNonUniformAllEqual", static_cast(336)}, {"OpSetMeshOutputsEXT", static_cast(5295)}, {"OpArbitraryFloatExpINTEL", static_cast(5864)}, {"OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL", static_cast(5770)}, {"OpUnordered", static_cast(163)}, {"OpTraceRayKHR", static_cast(4445)}, {"OpConvertUToAccelerationStructureKHR", static_cast(4447)}, {"OpHitObjectGetPrimitiveIndexNV", static_cast(5268)}, {"OpHitObjectGetGeometryIndexNV", static_cast(5269)}, {"OpArbitraryFloatATan2INTEL", static_cast(5879)}, {"OpTypeAvcMcePayloadINTEL", static_cast(5704)}, {"OpUMulExtended", static_cast(151)}, {"OpMemoryNamedBarrier", static_cast(329)}, {"OpGroupLogicalOrKHR", static_cast(6407)}, {"OpArbitraryFloatRSqrtINTEL", static_cast(5856)}, {"OpLoopMerge", static_cast(246)}, {"OpEnqueueMarker", static_cast(291)}, {"OpImageSparseSampleDrefImplicitLod", static_cast(307)}, {"OpGroupNonUniformElect", static_cast(333)}, {"OpImageSampleProjDrefExplicitLod", static_cast(94)}, {"OpRayQueryGetIntersectionInstanceCustomIndexKHR", static_cast(6019)}, {"OpStencilAttachmentReadEXT", static_cast(4162)}, {"OpImageGather", static_cast(96)}, {"OpGroupLogicalXorKHR", static_cast(6408)}, {"OpConvertUToImageNV", static_cast(5391)}, {"OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL", static_cast(5807)}, {"OpSDotAccSat", static_cast(4453)}, {"OpFixedRsqrtINTEL", static_cast(5925)}, {"OpRayQueryGetIntersectionObjectRayDirectionKHR", static_cast(6027)}, {"OpIMul", static_cast(132)}, {"OpAtomicIDecrement", static_cast(233)}, {"OpReadClockKHR", static_cast(5056)}, {"OpIMul32x16INTEL", static_cast(5597)}, {"OpSatConvertUToS", static_cast(119)}, {"OpAtomicFlagClear", static_cast(319)}, {"OpAll", static_cast(155)}, {"OpHitObjectIsMissNV", static_cast(5278)}, {"OpCompositeExtract", static_cast(81)}, {"OpReturn", static_cast(253)}, {"OpDPdxFine", static_cast(210)}, {"OpSubgroupAvcImeGetBorderReachedINTEL", static_cast(5776)}, {"OpTerminateRayKHR", static_cast(4449)}, {"OpImageBlockMatchWindowSSDQCOM", static_cast(4500)}, {"OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL", static_cast(5717)}, {"OpArbitraryFloatDivINTEL", static_cast(5849)}, {"OpArbitraryFloatExpm1INTEL", static_cast(5867)}, {"OpAtomicFAddEXT", static_cast(6035)}, {"OpSMulExtended", static_cast(152)}, {"OpFNegate", static_cast(127)}, {"OpGroupNonUniformLogicalOr", static_cast(363)}, {"OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL", static_cast(5788)}, {"OpAsmTargetINTEL", static_cast(5609)}, {"OpBitFieldUExtract", static_cast(203)}, {"OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL", static_cast(5714)}, {"OpFwidthCoarse", static_cast(215)}, {"OpSubgroupAvcMceGetInterMotionVectorCountINTEL", static_cast(5744)}, {"OpNop", static_cast(0)}, {"OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL", static_cast(5726)}, {"OpTypeVoid", static_cast(19)}, {"OpSubgroupAvcFmeInitializeINTEL", static_cast(5781)}, {"OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL", static_cast(5773)}, {"OpISubBorrow", static_cast(150)}, {"OpImageBoxFilterQCOM", static_cast(4481)}, {"OpGroupNonUniformAll", static_cast(334)}, {"OpEndInvocationInterlockEXT", static_cast(5365)}, {"OpTypeCooperativeMatrixNV", static_cast(5358)}, {"OpLessOrGreater", static_cast(161)}, {"OpImageBlockMatchGatherSADQCOM", static_cast(4503)}, {"OpArbitraryFloatCbrtINTEL", static_cast(5857)}, {"OpDecorate", static_cast(71)}, {"OpNamedBarrierInitialize", static_cast(328)}, {"OpHitObjectGetShaderBindingTableRecordIndexNV", static_cast(5258)}, {"OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR", static_cast(6021)}, {"OpDecorateString", static_cast(5632)}, {"OpBranch", static_cast(249)}, {"OpIsNan", static_cast(156)}, {"OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL", static_cast(5760)}, {"OpTypeAvcImeResultDualReferenceStreamoutINTEL", static_cast(5708)}, {"OpExpectKHR", static_cast(5631)}, {"OpFunction", static_cast(54)}, {"OpArbitraryFloatGEINTEL", static_cast(5851)}, {"OpTypeStruct", static_cast(30)}, {"OpImageSampleWeightedQCOM", static_cast(4480)}, {"OpCooperativeMatrixStoreKHR", static_cast(4458)}, {"OpSubgroupAvcSicInitializeINTEL", static_cast(5791)}, {"OpFixedCosINTEL", static_cast(5927)}, {"OpAtomicIIncrement", static_cast(232)}, {"OpConvertSToF", static_cast(111)}, {"OpSpecConstant", static_cast(50)}, {"OpGroupBroadcast", static_cast(263)}, {"OpConstantComposite", static_cast(44)}, {"OpUDotAccSat", static_cast(4454)}, {"OpTypeAvcRefResultINTEL", static_cast(5711)}, {"OpHitObjectRecordHitNV", static_cast(5261)}, {"OpLogicalEqual", static_cast(164)}, {"OpFOrdEqual", static_cast(180)}, {"OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL", static_cast(5764)}, {"OpTypeBufferSurfaceINTEL", static_cast(6086)}, {"OpCopyObject", static_cast(83)}, {"OpSelect", static_cast(169)}, {"OpIEqual", static_cast(170)}, {"OpControlBarrierWaitINTEL", static_cast(6143)}, {"OpArbitraryFloatASinPiINTEL", static_cast(5874)}, {"OpArbitraryFloatSqrtINTEL", static_cast(5859)}, {"OpFinishWritingNodePayloadAMDX", static_cast(5078)}, {"OpGroupFAddNonUniformAMD", static_cast(5001)}, {"OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL", static_cast(5799)}, {"OpGetKernelLocalSizeForSubgroupCount", static_cast(325)}, {"OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL", static_cast(5761)}, {"OpFAdd", static_cast(129)}, {"OpTypeAccelerationStructureNV", static_cast(5341)}, {"OpSubgroupAvcRefEvaluateWithDualReferenceINTEL", static_cast(5787)}, {"OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL", static_cast(5789)}, {"OpArbitraryFloatHypotINTEL", static_cast(5858)}, {"OpTypeInt", static_cast(21)}, {"OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL", static_cast(5757)}, {"OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL", static_cast(5730)}, {"OpPtrDiff", static_cast(403)}, {"OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL", static_cast(5786)}, {"OpColorAttachmentReadEXT", static_cast(4160)}, {"OpWritePipe", static_cast(275)}, {"OpRayQueryGetIntersectionFrontFaceKHR", static_cast(6025)}, {"OpGroupUMaxNonUniformAMD", static_cast(5006)}, {"OpMemberDecorate", static_cast(72)}, {"OpCommitReadPipe", static_cast(280)}, {"OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL", static_cast(5763)}, {"OpCrossWorkgroupCastToPtrINTEL", static_cast(5938)}, {"OpFetchMicroTriangleVertexBarycentricNV", static_cast(5301)}, {"OpImageSparseSampleProjImplicitLod", static_cast(309)}, {"OpSubgroupAvcMceGetInterMajorShapeINTEL", static_cast(5741)}, {"OpBitwiseXor", static_cast(198)}, {"OpArbitraryFloatPowRINTEL", static_cast(5881)}, {"OpQuantizeToF16", static_cast(116)}, {"OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL", static_cast(5775)}, {"OpGroupSMinNonUniformAMD", static_cast(5004)}, {"OpSubgroupImageBlockReadINTEL", static_cast(5577)}, {"OpFragmentFetchAMD", static_cast(5012)}, {"OpLabel", static_cast(248)}, {"OpDepthAttachmentReadEXT", static_cast(4161)}, {"OpFixedLogINTEL", static_cast(5932)}, {"OpCompositeConstruct", static_cast(80)}, {"OpEndStreamPrimitive", static_cast(221)}, {"OpEmitVertex", static_cast(218)}, {"OpHitObjectGetInstanceCustomIndexNV", static_cast(5271)}, {"OpRayQueryGetIntersectionTriangleVertexPositionsKHR", static_cast(5340)}, {"OpBitwiseAnd", static_cast(199)}, {"OpGroupBitwiseXorKHR", static_cast(6405)}, {"OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL", static_cast(5804)}, {"OpImageSampleFootprintNV", static_cast(5283)}, {"OpSubgroupAvcMceConvertToImeResultINTEL", static_cast(5733)}, {"OpUGreaterThan", static_cast(172)}, {"OpVectorTimesScalar", static_cast(142)}, {"OpGetKernelPreferredWorkGroupSizeMultiple", static_cast(296)}, {"OpCooperativeMatrixMulAddKHR", static_cast(4459)}, {"OpRayQueryGetIntersectionInstanceIdKHR", static_cast(6020)}, {"OpCooperativeMatrixLoadKHR", static_cast(4457)}, {"OpLogicalNotEqual", static_cast(165)}, {"OpHitObjectGetRayTMinNV", static_cast(5275)}, {"OpSubgroupAvcMceConvertToRefResultINTEL", static_cast(5735)}, {"OpReturnValue", static_cast(254)}, {"OpSubgroupAllKHR", static_cast(4428)}, {"OpInBoundsAccessChain", static_cast(66)}, {"OpPtrCastToGeneric", static_cast(121)}, {"OpIsFinite", static_cast(158)}, {"OpShiftRightArithmetic", static_cast(195)}, {"OpIAdd", static_cast(128)}, {"OpImageSparseSampleExplicitLod", static_cast(306)}, {"OpSubgroupShuffleUpINTEL", static_cast(5573)}, {"OpAtomicUMax", static_cast(239)}, {"OpSubgroupAvcSicConvertToMceResultINTEL", static_cast(5808)}, {"OpGroupIMulKHR", static_cast(6401)}, {"OpGetKernelNDrangeSubGroupCount", static_cast(293)}, {"OpSamplerImageAddressingModeNV", static_cast(5397)}, {"OpSubgroupAvcSicGetIpeChromaModeINTEL", static_cast(5813)}, {"OpCreatePipeFromPipeStorage", static_cast(324)}, {"OpImageSparseSampleProjDrefExplicitLod", static_cast(312)}, {"OpMemoryModel", static_cast(14)}, {"OpAtomicOr", static_cast(241)}, {"OpDecorateId", static_cast(332)}, {"OpDPdx", static_cast(207)}, {"OpSubgroupAvcSicGetInterRawSadsINTEL", static_cast(5816)}, {"OpFwidthFine", static_cast(212)}, {"OpSubgroupAvcMceSetAcOnlyHaarINTEL", static_cast(5728)}, {"OpRayQueryGetRayFlagsKHR", static_cast(6017)}, {"OpTypeOpaque", static_cast(31)}, {"OpArbitraryFloatPowNINTEL", static_cast(5882)}, {"OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL", static_cast(5806)}, {"OpHitObjectGetWorldRayOriginNV", static_cast(5273)}, {"OpSubgroupAvcImeConvertToMceResultINTEL", static_cast(5765)}, {"OpGroupFMax", static_cast(269)}, {"OpSDot", static_cast(4450)}, {"OpSubgroupAvcImeEvaluateWithDualReferenceINTEL", static_cast(5758)}, {"OpAtomicUMin", static_cast(237)}, {"OpAliasDomainDeclINTEL", static_cast(5911)}, {"OpGroupNonUniformIAdd", static_cast(349)}, {"OpImageSparseSampleImplicitLod", static_cast(305)}, {"OpPtrNotEqual", static_cast(402)}, {"OpConstantFalse", static_cast(42)}, {"OpConvertFToS", static_cast(110)}, {"OpSwitch", static_cast(251)}, {"OpAtomicStore", static_cast(228)}, {"OpHitObjectGetObjectRayDirectionNV", static_cast(5254)}, {"OpSource", static_cast(3)}, {"OpHitObjectGetWorldToObjectNV", static_cast(5252)}, {"OpConvertFToU", static_cast(109)}, {"OpImageQuerySamples", static_cast(107)}, {"OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL", static_cast(5719)}, {"OpPtrEqual", static_cast(401)}, {"OpFUnordEqual", static_cast(181)}, {"OpRayQueryGetWorldRayOriginKHR", static_cast(6030)}, {"OpSubgroupAvcMceConvertToSicResultINTEL", static_cast(5737)}, {"OpOrdered", static_cast(162)}, {"OpTypeAvcSicResultINTEL", static_cast(5712)}, {"OpHitObjectGetObjectToWorldNV", static_cast(5253)}, {"OpRayQueryTerminateKHR", static_cast(4474)}, {"OpGroupBitwiseOrKHR", static_cast(6404)}, {"OpFixedSinINTEL", static_cast(5926)}, {"OpConvertUToPtr", static_cast(120)}, {"OpSubgroupImageMediaBlockReadINTEL", static_cast(5580)}, {"OpFConvert", static_cast(115)}, {"OpArbitraryFloatATanINTEL", static_cast(5877)}, {"OpArbitraryFloatLog1pINTEL", static_cast(5863)}, {"OpSubgroupAllEqualKHR", static_cast(4430)}, {"OpFetchMicroTriangleVertexPositionNV", static_cast(5300)}, {"OpGroupNonUniformPartitionNV", static_cast(5296)}, {"OpSubgroupAvcMceConvertToRefPayloadINTEL", static_cast(5734)}, {"OpTypeDeviceEvent", static_cast(35)}, {"OpGetNumPipePackets", static_cast(283)}, {"OpFunctionPointerCallINTEL", static_cast(5601)}, {"OpReadPipeBlockingINTEL", static_cast(5946)}, {"OpArbitraryFloatExp10INTEL", static_cast(5866)}, {"OpDPdy", static_cast(208)}, {"OpSpecConstantComposite", static_cast(51)}, {"OpArbitraryFloatRecipINTEL", static_cast(5855)}, {"OpAbsISubINTEL", static_cast(5587)}, {"OpSubgroupAvcImeConvertToMcePayloadINTEL", static_cast(5752)}, {"OpReservedWritePipe", static_cast(277)}, {"OpBuildNDRange", static_cast(304)}, {"OpImageSparseSampleDrefExplicitLod", static_cast(308)}, {"OpUSubSatINTEL", static_cast(5596)}, {"OpVectorShuffle", static_cast(79)}, {"OpArbitraryFloatATanPiINTEL", static_cast(5878)}, {"OpSUDot", static_cast(4452)}, {"OpTypeVector", static_cast(23)}, {"OpSubgroupAvcSicGetPackedIpeLumaModesINTEL", static_cast(5812)}, {"OpSaveMemoryINTEL", static_cast(5819)}, {"OpSubgroupAvcMceConvertToImePayloadINTEL", static_cast(5732)}, {"OpTypePipe", static_cast(38)}, {"OpSpecConstantFalse", static_cast(49)}, {"OpAbsUSubINTEL", static_cast(5588)}, {"OpHitObjectRecordEmptyNV", static_cast(5259)}, {"OpTypeSampler", static_cast(26)}, {"OpHitObjectRecordMissNV", static_cast(5263)}, {"OpSMod", static_cast(139)}, {"OpFOrdLessThan", static_cast(184)}, {"OpArbitraryFloatACosINTEL", static_cast(5875)}, {"OpReserveWritePipePackets", static_cast(279)}, {"OpLifetimeStart", static_cast(256)}, {"OpImageSparseSampleProjDrefImplicitLod", static_cast(311)}, {"OpAtomicCompareExchange", static_cast(230)}, {"OpArrayLength", static_cast(68)}, {"OpSubgroupAvcImeStripDualReferenceStreamoutINTEL", static_cast(5769)}, {"OpCooperativeMatrixMulAddNV", static_cast(5361)}, {"OpGroupNonUniformFMax", static_cast(358)}, {"OpSubgroupReadInvocationKHR", static_cast(4432)}, {"OpVariableLengthArrayINTEL", static_cast(5818)}, {"OpGetKernelNDrangeMaxSubGroupSize", static_cast(294)}, }; static const auto hash = [](const UnownedStringSlice& str, UInt32 salt){ UInt32 h = salt; for (const char c : str) h = (h * 0x01000193) ^ c; return h % 733; }; const auto i = hash(str, tableSalt[hash(str, 0)]); if(str == words[i].first) { value = words[i].second; return true; } else { return false; } } static bool lookupSpvCapability(const UnownedStringSlice& str, SpvCapability& value) { static const unsigned tableSalt[259] = { 4, 3, 0, 13, 1, 0, 0, 1, 1, 7, 4, 0, 0, 3, 2, 1, 1, 0, 3, 1, 2, 0, 3, 0, 5, 0, 1, 1, 1, 2, 1, 0, 1, 4, 2, 4, 0, 1, 3, 1, 2, 2, 2, 3, 1, 2, 2, 0, 0, 0, 2, 0, 0, 1, 0, 5, 0, 0, 0, 1, 1, 2, 0, 2, 2, 6, 7, 1, 3, 3, 0, 0, 0, 0, 2, 0, 11, 3, 0, 2, 1, 5, 0, 1, 0, 0, 1, 0, 4, 0, 0, 3, 2, 12, 3, 0, 1, 1, 0, 7, 0, 6, 12, 0, 8, 3, 0, 1, 0, 6, 2, 3, 0, 1, 14, 2, 0, 4, 2, 0, 1, 4, 0, 0, 3, 0, 0, 2, 1, 6, 6, 0, 0, 1, 1, 8, 1, 0, 0, 18, 6, 1, 2, 0, 0, 0, 2, 0, 2, 2, 1, 0, 4, 0, 0, 0, 0, 0, 13, 0, 1, 5, 0, 5, 0, 2, 4, 8, 0, 1, 0, 16, 1, 0, 14, 3, 0, 1, 0, 5, 6, 1, 8, 1, 12, 14, 0, 1, 16, 0, 3, 0, 30, 2, 0, 2, 0, 0, 3, 6, 24, 1, 4, 0, 22, 1, 6, 1, 8, 48, 0, 6, 0, 0, 5, 2, 0, 46, 0, 4, 1, 0, 0, 6, 3, 0, 21, 6, 30, 0, 2, 0, 0, 0, 8, 2, 17, 6, 40, 0, 49, 52, 1, 0, 3, 0, 0, 0, 93, 143, 68, 8, 5, 0, 0, 45, 1, 22, 858 }; using KV = std::pair; static const KV words[259] = { {"RuntimeDescriptorArray", static_cast(5302)}, {"TextureSampleWeightedQCOM", static_cast(4484)}, {"DotProductInput4x8BitPackedKHR", static_cast(6018)}, {"Int64Atomics", static_cast(12)}, {"DeviceGroup", static_cast(4437)}, {"DotProductInputAll", static_cast(6016)}, {"AtomicFloat64AddEXT", static_cast(6034)}, {"DotProduct", static_cast(6019)}, {"ImageMSArray", static_cast(48)}, {"GlobalVariableFPGADecorationsINTEL", static_cast(6189)}, {"FPGADSPControlINTEL", static_cast(5908)}, {"GroupNonUniformClustered", static_cast(67)}, {"AtomicStorageOps", static_cast(4445)}, {"LongCompositesINTEL", static_cast(6089)}, {"SampleRateShading", static_cast(35)}, {"Int64ImageEXT", static_cast(5016)}, {"UniformAndStorageBuffer8BitAccess", static_cast(4449)}, {"SampledImageArrayDynamicIndexing", static_cast(29)}, {"CoreBuiltinsARM", static_cast(4165)}, {"FPGAKernelAttributesv2INTEL", static_cast(6161)}, {"DrawParameters", static_cast(4427)}, {"FPMaxErrorINTEL", static_cast(6169)}, {"RoundingModeRTZ", static_cast(4468)}, {"TransformFeedback", static_cast(53)}, {"DenormPreserve", static_cast(4464)}, {"DemoteToHelperInvocationEXT", static_cast(5379)}, {"ArbitraryPrecisionFixedPointINTEL", static_cast(5922)}, {"SubgroupShuffleINTEL", static_cast(5568)}, {"BlockingPipesINTEL", static_cast(5945)}, {"AtomicFloat64MinMaxEXT", static_cast(5613)}, {"FPGABufferLocationINTEL", static_cast(5920)}, {"GroupUniformArithmeticKHR", static_cast(6400)}, {"StencilExportEXT", static_cast(5013)}, {"InputAttachmentArrayDynamicIndexing", static_cast(5303)}, {"AtomicFloat16AddEXT", static_cast(6095)}, {"StorageBuffer8BitAccess", static_cast(4448)}, {"FragmentShadingRateKHR", static_cast(4422)}, {"Float16", static_cast(9)}, {"DotProductInputAllKHR", static_cast(6016)}, {"PipeStorage", static_cast(60)}, {"DeviceEnqueue", static_cast(19)}, {"GroupNonUniform", static_cast(61)}, {"SubgroupImageBlockIOINTEL", static_cast(5570)}, {"StorageBufferArrayNonUniformIndexingEXT", static_cast(5308)}, {"ShaderStereoViewNV", static_cast(5259)}, {"AtomicFloat32MinMaxEXT", static_cast(5612)}, {"RayTracingKHR", static_cast(4479)}, {"BFloat16ConversionINTEL", static_cast(6115)}, {"UniformBufferArrayDynamicIndexing", static_cast(28)}, {"ShaderViewportMaskNV", static_cast(5255)}, {"FragmentBarycentricKHR", static_cast(5284)}, {"GlobalVariableHostAccessINTEL", static_cast(6187)}, {"MultiViewport", static_cast(57)}, {"StorageImageArrayDynamicIndexing", static_cast(31)}, {"SubgroupImageMediaBlockIOINTEL", static_cast(5579)}, {"SampledCubeArray", static_cast(45)}, {"StorageUniformBufferBlock16", static_cast(4433)}, {"DotProductKHR", static_cast(6019)}, {"InterpolationFunction", static_cast(52)}, {"SignedZeroInfNanPreserve", static_cast(4466)}, {"UniformAndStorageBuffer16BitAccess", static_cast(4434)}, {"Int8", static_cast(39)}, {"ImageReadWrite", static_cast(14)}, {"TileImageColorReadAccessEXT", static_cast(4166)}, {"VariablePointersStorageBuffer", static_cast(4441)}, {"Float16Buffer", static_cast(8)}, {"DerivativeControl", static_cast(51)}, {"ImageFootprintNV", static_cast(5282)}, {"InputAttachmentArrayNonUniformIndexingEXT", static_cast(5310)}, {"GroupNonUniformArithmetic", static_cast(63)}, {"WorkgroupMemoryExplicitLayout16BitAccessKHR", static_cast(4430)}, {"GroupNonUniformQuad", static_cast(68)}, {"MeshShadingEXT", static_cast(5283)}, {"SparseResidency", static_cast(41)}, {"ShaderViewportIndexLayerEXT", static_cast(5254)}, {"ClipDistance", static_cast(32)}, {"GeometryStreams", static_cast(54)}, {"StorageImageReadWithoutFormat", static_cast(55)}, {"SampledBuffer", static_cast(46)}, {"UniformTexelBufferArrayNonUniformIndexingEXT", static_cast(5311)}, {"StorageTexelBufferArrayNonUniformIndexing", static_cast(5312)}, {"LoopFuseINTEL", static_cast(5906)}, {"IOPipesINTEL", static_cast(5943)}, {"ImageCubeArray", static_cast(34)}, {"PhysicalStorageBufferAddresses", static_cast(5347)}, {"Vector16", static_cast(7)}, {"InputAttachment", static_cast(40)}, {"VulkanMemoryModelDeviceScopeKHR", static_cast(5346)}, {"StorageImageExtendedFormats", static_cast(49)}, {"ImageRect", static_cast(36)}, {"VariableLengthArrayINTEL", static_cast(5817)}, {"RayTracingOpacityMicromapEXT", static_cast(5381)}, {"GroupNonUniformVote", static_cast(62)}, {"AtomicFloat16VectorNV", static_cast(5404)}, {"SubgroupAvcMotionEstimationIntraINTEL", static_cast(5697)}, {"AtomicFloat16MinMaxEXT", static_cast(5616)}, {"DenormFlushToZero", static_cast(4465)}, {"FloatingPointModeINTEL", static_cast(5583)}, {"DotProductInput4x8BitPacked", static_cast(6018)}, {"FPGAClusterAttributesINTEL", static_cast(5904)}, {"RayTracingPositionFetchKHR", static_cast(5336)}, {"Float16ImageAMD", static_cast(5008)}, {"FunctionFloatControlINTEL", static_cast(5821)}, {"RayTracingMotionBlurNV", static_cast(5341)}, {"TessellationPointSize", static_cast(23)}, {"VectorComputeINTEL", static_cast(5617)}, {"FPGAMemoryAttributesINTEL", static_cast(5824)}, {"USMStorageClassesINTEL", static_cast(5935)}, {"FPFastMathModeINTEL", static_cast(5837)}, {"GroupNonUniformShuffleRelative", static_cast(66)}, {"CooperativeMatrixKHR", static_cast(6022)}, {"StorageTexelBufferArrayNonUniformIndexingEXT", static_cast(5312)}, {"BitInstructions", static_cast(6025)}, {"FragmentBarycentricNV", static_cast(5284)}, {"IntegerFunctions2INTEL", static_cast(5584)}, {"RuntimeDescriptorArrayEXT", static_cast(5302)}, {"StorageUniform16", static_cast(4434)}, {"FPGAArgumentInterfacesINTEL", static_cast(6174)}, {"ShadingRateNV", static_cast(5291)}, {"RegisterLimitsINTEL", static_cast(6460)}, {"ShaderViewportIndexLayerNV", static_cast(5254)}, {"WorkgroupMemoryExplicitLayout8BitAccessKHR", static_cast(4429)}, {"Tessellation", static_cast(3)}, {"MultiView", static_cast(4439)}, {"Geometry", static_cast(2)}, {"DemoteToHelperInvocation", static_cast(5379)}, {"KernelAttributesINTEL", static_cast(5892)}, {"TextureBoxFilterQCOM", static_cast(4485)}, {"TileImageDepthReadAccessEXT", static_cast(4167)}, {"UnstructuredLoopControlsINTEL", static_cast(5886)}, {"SplitBarrierINTEL", static_cast(6141)}, {"GroupNonUniformPartitionedNV", static_cast(5297)}, {"VulkanMemoryModel", static_cast(5345)}, {"StoragePushConstant8", static_cast(4450)}, {"ShaderLayer", static_cast(69)}, {"UniformTexelBufferArrayDynamicIndexingEXT", static_cast(5304)}, {"Float64", static_cast(10)}, {"StorageTexelBufferArrayDynamicIndexing", static_cast(5305)}, {"SampleMaskOverrideCoverageNV", static_cast(5249)}, {"SubgroupBufferBlockIOINTEL", static_cast(5569)}, {"ShaderInvocationReorderNV", static_cast(5383)}, {"CullDistance", static_cast(33)}, {"UniformBufferArrayNonUniformIndexingEXT", static_cast(5306)}, {"StorageImageArrayNonUniformIndexing", static_cast(5309)}, {"ArbitraryPrecisionIntegersINTEL", static_cast(5844)}, {"SubgroupVoteKHR", static_cast(4431)}, {"FPGALoopControlsINTEL", static_cast(5888)}, {"UniformDecoration", static_cast(71)}, {"PerViewAttributesNV", static_cast(5260)}, {"Groups", static_cast(18)}, {"AsmINTEL", static_cast(5606)}, {"AtomicFloat32AddEXT", static_cast(6033)}, {"MaskedGatherScatterINTEL", static_cast(6427)}, {"GeometryShaderPassthroughNV", static_cast(5251)}, {"GroupNonUniformRotateKHR", static_cast(6026)}, {"RayCullMaskKHR", static_cast(6020)}, {"FPGAMemoryAccessesINTEL", static_cast(5898)}, {"SubgroupAvcMotionEstimationChromaINTEL", static_cast(5698)}, {"ShaderClockKHR", static_cast(5055)}, {"Linkage", static_cast(5)}, {"SampledRect", static_cast(37)}, {"FPGAClusterAttributesV2INTEL", static_cast(6150)}, {"QuadControlKHR", static_cast(5087)}, {"GenericPointer", static_cast(38)}, {"MinLod", static_cast(42)}, {"RuntimeAlignedAttributeINTEL", static_cast(5939)}, {"Shader", static_cast(1)}, {"StorageImageArrayNonUniformIndexingEXT", static_cast(5309)}, {"AtomicStorage", static_cast(21)}, {"ShaderSMBuiltinsNV", static_cast(5373)}, {"RoundingModeRTE", static_cast(4467)}, {"FPGALatencyControlINTEL", static_cast(6171)}, {"OptNoneINTEL", static_cast(6094)}, {"ShaderNonUniformEXT", static_cast(5301)}, {"Pipes", static_cast(17)}, {"RawAccessChainsNV", static_cast(5414)}, {"ComputeDerivativeGroupLinearNV", static_cast(5350)}, {"IndirectReferencesINTEL", static_cast(5604)}, {"ImageGatherBiasLodAMD", static_cast(5009)}, {"DotProductInput4x8BitKHR", static_cast(6017)}, {"CooperativeMatrixNV", static_cast(5357)}, {"ImageBasic", static_cast(13)}, {"StorageImageWriteWithoutFormat", static_cast(56)}, {"BindlessTextureNV", static_cast(5390)}, {"VulkanMemoryModelDeviceScope", static_cast(5346)}, {"ImageBuffer", static_cast(47)}, {"FragmentShaderShadingRateInterlockEXT", static_cast(5372)}, {"ImageMipmap", static_cast(15)}, {"StorageBuffer16BitAccess", static_cast(4433)}, {"GroupNonUniformShuffle", static_cast(65)}, {"RayQueryPositionFetchKHR", static_cast(5391)}, {"TextureBlockMatch2QCOM", static_cast(4498)}, {"FragmentDensityEXT", static_cast(5291)}, {"StoragePushConstant16", static_cast(4435)}, {"RoundToInfinityINTEL", static_cast(5582)}, {"FloatControls2", static_cast(6029)}, {"VariablePointers", static_cast(4442)}, {"RayTracingNV", static_cast(5340)}, {"ImageGatherExtended", static_cast(25)}, {"ShaderViewportIndex", static_cast(70)}, {"RayQueryProvisionalKHR", static_cast(4471)}, {"MemoryAccessAliasingINTEL", static_cast(5910)}, {"InputAttachmentArrayNonUniformIndexing", static_cast(5310)}, {"ShaderNonUniform", static_cast(5301)}, {"ImageQuery", static_cast(50)}, {"Int64", static_cast(11)}, {"InputAttachmentArrayDynamicIndexingEXT", static_cast(5303)}, {"VectorAnyINTEL", static_cast(5619)}, {"ArbitraryPrecisionFloatingPointINTEL", static_cast(5845)}, {"GroupNonUniformBallot", static_cast(64)}, {"Addresses", static_cast(4)}, {"RayQueryKHR", static_cast(4472)}, {"ShaderEnqueueAMDX", static_cast(5067)}, {"FragmentFullyCoveredEXT", static_cast(5265)}, {"Int16", static_cast(22)}, {"FPGAInvocationPipeliningAttributesINTEL", static_cast(5916)}, {"LiteralSampler", static_cast(20)}, {"UniformBufferArrayNonUniformIndexing", static_cast(5306)}, {"ImageReadWriteLodAMD", static_cast(5015)}, {"VulkanMemoryModelKHR", static_cast(5345)}, {"MeshShadingNV", static_cast(5266)}, {"StorageImageMultisample", static_cast(27)}, {"ComputeDerivativeGroupQuadsNV", static_cast(5288)}, {"UniformTexelBufferArrayNonUniformIndexing", static_cast(5311)}, {"FragmentMaskAMD", static_cast(5010)}, {"RayTracingProvisionalKHR", static_cast(5353)}, {"StorageBufferArrayNonUniformIndexing", static_cast(5308)}, {"DotProductInput4x8Bit", static_cast(6017)}, {"UniformTexelBufferArrayDynamicIndexing", static_cast(5304)}, {"RayTracingDisplacementMicromapNV", static_cast(5409)}, {"TileImageStencilReadAccessEXT", static_cast(4168)}, {"CacheControlsINTEL", static_cast(6441)}, {"Matrix", static_cast(0)}, {"WorkgroupMemoryExplicitLayoutKHR", static_cast(4428)}, {"StorageTexelBufferArrayDynamicIndexingEXT", static_cast(5305)}, {"GeometryPointSize", static_cast(24)}, {"ExpectAssumeKHR", static_cast(5629)}, {"SubgroupBallotKHR", static_cast(4423)}, {"DebugInfoModuleINTEL", static_cast(6114)}, {"DisplacementMicromapNV", static_cast(5380)}, {"RayTraversalPrimitiveCullingKHR", static_cast(4478)}, {"SampleMaskPostDepthCoverage", static_cast(4447)}, {"FragmentShaderSampleInterlockEXT", static_cast(5363)}, {"Kernel", static_cast(6)}, {"Image1D", static_cast(44)}, {"Sampled1D", static_cast(43)}, {"TextureBlockMatchQCOM", static_cast(4486)}, {"StorageBufferArrayDynamicIndexing", static_cast(30)}, {"SampledImageArrayNonUniformIndexingEXT", static_cast(5307)}, {"NamedBarrier", static_cast(59)}, {"SampledImageArrayNonUniformIndexing", static_cast(5307)}, {"FunctionPointersINTEL", static_cast(5603)}, {"PhysicalStorageBufferAddressesEXT", static_cast(5347)}, {"SubgroupDispatch", static_cast(58)}, {"SubgroupAvcMotionEstimationINTEL", static_cast(5696)}, {"FragmentShaderPixelInterlockEXT", static_cast(5378)}, {"StorageInputOutput16", static_cast(4436)}, {"FPGAKernelAttributesINTEL", static_cast(5897)}, {"FPGARegINTEL", static_cast(5948)}, }; static const auto hash = [](const UnownedStringSlice& str, UInt32 salt){ UInt32 h = salt; for (const char c : str) h = (h * 0x01000193) ^ c; return h % 259; }; const auto i = hash(str, tableSalt[hash(str, 0)]); if(str == words[i].first) { value = words[i].second; return true; } else { return false; } } static bool lookupEnumWithTypePrefix(const UnownedStringSlice& str, SpvWord& value) { static const unsigned tableSalt[1016] = { 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 3, 0, 0, 3, 1, 1, 1, 0, 1, 0, 4, 3, 1, 2, 2, 1, 3, 0, 0, 0, 1, 4, 4, 0, 1, 0, 4, 1, 1, 3, 0, 2, 4, 0, 9, 1, 2, 2, 5, 0, 2, 0, 0, 2, 1, 6, 0, 6, 0, 0, 1, 1, 1, 2, 1, 3, 1, 5, 2, 1, 1, 0, 3, 10, 0, 0, 1, 5, 0, 0, 1, 0, 1, 1, 0, 1, 0, 4, 2, 0, 3, 2, 0, 0, 0, 2, 1, 1, 1, 2, 1, 1, 0, 0, 9, 0, 2, 1, 0, 3, 1, 0, 0, 1, 4, 4, 1, 1, 11, 1, 0, 0, 2, 3, 0, 0, 1, 2, 6, 2, 1, 4, 1, 1, 0, 1, 5, 0, 0, 1, 4, 1, 0, 2, 0, 1, 2, 2, 0, 1, 1, 0, 0, 7, 1, 6, 0, 1, 2, 0, 1, 1, 3, 1, 4, 3, 1, 1, 1, 0, 9, 0, 0, 0, 0, 7, 4, 2, 2, 2, 5, 1, 1, 2, 1, 0, 0, 0, 1, 0, 3, 1, 0, 5, 1, 0, 4, 6, 0, 4, 2, 3, 6, 6, 0, 0, 1, 0, 1, 8, 1, 1, 0, 1, 5, 0, 11, 0, 7, 4, 1, 0, 0, 0, 0, 3, 1, 2, 0, 0, 1, 1, 0, 0, 0, 1, 0, 3, 5, 11, 0, 0, 2, 2, 0, 7, 1, 1, 6, 2, 9, 2, 0, 0, 1, 1, 1, 0, 9, 8, 4, 1, 1, 1, 1, 1, 0, 0, 0, 15, 3, 4, 0, 0, 2, 0, 0, 11, 3, 3, 1, 0, 3, 3, 0, 5, 0, 1, 9, 2, 0, 5, 0, 0, 1, 1, 0, 0, 1, 0, 0, 2, 0, 8, 1, 2, 10, 11, 2, 13, 4, 0, 1, 1, 0, 0, 1, 2, 1, 3, 1, 2, 0, 0, 0, 2, 2, 0, 1, 0, 2, 1, 0, 8, 0, 1, 2, 0, 5, 1, 10, 16, 0, 0, 2, 2, 6, 4, 1, 0, 19, 4, 4, 3, 0, 0, 0, 4, 0, 0, 2, 0, 8, 3, 2, 0, 1, 11, 0, 0, 4, 1, 2, 0, 6, 3, 0, 1, 4, 1, 4, 5, 2, 0, 1, 3, 1, 0, 12, 0, 1, 0, 0, 0, 0, 3, 12, 0, 7, 4, 8, 2, 6, 0, 3, 0, 3, 1, 0, 0, 2, 0, 6, 5, 0, 2, 0, 6, 3, 1, 0, 5, 2, 1, 2, 5, 0, 0, 18, 2, 1, 1, 9, 4, 0, 0, 5, 0, 9, 8, 2, 0, 0, 0, 6, 0, 13, 0, 2, 2, 0, 0, 0, 1, 1, 1, 1, 1, 0, 5, 0, 1, 2, 2, 0, 14, 0, 0, 0, 0, 15, 0, 4, 14, 1, 0, 9, 0, 5, 1, 0, 3, 0, 3, 0, 1, 1, 2, 6, 0, 3, 1, 2, 0, 1, 3, 0, 7, 1, 1, 4, 0, 5, 0, 2, 3, 2, 15, 14, 2, 0, 6, 0, 0, 5, 4, 1, 12, 2, 0, 0, 17, 6, 2, 1, 4, 0, 0, 0, 0, 0, 0, 13, 3, 3, 1, 0, 0, 1, 0, 3, 3, 2, 1, 0, 2, 0, 0, 0, 2, 10, 1, 0, 0, 3, 8, 0, 19, 0, 2, 0, 4, 0, 11, 5, 0, 18, 7, 0, 15, 2, 1, 0, 1, 3, 0, 0, 2, 11, 2, 2, 0, 6, 0, 18, 12, 0, 3, 5, 1, 1, 28, 4, 1, 0, 3, 3, 0, 1, 28, 4, 0, 5, 29, 5, 0, 9, 8, 0, 3, 0, 9, 0, 0, 2, 0, 1, 6, 3, 0, 0, 4, 0, 5, 4, 1, 0, 1, 0, 12, 7, 6, 4, 4, 0, 0, 2, 3, 35, 22, 2, 3, 1, 0, 4, 0, 5, 0, 0, 0, 0, 0, 3, 9, 0, 1, 0, 1, 0, 0, 9, 1, 0, 0, 0, 0, 0, 0, 2, 0, 3, 0, 2, 10, 15, 2, 0, 0, 0, 0, 1, 3, 4, 0, 0, 3, 0, 3, 0, 0, 16, 1, 2, 2, 6, 2, 1, 26, 7, 12, 7, 3, 0, 0, 0, 2, 1, 2, 4, 0, 1, 1, 0, 0, 1, 3, 4, 1, 5, 0, 1, 14, 0, 0, 2, 14, 5, 0, 7, 7, 0, 8, 5, 0, 3, 12, 2, 1, 0, 1, 2, 12, 4, 2, 11, 0, 7, 5, 1, 0, 3, 0, 16, 24, 44, 0, 0, 7, 14, 0, 1, 3, 0, 0, 5, 0, 6, 1, 0, 23, 2, 6, 12, 1, 0, 3, 0, 0, 0, 41, 0, 0, 0, 0, 7, 13, 0, 32, 1, 2, 0, 0, 0, 2, 6, 2, 8, 20, 7, 0, 16, 0, 16, 0, 29, 0, 1, 14, 0, 12, 8, 2, 14, 0, 15, 11, 0, 1, 0, 0, 1, 5, 2, 0, 22, 2, 23, 8, 2, 0, 0, 0, 33, 22, 0, 18, 18, 3, 2, 1, 0, 1, 26, 2, 2, 12, 0, 3, 0, 1, 12, 0, 0, 9, 3, 79, 0, 11, 2, 7, 6, 40, 6, 5, 10, 3, 0, 0, 1, 3, 0, 2, 0, 0, 27, 8, 2, 78, 0, 50, 3, 2, 3, 14, 4, 2, 5, 0, 5, 27, 0, 7, 97, 0, 2, 4, 53, 6, 0, 0, 0, 0, 7, 1, 3, 1, 6, 0, 1, 29, 9, 0, 5, 58, 5, 37, 41, 1, 11, 0, 0, 8, 36, 0, 1, 0, 26, 0, 2, 55, 0, 1, 13, 0, 11, 2, 0, 71, 24, 2, 0, 0, 0, 0, 0, 4, 4, 0, 9, 2, 1, 0, 60, 6, 0, 4, 26, 0, 0, 39, 1, 164, 0, 193, 6, 0, 2, 273, 0, 6, 0, 1, 0, 0, 70, 168, 1, 17, 4, 0, 0, 567, 1, 19, 76, 2, 114, 0, 0, 0, 3, 7, 13, 0, 1, 2, 27, 427, 5, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 951, 0, 8, 457, 0, 0, 0 }; using KV = std::pair; static const KV words[1016] = { {"StorageClassHitAttributeKHR", SpvWord{5339}}, {"ScopeQueueFamilyKHR", SpvWord{5}}, {"ImageChannelDataTypeUnsignedInt8", SpvWord{10}}, {"CapabilityLoopFuseINTEL", SpvWord{5906}}, {"CapabilitySubgroupAvcMotionEstimationChromaINTEL", SpvWord{5698}}, {"BuiltInFragCoord", SpvWord{15}}, {"CapabilityDisplacementMicromapNV", SpvWord{5380}}, {"BuiltInFragmentSizeNV", SpvWord{5292}}, {"ExecutionModeNonCoherentStencilAttachmentReadEXT", SpvWord{4171}}, {"DecorationUniform", SpvWord{26}}, {"ImageFormatRg16Snorm", SpvWord{17}}, {"CapabilitySubgroupImageBlockIOINTEL", SpvWord{5570}}, {"ImageChannelDataTypeUnormInt101010_2", SpvWord{16}}, {"ImageFormatRg8i", SpvWord{27}}, {"CapabilityGroupNonUniformPartitionedNV", SpvWord{5297}}, {"DecorationMMHostInterfaceAddressWidthINTEL", SpvWord{6177}}, {"DecorationSample", SpvWord{17}}, {"DecorationFuncParamAttr", SpvWord{38}}, {"ExecutionModelAnyHitKHR", SpvWord{5315}}, {"CapabilityExpectAssumeKHR", SpvWord{5629}}, {"CapabilityLiteralSampler", SpvWord{20}}, {"DecorationComponent", SpvWord{31}}, {"ImageChannelDataTypeUnsignedIntRaw12EXT", SpvWord{20}}, {"ImageChannelDataTypeSignedInt8", SpvWord{7}}, {"DecorationFPFastMathMode", SpvWord{40}}, {"ImageFormatRg32i", SpvWord{25}}, {"DecorationCacheControlLoadINTEL", SpvWord{6442}}, {"ImageChannelOrderABGR", SpvWord{19}}, {"ExecutionModeSchedulerTargetFmaxMhzINTEL", SpvWord{5903}}, {"DecorationSecondaryViewportRelativeNV", SpvWord{5256}}, {"CapabilityRayTracingMotionBlurNV", SpvWord{5341}}, {"ExecutionModePixelInterlockUnorderedEXT", SpvWord{5367}}, {"BuiltInGlobalOffset", SpvWord{33}}, {"FunctionParameterAttributeNoWrite", SpvWord{6}}, {"DecorationColMajor", SpvWord{5}}, {"CapabilityRoundingModeRTE", SpvWord{4467}}, {"CapabilityMeshShadingNV", SpvWord{5266}}, {"CapabilityStorageTexelBufferArrayDynamicIndexing", SpvWord{5305}}, {"MemoryModelOpenCL", SpvWord{2}}, {"CapabilityDemoteToHelperInvocationEXT", SpvWord{5379}}, {"BuiltInCurrentRayTimeNV", SpvWord{5334}}, {"CapabilityShaderClockKHR", SpvWord{5055}}, {"CapabilityShaderViewportIndexLayerEXT", SpvWord{5254}}, {"ExecutionModeShadingRateInterlockOrderedEXT", SpvWord{5370}}, {"LoopControlDontUnroll", SpvWord{2}}, {"BuiltInSecondaryViewportMaskNV", SpvWord{5258}}, {"DecorationReferencedIndirectlyINTEL", SpvWord{5602}}, {"RayFlagsCullOpaqueKHR", SpvWord{64}}, {"ExecutionModelRayGenerationKHR", SpvWord{5313}}, {"CapabilityVariablePointers", SpvWord{4442}}, {"ImageChannelDataTypeUnsignedInt16", SpvWord{11}}, {"ExecutionModeNumSIMDWorkitemsINTEL", SpvWord{5896}}, {"BuiltInHitKindNV", SpvWord{5333}}, {"MemorySemanticsNone", SpvWord{0}}, {"CapabilityRayTracingKHR", SpvWord{4479}}, {"BuiltInTessLevelInner", SpvWord{12}}, {"CapabilityVulkanMemoryModelDeviceScope", SpvWord{5346}}, {"CapabilityImageBasic", SpvWord{13}}, {"CapabilityUniformTexelBufferArrayNonUniformIndexingEXT", SpvWord{5311}}, {"ImageFormatRgb10a2ui", SpvWord{34}}, {"DecorationFunctionDenormModeINTEL", SpvWord{5823}}, {"ImageChannelDataTypeFloat", SpvWord{14}}, {"CapabilityShaderNonUniformEXT", SpvWord{5301}}, {"ImageFormatR32i", SpvWord{24}}, {"BuiltInObjectRayDirectionNV", SpvWord{5324}}, {"DecorationConstant", SpvWord{22}}, {"SamplerAddressingModeRepeat", SpvWord{3}}, {"BuiltInRayTminNV", SpvWord{5325}}, {"FragmentShadingRateHorizontal2Pixels", SpvWord{4}}, {"BuiltInFragDepth", SpvWord{22}}, {"RayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionTriangleKHR", SpvWord{0}}, {"ExecutionModelMeshNV", SpvWord{5268}}, {"ExecutionModeDerivativeGroupLinearNV", SpvWord{5290}}, {"DecorationNonWritable", SpvWord{24}}, {"CapabilityStorageImageWriteWithoutFormat", SpvWord{56}}, {"ImageFormatRgba16i", SpvWord{22}}, {"QuantizationModesTRN", SpvWord{0}}, {"CapabilityStorageBuffer8BitAccess", SpvWord{4448}}, {"ImageOperandsVolatileTexel", SpvWord{2048}}, {"DecorationStream", SpvWord{29}}, {"CapabilityVectorComputeINTEL", SpvWord{5617}}, {"ImageFormatUnknown", SpvWord{0}}, {"CapabilityDrawParameters", SpvWord{4427}}, {"CapabilityBitInstructions", SpvWord{6025}}, {"ImageFormatRgba16f", SpvWord{2}}, {"StorageClassHitAttributeNV", SpvWord{5339}}, {"CapabilityFPGABufferLocationINTEL", SpvWord{5920}}, {"BuiltInWorldRayOriginNV", SpvWord{5321}}, {"BuiltInSubgroupGtMask", SpvWord{4418}}, {"MemorySemanticsAtomicCounterMemory", SpvWord{1024}}, {"ImageOperandsNonPrivateTexelKHR", SpvWord{1024}}, {"DecorationPassthroughNV", SpvWord{5250}}, {"FPOperationModeALT", SpvWord{1}}, {"OverflowModesWRAP", SpvWord{0}}, {"BuiltInFrontFacing", SpvWord{17}}, {"BuiltInSampleId", SpvWord{18}}, {"CapabilityRayTracingProvisionalKHR", SpvWord{5353}}, {"ScopeWorkgroup", SpvWord{2}}, {"ExecutionModeInputPoints", SpvWord{19}}, {"DimCube", SpvWord{3}}, {"DecorationGlobalVariableOffsetINTEL", SpvWord{5628}}, {"DecorationCoherent", SpvWord{23}}, {"BuiltInDeviceIndex", SpvWord{4438}}, {"CapabilityShaderInvocationReorderNV", SpvWord{5383}}, {"CapabilityGroupNonUniformVote", SpvWord{62}}, {"CapabilityStorageUniform16", SpvWord{4434}}, {"CapabilityWorkgroupMemoryExplicitLayout8BitAccessKHR", SpvWord{4429}}, {"ImageFormatRgba32ui", SpvWord{30}}, {"BuiltInViewIndex", SpvWord{4440}}, {"MemoryAccessVolatile", SpvWord{1}}, {"CapabilityStorageInputOutput16", SpvWord{4436}}, {"DecorationOffset", SpvWord{35}}, {"DecorationPrefetchINTEL", SpvWord{5902}}, {"ImageChannelDataTypeUnsignedIntRaw10EXT", SpvWord{19}}, {"CapabilitySubgroupDispatch", SpvWord{58}}, {"DecorationMathOpDSPModeINTEL", SpvWord{5909}}, {"CapabilityStorageTexelBufferArrayNonUniformIndexing", SpvWord{5312}}, {"ExecutionModeSubgroupSize", SpvWord{35}}, {"BuiltInClipDistance", SpvWord{3}}, {"SourceLanguageGLSL", SpvWord{2}}, {"BuiltInTessCoord", SpvWord{13}}, {"LoadCacheControlUncachedINTEL", SpvWord{0}}, {"ExecutionModeStencilRefUnchangedBackAMD", SpvWord{5082}}, {"RayFlagsNoOpaqueKHR", SpvWord{2}}, {"ImageFormatRg8Snorm", SpvWord{18}}, {"SourceLanguageESSL", SpvWord{1}}, {"LoadCacheControlConstCachedINTEL", SpvWord{4}}, {"ExecutionModelClosestHitNV", SpvWord{5316}}, {"CapabilityStoragePushConstant8", SpvWord{4450}}, {"MemorySemanticsVolatile", SpvWord{32768}}, {"DecorationNumbanksINTEL", SpvWord{5827}}, {"ImageFormatRg32ui", SpvWord{35}}, {"DecorationGLSLPacked", SpvWord{9}}, {"ExecutionModeStencilRefGreaterBackAMD", SpvWord{5083}}, {"CooperativeMatrixUseMatrixAccumulatorKHR", SpvWord{2}}, {"FunctionControlDontInline", SpvWord{2}}, {"BuiltInSubgroupLeMask", SpvWord{4419}}, {"CapabilityUniformTexelBufferArrayDynamicIndexingEXT", SpvWord{5304}}, {"BuiltInPatchVertices", SpvWord{14}}, {"CapabilityStorageTexelBufferArrayDynamicIndexingEXT", SpvWord{5305}}, {"DecorationBoundSamplerNV", SpvWord{5400}}, {"ExecutionModeIsolines", SpvWord{25}}, {"ExecutionModeFPFastMathDefault", SpvWord{6028}}, {"ImageFormatR8i", SpvWord{29}}, {"KernelEnqueueFlagsNoWait", SpvWord{0}}, {"SamplerAddressingModeClampToEdge", SpvWord{1}}, {"ImageFormatR16i", SpvWord{28}}, {"CapabilityFloat16", SpvWord{9}}, {"ExecutionModeNamedMaximumRegistersINTEL", SpvWord{6463}}, {"CapabilityGeometryShaderPassthroughNV", SpvWord{5251}}, {"CapabilityInputAttachmentArrayNonUniformIndexing", SpvWord{5310}}, {"CapabilityGroupNonUniformClustered", SpvWord{67}}, {"ImageChannelDataTypeUnormInt16", SpvWord{3}}, {"ImageFormatRg16", SpvWord{12}}, {"FragmentShadingRateVertical4Pixels", SpvWord{2}}, {"BuiltInCoreCountARM", SpvWord{4161}}, {"CapabilityGlobalVariableFPGADecorationsINTEL", SpvWord{6189}}, {"CapabilityArbitraryPrecisionFloatingPointINTEL", SpvWord{5845}}, {"MemorySemanticsMakeVisible", SpvWord{16384}}, {"DecorationNodeSharesPayloadLimitsWithAMDX", SpvWord{5019}}, {"RayFlagsCullBackFacingTrianglesKHR", SpvWord{16}}, {"LoopControlDependencyInfinite", SpvWord{4}}, {"DecorationIOPipeStorageINTEL", SpvWord{5944}}, {"CapabilityRuntimeDescriptorArrayEXT", SpvWord{5302}}, {"KernelProfilingInfoCmdExecTime", SpvWord{1}}, {"ExecutionModeOutputLineStrip", SpvWord{28}}, {"InitializationModeQualifierInitOnDeviceResetINTEL", SpvWord{1}}, {"RayFlagsNoneKHR", SpvWord{0}}, {"CapabilityInputAttachmentArrayDynamicIndexing", SpvWord{5303}}, {"CapabilitySampledImageArrayDynamicIndexing", SpvWord{29}}, {"StorageClassRayPayloadNV", SpvWord{5338}}, {"BuiltInSecondaryPositionNV", SpvWord{5257}}, {"LoopControlSpeculatedIterationsINTEL", SpvWord{4194304}}, {"DecorationStackCallINTEL", SpvWord{5627}}, {"CapabilityShaderSMBuiltinsNV", SpvWord{5373}}, {"CapabilityShaderStereoViewNV", SpvWord{5259}}, {"CapabilityStorageImageExtendedFormats", SpvWord{49}}, {"ExecutionModeOutputTriangleStrip", SpvWord{29}}, {"BuiltInBaryCoordSmoothAMD", SpvWord{4995}}, {"DecorationSaturatedConversion", SpvWord{28}}, {"CapabilityGeometryPointSize", SpvWord{24}}, {"CapabilityRayCullMaskKHR", SpvWord{6020}}, {"LoopControlNone", SpvWord{0}}, {"DecorationMediaBlockIOINTEL", SpvWord{6140}}, {"CapabilityShader", SpvWord{1}}, {"CapabilityStoragePushConstant16", SpvWord{4435}}, {"DecorationPerTaskNV", SpvWord{5273}}, {"BuiltInObjectRayOriginKHR", SpvWord{5323}}, {"CapabilityTessellation", SpvWord{3}}, {"BuiltInFullyCoveredEXT", SpvWord{5264}}, {"CapabilityFPGALatencyControlINTEL", SpvWord{6171}}, {"BuiltInInstanceIndex", SpvWord{43}}, {"ImageOperandsSignExtend", SpvWord{4096}}, {"DecorationNoAliasINTEL", SpvWord{5915}}, {"Dim2D", SpvWord{1}}, {"DecorationStableKernelArgumentINTEL", SpvWord{6183}}, {"CapabilityStorageImageReadWithoutFormat", SpvWord{55}}, {"CapabilityRayTracingNV", SpvWord{5340}}, {"DecorationNoSignedWrap", SpvWord{4469}}, {"BuiltInSampleMask", SpvWord{20}}, {"DecorationBlockMatchTextureQCOM", SpvWord{4488}}, {"LoopControlMinIterations", SpvWord{16}}, {"StorageClassNodePayloadAMDX", SpvWord{5068}}, {"DecorationBlock", SpvWord{2}}, {"ExecutionModeInputTrianglesAdjacency", SpvWord{23}}, {"CapabilityInt64ImageEXT", SpvWord{5016}}, {"BuiltInLocalInvocationId", SpvWord{27}}, {"DecorationBlockMatchSamplerQCOM", SpvWord{4499}}, {"CooperativeMatrixUseMatrixAKHR", SpvWord{0}}, {"LoopControlMaxReinvocationDelayINTEL", SpvWord{33554432}}, {"CapabilityFragmentDensityEXT", SpvWord{5291}}, {"MemorySemanticsMakeAvailable", SpvWord{8192}}, {"ExecutionModeStaticNumWorkgroupsAMDX", SpvWord{5072}}, {"DecorationFPRoundingMode", SpvWord{39}}, {"StorageClassRayPayloadKHR", SpvWord{5338}}, {"FunctionControlPure", SpvWord{4}}, {"ExecutionModeQuadDerivativesKHR", SpvWord{5088}}, {"CapabilityImageGatherBiasLodAMD", SpvWord{5009}}, {"CooperativeMatrixLayoutColumnMajorKHR", SpvWord{1}}, {"CapabilitySubgroupBallotKHR", SpvWord{4423}}, {"ExecutionModelKernel", SpvWord{6}}, {"ExecutionModePixelCenterInteger", SpvWord{6}}, {"ExecutionModeSubgroupUniformControlFlowKHR", SpvWord{4421}}, {"ExecutionModeRoundingModeRTNINTEL", SpvWord{5621}}, {"DecorationBindlessSamplerNV", SpvWord{5398}}, {"ExecutionModeStencilRefLessFrontAMD", SpvWord{5081}}, {"StorageClassCallableDataNV", SpvWord{5328}}, {"ExecutionModeMaxWorkgroupSizeINTEL", SpvWord{5893}}, {"DecorationNonUniform", SpvWord{5300}}, {"CapabilityAtomicFloat64MinMaxEXT", SpvWord{5613}}, {"ExecutionModeOutputVertices", SpvWord{26}}, {"CapabilityAsmINTEL", SpvWord{5606}}, {"FPRoundingModeRTZ", SpvWord{1}}, {"CapabilityFPFastMathModeINTEL", SpvWord{5837}}, {"DecorationPatch", SpvWord{15}}, {"StorageClassPrivate", SpvWord{6}}, {"DecorationRegisterMapKernelArgumentINTEL", SpvWord{6176}}, {"StoreCacheControlUncachedINTEL", SpvWord{0}}, {"ExecutionModeSpacingFractionalEven", SpvWord{2}}, {"CapabilityPhysicalStorageBufferAddressesEXT", SpvWord{5347}}, {"ExecutionModeMaximallyReconvergesKHR", SpvWord{6023}}, {"BuiltInPrimitiveShadingRateKHR", SpvWord{4432}}, {"GroupOperationInclusiveScan", SpvWord{1}}, {"CapabilityTransformFeedback", SpvWord{53}}, {"DecorationCounterBuffer", SpvWord{5634}}, {"ScopeInvocation", SpvWord{4}}, {"CapabilityFPGAMemoryAccessesINTEL", SpvWord{5898}}, {"RayFlagsCullFrontFacingTrianglesKHR", SpvWord{32}}, {"DecorationStallFreeINTEL", SpvWord{6151}}, {"FunctionParameterAttributeZext", SpvWord{0}}, {"CapabilityRoundingModeRTZ", SpvWord{4468}}, {"DecorationMMHostInterfaceWaitRequestINTEL", SpvWord{6182}}, {"CapabilitySampledRect", SpvWord{37}}, {"HostAccessQualifierNoneINTEL", SpvWord{0}}, {"CapabilityCooperativeMatrixNV", SpvWord{5357}}, {"CapabilityRayQueryPositionFetchKHR", SpvWord{5391}}, {"LoadCacheControlStreamingINTEL", SpvWord{2}}, {"PackedVectorFormatPackedVectorFormat4x8BitKHR", SpvWord{0}}, {"CapabilityShaderLayer", SpvWord{69}}, {"BuiltInCullPrimitiveEXT", SpvWord{5299}}, {"MemoryModelGLSL450", SpvWord{1}}, {"LoopControlMaxInterleavingINTEL", SpvWord{2097152}}, {"BuiltInSubgroupLeMaskKHR", SpvWord{4419}}, {"CapabilityAtomicFloat16VectorNV", SpvWord{5404}}, {"ImageFormatR32ui", SpvWord{33}}, {"ExecutionModeSubgroupsPerWorkgroupId", SpvWord{37}}, {"DecorationSpecId", SpvWord{1}}, {"FPFastMathModeAllowReassoc", SpvWord{131072}}, {"LoopControlDependencyArrayINTEL", SpvWord{262144}}, {"ImageFormatRgba32i", SpvWord{21}}, {"DecorationAliasedPointerEXT", SpvWord{5356}}, {"CapabilityRawAccessChainsNV", SpvWord{5414}}, {"DecorationFunctionFloatingPointModeINTEL", SpvWord{6080}}, {"CapabilityImageRect", SpvWord{36}}, {"CapabilityDenormPreserve", SpvWord{4464}}, {"CapabilityVulkanMemoryModel", SpvWord{5345}}, {"MemoryAccessNone", SpvWord{0}}, {"DecorationBankBitsINTEL", SpvWord{5835}}, {"CapabilityFPGAClusterAttributesINTEL", SpvWord{5904}}, {"CapabilityBlockingPipesINTEL", SpvWord{5945}}, {"BuiltInPrimitiveCountNV", SpvWord{5275}}, {"ExecutionModelTessellationEvaluation", SpvWord{2}}, {"MemoryAccessMakePointerVisibleKHR", SpvWord{16}}, {"CapabilitySampled1D", SpvWord{43}}, {"BuiltInPointSize", SpvWord{1}}, {"ExecutionModeVecTypeHint", SpvWord{30}}, {"DecorationDoublepumpINTEL", SpvWord{5831}}, {"CapabilitySampleRateShading", SpvWord{35}}, {"QuantizationModesRND_MIN_INF", SpvWord{5}}, {"CapabilityRayTracingOpacityMicromapEXT", SpvWord{5381}}, {"FunctionParameterAttributeSext", SpvWord{1}}, {"CapabilityUniformBufferArrayNonUniformIndexingEXT", SpvWord{5306}}, {"ExecutionModelIntersectionKHR", SpvWord{5314}}, {"CapabilityFPGAInvocationPipeliningAttributesINTEL", SpvWord{5916}}, {"BuiltInBaryCoordPullModelAMD", SpvWord{4998}}, {"ExecutionModeNamedBarrierCountINTEL", SpvWord{6417}}, {"ExecutionModeMaxNodeRecursionAMDX", SpvWord{5071}}, {"FPFastMathModeNotNaN", SpvWord{1}}, {"BuiltInMeshViewIndicesNV", SpvWord{5281}}, {"CapabilityFloat16ImageAMD", SpvWord{5008}}, {"DecorationDontStaticallyCoalesceINTEL", SpvWord{5901}}, {"BuiltInWarpIDARM", SpvWord{4163}}, {"FPFastMathModeAllowRecip", SpvWord{8}}, {"CapabilityWorkgroupMemoryExplicitLayoutKHR", SpvWord{4428}}, {"BuiltInSamplePosition", SpvWord{19}}, {"BuiltInFragStencilRefEXT", SpvWord{5014}}, {"ExecutionModeLocalSize", SpvWord{17}}, {"CapabilityVulkanMemoryModelKHR", SpvWord{5345}}, {"CapabilityComputeDerivativeGroupQuadsNV", SpvWord{5288}}, {"MemoryModelVulkan", SpvWord{3}}, {"BuiltInPrimitiveLineIndicesEXT", SpvWord{5295}}, {"FunctionParameterAttributeRuntimeAlignedINTEL", SpvWord{5940}}, {"MemorySemanticsRelease", SpvWord{4}}, {"DecorationIndex", SpvWord{32}}, {"QuantizationModesRND", SpvWord{2}}, {"DecorationSinglepumpINTEL", SpvWord{5830}}, {"MemorySemanticsMakeVisibleKHR", SpvWord{16384}}, {"StorageClassDeviceOnlyINTEL", SpvWord{5936}}, {"CapabilityFPMaxErrorINTEL", SpvWord{6169}}, {"CapabilityImageReadWrite", SpvWord{14}}, {"ImageOperandsVolatileTexelKHR", SpvWord{2048}}, {"StorageClassIncomingCallableDataKHR", SpvWord{5329}}, {"StorageClassTaskPayloadWorkgroupEXT", SpvWord{5402}}, {"DecorationAlignment", SpvWord{44}}, {"CapabilityFloat64", SpvWord{10}}, {"DecorationDescriptorSet", SpvWord{34}}, {"ImageChannelOrderIntensity", SpvWord{8}}, {"CapabilityDeviceEnqueue", SpvWord{19}}, {"QuantizationModesTRN_ZERO", SpvWord{1}}, {"CapabilityPipeStorage", SpvWord{60}}, {"ExecutionModeLocalSizeHintId", SpvWord{39}}, {"OverflowModesSAT", SpvWord{1}}, {"CapabilitySubgroupBufferBlockIOINTEL", SpvWord{5569}}, {"ImageChannelDataTypeUnormShort565", SpvWord{4}}, {"BuiltInInstanceId", SpvWord{6}}, {"ImageFormatRgba16", SpvWord{10}}, {"CapabilityStencilExportEXT", SpvWord{5013}}, {"AddressingModelLogical", SpvWord{0}}, {"BuiltInFragSizeEXT", SpvWord{5292}}, {"FPFastMathModeNSZ", SpvWord{4}}, {"ScopeDevice", SpvWord{1}}, {"DecorationSIMTCallINTEL", SpvWord{5599}}, {"DecorationMaxByteOffsetId", SpvWord{47}}, {"BuiltInPrimitivePointIndicesEXT", SpvWord{5294}}, {"PackedVectorFormatPackedVectorFormat4x8Bit", SpvWord{0}}, {"DimSubpassData", SpvWord{6}}, {"SamplerFilterModeLinear", SpvWord{1}}, {"ImageChannelOrderRGBA", SpvWord{5}}, {"ImageOperandsMakeTexelAvailable", SpvWord{256}}, {"FunctionParameterAttributeNoAlias", SpvWord{4}}, {"DecorationAliasedPointer", SpvWord{5356}}, {"StorageClassPushConstant", SpvWord{9}}, {"ImageFormatR64i", SpvWord{41}}, {"CapabilitySampledBuffer", SpvWord{46}}, {"CapabilityQuadControlKHR", SpvWord{5087}}, {"MemorySemanticsUniformMemory", SpvWord{64}}, {"ImageChannelOrderDepthStencil", SpvWord{14}}, {"DecorationHostAccessINTEL", SpvWord{6188}}, {"ExecutionModePointMode", SpvWord{10}}, {"ExecutionModeDepthLess", SpvWord{15}}, {"StorageClassFunction", SpvWord{7}}, {"CapabilitySubgroupVoteKHR", SpvWord{4431}}, {"Dim1D", SpvWord{0}}, {"DecorationNoContraction", SpvWord{42}}, {"MemoryAccessAliasScopeINTELMask", SpvWord{65536}}, {"BuiltInObjectRayDirectionKHR", SpvWord{5324}}, {"DecorationFlat", SpvWord{14}}, {"CapabilityStorageImageArrayNonUniformIndexing", SpvWord{5309}}, {"CapabilityDemoteToHelperInvocation", SpvWord{5379}}, {"DecorationAlignmentId", SpvWord{46}}, {"CapabilityStorageBufferArrayNonUniformIndexing", SpvWord{5308}}, {"DecorationLinkageAttributes", SpvWord{41}}, {"ExecutionModeRegisterMapInterfaceINTEL", SpvWord{6160}}, {"LoopControlPeelCount", SpvWord{128}}, {"RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionGeneratedKHR", SpvWord{2}}, {"BuiltInEnqueuedWorkgroupSize", SpvWord{32}}, {"ExecutionModeDepthReplacing", SpvWord{12}}, {"CapabilityGenericPointer", SpvWord{38}}, {"MemorySemanticsOutputMemoryKHR", SpvWord{4096}}, {"ExecutionModePostDepthCoverage", SpvWord{4446}}, {"DecorationBoundImageNV", SpvWord{5401}}, {"CapabilityComputeDerivativeGroupLinearNV", SpvWord{5350}}, {"ExecutionModeVertexOrderCcw", SpvWord{5}}, {"BuiltInPosition", SpvWord{0}}, {"QuantizationModesRND_ZERO", SpvWord{3}}, {"CapabilityPerViewAttributesNV", SpvWord{5260}}, {"MemorySemanticsCrossWorkgroupMemory", SpvWord{512}}, {"SourceLanguageSlang", SpvWord{11}}, {"CapabilityUniformTexelBufferArrayNonUniformIndexing", SpvWord{5311}}, {"CapabilityUniformDecoration", SpvWord{71}}, {"DecorationWordsizeINTEL", SpvWord{5884}}, {"ImageOperandsMinLod", SpvWord{128}}, {"ImageChannelDataTypeSignedInt16", SpvWord{8}}, {"ImageOperandsMakeTexelAvailableKHR", SpvWord{256}}, {"ExecutionModeContractionOff", SpvWord{31}}, {"OverflowModesSAT_SYM", SpvWord{3}}, {"CapabilityMemoryAccessAliasingINTEL", SpvWord{5910}}, {"CapabilityImageMSArray", SpvWord{48}}, {"DecorationUserSemantic", SpvWord{5635}}, {"AccessQualifierWriteOnly", SpvWord{1}}, {"DecorationFPMaxErrorDecorationINTEL", SpvWord{6170}}, {"ExecutionModelMissKHR", SpvWord{5317}}, {"BuiltInIncomingRayFlagsKHR", SpvWord{5351}}, {"ExecutionModePixelInterlockOrderedEXT", SpvWord{5366}}, {"StorageClassHostOnlyINTEL", SpvWord{5937}}, {"StoreCacheControlStreamingINTEL", SpvWord{3}}, {"ExecutionModeOutputPoints", SpvWord{27}}, {"SourceLanguageWGSL", SpvWord{10}}, {"RayQueryIntersectionRayQueryCommittedIntersectionKHR", SpvWord{1}}, {"CapabilityGeometry", SpvWord{2}}, {"CapabilityTextureBlockMatchQCOM", SpvWord{4486}}, {"BuiltInCullDistancePerViewNV", SpvWord{5278}}, {"CapabilitySubgroupImageMediaBlockIOINTEL", SpvWord{5579}}, {"MemoryModelSimple", SpvWord{0}}, {"BuiltInBaryCoordNoPerspAMD", SpvWord{4992}}, {"DecorationPerPrimitiveNV", SpvWord{5271}}, {"ImageChannelOrderRx", SpvWord{10}}, {"DecorationBurstCoalesceINTEL", SpvWord{5899}}, {"RayFlagsCullNoOpaqueKHR", SpvWord{128}}, {"StorageClassShaderRecordBufferKHR", SpvWord{5343}}, {"FPRoundingModeRTP", SpvWord{2}}, {"CapabilityAtomicFloat16MinMaxEXT", SpvWord{5616}}, {"ImageChannelOrderDepth", SpvWord{13}}, {"SourceLanguageOpenCL_CPP", SpvWord{4}}, {"ExecutionModelGeometry", SpvWord{3}}, {"BuiltInWorkgroupId", SpvWord{26}}, {"CapabilityPipes", SpvWord{17}}, {"CapabilityAtomicStorage", SpvWord{21}}, {"StorageClassPhysicalStorageBufferEXT", SpvWord{5349}}, {"LoopControlNoFusionINTEL", SpvWord{8388608}}, {"BuiltInHitKindFrontFacingMicroTriangleNV", SpvWord{5405}}, {"CapabilityInputAttachmentArrayNonUniformIndexingEXT", SpvWord{5310}}, {"ExecutionModelFragment", SpvWord{4}}, {"FPRoundingModeRTE", SpvWord{0}}, {"CapabilityShaderViewportIndex", SpvWord{70}}, {"ImageOperandsOffsets", SpvWord{65536}}, {"ExecutionModeFinalizer", SpvWord{34}}, {"BuiltInTessLevelOuter", SpvWord{11}}, {"CapabilityFPGAClusterAttributesV2INTEL", SpvWord{6150}}, {"CapabilityImageFootprintNV", SpvWord{5282}}, {"StorageClassHitObjectAttributeNV", SpvWord{5385}}, {"LoopControlIterationMultiple", SpvWord{64}}, {"ImageOperandsBias", SpvWord{1}}, {"ExecutionModelTaskEXT", SpvWord{5364}}, {"DecorationArrayStride", SpvWord{6}}, {"BuiltInViewportIndex", SpvWord{10}}, {"CapabilityOptNoneINTEL", SpvWord{6094}}, {"BuiltInPrimitiveIndicesNV", SpvWord{5276}}, {"CapabilitySampleMaskOverrideCoverageNV", SpvWord{5249}}, {"CapabilityMaskedGatherScatterINTEL", SpvWord{6427}}, {"ImageOperandsConstOffset", SpvWord{8}}, {"ExecutionModeFloatingPointModeIEEEINTEL", SpvWord{5623}}, {"ImageFormatR16f", SpvWord{9}}, {"MemoryAccessNontemporal", SpvWord{4}}, {"CapabilityVariableLengthArrayINTEL", SpvWord{5817}}, {"DecorationVectorComputeVariableINTEL", SpvWord{5624}}, {"BuiltInDrawIndex", SpvWord{4426}}, {"ImageChannelOrderRA", SpvWord{3}}, {"CapabilityFragmentFullyCoveredEXT", SpvWord{5265}}, {"DecorationCPacked", SpvWord{10}}, {"ImageFormatRgba16Snorm", SpvWord{16}}, {"StorageClassImage", SpvWord{11}}, {"ImageChannelOrderRGx", SpvWord{11}}, {"CapabilityDotProductKHR", SpvWord{6019}}, {"MemoryAccessNonPrivatePointerKHR", SpvWord{32}}, {"BuiltInBaryCoordNV", SpvWord{5286}}, {"DecorationRestrictPointerEXT", SpvWord{5355}}, {"CapabilityDeviceGroup", SpvWord{4437}}, {"DimTileImageDataEXT", SpvWord{4173}}, {"CooperativeMatrixOperandsMatrixCSignedComponentsKHR", SpvWord{4}}, {"LoopControlPartialCount", SpvWord{256}}, {"CapabilityStorageUniformBufferBlock16", SpvWord{4433}}, {"CapabilityFPGADSPControlINTEL", SpvWord{5908}}, {"CapabilityGroupNonUniformBallot", SpvWord{64}}, {"CapabilityDotProductInputAll", SpvWord{6016}}, {"ExecutionModeMaxWorkDimINTEL", SpvWord{5894}}, {"CapabilityVectorAnyINTEL", SpvWord{5619}}, {"CooperativeMatrixLayoutRowMajorKHR", SpvWord{0}}, {"LoadCacheControlCachedINTEL", SpvWord{1}}, {"DecorationHlslSemanticGOOGLE", SpvWord{5635}}, {"CapabilitySubgroupAvcMotionEstimationIntraINTEL", SpvWord{5697}}, {"ExecutionModeDenormFlushToZero", SpvWord{4460}}, {"ExecutionModeCoalescingAMDX", SpvWord{5069}}, {"BuiltInObjectToWorldKHR", SpvWord{5330}}, {"BuiltInBaseInstance", SpvWord{4425}}, {"DecorationMemoryINTEL", SpvWord{5826}}, {"CapabilityGroupNonUniformShuffle", SpvWord{65}}, {"ExecutionModeRoundingModeRTPINTEL", SpvWord{5620}}, {"MemorySemanticsAcquire", SpvWord{2}}, {"KernelEnqueueFlagsWaitKernel", SpvWord{1}}, {"CapabilityTextureBoxFilterQCOM", SpvWord{4485}}, {"ExecutionModeTriangles", SpvWord{22}}, {"FPFastMathModeNone", SpvWord{0}}, {"DecorationCacheSizeINTEL", SpvWord{5900}}, {"StorageClassCodeSectionINTEL", SpvWord{5605}}, {"BuiltInPointCoord", SpvWord{16}}, {"GroupOperationPartitionedExclusiveScanNV", SpvWord{8}}, {"BuiltInLaunchSizeNV", SpvWord{5320}}, {"FragmentShadingRateHorizontal4Pixels", SpvWord{8}}, {"DecorationMaxByteOffset", SpvWord{45}}, {"DecorationLocation", SpvWord{30}}, {"DecorationMaxPrivateCopiesINTEL", SpvWord{5829}}, {"BuiltInTaskCountNV", SpvWord{5274}}, {"CapabilityGroups", SpvWord{18}}, {"ExecutionModeRoundingModeRTZ", SpvWord{4463}}, {"DecorationGLSLShared", SpvWord{8}}, {"ImageFormatRgba8i", SpvWord{23}}, {"CapabilityInt64Atomics", SpvWord{12}}, {"SamplerAddressingModeClamp", SpvWord{2}}, {"FPDenormModeFlushToZero", SpvWord{1}}, {"BuiltInHitMicroTriangleVertexBarycentricsNV", SpvWord{5344}}, {"MemoryModelVulkanKHR", SpvWord{3}}, {"CapabilityRuntimeAlignedAttributeINTEL", SpvWord{5939}}, {"QuantizationModesRND_CONV_ODD", SpvWord{7}}, {"BuiltInBaryCoordSmoothCentroidAMD", SpvWord{4996}}, {"MemoryAccessMakePointerAvailable", SpvWord{8}}, {"CapabilityFPGAArgumentInterfacesINTEL", SpvWord{6174}}, {"BuiltInPrimitiveTriangleIndicesEXT", SpvWord{5296}}, {"BuiltInLayer", SpvWord{9}}, {"ExecutionModeStencilRefReplacingEXT", SpvWord{5027}}, {"FunctionControlOptNoneINTEL", SpvWord{65536}}, {"ExecutionModeOutputLinesEXT", SpvWord{5269}}, {"ImageOperandsSample", SpvWord{64}}, {"AddressingModelPhysical32", SpvWord{1}}, {"ImageFormatRg8", SpvWord{13}}, {"DecorationViewportRelativeNV", SpvWord{5252}}, {"CapabilityFunctionFloatControlINTEL", SpvWord{5821}}, {"StorageClassPhysicalStorageBuffer", SpvWord{5349}}, {"BuiltInIncomingRayFlagsNV", SpvWord{5351}}, {"FPFastMathModeAllowContractFastINTEL", SpvWord{65536}}, {"ExecutionModeStencilRefGreaterFrontAMD", SpvWord{5080}}, {"CapabilityFragmentShadingRateKHR", SpvWord{4422}}, {"RayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionAABBKHR", SpvWord{1}}, {"BuiltInSubgroupLtMaskKHR", SpvWord{4420}}, {"ImageChannelDataTypeUnormInt8", SpvWord{2}}, {"ExecutionModeRoundingModeRTE", SpvWord{4462}}, {"DimRect", SpvWord{4}}, {"ImageChannelOrderR", SpvWord{0}}, {"ExecutionModeDepthGreater", SpvWord{14}}, {"DecorationConduitKernelArgumentINTEL", SpvWord{6175}}, {"FunctionParameterAttributeNoCapture", SpvWord{5}}, {"BuiltInBaryCoordNoPerspCentroidAMD", SpvWord{4993}}, {"ImageChannelOrdersRGB", SpvWord{15}}, {"DecorationCentroid", SpvWord{16}}, {"BuiltInSubgroupGeMask", SpvWord{4417}}, {"CapabilityFragmentShaderShadingRateInterlockEXT", SpvWord{5372}}, {"CapabilityInt16", SpvWord{22}}, {"CapabilityFPGAKernelAttributesv2INTEL", SpvWord{6161}}, {"ImageFormatR16", SpvWord{14}}, {"ImageFormatRg16i", SpvWord{26}}, {"ExecutionModeInvocations", SpvWord{0}}, {"BuiltInInstanceCustomIndexKHR", SpvWord{5327}}, {"LoopControlMaxConcurrencyINTEL", SpvWord{131072}}, {"StorageClassCallableDataKHR", SpvWord{5328}}, {"ImageChannelOrderA", SpvWord{1}}, {"CapabilityDenormFlushToZero", SpvWord{4465}}, {"ImageFormatRgba8ui", SpvWord{32}}, {"StoreCacheControlWriteBackINTEL", SpvWord{2}}, {"DecorationBufferBlock", SpvWord{3}}, {"BuiltInSubgroupLocalInvocationId", SpvWord{41}}, {"ExecutionModeEarlyAndLateFragmentTestsAMD", SpvWord{5017}}, {"BuiltInWarpsPerSMNV", SpvWord{5374}}, {"BuiltInRayTmaxNV", SpvWord{5326}}, {"BuiltInGlobalSize", SpvWord{31}}, {"DecorationMergeINTEL", SpvWord{5834}}, {"DecorationNoUnsignedWrap", SpvWord{4470}}, {"CapabilityCacheControlsINTEL", SpvWord{6441}}, {"CooperativeMatrixOperandsSaturatingAccumulationKHR", SpvWord{16}}, {"BuiltInSubgroupLtMask", SpvWord{4420}}, {"ExecutionModeDepthUnchanged", SpvWord{16}}, {"ImageChannelDataTypeUnormInt101010", SpvWord{6}}, {"StorageClassIncomingRayPayloadNV", SpvWord{5342}}, {"ExecutionModeOutputLinesNV", SpvWord{5269}}, {"RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionNoneKHR", SpvWord{0}}, {"LoopControlInitiationIntervalINTEL", SpvWord{65536}}, {"ExecutionModeMaximumRegistersINTEL", SpvWord{6461}}, {"MemoryAccessMakePointerAvailableKHR", SpvWord{8}}, {"CapabilityUniformAndStorageBuffer16BitAccess", SpvWord{4434}}, {"MemoryAccessAligned", SpvWord{2}}, {"BuiltInSubgroupSize", SpvWord{36}}, {"RayFlagsTerminateOnFirstHitKHR", SpvWord{4}}, {"CapabilityFragmentBarycentricNV", SpvWord{5284}}, {"CapabilityRegisterLimitsINTEL", SpvWord{6460}}, {"ExecutionModeRequireFullQuadsKHR", SpvWord{5089}}, {"CapabilityDotProduct", SpvWord{6019}}, {"ExecutionModelCallableKHR", SpvWord{5318}}, {"MemorySemanticsSequentiallyConsistent", SpvWord{16}}, {"MemoryAccessNonPrivatePointer", SpvWord{32}}, {"CapabilityGeometryStreams", SpvWord{54}}, {"CapabilityShadingRateNV", SpvWord{5291}}, {"DecorationUniformId", SpvWord{27}}, {"StorageClassIncomingCallableDataNV", SpvWord{5329}}, {"DecorationMMHostInterfaceLatencyINTEL", SpvWord{6179}}, {"BuiltInNumEnqueuedSubgroups", SpvWord{39}}, {"ExecutionModeMaximumRegistersIdINTEL", SpvWord{6462}}, {"CapabilityClipDistance", SpvWord{32}}, {"ExecutionModelMissNV", SpvWord{5317}}, {"ScopeShaderCallKHR", SpvWord{6}}, {"BuiltInCullDistance", SpvWord{4}}, {"ExecutionModeMaxNumWorkgroupsAMDX", SpvWord{5077}}, {"CapabilityInt8", SpvWord{39}}, {"MemorySemanticsSubgroupMemory", SpvWord{128}}, {"ExecutionModelRayGenerationNV", SpvWord{5313}}, {"SourceLanguageUnknown", SpvWord{0}}, {"CapabilityImage1D", SpvWord{44}}, {"CapabilityIntegerFunctions2INTEL", SpvWord{5584}}, {"SelectionControlNone", SpvWord{0}}, {"BuiltInRayGeometryIndexKHR", SpvWord{5352}}, {"MemorySemanticsWorkgroupMemory", SpvWord{256}}, {"ScopeSubgroup", SpvWord{3}}, {"LoopControlLoopCountINTEL", SpvWord{16777216}}, {"BuiltInRayTmaxKHR", SpvWord{5326}}, {"FunctionParameterAttributeNoReadWrite", SpvWord{7}}, {"ExecutionModeXfb", SpvWord{11}}, {"FragmentShadingRateVertical2Pixels", SpvWord{1}}, {"MemoryAccessNoAliasINTELMask", SpvWord{131072}}, {"ImageFormatR64ui", SpvWord{40}}, {"CapabilityStorageBufferArrayNonUniformIndexingEXT", SpvWord{5308}}, {"HostAccessQualifierWriteINTEL", SpvWord{2}}, {"CapabilitySampledCubeArray", SpvWord{45}}, {"DecorationWeightTextureQCOM", SpvWord{4487}}, {"ExecutionModeSampleInterlockOrderedEXT", SpvWord{5368}}, {"RayFlagsSkipClosestHitShaderKHR", SpvWord{8}}, {"CapabilityWorkgroupMemoryExplicitLayout16BitAccessKHR", SpvWord{4430}}, {"CapabilityStorageBuffer16BitAccess", SpvWord{4433}}, {"ExecutionModeLocalSizeId", SpvWord{38}}, {"DecorationFuseLoopsInFunctionINTEL", SpvWord{5907}}, {"BuiltInBaryCoordSmoothSampleAMD", SpvWord{4997}}, {"SamplerFilterModeNearest", SpvWord{0}}, {"GroupOperationReduce", SpvWord{0}}, {"CapabilityInputAttachmentArrayDynamicIndexingEXT", SpvWord{5303}}, {"StorageClassStorageBuffer", SpvWord{12}}, {"CapabilityFPGARegINTEL", SpvWord{5948}}, {"CapabilityShaderEnqueueAMDX", SpvWord{5067}}, {"ExecutionModeNonCoherentDepthAttachmentReadEXT", SpvWord{4170}}, {"FPFastMathModeAllowReassocINTEL", SpvWord{131072}}, {"CapabilityMultiViewport", SpvWord{57}}, {"ExecutionModelVertex", SpvWord{0}}, {"LoopControlUnroll", SpvWord{1}}, {"SourceLanguageNZSL", SpvWord{9}}, {"BuiltInLayerPerViewNV", SpvWord{5279}}, {"ExecutionModeLocalSizeHint", SpvWord{18}}, {"ImageFormatR8", SpvWord{15}}, {"CapabilityUSMStorageClassesINTEL", SpvWord{5935}}, {"StorageClassUniformConstant", SpvWord{0}}, {"QuantizationModesRND_INF", SpvWord{4}}, {"CapabilityImageReadWriteLodAMD", SpvWord{5015}}, {"BuiltInPositionPerViewNV", SpvWord{5261}}, {"CapabilityFragmentShaderSampleInterlockEXT", SpvWord{5363}}, {"ImageOperandsNone", SpvWord{0}}, {"ExecutionModeSharedLocalMemorySizeINTEL", SpvWord{5618}}, {"CapabilityRayTraversalPrimitiveCullingKHR", SpvWord{4478}}, {"CapabilityLongCompositesINTEL", SpvWord{6089}}, {"ExecutionModeOutputPrimitivesEXT", SpvWord{5270}}, {"DecorationSideEffectsINTEL", SpvWord{5608}}, {"MemorySemanticsAcquireRelease", SpvWord{8}}, {"RawAccessChainOperandsNone", SpvWord{0}}, {"ExecutionModeDerivativeGroupQuadsNV", SpvWord{5289}}, {"CapabilityCooperativeMatrixKHR", SpvWord{6022}}, {"ImageChannelDataTypeSignedInt32", SpvWord{9}}, {"LoopControlDependencyLength", SpvWord{8}}, {"ImageFormatR16Snorm", SpvWord{19}}, {"DecorationRowMajor", SpvWord{4}}, {"ExecutionModelAnyHitNV", SpvWord{5315}}, {"BuiltInClipDistancePerViewNV", SpvWord{5277}}, {"BuiltInInstanceCustomIndexNV", SpvWord{5327}}, {"DecorationPerVertexNV", SpvWord{5285}}, {"DecorationVolatile", SpvWord{21}}, {"CapabilityImageGatherExtended", SpvWord{25}}, {"CapabilityTileImageDepthReadAccessEXT", SpvWord{4167}}, {"BuiltInHitTriangleVertexPositionsKHR", SpvWord{5335}}, {"FunctionControlInline", SpvWord{1}}, {"ImageFormatRg32f", SpvWord{6}}, {"SelectionControlDontFlatten", SpvWord{2}}, {"BuiltInShaderIndexAMDX", SpvWord{5073}}, {"MemorySemanticsRelaxed", SpvWord{0}}, {"DimBuffer", SpvWord{5}}, {"BuiltInPrimitiveId", SpvWord{7}}, {"LoopControlPipelineEnableINTEL", SpvWord{524288}}, {"RayFlagsSkipAABBsKHR", SpvWord{512}}, {"CapabilityFragmentBarycentricKHR", SpvWord{5284}}, {"CapabilityGroupNonUniformRotateKHR", SpvWord{6026}}, {"BuiltInWorldToObjectKHR", SpvWord{5331}}, {"StorageClassGeneric", SpvWord{8}}, {"BuiltInHelperInvocation", SpvWord{23}}, {"ExecutionModeFloatingPointModeALTINTEL", SpvWord{5622}}, {"CapabilityUnstructuredLoopControlsINTEL", SpvWord{5886}}, {"CapabilityMultiView", SpvWord{4439}}, {"StorageClassNodeOutputPayloadAMDX", SpvWord{5076}}, {"LinkageTypeImport", SpvWord{1}}, {"CapabilityAtomicFloat32AddEXT", SpvWord{6033}}, {"DecorationVectorComputeFunctionINTEL", SpvWord{5626}}, {"CapabilityGroupNonUniformQuad", SpvWord{68}}, {"InitializationModeQualifierInitOnDeviceReprogramINTEL", SpvWord{0}}, {"CapabilityDebugInfoModuleINTEL", SpvWord{6114}}, {"MemoryAccessMakePointerVisible", SpvWord{16}}, {"ExecutionModeOriginUpperLeft", SpvWord{7}}, {"CooperativeMatrixOperandsMatrixASignedComponentsKHR", SpvWord{1}}, {"ImageChannelOrderRGB", SpvWord{4}}, {"ExecutionModeDenormPreserve", SpvWord{4459}}, {"CapabilitySampledImageArrayNonUniformIndexing", SpvWord{5307}}, {"GroupOperationExclusiveScan", SpvWord{2}}, {"RayFlagsOpaqueKHR", SpvWord{1}}, {"DecorationMaxReplicatesINTEL", SpvWord{5832}}, {"ExecutionModeOutputPrimitivesNV", SpvWord{5270}}, {"CapabilityRuntimeDescriptorArray", SpvWord{5302}}, {"CooperativeMatrixOperandsNoneKHR", SpvWord{0}}, {"ImageChannelOrderLuminance", SpvWord{9}}, {"DecorationHlslCounterBufferGOOGLE", SpvWord{5634}}, {"CapabilityIndirectReferencesINTEL", SpvWord{5604}}, {"DecorationFunctionRoundingModeINTEL", SpvWord{5822}}, {"CapabilityGroupNonUniformArithmetic", SpvWord{63}}, {"OverflowModesSAT_ZERO", SpvWord{2}}, {"BuiltInLaunchIdKHR", SpvWord{5319}}, {"CapabilityImageQuery", SpvWord{50}}, {"BuiltInHitTNV", SpvWord{5332}}, {"ImageChannelOrderRG", SpvWord{2}}, {"ImageFormatR8ui", SpvWord{39}}, {"SamplerAddressingModeRepeatMirrored", SpvWord{4}}, {"DecorationNodeMaxPayloadsAMDX", SpvWord{5020}}, {"ExecutionModelTessellationControl", SpvWord{1}}, {"StorageClassUniform", SpvWord{2}}, {"ExecutionModeOutputTrianglesEXT", SpvWord{5298}}, {"ExecutionModeInputLinesAdjacency", SpvWord{21}}, {"FPFastMathModeFast", SpvWord{16}}, {"BuiltInNumWorkgroups", SpvWord{24}}, {"StorageClassCrossWorkgroup", SpvWord{5}}, {"CapabilityVector16", SpvWord{7}}, {"DecorationInvariant", SpvWord{18}}, {"AddressingModelPhysical64", SpvWord{2}}, {"RawAccessChainOperandsRobustnessPerElementNV", SpvWord{2}}, {"ImageChannelDataTypeHalfFloat", SpvWord{13}}, {"CapabilityImageCubeArray", SpvWord{34}}, {"DecorationPerPrimitiveEXT", SpvWord{5271}}, {"CapabilityGroupUniformArithmeticKHR", SpvWord{6400}}, {"BuiltInSubgroupEqMask", SpvWord{4416}}, {"CapabilityMeshShadingEXT", SpvWord{5283}}, {"DecorationNonReadable", SpvWord{25}}, {"CapabilityGroupNonUniformShuffleRelative", SpvWord{66}}, {"CapabilityFragmentMaskAMD", SpvWord{5010}}, {"AccessQualifierReadWrite", SpvWord{2}}, {"BuiltInWorldRayOriginKHR", SpvWord{5321}}, {"CapabilitySubgroupShuffleINTEL", SpvWord{5568}}, {"CapabilityImageBuffer", SpvWord{47}}, {"ImageFormatRg16f", SpvWord{7}}, {"MemorySemanticsOutputMemory", SpvWord{4096}}, {"StorageClassIncomingRayPayloadKHR", SpvWord{5342}}, {"RayQueryIntersectionRayQueryCandidateIntersectionKHR", SpvWord{0}}, {"DecorationMatrixStride", SpvWord{7}}, {"ImageChannelOrderBGRA", SpvWord{6}}, {"BuiltInInvocationsPerPixelNV", SpvWord{5293}}, {"DecorationPipelineEnableINTEL", SpvWord{5919}}, {"ImageOperandsOffset", SpvWord{16}}, {"ExecutionModeOutputTrianglesNV", SpvWord{5298}}, {"KernelProfilingInfoNone", SpvWord{0}}, {"BuiltInViewportMaskNV", SpvWord{5253}}, {"DecorationAliasScopeINTEL", SpvWord{5914}}, {"DecorationPayloadNodeNameAMDX", SpvWord{5091}}, {"CapabilityMinLod", SpvWord{42}}, {"DecorationAliased", SpvWord{20}}, {"BuiltInSubgroupEqMaskKHR", SpvWord{4416}}, {"DecorationHitObjectShaderRecordBufferNV", SpvWord{5386}}, {"DecorationBuiltIn", SpvWord{11}}, {"StoreCacheControlWriteThroughINTEL", SpvWord{1}}, {"DecorationInitiationIntervalINTEL", SpvWord{5917}}, {"StorageClassShaderRecordBufferNV", SpvWord{5343}}, {"CapabilityDotProductInput4x8BitPackedKHR", SpvWord{6018}}, {"ExecutionModeNoGlobalOffsetINTEL", SpvWord{5895}}, {"ExecutionModelIntersectionNV", SpvWord{5314}}, {"CooperativeMatrixUseMatrixBKHR", SpvWord{1}}, {"BuiltInLocalInvocationIndex", SpvWord{29}}, {"CapabilityStorageImageArrayDynamicIndexing", SpvWord{31}}, {"CapabilityTileImageStencilReadAccessEXT", SpvWord{4168}}, {"ExecutionModeInputLines", SpvWord{20}}, {"CapabilityTileImageColorReadAccessEXT", SpvWord{4166}}, {"BuiltInFragInvocationCountEXT", SpvWord{5293}}, {"ImageOperandsMakeTexelVisible", SpvWord{512}}, {"CapabilitySubgroupAvcMotionEstimationINTEL", SpvWord{5696}}, {"StorageClassWorkgroup", SpvWord{4}}, {"CapabilityDotProductInput4x8BitPacked", SpvWord{6018}}, {"BuiltInLaunchIdNV", SpvWord{5319}}, {"LoopControlMaxIterations", SpvWord{32}}, {"StorageClassAtomicCounter", SpvWord{10}}, {"ImageFormatRgba8Snorm", SpvWord{5}}, {"BuiltInObjectRayOriginNV", SpvWord{5323}}, {"HostAccessQualifierReadINTEL", SpvWord{1}}, {"ImageChannelOrdersBGRA", SpvWord{18}}, {"MemorySemanticsMakeAvailableKHR", SpvWord{8192}}, {"CapabilityGroupNonUniform", SpvWord{61}}, {"CapabilityRayQueryKHR", SpvWord{4472}}, {"ImageFormatRgba32f", SpvWord{1}}, {"StorageClassOutput", SpvWord{3}}, {"CapabilityCullDistance", SpvWord{33}}, {"DecorationStallEnableINTEL", SpvWord{5905}}, {"SourceLanguageSYCL", SpvWord{7}}, {"CapabilityRayTracingPositionFetchKHR", SpvWord{5336}}, {"GroupOperationPartitionedReduceNV", SpvWord{6}}, {"ImageFormatRgb10A2", SpvWord{11}}, {"CooperativeMatrixOperandsMatrixResultSignedComponentsKHR", SpvWord{8}}, {"DecorationExplicitInterpAMD", SpvWord{4999}}, {"ImageOperandsLod", SpvWord{2}}, {"CapabilityShaderViewportIndexLayerNV", SpvWord{5254}}, {"CapabilityUniformBufferArrayNonUniformIndexing", SpvWord{5306}}, {"CapabilityDotProductInput4x8Bit", SpvWord{6017}}, {"LinkageTypeLinkOnceODR", SpvWord{2}}, {"MemorySemanticsImageMemory", SpvWord{2048}}, {"FPFastMathModeAllowContract", SpvWord{65536}}, {"BuiltInMeshViewCountNV", SpvWord{5280}}, {"ImageChannelDataTypeSnormInt16", SpvWord{1}}, {"CapabilityShaderNonUniform", SpvWord{5301}}, {"ExecutionModeSpacingFractionalOdd", SpvWord{3}}, {"FPRoundingModeRTN", SpvWord{3}}, {"BuiltInWarpMaxIDARM", SpvWord{4164}}, {"CapabilityDotProductInputAllKHR", SpvWord{6016}}, {"DecorationBindlessImageNV", SpvWord{5399}}, {"DecorationBufferLocationINTEL", SpvWord{5921}}, {"DecorationMMHostInterfaceMaxBurstINTEL", SpvWord{6181}}, {"DecorationLatencyControlConstraintINTEL", SpvWord{6173}}, {"CapabilityStorageTexelBufferArrayNonUniformIndexingEXT", SpvWord{5312}}, {"CapabilityTextureBlockMatch2QCOM", SpvWord{4498}}, {"BuiltInBaryCoordNoPerspKHR", SpvWord{5287}}, {"RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionTriangleKHR", SpvWord{1}}, {"DecorationRestrictPointer", SpvWord{5355}}, {"BuiltInSMCountNV", SpvWord{5375}}, {"DecorationRegisterINTEL", SpvWord{5825}}, {"DecorationInitModeINTEL", SpvWord{6190}}, {"BuiltInCoalescedInputCountAMDX", SpvWord{5021}}, {"FPFastMathModeNotInf", SpvWord{2}}, {"GroupOperationPartitionedInclusiveScanNV", SpvWord{7}}, {"BuiltInWorldRayDirectionNV", SpvWord{5322}}, {"SourceLanguageHERO_C", SpvWord{8}}, {"ExecutionModeStencilRefUnchangedFrontAMD", SpvWord{5079}}, {"CapabilityUniformBufferArrayDynamicIndexing", SpvWord{28}}, {"SourceLanguageOpenCL_C", SpvWord{3}}, {"CapabilityBFloat16ConversionINTEL", SpvWord{6115}}, {"CooperativeMatrixOperandsMatrixBSignedComponentsKHR", SpvWord{2}}, {"StorageClassTileImageEXT", SpvWord{4172}}, {"DecorationNonUniformEXT", SpvWord{5300}}, {"DecorationXfbBuffer", SpvWord{36}}, {"CapabilityFPGAMemoryAttributesINTEL", SpvWord{5824}}, {"ImageFormatRgba16ui", SpvWord{31}}, {"CapabilitySignedZeroInfNanPreserve", SpvWord{4466}}, {"FunctionParameterAttributeSret", SpvWord{3}}, {"ExecutionModeStreamingInterfaceINTEL", SpvWord{6154}}, {"BuiltInCoreMaxIDARM", SpvWord{4162}}, {"DecorationStridesizeINTEL", SpvWord{5883}}, {"ExecutionModelTaskNV", SpvWord{5267}}, {"RawAccessChainOperandsRobustnessPerComponentNV", SpvWord{1}}, {"CapabilityFloat16Buffer", SpvWord{8}}, {"ExecutionModeSubgroupsPerWorkgroup", SpvWord{36}}, {"DecorationOverrideCoverageNV", SpvWord{5248}}, {"ImageFormatRg16ui", SpvWord{36}}, {"LoopControlLoopCoalesceINTEL", SpvWord{1048576}}, {"ExecutionModeSpacingEqual", SpvWord{1}}, {"BuiltInBaryCoordNoPerspSampleAMD", SpvWord{4994}}, {"DecorationXfbStride", SpvWord{37}}, {"QuantizationModesRND_CONV", SpvWord{6}}, {"CapabilityTextureSampleWeightedQCOM", SpvWord{4484}}, {"BuiltInHitKindBackFacingMicroTriangleNV", SpvWord{5406}}, {"DecorationLatencyControlLabelINTEL", SpvWord{6172}}, {"ExecutionModeNonCoherentColorAttachmentReadEXT", SpvWord{4169}}, {"BuiltInBaseVertex", SpvWord{4424}}, {"BuiltInGlobalInvocationId", SpvWord{28}}, {"CapabilityRoundToInfinityINTEL", SpvWord{5582}}, {"DecorationMMHostInterfaceDataWidthINTEL", SpvWord{6178}}, {"ExecutionModeOriginLowerLeft", SpvWord{8}}, {"ImageFormatRgba8", SpvWord{4}}, {"DecorationBinding", SpvWord{33}}, {"LoadCacheControlInvalidateAfterReadINTEL", SpvWord{3}}, {"CapabilityFloatingPointModeINTEL", SpvWord{5583}}, {"BuiltInWarpIDNV", SpvWord{5376}}, {"DecorationRestrict", SpvWord{19}}, {"CapabilityFPGAKernelAttributesINTEL", SpvWord{5897}}, {"CapabilityFragmentShaderPixelInterlockEXT", SpvWord{5378}}, {"BuiltInSubgroupGtMaskKHR", SpvWord{4418}}, {"BuiltInSMIDNV", SpvWord{5377}}, {"CapabilityRayQueryProvisionalKHR", SpvWord{4471}}, {"ImageChannelDataTypeUnormShort555", SpvWord{5}}, {"BuiltInSubgroupId", SpvWord{40}}, {"ImageFormatR16ui", SpvWord{38}}, {"CapabilityArbitraryPrecisionIntegersINTEL", SpvWord{5844}}, {"SourceLanguageCPP_for_OpenCL", SpvWord{6}}, {"FunctionControlNone", SpvWord{0}}, {"CapabilityStorageImageArrayNonUniformIndexingEXT", SpvWord{5309}}, {"CapabilityIOPipesINTEL", SpvWord{5943}}, {"CapabilityAtomicStorageOps", SpvWord{4445}}, {"DecorationBankwidthINTEL", SpvWord{5828}}, {"CapabilityGlobalVariableHostAccessINTEL", SpvWord{6187}}, {"CapabilityAddresses", SpvWord{4}}, {"DecorationSimpleDualPortINTEL", SpvWord{5833}}, {"AddressingModelPhysicalStorageBuffer64", SpvWord{5348}}, {"CapabilityInterpolationFunction", SpvWord{52}}, {"LinkageTypeExport", SpvWord{0}}, {"BuiltInWorkgroupSize", SpvWord{25}}, {"BuiltInWorldRayDirectionKHR", SpvWord{5322}}, {"ImageFormatRg8ui", SpvWord{37}}, {"ImageOperandsGrad", SpvWord{4}}, {"BuiltInCullMaskKHR", SpvWord{6021}}, {"BuiltInObjectToWorldNV", SpvWord{5330}}, {"DecorationCacheControlStoreINTEL", SpvWord{6443}}, {"CapabilityShaderViewportMaskNV", SpvWord{5255}}, {"CapabilityArbitraryPrecisionFixedPointINTEL", SpvWord{5922}}, {"CapabilitySplitBarrierINTEL", SpvWord{6141}}, {"BuiltInBaryCoordKHR", SpvWord{5286}}, {"ImageChannelDataTypeUnsignedInt32", SpvWord{12}}, {"BuiltInVertexIndex", SpvWord{42}}, {"CapabilityLinkage", SpvWord{5}}, {"KernelEnqueueFlagsWaitWorkGroup", SpvWord{2}}, {"ExecutionModelGLCompute", SpvWord{5}}, {"CapabilityInt64", SpvWord{11}}, {"CapabilityFPGALoopControlsINTEL", SpvWord{5888}}, {"BuiltInGlobalLinearId", SpvWord{34}}, {"BuiltInNumSubgroups", SpvWord{38}}, {"BuiltInSubgroupGeMaskKHR", SpvWord{4417}}, {"BuiltInWorkDim", SpvWord{30}}, {"CapabilityImageMipmap", SpvWord{15}}, {"SelectionControlFlatten", SpvWord{1}}, {"ImageChannelOrderARGB", SpvWord{7}}, {"CapabilityInputAttachment", SpvWord{40}}, {"DecorationSingleElementVectorINTEL", SpvWord{6085}}, {"DecorationRelaxedPrecision", SpvWord{0}}, {"ExecutionModelClosestHitKHR", SpvWord{5316}}, {"BuiltInWorldToObjectNV", SpvWord{5331}}, {"CapabilityAtomicFloat64AddEXT", SpvWord{6034}}, {"ExecutionModeEarlyFragmentTests", SpvWord{9}}, {"CapabilityFloatControls2", SpvWord{6029}}, {"SourceLanguageZig", SpvWord{12}}, {"DecorationVectorComputeCallableFunctionINTEL", SpvWord{6087}}, {"CapabilityKernel", SpvWord{6}}, {"DecorationMMHostInterfaceReadWriteModeINTEL", SpvWord{6180}}, {"BuiltInVertexId", SpvWord{5}}, {"CapabilityFunctionPointersINTEL", SpvWord{5603}}, {"BuiltInCoreIDARM", SpvWord{4160}}, {"BuiltInBaryCoordNoPerspNV", SpvWord{5287}}, {"CapabilityRayTracingDisplacementMicromapNV", SpvWord{5409}}, {"ExecutionModeSampleInterlockUnorderedEXT", SpvWord{5369}}, {"CapabilityStorageImageMultisample", SpvWord{27}}, {"DecorationPerVertexKHR", SpvWord{5285}}, {"FPOperationModeIEEE", SpvWord{0}}, {"CapabilityNamedBarrier", SpvWord{59}}, {"CapabilityVulkanMemoryModelDeviceScopeKHR", SpvWord{5346}}, {"ExecutionModeShaderIndexAMDX", SpvWord{5073}}, {"AddressingModelPhysicalStorageBuffer64EXT", SpvWord{5348}}, {"CapabilityDotProductInput4x8BitKHR", SpvWord{6017}}, {"ImageOperandsConstOffsets", SpvWord{32}}, {"CapabilityKernelAttributesINTEL", SpvWord{5892}}, {"DecorationNoPerspective", SpvWord{13}}, {"BuiltInViewportMaskPerViewNV", SpvWord{5262}}, {"BuiltInInvocationId", SpvWord{8}}, {"CapabilitySparseResidency", SpvWord{41}}, {"BuiltInSubgroupMaxSize", SpvWord{37}}, {"BuiltInShadingRateKHR", SpvWord{4444}}, {"AccessQualifierReadOnly", SpvWord{0}}, {"SamplerAddressingModeNone", SpvWord{0}}, {"ImageChannelDataTypeSnormInt8", SpvWord{0}}, {"BuiltInRayTminKHR", SpvWord{5325}}, {"StorageClassInput", SpvWord{1}}, {"BuiltInHitKindKHR", SpvWord{5333}}, {"CapabilityBindlessTextureNV", SpvWord{5390}}, {"ExecutionModeInitializer", SpvWord{33}}, {"RayFlagsForceOpacityMicromap2StateEXT", SpvWord{1024}}, {"DecorationUserTypeGOOGLE", SpvWord{5636}}, {"ExecutionModeStencilRefLessBackAMD", SpvWord{5084}}, {"ScopeQueueFamily", SpvWord{5}}, {"ExecutionModelCallableNV", SpvWord{5318}}, {"CapabilityUniformTexelBufferArrayDynamicIndexing", SpvWord{5304}}, {"ImageFormatR32f", SpvWord{3}}, {"DecorationForcePow2DepthINTEL", SpvWord{5836}}, {"Dim3D", SpvWord{2}}, {"CapabilityTessellationPointSize", SpvWord{23}}, {"CapabilityMatrix", SpvWord{0}}, {"DecorationFuncParamIOKindINTEL", SpvWord{5625}}, {"NamedMaximumNumberOfRegistersAutoINTEL", SpvWord{0}}, {"CapabilityCoreBuiltinsARM", SpvWord{4165}}, {"ImageOperandsNontemporal", SpvWord{16384}}, {"DecorationImplementInRegisterMapINTEL", SpvWord{6191}}, {"CapabilityAtomicFloat32MinMaxEXT", SpvWord{5612}}, {"ImageChannelOrderRGBx", SpvWord{12}}, {"ImageChannelDataTypeUnormInt24", SpvWord{15}}, {"BuiltInHitMicroTriangleVertexPositionsNV", SpvWord{5337}}, {"GroupOperationClusteredReduce", SpvWord{3}}, {"RayFlagsSkipTrianglesKHR", SpvWord{256}}, {"ImageFormatR8Snorm", SpvWord{20}}, {"ScopeCrossDevice", SpvWord{0}}, {"FPDenormModePreserve", SpvWord{0}}, {"ImageChannelOrdersRGBx", SpvWord{16}}, {"CapabilityUniformAndStorageBuffer8BitAccess", SpvWord{4449}}, {"ExecutionModelMeshEXT", SpvWord{5365}}, {"ImageChannelOrdersRGBA", SpvWord{17}}, {"FunctionControlConst", SpvWord{8}}, {"CapabilityDerivativeControl", SpvWord{51}}, {"DecorationPerViewNV", SpvWord{5272}}, {"ImageOperandsZeroExtend", SpvWord{8192}}, {"DecorationTrackFinishWritingAMDX", SpvWord{5078}}, {"FunctionParameterAttributeByVal", SpvWord{2}}, {"CapabilityPhysicalStorageBufferAddresses", SpvWord{5347}}, {"DecorationClobberINTEL", SpvWord{5607}}, {"SourceLanguageHLSL", SpvWord{5}}, {"ExecutionModeSignedZeroInfNanPreserve", SpvWord{4461}}, {"ExecutionModeVertexOrderCw", SpvWord{4}}, {"DecorationTrueDualPortINTEL", SpvWord{5885}}, {"ExecutionModeQuads", SpvWord{24}}, {"DecorationMaxConcurrencyINTEL", SpvWord{5918}}, {"ImageOperandsMakeTexelVisibleKHR", SpvWord{512}}, {"ImageOperandsNonPrivateTexel", SpvWord{1024}}, {"ImageFormatR11fG11fB10f", SpvWord{8}}, {"ExecutionModeShadingRateInterlockUnorderedEXT", SpvWord{5371}}, {"FPFastMathModeAllowTransform", SpvWord{262144}}, {"HostAccessQualifierReadWriteINTEL", SpvWord{3}}, {"CapabilitySampleMaskPostDepthCoverage", SpvWord{4447}}, {"CapabilityStorageBufferArrayDynamicIndexing", SpvWord{30}}, {"CapabilitySampledImageArrayNonUniformIndexingEXT", SpvWord{5307}}, {"CapabilityVariablePointersStorageBuffer", SpvWord{4441}}, {"BuiltInLaunchSizeKHR", SpvWord{5320}}, {"DecorationInputAttachmentIndex", SpvWord{43}}, {"CapabilityAtomicFloat16AddEXT", SpvWord{6095}}, }; static const auto hash = [](const UnownedStringSlice& str, UInt32 salt){ UInt32 h = salt; for (const char c : str) h = (h * 0x01000193) ^ c; return h % 1016; }; const auto i = hash(str, tableSalt[hash(str, 0)]); if(str == words[i].first) { value = words[i].second; return true; } else { return false; } } static bool getOpInfo(const SpvOp& k, SPIRVCoreGrammarInfo::OpInfo& v) { switch(k) { case SpvOpNop: { v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 0, 0, 0, nullptr}; return true; } case SpvOpUndef: { const static OperandKind operandTypes[] = {{49}, {50}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 2, 2, 2, operandTypes}; return true; } case SpvOpSourceContinued: { const static OperandKind operandTypes[] = {{55}}; v = {SPIRVCoreGrammarInfo::OpInfo::Debug, -1, -1, 1, 1, 1, operandTypes}; return true; } case SpvOpSource: { const static OperandKind operandTypes[] = {{11}, {54}, {53}, {55}}; v = {SPIRVCoreGrammarInfo::OpInfo::Debug, -1, -1, 2, 4, 4, operandTypes}; return true; } case SpvOpSourceExtension: { const static OperandKind operandTypes[] = {{55}}; v = {SPIRVCoreGrammarInfo::OpInfo::Debug, -1, -1, 1, 1, 1, operandTypes}; return true; } case SpvOpName: { const static OperandKind operandTypes[] = {{53}, {55}}; v = {SPIRVCoreGrammarInfo::OpInfo::Debug, -1, -1, 2, 2, 2, operandTypes}; return true; } case SpvOpMemberName: { const static OperandKind operandTypes[] = {{53}, {54}, {55}}; v = {SPIRVCoreGrammarInfo::OpInfo::Debug, -1, -1, 3, 3, 3, operandTypes}; return true; } case SpvOpString: { const static OperandKind operandTypes[] = {{50}, {55}}; v = {SPIRVCoreGrammarInfo::OpInfo::Debug, -1, 0, 2, 2, 2, operandTypes}; return true; } case SpvOpLine: { const static OperandKind operandTypes[] = {{53}, {54}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Debug, -1, -1, 3, 3, 3, operandTypes}; return true; } case SpvOpExtension: { const static OperandKind operandTypes[] = {{55}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 1, 1, 1, operandTypes}; return true; } case SpvOpExtInstImport: { const static OperandKind operandTypes[] = {{50}, {55}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, 0, 2, 2, 2, operandTypes}; return true; } case SpvOpExtInst: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {58}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 0xffff, 5, operandTypes}; return true; } case SpvOpMemoryModel: { const static OperandKind operandTypes[] = {{13}, {14}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 2, 2, 2, operandTypes}; return true; } case SpvOpEntryPoint: { const static OperandKind operandTypes[] = {{12}, {53}, {55}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 3, 0xffff, 4, operandTypes}; return true; } case SpvOpExecutionMode: { const static OperandKind operandTypes[] = {{53}, {15}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 2, 2, 2, operandTypes}; return true; } case SpvOpCapability: { const static OperandKind operandTypes[] = {{37}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 1, 1, 1, operandTypes}; return true; } case SpvOpTypeVoid: { const static OperandKind operandTypes[] = {{50}}; v = {SPIRVCoreGrammarInfo::OpInfo::TypeDeclaration, -1, 0, 1, 1, 1, operandTypes}; return true; } case SpvOpTypeBool: { const static OperandKind operandTypes[] = {{50}}; v = {SPIRVCoreGrammarInfo::OpInfo::TypeDeclaration, -1, 0, 1, 1, 1, operandTypes}; return true; } case SpvOpTypeInt: { const static OperandKind operandTypes[] = {{50}, {54}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::TypeDeclaration, -1, 0, 3, 3, 3, operandTypes}; return true; } case SpvOpTypeFloat: { const static OperandKind operandTypes[] = {{50}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::TypeDeclaration, -1, 0, 2, 2, 2, operandTypes}; return true; } case SpvOpTypeVector: { const static OperandKind operandTypes[] = {{50}, {53}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::TypeDeclaration, -1, 0, 3, 3, 3, operandTypes}; return true; } case SpvOpTypeMatrix: { const static OperandKind operandTypes[] = {{50}, {53}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::TypeDeclaration, -1, 0, 3, 3, 3, operandTypes}; return true; } case SpvOpTypeImage: { const static OperandKind operandTypes[] = {{50}, {53}, {17}, {54}, {54}, {54}, {54}, {20}, {29}}; v = {SPIRVCoreGrammarInfo::OpInfo::TypeDeclaration, -1, 0, 8, 9, 9, operandTypes}; return true; } case SpvOpTypeSampler: { const static OperandKind operandTypes[] = {{50}}; v = {SPIRVCoreGrammarInfo::OpInfo::TypeDeclaration, -1, 0, 1, 1, 1, operandTypes}; return true; } case SpvOpTypeSampledImage: { const static OperandKind operandTypes[] = {{50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::TypeDeclaration, -1, 0, 2, 2, 2, operandTypes}; return true; } case SpvOpTypeArray: { const static OperandKind operandTypes[] = {{50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::TypeDeclaration, -1, 0, 3, 3, 3, operandTypes}; return true; } case SpvOpTypeRuntimeArray: { const static OperandKind operandTypes[] = {{50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::TypeDeclaration, -1, 0, 2, 2, 2, operandTypes}; return true; } case SpvOpTypeStruct: { const static OperandKind operandTypes[] = {{50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::TypeDeclaration, -1, 0, 1, 0xffff, 2, operandTypes}; return true; } case SpvOpTypeOpaque: { const static OperandKind operandTypes[] = {{50}, {55}}; v = {SPIRVCoreGrammarInfo::OpInfo::TypeDeclaration, -1, 0, 2, 2, 2, operandTypes}; return true; } case SpvOpTypePointer: { const static OperandKind operandTypes[] = {{50}, {16}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::TypeDeclaration, -1, 0, 3, 3, 3, operandTypes}; return true; } case SpvOpTypeFunction: { const static OperandKind operandTypes[] = {{50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::TypeDeclaration, -1, 0, 2, 0xffff, 3, operandTypes}; return true; } case SpvOpTypeEvent: { const static OperandKind operandTypes[] = {{50}}; v = {SPIRVCoreGrammarInfo::OpInfo::TypeDeclaration, -1, 0, 1, 1, 1, operandTypes}; return true; } case SpvOpTypeDeviceEvent: { const static OperandKind operandTypes[] = {{50}}; v = {SPIRVCoreGrammarInfo::OpInfo::TypeDeclaration, -1, 0, 1, 1, 1, operandTypes}; return true; } case SpvOpTypeReserveId: { const static OperandKind operandTypes[] = {{50}}; v = {SPIRVCoreGrammarInfo::OpInfo::TypeDeclaration, -1, 0, 1, 1, 1, operandTypes}; return true; } case SpvOpTypeQueue: { const static OperandKind operandTypes[] = {{50}}; v = {SPIRVCoreGrammarInfo::OpInfo::TypeDeclaration, -1, 0, 1, 1, 1, operandTypes}; return true; } case SpvOpTypePipe: { const static OperandKind operandTypes[] = {{50}, {29}}; v = {SPIRVCoreGrammarInfo::OpInfo::TypeDeclaration, -1, 0, 2, 2, 2, operandTypes}; return true; } case SpvOpTypeForwardPointer: { const static OperandKind operandTypes[] = {{53}, {16}}; v = {SPIRVCoreGrammarInfo::OpInfo::TypeDeclaration, -1, -1, 2, 2, 2, operandTypes}; return true; } case SpvOpConstantTrue: { const static OperandKind operandTypes[] = {{49}, {50}}; v = {SPIRVCoreGrammarInfo::OpInfo::ConstantCreation, 0, 1, 2, 2, 2, operandTypes}; return true; } case SpvOpConstantFalse: { const static OperandKind operandTypes[] = {{49}, {50}}; v = {SPIRVCoreGrammarInfo::OpInfo::ConstantCreation, 0, 1, 2, 2, 2, operandTypes}; return true; } case SpvOpConstant: { const static OperandKind operandTypes[] = {{49}, {50}, {57}}; v = {SPIRVCoreGrammarInfo::OpInfo::ConstantCreation, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpConstantComposite: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::ConstantCreation, 0, 1, 2, 0xffff, 3, operandTypes}; return true; } case SpvOpConstantSampler: { const static OperandKind operandTypes[] = {{49}, {50}, {18}, {54}, {19}}; v = {SPIRVCoreGrammarInfo::OpInfo::ConstantCreation, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpConstantNull: { const static OperandKind operandTypes[] = {{49}, {50}}; v = {SPIRVCoreGrammarInfo::OpInfo::ConstantCreation, 0, 1, 2, 2, 2, operandTypes}; return true; } case SpvOpSpecConstantTrue: { const static OperandKind operandTypes[] = {{49}, {50}}; v = {SPIRVCoreGrammarInfo::OpInfo::ConstantCreation, 0, 1, 2, 2, 2, operandTypes}; return true; } case SpvOpSpecConstantFalse: { const static OperandKind operandTypes[] = {{49}, {50}}; v = {SPIRVCoreGrammarInfo::OpInfo::ConstantCreation, 0, 1, 2, 2, 2, operandTypes}; return true; } case SpvOpSpecConstant: { const static OperandKind operandTypes[] = {{49}, {50}, {57}}; v = {SPIRVCoreGrammarInfo::OpInfo::ConstantCreation, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSpecConstantComposite: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::ConstantCreation, 0, 1, 2, 0xffff, 3, operandTypes}; return true; } case SpvOpSpecConstantOp: { const static OperandKind operandTypes[] = {{49}, {50}, {59}}; v = {SPIRVCoreGrammarInfo::OpInfo::ConstantCreation, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpFunction: { const static OperandKind operandTypes[] = {{49}, {50}, {4}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpFunctionParameter: { const static OperandKind operandTypes[] = {{49}, {50}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 2, 2, 2, operandTypes}; return true; } case SpvOpFunctionEnd: { v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 0, 0, 0, nullptr}; return true; } case SpvOpFunctionCall: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 0xffff, 4, operandTypes}; return true; } case SpvOpVariable: { const static OperandKind operandTypes[] = {{49}, {50}, {16}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 4, 4, operandTypes}; return true; } case SpvOpImageTexelPointer: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpLoad: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {6}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 4, 4, operandTypes}; return true; } case SpvOpStore: { const static OperandKind operandTypes[] = {{53}, {53}, {6}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 2, 3, 3, operandTypes}; return true; } case SpvOpCopyMemory: { const static OperandKind operandTypes[] = {{53}, {53}, {6}, {6}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 2, 4, 4, operandTypes}; return true; } case SpvOpCopyMemorySized: { const static OperandKind operandTypes[] = {{53}, {53}, {53}, {6}, {6}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 3, 5, 5, operandTypes}; return true; } case SpvOpAccessChain: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 0xffff, 4, operandTypes}; return true; } case SpvOpInBoundsAccessChain: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 0xffff, 4, operandTypes}; return true; } case SpvOpPtrAccessChain: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 0xffff, 5, operandTypes}; return true; } case SpvOpArrayLength: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpGenericPtrMemSemantics: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpInBoundsPtrAccessChain: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 0xffff, 5, operandTypes}; return true; } case SpvOpDecorate: { const static OperandKind operandTypes[] = {{53}, {32}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 2, 2, 2, operandTypes}; return true; } case SpvOpMemberDecorate: { const static OperandKind operandTypes[] = {{53}, {54}, {32}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 3, 3, 3, operandTypes}; return true; } case SpvOpDecorationGroup: { const static OperandKind operandTypes[] = {{50}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, 0, 1, 1, 1, operandTypes}; return true; } case SpvOpGroupDecorate: { const static OperandKind operandTypes[] = {{53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 1, 0xffff, 2, operandTypes}; return true; } case SpvOpGroupMemberDecorate: { const static OperandKind operandTypes[] = {{53}, {61}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 1, 0xffff, 2, operandTypes}; return true; } case SpvOpVectorExtractDynamic: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpVectorInsertDynamic: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpVectorShuffle: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 0xffff, 5, operandTypes}; return true; } case SpvOpCompositeConstruct: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 2, 0xffff, 3, operandTypes}; return true; } case SpvOpCompositeExtract: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 0xffff, 4, operandTypes}; return true; } case SpvOpCompositeInsert: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 0xffff, 5, operandTypes}; return true; } case SpvOpCopyObject: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpTranspose: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSampledImage: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpImageSampleImplicitLod: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {0}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 0xffff, 5, operandTypes}; return true; } case SpvOpImageSampleExplicitLod: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {0}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 0xffff, 5, operandTypes}; return true; } case SpvOpImageSampleDrefImplicitLod: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {0}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 0xffff, 6, operandTypes}; return true; } case SpvOpImageSampleDrefExplicitLod: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {0}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 0xffff, 6, operandTypes}; return true; } case SpvOpImageSampleProjImplicitLod: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {0}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 0xffff, 5, operandTypes}; return true; } case SpvOpImageSampleProjExplicitLod: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {0}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 0xffff, 5, operandTypes}; return true; } case SpvOpImageSampleProjDrefImplicitLod: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {0}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 0xffff, 6, operandTypes}; return true; } case SpvOpImageSampleProjDrefExplicitLod: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {0}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 0xffff, 6, operandTypes}; return true; } case SpvOpImageFetch: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {0}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 0xffff, 5, operandTypes}; return true; } case SpvOpImageGather: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {0}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 0xffff, 6, operandTypes}; return true; } case SpvOpImageDrefGather: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {0}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 0xffff, 6, operandTypes}; return true; } case SpvOpImageRead: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {0}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 0xffff, 5, operandTypes}; return true; } case SpvOpImageWrite: { const static OperandKind operandTypes[] = {{53}, {53}, {53}, {0}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 3, 0xffff, 4, operandTypes}; return true; } case SpvOpImage: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpImageQueryFormat: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpImageQueryOrder: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpImageQuerySizeLod: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpImageQuerySize: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpImageQueryLod: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpImageQueryLevels: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpImageQuerySamples: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpConvertFToU: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpConvertFToS: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpConvertSToF: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpConvertUToF: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpUConvert: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSConvert: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpFConvert: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpQuantizeToF16: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpConvertPtrToU: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSatConvertSToU: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSatConvertUToS: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpConvertUToPtr: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpPtrCastToGeneric: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpGenericCastToPtr: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpGenericCastToPtrExplicit: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {16}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpBitcast: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSNegate: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpFNegate: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpIAdd: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpFAdd: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpISub: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpFSub: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpIMul: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpFMul: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpUDiv: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSDiv: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpFDiv: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpUMod: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSRem: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSMod: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpFRem: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpFMod: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpVectorTimesScalar: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpMatrixTimesScalar: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpVectorTimesMatrix: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpMatrixTimesVector: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpMatrixTimesMatrix: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpOuterProduct: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpDot: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpIAddCarry: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpISubBorrow: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpUMulExtended: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSMulExtended: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpAny: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpAll: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpIsNan: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpIsInf: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpIsFinite: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpIsNormal: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSignBitSet: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpLessOrGreater: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpOrdered: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpUnordered: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpLogicalEqual: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpLogicalNotEqual: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpLogicalOr: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpLogicalAnd: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpLogicalNot: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSelect: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpIEqual: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpINotEqual: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpUGreaterThan: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSGreaterThan: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpUGreaterThanEqual: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSGreaterThanEqual: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpULessThan: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSLessThan: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpULessThanEqual: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSLessThanEqual: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpFOrdEqual: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpFUnordEqual: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpFOrdNotEqual: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpFUnordNotEqual: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpFOrdLessThan: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpFUnordLessThan: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpFOrdGreaterThan: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpFUnordGreaterThan: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpFOrdLessThanEqual: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpFUnordLessThanEqual: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpFOrdGreaterThanEqual: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpFUnordGreaterThanEqual: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpShiftRightLogical: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpShiftRightArithmetic: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpShiftLeftLogical: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpBitwiseOr: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpBitwiseXor: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpBitwiseAnd: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpNot: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpBitFieldInsert: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpBitFieldSExtract: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpBitFieldUExtract: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpBitReverse: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpBitCount: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpDPdx: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpDPdy: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpFwidth: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpDPdxFine: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpDPdyFine: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpFwidthFine: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpDPdxCoarse: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpDPdyCoarse: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpFwidthCoarse: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpEmitVertex: { v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 0, 0, 0, nullptr}; return true; } case SpvOpEndPrimitive: { v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 0, 0, 0, nullptr}; return true; } case SpvOpEmitStreamVertex: { const static OperandKind operandTypes[] = {{53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 1, 1, 1, operandTypes}; return true; } case SpvOpEndStreamPrimitive: { const static OperandKind operandTypes[] = {{53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 1, 1, 1, operandTypes}; return true; } case SpvOpControlBarrier: { const static OperandKind operandTypes[] = {{52}, {52}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 3, 3, 3, operandTypes}; return true; } case SpvOpMemoryBarrier: { const static OperandKind operandTypes[] = {{52}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 2, 2, 2, operandTypes}; return true; } case SpvOpAtomicLoad: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {52}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpAtomicStore: { const static OperandKind operandTypes[] = {{53}, {52}, {51}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 4, 4, 4, operandTypes}; return true; } case SpvOpAtomicExchange: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {52}, {51}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpAtomicCompareExchange: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {52}, {51}, {51}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpAtomicCompareExchangeWeak: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {52}, {51}, {51}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpAtomicIIncrement: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {52}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpAtomicIDecrement: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {52}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpAtomicIAdd: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {52}, {51}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpAtomicISub: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {52}, {51}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpAtomicSMin: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {52}, {51}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpAtomicUMin: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {52}, {51}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpAtomicSMax: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {52}, {51}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpAtomicUMax: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {52}, {51}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpAtomicAnd: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {52}, {51}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpAtomicOr: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {52}, {51}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpAtomicXor: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {52}, {51}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpPhi: { const static OperandKind operandTypes[] = {{49}, {50}, {62}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 2, 0xffff, 3, operandTypes}; return true; } case SpvOpLoopMerge: { const static OperandKind operandTypes[] = {{53}, {53}, {3}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 3, 3, 3, operandTypes}; return true; } case SpvOpSelectionMerge: { const static OperandKind operandTypes[] = {{53}, {2}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 2, 2, 2, operandTypes}; return true; } case SpvOpLabel: { const static OperandKind operandTypes[] = {{50}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, 0, 1, 1, 1, operandTypes}; return true; } case SpvOpBranch: { const static OperandKind operandTypes[] = {{53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 1, 1, 1, operandTypes}; return true; } case SpvOpBranchConditional: { const static OperandKind operandTypes[] = {{53}, {53}, {53}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 3, 0xffff, 4, operandTypes}; return true; } case SpvOpSwitch: { const static OperandKind operandTypes[] = {{53}, {53}, {60}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 2, 0xffff, 3, operandTypes}; return true; } case SpvOpKill: { v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 0, 0, 0, nullptr}; return true; } case SpvOpReturn: { v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 0, 0, 0, nullptr}; return true; } case SpvOpReturnValue: { const static OperandKind operandTypes[] = {{53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 1, 1, 1, operandTypes}; return true; } case SpvOpUnreachable: { v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 0, 0, 0, nullptr}; return true; } case SpvOpLifetimeStart: { const static OperandKind operandTypes[] = {{53}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 2, 2, 2, operandTypes}; return true; } case SpvOpLifetimeStop: { const static OperandKind operandTypes[] = {{53}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 2, 2, 2, operandTypes}; return true; } case SpvOpGroupAsyncCopy: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {53}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpGroupWaitEvents: { const static OperandKind operandTypes[] = {{52}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 3, 3, 3, operandTypes}; return true; } case SpvOpGroupAll: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpGroupAny: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpGroupBroadcast: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupIAdd: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {35}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupFAdd: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {35}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupFMin: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {35}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupUMin: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {35}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupSMin: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {35}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupFMax: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {35}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupUMax: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {35}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupSMax: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {35}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpReadPipe: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpWritePipe: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpReservedReadPipe: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpReservedWritePipe: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpReserveReadPipePackets: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpReserveWritePipePackets: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpCommitReadPipe: { const static OperandKind operandTypes[] = {{53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 4, 4, 4, operandTypes}; return true; } case SpvOpCommitWritePipe: { const static OperandKind operandTypes[] = {{53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 4, 4, 4, operandTypes}; return true; } case SpvOpIsValidReserveId: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpGetNumPipePackets: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGetMaxPipePackets: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupReserveReadPipePackets: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 7, 7, 7, operandTypes}; return true; } case SpvOpGroupReserveWritePipePackets: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 7, 7, 7, operandTypes}; return true; } case SpvOpGroupCommitReadPipe: { const static OperandKind operandTypes[] = {{52}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupCommitWritePipe: { const static OperandKind operandTypes[] = {{52}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 5, 5, 5, operandTypes}; return true; } case SpvOpEnqueueMarker: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpEnqueueKernel: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 12, 0xffff, 13, operandTypes}; return true; } case SpvOpGetKernelNDrangeSubGroupCount: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 7, 7, 7, operandTypes}; return true; } case SpvOpGetKernelNDrangeMaxSubGroupSize: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 7, 7, 7, operandTypes}; return true; } case SpvOpGetKernelWorkGroupSize: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpGetKernelPreferredWorkGroupSizeMultiple: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpRetainEvent: { const static OperandKind operandTypes[] = {{53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 1, 1, 1, operandTypes}; return true; } case SpvOpReleaseEvent: { const static OperandKind operandTypes[] = {{53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 1, 1, 1, operandTypes}; return true; } case SpvOpCreateUserEvent: { const static OperandKind operandTypes[] = {{49}, {50}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 2, 2, 2, operandTypes}; return true; } case SpvOpIsValidEvent: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSetUserEventStatus: { const static OperandKind operandTypes[] = {{53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 2, 2, 2, operandTypes}; return true; } case SpvOpCaptureEventProfilingInfo: { const static OperandKind operandTypes[] = {{53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 3, 3, 3, operandTypes}; return true; } case SpvOpGetDefaultQueue: { const static OperandKind operandTypes[] = {{49}, {50}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 2, 2, 2, operandTypes}; return true; } case SpvOpBuildNDRange: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpImageSparseSampleImplicitLod: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {0}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 0xffff, 5, operandTypes}; return true; } case SpvOpImageSparseSampleExplicitLod: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {0}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 0xffff, 5, operandTypes}; return true; } case SpvOpImageSparseSampleDrefImplicitLod: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {0}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 0xffff, 6, operandTypes}; return true; } case SpvOpImageSparseSampleDrefExplicitLod: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {0}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 0xffff, 6, operandTypes}; return true; } case SpvOpImageSparseSampleProjImplicitLod: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {0}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 0xffff, 5, operandTypes}; return true; } case SpvOpImageSparseSampleProjExplicitLod: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {0}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 0xffff, 5, operandTypes}; return true; } case SpvOpImageSparseSampleProjDrefImplicitLod: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {0}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 0xffff, 6, operandTypes}; return true; } case SpvOpImageSparseSampleProjDrefExplicitLod: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {0}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 0xffff, 6, operandTypes}; return true; } case SpvOpImageSparseFetch: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {0}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 0xffff, 5, operandTypes}; return true; } case SpvOpImageSparseGather: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {0}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 0xffff, 6, operandTypes}; return true; } case SpvOpImageSparseDrefGather: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {0}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 0xffff, 6, operandTypes}; return true; } case SpvOpImageSparseTexelsResident: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpNoLine: { v = {SPIRVCoreGrammarInfo::OpInfo::Debug, -1, -1, 0, 0, 0, nullptr}; return true; } case SpvOpAtomicFlagTestAndSet: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {52}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpAtomicFlagClear: { const static OperandKind operandTypes[] = {{53}, {52}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 3, 3, 3, operandTypes}; return true; } case SpvOpImageSparseRead: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {0}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 0xffff, 5, operandTypes}; return true; } case SpvOpSizeOf: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpTypePipeStorage: { const static OperandKind operandTypes[] = {{50}}; v = {SPIRVCoreGrammarInfo::OpInfo::TypeDeclaration, -1, 0, 1, 1, 1, operandTypes}; return true; } case SpvOpConstantPipeStorage: { const static OperandKind operandTypes[] = {{49}, {50}, {54}, {54}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpCreatePipeFromPipeStorage: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpGetKernelLocalSizeForSubgroupCount: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 7, 7, 7, operandTypes}; return true; } case SpvOpGetKernelMaxNumSubgroups: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpTypeNamedBarrier: { const static OperandKind operandTypes[] = {{50}}; v = {SPIRVCoreGrammarInfo::OpInfo::TypeDeclaration, -1, 0, 1, 1, 1, operandTypes}; return true; } case SpvOpNamedBarrierInitialize: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpMemoryNamedBarrier: { const static OperandKind operandTypes[] = {{53}, {52}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 3, 3, 3, operandTypes}; return true; } case SpvOpModuleProcessed: { const static OperandKind operandTypes[] = {{55}}; v = {SPIRVCoreGrammarInfo::OpInfo::Debug, -1, -1, 1, 1, 1, operandTypes}; return true; } case SpvOpExecutionModeId: { const static OperandKind operandTypes[] = {{53}, {15}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 2, 2, 2, operandTypes}; return true; } case SpvOpDecorateId: { const static OperandKind operandTypes[] = {{53}, {32}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 2, 2, 2, operandTypes}; return true; } case SpvOpGroupNonUniformElect: { const static OperandKind operandTypes[] = {{49}, {50}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpGroupNonUniformAll: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpGroupNonUniformAny: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpGroupNonUniformAllEqual: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpGroupNonUniformBroadcast: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupNonUniformBroadcastFirst: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpGroupNonUniformBallot: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpGroupNonUniformInverseBallot: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpGroupNonUniformBallotBitExtract: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupNonUniformBallotBitCount: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {35}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupNonUniformBallotFindLSB: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpGroupNonUniformBallotFindMSB: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpGroupNonUniformShuffle: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupNonUniformShuffleXor: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupNonUniformShuffleUp: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupNonUniformShuffleDown: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupNonUniformIAdd: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {35}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 6, 6, operandTypes}; return true; } case SpvOpGroupNonUniformFAdd: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {35}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 6, 6, operandTypes}; return true; } case SpvOpGroupNonUniformIMul: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {35}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 6, 6, operandTypes}; return true; } case SpvOpGroupNonUniformFMul: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {35}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 6, 6, operandTypes}; return true; } case SpvOpGroupNonUniformSMin: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {35}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 6, 6, operandTypes}; return true; } case SpvOpGroupNonUniformUMin: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {35}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 6, 6, operandTypes}; return true; } case SpvOpGroupNonUniformFMin: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {35}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 6, 6, operandTypes}; return true; } case SpvOpGroupNonUniformSMax: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {35}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 6, 6, operandTypes}; return true; } case SpvOpGroupNonUniformUMax: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {35}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 6, 6, operandTypes}; return true; } case SpvOpGroupNonUniformFMax: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {35}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 6, 6, operandTypes}; return true; } case SpvOpGroupNonUniformBitwiseAnd: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {35}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 6, 6, operandTypes}; return true; } case SpvOpGroupNonUniformBitwiseOr: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {35}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 6, 6, operandTypes}; return true; } case SpvOpGroupNonUniformBitwiseXor: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {35}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 6, 6, operandTypes}; return true; } case SpvOpGroupNonUniformLogicalAnd: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {35}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 6, 6, operandTypes}; return true; } case SpvOpGroupNonUniformLogicalOr: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {35}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 6, 6, operandTypes}; return true; } case SpvOpGroupNonUniformLogicalXor: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {35}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 6, 6, operandTypes}; return true; } case SpvOpGroupNonUniformQuadBroadcast: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupNonUniformQuadSwap: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpCopyLogical: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpPtrEqual: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpPtrNotEqual: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpPtrDiff: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpColorAttachmentReadEXT: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 4, 4, operandTypes}; return true; } case SpvOpDepthAttachmentReadEXT: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 2, 3, 3, operandTypes}; return true; } case SpvOpStencilAttachmentReadEXT: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 2, 3, 3, operandTypes}; return true; } case SpvOpTerminateInvocation: { v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 0, 0, 0, nullptr}; return true; } case SpvOpSubgroupBallotKHR: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupFirstInvocationKHR: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAllKHR: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAnyKHR: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAllEqualKHR: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpGroupNonUniformRotateKHR: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 6, 6, operandTypes}; return true; } case SpvOpSubgroupReadInvocationKHR: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpTraceRayKHR: { const static OperandKind operandTypes[] = {{53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 11, 11, 11, operandTypes}; return true; } case SpvOpExecuteCallableKHR: { const static OperandKind operandTypes[] = {{53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 2, 2, 2, operandTypes}; return true; } case SpvOpConvertUToAccelerationStructureKHR: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpIgnoreIntersectionKHR: { v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 0, 0, 0, nullptr}; return true; } case SpvOpTerminateRayKHR: { v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 0, 0, 0, nullptr}; return true; } case SpvOpSDot: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {41}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 5, 5, operandTypes}; return true; } case SpvOpUDot: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {41}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 5, 5, operandTypes}; return true; } case SpvOpSUDot: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {41}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 5, 5, operandTypes}; return true; } case SpvOpSDotAccSat: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {41}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 6, 6, operandTypes}; return true; } case SpvOpUDotAccSat: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {41}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 6, 6, operandTypes}; return true; } case SpvOpSUDotAccSat: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {41}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 6, 6, operandTypes}; return true; } case SpvOpTypeCooperativeMatrixKHR: { const static OperandKind operandTypes[] = {{50}, {53}, {52}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::TypeDeclaration, -1, 0, 6, 6, 6, operandTypes}; return true; } case SpvOpCooperativeMatrixLoadKHR: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {6}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 6, 6, operandTypes}; return true; } case SpvOpCooperativeMatrixStoreKHR: { const static OperandKind operandTypes[] = {{53}, {53}, {53}, {53}, {6}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 3, 5, 5, operandTypes}; return true; } case SpvOpCooperativeMatrixMulAddKHR: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {42}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 6, 6, operandTypes}; return true; } case SpvOpCooperativeMatrixLengthKHR: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpTypeRayQueryKHR: { const static OperandKind operandTypes[] = {{50}}; v = {SPIRVCoreGrammarInfo::OpInfo::TypeDeclaration, -1, 0, 1, 1, 1, operandTypes}; return true; } case SpvOpRayQueryInitializeKHR: { const static OperandKind operandTypes[] = {{53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 8, 8, 8, operandTypes}; return true; } case SpvOpRayQueryTerminateKHR: { const static OperandKind operandTypes[] = {{53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 1, 1, 1, operandTypes}; return true; } case SpvOpRayQueryGenerateIntersectionKHR: { const static OperandKind operandTypes[] = {{53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 2, 2, 2, operandTypes}; return true; } case SpvOpRayQueryConfirmIntersectionKHR: { const static OperandKind operandTypes[] = {{53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 1, 1, 1, operandTypes}; return true; } case SpvOpRayQueryProceedKHR: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpRayQueryGetIntersectionTypeKHR: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpImageSampleWeightedQCOM: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpImageBoxFilterQCOM: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpImageBlockMatchSSDQCOM: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 7, 7, 7, operandTypes}; return true; } case SpvOpImageBlockMatchSADQCOM: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 7, 7, 7, operandTypes}; return true; } case SpvOpImageBlockMatchWindowSSDQCOM: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 7, 7, 7, operandTypes}; return true; } case SpvOpImageBlockMatchWindowSADQCOM: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 7, 7, 7, operandTypes}; return true; } case SpvOpImageBlockMatchGatherSSDQCOM: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 7, 7, 7, operandTypes}; return true; } case SpvOpImageBlockMatchGatherSADQCOM: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 7, 7, 7, operandTypes}; return true; } case SpvOpGroupIAddNonUniformAMD: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {35}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupFAddNonUniformAMD: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {35}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupFMinNonUniformAMD: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {35}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupUMinNonUniformAMD: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {35}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupSMinNonUniformAMD: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {35}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupFMaxNonUniformAMD: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {35}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupUMaxNonUniformAMD: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {35}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupSMaxNonUniformAMD: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {35}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpFragmentMaskFetchAMD: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpFragmentFetchAMD: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpReadClockKHR: { const static OperandKind operandTypes[] = {{49}, {50}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpFinalizeNodePayloadsAMDX: { const static OperandKind operandTypes[] = {{53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 1, 1, 1, operandTypes}; return true; } case SpvOpFinishWritingNodePayloadAMDX: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpInitializeNodePayloadsAMDX: { const static OperandKind operandTypes[] = {{53}, {52}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 4, 4, 4, operandTypes}; return true; } case SpvOpGroupNonUniformQuadAllKHR: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpGroupNonUniformQuadAnyKHR: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpHitObjectRecordHitMotionNV: { const static OperandKind operandTypes[] = {{53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 14, 14, 14, operandTypes}; return true; } case SpvOpHitObjectRecordHitWithIndexMotionNV: { const static OperandKind operandTypes[] = {{53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 13, 13, 13, operandTypes}; return true; } case SpvOpHitObjectRecordMissMotionNV: { const static OperandKind operandTypes[] = {{53}, {53}, {53}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 7, 7, 7, operandTypes}; return true; } case SpvOpHitObjectGetWorldToObjectNV: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpHitObjectGetObjectToWorldNV: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpHitObjectGetObjectRayDirectionNV: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpHitObjectGetObjectRayOriginNV: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpHitObjectTraceRayMotionNV: { const static OperandKind operandTypes[] = {{53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 13, 13, 13, operandTypes}; return true; } case SpvOpHitObjectGetShaderRecordBufferHandleNV: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpHitObjectGetShaderBindingTableRecordIndexNV: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpHitObjectRecordEmptyNV: { const static OperandKind operandTypes[] = {{53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 1, 1, 1, operandTypes}; return true; } case SpvOpHitObjectTraceRayNV: { const static OperandKind operandTypes[] = {{53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 12, 12, 12, operandTypes}; return true; } case SpvOpHitObjectRecordHitNV: { const static OperandKind operandTypes[] = {{53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 13, 13, 13, operandTypes}; return true; } case SpvOpHitObjectRecordHitWithIndexNV: { const static OperandKind operandTypes[] = {{53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 12, 12, 12, operandTypes}; return true; } case SpvOpHitObjectRecordMissNV: { const static OperandKind operandTypes[] = {{53}, {53}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 6, 6, 6, operandTypes}; return true; } case SpvOpHitObjectExecuteShaderNV: { const static OperandKind operandTypes[] = {{53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 2, 2, 2, operandTypes}; return true; } case SpvOpHitObjectGetCurrentTimeNV: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpHitObjectGetAttributesNV: { const static OperandKind operandTypes[] = {{53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 2, 2, 2, operandTypes}; return true; } case SpvOpHitObjectGetHitKindNV: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpHitObjectGetPrimitiveIndexNV: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpHitObjectGetGeometryIndexNV: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpHitObjectGetInstanceIdNV: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpHitObjectGetInstanceCustomIndexNV: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpHitObjectGetWorldRayDirectionNV: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpHitObjectGetWorldRayOriginNV: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpHitObjectGetRayTMaxNV: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpHitObjectGetRayTMinNV: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpHitObjectIsEmptyNV: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpHitObjectIsHitNV: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpHitObjectIsMissNV: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpReorderThreadWithHitObjectNV: { const static OperandKind operandTypes[] = {{53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 1, 3, 3, operandTypes}; return true; } case SpvOpReorderThreadWithHintNV: { const static OperandKind operandTypes[] = {{53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 2, 2, 2, operandTypes}; return true; } case SpvOpTypeHitObjectNV: { const static OperandKind operandTypes[] = {{50}}; v = {SPIRVCoreGrammarInfo::OpInfo::TypeDeclaration, -1, 0, 1, 1, 1, operandTypes}; return true; } case SpvOpImageSampleFootprintNV: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {53}, {0}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 0xffff, 7, operandTypes}; return true; } case SpvOpEmitMeshTasksEXT: { const static OperandKind operandTypes[] = {{53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 3, 4, 4, operandTypes}; return true; } case SpvOpSetMeshOutputsEXT: { const static OperandKind operandTypes[] = {{53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 2, 2, 2, operandTypes}; return true; } case SpvOpGroupNonUniformPartitionNV: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpWritePackedPrimitiveIndices4x8NV: { const static OperandKind operandTypes[] = {{53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 2, 2, 2, operandTypes}; return true; } case SpvOpFetchMicroTriangleVertexPositionNV: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 7, 7, 7, operandTypes}; return true; } case SpvOpFetchMicroTriangleVertexBarycentricNV: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 7, 7, 7, operandTypes}; return true; } case SpvOpReportIntersectionNV: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpIgnoreIntersectionNV: { v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 0, 0, 0, nullptr}; return true; } case SpvOpTerminateRayNV: { v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 0, 0, 0, nullptr}; return true; } case SpvOpTraceNV: { const static OperandKind operandTypes[] = {{53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 11, 11, 11, operandTypes}; return true; } case SpvOpTraceMotionNV: { const static OperandKind operandTypes[] = {{53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 12, 12, 12, operandTypes}; return true; } case SpvOpTraceRayMotionNV: { const static OperandKind operandTypes[] = {{53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 12, 12, 12, operandTypes}; return true; } case SpvOpRayQueryGetIntersectionTriangleVertexPositionsKHR: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpTypeAccelerationStructureNV: { const static OperandKind operandTypes[] = {{50}}; v = {SPIRVCoreGrammarInfo::OpInfo::TypeDeclaration, -1, 0, 1, 1, 1, operandTypes}; return true; } case SpvOpExecuteCallableNV: { const static OperandKind operandTypes[] = {{53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 2, 2, 2, operandTypes}; return true; } case SpvOpTypeCooperativeMatrixNV: { const static OperandKind operandTypes[] = {{50}, {53}, {52}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::TypeDeclaration, -1, 0, 5, 5, 5, operandTypes}; return true; } case SpvOpCooperativeMatrixLoadNV: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {6}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 6, 6, operandTypes}; return true; } case SpvOpCooperativeMatrixStoreNV: { const static OperandKind operandTypes[] = {{53}, {53}, {53}, {53}, {6}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 4, 5, 5, operandTypes}; return true; } case SpvOpCooperativeMatrixMulAddNV: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpCooperativeMatrixLengthNV: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpBeginInvocationInterlockEXT: { v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 0, 0, 0, nullptr}; return true; } case SpvOpEndInvocationInterlockEXT: { v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 0, 0, 0, nullptr}; return true; } case SpvOpDemoteToHelperInvocation: { v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 0, 0, 0, nullptr}; return true; } case SpvOpIsHelperInvocationEXT: { const static OperandKind operandTypes[] = {{49}, {50}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 2, 2, 2, operandTypes}; return true; } case SpvOpConvertUToImageNV: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpConvertUToSamplerNV: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpConvertImageToUNV: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpConvertSamplerToUNV: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpConvertUToSampledImageNV: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpConvertSampledImageToUNV: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSamplerImageAddressingModeNV: { const static OperandKind operandTypes[] = {{54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 1, 1, 1, operandTypes}; return true; } case SpvOpRawAccessChainNV: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {53}, {10}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 7, 7, operandTypes}; return true; } case SpvOpSubgroupShuffleINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSubgroupShuffleDownINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpSubgroupShuffleUpINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpSubgroupShuffleXorINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSubgroupBlockReadINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupBlockWriteINTEL: { const static OperandKind operandTypes[] = {{53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 2, 2, 2, operandTypes}; return true; } case SpvOpSubgroupImageBlockReadINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSubgroupImageBlockWriteINTEL: { const static OperandKind operandTypes[] = {{53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupImageMediaBlockReadINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpSubgroupImageMediaBlockWriteINTEL: { const static OperandKind operandTypes[] = {{53}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 5, 5, 5, operandTypes}; return true; } case SpvOpUCountLeadingZerosINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpUCountTrailingZerosINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpAbsISubINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpAbsUSubINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpIAddSatINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpUAddSatINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpIAverageINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpUAverageINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpIAverageRoundedINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpUAverageRoundedINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpISubSatINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpUSubSatINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpIMul32x16INTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpUMul32x16INTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpConstantFunctionPointerINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpFunctionPointerCallINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 2, 0xffff, 3, operandTypes}; return true; } case SpvOpAsmTargetINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {55}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpAsmINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {55}, {55}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpAsmCallINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 0xffff, 4, operandTypes}; return true; } case SpvOpAtomicFMinEXT: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {52}, {51}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpAtomicFMaxEXT: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {52}, {51}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpAssumeTrueKHR: { const static OperandKind operandTypes[] = {{53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 1, 1, 1, operandTypes}; return true; } case SpvOpExpectKHR: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpDecorateString: { const static OperandKind operandTypes[] = {{53}, {32}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 2, 2, 2, operandTypes}; return true; } case SpvOpMemberDecorateString: { const static OperandKind operandTypes[] = {{53}, {54}, {32}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 3, 3, 3, operandTypes}; return true; } case SpvOpVmeImageINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpTypeVmeImageINTEL: { const static OperandKind operandTypes[] = {{50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, 0, 2, 2, 2, operandTypes}; return true; } case SpvOpTypeAvcImePayloadINTEL: { const static OperandKind operandTypes[] = {{50}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, 0, 1, 1, 1, operandTypes}; return true; } case SpvOpTypeAvcRefPayloadINTEL: { const static OperandKind operandTypes[] = {{50}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, 0, 1, 1, 1, operandTypes}; return true; } case SpvOpTypeAvcSicPayloadINTEL: { const static OperandKind operandTypes[] = {{50}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, 0, 1, 1, 1, operandTypes}; return true; } case SpvOpTypeAvcMcePayloadINTEL: { const static OperandKind operandTypes[] = {{50}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, 0, 1, 1, 1, operandTypes}; return true; } case SpvOpTypeAvcMceResultINTEL: { const static OperandKind operandTypes[] = {{50}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, 0, 1, 1, 1, operandTypes}; return true; } case SpvOpTypeAvcImeResultINTEL: { const static OperandKind operandTypes[] = {{50}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, 0, 1, 1, 1, operandTypes}; return true; } case SpvOpTypeAvcImeResultSingleReferenceStreamoutINTEL: { const static OperandKind operandTypes[] = {{50}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, 0, 1, 1, 1, operandTypes}; return true; } case SpvOpTypeAvcImeResultDualReferenceStreamoutINTEL: { const static OperandKind operandTypes[] = {{50}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, 0, 1, 1, 1, operandTypes}; return true; } case SpvOpTypeAvcImeSingleReferenceStreaminINTEL: { const static OperandKind operandTypes[] = {{50}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, 0, 1, 1, 1, operandTypes}; return true; } case SpvOpTypeAvcImeDualReferenceStreaminINTEL: { const static OperandKind operandTypes[] = {{50}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, 0, 1, 1, 1, operandTypes}; return true; } case SpvOpTypeAvcRefResultINTEL: { const static OperandKind operandTypes[] = {{50}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, 0, 1, 1, 1, operandTypes}; return true; } case SpvOpTypeAvcSicResultINTEL: { const static OperandKind operandTypes[] = {{50}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, 0, 1, 1, 1, operandTypes}; return true; } case SpvOpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSubgroupAvcMceSetInterShapePenaltyINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSubgroupAvcMceSetInterDirectionPenaltyINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL: { const static OperandKind operandTypes[] = {{49}, {50}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 2, 2, 2, operandTypes}; return true; } case SpvOpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL: { const static OperandKind operandTypes[] = {{49}, {50}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 2, 2, 2, operandTypes}; return true; } case SpvOpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL: { const static OperandKind operandTypes[] = {{49}, {50}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 2, 2, 2, operandTypes}; return true; } case SpvOpSubgroupAvcMceSetMotionVectorCostFunctionINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL: { const static OperandKind operandTypes[] = {{49}, {50}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 2, 2, 2, operandTypes}; return true; } case SpvOpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL: { const static OperandKind operandTypes[] = {{49}, {50}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 2, 2, 2, operandTypes}; return true; } case SpvOpSubgroupAvcMceSetAcOnlyHaarINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpSubgroupAvcMceConvertToImePayloadINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcMceConvertToImeResultINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcMceConvertToRefPayloadINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcMceConvertToRefResultINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcMceConvertToSicPayloadINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcMceConvertToSicResultINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcMceGetMotionVectorsINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcMceGetInterDistortionsINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcMceGetBestInterDistortionsINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcMceGetInterMajorShapeINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcMceGetInterMinorShapeINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcMceGetInterDirectionsINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcMceGetInterMotionVectorCountINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcMceGetInterReferenceIdsINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpSubgroupAvcImeInitializeINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpSubgroupAvcImeSetSingleReferenceINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpSubgroupAvcImeSetDualReferenceINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpSubgroupAvcImeRefWindowSizeINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSubgroupAvcImeAdjustRefOffsetINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpSubgroupAvcImeConvertToMcePayloadINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcImeSetMaxMotionVectorCountINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSubgroupAvcImeSetUnidirectionalMixDisableINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSubgroupAvcImeSetWeightedSadINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpSubgroupAvcImeEvaluateWithDualReferenceINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 7, 7, 7, operandTypes}; return true; } case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 7, 7, 7, operandTypes}; return true; } case SpvOpSubgroupAvcImeConvertToMceResultINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcImeGetSingleReferenceStreaminINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcImeGetDualReferenceStreaminINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcImeStripSingleReferenceStreamoutINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcImeStripDualReferenceStreamoutINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpSubgroupAvcImeGetBorderReachedINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSubgroupAvcImeGetTruncatedSearchIndicationINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcFmeInitializeINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 9, 9, 9, operandTypes}; return true; } case SpvOpSubgroupAvcBmeInitializeINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 10, 10, 10, operandTypes}; return true; } case SpvOpSubgroupAvcRefConvertToMcePayloadINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcRefSetBidirectionalMixDisableINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcRefSetBilinearFilterEnableINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcRefEvaluateWithSingleReferenceINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpSubgroupAvcRefEvaluateWithDualReferenceINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpSubgroupAvcRefEvaluateWithMultiReferenceINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpSubgroupAvcRefConvertToMceResultINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcSicInitializeINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcSicConfigureSkcINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpSubgroupAvcSicConfigureIpeLumaINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 10, 10, 10, operandTypes}; return true; } case SpvOpSubgroupAvcSicConfigureIpeLumaChromaINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 13, 13, 13, operandTypes}; return true; } case SpvOpSubgroupAvcSicGetMotionVectorMaskINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSubgroupAvcSicConvertToMcePayloadINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSubgroupAvcSicSetBilinearFilterEnableINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcSicSetSkcForwardTransformEnableINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSubgroupAvcSicEvaluateIpeINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSubgroupAvcSicEvaluateWithSingleReferenceINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpSubgroupAvcSicEvaluateWithDualReferenceINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpSubgroupAvcSicEvaluateWithMultiReferenceINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpSubgroupAvcSicConvertToMceResultINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcSicGetIpeLumaShapeINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcSicGetBestIpeLumaDistortionINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcSicGetBestIpeChromaDistortionINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcSicGetPackedIpeLumaModesINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcSicGetIpeChromaModeINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcSicGetInterRawSadsINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpVariableLengthArrayINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSaveMemoryINTEL: { const static OperandKind operandTypes[] = {{49}, {50}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 2, 2, 2, operandTypes}; return true; } case SpvOpRestoreMemoryINTEL: { const static OperandKind operandTypes[] = {{53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 1, 1, 1, operandTypes}; return true; } case SpvOpArbitraryFloatSinCosPiINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {54}, {54}, {54}, {54}, {54}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 9, 9, 9, operandTypes}; return true; } case SpvOpArbitraryFloatCastINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {54}, {54}, {54}, {54}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpArbitraryFloatCastFromIntINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {54}, {54}, {54}, {54}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpArbitraryFloatCastToIntINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {54}, {54}, {54}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 7, 7, 7, operandTypes}; return true; } case SpvOpArbitraryFloatAddINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {54}, {53}, {54}, {54}, {54}, {54}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 10, 10, 10, operandTypes}; return true; } case SpvOpArbitraryFloatSubINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {54}, {53}, {54}, {54}, {54}, {54}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 10, 10, 10, operandTypes}; return true; } case SpvOpArbitraryFloatMulINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {54}, {53}, {54}, {54}, {54}, {54}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 10, 10, 10, operandTypes}; return true; } case SpvOpArbitraryFloatDivINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {54}, {53}, {54}, {54}, {54}, {54}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 10, 10, 10, operandTypes}; return true; } case SpvOpArbitraryFloatGTINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {54}, {53}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpArbitraryFloatGEINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {54}, {53}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpArbitraryFloatLTINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {54}, {53}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpArbitraryFloatLEINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {54}, {53}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpArbitraryFloatEQINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {54}, {53}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpArbitraryFloatRecipINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {54}, {54}, {54}, {54}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpArbitraryFloatRSqrtINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {54}, {54}, {54}, {54}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpArbitraryFloatCbrtINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {54}, {54}, {54}, {54}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpArbitraryFloatHypotINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {54}, {53}, {54}, {54}, {54}, {54}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 10, 10, 10, operandTypes}; return true; } case SpvOpArbitraryFloatSqrtINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {54}, {54}, {54}, {54}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpArbitraryFloatLogINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {54}, {54}, {54}, {54}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpArbitraryFloatLog2INTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {54}, {54}, {54}, {54}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpArbitraryFloatLog10INTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {54}, {54}, {54}, {54}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpArbitraryFloatLog1pINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {54}, {54}, {54}, {54}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpArbitraryFloatExpINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {54}, {54}, {54}, {54}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpArbitraryFloatExp2INTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {54}, {54}, {54}, {54}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpArbitraryFloatExp10INTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {54}, {54}, {54}, {54}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpArbitraryFloatExpm1INTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {54}, {54}, {54}, {54}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpArbitraryFloatSinINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {54}, {54}, {54}, {54}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpArbitraryFloatCosINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {54}, {54}, {54}, {54}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpArbitraryFloatSinCosINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {54}, {54}, {54}, {54}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpArbitraryFloatSinPiINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {54}, {54}, {54}, {54}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpArbitraryFloatCosPiINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {54}, {54}, {54}, {54}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpArbitraryFloatASinINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {54}, {54}, {54}, {54}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpArbitraryFloatASinPiINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {54}, {54}, {54}, {54}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpArbitraryFloatACosINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {54}, {54}, {54}, {54}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpArbitraryFloatACosPiINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {54}, {54}, {54}, {54}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpArbitraryFloatATanINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {54}, {54}, {54}, {54}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpArbitraryFloatATanPiINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {54}, {54}, {54}, {54}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpArbitraryFloatATan2INTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {54}, {53}, {54}, {54}, {54}, {54}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 10, 10, 10, operandTypes}; return true; } case SpvOpArbitraryFloatPowINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {54}, {53}, {54}, {54}, {54}, {54}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 10, 10, 10, operandTypes}; return true; } case SpvOpArbitraryFloatPowRINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {54}, {53}, {54}, {54}, {54}, {54}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 10, 10, 10, operandTypes}; return true; } case SpvOpArbitraryFloatPowNINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {54}, {53}, {54}, {54}, {54}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 9, 9, 9, operandTypes}; return true; } case SpvOpLoopControlINTEL: { const static OperandKind operandTypes[] = {{54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 0, 0xffff, 1, operandTypes}; return true; } case SpvOpAliasDomainDeclINTEL: { const static OperandKind operandTypes[] = {{50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, 0, 1, 2, 2, operandTypes}; return true; } case SpvOpAliasScopeDeclINTEL: { const static OperandKind operandTypes[] = {{50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, 0, 2, 3, 3, operandTypes}; return true; } case SpvOpAliasScopeListDeclINTEL: { const static OperandKind operandTypes[] = {{50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, 0, 1, 0xffff, 2, operandTypes}; return true; } case SpvOpFixedSqrtINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {54}, {54}, {54}, {54}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 9, 9, 9, operandTypes}; return true; } case SpvOpFixedRecipINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {54}, {54}, {54}, {54}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 9, 9, 9, operandTypes}; return true; } case SpvOpFixedRsqrtINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {54}, {54}, {54}, {54}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 9, 9, 9, operandTypes}; return true; } case SpvOpFixedSinINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {54}, {54}, {54}, {54}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 9, 9, 9, operandTypes}; return true; } case SpvOpFixedCosINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {54}, {54}, {54}, {54}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 9, 9, 9, operandTypes}; return true; } case SpvOpFixedSinCosINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {54}, {54}, {54}, {54}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 9, 9, 9, operandTypes}; return true; } case SpvOpFixedSinPiINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {54}, {54}, {54}, {54}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 9, 9, 9, operandTypes}; return true; } case SpvOpFixedCosPiINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {54}, {54}, {54}, {54}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 9, 9, 9, operandTypes}; return true; } case SpvOpFixedSinCosPiINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {54}, {54}, {54}, {54}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 9, 9, 9, operandTypes}; return true; } case SpvOpFixedLogINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {54}, {54}, {54}, {54}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 9, 9, 9, operandTypes}; return true; } case SpvOpFixedExpINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}, {54}, {54}, {54}, {54}, {54}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 9, 9, 9, operandTypes}; return true; } case SpvOpPtrCastToCrossWorkgroupINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpCrossWorkgroupCastToPtrINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpReadPipeBlockingINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpWritePipeBlockingINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpFPGARegINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpRayQueryGetRayTMinKHR: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpRayQueryGetRayFlagsKHR: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpRayQueryGetIntersectionTKHR: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpRayQueryGetIntersectionInstanceCustomIndexKHR: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpRayQueryGetIntersectionInstanceIdKHR: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpRayQueryGetIntersectionGeometryIndexKHR: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpRayQueryGetIntersectionPrimitiveIndexKHR: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpRayQueryGetIntersectionBarycentricsKHR: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpRayQueryGetIntersectionFrontFaceKHR: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpRayQueryGetIntersectionCandidateAABBOpaqueKHR: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpRayQueryGetIntersectionObjectRayDirectionKHR: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpRayQueryGetIntersectionObjectRayOriginKHR: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpRayQueryGetWorldRayDirectionKHR: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpRayQueryGetWorldRayOriginKHR: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpRayQueryGetIntersectionObjectToWorldKHR: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpRayQueryGetIntersectionWorldToObjectKHR: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpAtomicFAddEXT: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {52}, {51}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpTypeBufferSurfaceINTEL: { const static OperandKind operandTypes[] = {{50}, {29}}; v = {SPIRVCoreGrammarInfo::OpInfo::TypeDeclaration, -1, 0, 2, 2, 2, operandTypes}; return true; } case SpvOpTypeStructContinuedINTEL: { const static OperandKind operandTypes[] = {{53}}; v = {SPIRVCoreGrammarInfo::OpInfo::TypeDeclaration, -1, -1, 0, 0xffff, 1, operandTypes}; return true; } case SpvOpConstantCompositeContinuedINTEL: { const static OperandKind operandTypes[] = {{53}}; v = {SPIRVCoreGrammarInfo::OpInfo::ConstantCreation, -1, -1, 0, 0xffff, 1, operandTypes}; return true; } case SpvOpSpecConstantCompositeContinuedINTEL: { const static OperandKind operandTypes[] = {{53}}; v = {SPIRVCoreGrammarInfo::OpInfo::ConstantCreation, -1, -1, 0, 0xffff, 1, operandTypes}; return true; } case SpvOpCompositeConstructContinuedINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 2, 0xffff, 3, operandTypes}; return true; } case SpvOpConvertFToBF16INTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpConvertBF16ToFINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpControlBarrierArriveINTEL: { const static OperandKind operandTypes[] = {{52}, {52}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 3, 3, 3, operandTypes}; return true; } case SpvOpControlBarrierWaitINTEL: { const static OperandKind operandTypes[] = {{52}, {52}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 3, 3, 3, operandTypes}; return true; } case SpvOpGroupIMulKHR: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {35}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupFMulKHR: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {35}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupBitwiseAndKHR: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {35}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupBitwiseOrKHR: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {35}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupBitwiseXorKHR: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {35}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupLogicalAndKHR: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {35}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupLogicalOrKHR: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {35}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupLogicalXorKHR: { const static OperandKind operandTypes[] = {{49}, {50}, {52}, {35}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpMaskedGatherINTEL: { const static OperandKind operandTypes[] = {{49}, {50}, {53}, {54}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpMaskedScatterINTEL: { const static OperandKind operandTypes[] = {{53}, {53}, {54}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 4, 4, 4, operandTypes}; return true; } default: return false; } } static bool getOpName(const SpvOp& k, UnownedStringSlice& v) { switch(k) { case SpvOpNop: { v = UnownedStringSlice{"OpNop"}; return true; } case SpvOpUndef: { v = UnownedStringSlice{"OpUndef"}; return true; } case SpvOpSourceContinued: { v = UnownedStringSlice{"OpSourceContinued"}; return true; } case SpvOpSource: { v = UnownedStringSlice{"OpSource"}; return true; } case SpvOpSourceExtension: { v = UnownedStringSlice{"OpSourceExtension"}; return true; } case SpvOpName: { v = UnownedStringSlice{"OpName"}; return true; } case SpvOpMemberName: { v = UnownedStringSlice{"OpMemberName"}; return true; } case SpvOpString: { v = UnownedStringSlice{"OpString"}; return true; } case SpvOpLine: { v = UnownedStringSlice{"OpLine"}; return true; } case SpvOpExtension: { v = UnownedStringSlice{"OpExtension"}; return true; } case SpvOpExtInstImport: { v = UnownedStringSlice{"OpExtInstImport"}; return true; } case SpvOpExtInst: { v = UnownedStringSlice{"OpExtInst"}; return true; } case SpvOpMemoryModel: { v = UnownedStringSlice{"OpMemoryModel"}; return true; } case SpvOpEntryPoint: { v = UnownedStringSlice{"OpEntryPoint"}; return true; } case SpvOpExecutionMode: { v = UnownedStringSlice{"OpExecutionMode"}; return true; } case SpvOpCapability: { v = UnownedStringSlice{"OpCapability"}; return true; } case SpvOpTypeVoid: { v = UnownedStringSlice{"OpTypeVoid"}; return true; } case SpvOpTypeBool: { v = UnownedStringSlice{"OpTypeBool"}; return true; } case SpvOpTypeInt: { v = UnownedStringSlice{"OpTypeInt"}; return true; } case SpvOpTypeFloat: { v = UnownedStringSlice{"OpTypeFloat"}; return true; } case SpvOpTypeVector: { v = UnownedStringSlice{"OpTypeVector"}; return true; } case SpvOpTypeMatrix: { v = UnownedStringSlice{"OpTypeMatrix"}; return true; } case SpvOpTypeImage: { v = UnownedStringSlice{"OpTypeImage"}; return true; } case SpvOpTypeSampler: { v = UnownedStringSlice{"OpTypeSampler"}; return true; } case SpvOpTypeSampledImage: { v = UnownedStringSlice{"OpTypeSampledImage"}; return true; } case SpvOpTypeArray: { v = UnownedStringSlice{"OpTypeArray"}; return true; } case SpvOpTypeRuntimeArray: { v = UnownedStringSlice{"OpTypeRuntimeArray"}; return true; } case SpvOpTypeStruct: { v = UnownedStringSlice{"OpTypeStruct"}; return true; } case SpvOpTypeOpaque: { v = UnownedStringSlice{"OpTypeOpaque"}; return true; } case SpvOpTypePointer: { v = UnownedStringSlice{"OpTypePointer"}; return true; } case SpvOpTypeFunction: { v = UnownedStringSlice{"OpTypeFunction"}; return true; } case SpvOpTypeEvent: { v = UnownedStringSlice{"OpTypeEvent"}; return true; } case SpvOpTypeDeviceEvent: { v = UnownedStringSlice{"OpTypeDeviceEvent"}; return true; } case SpvOpTypeReserveId: { v = UnownedStringSlice{"OpTypeReserveId"}; return true; } case SpvOpTypeQueue: { v = UnownedStringSlice{"OpTypeQueue"}; return true; } case SpvOpTypePipe: { v = UnownedStringSlice{"OpTypePipe"}; return true; } case SpvOpTypeForwardPointer: { v = UnownedStringSlice{"OpTypeForwardPointer"}; return true; } case SpvOpConstantTrue: { v = UnownedStringSlice{"OpConstantTrue"}; return true; } case SpvOpConstantFalse: { v = UnownedStringSlice{"OpConstantFalse"}; return true; } case SpvOpConstant: { v = UnownedStringSlice{"OpConstant"}; return true; } case SpvOpConstantComposite: { v = UnownedStringSlice{"OpConstantComposite"}; return true; } case SpvOpConstantSampler: { v = UnownedStringSlice{"OpConstantSampler"}; return true; } case SpvOpConstantNull: { v = UnownedStringSlice{"OpConstantNull"}; return true; } case SpvOpSpecConstantTrue: { v = UnownedStringSlice{"OpSpecConstantTrue"}; return true; } case SpvOpSpecConstantFalse: { v = UnownedStringSlice{"OpSpecConstantFalse"}; return true; } case SpvOpSpecConstant: { v = UnownedStringSlice{"OpSpecConstant"}; return true; } case SpvOpSpecConstantComposite: { v = UnownedStringSlice{"OpSpecConstantComposite"}; return true; } case SpvOpSpecConstantOp: { v = UnownedStringSlice{"OpSpecConstantOp"}; return true; } case SpvOpFunction: { v = UnownedStringSlice{"OpFunction"}; return true; } case SpvOpFunctionParameter: { v = UnownedStringSlice{"OpFunctionParameter"}; return true; } case SpvOpFunctionEnd: { v = UnownedStringSlice{"OpFunctionEnd"}; return true; } case SpvOpFunctionCall: { v = UnownedStringSlice{"OpFunctionCall"}; return true; } case SpvOpVariable: { v = UnownedStringSlice{"OpVariable"}; return true; } case SpvOpImageTexelPointer: { v = UnownedStringSlice{"OpImageTexelPointer"}; return true; } case SpvOpLoad: { v = UnownedStringSlice{"OpLoad"}; return true; } case SpvOpStore: { v = UnownedStringSlice{"OpStore"}; return true; } case SpvOpCopyMemory: { v = UnownedStringSlice{"OpCopyMemory"}; return true; } case SpvOpCopyMemorySized: { v = UnownedStringSlice{"OpCopyMemorySized"}; return true; } case SpvOpAccessChain: { v = UnownedStringSlice{"OpAccessChain"}; return true; } case SpvOpInBoundsAccessChain: { v = UnownedStringSlice{"OpInBoundsAccessChain"}; return true; } case SpvOpPtrAccessChain: { v = UnownedStringSlice{"OpPtrAccessChain"}; return true; } case SpvOpArrayLength: { v = UnownedStringSlice{"OpArrayLength"}; return true; } case SpvOpGenericPtrMemSemantics: { v = UnownedStringSlice{"OpGenericPtrMemSemantics"}; return true; } case SpvOpInBoundsPtrAccessChain: { v = UnownedStringSlice{"OpInBoundsPtrAccessChain"}; return true; } case SpvOpDecorate: { v = UnownedStringSlice{"OpDecorate"}; return true; } case SpvOpMemberDecorate: { v = UnownedStringSlice{"OpMemberDecorate"}; return true; } case SpvOpDecorationGroup: { v = UnownedStringSlice{"OpDecorationGroup"}; return true; } case SpvOpGroupDecorate: { v = UnownedStringSlice{"OpGroupDecorate"}; return true; } case SpvOpGroupMemberDecorate: { v = UnownedStringSlice{"OpGroupMemberDecorate"}; return true; } case SpvOpVectorExtractDynamic: { v = UnownedStringSlice{"OpVectorExtractDynamic"}; return true; } case SpvOpVectorInsertDynamic: { v = UnownedStringSlice{"OpVectorInsertDynamic"}; return true; } case SpvOpVectorShuffle: { v = UnownedStringSlice{"OpVectorShuffle"}; return true; } case SpvOpCompositeConstruct: { v = UnownedStringSlice{"OpCompositeConstruct"}; return true; } case SpvOpCompositeExtract: { v = UnownedStringSlice{"OpCompositeExtract"}; return true; } case SpvOpCompositeInsert: { v = UnownedStringSlice{"OpCompositeInsert"}; return true; } case SpvOpCopyObject: { v = UnownedStringSlice{"OpCopyObject"}; return true; } case SpvOpTranspose: { v = UnownedStringSlice{"OpTranspose"}; return true; } case SpvOpSampledImage: { v = UnownedStringSlice{"OpSampledImage"}; return true; } case SpvOpImageSampleImplicitLod: { v = UnownedStringSlice{"OpImageSampleImplicitLod"}; return true; } case SpvOpImageSampleExplicitLod: { v = UnownedStringSlice{"OpImageSampleExplicitLod"}; return true; } case SpvOpImageSampleDrefImplicitLod: { v = UnownedStringSlice{"OpImageSampleDrefImplicitLod"}; return true; } case SpvOpImageSampleDrefExplicitLod: { v = UnownedStringSlice{"OpImageSampleDrefExplicitLod"}; return true; } case SpvOpImageSampleProjImplicitLod: { v = UnownedStringSlice{"OpImageSampleProjImplicitLod"}; return true; } case SpvOpImageSampleProjExplicitLod: { v = UnownedStringSlice{"OpImageSampleProjExplicitLod"}; return true; } case SpvOpImageSampleProjDrefImplicitLod: { v = UnownedStringSlice{"OpImageSampleProjDrefImplicitLod"}; return true; } case SpvOpImageSampleProjDrefExplicitLod: { v = UnownedStringSlice{"OpImageSampleProjDrefExplicitLod"}; return true; } case SpvOpImageFetch: { v = UnownedStringSlice{"OpImageFetch"}; return true; } case SpvOpImageGather: { v = UnownedStringSlice{"OpImageGather"}; return true; } case SpvOpImageDrefGather: { v = UnownedStringSlice{"OpImageDrefGather"}; return true; } case SpvOpImageRead: { v = UnownedStringSlice{"OpImageRead"}; return true; } case SpvOpImageWrite: { v = UnownedStringSlice{"OpImageWrite"}; return true; } case SpvOpImage: { v = UnownedStringSlice{"OpImage"}; return true; } case SpvOpImageQueryFormat: { v = UnownedStringSlice{"OpImageQueryFormat"}; return true; } case SpvOpImageQueryOrder: { v = UnownedStringSlice{"OpImageQueryOrder"}; return true; } case SpvOpImageQuerySizeLod: { v = UnownedStringSlice{"OpImageQuerySizeLod"}; return true; } case SpvOpImageQuerySize: { v = UnownedStringSlice{"OpImageQuerySize"}; return true; } case SpvOpImageQueryLod: { v = UnownedStringSlice{"OpImageQueryLod"}; return true; } case SpvOpImageQueryLevels: { v = UnownedStringSlice{"OpImageQueryLevels"}; return true; } case SpvOpImageQuerySamples: { v = UnownedStringSlice{"OpImageQuerySamples"}; return true; } case SpvOpConvertFToU: { v = UnownedStringSlice{"OpConvertFToU"}; return true; } case SpvOpConvertFToS: { v = UnownedStringSlice{"OpConvertFToS"}; return true; } case SpvOpConvertSToF: { v = UnownedStringSlice{"OpConvertSToF"}; return true; } case SpvOpConvertUToF: { v = UnownedStringSlice{"OpConvertUToF"}; return true; } case SpvOpUConvert: { v = UnownedStringSlice{"OpUConvert"}; return true; } case SpvOpSConvert: { v = UnownedStringSlice{"OpSConvert"}; return true; } case SpvOpFConvert: { v = UnownedStringSlice{"OpFConvert"}; return true; } case SpvOpQuantizeToF16: { v = UnownedStringSlice{"OpQuantizeToF16"}; return true; } case SpvOpConvertPtrToU: { v = UnownedStringSlice{"OpConvertPtrToU"}; return true; } case SpvOpSatConvertSToU: { v = UnownedStringSlice{"OpSatConvertSToU"}; return true; } case SpvOpSatConvertUToS: { v = UnownedStringSlice{"OpSatConvertUToS"}; return true; } case SpvOpConvertUToPtr: { v = UnownedStringSlice{"OpConvertUToPtr"}; return true; } case SpvOpPtrCastToGeneric: { v = UnownedStringSlice{"OpPtrCastToGeneric"}; return true; } case SpvOpGenericCastToPtr: { v = UnownedStringSlice{"OpGenericCastToPtr"}; return true; } case SpvOpGenericCastToPtrExplicit: { v = UnownedStringSlice{"OpGenericCastToPtrExplicit"}; return true; } case SpvOpBitcast: { v = UnownedStringSlice{"OpBitcast"}; return true; } case SpvOpSNegate: { v = UnownedStringSlice{"OpSNegate"}; return true; } case SpvOpFNegate: { v = UnownedStringSlice{"OpFNegate"}; return true; } case SpvOpIAdd: { v = UnownedStringSlice{"OpIAdd"}; return true; } case SpvOpFAdd: { v = UnownedStringSlice{"OpFAdd"}; return true; } case SpvOpISub: { v = UnownedStringSlice{"OpISub"}; return true; } case SpvOpFSub: { v = UnownedStringSlice{"OpFSub"}; return true; } case SpvOpIMul: { v = UnownedStringSlice{"OpIMul"}; return true; } case SpvOpFMul: { v = UnownedStringSlice{"OpFMul"}; return true; } case SpvOpUDiv: { v = UnownedStringSlice{"OpUDiv"}; return true; } case SpvOpSDiv: { v = UnownedStringSlice{"OpSDiv"}; return true; } case SpvOpFDiv: { v = UnownedStringSlice{"OpFDiv"}; return true; } case SpvOpUMod: { v = UnownedStringSlice{"OpUMod"}; return true; } case SpvOpSRem: { v = UnownedStringSlice{"OpSRem"}; return true; } case SpvOpSMod: { v = UnownedStringSlice{"OpSMod"}; return true; } case SpvOpFRem: { v = UnownedStringSlice{"OpFRem"}; return true; } case SpvOpFMod: { v = UnownedStringSlice{"OpFMod"}; return true; } case SpvOpVectorTimesScalar: { v = UnownedStringSlice{"OpVectorTimesScalar"}; return true; } case SpvOpMatrixTimesScalar: { v = UnownedStringSlice{"OpMatrixTimesScalar"}; return true; } case SpvOpVectorTimesMatrix: { v = UnownedStringSlice{"OpVectorTimesMatrix"}; return true; } case SpvOpMatrixTimesVector: { v = UnownedStringSlice{"OpMatrixTimesVector"}; return true; } case SpvOpMatrixTimesMatrix: { v = UnownedStringSlice{"OpMatrixTimesMatrix"}; return true; } case SpvOpOuterProduct: { v = UnownedStringSlice{"OpOuterProduct"}; return true; } case SpvOpDot: { v = UnownedStringSlice{"OpDot"}; return true; } case SpvOpIAddCarry: { v = UnownedStringSlice{"OpIAddCarry"}; return true; } case SpvOpISubBorrow: { v = UnownedStringSlice{"OpISubBorrow"}; return true; } case SpvOpUMulExtended: { v = UnownedStringSlice{"OpUMulExtended"}; return true; } case SpvOpSMulExtended: { v = UnownedStringSlice{"OpSMulExtended"}; return true; } case SpvOpAny: { v = UnownedStringSlice{"OpAny"}; return true; } case SpvOpAll: { v = UnownedStringSlice{"OpAll"}; return true; } case SpvOpIsNan: { v = UnownedStringSlice{"OpIsNan"}; return true; } case SpvOpIsInf: { v = UnownedStringSlice{"OpIsInf"}; return true; } case SpvOpIsFinite: { v = UnownedStringSlice{"OpIsFinite"}; return true; } case SpvOpIsNormal: { v = UnownedStringSlice{"OpIsNormal"}; return true; } case SpvOpSignBitSet: { v = UnownedStringSlice{"OpSignBitSet"}; return true; } case SpvOpLessOrGreater: { v = UnownedStringSlice{"OpLessOrGreater"}; return true; } case SpvOpOrdered: { v = UnownedStringSlice{"OpOrdered"}; return true; } case SpvOpUnordered: { v = UnownedStringSlice{"OpUnordered"}; return true; } case SpvOpLogicalEqual: { v = UnownedStringSlice{"OpLogicalEqual"}; return true; } case SpvOpLogicalNotEqual: { v = UnownedStringSlice{"OpLogicalNotEqual"}; return true; } case SpvOpLogicalOr: { v = UnownedStringSlice{"OpLogicalOr"}; return true; } case SpvOpLogicalAnd: { v = UnownedStringSlice{"OpLogicalAnd"}; return true; } case SpvOpLogicalNot: { v = UnownedStringSlice{"OpLogicalNot"}; return true; } case SpvOpSelect: { v = UnownedStringSlice{"OpSelect"}; return true; } case SpvOpIEqual: { v = UnownedStringSlice{"OpIEqual"}; return true; } case SpvOpINotEqual: { v = UnownedStringSlice{"OpINotEqual"}; return true; } case SpvOpUGreaterThan: { v = UnownedStringSlice{"OpUGreaterThan"}; return true; } case SpvOpSGreaterThan: { v = UnownedStringSlice{"OpSGreaterThan"}; return true; } case SpvOpUGreaterThanEqual: { v = UnownedStringSlice{"OpUGreaterThanEqual"}; return true; } case SpvOpSGreaterThanEqual: { v = UnownedStringSlice{"OpSGreaterThanEqual"}; return true; } case SpvOpULessThan: { v = UnownedStringSlice{"OpULessThan"}; return true; } case SpvOpSLessThan: { v = UnownedStringSlice{"OpSLessThan"}; return true; } case SpvOpULessThanEqual: { v = UnownedStringSlice{"OpULessThanEqual"}; return true; } case SpvOpSLessThanEqual: { v = UnownedStringSlice{"OpSLessThanEqual"}; return true; } case SpvOpFOrdEqual: { v = UnownedStringSlice{"OpFOrdEqual"}; return true; } case SpvOpFUnordEqual: { v = UnownedStringSlice{"OpFUnordEqual"}; return true; } case SpvOpFOrdNotEqual: { v = UnownedStringSlice{"OpFOrdNotEqual"}; return true; } case SpvOpFUnordNotEqual: { v = UnownedStringSlice{"OpFUnordNotEqual"}; return true; } case SpvOpFOrdLessThan: { v = UnownedStringSlice{"OpFOrdLessThan"}; return true; } case SpvOpFUnordLessThan: { v = UnownedStringSlice{"OpFUnordLessThan"}; return true; } case SpvOpFOrdGreaterThan: { v = UnownedStringSlice{"OpFOrdGreaterThan"}; return true; } case SpvOpFUnordGreaterThan: { v = UnownedStringSlice{"OpFUnordGreaterThan"}; return true; } case SpvOpFOrdLessThanEqual: { v = UnownedStringSlice{"OpFOrdLessThanEqual"}; return true; } case SpvOpFUnordLessThanEqual: { v = UnownedStringSlice{"OpFUnordLessThanEqual"}; return true; } case SpvOpFOrdGreaterThanEqual: { v = UnownedStringSlice{"OpFOrdGreaterThanEqual"}; return true; } case SpvOpFUnordGreaterThanEqual: { v = UnownedStringSlice{"OpFUnordGreaterThanEqual"}; return true; } case SpvOpShiftRightLogical: { v = UnownedStringSlice{"OpShiftRightLogical"}; return true; } case SpvOpShiftRightArithmetic: { v = UnownedStringSlice{"OpShiftRightArithmetic"}; return true; } case SpvOpShiftLeftLogical: { v = UnownedStringSlice{"OpShiftLeftLogical"}; return true; } case SpvOpBitwiseOr: { v = UnownedStringSlice{"OpBitwiseOr"}; return true; } case SpvOpBitwiseXor: { v = UnownedStringSlice{"OpBitwiseXor"}; return true; } case SpvOpBitwiseAnd: { v = UnownedStringSlice{"OpBitwiseAnd"}; return true; } case SpvOpNot: { v = UnownedStringSlice{"OpNot"}; return true; } case SpvOpBitFieldInsert: { v = UnownedStringSlice{"OpBitFieldInsert"}; return true; } case SpvOpBitFieldSExtract: { v = UnownedStringSlice{"OpBitFieldSExtract"}; return true; } case SpvOpBitFieldUExtract: { v = UnownedStringSlice{"OpBitFieldUExtract"}; return true; } case SpvOpBitReverse: { v = UnownedStringSlice{"OpBitReverse"}; return true; } case SpvOpBitCount: { v = UnownedStringSlice{"OpBitCount"}; return true; } case SpvOpDPdx: { v = UnownedStringSlice{"OpDPdx"}; return true; } case SpvOpDPdy: { v = UnownedStringSlice{"OpDPdy"}; return true; } case SpvOpFwidth: { v = UnownedStringSlice{"OpFwidth"}; return true; } case SpvOpDPdxFine: { v = UnownedStringSlice{"OpDPdxFine"}; return true; } case SpvOpDPdyFine: { v = UnownedStringSlice{"OpDPdyFine"}; return true; } case SpvOpFwidthFine: { v = UnownedStringSlice{"OpFwidthFine"}; return true; } case SpvOpDPdxCoarse: { v = UnownedStringSlice{"OpDPdxCoarse"}; return true; } case SpvOpDPdyCoarse: { v = UnownedStringSlice{"OpDPdyCoarse"}; return true; } case SpvOpFwidthCoarse: { v = UnownedStringSlice{"OpFwidthCoarse"}; return true; } case SpvOpEmitVertex: { v = UnownedStringSlice{"OpEmitVertex"}; return true; } case SpvOpEndPrimitive: { v = UnownedStringSlice{"OpEndPrimitive"}; return true; } case SpvOpEmitStreamVertex: { v = UnownedStringSlice{"OpEmitStreamVertex"}; return true; } case SpvOpEndStreamPrimitive: { v = UnownedStringSlice{"OpEndStreamPrimitive"}; return true; } case SpvOpControlBarrier: { v = UnownedStringSlice{"OpControlBarrier"}; return true; } case SpvOpMemoryBarrier: { v = UnownedStringSlice{"OpMemoryBarrier"}; return true; } case SpvOpAtomicLoad: { v = UnownedStringSlice{"OpAtomicLoad"}; return true; } case SpvOpAtomicStore: { v = UnownedStringSlice{"OpAtomicStore"}; return true; } case SpvOpAtomicExchange: { v = UnownedStringSlice{"OpAtomicExchange"}; return true; } case SpvOpAtomicCompareExchange: { v = UnownedStringSlice{"OpAtomicCompareExchange"}; return true; } case SpvOpAtomicCompareExchangeWeak: { v = UnownedStringSlice{"OpAtomicCompareExchangeWeak"}; return true; } case SpvOpAtomicIIncrement: { v = UnownedStringSlice{"OpAtomicIIncrement"}; return true; } case SpvOpAtomicIDecrement: { v = UnownedStringSlice{"OpAtomicIDecrement"}; return true; } case SpvOpAtomicIAdd: { v = UnownedStringSlice{"OpAtomicIAdd"}; return true; } case SpvOpAtomicISub: { v = UnownedStringSlice{"OpAtomicISub"}; return true; } case SpvOpAtomicSMin: { v = UnownedStringSlice{"OpAtomicSMin"}; return true; } case SpvOpAtomicUMin: { v = UnownedStringSlice{"OpAtomicUMin"}; return true; } case SpvOpAtomicSMax: { v = UnownedStringSlice{"OpAtomicSMax"}; return true; } case SpvOpAtomicUMax: { v = UnownedStringSlice{"OpAtomicUMax"}; return true; } case SpvOpAtomicAnd: { v = UnownedStringSlice{"OpAtomicAnd"}; return true; } case SpvOpAtomicOr: { v = UnownedStringSlice{"OpAtomicOr"}; return true; } case SpvOpAtomicXor: { v = UnownedStringSlice{"OpAtomicXor"}; return true; } case SpvOpPhi: { v = UnownedStringSlice{"OpPhi"}; return true; } case SpvOpLoopMerge: { v = UnownedStringSlice{"OpLoopMerge"}; return true; } case SpvOpSelectionMerge: { v = UnownedStringSlice{"OpSelectionMerge"}; return true; } case SpvOpLabel: { v = UnownedStringSlice{"OpLabel"}; return true; } case SpvOpBranch: { v = UnownedStringSlice{"OpBranch"}; return true; } case SpvOpBranchConditional: { v = UnownedStringSlice{"OpBranchConditional"}; return true; } case SpvOpSwitch: { v = UnownedStringSlice{"OpSwitch"}; return true; } case SpvOpKill: { v = UnownedStringSlice{"OpKill"}; return true; } case SpvOpReturn: { v = UnownedStringSlice{"OpReturn"}; return true; } case SpvOpReturnValue: { v = UnownedStringSlice{"OpReturnValue"}; return true; } case SpvOpUnreachable: { v = UnownedStringSlice{"OpUnreachable"}; return true; } case SpvOpLifetimeStart: { v = UnownedStringSlice{"OpLifetimeStart"}; return true; } case SpvOpLifetimeStop: { v = UnownedStringSlice{"OpLifetimeStop"}; return true; } case SpvOpGroupAsyncCopy: { v = UnownedStringSlice{"OpGroupAsyncCopy"}; return true; } case SpvOpGroupWaitEvents: { v = UnownedStringSlice{"OpGroupWaitEvents"}; return true; } case SpvOpGroupAll: { v = UnownedStringSlice{"OpGroupAll"}; return true; } case SpvOpGroupAny: { v = UnownedStringSlice{"OpGroupAny"}; return true; } case SpvOpGroupBroadcast: { v = UnownedStringSlice{"OpGroupBroadcast"}; return true; } case SpvOpGroupIAdd: { v = UnownedStringSlice{"OpGroupIAdd"}; return true; } case SpvOpGroupFAdd: { v = UnownedStringSlice{"OpGroupFAdd"}; return true; } case SpvOpGroupFMin: { v = UnownedStringSlice{"OpGroupFMin"}; return true; } case SpvOpGroupUMin: { v = UnownedStringSlice{"OpGroupUMin"}; return true; } case SpvOpGroupSMin: { v = UnownedStringSlice{"OpGroupSMin"}; return true; } case SpvOpGroupFMax: { v = UnownedStringSlice{"OpGroupFMax"}; return true; } case SpvOpGroupUMax: { v = UnownedStringSlice{"OpGroupUMax"}; return true; } case SpvOpGroupSMax: { v = UnownedStringSlice{"OpGroupSMax"}; return true; } case SpvOpReadPipe: { v = UnownedStringSlice{"OpReadPipe"}; return true; } case SpvOpWritePipe: { v = UnownedStringSlice{"OpWritePipe"}; return true; } case SpvOpReservedReadPipe: { v = UnownedStringSlice{"OpReservedReadPipe"}; return true; } case SpvOpReservedWritePipe: { v = UnownedStringSlice{"OpReservedWritePipe"}; return true; } case SpvOpReserveReadPipePackets: { v = UnownedStringSlice{"OpReserveReadPipePackets"}; return true; } case SpvOpReserveWritePipePackets: { v = UnownedStringSlice{"OpReserveWritePipePackets"}; return true; } case SpvOpCommitReadPipe: { v = UnownedStringSlice{"OpCommitReadPipe"}; return true; } case SpvOpCommitWritePipe: { v = UnownedStringSlice{"OpCommitWritePipe"}; return true; } case SpvOpIsValidReserveId: { v = UnownedStringSlice{"OpIsValidReserveId"}; return true; } case SpvOpGetNumPipePackets: { v = UnownedStringSlice{"OpGetNumPipePackets"}; return true; } case SpvOpGetMaxPipePackets: { v = UnownedStringSlice{"OpGetMaxPipePackets"}; return true; } case SpvOpGroupReserveReadPipePackets: { v = UnownedStringSlice{"OpGroupReserveReadPipePackets"}; return true; } case SpvOpGroupReserveWritePipePackets: { v = UnownedStringSlice{"OpGroupReserveWritePipePackets"}; return true; } case SpvOpGroupCommitReadPipe: { v = UnownedStringSlice{"OpGroupCommitReadPipe"}; return true; } case SpvOpGroupCommitWritePipe: { v = UnownedStringSlice{"OpGroupCommitWritePipe"}; return true; } case SpvOpEnqueueMarker: { v = UnownedStringSlice{"OpEnqueueMarker"}; return true; } case SpvOpEnqueueKernel: { v = UnownedStringSlice{"OpEnqueueKernel"}; return true; } case SpvOpGetKernelNDrangeSubGroupCount: { v = UnownedStringSlice{"OpGetKernelNDrangeSubGroupCount"}; return true; } case SpvOpGetKernelNDrangeMaxSubGroupSize: { v = UnownedStringSlice{"OpGetKernelNDrangeMaxSubGroupSize"}; return true; } case SpvOpGetKernelWorkGroupSize: { v = UnownedStringSlice{"OpGetKernelWorkGroupSize"}; return true; } case SpvOpGetKernelPreferredWorkGroupSizeMultiple: { v = UnownedStringSlice{"OpGetKernelPreferredWorkGroupSizeMultiple"}; return true; } case SpvOpRetainEvent: { v = UnownedStringSlice{"OpRetainEvent"}; return true; } case SpvOpReleaseEvent: { v = UnownedStringSlice{"OpReleaseEvent"}; return true; } case SpvOpCreateUserEvent: { v = UnownedStringSlice{"OpCreateUserEvent"}; return true; } case SpvOpIsValidEvent: { v = UnownedStringSlice{"OpIsValidEvent"}; return true; } case SpvOpSetUserEventStatus: { v = UnownedStringSlice{"OpSetUserEventStatus"}; return true; } case SpvOpCaptureEventProfilingInfo: { v = UnownedStringSlice{"OpCaptureEventProfilingInfo"}; return true; } case SpvOpGetDefaultQueue: { v = UnownedStringSlice{"OpGetDefaultQueue"}; return true; } case SpvOpBuildNDRange: { v = UnownedStringSlice{"OpBuildNDRange"}; return true; } case SpvOpImageSparseSampleImplicitLod: { v = UnownedStringSlice{"OpImageSparseSampleImplicitLod"}; return true; } case SpvOpImageSparseSampleExplicitLod: { v = UnownedStringSlice{"OpImageSparseSampleExplicitLod"}; return true; } case SpvOpImageSparseSampleDrefImplicitLod: { v = UnownedStringSlice{"OpImageSparseSampleDrefImplicitLod"}; return true; } case SpvOpImageSparseSampleDrefExplicitLod: { v = UnownedStringSlice{"OpImageSparseSampleDrefExplicitLod"}; return true; } case SpvOpImageSparseSampleProjImplicitLod: { v = UnownedStringSlice{"OpImageSparseSampleProjImplicitLod"}; return true; } case SpvOpImageSparseSampleProjExplicitLod: { v = UnownedStringSlice{"OpImageSparseSampleProjExplicitLod"}; return true; } case SpvOpImageSparseSampleProjDrefImplicitLod: { v = UnownedStringSlice{"OpImageSparseSampleProjDrefImplicitLod"}; return true; } case SpvOpImageSparseSampleProjDrefExplicitLod: { v = UnownedStringSlice{"OpImageSparseSampleProjDrefExplicitLod"}; return true; } case SpvOpImageSparseFetch: { v = UnownedStringSlice{"OpImageSparseFetch"}; return true; } case SpvOpImageSparseGather: { v = UnownedStringSlice{"OpImageSparseGather"}; return true; } case SpvOpImageSparseDrefGather: { v = UnownedStringSlice{"OpImageSparseDrefGather"}; return true; } case SpvOpImageSparseTexelsResident: { v = UnownedStringSlice{"OpImageSparseTexelsResident"}; return true; } case SpvOpNoLine: { v = UnownedStringSlice{"OpNoLine"}; return true; } case SpvOpAtomicFlagTestAndSet: { v = UnownedStringSlice{"OpAtomicFlagTestAndSet"}; return true; } case SpvOpAtomicFlagClear: { v = UnownedStringSlice{"OpAtomicFlagClear"}; return true; } case SpvOpImageSparseRead: { v = UnownedStringSlice{"OpImageSparseRead"}; return true; } case SpvOpSizeOf: { v = UnownedStringSlice{"OpSizeOf"}; return true; } case SpvOpTypePipeStorage: { v = UnownedStringSlice{"OpTypePipeStorage"}; return true; } case SpvOpConstantPipeStorage: { v = UnownedStringSlice{"OpConstantPipeStorage"}; return true; } case SpvOpCreatePipeFromPipeStorage: { v = UnownedStringSlice{"OpCreatePipeFromPipeStorage"}; return true; } case SpvOpGetKernelLocalSizeForSubgroupCount: { v = UnownedStringSlice{"OpGetKernelLocalSizeForSubgroupCount"}; return true; } case SpvOpGetKernelMaxNumSubgroups: { v = UnownedStringSlice{"OpGetKernelMaxNumSubgroups"}; return true; } case SpvOpTypeNamedBarrier: { v = UnownedStringSlice{"OpTypeNamedBarrier"}; return true; } case SpvOpNamedBarrierInitialize: { v = UnownedStringSlice{"OpNamedBarrierInitialize"}; return true; } case SpvOpMemoryNamedBarrier: { v = UnownedStringSlice{"OpMemoryNamedBarrier"}; return true; } case SpvOpModuleProcessed: { v = UnownedStringSlice{"OpModuleProcessed"}; return true; } case SpvOpExecutionModeId: { v = UnownedStringSlice{"OpExecutionModeId"}; return true; } case SpvOpDecorateId: { v = UnownedStringSlice{"OpDecorateId"}; return true; } case SpvOpGroupNonUniformElect: { v = UnownedStringSlice{"OpGroupNonUniformElect"}; return true; } case SpvOpGroupNonUniformAll: { v = UnownedStringSlice{"OpGroupNonUniformAll"}; return true; } case SpvOpGroupNonUniformAny: { v = UnownedStringSlice{"OpGroupNonUniformAny"}; return true; } case SpvOpGroupNonUniformAllEqual: { v = UnownedStringSlice{"OpGroupNonUniformAllEqual"}; return true; } case SpvOpGroupNonUniformBroadcast: { v = UnownedStringSlice{"OpGroupNonUniformBroadcast"}; return true; } case SpvOpGroupNonUniformBroadcastFirst: { v = UnownedStringSlice{"OpGroupNonUniformBroadcastFirst"}; return true; } case SpvOpGroupNonUniformBallot: { v = UnownedStringSlice{"OpGroupNonUniformBallot"}; return true; } case SpvOpGroupNonUniformInverseBallot: { v = UnownedStringSlice{"OpGroupNonUniformInverseBallot"}; return true; } case SpvOpGroupNonUniformBallotBitExtract: { v = UnownedStringSlice{"OpGroupNonUniformBallotBitExtract"}; return true; } case SpvOpGroupNonUniformBallotBitCount: { v = UnownedStringSlice{"OpGroupNonUniformBallotBitCount"}; return true; } case SpvOpGroupNonUniformBallotFindLSB: { v = UnownedStringSlice{"OpGroupNonUniformBallotFindLSB"}; return true; } case SpvOpGroupNonUniformBallotFindMSB: { v = UnownedStringSlice{"OpGroupNonUniformBallotFindMSB"}; return true; } case SpvOpGroupNonUniformShuffle: { v = UnownedStringSlice{"OpGroupNonUniformShuffle"}; return true; } case SpvOpGroupNonUniformShuffleXor: { v = UnownedStringSlice{"OpGroupNonUniformShuffleXor"}; return true; } case SpvOpGroupNonUniformShuffleUp: { v = UnownedStringSlice{"OpGroupNonUniformShuffleUp"}; return true; } case SpvOpGroupNonUniformShuffleDown: { v = UnownedStringSlice{"OpGroupNonUniformShuffleDown"}; return true; } case SpvOpGroupNonUniformIAdd: { v = UnownedStringSlice{"OpGroupNonUniformIAdd"}; return true; } case SpvOpGroupNonUniformFAdd: { v = UnownedStringSlice{"OpGroupNonUniformFAdd"}; return true; } case SpvOpGroupNonUniformIMul: { v = UnownedStringSlice{"OpGroupNonUniformIMul"}; return true; } case SpvOpGroupNonUniformFMul: { v = UnownedStringSlice{"OpGroupNonUniformFMul"}; return true; } case SpvOpGroupNonUniformSMin: { v = UnownedStringSlice{"OpGroupNonUniformSMin"}; return true; } case SpvOpGroupNonUniformUMin: { v = UnownedStringSlice{"OpGroupNonUniformUMin"}; return true; } case SpvOpGroupNonUniformFMin: { v = UnownedStringSlice{"OpGroupNonUniformFMin"}; return true; } case SpvOpGroupNonUniformSMax: { v = UnownedStringSlice{"OpGroupNonUniformSMax"}; return true; } case SpvOpGroupNonUniformUMax: { v = UnownedStringSlice{"OpGroupNonUniformUMax"}; return true; } case SpvOpGroupNonUniformFMax: { v = UnownedStringSlice{"OpGroupNonUniformFMax"}; return true; } case SpvOpGroupNonUniformBitwiseAnd: { v = UnownedStringSlice{"OpGroupNonUniformBitwiseAnd"}; return true; } case SpvOpGroupNonUniformBitwiseOr: { v = UnownedStringSlice{"OpGroupNonUniformBitwiseOr"}; return true; } case SpvOpGroupNonUniformBitwiseXor: { v = UnownedStringSlice{"OpGroupNonUniformBitwiseXor"}; return true; } case SpvOpGroupNonUniformLogicalAnd: { v = UnownedStringSlice{"OpGroupNonUniformLogicalAnd"}; return true; } case SpvOpGroupNonUniformLogicalOr: { v = UnownedStringSlice{"OpGroupNonUniformLogicalOr"}; return true; } case SpvOpGroupNonUniformLogicalXor: { v = UnownedStringSlice{"OpGroupNonUniformLogicalXor"}; return true; } case SpvOpGroupNonUniformQuadBroadcast: { v = UnownedStringSlice{"OpGroupNonUniformQuadBroadcast"}; return true; } case SpvOpGroupNonUniformQuadSwap: { v = UnownedStringSlice{"OpGroupNonUniformQuadSwap"}; return true; } case SpvOpCopyLogical: { v = UnownedStringSlice{"OpCopyLogical"}; return true; } case SpvOpPtrEqual: { v = UnownedStringSlice{"OpPtrEqual"}; return true; } case SpvOpPtrNotEqual: { v = UnownedStringSlice{"OpPtrNotEqual"}; return true; } case SpvOpPtrDiff: { v = UnownedStringSlice{"OpPtrDiff"}; return true; } case SpvOpColorAttachmentReadEXT: { v = UnownedStringSlice{"OpColorAttachmentReadEXT"}; return true; } case SpvOpDepthAttachmentReadEXT: { v = UnownedStringSlice{"OpDepthAttachmentReadEXT"}; return true; } case SpvOpStencilAttachmentReadEXT: { v = UnownedStringSlice{"OpStencilAttachmentReadEXT"}; return true; } case SpvOpTerminateInvocation: { v = UnownedStringSlice{"OpTerminateInvocation"}; return true; } case SpvOpSubgroupBallotKHR: { v = UnownedStringSlice{"OpSubgroupBallotKHR"}; return true; } case SpvOpSubgroupFirstInvocationKHR: { v = UnownedStringSlice{"OpSubgroupFirstInvocationKHR"}; return true; } case SpvOpSubgroupAllKHR: { v = UnownedStringSlice{"OpSubgroupAllKHR"}; return true; } case SpvOpSubgroupAnyKHR: { v = UnownedStringSlice{"OpSubgroupAnyKHR"}; return true; } case SpvOpSubgroupAllEqualKHR: { v = UnownedStringSlice{"OpSubgroupAllEqualKHR"}; return true; } case SpvOpGroupNonUniformRotateKHR: { v = UnownedStringSlice{"OpGroupNonUniformRotateKHR"}; return true; } case SpvOpSubgroupReadInvocationKHR: { v = UnownedStringSlice{"OpSubgroupReadInvocationKHR"}; return true; } case SpvOpTraceRayKHR: { v = UnownedStringSlice{"OpTraceRayKHR"}; return true; } case SpvOpExecuteCallableKHR: { v = UnownedStringSlice{"OpExecuteCallableKHR"}; return true; } case SpvOpConvertUToAccelerationStructureKHR: { v = UnownedStringSlice{"OpConvertUToAccelerationStructureKHR"}; return true; } case SpvOpIgnoreIntersectionKHR: { v = UnownedStringSlice{"OpIgnoreIntersectionKHR"}; return true; } case SpvOpTerminateRayKHR: { v = UnownedStringSlice{"OpTerminateRayKHR"}; return true; } case SpvOpSDot: { v = UnownedStringSlice{"OpSDot"}; return true; } case SpvOpUDot: { v = UnownedStringSlice{"OpUDot"}; return true; } case SpvOpSUDot: { v = UnownedStringSlice{"OpSUDot"}; return true; } case SpvOpSDotAccSat: { v = UnownedStringSlice{"OpSDotAccSat"}; return true; } case SpvOpUDotAccSat: { v = UnownedStringSlice{"OpUDotAccSat"}; return true; } case SpvOpSUDotAccSat: { v = UnownedStringSlice{"OpSUDotAccSat"}; return true; } case SpvOpTypeCooperativeMatrixKHR: { v = UnownedStringSlice{"OpTypeCooperativeMatrixKHR"}; return true; } case SpvOpCooperativeMatrixLoadKHR: { v = UnownedStringSlice{"OpCooperativeMatrixLoadKHR"}; return true; } case SpvOpCooperativeMatrixStoreKHR: { v = UnownedStringSlice{"OpCooperativeMatrixStoreKHR"}; return true; } case SpvOpCooperativeMatrixMulAddKHR: { v = UnownedStringSlice{"OpCooperativeMatrixMulAddKHR"}; return true; } case SpvOpCooperativeMatrixLengthKHR: { v = UnownedStringSlice{"OpCooperativeMatrixLengthKHR"}; return true; } case SpvOpTypeRayQueryKHR: { v = UnownedStringSlice{"OpTypeRayQueryKHR"}; return true; } case SpvOpRayQueryInitializeKHR: { v = UnownedStringSlice{"OpRayQueryInitializeKHR"}; return true; } case SpvOpRayQueryTerminateKHR: { v = UnownedStringSlice{"OpRayQueryTerminateKHR"}; return true; } case SpvOpRayQueryGenerateIntersectionKHR: { v = UnownedStringSlice{"OpRayQueryGenerateIntersectionKHR"}; return true; } case SpvOpRayQueryConfirmIntersectionKHR: { v = UnownedStringSlice{"OpRayQueryConfirmIntersectionKHR"}; return true; } case SpvOpRayQueryProceedKHR: { v = UnownedStringSlice{"OpRayQueryProceedKHR"}; return true; } case SpvOpRayQueryGetIntersectionTypeKHR: { v = UnownedStringSlice{"OpRayQueryGetIntersectionTypeKHR"}; return true; } case SpvOpImageSampleWeightedQCOM: { v = UnownedStringSlice{"OpImageSampleWeightedQCOM"}; return true; } case SpvOpImageBoxFilterQCOM: { v = UnownedStringSlice{"OpImageBoxFilterQCOM"}; return true; } case SpvOpImageBlockMatchSSDQCOM: { v = UnownedStringSlice{"OpImageBlockMatchSSDQCOM"}; return true; } case SpvOpImageBlockMatchSADQCOM: { v = UnownedStringSlice{"OpImageBlockMatchSADQCOM"}; return true; } case SpvOpImageBlockMatchWindowSSDQCOM: { v = UnownedStringSlice{"OpImageBlockMatchWindowSSDQCOM"}; return true; } case SpvOpImageBlockMatchWindowSADQCOM: { v = UnownedStringSlice{"OpImageBlockMatchWindowSADQCOM"}; return true; } case SpvOpImageBlockMatchGatherSSDQCOM: { v = UnownedStringSlice{"OpImageBlockMatchGatherSSDQCOM"}; return true; } case SpvOpImageBlockMatchGatherSADQCOM: { v = UnownedStringSlice{"OpImageBlockMatchGatherSADQCOM"}; return true; } case SpvOpGroupIAddNonUniformAMD: { v = UnownedStringSlice{"OpGroupIAddNonUniformAMD"}; return true; } case SpvOpGroupFAddNonUniformAMD: { v = UnownedStringSlice{"OpGroupFAddNonUniformAMD"}; return true; } case SpvOpGroupFMinNonUniformAMD: { v = UnownedStringSlice{"OpGroupFMinNonUniformAMD"}; return true; } case SpvOpGroupUMinNonUniformAMD: { v = UnownedStringSlice{"OpGroupUMinNonUniformAMD"}; return true; } case SpvOpGroupSMinNonUniformAMD: { v = UnownedStringSlice{"OpGroupSMinNonUniformAMD"}; return true; } case SpvOpGroupFMaxNonUniformAMD: { v = UnownedStringSlice{"OpGroupFMaxNonUniformAMD"}; return true; } case SpvOpGroupUMaxNonUniformAMD: { v = UnownedStringSlice{"OpGroupUMaxNonUniformAMD"}; return true; } case SpvOpGroupSMaxNonUniformAMD: { v = UnownedStringSlice{"OpGroupSMaxNonUniformAMD"}; return true; } case SpvOpFragmentMaskFetchAMD: { v = UnownedStringSlice{"OpFragmentMaskFetchAMD"}; return true; } case SpvOpFragmentFetchAMD: { v = UnownedStringSlice{"OpFragmentFetchAMD"}; return true; } case SpvOpReadClockKHR: { v = UnownedStringSlice{"OpReadClockKHR"}; return true; } case SpvOpFinalizeNodePayloadsAMDX: { v = UnownedStringSlice{"OpFinalizeNodePayloadsAMDX"}; return true; } case SpvOpFinishWritingNodePayloadAMDX: { v = UnownedStringSlice{"OpFinishWritingNodePayloadAMDX"}; return true; } case SpvOpInitializeNodePayloadsAMDX: { v = UnownedStringSlice{"OpInitializeNodePayloadsAMDX"}; return true; } case SpvOpGroupNonUniformQuadAllKHR: { v = UnownedStringSlice{"OpGroupNonUniformQuadAllKHR"}; return true; } case SpvOpGroupNonUniformQuadAnyKHR: { v = UnownedStringSlice{"OpGroupNonUniformQuadAnyKHR"}; return true; } case SpvOpHitObjectRecordHitMotionNV: { v = UnownedStringSlice{"OpHitObjectRecordHitMotionNV"}; return true; } case SpvOpHitObjectRecordHitWithIndexMotionNV: { v = UnownedStringSlice{"OpHitObjectRecordHitWithIndexMotionNV"}; return true; } case SpvOpHitObjectRecordMissMotionNV: { v = UnownedStringSlice{"OpHitObjectRecordMissMotionNV"}; return true; } case SpvOpHitObjectGetWorldToObjectNV: { v = UnownedStringSlice{"OpHitObjectGetWorldToObjectNV"}; return true; } case SpvOpHitObjectGetObjectToWorldNV: { v = UnownedStringSlice{"OpHitObjectGetObjectToWorldNV"}; return true; } case SpvOpHitObjectGetObjectRayDirectionNV: { v = UnownedStringSlice{"OpHitObjectGetObjectRayDirectionNV"}; return true; } case SpvOpHitObjectGetObjectRayOriginNV: { v = UnownedStringSlice{"OpHitObjectGetObjectRayOriginNV"}; return true; } case SpvOpHitObjectTraceRayMotionNV: { v = UnownedStringSlice{"OpHitObjectTraceRayMotionNV"}; return true; } case SpvOpHitObjectGetShaderRecordBufferHandleNV: { v = UnownedStringSlice{"OpHitObjectGetShaderRecordBufferHandleNV"}; return true; } case SpvOpHitObjectGetShaderBindingTableRecordIndexNV: { v = UnownedStringSlice{"OpHitObjectGetShaderBindingTableRecordIndexNV"}; return true; } case SpvOpHitObjectRecordEmptyNV: { v = UnownedStringSlice{"OpHitObjectRecordEmptyNV"}; return true; } case SpvOpHitObjectTraceRayNV: { v = UnownedStringSlice{"OpHitObjectTraceRayNV"}; return true; } case SpvOpHitObjectRecordHitNV: { v = UnownedStringSlice{"OpHitObjectRecordHitNV"}; return true; } case SpvOpHitObjectRecordHitWithIndexNV: { v = UnownedStringSlice{"OpHitObjectRecordHitWithIndexNV"}; return true; } case SpvOpHitObjectRecordMissNV: { v = UnownedStringSlice{"OpHitObjectRecordMissNV"}; return true; } case SpvOpHitObjectExecuteShaderNV: { v = UnownedStringSlice{"OpHitObjectExecuteShaderNV"}; return true; } case SpvOpHitObjectGetCurrentTimeNV: { v = UnownedStringSlice{"OpHitObjectGetCurrentTimeNV"}; return true; } case SpvOpHitObjectGetAttributesNV: { v = UnownedStringSlice{"OpHitObjectGetAttributesNV"}; return true; } case SpvOpHitObjectGetHitKindNV: { v = UnownedStringSlice{"OpHitObjectGetHitKindNV"}; return true; } case SpvOpHitObjectGetPrimitiveIndexNV: { v = UnownedStringSlice{"OpHitObjectGetPrimitiveIndexNV"}; return true; } case SpvOpHitObjectGetGeometryIndexNV: { v = UnownedStringSlice{"OpHitObjectGetGeometryIndexNV"}; return true; } case SpvOpHitObjectGetInstanceIdNV: { v = UnownedStringSlice{"OpHitObjectGetInstanceIdNV"}; return true; } case SpvOpHitObjectGetInstanceCustomIndexNV: { v = UnownedStringSlice{"OpHitObjectGetInstanceCustomIndexNV"}; return true; } case SpvOpHitObjectGetWorldRayDirectionNV: { v = UnownedStringSlice{"OpHitObjectGetWorldRayDirectionNV"}; return true; } case SpvOpHitObjectGetWorldRayOriginNV: { v = UnownedStringSlice{"OpHitObjectGetWorldRayOriginNV"}; return true; } case SpvOpHitObjectGetRayTMaxNV: { v = UnownedStringSlice{"OpHitObjectGetRayTMaxNV"}; return true; } case SpvOpHitObjectGetRayTMinNV: { v = UnownedStringSlice{"OpHitObjectGetRayTMinNV"}; return true; } case SpvOpHitObjectIsEmptyNV: { v = UnownedStringSlice{"OpHitObjectIsEmptyNV"}; return true; } case SpvOpHitObjectIsHitNV: { v = UnownedStringSlice{"OpHitObjectIsHitNV"}; return true; } case SpvOpHitObjectIsMissNV: { v = UnownedStringSlice{"OpHitObjectIsMissNV"}; return true; } case SpvOpReorderThreadWithHitObjectNV: { v = UnownedStringSlice{"OpReorderThreadWithHitObjectNV"}; return true; } case SpvOpReorderThreadWithHintNV: { v = UnownedStringSlice{"OpReorderThreadWithHintNV"}; return true; } case SpvOpTypeHitObjectNV: { v = UnownedStringSlice{"OpTypeHitObjectNV"}; return true; } case SpvOpImageSampleFootprintNV: { v = UnownedStringSlice{"OpImageSampleFootprintNV"}; return true; } case SpvOpEmitMeshTasksEXT: { v = UnownedStringSlice{"OpEmitMeshTasksEXT"}; return true; } case SpvOpSetMeshOutputsEXT: { v = UnownedStringSlice{"OpSetMeshOutputsEXT"}; return true; } case SpvOpGroupNonUniformPartitionNV: { v = UnownedStringSlice{"OpGroupNonUniformPartitionNV"}; return true; } case SpvOpWritePackedPrimitiveIndices4x8NV: { v = UnownedStringSlice{"OpWritePackedPrimitiveIndices4x8NV"}; return true; } case SpvOpFetchMicroTriangleVertexPositionNV: { v = UnownedStringSlice{"OpFetchMicroTriangleVertexPositionNV"}; return true; } case SpvOpFetchMicroTriangleVertexBarycentricNV: { v = UnownedStringSlice{"OpFetchMicroTriangleVertexBarycentricNV"}; return true; } case SpvOpReportIntersectionNV: { v = UnownedStringSlice{"OpReportIntersectionNV"}; return true; } case SpvOpIgnoreIntersectionNV: { v = UnownedStringSlice{"OpIgnoreIntersectionNV"}; return true; } case SpvOpTerminateRayNV: { v = UnownedStringSlice{"OpTerminateRayNV"}; return true; } case SpvOpTraceNV: { v = UnownedStringSlice{"OpTraceNV"}; return true; } case SpvOpTraceMotionNV: { v = UnownedStringSlice{"OpTraceMotionNV"}; return true; } case SpvOpTraceRayMotionNV: { v = UnownedStringSlice{"OpTraceRayMotionNV"}; return true; } case SpvOpRayQueryGetIntersectionTriangleVertexPositionsKHR: { v = UnownedStringSlice{"OpRayQueryGetIntersectionTriangleVertexPositionsKHR"}; return true; } case SpvOpTypeAccelerationStructureNV: { v = UnownedStringSlice{"OpTypeAccelerationStructureNV"}; return true; } case SpvOpExecuteCallableNV: { v = UnownedStringSlice{"OpExecuteCallableNV"}; return true; } case SpvOpTypeCooperativeMatrixNV: { v = UnownedStringSlice{"OpTypeCooperativeMatrixNV"}; return true; } case SpvOpCooperativeMatrixLoadNV: { v = UnownedStringSlice{"OpCooperativeMatrixLoadNV"}; return true; } case SpvOpCooperativeMatrixStoreNV: { v = UnownedStringSlice{"OpCooperativeMatrixStoreNV"}; return true; } case SpvOpCooperativeMatrixMulAddNV: { v = UnownedStringSlice{"OpCooperativeMatrixMulAddNV"}; return true; } case SpvOpCooperativeMatrixLengthNV: { v = UnownedStringSlice{"OpCooperativeMatrixLengthNV"}; return true; } case SpvOpBeginInvocationInterlockEXT: { v = UnownedStringSlice{"OpBeginInvocationInterlockEXT"}; return true; } case SpvOpEndInvocationInterlockEXT: { v = UnownedStringSlice{"OpEndInvocationInterlockEXT"}; return true; } case SpvOpDemoteToHelperInvocation: { v = UnownedStringSlice{"OpDemoteToHelperInvocation"}; return true; } case SpvOpIsHelperInvocationEXT: { v = UnownedStringSlice{"OpIsHelperInvocationEXT"}; return true; } case SpvOpConvertUToImageNV: { v = UnownedStringSlice{"OpConvertUToImageNV"}; return true; } case SpvOpConvertUToSamplerNV: { v = UnownedStringSlice{"OpConvertUToSamplerNV"}; return true; } case SpvOpConvertImageToUNV: { v = UnownedStringSlice{"OpConvertImageToUNV"}; return true; } case SpvOpConvertSamplerToUNV: { v = UnownedStringSlice{"OpConvertSamplerToUNV"}; return true; } case SpvOpConvertUToSampledImageNV: { v = UnownedStringSlice{"OpConvertUToSampledImageNV"}; return true; } case SpvOpConvertSampledImageToUNV: { v = UnownedStringSlice{"OpConvertSampledImageToUNV"}; return true; } case SpvOpSamplerImageAddressingModeNV: { v = UnownedStringSlice{"OpSamplerImageAddressingModeNV"}; return true; } case SpvOpRawAccessChainNV: { v = UnownedStringSlice{"OpRawAccessChainNV"}; return true; } case SpvOpSubgroupShuffleINTEL: { v = UnownedStringSlice{"OpSubgroupShuffleINTEL"}; return true; } case SpvOpSubgroupShuffleDownINTEL: { v = UnownedStringSlice{"OpSubgroupShuffleDownINTEL"}; return true; } case SpvOpSubgroupShuffleUpINTEL: { v = UnownedStringSlice{"OpSubgroupShuffleUpINTEL"}; return true; } case SpvOpSubgroupShuffleXorINTEL: { v = UnownedStringSlice{"OpSubgroupShuffleXorINTEL"}; return true; } case SpvOpSubgroupBlockReadINTEL: { v = UnownedStringSlice{"OpSubgroupBlockReadINTEL"}; return true; } case SpvOpSubgroupBlockWriteINTEL: { v = UnownedStringSlice{"OpSubgroupBlockWriteINTEL"}; return true; } case SpvOpSubgroupImageBlockReadINTEL: { v = UnownedStringSlice{"OpSubgroupImageBlockReadINTEL"}; return true; } case SpvOpSubgroupImageBlockWriteINTEL: { v = UnownedStringSlice{"OpSubgroupImageBlockWriteINTEL"}; return true; } case SpvOpSubgroupImageMediaBlockReadINTEL: { v = UnownedStringSlice{"OpSubgroupImageMediaBlockReadINTEL"}; return true; } case SpvOpSubgroupImageMediaBlockWriteINTEL: { v = UnownedStringSlice{"OpSubgroupImageMediaBlockWriteINTEL"}; return true; } case SpvOpUCountLeadingZerosINTEL: { v = UnownedStringSlice{"OpUCountLeadingZerosINTEL"}; return true; } case SpvOpUCountTrailingZerosINTEL: { v = UnownedStringSlice{"OpUCountTrailingZerosINTEL"}; return true; } case SpvOpAbsISubINTEL: { v = UnownedStringSlice{"OpAbsISubINTEL"}; return true; } case SpvOpAbsUSubINTEL: { v = UnownedStringSlice{"OpAbsUSubINTEL"}; return true; } case SpvOpIAddSatINTEL: { v = UnownedStringSlice{"OpIAddSatINTEL"}; return true; } case SpvOpUAddSatINTEL: { v = UnownedStringSlice{"OpUAddSatINTEL"}; return true; } case SpvOpIAverageINTEL: { v = UnownedStringSlice{"OpIAverageINTEL"}; return true; } case SpvOpUAverageINTEL: { v = UnownedStringSlice{"OpUAverageINTEL"}; return true; } case SpvOpIAverageRoundedINTEL: { v = UnownedStringSlice{"OpIAverageRoundedINTEL"}; return true; } case SpvOpUAverageRoundedINTEL: { v = UnownedStringSlice{"OpUAverageRoundedINTEL"}; return true; } case SpvOpISubSatINTEL: { v = UnownedStringSlice{"OpISubSatINTEL"}; return true; } case SpvOpUSubSatINTEL: { v = UnownedStringSlice{"OpUSubSatINTEL"}; return true; } case SpvOpIMul32x16INTEL: { v = UnownedStringSlice{"OpIMul32x16INTEL"}; return true; } case SpvOpUMul32x16INTEL: { v = UnownedStringSlice{"OpUMul32x16INTEL"}; return true; } case SpvOpConstantFunctionPointerINTEL: { v = UnownedStringSlice{"OpConstantFunctionPointerINTEL"}; return true; } case SpvOpFunctionPointerCallINTEL: { v = UnownedStringSlice{"OpFunctionPointerCallINTEL"}; return true; } case SpvOpAsmTargetINTEL: { v = UnownedStringSlice{"OpAsmTargetINTEL"}; return true; } case SpvOpAsmINTEL: { v = UnownedStringSlice{"OpAsmINTEL"}; return true; } case SpvOpAsmCallINTEL: { v = UnownedStringSlice{"OpAsmCallINTEL"}; return true; } case SpvOpAtomicFMinEXT: { v = UnownedStringSlice{"OpAtomicFMinEXT"}; return true; } case SpvOpAtomicFMaxEXT: { v = UnownedStringSlice{"OpAtomicFMaxEXT"}; return true; } case SpvOpAssumeTrueKHR: { v = UnownedStringSlice{"OpAssumeTrueKHR"}; return true; } case SpvOpExpectKHR: { v = UnownedStringSlice{"OpExpectKHR"}; return true; } case SpvOpDecorateString: { v = UnownedStringSlice{"OpDecorateString"}; return true; } case SpvOpMemberDecorateString: { v = UnownedStringSlice{"OpMemberDecorateString"}; return true; } case SpvOpVmeImageINTEL: { v = UnownedStringSlice{"OpVmeImageINTEL"}; return true; } case SpvOpTypeVmeImageINTEL: { v = UnownedStringSlice{"OpTypeVmeImageINTEL"}; return true; } case SpvOpTypeAvcImePayloadINTEL: { v = UnownedStringSlice{"OpTypeAvcImePayloadINTEL"}; return true; } case SpvOpTypeAvcRefPayloadINTEL: { v = UnownedStringSlice{"OpTypeAvcRefPayloadINTEL"}; return true; } case SpvOpTypeAvcSicPayloadINTEL: { v = UnownedStringSlice{"OpTypeAvcSicPayloadINTEL"}; return true; } case SpvOpTypeAvcMcePayloadINTEL: { v = UnownedStringSlice{"OpTypeAvcMcePayloadINTEL"}; return true; } case SpvOpTypeAvcMceResultINTEL: { v = UnownedStringSlice{"OpTypeAvcMceResultINTEL"}; return true; } case SpvOpTypeAvcImeResultINTEL: { v = UnownedStringSlice{"OpTypeAvcImeResultINTEL"}; return true; } case SpvOpTypeAvcImeResultSingleReferenceStreamoutINTEL: { v = UnownedStringSlice{"OpTypeAvcImeResultSingleReferenceStreamoutINTEL"}; return true; } case SpvOpTypeAvcImeResultDualReferenceStreamoutINTEL: { v = UnownedStringSlice{"OpTypeAvcImeResultDualReferenceStreamoutINTEL"}; return true; } case SpvOpTypeAvcImeSingleReferenceStreaminINTEL: { v = UnownedStringSlice{"OpTypeAvcImeSingleReferenceStreaminINTEL"}; return true; } case SpvOpTypeAvcImeDualReferenceStreaminINTEL: { v = UnownedStringSlice{"OpTypeAvcImeDualReferenceStreaminINTEL"}; return true; } case SpvOpTypeAvcRefResultINTEL: { v = UnownedStringSlice{"OpTypeAvcRefResultINTEL"}; return true; } case SpvOpTypeAvcSicResultINTEL: { v = UnownedStringSlice{"OpTypeAvcSicResultINTEL"}; return true; } case SpvOpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL: { v = UnownedStringSlice{"OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL"}; return true; } case SpvOpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL: { v = UnownedStringSlice{"OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL"}; return true; } case SpvOpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL: { v = UnownedStringSlice{"OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL"}; return true; } case SpvOpSubgroupAvcMceSetInterShapePenaltyINTEL: { v = UnownedStringSlice{"OpSubgroupAvcMceSetInterShapePenaltyINTEL"}; return true; } case SpvOpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL: { v = UnownedStringSlice{"OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL"}; return true; } case SpvOpSubgroupAvcMceSetInterDirectionPenaltyINTEL: { v = UnownedStringSlice{"OpSubgroupAvcMceSetInterDirectionPenaltyINTEL"}; return true; } case SpvOpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL: { v = UnownedStringSlice{"OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL"}; return true; } case SpvOpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL: { v = UnownedStringSlice{"OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL"}; return true; } case SpvOpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL: { v = UnownedStringSlice{"OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL"}; return true; } case SpvOpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL: { v = UnownedStringSlice{"OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL"}; return true; } case SpvOpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL: { v = UnownedStringSlice{"OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL"}; return true; } case SpvOpSubgroupAvcMceSetMotionVectorCostFunctionINTEL: { v = UnownedStringSlice{"OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL"}; return true; } case SpvOpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL: { v = UnownedStringSlice{"OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL"}; return true; } case SpvOpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL: { v = UnownedStringSlice{"OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL"}; return true; } case SpvOpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL: { v = UnownedStringSlice{"OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL"}; return true; } case SpvOpSubgroupAvcMceSetAcOnlyHaarINTEL: { v = UnownedStringSlice{"OpSubgroupAvcMceSetAcOnlyHaarINTEL"}; return true; } case SpvOpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL: { v = UnownedStringSlice{"OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL"}; return true; } case SpvOpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL: { v = UnownedStringSlice{"OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL"}; return true; } case SpvOpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL: { v = UnownedStringSlice{"OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL"}; return true; } case SpvOpSubgroupAvcMceConvertToImePayloadINTEL: { v = UnownedStringSlice{"OpSubgroupAvcMceConvertToImePayloadINTEL"}; return true; } case SpvOpSubgroupAvcMceConvertToImeResultINTEL: { v = UnownedStringSlice{"OpSubgroupAvcMceConvertToImeResultINTEL"}; return true; } case SpvOpSubgroupAvcMceConvertToRefPayloadINTEL: { v = UnownedStringSlice{"OpSubgroupAvcMceConvertToRefPayloadINTEL"}; return true; } case SpvOpSubgroupAvcMceConvertToRefResultINTEL: { v = UnownedStringSlice{"OpSubgroupAvcMceConvertToRefResultINTEL"}; return true; } case SpvOpSubgroupAvcMceConvertToSicPayloadINTEL: { v = UnownedStringSlice{"OpSubgroupAvcMceConvertToSicPayloadINTEL"}; return true; } case SpvOpSubgroupAvcMceConvertToSicResultINTEL: { v = UnownedStringSlice{"OpSubgroupAvcMceConvertToSicResultINTEL"}; return true; } case SpvOpSubgroupAvcMceGetMotionVectorsINTEL: { v = UnownedStringSlice{"OpSubgroupAvcMceGetMotionVectorsINTEL"}; return true; } case SpvOpSubgroupAvcMceGetInterDistortionsINTEL: { v = UnownedStringSlice{"OpSubgroupAvcMceGetInterDistortionsINTEL"}; return true; } case SpvOpSubgroupAvcMceGetBestInterDistortionsINTEL: { v = UnownedStringSlice{"OpSubgroupAvcMceGetBestInterDistortionsINTEL"}; return true; } case SpvOpSubgroupAvcMceGetInterMajorShapeINTEL: { v = UnownedStringSlice{"OpSubgroupAvcMceGetInterMajorShapeINTEL"}; return true; } case SpvOpSubgroupAvcMceGetInterMinorShapeINTEL: { v = UnownedStringSlice{"OpSubgroupAvcMceGetInterMinorShapeINTEL"}; return true; } case SpvOpSubgroupAvcMceGetInterDirectionsINTEL: { v = UnownedStringSlice{"OpSubgroupAvcMceGetInterDirectionsINTEL"}; return true; } case SpvOpSubgroupAvcMceGetInterMotionVectorCountINTEL: { v = UnownedStringSlice{"OpSubgroupAvcMceGetInterMotionVectorCountINTEL"}; return true; } case SpvOpSubgroupAvcMceGetInterReferenceIdsINTEL: { v = UnownedStringSlice{"OpSubgroupAvcMceGetInterReferenceIdsINTEL"}; return true; } case SpvOpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL: { v = UnownedStringSlice{"OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL"}; return true; } case SpvOpSubgroupAvcImeInitializeINTEL: { v = UnownedStringSlice{"OpSubgroupAvcImeInitializeINTEL"}; return true; } case SpvOpSubgroupAvcImeSetSingleReferenceINTEL: { v = UnownedStringSlice{"OpSubgroupAvcImeSetSingleReferenceINTEL"}; return true; } case SpvOpSubgroupAvcImeSetDualReferenceINTEL: { v = UnownedStringSlice{"OpSubgroupAvcImeSetDualReferenceINTEL"}; return true; } case SpvOpSubgroupAvcImeRefWindowSizeINTEL: { v = UnownedStringSlice{"OpSubgroupAvcImeRefWindowSizeINTEL"}; return true; } case SpvOpSubgroupAvcImeAdjustRefOffsetINTEL: { v = UnownedStringSlice{"OpSubgroupAvcImeAdjustRefOffsetINTEL"}; return true; } case SpvOpSubgroupAvcImeConvertToMcePayloadINTEL: { v = UnownedStringSlice{"OpSubgroupAvcImeConvertToMcePayloadINTEL"}; return true; } case SpvOpSubgroupAvcImeSetMaxMotionVectorCountINTEL: { v = UnownedStringSlice{"OpSubgroupAvcImeSetMaxMotionVectorCountINTEL"}; return true; } case SpvOpSubgroupAvcImeSetUnidirectionalMixDisableINTEL: { v = UnownedStringSlice{"OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL"}; return true; } case SpvOpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL: { v = UnownedStringSlice{"OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL"}; return true; } case SpvOpSubgroupAvcImeSetWeightedSadINTEL: { v = UnownedStringSlice{"OpSubgroupAvcImeSetWeightedSadINTEL"}; return true; } case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceINTEL: { v = UnownedStringSlice{"OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL"}; return true; } case SpvOpSubgroupAvcImeEvaluateWithDualReferenceINTEL: { v = UnownedStringSlice{"OpSubgroupAvcImeEvaluateWithDualReferenceINTEL"}; return true; } case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL: { v = UnownedStringSlice{"OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL"}; return true; } case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL: { v = UnownedStringSlice{"OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL"}; return true; } case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL: { v = UnownedStringSlice{"OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL"}; return true; } case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL: { v = UnownedStringSlice{"OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL"}; return true; } case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL: { v = UnownedStringSlice{"OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL"}; return true; } case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL: { v = UnownedStringSlice{"OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL"}; return true; } case SpvOpSubgroupAvcImeConvertToMceResultINTEL: { v = UnownedStringSlice{"OpSubgroupAvcImeConvertToMceResultINTEL"}; return true; } case SpvOpSubgroupAvcImeGetSingleReferenceStreaminINTEL: { v = UnownedStringSlice{"OpSubgroupAvcImeGetSingleReferenceStreaminINTEL"}; return true; } case SpvOpSubgroupAvcImeGetDualReferenceStreaminINTEL: { v = UnownedStringSlice{"OpSubgroupAvcImeGetDualReferenceStreaminINTEL"}; return true; } case SpvOpSubgroupAvcImeStripSingleReferenceStreamoutINTEL: { v = UnownedStringSlice{"OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL"}; return true; } case SpvOpSubgroupAvcImeStripDualReferenceStreamoutINTEL: { v = UnownedStringSlice{"OpSubgroupAvcImeStripDualReferenceStreamoutINTEL"}; return true; } case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL: { v = UnownedStringSlice{"OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL"}; return true; } case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL: { v = UnownedStringSlice{"OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL"}; return true; } case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL: { v = UnownedStringSlice{"OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL"}; return true; } case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL: { v = UnownedStringSlice{"OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL"}; return true; } case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL: { v = UnownedStringSlice{"OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL"}; return true; } case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL: { v = UnownedStringSlice{"OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL"}; return true; } case SpvOpSubgroupAvcImeGetBorderReachedINTEL: { v = UnownedStringSlice{"OpSubgroupAvcImeGetBorderReachedINTEL"}; return true; } case SpvOpSubgroupAvcImeGetTruncatedSearchIndicationINTEL: { v = UnownedStringSlice{"OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL"}; return true; } case SpvOpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL: { v = UnownedStringSlice{"OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL"}; return true; } case SpvOpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL: { v = UnownedStringSlice{"OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL"}; return true; } case SpvOpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL: { v = UnownedStringSlice{"OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL"}; return true; } case SpvOpSubgroupAvcFmeInitializeINTEL: { v = UnownedStringSlice{"OpSubgroupAvcFmeInitializeINTEL"}; return true; } case SpvOpSubgroupAvcBmeInitializeINTEL: { v = UnownedStringSlice{"OpSubgroupAvcBmeInitializeINTEL"}; return true; } case SpvOpSubgroupAvcRefConvertToMcePayloadINTEL: { v = UnownedStringSlice{"OpSubgroupAvcRefConvertToMcePayloadINTEL"}; return true; } case SpvOpSubgroupAvcRefSetBidirectionalMixDisableINTEL: { v = UnownedStringSlice{"OpSubgroupAvcRefSetBidirectionalMixDisableINTEL"}; return true; } case SpvOpSubgroupAvcRefSetBilinearFilterEnableINTEL: { v = UnownedStringSlice{"OpSubgroupAvcRefSetBilinearFilterEnableINTEL"}; return true; } case SpvOpSubgroupAvcRefEvaluateWithSingleReferenceINTEL: { v = UnownedStringSlice{"OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL"}; return true; } case SpvOpSubgroupAvcRefEvaluateWithDualReferenceINTEL: { v = UnownedStringSlice{"OpSubgroupAvcRefEvaluateWithDualReferenceINTEL"}; return true; } case SpvOpSubgroupAvcRefEvaluateWithMultiReferenceINTEL: { v = UnownedStringSlice{"OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL"}; return true; } case SpvOpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL: { v = UnownedStringSlice{"OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL"}; return true; } case SpvOpSubgroupAvcRefConvertToMceResultINTEL: { v = UnownedStringSlice{"OpSubgroupAvcRefConvertToMceResultINTEL"}; return true; } case SpvOpSubgroupAvcSicInitializeINTEL: { v = UnownedStringSlice{"OpSubgroupAvcSicInitializeINTEL"}; return true; } case SpvOpSubgroupAvcSicConfigureSkcINTEL: { v = UnownedStringSlice{"OpSubgroupAvcSicConfigureSkcINTEL"}; return true; } case SpvOpSubgroupAvcSicConfigureIpeLumaINTEL: { v = UnownedStringSlice{"OpSubgroupAvcSicConfigureIpeLumaINTEL"}; return true; } case SpvOpSubgroupAvcSicConfigureIpeLumaChromaINTEL: { v = UnownedStringSlice{"OpSubgroupAvcSicConfigureIpeLumaChromaINTEL"}; return true; } case SpvOpSubgroupAvcSicGetMotionVectorMaskINTEL: { v = UnownedStringSlice{"OpSubgroupAvcSicGetMotionVectorMaskINTEL"}; return true; } case SpvOpSubgroupAvcSicConvertToMcePayloadINTEL: { v = UnownedStringSlice{"OpSubgroupAvcSicConvertToMcePayloadINTEL"}; return true; } case SpvOpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL: { v = UnownedStringSlice{"OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL"}; return true; } case SpvOpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL: { v = UnownedStringSlice{"OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL"}; return true; } case SpvOpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL: { v = UnownedStringSlice{"OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL"}; return true; } case SpvOpSubgroupAvcSicSetBilinearFilterEnableINTEL: { v = UnownedStringSlice{"OpSubgroupAvcSicSetBilinearFilterEnableINTEL"}; return true; } case SpvOpSubgroupAvcSicSetSkcForwardTransformEnableINTEL: { v = UnownedStringSlice{"OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL"}; return true; } case SpvOpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL: { v = UnownedStringSlice{"OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL"}; return true; } case SpvOpSubgroupAvcSicEvaluateIpeINTEL: { v = UnownedStringSlice{"OpSubgroupAvcSicEvaluateIpeINTEL"}; return true; } case SpvOpSubgroupAvcSicEvaluateWithSingleReferenceINTEL: { v = UnownedStringSlice{"OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL"}; return true; } case SpvOpSubgroupAvcSicEvaluateWithDualReferenceINTEL: { v = UnownedStringSlice{"OpSubgroupAvcSicEvaluateWithDualReferenceINTEL"}; return true; } case SpvOpSubgroupAvcSicEvaluateWithMultiReferenceINTEL: { v = UnownedStringSlice{"OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL"}; return true; } case SpvOpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL: { v = UnownedStringSlice{"OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL"}; return true; } case SpvOpSubgroupAvcSicConvertToMceResultINTEL: { v = UnownedStringSlice{"OpSubgroupAvcSicConvertToMceResultINTEL"}; return true; } case SpvOpSubgroupAvcSicGetIpeLumaShapeINTEL: { v = UnownedStringSlice{"OpSubgroupAvcSicGetIpeLumaShapeINTEL"}; return true; } case SpvOpSubgroupAvcSicGetBestIpeLumaDistortionINTEL: { v = UnownedStringSlice{"OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL"}; return true; } case SpvOpSubgroupAvcSicGetBestIpeChromaDistortionINTEL: { v = UnownedStringSlice{"OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL"}; return true; } case SpvOpSubgroupAvcSicGetPackedIpeLumaModesINTEL: { v = UnownedStringSlice{"OpSubgroupAvcSicGetPackedIpeLumaModesINTEL"}; return true; } case SpvOpSubgroupAvcSicGetIpeChromaModeINTEL: { v = UnownedStringSlice{"OpSubgroupAvcSicGetIpeChromaModeINTEL"}; return true; } case SpvOpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: { v = UnownedStringSlice{"OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL"}; return true; } case SpvOpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: { v = UnownedStringSlice{"OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL"}; return true; } case SpvOpSubgroupAvcSicGetInterRawSadsINTEL: { v = UnownedStringSlice{"OpSubgroupAvcSicGetInterRawSadsINTEL"}; return true; } case SpvOpVariableLengthArrayINTEL: { v = UnownedStringSlice{"OpVariableLengthArrayINTEL"}; return true; } case SpvOpSaveMemoryINTEL: { v = UnownedStringSlice{"OpSaveMemoryINTEL"}; return true; } case SpvOpRestoreMemoryINTEL: { v = UnownedStringSlice{"OpRestoreMemoryINTEL"}; return true; } case SpvOpArbitraryFloatSinCosPiINTEL: { v = UnownedStringSlice{"OpArbitraryFloatSinCosPiINTEL"}; return true; } case SpvOpArbitraryFloatCastINTEL: { v = UnownedStringSlice{"OpArbitraryFloatCastINTEL"}; return true; } case SpvOpArbitraryFloatCastFromIntINTEL: { v = UnownedStringSlice{"OpArbitraryFloatCastFromIntINTEL"}; return true; } case SpvOpArbitraryFloatCastToIntINTEL: { v = UnownedStringSlice{"OpArbitraryFloatCastToIntINTEL"}; return true; } case SpvOpArbitraryFloatAddINTEL: { v = UnownedStringSlice{"OpArbitraryFloatAddINTEL"}; return true; } case SpvOpArbitraryFloatSubINTEL: { v = UnownedStringSlice{"OpArbitraryFloatSubINTEL"}; return true; } case SpvOpArbitraryFloatMulINTEL: { v = UnownedStringSlice{"OpArbitraryFloatMulINTEL"}; return true; } case SpvOpArbitraryFloatDivINTEL: { v = UnownedStringSlice{"OpArbitraryFloatDivINTEL"}; return true; } case SpvOpArbitraryFloatGTINTEL: { v = UnownedStringSlice{"OpArbitraryFloatGTINTEL"}; return true; } case SpvOpArbitraryFloatGEINTEL: { v = UnownedStringSlice{"OpArbitraryFloatGEINTEL"}; return true; } case SpvOpArbitraryFloatLTINTEL: { v = UnownedStringSlice{"OpArbitraryFloatLTINTEL"}; return true; } case SpvOpArbitraryFloatLEINTEL: { v = UnownedStringSlice{"OpArbitraryFloatLEINTEL"}; return true; } case SpvOpArbitraryFloatEQINTEL: { v = UnownedStringSlice{"OpArbitraryFloatEQINTEL"}; return true; } case SpvOpArbitraryFloatRecipINTEL: { v = UnownedStringSlice{"OpArbitraryFloatRecipINTEL"}; return true; } case SpvOpArbitraryFloatRSqrtINTEL: { v = UnownedStringSlice{"OpArbitraryFloatRSqrtINTEL"}; return true; } case SpvOpArbitraryFloatCbrtINTEL: { v = UnownedStringSlice{"OpArbitraryFloatCbrtINTEL"}; return true; } case SpvOpArbitraryFloatHypotINTEL: { v = UnownedStringSlice{"OpArbitraryFloatHypotINTEL"}; return true; } case SpvOpArbitraryFloatSqrtINTEL: { v = UnownedStringSlice{"OpArbitraryFloatSqrtINTEL"}; return true; } case SpvOpArbitraryFloatLogINTEL: { v = UnownedStringSlice{"OpArbitraryFloatLogINTEL"}; return true; } case SpvOpArbitraryFloatLog2INTEL: { v = UnownedStringSlice{"OpArbitraryFloatLog2INTEL"}; return true; } case SpvOpArbitraryFloatLog10INTEL: { v = UnownedStringSlice{"OpArbitraryFloatLog10INTEL"}; return true; } case SpvOpArbitraryFloatLog1pINTEL: { v = UnownedStringSlice{"OpArbitraryFloatLog1pINTEL"}; return true; } case SpvOpArbitraryFloatExpINTEL: { v = UnownedStringSlice{"OpArbitraryFloatExpINTEL"}; return true; } case SpvOpArbitraryFloatExp2INTEL: { v = UnownedStringSlice{"OpArbitraryFloatExp2INTEL"}; return true; } case SpvOpArbitraryFloatExp10INTEL: { v = UnownedStringSlice{"OpArbitraryFloatExp10INTEL"}; return true; } case SpvOpArbitraryFloatExpm1INTEL: { v = UnownedStringSlice{"OpArbitraryFloatExpm1INTEL"}; return true; } case SpvOpArbitraryFloatSinINTEL: { v = UnownedStringSlice{"OpArbitraryFloatSinINTEL"}; return true; } case SpvOpArbitraryFloatCosINTEL: { v = UnownedStringSlice{"OpArbitraryFloatCosINTEL"}; return true; } case SpvOpArbitraryFloatSinCosINTEL: { v = UnownedStringSlice{"OpArbitraryFloatSinCosINTEL"}; return true; } case SpvOpArbitraryFloatSinPiINTEL: { v = UnownedStringSlice{"OpArbitraryFloatSinPiINTEL"}; return true; } case SpvOpArbitraryFloatCosPiINTEL: { v = UnownedStringSlice{"OpArbitraryFloatCosPiINTEL"}; return true; } case SpvOpArbitraryFloatASinINTEL: { v = UnownedStringSlice{"OpArbitraryFloatASinINTEL"}; return true; } case SpvOpArbitraryFloatASinPiINTEL: { v = UnownedStringSlice{"OpArbitraryFloatASinPiINTEL"}; return true; } case SpvOpArbitraryFloatACosINTEL: { v = UnownedStringSlice{"OpArbitraryFloatACosINTEL"}; return true; } case SpvOpArbitraryFloatACosPiINTEL: { v = UnownedStringSlice{"OpArbitraryFloatACosPiINTEL"}; return true; } case SpvOpArbitraryFloatATanINTEL: { v = UnownedStringSlice{"OpArbitraryFloatATanINTEL"}; return true; } case SpvOpArbitraryFloatATanPiINTEL: { v = UnownedStringSlice{"OpArbitraryFloatATanPiINTEL"}; return true; } case SpvOpArbitraryFloatATan2INTEL: { v = UnownedStringSlice{"OpArbitraryFloatATan2INTEL"}; return true; } case SpvOpArbitraryFloatPowINTEL: { v = UnownedStringSlice{"OpArbitraryFloatPowINTEL"}; return true; } case SpvOpArbitraryFloatPowRINTEL: { v = UnownedStringSlice{"OpArbitraryFloatPowRINTEL"}; return true; } case SpvOpArbitraryFloatPowNINTEL: { v = UnownedStringSlice{"OpArbitraryFloatPowNINTEL"}; return true; } case SpvOpLoopControlINTEL: { v = UnownedStringSlice{"OpLoopControlINTEL"}; return true; } case SpvOpAliasDomainDeclINTEL: { v = UnownedStringSlice{"OpAliasDomainDeclINTEL"}; return true; } case SpvOpAliasScopeDeclINTEL: { v = UnownedStringSlice{"OpAliasScopeDeclINTEL"}; return true; } case SpvOpAliasScopeListDeclINTEL: { v = UnownedStringSlice{"OpAliasScopeListDeclINTEL"}; return true; } case SpvOpFixedSqrtINTEL: { v = UnownedStringSlice{"OpFixedSqrtINTEL"}; return true; } case SpvOpFixedRecipINTEL: { v = UnownedStringSlice{"OpFixedRecipINTEL"}; return true; } case SpvOpFixedRsqrtINTEL: { v = UnownedStringSlice{"OpFixedRsqrtINTEL"}; return true; } case SpvOpFixedSinINTEL: { v = UnownedStringSlice{"OpFixedSinINTEL"}; return true; } case SpvOpFixedCosINTEL: { v = UnownedStringSlice{"OpFixedCosINTEL"}; return true; } case SpvOpFixedSinCosINTEL: { v = UnownedStringSlice{"OpFixedSinCosINTEL"}; return true; } case SpvOpFixedSinPiINTEL: { v = UnownedStringSlice{"OpFixedSinPiINTEL"}; return true; } case SpvOpFixedCosPiINTEL: { v = UnownedStringSlice{"OpFixedCosPiINTEL"}; return true; } case SpvOpFixedSinCosPiINTEL: { v = UnownedStringSlice{"OpFixedSinCosPiINTEL"}; return true; } case SpvOpFixedLogINTEL: { v = UnownedStringSlice{"OpFixedLogINTEL"}; return true; } case SpvOpFixedExpINTEL: { v = UnownedStringSlice{"OpFixedExpINTEL"}; return true; } case SpvOpPtrCastToCrossWorkgroupINTEL: { v = UnownedStringSlice{"OpPtrCastToCrossWorkgroupINTEL"}; return true; } case SpvOpCrossWorkgroupCastToPtrINTEL: { v = UnownedStringSlice{"OpCrossWorkgroupCastToPtrINTEL"}; return true; } case SpvOpReadPipeBlockingINTEL: { v = UnownedStringSlice{"OpReadPipeBlockingINTEL"}; return true; } case SpvOpWritePipeBlockingINTEL: { v = UnownedStringSlice{"OpWritePipeBlockingINTEL"}; return true; } case SpvOpFPGARegINTEL: { v = UnownedStringSlice{"OpFPGARegINTEL"}; return true; } case SpvOpRayQueryGetRayTMinKHR: { v = UnownedStringSlice{"OpRayQueryGetRayTMinKHR"}; return true; } case SpvOpRayQueryGetRayFlagsKHR: { v = UnownedStringSlice{"OpRayQueryGetRayFlagsKHR"}; return true; } case SpvOpRayQueryGetIntersectionTKHR: { v = UnownedStringSlice{"OpRayQueryGetIntersectionTKHR"}; return true; } case SpvOpRayQueryGetIntersectionInstanceCustomIndexKHR: { v = UnownedStringSlice{"OpRayQueryGetIntersectionInstanceCustomIndexKHR"}; return true; } case SpvOpRayQueryGetIntersectionInstanceIdKHR: { v = UnownedStringSlice{"OpRayQueryGetIntersectionInstanceIdKHR"}; return true; } case SpvOpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR: { v = UnownedStringSlice{"OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR"}; return true; } case SpvOpRayQueryGetIntersectionGeometryIndexKHR: { v = UnownedStringSlice{"OpRayQueryGetIntersectionGeometryIndexKHR"}; return true; } case SpvOpRayQueryGetIntersectionPrimitiveIndexKHR: { v = UnownedStringSlice{"OpRayQueryGetIntersectionPrimitiveIndexKHR"}; return true; } case SpvOpRayQueryGetIntersectionBarycentricsKHR: { v = UnownedStringSlice{"OpRayQueryGetIntersectionBarycentricsKHR"}; return true; } case SpvOpRayQueryGetIntersectionFrontFaceKHR: { v = UnownedStringSlice{"OpRayQueryGetIntersectionFrontFaceKHR"}; return true; } case SpvOpRayQueryGetIntersectionCandidateAABBOpaqueKHR: { v = UnownedStringSlice{"OpRayQueryGetIntersectionCandidateAABBOpaqueKHR"}; return true; } case SpvOpRayQueryGetIntersectionObjectRayDirectionKHR: { v = UnownedStringSlice{"OpRayQueryGetIntersectionObjectRayDirectionKHR"}; return true; } case SpvOpRayQueryGetIntersectionObjectRayOriginKHR: { v = UnownedStringSlice{"OpRayQueryGetIntersectionObjectRayOriginKHR"}; return true; } case SpvOpRayQueryGetWorldRayDirectionKHR: { v = UnownedStringSlice{"OpRayQueryGetWorldRayDirectionKHR"}; return true; } case SpvOpRayQueryGetWorldRayOriginKHR: { v = UnownedStringSlice{"OpRayQueryGetWorldRayOriginKHR"}; return true; } case SpvOpRayQueryGetIntersectionObjectToWorldKHR: { v = UnownedStringSlice{"OpRayQueryGetIntersectionObjectToWorldKHR"}; return true; } case SpvOpRayQueryGetIntersectionWorldToObjectKHR: { v = UnownedStringSlice{"OpRayQueryGetIntersectionWorldToObjectKHR"}; return true; } case SpvOpAtomicFAddEXT: { v = UnownedStringSlice{"OpAtomicFAddEXT"}; return true; } case SpvOpTypeBufferSurfaceINTEL: { v = UnownedStringSlice{"OpTypeBufferSurfaceINTEL"}; return true; } case SpvOpTypeStructContinuedINTEL: { v = UnownedStringSlice{"OpTypeStructContinuedINTEL"}; return true; } case SpvOpConstantCompositeContinuedINTEL: { v = UnownedStringSlice{"OpConstantCompositeContinuedINTEL"}; return true; } case SpvOpSpecConstantCompositeContinuedINTEL: { v = UnownedStringSlice{"OpSpecConstantCompositeContinuedINTEL"}; return true; } case SpvOpCompositeConstructContinuedINTEL: { v = UnownedStringSlice{"OpCompositeConstructContinuedINTEL"}; return true; } case SpvOpConvertFToBF16INTEL: { v = UnownedStringSlice{"OpConvertFToBF16INTEL"}; return true; } case SpvOpConvertBF16ToFINTEL: { v = UnownedStringSlice{"OpConvertBF16ToFINTEL"}; return true; } case SpvOpControlBarrierArriveINTEL: { v = UnownedStringSlice{"OpControlBarrierArriveINTEL"}; return true; } case SpvOpControlBarrierWaitINTEL: { v = UnownedStringSlice{"OpControlBarrierWaitINTEL"}; return true; } case SpvOpGroupIMulKHR: { v = UnownedStringSlice{"OpGroupIMulKHR"}; return true; } case SpvOpGroupFMulKHR: { v = UnownedStringSlice{"OpGroupFMulKHR"}; return true; } case SpvOpGroupBitwiseAndKHR: { v = UnownedStringSlice{"OpGroupBitwiseAndKHR"}; return true; } case SpvOpGroupBitwiseOrKHR: { v = UnownedStringSlice{"OpGroupBitwiseOrKHR"}; return true; } case SpvOpGroupBitwiseXorKHR: { v = UnownedStringSlice{"OpGroupBitwiseXorKHR"}; return true; } case SpvOpGroupLogicalAndKHR: { v = UnownedStringSlice{"OpGroupLogicalAndKHR"}; return true; } case SpvOpGroupLogicalOrKHR: { v = UnownedStringSlice{"OpGroupLogicalOrKHR"}; return true; } case SpvOpGroupLogicalXorKHR: { v = UnownedStringSlice{"OpGroupLogicalXorKHR"}; return true; } case SpvOpMaskedGatherINTEL: { v = UnownedStringSlice{"OpMaskedGatherINTEL"}; return true; } case SpvOpMaskedScatterINTEL: { v = UnownedStringSlice{"OpMaskedScatterINTEL"}; return true; } default: return false; } } static bool lookupOperandKind(const UnownedStringSlice& str, OperandKind& value) { static const unsigned tableSalt[63] = { 1, 1, 2, 3, 0, 0, 1, 0, 0, 1, 8, 0, 0, 2, 0, 0, 0, 0, 9, 0, 0, 0, 4, 21, 3, 1, 0, 1, 5, 16, 1, 5, 3, 2, 0, 0, 0, 4, 2, 7, 2, 4, 0, 3, 10, 0, 0, 0, 0, 43, 12, 3, 1, 0, 1, 0, 4, 12, 0, 12, 1, 5, 42 }; using KV = std::pair; static const KV words[63] = { {"OverflowModes", OperandKind{27}}, {"FragmentShadingRate", OperandKind{9}}, {"ImageFormat", OperandKind{20}}, {"IdRef", OperandKind{53}}, {"FPFastMathMode", OperandKind{1}}, {"Dim", OperandKind{17}}, {"ImageChannelDataType", OperandKind{22}}, {"LoadCacheControl", OperandKind{46}}, {"MemorySemantics", OperandKind{5}}, {"SamplerFilterMode", OperandKind{19}}, {"ExecutionMode", OperandKind{15}}, {"FunctionParameterAttribute", OperandKind{31}}, {"Decoration", OperandKind{32}}, {"KernelProfilingInfo", OperandKind{7}}, {"PairLiteralIntegerIdRef", OperandKind{60}}, {"StoreCacheControl", OperandKind{47}}, {"LiteralInteger", OperandKind{54}}, {"StorageClass", OperandKind{16}}, {"LiteralExtInstInteger", OperandKind{58}}, {"RawAccessChainOperands", OperandKind{10}}, {"PairIdRefIdRef", OperandKind{62}}, {"CooperativeMatrixLayout", OperandKind{43}}, {"LiteralFloat", OperandKind{56}}, {"InitializationModeQualifier", OperandKind{45}}, {"CooperativeMatrixUse", OperandKind{44}}, {"BuiltIn", OperandKind{33}}, {"RayQueryIntersection", OperandKind{38}}, {"AccessQualifier", OperandKind{29}}, {"QuantizationModes", OperandKind{25}}, {"RayQueryCandidateIntersectionType", OperandKind{40}}, {"CooperativeMatrixOperands", OperandKind{42}}, {"IdResultType", OperandKind{49}}, {"IdScope", OperandKind{52}}, {"PackedVectorFormat", OperandKind{41}}, {"SelectionControl", OperandKind{2}}, {"SourceLanguage", OperandKind{11}}, {"LiteralContextDependentNumber", OperandKind{57}}, {"ImageChannelOrder", OperandKind{21}}, {"PairIdRefLiteralInteger", OperandKind{61}}, {"NamedMaximumNumberOfRegisters", OperandKind{48}}, {"FPRoundingMode", OperandKind{23}}, {"IdMemorySemantics", OperandKind{51}}, {"LiteralString", OperandKind{55}}, {"FPDenormMode", OperandKind{24}}, {"SamplerAddressingMode", OperandKind{18}}, {"LinkageType", OperandKind{28}}, {"ImageOperands", OperandKind{0}}, {"HostAccessQualifier", OperandKind{30}}, {"LiteralSpecConstantOpInteger", OperandKind{59}}, {"MemoryAccess", OperandKind{6}}, {"ExecutionModel", OperandKind{12}}, {"IdResult", OperandKind{50}}, {"Capability", OperandKind{37}}, {"KernelEnqueueFlags", OperandKind{36}}, {"RayQueryCommittedIntersectionType", OperandKind{39}}, {"FPOperationMode", OperandKind{26}}, {"LoopControl", OperandKind{3}}, {"RayFlags", OperandKind{8}}, {"AddressingModel", OperandKind{13}}, {"FunctionControl", OperandKind{4}}, {"Scope", OperandKind{34}}, {"GroupOperation", OperandKind{35}}, {"MemoryModel", OperandKind{14}}, }; static const auto hash = [](const UnownedStringSlice& str, UInt32 salt){ UInt32 h = salt; for (const char c : str) h = (h * 0x01000193) ^ c; return h % 63; }; const auto i = hash(str, tableSalt[hash(str, 0)]); if(str == words[i].first) { value = words[i].second; return true; } else { return false; } } bool lookupEnumWithHexPrefix(const UnownedStringSlice& str, SpvWord& value) { static const unsigned tableSalt[1016] = { 0, 1, 5, 0, 0, 1, 1, 3, 2, 7, 2, 1, 2, 0, 1, 0, 4, 2, 0, 8, 1, 3, 5, 3, 4, 0, 5, 1, 0, 3, 1, 1, 1, 0, 4, 1, 2, 1, 1, 1, 2, 1, 1, 0, 0, 0, 1, 3, 0, 3, 0, 7, 2, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 2, 5, 2, 1, 2, 6, 4, 1, 3, 1, 1, 0, 2, 1, 1, 9, 4, 0, 2, 2, 0, 0, 3, 0, 2, 0, 3, 5, 0, 0, 2, 0, 1, 1, 2, 0, 2, 0, 1, 0, 2, 1, 0, 8, 1, 1, 1, 4, 1, 3, 0, 2, 1, 1, 3, 2, 1, 1, 0, 1, 0, 3, 0, 1, 0, 6, 0, 0, 4, 3, 4, 1, 4, 0, 4, 3, 0, 2, 2, 0, 5, 1, 1, 4, 0, 0, 0, 0, 0, 0, 1, 2, 1, 8, 5, 3, 2, 1, 0, 0, 0, 5, 1, 11, 1, 0, 1, 4, 0, 1, 7, 0, 0, 0, 0, 0, 3, 0, 1, 5, 0, 0, 0, 0, 0, 6, 1, 2, 0, 0, 5, 1, 0, 2, 0, 1, 1, 0, 0, 1, 5, 0, 1, 0, 0, 0, 1, 2, 0, 4, 4, 4, 2, 0, 0, 1, 0, 0, 2, 1, 0, 1, 2, 9, 2, 1, 0, 0, 5, 0, 4, 0, 9, 2, 3, 0, 0, 7, 5, 0, 1, 1, 3, 1, 0, 7, 2, 0, 6, 0, 0, 1, 0, 2, 2, 0, 1, 5, 2, 0, 0, 0, 10, 0, 0, 2, 0, 1, 2, 0, 6, 0, 1, 7, 1, 1, 1, 0, 8, 0, 0, 0, 0, 2, 9, 3, 0, 1, 0, 0, 6, 8, 1, 1, 0, 0, 1, 0, 2, 0, 2, 3, 0, 10, 1, 1, 0, 0, 0, 6, 6, 1, 0, 11, 0, 0, 3, 2, 3, 1, 0, 0, 8, 0, 1, 2, 0, 0, 4, 9, 1, 0, 0, 1, 2, 1, 12, 1, 1, 7, 5, 2, 0, 0, 0, 11, 0, 0, 2, 4, 2, 2, 13, 0, 5, 4, 2, 0, 0, 3, 5, 1, 6, 2, 0, 0, 0, 1, 6, 2, 0, 7, 1, 4, 0, 1, 1, 1, 5, 0, 0, 0, 2, 1, 7, 4, 0, 0, 0, 0, 2, 2, 4, 1, 0, 2, 8, 0, 2, 2, 0, 0, 0, 3, 0, 3, 6, 4, 3, 2, 3, 3, 6, 3, 1, 4, 2, 0, 4, 1, 0, 0, 1, 0, 0, 0, 7, 1, 8, 1, 0, 0, 0, 0, 4, 4, 7, 1, 1, 1, 2, 1, 3, 4, 5, 1, 4, 0, 1, 1, 1, 0, 11, 4, 4, 2, 0, 6, 2, 0, 0, 0, 9, 0, 1, 4, 0, 1, 0, 11, 14, 1, 0, 0, 1, 2, 5, 2, 0, 1, 1, 0, 0, 1, 0, 7, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 8, 15, 2, 0, 4, 4, 0, 8, 0, 1, 2, 3, 1, 11, 0, 0, 1, 0, 2, 0, 8, 4, 0, 7, 14, 7, 2, 4, 13, 3, 3, 1, 1, 1, 0, 1, 0, 1, 0, 6, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 30, 0, 4, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 8, 7, 5, 0, 0, 2, 0, 0, 1, 8, 3, 2, 5, 0, 6, 0, 1, 4, 3, 3, 6, 0, 0, 2, 4, 1, 4, 0, 6, 6, 0, 7, 2, 0, 1, 1, 2, 0, 0, 0, 1, 1, 0, 1, 5, 10, 0, 5, 6, 6, 0, 0, 2, 0, 5, 19, 0, 6, 7, 3, 1, 0, 1, 3, 2, 4, 0, 0, 0, 0, 0, 3, 6, 0, 0, 1, 0, 4, 3, 0, 13, 1, 12, 0, 2, 4, 10, 0, 0, 0, 4, 0, 0, 2, 1, 7, 23, 1, 0, 16, 2, 3, 6, 0, 0, 4, 5, 0, 2, 2, 12, 0, 5, 0, 0, 2, 2, 1, 10, 9, 3, 2, 0, 17, 0, 0, 8, 0, 4, 1, 8, 1, 1, 14, 0, 0, 4, 14, 8, 7, 0, 0, 15, 26, 0, 0, 8, 7, 3, 21, 0, 5, 1, 3, 0, 0, 1, 0, 18, 0, 9, 2, 0, 3, 31, 14, 7, 7, 0, 7, 27, 2, 10, 32, 3, 1, 31, 5, 16, 15, 0, 1, 0, 0, 0, 1, 2, 4, 0, 0, 0, 0, 2, 0, 0, 21, 0, 2, 0, 7, 2, 0, 9, 7, 1, 8, 8, 0, 4, 1, 1, 20, 2, 0, 4, 5, 2, 12, 0, 14, 10, 9, 0, 2, 10, 3, 5, 1, 1, 0, 0, 3, 0, 0, 4, 0, 1, 35, 0, 3, 10, 9, 1, 14, 12, 8, 0, 0, 0, 10, 2, 8, 20, 17, 20, 1, 5, 7, 27, 0, 0, 0, 3, 4, 1, 0, 4, 5, 0, 10, 13, 1, 0, 21, 1, 0, 0, 0, 8, 0, 6, 4, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 8, 8, 2, 2, 0, 0, 2, 0, 10, 6, 0, 3, 6, 11, 15, 8, 2, 18, 13, 5, 13, 1, 0, 0, 10, 0, 0, 0, 2, 0, 41, 4, 0, 16, 9, 7, 0, 32, 0, 4, 0, 6, 0, 6, 20, 0, 1, 0, 0, 0, 0, 0, 3, 5, 4, 0, 20, 2, 1, 0, 0, 6, 0, 2, 0, 24, 10, 2, 74, 0, 124, 13, 48, 0, 6, 1, 0, 1, 4, 0, 82, 2, 0, 32, 25, 88, 0, 18, 0, 0, 11, 31, 22, 20, 0, 10, 4, 30, 0, 44, 0, 75, 0, 0, 1, 0, 11, 128, 17, 19, 2, 91, 2, 2, 14, 8, 1, 2, 17, 14, 0, 6, 34, 167, 32, 20, 0, 0, 137, 12, 9, 0, 3, 5, 176, 18, 2, 62, 168, 366, 47, 423, 258, 209, 0, 0, 0, 0, 171, 14, 1, 238, 692, 0, 280 }; using KV = std::pair; static const KV words[1016] = { {"cfCooperativeMatrixKHR", SpvWord{6022}}, {"amRayGenerationNV", SpvWord{5313}}, {"bpNoWrite", SpvWord{6}}, {"bpZext", SpvWord{0}}, {"cfSubgroupImageMediaBlockIOINTEL", SpvWord{5579}}, {"biPreserve", SpvWord{0}}, {"cfSampledImageArrayDynamicIndexing", SpvWord{29}}, {"apRoundingModeRTE", SpvWord{4462}}, {"cfUniformBufferArrayNonUniformIndexingEXT", SpvWord{5306}}, {"aaNonPrivateTexelKHR", SpvWord{1024}}, {"cfRayTraversalPrimitiveCullingKHR", SpvWord{4478}}, {"cbBaryCoordSmoothCentroidAMD", SpvWord{4996}}, {"caPayloadNodeNameAMDX", SpvWord{5091}}, {"beR32ui", SpvWord{33}}, {"caFuncParamAttr", SpvWord{38}}, {"cbPosition", SpvWord{0}}, {"caXfbStride", SpvWord{37}}, {"apShadingRateInterlockOrderedEXT", SpvWord{5370}}, {"afSequentiallyConsistent", SpvWord{16}}, {"apDepthUnchanged", SpvWord{16}}, {"baUniformConstant", SpvWord{0}}, {"amFragment", SpvWord{4}}, {"cbHitKindKHR", SpvWord{5333}}, {"caCacheControlStoreINTEL", SpvWord{6443}}, {"cfInputAttachmentArrayNonUniformIndexing", SpvWord{5310}}, {"caMergeINTEL", SpvWord{5834}}, {"caArrayStride", SpvWord{6}}, {"akNone", SpvWord{0}}, {"cfNamedBarrier", SpvWord{59}}, {"aiCullBackFacingTrianglesKHR", SpvWord{16}}, {"cbInvocationsPerPixelNV", SpvWord{5293}}, {"cbFragInvocationCountEXT", SpvWord{5293}}, {"caFuncParamIOKindINTEL", SpvWord{5625}}, {"alOpenCL_C", SpvWord{3}}, {"boNoneINTEL", SpvWord{0}}, {"caNonWritable", SpvWord{24}}, {"bgUnormShort555", SpvWord{5}}, {"caRegisterMapKernelArgumentINTEL", SpvWord{6176}}, {"caNoPerspective", SpvWord{13}}, {"beRg16Snorm", SpvWord{17}}, {"cfComputeDerivativeGroupLinearNV", SpvWord{5350}}, {"cfDotProductKHR", SpvWord{6019}}, {"beRgba32f", SpvWord{1}}, {"alNZSL", SpvWord{9}}, {"cfSampleRateShading", SpvWord{35}}, {"apOutputLinesEXT", SpvWord{5269}}, {"apInputTrianglesAdjacency", SpvWord{23}}, {"aaNontemporal", SpvWord{16384}}, {"caAliasedPointer", SpvWord{5356}}, {"caBlockMatchSamplerQCOM", SpvWord{4499}}, {"cbTaskCountNV", SpvWord{5274}}, {"adDontUnroll", SpvWord{2}}, {"cfShaderLayer", SpvWord{69}}, {"cfSampledImageArrayNonUniformIndexing", SpvWord{5307}}, {"anLogical", SpvWord{0}}, {"cfGeometryShaderPassthroughNV", SpvWord{5251}}, {"aaMakeTexelVisibleKHR", SpvWord{512}}, {"ckMatrixResultSignedComponentsKHR", SpvWord{8}}, {"caMediaBlockIOINTEL", SpvWord{6140}}, {"aeNone", SpvWord{0}}, {"cfGroupNonUniformClustered", SpvWord{67}}, {"daAutoINTEL", SpvWord{0}}, {"cfSampled1D", SpvWord{43}}, {"caMMHostInterfaceDataWidthINTEL", SpvWord{6178}}, {"beRg16f", SpvWord{7}}, {"cfInputAttachmentArrayDynamicIndexing", SpvWord{5303}}, {"beRgba8i", SpvWord{23}}, {"cbRayGeometryIndexKHR", SpvWord{5352}}, {"beR11fG11fB10f", SpvWord{8}}, {"cgRayQueryCommittedIntersectionKHR", SpvWord{1}}, {"cbSubgroupGeMaskKHR", SpvWord{4417}}, {"baWorkgroup", SpvWord{4}}, {"cfShaderStereoViewNV", SpvWord{5259}}, {"cfWorkgroupMemoryExplicitLayoutKHR", SpvWord{4428}}, {"baCallableDataNV", SpvWord{5328}}, {"cfFragmentShaderPixelInterlockEXT", SpvWord{5378}}, {"apOutputVertices", SpvWord{26}}, {"bfRA", SpvWord{3}}, {"abAllowReassoc", SpvWord{131072}}, {"caBufferLocationINTEL", SpvWord{5921}}, {"baNodePayloadAMDX", SpvWord{5068}}, {"baIncomingCallableDataNV", SpvWord{5329}}, {"caNoUnsignedWrap", SpvWord{4470}}, {"afMakeAvailable", SpvWord{8192}}, {"cfFPFastMathModeINTEL", SpvWord{5837}}, {"apMaxWorkDimINTEL", SpvWord{5894}}, {"cbCullMaskKHR", SpvWord{6021}}, {"cbBaseInstance", SpvWord{4425}}, {"cbMeshViewIndicesNV", SpvWord{5281}}, {"adPeelCount", SpvWord{128}}, {"cfSampleMaskOverrideCoverageNV", SpvWord{5249}}, {"apXfb", SpvWord{11}}, {"afAtomicCounterMemory", SpvWord{1024}}, {"cfSubgroupImageBlockIOINTEL", SpvWord{5570}}, {"aaVolatileTexelKHR", SpvWord{2048}}, {"cbObjectRayOriginNV", SpvWord{5323}}, {"cfFPGAKernelAttributesINTEL", SpvWord{5897}}, {"cfKernel", SpvWord{6}}, {"apEarlyFragmentTests", SpvWord{9}}, {"cbPrimitiveIndicesNV", SpvWord{5276}}, {"caPerTaskNV", SpvWord{5273}}, {"aaGrad", SpvWord{4}}, {"baAtomicCounter", SpvWord{10}}, {"cbRayTmaxNV", SpvWord{5326}}, {"ahNone", SpvWord{0}}, {"ajVertical4Pixels", SpvWord{2}}, {"cpUncachedINTEL", SpvWord{0}}, {"cfInt64", SpvWord{11}}, {"cfRayQueryProvisionalKHR", SpvWord{4471}}, {"cfWorkgroupMemoryExplicitLayout16BitAccessKHR", SpvWord{4430}}, {"afVolatile", SpvWord{32768}}, {"coCachedINTEL", SpvWord{1}}, {"cbSMCountNV", SpvWord{5375}}, {"caRowMajor", SpvWord{4}}, {"ckMatrixASignedComponentsKHR", SpvWord{1}}, {"afMakeAvailableKHR", SpvWord{8192}}, {"baImage", SpvWord{11}}, {"afMakeVisibleKHR", SpvWord{16384}}, {"amTessellationControl", SpvWord{1}}, {"caBurstCoalesceINTEL", SpvWord{5899}}, {"agMakePointerAvailable", SpvWord{8}}, {"caSinglepumpINTEL", SpvWord{5830}}, {"cbSubgroupLtMaskKHR", SpvWord{4420}}, {"bnReadWrite", SpvWord{2}}, {"caPerViewNV", SpvWord{5272}}, {"cfStorageTexelBufferArrayNonUniformIndexing", SpvWord{5312}}, {"alZig", SpvWord{12}}, {"cbViewportMaskPerViewNV", SpvWord{5262}}, {"aeDontInline", SpvWord{2}}, {"cbHitTriangleVertexPositionsKHR", SpvWord{5335}}, {"cfStorageBufferArrayNonUniformIndexing", SpvWord{5308}}, {"cbCullDistance", SpvWord{4}}, {"cfFPMaxErrorINTEL", SpvWord{6169}}, {"apMaximallyReconvergesKHR", SpvWord{6023}}, {"cfStorageImageArrayNonUniformIndexing", SpvWord{5309}}, {"coUncachedINTEL", SpvWord{0}}, {"bdLinear", SpvWord{1}}, {"cfFragmentFullyCoveredEXT", SpvWord{5265}}, {"cfGeometry", SpvWord{2}}, {"cbSubgroupEqMask", SpvWord{4416}}, {"caMaxByteOffsetId", SpvWord{47}}, {"aaVolatileTexel", SpvWord{2048}}, {"cfInputAttachment", SpvWord{40}}, {"afNone", SpvWord{0}}, {"aiNoOpaqueKHR", SpvWord{2}}, {"apMaxWorkgroupSizeINTEL", SpvWord{5893}}, {"cbDrawIndex", SpvWord{4426}}, {"alESSL", SpvWord{1}}, {"cbWorkDim", SpvWord{30}}, {"acFlatten", SpvWord{1}}, {"bnReadOnly", SpvWord{0}}, {"amGeometry", SpvWord{3}}, {"blSAT_ZERO", SpvWord{2}}, {"beRgba16", SpvWord{10}}, {"apFPFastMathDefault", SpvWord{6028}}, {"caCoherent", SpvWord{23}}, {"cdReduce", SpvWord{0}}, {"aePure", SpvWord{4}}, {"cfStorageInputOutput16", SpvWord{4436}}, {"cfPerViewAttributesNV", SpvWord{5260}}, {"aaMakeTexelAvailableKHR", SpvWord{256}}, {"cbCoreCountARM", SpvWord{4161}}, {"apPointMode", SpvWord{10}}, {"aoVulkanKHR", SpvWord{3}}, {"cfInputAttachmentArrayNonUniformIndexingEXT", SpvWord{5310}}, {"chRayQueryCommittedIntersectionGeneratedKHR", SpvWord{2}}, {"apLocalSize", SpvWord{17}}, {"cbBaryCoordPullModelAMD", SpvWord{4998}}, {"bfRGBA", SpvWord{5}}, {"caReferencedIndirectlyINTEL", SpvWord{5602}}, {"cfUniformDecoration", SpvWord{71}}, {"adUnroll", SpvWord{1}}, {"cfShader", SpvWord{1}}, {"cdPartitionedInclusiveScanNV", SpvWord{7}}, {"apNumSIMDWorkitemsINTEL", SpvWord{5896}}, {"ccShaderCallKHR", SpvWord{6}}, {"caNonUniformEXT", SpvWord{5300}}, {"beRg32i", SpvWord{25}}, {"cfVector16", SpvWord{7}}, {"ajHorizontal4Pixels", SpvWord{8}}, {"cbViewIndex", SpvWord{4440}}, {"apStencilRefGreaterBackAMD", SpvWord{5083}}, {"apSpacingFractionalOdd", SpvWord{3}}, {"cbVertexIndex", SpvWord{42}}, {"cfAtomicFloat32AddEXT", SpvWord{6033}}, {"cbSubgroupLtMask", SpvWord{4420}}, {"cbWorldToObjectKHR", SpvWord{5331}}, {"bfRx", SpvWord{10}}, {"apOriginLowerLeft", SpvWord{8}}, {"caLatencyControlLabelINTEL", SpvWord{6172}}, {"cfBFloat16ConversionINTEL", SpvWord{6115}}, {"coStreamingINTEL", SpvWord{2}}, {"adPartialCount", SpvWord{256}}, {"cfSplitBarrierINTEL", SpvWord{6141}}, {"abAllowTransform", SpvWord{262144}}, {"baCrossWorkgroup", SpvWord{5}}, {"cfFPGAKernelAttributesv2INTEL", SpvWord{6161}}, {"cfSubgroupBallotKHR", SpvWord{4423}}, {"ckNoneKHR", SpvWord{0}}, {"beRg32ui", SpvWord{35}}, {"apSharedLocalMemorySizeINTEL", SpvWord{5618}}, {"cfGlobalVariableFPGADecorationsINTEL", SpvWord{6189}}, {"ccQueueFamilyKHR", SpvWord{5}}, {"aoVulkan", SpvWord{3}}, {"cfFloat16", SpvWord{9}}, {"alHLSL", SpvWord{5}}, {"caLatencyControlConstraintINTEL", SpvWord{6173}}, {"cbFragmentSizeNV", SpvWord{5292}}, {"beR32i", SpvWord{24}}, {"cfGlobalVariableHostAccessINTEL", SpvWord{6187}}, {"cfUniformBufferArrayDynamicIndexing", SpvWord{28}}, {"caXfbBuffer", SpvWord{36}}, {"baPhysicalStorageBufferEXT", SpvWord{5349}}, {"apStreamingInterfaceINTEL", SpvWord{6154}}, {"apPixelInterlockUnorderedEXT", SpvWord{5367}}, {"apCoalescingAMDX", SpvWord{5069}}, {"beRg16i", SpvWord{26}}, {"apSubgroupUniformControlFlowKHR", SpvWord{4421}}, {"caMMHostInterfaceMaxBurstINTEL", SpvWord{6181}}, {"cdInclusiveScan", SpvWord{1}}, {"cfShaderInvocationReorderNV", SpvWord{5383}}, {"cbClipDistancePerViewNV", SpvWord{5277}}, {"bb2D", SpvWord{1}}, {"cfStorageBufferArrayDynamicIndexing", SpvWord{30}}, {"bhRTZ", SpvWord{1}}, {"cfAtomicFloat16AddEXT", SpvWord{6095}}, {"cbSubgroupLeMask", SpvWord{4419}}, {"anPhysicalStorageBuffer64EXT", SpvWord{5348}}, {"adMaxIterations", SpvWord{32}}, {"amAnyHitKHR", SpvWord{5315}}, {"afUniformMemory", SpvWord{64}}, {"afOutputMemoryKHR", SpvWord{4096}}, {"bgSnormInt8", SpvWord{0}}, {"cfFunctionPointersINTEL", SpvWord{5603}}, {"cfFPGAMemoryAttributesINTEL", SpvWord{5824}}, {"caNodeSharesPayloadLimitsWithAMDX", SpvWord{5019}}, {"caFlat", SpvWord{14}}, {"caFunctionDenormModeINTEL", SpvWord{5823}}, {"cfShadingRateNV", SpvWord{5291}}, {"cbBaryCoordSmoothAMD", SpvWord{4995}}, {"apDerivativeGroupQuadsNV", SpvWord{5289}}, {"apQuadDerivativesKHR", SpvWord{5088}}, {"cbNumEnqueuedSubgroups", SpvWord{39}}, {"cfDisplacementMicromapNV", SpvWord{5380}}, {"cfAtomicFloat16MinMaxEXT", SpvWord{5616}}, {"caNodeMaxPayloadsAMDX", SpvWord{5020}}, {"cfShaderViewportMaskNV", SpvWord{5255}}, {"cfFloat64", SpvWord{10}}, {"caNoContraction", SpvWord{42}}, {"cbWorldRayOriginKHR", SpvWord{5321}}, {"bfsRGB", SpvWord{15}}, {"adIterationMultiple", SpvWord{64}}, {"baRayPayloadNV", SpvWord{5338}}, {"cfPipes", SpvWord{17}}, {"bfRGBx", SpvWord{12}}, {"cfShaderClockKHR", SpvWord{5055}}, {"aoGLSL450", SpvWord{1}}, {"apDenormPreserve", SpvWord{4459}}, {"cbSubgroupSize", SpvWord{36}}, {"bgUnormInt8", SpvWord{2}}, {"cfDotProductInput4x8BitPacked", SpvWord{6018}}, {"bfBGRA", SpvWord{6}}, {"afImageMemory", SpvWord{2048}}, {"bfIntensity", SpvWord{8}}, {"cfImageBasic", SpvWord{13}}, {"cfFPGABufferLocationINTEL", SpvWord{5920}}, {"abNotNaN", SpvWord{1}}, {"cfCullDistance", SpvWord{33}}, {"caMMHostInterfaceWaitRequestINTEL", SpvWord{6182}}, {"ceWaitKernel", SpvWord{1}}, {"caGlobalVariableOffsetINTEL", SpvWord{5628}}, {"bhRTP", SpvWord{2}}, {"cfRuntimeAlignedAttributeINTEL", SpvWord{5939}}, {"adSpeculatedIterationsINTEL", SpvWord{4194304}}, {"cfGroupUniformArithmeticKHR", SpvWord{6400}}, {"apOriginUpperLeft", SpvWord{7}}, {"blWRAP", SpvWord{0}}, {"caAliased", SpvWord{20}}, {"caGLSLShared", SpvWord{8}}, {"coConstCachedINTEL", SpvWord{4}}, {"adDependencyArrayINTEL", SpvWord{262144}}, {"afWorkgroupMemory", SpvWord{256}}, {"bhRTE", SpvWord{0}}, {"amClosestHitKHR", SpvWord{5316}}, {"cfLongCompositesINTEL", SpvWord{6089}}, {"cfVulkanMemoryModelDeviceScope", SpvWord{5346}}, {"caSaturatedConversion", SpvWord{28}}, {"cbBaryCoordNoPerspNV", SpvWord{5287}}, {"cfExpectAssumeKHR", SpvWord{5629}}, {"cfMeshShadingNV", SpvWord{5266}}, {"apOutputLineStrip", SpvWord{28}}, {"cfRayTracingDisplacementMicromapNV", SpvWord{5409}}, {"amMeshNV", SpvWord{5268}}, {"cfStorageBuffer8BitAccess", SpvWord{4448}}, {"cfQuadControlKHR", SpvWord{5087}}, {"beR16ui", SpvWord{38}}, {"caInputAttachmentIndex", SpvWord{43}}, {"caHlslSemanticGOOGLE", SpvWord{5635}}, {"caPerPrimitiveEXT", SpvWord{5271}}, {"baStorageBuffer", SpvWord{12}}, {"apShadingRateInterlockUnorderedEXT", SpvWord{5371}}, {"ciRayQueryCandidateIntersectionAABBKHR", SpvWord{1}}, {"clRowMajorKHR", SpvWord{0}}, {"cbShadingRateKHR", SpvWord{4444}}, {"apMaximumRegistersIdINTEL", SpvWord{6462}}, {"bkIEEE", SpvWord{0}}, {"caBindlessImageNV", SpvWord{5399}}, {"cfFPGADSPControlINTEL", SpvWord{5908}}, {"cfGroupNonUniform", SpvWord{61}}, {"cfGeometryStreams", SpvWord{54}}, {"bfARGB", SpvWord{7}}, {"cbWorldToObjectNV", SpvWord{5331}}, {"bgSignedInt32", SpvWord{9}}, {"caMatrixStride", SpvWord{7}}, {"caSideEffectsINTEL", SpvWord{5608}}, {"cbNumWorkgroups", SpvWord{24}}, {"agMakePointerAvailableKHR", SpvWord{8}}, {"cfIntegerFunctions2INTEL", SpvWord{5584}}, {"aaMinLod", SpvWord{128}}, {"caSecondaryViewportRelativeNV", SpvWord{5256}}, {"ceNoWait", SpvWord{0}}, {"cfTileImageStencilReadAccessEXT", SpvWord{4168}}, {"cfShaderNonUniform", SpvWord{5301}}, {"beRgba16ui", SpvWord{31}}, {"abNone", SpvWord{0}}, {"cbViewportIndex", SpvWord{10}}, {"apStencilRefGreaterFrontAMD", SpvWord{5080}}, {"cfFragmentShadingRateKHR", SpvWord{4422}}, {"beRg16ui", SpvWord{36}}, {"caRestrictPointerEXT", SpvWord{5355}}, {"cfGroupNonUniformShuffle", SpvWord{65}}, {"apVecTypeHint", SpvWord{30}}, {"caRegisterINTEL", SpvWord{5825}}, {"cfImageMipmap", SpvWord{15}}, {"cfGeometryPointSize", SpvWord{24}}, {"apInputLines", SpvWord{20}}, {"ckMatrixBSignedComponentsKHR", SpvWord{2}}, {"apRoundingModeRTPINTEL", SpvWord{5620}}, {"beRgba16i", SpvWord{22}}, {"apStencilRefLessBackAMD", SpvWord{5084}}, {"cfRayTracingOpacityMicromapEXT", SpvWord{5381}}, {"caComponent", SpvWord{31}}, {"cfGroupNonUniformQuad", SpvWord{68}}, {"apMaxNodeRecursionAMDX", SpvWord{5071}}, {"afMakeVisible", SpvWord{16384}}, {"bfLuminance", SpvWord{9}}, {"alHERO_C", SpvWord{8}}, {"blSAT_SYM", SpvWord{3}}, {"cfAtomicStorageOps", SpvWord{4445}}, {"cfRayTracingMotionBlurNV", SpvWord{5341}}, {"apNamedMaximumRegistersINTEL", SpvWord{6463}}, {"bgUnsignedInt32", SpvWord{12}}, {"caFunctionRoundingModeINTEL", SpvWord{5822}}, {"cbBaryCoordNoPerspKHR", SpvWord{5287}}, {"cfAtomicFloat64AddEXT", SpvWord{6034}}, {"bjRND_ZERO", SpvWord{3}}, {"apLocalSizeHint", SpvWord{18}}, {"cbRayTmaxKHR", SpvWord{5326}}, {"bcRepeat", SpvWord{3}}, {"caUniformId", SpvWord{27}}, {"aaOffset", SpvWord{16}}, {"cfPhysicalStorageBufferAddresses", SpvWord{5347}}, {"ajVertical2Pixels", SpvWord{1}}, {"agAligned", SpvWord{2}}, {"cbGlobalOffset", SpvWord{33}}, {"cfDotProductInputAll", SpvWord{6016}}, {"cbBaryCoordNoPerspAMD", SpvWord{4992}}, {"cfFloat16Buffer", SpvWord{8}}, {"cfGroupNonUniformVote", SpvWord{62}}, {"agNontemporal", SpvWord{4}}, {"aaLod", SpvWord{2}}, {"cbPositionPerViewNV", SpvWord{5261}}, {"cbSubgroupMaxSize", SpvWord{37}}, {"ajHorizontal2Pixels", SpvWord{4}}, {"caStallFreeINTEL", SpvWord{6151}}, {"cbHitKindFrontFacingMicroTriangleNV", SpvWord{5405}}, {"cfDebugInfoModuleINTEL", SpvWord{6114}}, {"bnWriteOnly", SpvWord{1}}, {"abAllowRecip", SpvWord{8}}, {"cbViewportMaskNV", SpvWord{5253}}, {"aiSkipAABBsKHR", SpvWord{512}}, {"apStencilRefUnchangedFrontAMD", SpvWord{5079}}, {"baDeviceOnlyINTEL", SpvWord{5936}}, {"cbLaunchIdNV", SpvWord{5319}}, {"cmMatrixAKHR", SpvWord{0}}, {"caExplicitInterpAMD", SpvWord{4999}}, {"apOutputTrianglesNV", SpvWord{5298}}, {"acDontFlatten", SpvWord{2}}, {"cbObjectRayDirectionNV", SpvWord{5324}}, {"alSlang", SpvWord{11}}, {"cfGroupNonUniformRotateKHR", SpvWord{6026}}, {"boWriteINTEL", SpvWord{2}}, {"beUnknown", SpvWord{0}}, {"cfRayTracingPositionFetchKHR", SpvWord{5336}}, {"cfRayQueryPositionFetchKHR", SpvWord{5391}}, {"caAlignmentId", SpvWord{46}}, {"baShaderRecordBufferNV", SpvWord{5343}}, {"bmImport", SpvWord{1}}, {"caCounterBuffer", SpvWord{5634}}, {"cfDenormFlushToZero", SpvWord{4465}}, {"apRequireFullQuadsKHR", SpvWord{5089}}, {"baIncomingRayPayloadNV", SpvWord{5342}}, {"bgUnsignedIntRaw10EXT", SpvWord{19}}, {"ccQueueFamily", SpvWord{5}}, {"cfCooperativeMatrixNV", SpvWord{5357}}, {"chRayQueryCommittedIntersectionTriangleKHR", SpvWord{1}}, {"baHostOnlyINTEL", SpvWord{5937}}, {"cpWriteThroughINTEL", SpvWord{1}}, {"caColMajor", SpvWord{5}}, {"cfLiteralSampler", SpvWord{20}}, {"caNoAliasINTEL", SpvWord{5915}}, {"caSample", SpvWord{17}}, {"cfGroupNonUniformShuffleRelative", SpvWord{66}}, {"amMissNV", SpvWord{5317}}, {"caConduitKernelArgumentINTEL", SpvWord{6175}}, {"caHlslCounterBufferGOOGLE", SpvWord{5634}}, {"anPhysical32", SpvWord{1}}, {"alSYCL", SpvWord{7}}, {"beRgba16Snorm", SpvWord{16}}, {"cfSampleMaskPostDepthCoverage", SpvWord{4447}}, {"caPerVertexKHR", SpvWord{5285}}, {"bfR", SpvWord{0}}, {"cfGroupNonUniformBallot", SpvWord{64}}, {"chRayQueryCommittedIntersectionNoneKHR", SpvWord{0}}, {"cbSubgroupGtMaskKHR", SpvWord{4418}}, {"cbLaunchSizeKHR", SpvWord{5320}}, {"cfStorageBuffer16BitAccess", SpvWord{4433}}, {"caFPFastMathMode", SpvWord{40}}, {"beR32f", SpvWord{3}}, {"cnInitOnDeviceResetINTEL", SpvWord{1}}, {"cbSubgroupGtMask", SpvWord{4418}}, {"cfSampledImageArrayNonUniformIndexingEXT", SpvWord{5307}}, {"cfFPGALoopControlsINTEL", SpvWord{5888}}, {"apInputPoints", SpvWord{19}}, {"cbLocalInvocationIndex", SpvWord{29}}, {"apOutputPrimitivesNV", SpvWord{5270}}, {"cbLocalInvocationId", SpvWord{27}}, {"baPushConstant", SpvWord{9}}, {"beRg32f", SpvWord{6}}, {"cfRayTracingProvisionalKHR", SpvWord{5353}}, {"acNone", SpvWord{0}}, {"apDepthGreater", SpvWord{14}}, {"caMathOpDSPModeINTEL", SpvWord{5909}}, {"bdNearest", SpvWord{0}}, {"cfDenormPreserve", SpvWord{4464}}, {"caFunctionFloatingPointModeINTEL", SpvWord{6080}}, {"cbIncomingRayFlagsKHR", SpvWord{5351}}, {"cfSignedZeroInfNanPreserve", SpvWord{4466}}, {"cfAtomicStorage", SpvWord{21}}, {"cbDeviceIndex", SpvWord{4438}}, {"cfUniformAndStorageBuffer16BitAccess", SpvWord{4434}}, {"cbInvocationId", SpvWord{8}}, {"bgSignedInt8", SpvWord{7}}, {"cfRoundToInfinityINTEL", SpvWord{5582}}, {"cfAddresses", SpvWord{4}}, {"cpWriteBackINTEL", SpvWord{2}}, {"cfGenericPointer", SpvWord{38}}, {"caVectorComputeVariableINTEL", SpvWord{5624}}, {"apOutputLinesNV", SpvWord{5269}}, {"caSIMTCallINTEL", SpvWord{5599}}, {"coInvalidateAfterReadINTEL", SpvWord{3}}, {"bpNoReadWrite", SpvWord{7}}, {"cbWorldRayDirectionNV", SpvWord{5322}}, {"anPhysical64", SpvWord{2}}, {"ciRayQueryCandidateIntersectionTriangleKHR", SpvWord{0}}, {"amCallableKHR", SpvWord{5318}}, {"cfInt64ImageEXT", SpvWord{5016}}, {"cfFragmentShaderSampleInterlockEXT", SpvWord{5363}}, {"apInvocations", SpvWord{0}}, {"cfSubgroupShuffleINTEL", SpvWord{5568}}, {"cfArbitraryPrecisionFixedPointINTEL", SpvWord{5922}}, {"apSubgroupsPerWorkgroup", SpvWord{36}}, {"cbIncomingRayFlagsNV", SpvWord{5351}}, {"apShaderIndexAMDX", SpvWord{5073}}, {"afCrossWorkgroupMemory", SpvWord{512}}, {"caDescriptorSet", SpvWord{34}}, {"caCacheControlLoadINTEL", SpvWord{6442}}, {"caNoSignedWrap", SpvWord{4469}}, {"adMaxConcurrencyINTEL", SpvWord{131072}}, {"cmMatrixAccumulatorKHR", SpvWord{2}}, {"cfImageQuery", SpvWord{50}}, {"aeOptNoneINTEL", SpvWord{65536}}, {"cbPrimitiveCountNV", SpvWord{5275}}, {"cbClipDistance", SpvWord{3}}, {"baHitAttributeKHR", SpvWord{5339}}, {"aaNonPrivateTexel", SpvWord{1024}}, {"caSingleElementVectorINTEL", SpvWord{6085}}, {"ckSaturatingAccumulationKHR", SpvWord{16}}, {"cfStorageBufferArrayNonUniformIndexingEXT", SpvWord{5308}}, {"cfAtomicFloat32MinMaxEXT", SpvWord{5612}}, {"cfFPGAClusterAttributesINTEL", SpvWord{5904}}, {"afAcquireRelease", SpvWord{8}}, {"cbWarpsPerSMNV", SpvWord{5374}}, {"caCPacked", SpvWord{10}}, {"caUserSemantic", SpvWord{5635}}, {"alUnknown", SpvWord{0}}, {"agMakePointerVisible", SpvWord{16}}, {"caPipelineEnableINTEL", SpvWord{5919}}, {"cfFloat16ImageAMD", SpvWord{5008}}, {"cfVectorComputeINTEL", SpvWord{5617}}, {"cfMultiViewport", SpvWord{57}}, {"cfLoopFuseINTEL", SpvWord{5906}}, {"cfImageGatherExtended", SpvWord{25}}, {"cfDotProductInput4x8BitPackedKHR", SpvWord{6018}}, {"caSpecId", SpvWord{1}}, {"adDependencyLength", SpvWord{8}}, {"adPipelineEnableINTEL", SpvWord{524288}}, {"caForcePow2DepthINTEL", SpvWord{5836}}, {"cfSampledCubeArray", SpvWord{45}}, {"bpNoCapture", SpvWord{5}}, {"apMaximumRegistersINTEL", SpvWord{6461}}, {"cfTessellationPointSize", SpvWord{23}}, {"abNSZ", SpvWord{4}}, {"alOpenCL_CPP", SpvWord{4}}, {"bb1D", SpvWord{0}}, {"apStencilRefUnchangedBackAMD", SpvWord{5082}}, {"cfStoragePushConstant16", SpvWord{4435}}, {"adNoFusionINTEL", SpvWord{8388608}}, {"alGLSL", SpvWord{2}}, {"baFunction", SpvWord{7}}, {"caBindlessSamplerNV", SpvWord{5398}}, {"biFlushToZero", SpvWord{1}}, {"cfSubgroupAvcMotionEstimationIntraINTEL", SpvWord{5697}}, {"bgFloat", SpvWord{14}}, {"caOffset", SpvWord{35}}, {"cbVertexId", SpvWord{5}}, {"cbPrimitivePointIndicesEXT", SpvWord{5294}}, {"cfSubgroupDispatch", SpvWord{58}}, {"cfDotProduct", SpvWord{6019}}, {"caSimpleDualPortINTEL", SpvWord{5833}}, {"cbEnqueuedWorkgroupSize", SpvWord{32}}, {"bjTRN", SpvWord{0}}, {"aaMakeTexelVisible", SpvWord{512}}, {"caBankBitsINTEL", SpvWord{5835}}, {"caNonReadable", SpvWord{25}}, {"caVolatile", SpvWord{21}}, {"cfImage1D", SpvWord{44}}, {"aaOffsets", SpvWord{65536}}, {"agAliasScopeINTELMask", SpvWord{65536}}, {"apPixelCenterInteger", SpvWord{6}}, {"beR16i", SpvWord{28}}, {"caConstant", SpvWord{22}}, {"beR64i", SpvWord{41}}, {"cfMeshShadingEXT", SpvWord{5283}}, {"cfStorageImageExtendedFormats", SpvWord{49}}, {"bjRND_CONV_ODD", SpvWord{7}}, {"bfRGB", SpvWord{4}}, {"bmExport", SpvWord{0}}, {"apSampleInterlockUnorderedEXT", SpvWord{5369}}, {"cbBaryCoordKHR", SpvWord{5286}}, {"cbHitMicroTriangleVertexPositionsNV", SpvWord{5337}}, {"bfA", SpvWord{1}}, {"cbObjectRayOriginKHR", SpvWord{5323}}, {"apRoundingModeRTZ", SpvWord{4463}}, {"cfFunctionFloatControlINTEL", SpvWord{5821}}, {"cbSampleMask", SpvWord{20}}, {"cfInt8", SpvWord{39}}, {"afRelease", SpvWord{4}}, {"apInputLinesAdjacency", SpvWord{21}}, {"cfUniformBufferArrayNonUniformIndexing", SpvWord{5306}}, {"cfSubgroupAvcMotionEstimationINTEL", SpvWord{5696}}, {"cfCacheControlsINTEL", SpvWord{6441}}, {"bjRND_MIN_INF", SpvWord{5}}, {"amKernel", SpvWord{6}}, {"cbShaderIndexAMDX", SpvWord{5073}}, {"cbCoreIDARM", SpvWord{4160}}, {"baOutput", SpvWord{3}}, {"apNonCoherentColorAttachmentReadEXT", SpvWord{4169}}, {"bfRGx", SpvWord{11}}, {"apInitializer", SpvWord{33}}, {"beRgba32i", SpvWord{21}}, {"apRegisterMapInterfaceINTEL", SpvWord{6160}}, {"aaConstOffsets", SpvWord{32}}, {"cbSamplePosition", SpvWord{19}}, {"caTrueDualPortINTEL", SpvWord{5885}}, {"cfFPGAInvocationPipeliningAttributesINTEL", SpvWord{5916}}, {"boReadINTEL", SpvWord{1}}, {"apMaxNumWorkgroupsAMDX", SpvWord{5077}}, {"cbMeshViewCountNV", SpvWord{5280}}, {"apSchedulerTargetFmaxMhzINTEL", SpvWord{5903}}, {"cfStorageTexelBufferArrayDynamicIndexing", SpvWord{5305}}, {"cfAtomicFloat64MinMaxEXT", SpvWord{5613}}, {"aiSkipClosestHitShaderKHR", SpvWord{8}}, {"bcRepeatMirrored", SpvWord{4}}, {"boReadWriteINTEL", SpvWord{3}}, {"beR8Snorm", SpvWord{20}}, {"bfsRGBx", SpvWord{16}}, {"bgUnormShort565", SpvWord{4}}, {"bb3D", SpvWord{2}}, {"caRestrictPointer", SpvWord{5355}}, {"ahCmdExecTime", SpvWord{1}}, {"cfTextureSampleWeightedQCOM", SpvWord{4484}}, {"abNotInf", SpvWord{2}}, {"akRobustnessPerComponentNV", SpvWord{1}}, {"cbBaryCoordNoPerspCentroidAMD", SpvWord{4993}}, {"cfFPGALatencyControlINTEL", SpvWord{6171}}, {"cfIOPipesINTEL", SpvWord{5943}}, {"cfDerivativeControl", SpvWord{51}}, {"cbCullDistancePerViewNV", SpvWord{5278}}, {"cfMinLod", SpvWord{42}}, {"apPixelInterlockOrderedEXT", SpvWord{5366}}, {"beR16f", SpvWord{9}}, {"apSubgroupSize", SpvWord{35}}, {"cbPointSize", SpvWord{1}}, {"amMissKHR", SpvWord{5317}}, {"apDenormFlushToZero", SpvWord{4460}}, {"cfSubgroupAvcMotionEstimationChromaINTEL", SpvWord{5698}}, {"aiTerminateOnFirstHitKHR", SpvWord{4}}, {"cfRayCullMaskKHR", SpvWord{6020}}, {"cbWarpIDARM", SpvWord{4163}}, {"caHitObjectShaderRecordBufferNV", SpvWord{5386}}, {"bjRND_CONV", SpvWord{6}}, {"cbTessCoord", SpvWord{13}}, {"adLoopCountINTEL", SpvWord{16777216}}, {"apNonCoherentStencilAttachmentReadEXT", SpvWord{4171}}, {"cbFragStencilRefEXT", SpvWord{5014}}, {"beRg8Snorm", SpvWord{18}}, {"caNonUniform", SpvWord{5300}}, {"cfVulkanMemoryModelKHR", SpvWord{5345}}, {"cgRayQueryCandidateIntersectionKHR", SpvWord{0}}, {"caBoundImageNV", SpvWord{5401}}, {"apNamedBarrierCountINTEL", SpvWord{6417}}, {"cfWorkgroupMemoryExplicitLayout8BitAccessKHR", SpvWord{4429}}, {"adMaxReinvocationDelayINTEL", SpvWord{33554432}}, {"caLocation", SpvWord{30}}, {"beR8i", SpvWord{29}}, {"cbSecondaryViewportMaskNV", SpvWord{5258}}, {"caMaxReplicatesINTEL", SpvWord{5832}}, {"aaSignExtend", SpvWord{4096}}, {"cfImageRect", SpvWord{36}}, {"cfUniformTexelBufferArrayDynamicIndexing", SpvWord{5304}}, {"cfLinkage", SpvWord{5}}, {"cfBindlessTextureNV", SpvWord{5390}}, {"bcNone", SpvWord{0}}, {"beRgba8", SpvWord{4}}, {"apIsolines", SpvWord{25}}, {"cfRawAccessChainsNV", SpvWord{5414}}, {"cfSubgroupBufferBlockIOINTEL", SpvWord{5569}}, {"cbGlobalInvocationId", SpvWord{28}}, {"apSpacingEqual", SpvWord{1}}, {"cfVectorAnyINTEL", SpvWord{5619}}, {"cfShaderViewportIndexLayerEXT", SpvWord{5254}}, {"cfImageCubeArray", SpvWord{34}}, {"apQuads", SpvWord{24}}, {"cbSMIDNV", SpvWord{5377}}, {"cbSubgroupEqMaskKHR", SpvWord{4416}}, {"cbPointCoord", SpvWord{16}}, {"aoSimple", SpvWord{0}}, {"cfVulkanMemoryModelDeviceScopeKHR", SpvWord{5346}}, {"cbBaseVertex", SpvWord{4424}}, {"caCentroid", SpvWord{16}}, {"cfTextureBlockMatchQCOM", SpvWord{4486}}, {"apTriangles", SpvWord{22}}, {"cfFloatingPointModeINTEL", SpvWord{5583}}, {"caVectorComputeFunctionINTEL", SpvWord{5626}}, {"bgUnormInt16", SpvWord{3}}, {"apStencilRefReplacingEXT", SpvWord{5027}}, {"cfVariablePointersStorageBuffer", SpvWord{4441}}, {"cfTextureBlockMatch2QCOM", SpvWord{4498}}, {"amTaskNV", SpvWord{5267}}, {"amTessellationEvaluation", SpvWord{2}}, {"bgSnormInt16", SpvWord{1}}, {"caHostAccessINTEL", SpvWord{6188}}, {"caFPMaxErrorDecorationINTEL", SpvWord{6170}}, {"bfDepth", SpvWord{13}}, {"cbWorkgroupId", SpvWord{26}}, {"bbCube", SpvWord{3}}, {"cbCoreMaxIDARM", SpvWord{4162}}, {"caInitiationIntervalINTEL", SpvWord{5917}}, {"cbSubgroupLeMaskKHR", SpvWord{4419}}, {"cfUnstructuredLoopControlsINTEL", SpvWord{5886}}, {"cbHitMicroTriangleVertexBarycentricsNV", SpvWord{5344}}, {"adNone", SpvWord{0}}, {"cfComputeDerivativeGroupQuadsNV", SpvWord{5288}}, {"cbHitKindNV", SpvWord{5333}}, {"cbBaryCoordNV", SpvWord{5286}}, {"cfStorageUniform16", SpvWord{4434}}, {"amGLCompute", SpvWord{5}}, {"caVectorComputeCallableFunctionINTEL", SpvWord{6087}}, {"cpStreamingINTEL", SpvWord{3}}, {"caPerPrimitiveNV", SpvWord{5271}}, {"cbFragCoord", SpvWord{15}}, {"cfTextureBoxFilterQCOM", SpvWord{4485}}, {"beRgba8ui", SpvWord{32}}, {"caBlock", SpvWord{2}}, {"cfShaderSMBuiltinsNV", SpvWord{5373}}, {"bfsRGBA", SpvWord{17}}, {"apSampleInterlockOrderedEXT", SpvWord{5368}}, {"cfRoundingModeRTE", SpvWord{4467}}, {"cbFullyCoveredEXT", SpvWord{5264}}, {"cfKernelAttributesINTEL", SpvWord{5892}}, {"cfShaderViewportIndexLayerNV", SpvWord{5254}}, {"bgSignedInt16", SpvWord{8}}, {"caAlignment", SpvWord{44}}, {"baInput", SpvWord{1}}, {"cbWarpMaxIDARM", SpvWord{4164}}, {"apLocalSizeHintId", SpvWord{39}}, {"aaZeroExtend", SpvWord{8192}}, {"cfSparseResidency", SpvWord{41}}, {"cbTessLevelInner", SpvWord{12}}, {"caPrefetchINTEL", SpvWord{5902}}, {"afRelaxed", SpvWord{0}}, {"cfTransformFeedback", SpvWord{53}}, {"cfRoundingModeRTZ", SpvWord{4468}}, {"cbSecondaryPositionNV", SpvWord{5257}}, {"cfBitInstructions", SpvWord{6025}}, {"caBoundSamplerNV", SpvWord{5400}}, {"cfRayTracingNV", SpvWord{5340}}, {"beRgba8Snorm", SpvWord{5}}, {"ccInvocation", SpvWord{4}}, {"cfStorageImageArrayDynamicIndexing", SpvWord{31}}, {"cbCullPrimitiveEXT", SpvWord{5299}}, {"caMMHostInterfaceAddressWidthINTEL", SpvWord{6177}}, {"cbWorldRayDirectionKHR", SpvWord{5322}}, {"apDepthLess", SpvWord{15}}, {"cfFragmentShaderShadingRateInterlockEXT", SpvWord{5372}}, {"baGeneric", SpvWord{8}}, {"bbBuffer", SpvWord{5}}, {"abFast", SpvWord{16}}, {"cfRuntimeDescriptorArray", SpvWord{5302}}, {"cfVulkanMemoryModel", SpvWord{5345}}, {"caLinkageAttributes", SpvWord{41}}, {"cfMaskedGatherScatterINTEL", SpvWord{6427}}, {"ccSubgroup", SpvWord{3}}, {"cbCoalescedInputCountAMDX", SpvWord{5021}}, {"blSAT", SpvWord{1}}, {"caViewportRelativeNV", SpvWord{5252}}, {"apOutputPrimitivesEXT", SpvWord{5270}}, {"bpByVal", SpvWord{2}}, {"cfStorageImageArrayNonUniformIndexingEXT", SpvWord{5309}}, {"baNodeOutputPayloadAMDX", SpvWord{5076}}, {"bbSubpassData", SpvWord{6}}, {"cdPartitionedExclusiveScanNV", SpvWord{8}}, {"bmLinkOnceODR", SpvWord{2}}, {"beRgb10A2", SpvWord{11}}, {"baCallableDataKHR", SpvWord{5328}}, {"bfRG", SpvWord{2}}, {"aeInline", SpvWord{1}}, {"cbBaryCoordSmoothSampleAMD", SpvWord{4997}}, {"caUserTypeGOOGLE", SpvWord{5636}}, {"bgHalfFloat", SpvWord{13}}, {"caPassthroughNV", SpvWord{5250}}, {"anPhysicalStorageBuffer64", SpvWord{5348}}, {"aiCullOpaqueKHR", SpvWord{64}}, {"agMakePointerVisibleKHR", SpvWord{16}}, {"cbLayerPerViewNV", SpvWord{5279}}, {"cfDeviceEnqueue", SpvWord{19}}, {"cfRegisterLimitsINTEL", SpvWord{6460}}, {"cfImageReadWriteLodAMD", SpvWord{5015}}, {"caMaxPrivateCopiesINTEL", SpvWord{5829}}, {"cfShaderNonUniformEXT", SpvWord{5301}}, {"caMaxConcurrencyINTEL", SpvWord{5918}}, {"apSubgroupsPerWorkgroupId", SpvWord{37}}, {"cbObjectRayDirectionKHR", SpvWord{5324}}, {"cfSampledBuffer", SpvWord{46}}, {"caMemoryINTEL", SpvWord{5826}}, {"caTrackFinishWritingAMDX", SpvWord{5078}}, {"cfStorageImageReadWithoutFormat", SpvWord{55}}, {"amMeshEXT", SpvWord{5365}}, {"cfImageBuffer", SpvWord{47}}, {"bcClampToEdge", SpvWord{1}}, {"ccCrossDevice", SpvWord{0}}, {"cfFPGAMemoryAccessesINTEL", SpvWord{5898}}, {"cbSubgroupId", SpvWord{40}}, {"cfFPGAClusterAttributesV2INTEL", SpvWord{6150}}, {"bpSret", SpvWord{3}}, {"cfInt64Atomics", SpvWord{12}}, {"ccDevice", SpvWord{1}}, {"apContractionOff", SpvWord{31}}, {"cfRayQueryKHR", SpvWord{4472}}, {"aiCullFrontFacingTrianglesKHR", SpvWord{32}}, {"cbNumSubgroups", SpvWord{38}}, {"cjPackedVectorFormat4x8BitKHR", SpvWord{0}}, {"cfDotProductInputAllKHR", SpvWord{6016}}, {"adMaxInterleavingINTEL", SpvWord{2097152}}, {"cfDrawParameters", SpvWord{4427}}, {"aaSample", SpvWord{64}}, {"cbHitKindBackFacingMicroTriangleNV", SpvWord{5406}}, {"adDependencyInfinite", SpvWord{4}}, {"apNonCoherentDepthAttachmentReadEXT", SpvWord{4170}}, {"akRobustnessPerElementNV", SpvWord{2}}, {"cfDeviceGroup", SpvWord{4437}}, {"cbPrimitiveShadingRateKHR", SpvWord{4432}}, {"beR64ui", SpvWord{40}}, {"amRayGenerationKHR", SpvWord{5313}}, {"cbWorkgroupSize", SpvWord{25}}, {"caWordsizeINTEL", SpvWord{5884}}, {"apFloatingPointModeIEEEINTEL", SpvWord{5623}}, {"apFloatingPointModeALTINTEL", SpvWord{5622}}, {"cbInstanceIndex", SpvWord{43}}, {"cfImageMSArray", SpvWord{48}}, {"cfIndirectReferencesINTEL", SpvWord{5604}}, {"cfPipeStorage", SpvWord{60}}, {"bfsBGRA", SpvWord{18}}, {"caUniform", SpvWord{26}}, {"beRg16", SpvWord{12}}, {"caAliasedPointerEXT", SpvWord{5356}}, {"aiSkipTrianglesKHR", SpvWord{256}}, {"caOverrideCoverageNV", SpvWord{5248}}, {"baUniform", SpvWord{2}}, {"cbHelperInvocation", SpvWord{23}}, {"cbPrimitiveId", SpvWord{7}}, {"apDepthReplacing", SpvWord{12}}, {"cfFloatControls2", SpvWord{6029}}, {"cfUniformTexelBufferArrayNonUniformIndexingEXT", SpvWord{5311}}, {"beRgba32ui", SpvWord{30}}, {"cfStorageImageWriteWithoutFormat", SpvWord{56}}, {"aiNoneKHR", SpvWord{0}}, {"aiCullNoOpaqueKHR", SpvWord{128}}, {"amVertex", SpvWord{0}}, {"bjRND", SpvWord{2}}, {"cbObjectToWorldKHR", SpvWord{5330}}, {"cfVariablePointers", SpvWord{4442}}, {"baShaderRecordBufferKHR", SpvWord{5343}}, {"aaBias", SpvWord{1}}, {"cbFrontFacing", SpvWord{17}}, {"cbRayTminKHR", SpvWord{5325}}, {"cmMatrixBKHR", SpvWord{1}}, {"caMMHostInterfaceLatencyINTEL", SpvWord{6179}}, {"cfSampledRect", SpvWord{37}}, {"caBinding", SpvWord{33}}, {"apSpacingFractionalEven", SpvWord{2}}, {"amAnyHitNV", SpvWord{5315}}, {"cdExclusiveScan", SpvWord{2}}, {"bgUnormInt24", SpvWord{15}}, {"cfFragmentMaskAMD", SpvWord{5010}}, {"cdPartitionedReduceNV", SpvWord{6}}, {"cbRayTminNV", SpvWord{5325}}, {"bfABGR", SpvWord{19}}, {"beRg8", SpvWord{13}}, {"caMMHostInterfaceReadWriteModeINTEL", SpvWord{6180}}, {"apSignedZeroInfNanPreserve", SpvWord{4461}}, {"bjTRN_ZERO", SpvWord{1}}, {"aeConst", SpvWord{8}}, {"cfAsmINTEL", SpvWord{5606}}, {"baTileImageEXT", SpvWord{4172}}, {"baHitAttributeNV", SpvWord{5339}}, {"aoOpenCL", SpvWord{2}}, {"agVolatile", SpvWord{1}}, {"apLocalSizeId", SpvWord{38}}, {"apOutputTriangleStrip", SpvWord{29}}, {"baRayPayloadKHR", SpvWord{5338}}, {"baIncomingCallableDataKHR", SpvWord{5329}}, {"cfDotProductInput4x8Bit", SpvWord{6017}}, {"beRg8ui", SpvWord{37}}, {"aaConstOffset", SpvWord{8}}, {"cbTessLevelOuter", SpvWord{11}}, {"cfGroupNonUniformPartitionedNV", SpvWord{5297}}, {"cfUSMStorageClassesINTEL", SpvWord{5935}}, {"bpSext", SpvWord{1}}, {"alCPP_for_OpenCL", SpvWord{6}}, {"caStream", SpvWord{29}}, {"ckMatrixCSignedComponentsKHR", SpvWord{4}}, {"bpNoAlias", SpvWord{4}}, {"apVertexOrderCw", SpvWord{4}}, {"bbRect", SpvWord{4}}, {"cfDemoteToHelperInvocationEXT", SpvWord{5379}}, {"cbObjectToWorldNV", SpvWord{5330}}, {"baCodeSectionINTEL", SpvWord{5605}}, {"cdClusteredReduce", SpvWord{3}}, {"beR16", SpvWord{14}}, {"cfClipDistance", SpvWord{32}}, {"bgUnsignedInt16", SpvWord{11}}, {"cfRuntimeDescriptorArrayEXT", SpvWord{5302}}, {"cbWarpIDNV", SpvWord{5376}}, {"cfAtomicFloat16VectorNV", SpvWord{5404}}, {"caCacheSizeINTEL", SpvWord{5900}}, {"cfFragmentBarycentricKHR", SpvWord{5284}}, {"amIntersectionNV", SpvWord{5314}}, {"ccWorkgroup", SpvWord{2}}, {"apNoGlobalOffsetINTEL", SpvWord{5895}}, {"baPrivate", SpvWord{6}}, {"apOutputPoints", SpvWord{27}}, {"adMinIterations", SpvWord{16}}, {"afSubgroupMemory", SpvWord{128}}, {"cfShaderViewportIndex", SpvWord{70}}, {"agNonPrivatePointerKHR", SpvWord{32}}, {"abAllowContractFastINTEL", SpvWord{65536}}, {"abAllowReassocINTEL", SpvWord{131072}}, {"caRestrict", SpvWord{19}}, {"apDerivativeGroupLinearNV", SpvWord{5290}}, {"bkALT", SpvWord{1}}, {"apFinalizer", SpvWord{34}}, {"baPhysicalStorageBuffer", SpvWord{5349}}, {"beRgba16f", SpvWord{2}}, {"cfVariableLengthArrayINTEL", SpvWord{5817}}, {"caDoublepumpINTEL", SpvWord{5831}}, {"agNonPrivatePointer", SpvWord{32}}, {"cfTessellation", SpvWord{3}}, {"aiForceOpacityMicromap2StateEXT", SpvWord{1024}}, {"afOutputMemory", SpvWord{4096}}, {"cfArbitraryPrecisionIntegersINTEL", SpvWord{5844}}, {"beRg8i", SpvWord{27}}, {"caStackCallINTEL", SpvWord{5627}}, {"cfTileImageDepthReadAccessEXT", SpvWord{4167}}, {"cjPackedVectorFormat4x8Bit", SpvWord{0}}, {"cfUniformTexelBufferArrayNonUniformIndexing", SpvWord{5311}}, {"cfMultiView", SpvWord{4439}}, {"caImplementInRegisterMapINTEL", SpvWord{6191}}, {"cbHitTNV", SpvWord{5332}}, {"caBuiltIn", SpvWord{11}}, {"beR8ui", SpvWord{39}}, {"caInitModeINTEL", SpvWord{6190}}, {"caDontStaticallyCoalesceINTEL", SpvWord{5901}}, {"cfInt16", SpvWord{22}}, {"adInitiationIntervalINTEL", SpvWord{65536}}, {"amClosestHitNV", SpvWord{5316}}, {"cfSubgroupVoteKHR", SpvWord{4431}}, {"caBankwidthINTEL", SpvWord{5828}}, {"caGLSLPacked", SpvWord{9}}, {"cfGroups", SpvWord{18}}, {"afAcquire", SpvWord{2}}, {"cfStorageTexelBufferArrayDynamicIndexingEXT", SpvWord{5305}}, {"abAllowContract", SpvWord{65536}}, {"cbInstanceId", SpvWord{6}}, {"cfStorageUniformBufferBlock16", SpvWord{4433}}, {"bpRuntimeAlignedINTEL", SpvWord{5940}}, {"cfImageGatherBiasLodAMD", SpvWord{5009}}, {"amTaskEXT", SpvWord{5364}}, {"baHitObjectAttributeNV", SpvWord{5385}}, {"cfStoragePushConstant8", SpvWord{4450}}, {"alWGSL", SpvWord{10}}, {"cfCoreBuiltinsARM", SpvWord{4165}}, {"adLoopCoalesceINTEL", SpvWord{1048576}}, {"caStallEnableINTEL", SpvWord{5905}}, {"apPostDepthCoverage", SpvWord{4446}}, {"cfStencilExportEXT", SpvWord{5013}}, {"cfUniformAndStorageBuffer8BitAccess", SpvWord{4449}}, {"cnInitOnDeviceReprogramINTEL", SpvWord{0}}, {"cbFragSizeEXT", SpvWord{5292}}, {"cfMatrix", SpvWord{0}}, {"caStridesizeINTEL", SpvWord{5883}}, {"aaMakeTexelAvailable", SpvWord{256}}, {"cbInstanceCustomIndexNV", SpvWord{5327}}, {"bhRTN", SpvWord{3}}, {"bgUnormInt101010", SpvWord{6}}, {"caNumbanksINTEL", SpvWord{5827}}, {"cbPatchVertices", SpvWord{14}}, {"apOutputTrianglesEXT", SpvWord{5298}}, {"cfDemoteToHelperInvocation", SpvWord{5379}}, {"cfStorageTexelBufferArrayNonUniformIndexingEXT", SpvWord{5312}}, {"cbWorldRayOriginNV", SpvWord{5321}}, {"cfPhysicalStorageBufferAddressesEXT", SpvWord{5347}}, {"aaNone", SpvWord{0}}, {"apStencilRefLessFrontAMD", SpvWord{5081}}, {"cfFPGAArgumentInterfacesINTEL", SpvWord{6174}}, {"bgUnsignedIntRaw12EXT", SpvWord{20}}, {"apVertexOrderCcw", SpvWord{5}}, {"agNoAliasINTELMask", SpvWord{131072}}, {"amIntersectionKHR", SpvWord{5314}}, {"caStableKernelArgumentINTEL", SpvWord{6183}}, {"caBufferBlock", SpvWord{3}}, {"beR8", SpvWord{15}}, {"caInvariant", SpvWord{18}}, {"bgUnsignedInt8", SpvWord{10}}, {"caFuseLoopsInFunctionINTEL", SpvWord{5907}}, {"cbCurrentRayTimeNV", SpvWord{5334}}, {"cfStorageImageMultisample", SpvWord{27}}, {"cfBlockingPipesINTEL", SpvWord{5945}}, {"agNone", SpvWord{0}}, {"baTaskPayloadWorkgroupEXT", SpvWord{5402}}, {"bbTileImageDataEXT", SpvWord{4173}}, {"apRoundingModeRTNINTEL", SpvWord{5621}}, {"apEarlyAndLateFragmentTestsAMD", SpvWord{5017}}, {"bgUnormInt101010_2", SpvWord{16}}, {"cfTileImageColorReadAccessEXT", SpvWord{4166}}, {"caClobberINTEL", SpvWord{5607}}, {"caAliasScopeINTEL", SpvWord{5914}}, {"cfRayTracingKHR", SpvWord{4479}}, {"cbLayer", SpvWord{9}}, {"cbLaunchIdKHR", SpvWord{5319}}, {"bjRND_INF", SpvWord{4}}, {"cbInstanceCustomIndexKHR", SpvWord{5327}}, {"cbGlobalSize", SpvWord{31}}, {"cfImageFootprintNV", SpvWord{5282}}, {"cfFragmentDensityEXT", SpvWord{5291}}, {"cfInputAttachmentArrayDynamicIndexingEXT", SpvWord{5303}}, {"baIncomingRayPayloadKHR", SpvWord{5342}}, {"cfImageReadWrite", SpvWord{14}}, {"cfShaderEnqueueAMDX", SpvWord{5067}}, {"bfDepthStencil", SpvWord{14}}, {"cbFragDepth", SpvWord{22}}, {"cfFragmentBarycentricNV", SpvWord{5284}}, {"cbGlobalLinearId", SpvWord{34}}, {"cbSampleId", SpvWord{18}}, {"cbSubgroupGeMask", SpvWord{4417}}, {"caRelaxedPrecision", SpvWord{0}}, {"cfUniformTexelBufferArrayDynamicIndexingEXT", SpvWord{5304}}, {"beRgb10a2ui", SpvWord{34}}, {"bcClamp", SpvWord{2}}, {"cfGroupNonUniformArithmetic", SpvWord{63}}, {"caPatch", SpvWord{15}}, {"cbPrimitiveLineIndicesEXT", SpvWord{5295}}, {"beR16Snorm", SpvWord{19}}, {"caPerVertexNV", SpvWord{5285}}, {"caFPRoundingMode", SpvWord{39}}, {"cbPrimitiveTriangleIndicesEXT", SpvWord{5296}}, {"cbLaunchSizeNV", SpvWord{5320}}, {"caWeightTextureQCOM", SpvWord{4487}}, {"cfOptNoneINTEL", SpvWord{6094}}, {"cbBaryCoordNoPerspSampleAMD", SpvWord{4994}}, {"caMaxByteOffset", SpvWord{45}}, {"cfDotProductInput4x8BitKHR", SpvWord{6017}}, {"caIndex", SpvWord{32}}, {"apStaticNumWorkgroupsAMDX", SpvWord{5072}}, {"caIOPipeStorageINTEL", SpvWord{5944}}, {"ceWaitWorkGroup", SpvWord{2}}, {"cfMemoryAccessAliasingINTEL", SpvWord{5910}}, {"aiOpaqueKHR", SpvWord{1}}, {"cfInterpolationFunction", SpvWord{52}}, {"amCallableNV", SpvWord{5318}}, {"cbSubgroupLocalInvocationId", SpvWord{41}}, {"cfArbitraryPrecisionFloatingPointINTEL", SpvWord{5845}}, {"caBlockMatchTextureQCOM", SpvWord{4488}}, {"cfFPGARegINTEL", SpvWord{5948}}, {"clColumnMajorKHR", SpvWord{1}}, }; static const auto hash = [](const UnownedStringSlice& str, UInt32 salt){ UInt32 h = salt; for (const char c : str) h = (h * 0x01000193) ^ c; return h % 1016; }; const auto i = hash(str, tableSalt[hash(str, 0)]); if(str == words[i].first) { value = words[i].second; return true; } else { return false; } } static bool lookupQualifiedEnum(const QualifiedEnumName& k, SpvWord& v) { static_assert(sizeof(k.kind.index) == 1); if(k.name.getLength() > 46) return false; char name[48]; name[0] = char((k.kind.index >> 4) + 'a'); name[1] = char((k.kind.index & 0xf) + 'a'); memcpy(name+2, k.name.begin(), k.name.getLength()); return lookupEnumWithHexPrefix(UnownedStringSlice(name, k.name.getLength() + 2), v); } static bool getQualifiedEnumName(const QualifiedEnumValue& k, UnownedStringSlice& v) { const auto& [k1, k2] = k; switch(k1.index) { case 0: switch(k2) { case 0: v = UnownedStringSlice{"None"}; return true; case 1: v = UnownedStringSlice{"Bias"}; return true; case 2: v = UnownedStringSlice{"Lod"}; return true; case 4: v = UnownedStringSlice{"Grad"}; return true; case 8: v = UnownedStringSlice{"ConstOffset"}; return true; case 16: v = UnownedStringSlice{"Offset"}; return true; case 32: v = UnownedStringSlice{"ConstOffsets"}; return true; case 64: v = UnownedStringSlice{"Sample"}; return true; case 128: v = UnownedStringSlice{"MinLod"}; return true; case 256: v = UnownedStringSlice{"MakeTexelAvailable"}; return true; case 512: v = UnownedStringSlice{"MakeTexelVisible"}; return true; case 1024: v = UnownedStringSlice{"NonPrivateTexel"}; return true; case 2048: v = UnownedStringSlice{"VolatileTexel"}; return true; case 4096: v = UnownedStringSlice{"SignExtend"}; return true; case 8192: v = UnownedStringSlice{"ZeroExtend"}; return true; case 16384: v = UnownedStringSlice{"Nontemporal"}; return true; case 65536: v = UnownedStringSlice{"Offsets"}; return true; default: return false; } case 1: switch(k2) { case 0: v = UnownedStringSlice{"None"}; return true; case 1: v = UnownedStringSlice{"NotNaN"}; return true; case 2: v = UnownedStringSlice{"NotInf"}; return true; case 4: v = UnownedStringSlice{"NSZ"}; return true; case 8: v = UnownedStringSlice{"AllowRecip"}; return true; case 16: v = UnownedStringSlice{"Fast"}; return true; case 65536: v = UnownedStringSlice{"AllowContract"}; return true; case 131072: v = UnownedStringSlice{"AllowReassoc"}; return true; case 262144: v = UnownedStringSlice{"AllowTransform"}; return true; default: return false; } case 2: switch(k2) { case 0: v = UnownedStringSlice{"None"}; return true; case 1: v = UnownedStringSlice{"Flatten"}; return true; case 2: v = UnownedStringSlice{"DontFlatten"}; return true; default: return false; } case 3: switch(k2) { case 0: v = UnownedStringSlice{"None"}; return true; case 1: v = UnownedStringSlice{"Unroll"}; return true; case 2: v = UnownedStringSlice{"DontUnroll"}; return true; case 4: v = UnownedStringSlice{"DependencyInfinite"}; return true; case 8: v = UnownedStringSlice{"DependencyLength"}; return true; case 16: v = UnownedStringSlice{"MinIterations"}; return true; case 32: v = UnownedStringSlice{"MaxIterations"}; return true; case 64: v = UnownedStringSlice{"IterationMultiple"}; return true; case 128: v = UnownedStringSlice{"PeelCount"}; return true; case 256: v = UnownedStringSlice{"PartialCount"}; return true; case 65536: v = UnownedStringSlice{"InitiationIntervalINTEL"}; return true; case 131072: v = UnownedStringSlice{"MaxConcurrencyINTEL"}; return true; case 262144: v = UnownedStringSlice{"DependencyArrayINTEL"}; return true; case 524288: v = UnownedStringSlice{"PipelineEnableINTEL"}; return true; case 1048576: v = UnownedStringSlice{"LoopCoalesceINTEL"}; return true; case 2097152: v = UnownedStringSlice{"MaxInterleavingINTEL"}; return true; case 4194304: v = UnownedStringSlice{"SpeculatedIterationsINTEL"}; return true; case 8388608: v = UnownedStringSlice{"NoFusionINTEL"}; return true; case 16777216: v = UnownedStringSlice{"LoopCountINTEL"}; return true; case 33554432: v = UnownedStringSlice{"MaxReinvocationDelayINTEL"}; return true; default: return false; } case 4: switch(k2) { case 0: v = UnownedStringSlice{"None"}; return true; case 1: v = UnownedStringSlice{"Inline"}; return true; case 2: v = UnownedStringSlice{"DontInline"}; return true; case 4: v = UnownedStringSlice{"Pure"}; return true; case 8: v = UnownedStringSlice{"Const"}; return true; case 65536: v = UnownedStringSlice{"OptNoneINTEL"}; return true; default: return false; } case 5: switch(k2) { case 0: v = UnownedStringSlice{"Relaxed"}; return true; case 2: v = UnownedStringSlice{"Acquire"}; return true; case 4: v = UnownedStringSlice{"Release"}; return true; case 8: v = UnownedStringSlice{"AcquireRelease"}; return true; case 16: v = UnownedStringSlice{"SequentiallyConsistent"}; return true; case 64: v = UnownedStringSlice{"UniformMemory"}; return true; case 128: v = UnownedStringSlice{"SubgroupMemory"}; return true; case 256: v = UnownedStringSlice{"WorkgroupMemory"}; return true; case 512: v = UnownedStringSlice{"CrossWorkgroupMemory"}; return true; case 1024: v = UnownedStringSlice{"AtomicCounterMemory"}; return true; case 2048: v = UnownedStringSlice{"ImageMemory"}; return true; case 4096: v = UnownedStringSlice{"OutputMemory"}; return true; case 8192: v = UnownedStringSlice{"MakeAvailable"}; return true; case 16384: v = UnownedStringSlice{"MakeVisible"}; return true; case 32768: v = UnownedStringSlice{"Volatile"}; return true; default: return false; } case 6: switch(k2) { case 0: v = UnownedStringSlice{"None"}; return true; case 1: v = UnownedStringSlice{"Volatile"}; return true; case 2: v = UnownedStringSlice{"Aligned"}; return true; case 4: v = UnownedStringSlice{"Nontemporal"}; return true; case 8: v = UnownedStringSlice{"MakePointerAvailable"}; return true; case 16: v = UnownedStringSlice{"MakePointerVisible"}; return true; case 32: v = UnownedStringSlice{"NonPrivatePointer"}; return true; case 65536: v = UnownedStringSlice{"AliasScopeINTELMask"}; return true; case 131072: v = UnownedStringSlice{"NoAliasINTELMask"}; return true; default: return false; } case 7: switch(k2) { case 0: v = UnownedStringSlice{"None"}; return true; case 1: v = UnownedStringSlice{"CmdExecTime"}; return true; default: return false; } case 8: switch(k2) { case 0: v = UnownedStringSlice{"NoneKHR"}; return true; case 1: v = UnownedStringSlice{"OpaqueKHR"}; return true; case 2: v = UnownedStringSlice{"NoOpaqueKHR"}; return true; case 4: v = UnownedStringSlice{"TerminateOnFirstHitKHR"}; return true; case 8: v = UnownedStringSlice{"SkipClosestHitShaderKHR"}; return true; case 16: v = UnownedStringSlice{"CullBackFacingTrianglesKHR"}; return true; case 32: v = UnownedStringSlice{"CullFrontFacingTrianglesKHR"}; return true; case 64: v = UnownedStringSlice{"CullOpaqueKHR"}; return true; case 128: v = UnownedStringSlice{"CullNoOpaqueKHR"}; return true; case 256: v = UnownedStringSlice{"SkipTrianglesKHR"}; return true; case 512: v = UnownedStringSlice{"SkipAABBsKHR"}; return true; case 1024: v = UnownedStringSlice{"ForceOpacityMicromap2StateEXT"}; return true; default: return false; } case 9: switch(k2) { case 1: v = UnownedStringSlice{"Vertical2Pixels"}; return true; case 2: v = UnownedStringSlice{"Vertical4Pixels"}; return true; case 4: v = UnownedStringSlice{"Horizontal2Pixels"}; return true; case 8: v = UnownedStringSlice{"Horizontal4Pixels"}; return true; default: return false; } case 10: switch(k2) { case 0: v = UnownedStringSlice{"None"}; return true; case 1: v = UnownedStringSlice{"RobustnessPerComponentNV"}; return true; case 2: v = UnownedStringSlice{"RobustnessPerElementNV"}; return true; default: return false; } case 11: switch(k2) { case 0: v = UnownedStringSlice{"Unknown"}; return true; case 1: v = UnownedStringSlice{"ESSL"}; return true; case 2: v = UnownedStringSlice{"GLSL"}; return true; case 3: v = UnownedStringSlice{"OpenCL_C"}; return true; case 4: v = UnownedStringSlice{"OpenCL_CPP"}; return true; case 5: v = UnownedStringSlice{"HLSL"}; return true; case 6: v = UnownedStringSlice{"CPP_for_OpenCL"}; return true; case 7: v = UnownedStringSlice{"SYCL"}; return true; case 8: v = UnownedStringSlice{"HERO_C"}; return true; case 9: v = UnownedStringSlice{"NZSL"}; return true; case 10: v = UnownedStringSlice{"WGSL"}; return true; case 11: v = UnownedStringSlice{"Slang"}; return true; case 12: v = UnownedStringSlice{"Zig"}; return true; default: return false; } case 12: switch(k2) { case 0: v = UnownedStringSlice{"Vertex"}; return true; case 1: v = UnownedStringSlice{"TessellationControl"}; return true; case 2: v = UnownedStringSlice{"TessellationEvaluation"}; return true; case 3: v = UnownedStringSlice{"Geometry"}; return true; case 4: v = UnownedStringSlice{"Fragment"}; return true; case 5: v = UnownedStringSlice{"GLCompute"}; return true; case 6: v = UnownedStringSlice{"Kernel"}; return true; case 5267: v = UnownedStringSlice{"TaskNV"}; return true; case 5268: v = UnownedStringSlice{"MeshNV"}; return true; case 5313: v = UnownedStringSlice{"RayGenerationNV"}; return true; case 5314: v = UnownedStringSlice{"IntersectionNV"}; return true; case 5315: v = UnownedStringSlice{"AnyHitNV"}; return true; case 5316: v = UnownedStringSlice{"ClosestHitNV"}; return true; case 5317: v = UnownedStringSlice{"MissNV"}; return true; case 5318: v = UnownedStringSlice{"CallableNV"}; return true; case 5364: v = UnownedStringSlice{"TaskEXT"}; return true; case 5365: v = UnownedStringSlice{"MeshEXT"}; return true; default: return false; } case 13: switch(k2) { case 0: v = UnownedStringSlice{"Logical"}; return true; case 1: v = UnownedStringSlice{"Physical32"}; return true; case 2: v = UnownedStringSlice{"Physical64"}; return true; case 5348: v = UnownedStringSlice{"PhysicalStorageBuffer64"}; return true; default: return false; } case 14: switch(k2) { case 0: v = UnownedStringSlice{"Simple"}; return true; case 1: v = UnownedStringSlice{"GLSL450"}; return true; case 2: v = UnownedStringSlice{"OpenCL"}; return true; case 3: v = UnownedStringSlice{"Vulkan"}; return true; default: return false; } case 15: switch(k2) { case 0: v = UnownedStringSlice{"Invocations"}; return true; case 1: v = UnownedStringSlice{"SpacingEqual"}; return true; case 2: v = UnownedStringSlice{"SpacingFractionalEven"}; return true; case 3: v = UnownedStringSlice{"SpacingFractionalOdd"}; return true; case 4: v = UnownedStringSlice{"VertexOrderCw"}; return true; case 5: v = UnownedStringSlice{"VertexOrderCcw"}; return true; case 6: v = UnownedStringSlice{"PixelCenterInteger"}; return true; case 7: v = UnownedStringSlice{"OriginUpperLeft"}; return true; case 8: v = UnownedStringSlice{"OriginLowerLeft"}; return true; case 9: v = UnownedStringSlice{"EarlyFragmentTests"}; return true; case 10: v = UnownedStringSlice{"PointMode"}; return true; case 11: v = UnownedStringSlice{"Xfb"}; return true; case 12: v = UnownedStringSlice{"DepthReplacing"}; return true; case 14: v = UnownedStringSlice{"DepthGreater"}; return true; case 15: v = UnownedStringSlice{"DepthLess"}; return true; case 16: v = UnownedStringSlice{"DepthUnchanged"}; return true; case 17: v = UnownedStringSlice{"LocalSize"}; return true; case 18: v = UnownedStringSlice{"LocalSizeHint"}; return true; case 19: v = UnownedStringSlice{"InputPoints"}; return true; case 20: v = UnownedStringSlice{"InputLines"}; return true; case 21: v = UnownedStringSlice{"InputLinesAdjacency"}; return true; case 22: v = UnownedStringSlice{"Triangles"}; return true; case 23: v = UnownedStringSlice{"InputTrianglesAdjacency"}; return true; case 24: v = UnownedStringSlice{"Quads"}; return true; case 25: v = UnownedStringSlice{"Isolines"}; return true; case 26: v = UnownedStringSlice{"OutputVertices"}; return true; case 27: v = UnownedStringSlice{"OutputPoints"}; return true; case 28: v = UnownedStringSlice{"OutputLineStrip"}; return true; case 29: v = UnownedStringSlice{"OutputTriangleStrip"}; return true; case 30: v = UnownedStringSlice{"VecTypeHint"}; return true; case 31: v = UnownedStringSlice{"ContractionOff"}; return true; case 33: v = UnownedStringSlice{"Initializer"}; return true; case 34: v = UnownedStringSlice{"Finalizer"}; return true; case 35: v = UnownedStringSlice{"SubgroupSize"}; return true; case 36: v = UnownedStringSlice{"SubgroupsPerWorkgroup"}; return true; case 37: v = UnownedStringSlice{"SubgroupsPerWorkgroupId"}; return true; case 38: v = UnownedStringSlice{"LocalSizeId"}; return true; case 39: v = UnownedStringSlice{"LocalSizeHintId"}; return true; case 4169: v = UnownedStringSlice{"NonCoherentColorAttachmentReadEXT"}; return true; case 4170: v = UnownedStringSlice{"NonCoherentDepthAttachmentReadEXT"}; return true; case 4171: v = UnownedStringSlice{"NonCoherentStencilAttachmentReadEXT"}; return true; case 4421: v = UnownedStringSlice{"SubgroupUniformControlFlowKHR"}; return true; case 4446: v = UnownedStringSlice{"PostDepthCoverage"}; return true; case 4459: v = UnownedStringSlice{"DenormPreserve"}; return true; case 4460: v = UnownedStringSlice{"DenormFlushToZero"}; return true; case 4461: v = UnownedStringSlice{"SignedZeroInfNanPreserve"}; return true; case 4462: v = UnownedStringSlice{"RoundingModeRTE"}; return true; case 4463: v = UnownedStringSlice{"RoundingModeRTZ"}; return true; case 5017: v = UnownedStringSlice{"EarlyAndLateFragmentTestsAMD"}; return true; case 5027: v = UnownedStringSlice{"StencilRefReplacingEXT"}; return true; case 5069: v = UnownedStringSlice{"CoalescingAMDX"}; return true; case 5071: v = UnownedStringSlice{"MaxNodeRecursionAMDX"}; return true; case 5072: v = UnownedStringSlice{"StaticNumWorkgroupsAMDX"}; return true; case 5073: v = UnownedStringSlice{"ShaderIndexAMDX"}; return true; case 5077: v = UnownedStringSlice{"MaxNumWorkgroupsAMDX"}; return true; case 5079: v = UnownedStringSlice{"StencilRefUnchangedFrontAMD"}; return true; case 5080: v = UnownedStringSlice{"StencilRefGreaterFrontAMD"}; return true; case 5081: v = UnownedStringSlice{"StencilRefLessFrontAMD"}; return true; case 5082: v = UnownedStringSlice{"StencilRefUnchangedBackAMD"}; return true; case 5083: v = UnownedStringSlice{"StencilRefGreaterBackAMD"}; return true; case 5084: v = UnownedStringSlice{"StencilRefLessBackAMD"}; return true; case 5088: v = UnownedStringSlice{"QuadDerivativesKHR"}; return true; case 5089: v = UnownedStringSlice{"RequireFullQuadsKHR"}; return true; case 5269: v = UnownedStringSlice{"OutputLinesNV"}; return true; case 5270: v = UnownedStringSlice{"OutputPrimitivesNV"}; return true; case 5289: v = UnownedStringSlice{"DerivativeGroupQuadsNV"}; return true; case 5290: v = UnownedStringSlice{"DerivativeGroupLinearNV"}; return true; case 5298: v = UnownedStringSlice{"OutputTrianglesNV"}; return true; case 5366: v = UnownedStringSlice{"PixelInterlockOrderedEXT"}; return true; case 5367: v = UnownedStringSlice{"PixelInterlockUnorderedEXT"}; return true; case 5368: v = UnownedStringSlice{"SampleInterlockOrderedEXT"}; return true; case 5369: v = UnownedStringSlice{"SampleInterlockUnorderedEXT"}; return true; case 5370: v = UnownedStringSlice{"ShadingRateInterlockOrderedEXT"}; return true; case 5371: v = UnownedStringSlice{"ShadingRateInterlockUnorderedEXT"}; return true; case 5618: v = UnownedStringSlice{"SharedLocalMemorySizeINTEL"}; return true; case 5620: v = UnownedStringSlice{"RoundingModeRTPINTEL"}; return true; case 5621: v = UnownedStringSlice{"RoundingModeRTNINTEL"}; return true; case 5622: v = UnownedStringSlice{"FloatingPointModeALTINTEL"}; return true; case 5623: v = UnownedStringSlice{"FloatingPointModeIEEEINTEL"}; return true; case 5893: v = UnownedStringSlice{"MaxWorkgroupSizeINTEL"}; return true; case 5894: v = UnownedStringSlice{"MaxWorkDimINTEL"}; return true; case 5895: v = UnownedStringSlice{"NoGlobalOffsetINTEL"}; return true; case 5896: v = UnownedStringSlice{"NumSIMDWorkitemsINTEL"}; return true; case 5903: v = UnownedStringSlice{"SchedulerTargetFmaxMhzINTEL"}; return true; case 6023: v = UnownedStringSlice{"MaximallyReconvergesKHR"}; return true; case 6028: v = UnownedStringSlice{"FPFastMathDefault"}; return true; case 6154: v = UnownedStringSlice{"StreamingInterfaceINTEL"}; return true; case 6160: v = UnownedStringSlice{"RegisterMapInterfaceINTEL"}; return true; case 6417: v = UnownedStringSlice{"NamedBarrierCountINTEL"}; return true; case 6461: v = UnownedStringSlice{"MaximumRegistersINTEL"}; return true; case 6462: v = UnownedStringSlice{"MaximumRegistersIdINTEL"}; return true; case 6463: v = UnownedStringSlice{"NamedMaximumRegistersINTEL"}; return true; default: return false; } case 16: switch(k2) { case 0: v = UnownedStringSlice{"UniformConstant"}; return true; case 1: v = UnownedStringSlice{"Input"}; return true; case 2: v = UnownedStringSlice{"Uniform"}; return true; case 3: v = UnownedStringSlice{"Output"}; return true; case 4: v = UnownedStringSlice{"Workgroup"}; return true; case 5: v = UnownedStringSlice{"CrossWorkgroup"}; return true; case 6: v = UnownedStringSlice{"Private"}; return true; case 7: v = UnownedStringSlice{"Function"}; return true; case 8: v = UnownedStringSlice{"Generic"}; return true; case 9: v = UnownedStringSlice{"PushConstant"}; return true; case 10: v = UnownedStringSlice{"AtomicCounter"}; return true; case 11: v = UnownedStringSlice{"Image"}; return true; case 12: v = UnownedStringSlice{"StorageBuffer"}; return true; case 4172: v = UnownedStringSlice{"TileImageEXT"}; return true; case 5068: v = UnownedStringSlice{"NodePayloadAMDX"}; return true; case 5076: v = UnownedStringSlice{"NodeOutputPayloadAMDX"}; return true; case 5328: v = UnownedStringSlice{"CallableDataNV"}; return true; case 5329: v = UnownedStringSlice{"IncomingCallableDataNV"}; return true; case 5338: v = UnownedStringSlice{"RayPayloadNV"}; return true; case 5339: v = UnownedStringSlice{"HitAttributeNV"}; return true; case 5342: v = UnownedStringSlice{"IncomingRayPayloadNV"}; return true; case 5343: v = UnownedStringSlice{"ShaderRecordBufferNV"}; return true; case 5349: v = UnownedStringSlice{"PhysicalStorageBuffer"}; return true; case 5385: v = UnownedStringSlice{"HitObjectAttributeNV"}; return true; case 5402: v = UnownedStringSlice{"TaskPayloadWorkgroupEXT"}; return true; case 5605: v = UnownedStringSlice{"CodeSectionINTEL"}; return true; case 5936: v = UnownedStringSlice{"DeviceOnlyINTEL"}; return true; case 5937: v = UnownedStringSlice{"HostOnlyINTEL"}; return true; default: return false; } case 17: switch(k2) { case 0: v = UnownedStringSlice{"1D"}; return true; case 1: v = UnownedStringSlice{"2D"}; return true; case 2: v = UnownedStringSlice{"3D"}; return true; case 3: v = UnownedStringSlice{"Cube"}; return true; case 4: v = UnownedStringSlice{"Rect"}; return true; case 5: v = UnownedStringSlice{"Buffer"}; return true; case 6: v = UnownedStringSlice{"SubpassData"}; return true; case 4173: v = UnownedStringSlice{"TileImageDataEXT"}; return true; default: return false; } case 18: switch(k2) { case 0: v = UnownedStringSlice{"None"}; return true; case 1: v = UnownedStringSlice{"ClampToEdge"}; return true; case 2: v = UnownedStringSlice{"Clamp"}; return true; case 3: v = UnownedStringSlice{"Repeat"}; return true; case 4: v = UnownedStringSlice{"RepeatMirrored"}; return true; default: return false; } case 19: switch(k2) { case 0: v = UnownedStringSlice{"Nearest"}; return true; case 1: v = UnownedStringSlice{"Linear"}; return true; default: return false; } case 20: switch(k2) { case 0: v = UnownedStringSlice{"Unknown"}; return true; case 1: v = UnownedStringSlice{"Rgba32f"}; return true; case 2: v = UnownedStringSlice{"Rgba16f"}; return true; case 3: v = UnownedStringSlice{"R32f"}; return true; case 4: v = UnownedStringSlice{"Rgba8"}; return true; case 5: v = UnownedStringSlice{"Rgba8Snorm"}; return true; case 6: v = UnownedStringSlice{"Rg32f"}; return true; case 7: v = UnownedStringSlice{"Rg16f"}; return true; case 8: v = UnownedStringSlice{"R11fG11fB10f"}; return true; case 9: v = UnownedStringSlice{"R16f"}; return true; case 10: v = UnownedStringSlice{"Rgba16"}; return true; case 11: v = UnownedStringSlice{"Rgb10A2"}; return true; case 12: v = UnownedStringSlice{"Rg16"}; return true; case 13: v = UnownedStringSlice{"Rg8"}; return true; case 14: v = UnownedStringSlice{"R16"}; return true; case 15: v = UnownedStringSlice{"R8"}; return true; case 16: v = UnownedStringSlice{"Rgba16Snorm"}; return true; case 17: v = UnownedStringSlice{"Rg16Snorm"}; return true; case 18: v = UnownedStringSlice{"Rg8Snorm"}; return true; case 19: v = UnownedStringSlice{"R16Snorm"}; return true; case 20: v = UnownedStringSlice{"R8Snorm"}; return true; case 21: v = UnownedStringSlice{"Rgba32i"}; return true; case 22: v = UnownedStringSlice{"Rgba16i"}; return true; case 23: v = UnownedStringSlice{"Rgba8i"}; return true; case 24: v = UnownedStringSlice{"R32i"}; return true; case 25: v = UnownedStringSlice{"Rg32i"}; return true; case 26: v = UnownedStringSlice{"Rg16i"}; return true; case 27: v = UnownedStringSlice{"Rg8i"}; return true; case 28: v = UnownedStringSlice{"R16i"}; return true; case 29: v = UnownedStringSlice{"R8i"}; return true; case 30: v = UnownedStringSlice{"Rgba32ui"}; return true; case 31: v = UnownedStringSlice{"Rgba16ui"}; return true; case 32: v = UnownedStringSlice{"Rgba8ui"}; return true; case 33: v = UnownedStringSlice{"R32ui"}; return true; case 34: v = UnownedStringSlice{"Rgb10a2ui"}; return true; case 35: v = UnownedStringSlice{"Rg32ui"}; return true; case 36: v = UnownedStringSlice{"Rg16ui"}; return true; case 37: v = UnownedStringSlice{"Rg8ui"}; return true; case 38: v = UnownedStringSlice{"R16ui"}; return true; case 39: v = UnownedStringSlice{"R8ui"}; return true; case 40: v = UnownedStringSlice{"R64ui"}; return true; case 41: v = UnownedStringSlice{"R64i"}; return true; default: return false; } case 21: switch(k2) { case 0: v = UnownedStringSlice{"R"}; return true; case 1: v = UnownedStringSlice{"A"}; return true; case 2: v = UnownedStringSlice{"RG"}; return true; case 3: v = UnownedStringSlice{"RA"}; return true; case 4: v = UnownedStringSlice{"RGB"}; return true; case 5: v = UnownedStringSlice{"RGBA"}; return true; case 6: v = UnownedStringSlice{"BGRA"}; return true; case 7: v = UnownedStringSlice{"ARGB"}; return true; case 8: v = UnownedStringSlice{"Intensity"}; return true; case 9: v = UnownedStringSlice{"Luminance"}; return true; case 10: v = UnownedStringSlice{"Rx"}; return true; case 11: v = UnownedStringSlice{"RGx"}; return true; case 12: v = UnownedStringSlice{"RGBx"}; return true; case 13: v = UnownedStringSlice{"Depth"}; return true; case 14: v = UnownedStringSlice{"DepthStencil"}; return true; case 15: v = UnownedStringSlice{"sRGB"}; return true; case 16: v = UnownedStringSlice{"sRGBx"}; return true; case 17: v = UnownedStringSlice{"sRGBA"}; return true; case 18: v = UnownedStringSlice{"sBGRA"}; return true; case 19: v = UnownedStringSlice{"ABGR"}; return true; default: return false; } case 22: switch(k2) { case 0: v = UnownedStringSlice{"SnormInt8"}; return true; case 1: v = UnownedStringSlice{"SnormInt16"}; return true; case 2: v = UnownedStringSlice{"UnormInt8"}; return true; case 3: v = UnownedStringSlice{"UnormInt16"}; return true; case 4: v = UnownedStringSlice{"UnormShort565"}; return true; case 5: v = UnownedStringSlice{"UnormShort555"}; return true; case 6: v = UnownedStringSlice{"UnormInt101010"}; return true; case 7: v = UnownedStringSlice{"SignedInt8"}; return true; case 8: v = UnownedStringSlice{"SignedInt16"}; return true; case 9: v = UnownedStringSlice{"SignedInt32"}; return true; case 10: v = UnownedStringSlice{"UnsignedInt8"}; return true; case 11: v = UnownedStringSlice{"UnsignedInt16"}; return true; case 12: v = UnownedStringSlice{"UnsignedInt32"}; return true; case 13: v = UnownedStringSlice{"HalfFloat"}; return true; case 14: v = UnownedStringSlice{"Float"}; return true; case 15: v = UnownedStringSlice{"UnormInt24"}; return true; case 16: v = UnownedStringSlice{"UnormInt101010_2"}; return true; case 19: v = UnownedStringSlice{"UnsignedIntRaw10EXT"}; return true; case 20: v = UnownedStringSlice{"UnsignedIntRaw12EXT"}; return true; default: return false; } case 23: switch(k2) { case 0: v = UnownedStringSlice{"RTE"}; return true; case 1: v = UnownedStringSlice{"RTZ"}; return true; case 2: v = UnownedStringSlice{"RTP"}; return true; case 3: v = UnownedStringSlice{"RTN"}; return true; default: return false; } case 24: switch(k2) { case 0: v = UnownedStringSlice{"Preserve"}; return true; case 1: v = UnownedStringSlice{"FlushToZero"}; return true; default: return false; } case 25: switch(k2) { case 0: v = UnownedStringSlice{"TRN"}; return true; case 1: v = UnownedStringSlice{"TRN_ZERO"}; return true; case 2: v = UnownedStringSlice{"RND"}; return true; case 3: v = UnownedStringSlice{"RND_ZERO"}; return true; case 4: v = UnownedStringSlice{"RND_INF"}; return true; case 5: v = UnownedStringSlice{"RND_MIN_INF"}; return true; case 6: v = UnownedStringSlice{"RND_CONV"}; return true; case 7: v = UnownedStringSlice{"RND_CONV_ODD"}; return true; default: return false; } case 26: switch(k2) { case 0: v = UnownedStringSlice{"IEEE"}; return true; case 1: v = UnownedStringSlice{"ALT"}; return true; default: return false; } case 27: switch(k2) { case 0: v = UnownedStringSlice{"WRAP"}; return true; case 1: v = UnownedStringSlice{"SAT"}; return true; case 2: v = UnownedStringSlice{"SAT_ZERO"}; return true; case 3: v = UnownedStringSlice{"SAT_SYM"}; return true; default: return false; } case 28: switch(k2) { case 0: v = UnownedStringSlice{"Export"}; return true; case 1: v = UnownedStringSlice{"Import"}; return true; case 2: v = UnownedStringSlice{"LinkOnceODR"}; return true; default: return false; } case 29: switch(k2) { case 0: v = UnownedStringSlice{"ReadOnly"}; return true; case 1: v = UnownedStringSlice{"WriteOnly"}; return true; case 2: v = UnownedStringSlice{"ReadWrite"}; return true; default: return false; } case 30: switch(k2) { case 0: v = UnownedStringSlice{"NoneINTEL"}; return true; case 1: v = UnownedStringSlice{"ReadINTEL"}; return true; case 2: v = UnownedStringSlice{"WriteINTEL"}; return true; case 3: v = UnownedStringSlice{"ReadWriteINTEL"}; return true; default: return false; } case 31: switch(k2) { case 0: v = UnownedStringSlice{"Zext"}; return true; case 1: v = UnownedStringSlice{"Sext"}; return true; case 2: v = UnownedStringSlice{"ByVal"}; return true; case 3: v = UnownedStringSlice{"Sret"}; return true; case 4: v = UnownedStringSlice{"NoAlias"}; return true; case 5: v = UnownedStringSlice{"NoCapture"}; return true; case 6: v = UnownedStringSlice{"NoWrite"}; return true; case 7: v = UnownedStringSlice{"NoReadWrite"}; return true; case 5940: v = UnownedStringSlice{"RuntimeAlignedINTEL"}; return true; default: return false; } case 32: switch(k2) { case 0: v = UnownedStringSlice{"RelaxedPrecision"}; return true; case 1: v = UnownedStringSlice{"SpecId"}; return true; case 2: v = UnownedStringSlice{"Block"}; return true; case 3: v = UnownedStringSlice{"BufferBlock"}; return true; case 4: v = UnownedStringSlice{"RowMajor"}; return true; case 5: v = UnownedStringSlice{"ColMajor"}; return true; case 6: v = UnownedStringSlice{"ArrayStride"}; return true; case 7: v = UnownedStringSlice{"MatrixStride"}; return true; case 8: v = UnownedStringSlice{"GLSLShared"}; return true; case 9: v = UnownedStringSlice{"GLSLPacked"}; return true; case 10: v = UnownedStringSlice{"CPacked"}; return true; case 11: v = UnownedStringSlice{"BuiltIn"}; return true; case 13: v = UnownedStringSlice{"NoPerspective"}; return true; case 14: v = UnownedStringSlice{"Flat"}; return true; case 15: v = UnownedStringSlice{"Patch"}; return true; case 16: v = UnownedStringSlice{"Centroid"}; return true; case 17: v = UnownedStringSlice{"Sample"}; return true; case 18: v = UnownedStringSlice{"Invariant"}; return true; case 19: v = UnownedStringSlice{"Restrict"}; return true; case 20: v = UnownedStringSlice{"Aliased"}; return true; case 21: v = UnownedStringSlice{"Volatile"}; return true; case 22: v = UnownedStringSlice{"Constant"}; return true; case 23: v = UnownedStringSlice{"Coherent"}; return true; case 24: v = UnownedStringSlice{"NonWritable"}; return true; case 25: v = UnownedStringSlice{"NonReadable"}; return true; case 26: v = UnownedStringSlice{"Uniform"}; return true; case 27: v = UnownedStringSlice{"UniformId"}; return true; case 28: v = UnownedStringSlice{"SaturatedConversion"}; return true; case 29: v = UnownedStringSlice{"Stream"}; return true; case 30: v = UnownedStringSlice{"Location"}; return true; case 31: v = UnownedStringSlice{"Component"}; return true; case 32: v = UnownedStringSlice{"Index"}; return true; case 33: v = UnownedStringSlice{"Binding"}; return true; case 34: v = UnownedStringSlice{"DescriptorSet"}; return true; case 35: v = UnownedStringSlice{"Offset"}; return true; case 36: v = UnownedStringSlice{"XfbBuffer"}; return true; case 37: v = UnownedStringSlice{"XfbStride"}; return true; case 38: v = UnownedStringSlice{"FuncParamAttr"}; return true; case 39: v = UnownedStringSlice{"FPRoundingMode"}; return true; case 40: v = UnownedStringSlice{"FPFastMathMode"}; return true; case 41: v = UnownedStringSlice{"LinkageAttributes"}; return true; case 42: v = UnownedStringSlice{"NoContraction"}; return true; case 43: v = UnownedStringSlice{"InputAttachmentIndex"}; return true; case 44: v = UnownedStringSlice{"Alignment"}; return true; case 45: v = UnownedStringSlice{"MaxByteOffset"}; return true; case 46: v = UnownedStringSlice{"AlignmentId"}; return true; case 47: v = UnownedStringSlice{"MaxByteOffsetId"}; return true; case 4469: v = UnownedStringSlice{"NoSignedWrap"}; return true; case 4470: v = UnownedStringSlice{"NoUnsignedWrap"}; return true; case 4487: v = UnownedStringSlice{"WeightTextureQCOM"}; return true; case 4488: v = UnownedStringSlice{"BlockMatchTextureQCOM"}; return true; case 4499: v = UnownedStringSlice{"BlockMatchSamplerQCOM"}; return true; case 4999: v = UnownedStringSlice{"ExplicitInterpAMD"}; return true; case 5019: v = UnownedStringSlice{"NodeSharesPayloadLimitsWithAMDX"}; return true; case 5020: v = UnownedStringSlice{"NodeMaxPayloadsAMDX"}; return true; case 5078: v = UnownedStringSlice{"TrackFinishWritingAMDX"}; return true; case 5091: v = UnownedStringSlice{"PayloadNodeNameAMDX"}; return true; case 5248: v = UnownedStringSlice{"OverrideCoverageNV"}; return true; case 5250: v = UnownedStringSlice{"PassthroughNV"}; return true; case 5252: v = UnownedStringSlice{"ViewportRelativeNV"}; return true; case 5256: v = UnownedStringSlice{"SecondaryViewportRelativeNV"}; return true; case 5271: v = UnownedStringSlice{"PerPrimitiveNV"}; return true; case 5272: v = UnownedStringSlice{"PerViewNV"}; return true; case 5273: v = UnownedStringSlice{"PerTaskNV"}; return true; case 5285: v = UnownedStringSlice{"PerVertexKHR"}; return true; case 5300: v = UnownedStringSlice{"NonUniform"}; return true; case 5355: v = UnownedStringSlice{"RestrictPointer"}; return true; case 5356: v = UnownedStringSlice{"AliasedPointer"}; return true; case 5386: v = UnownedStringSlice{"HitObjectShaderRecordBufferNV"}; return true; case 5398: v = UnownedStringSlice{"BindlessSamplerNV"}; return true; case 5399: v = UnownedStringSlice{"BindlessImageNV"}; return true; case 5400: v = UnownedStringSlice{"BoundSamplerNV"}; return true; case 5401: v = UnownedStringSlice{"BoundImageNV"}; return true; case 5599: v = UnownedStringSlice{"SIMTCallINTEL"}; return true; case 5602: v = UnownedStringSlice{"ReferencedIndirectlyINTEL"}; return true; case 5607: v = UnownedStringSlice{"ClobberINTEL"}; return true; case 5608: v = UnownedStringSlice{"SideEffectsINTEL"}; return true; case 5624: v = UnownedStringSlice{"VectorComputeVariableINTEL"}; return true; case 5625: v = UnownedStringSlice{"FuncParamIOKindINTEL"}; return true; case 5626: v = UnownedStringSlice{"VectorComputeFunctionINTEL"}; return true; case 5627: v = UnownedStringSlice{"StackCallINTEL"}; return true; case 5628: v = UnownedStringSlice{"GlobalVariableOffsetINTEL"}; return true; case 5634: v = UnownedStringSlice{"CounterBuffer"}; return true; case 5635: v = UnownedStringSlice{"UserSemantic"}; return true; case 5636: v = UnownedStringSlice{"UserTypeGOOGLE"}; return true; case 5822: v = UnownedStringSlice{"FunctionRoundingModeINTEL"}; return true; case 5823: v = UnownedStringSlice{"FunctionDenormModeINTEL"}; return true; case 5825: v = UnownedStringSlice{"RegisterINTEL"}; return true; case 5826: v = UnownedStringSlice{"MemoryINTEL"}; return true; case 5827: v = UnownedStringSlice{"NumbanksINTEL"}; return true; case 5828: v = UnownedStringSlice{"BankwidthINTEL"}; return true; case 5829: v = UnownedStringSlice{"MaxPrivateCopiesINTEL"}; return true; case 5830: v = UnownedStringSlice{"SinglepumpINTEL"}; return true; case 5831: v = UnownedStringSlice{"DoublepumpINTEL"}; return true; case 5832: v = UnownedStringSlice{"MaxReplicatesINTEL"}; return true; case 5833: v = UnownedStringSlice{"SimpleDualPortINTEL"}; return true; case 5834: v = UnownedStringSlice{"MergeINTEL"}; return true; case 5835: v = UnownedStringSlice{"BankBitsINTEL"}; return true; case 5836: v = UnownedStringSlice{"ForcePow2DepthINTEL"}; return true; case 5883: v = UnownedStringSlice{"StridesizeINTEL"}; return true; case 5884: v = UnownedStringSlice{"WordsizeINTEL"}; return true; case 5885: v = UnownedStringSlice{"TrueDualPortINTEL"}; return true; case 5899: v = UnownedStringSlice{"BurstCoalesceINTEL"}; return true; case 5900: v = UnownedStringSlice{"CacheSizeINTEL"}; return true; case 5901: v = UnownedStringSlice{"DontStaticallyCoalesceINTEL"}; return true; case 5902: v = UnownedStringSlice{"PrefetchINTEL"}; return true; case 5905: v = UnownedStringSlice{"StallEnableINTEL"}; return true; case 5907: v = UnownedStringSlice{"FuseLoopsInFunctionINTEL"}; return true; case 5909: v = UnownedStringSlice{"MathOpDSPModeINTEL"}; return true; case 5914: v = UnownedStringSlice{"AliasScopeINTEL"}; return true; case 5915: v = UnownedStringSlice{"NoAliasINTEL"}; return true; case 5917: v = UnownedStringSlice{"InitiationIntervalINTEL"}; return true; case 5918: v = UnownedStringSlice{"MaxConcurrencyINTEL"}; return true; case 5919: v = UnownedStringSlice{"PipelineEnableINTEL"}; return true; case 5921: v = UnownedStringSlice{"BufferLocationINTEL"}; return true; case 5944: v = UnownedStringSlice{"IOPipeStorageINTEL"}; return true; case 6080: v = UnownedStringSlice{"FunctionFloatingPointModeINTEL"}; return true; case 6085: v = UnownedStringSlice{"SingleElementVectorINTEL"}; return true; case 6087: v = UnownedStringSlice{"VectorComputeCallableFunctionINTEL"}; return true; case 6140: v = UnownedStringSlice{"MediaBlockIOINTEL"}; return true; case 6151: v = UnownedStringSlice{"StallFreeINTEL"}; return true; case 6170: v = UnownedStringSlice{"FPMaxErrorDecorationINTEL"}; return true; case 6172: v = UnownedStringSlice{"LatencyControlLabelINTEL"}; return true; case 6173: v = UnownedStringSlice{"LatencyControlConstraintINTEL"}; return true; case 6175: v = UnownedStringSlice{"ConduitKernelArgumentINTEL"}; return true; case 6176: v = UnownedStringSlice{"RegisterMapKernelArgumentINTEL"}; return true; case 6177: v = UnownedStringSlice{"MMHostInterfaceAddressWidthINTEL"}; return true; case 6178: v = UnownedStringSlice{"MMHostInterfaceDataWidthINTEL"}; return true; case 6179: v = UnownedStringSlice{"MMHostInterfaceLatencyINTEL"}; return true; case 6180: v = UnownedStringSlice{"MMHostInterfaceReadWriteModeINTEL"}; return true; case 6181: v = UnownedStringSlice{"MMHostInterfaceMaxBurstINTEL"}; return true; case 6182: v = UnownedStringSlice{"MMHostInterfaceWaitRequestINTEL"}; return true; case 6183: v = UnownedStringSlice{"StableKernelArgumentINTEL"}; return true; case 6188: v = UnownedStringSlice{"HostAccessINTEL"}; return true; case 6190: v = UnownedStringSlice{"InitModeINTEL"}; return true; case 6191: v = UnownedStringSlice{"ImplementInRegisterMapINTEL"}; return true; case 6442: v = UnownedStringSlice{"CacheControlLoadINTEL"}; return true; case 6443: v = UnownedStringSlice{"CacheControlStoreINTEL"}; return true; default: return false; } case 33: switch(k2) { case 0: v = UnownedStringSlice{"Position"}; return true; case 1: v = UnownedStringSlice{"PointSize"}; return true; case 3: v = UnownedStringSlice{"ClipDistance"}; return true; case 4: v = UnownedStringSlice{"CullDistance"}; return true; case 5: v = UnownedStringSlice{"VertexId"}; return true; case 6: v = UnownedStringSlice{"InstanceId"}; return true; case 7: v = UnownedStringSlice{"PrimitiveId"}; return true; case 8: v = UnownedStringSlice{"InvocationId"}; return true; case 9: v = UnownedStringSlice{"Layer"}; return true; case 10: v = UnownedStringSlice{"ViewportIndex"}; return true; case 11: v = UnownedStringSlice{"TessLevelOuter"}; return true; case 12: v = UnownedStringSlice{"TessLevelInner"}; return true; case 13: v = UnownedStringSlice{"TessCoord"}; return true; case 14: v = UnownedStringSlice{"PatchVertices"}; return true; case 15: v = UnownedStringSlice{"FragCoord"}; return true; case 16: v = UnownedStringSlice{"PointCoord"}; return true; case 17: v = UnownedStringSlice{"FrontFacing"}; return true; case 18: v = UnownedStringSlice{"SampleId"}; return true; case 19: v = UnownedStringSlice{"SamplePosition"}; return true; case 20: v = UnownedStringSlice{"SampleMask"}; return true; case 22: v = UnownedStringSlice{"FragDepth"}; return true; case 23: v = UnownedStringSlice{"HelperInvocation"}; return true; case 24: v = UnownedStringSlice{"NumWorkgroups"}; return true; case 25: v = UnownedStringSlice{"WorkgroupSize"}; return true; case 26: v = UnownedStringSlice{"WorkgroupId"}; return true; case 27: v = UnownedStringSlice{"LocalInvocationId"}; return true; case 28: v = UnownedStringSlice{"GlobalInvocationId"}; return true; case 29: v = UnownedStringSlice{"LocalInvocationIndex"}; return true; case 30: v = UnownedStringSlice{"WorkDim"}; return true; case 31: v = UnownedStringSlice{"GlobalSize"}; return true; case 32: v = UnownedStringSlice{"EnqueuedWorkgroupSize"}; return true; case 33: v = UnownedStringSlice{"GlobalOffset"}; return true; case 34: v = UnownedStringSlice{"GlobalLinearId"}; return true; case 36: v = UnownedStringSlice{"SubgroupSize"}; return true; case 37: v = UnownedStringSlice{"SubgroupMaxSize"}; return true; case 38: v = UnownedStringSlice{"NumSubgroups"}; return true; case 39: v = UnownedStringSlice{"NumEnqueuedSubgroups"}; return true; case 40: v = UnownedStringSlice{"SubgroupId"}; return true; case 41: v = UnownedStringSlice{"SubgroupLocalInvocationId"}; return true; case 42: v = UnownedStringSlice{"VertexIndex"}; return true; case 43: v = UnownedStringSlice{"InstanceIndex"}; return true; case 4160: v = UnownedStringSlice{"CoreIDARM"}; return true; case 4161: v = UnownedStringSlice{"CoreCountARM"}; return true; case 4162: v = UnownedStringSlice{"CoreMaxIDARM"}; return true; case 4163: v = UnownedStringSlice{"WarpIDARM"}; return true; case 4164: v = UnownedStringSlice{"WarpMaxIDARM"}; return true; case 4416: v = UnownedStringSlice{"SubgroupEqMask"}; return true; case 4417: v = UnownedStringSlice{"SubgroupGeMask"}; return true; case 4418: v = UnownedStringSlice{"SubgroupGtMask"}; return true; case 4419: v = UnownedStringSlice{"SubgroupLeMask"}; return true; case 4420: v = UnownedStringSlice{"SubgroupLtMask"}; return true; case 4424: v = UnownedStringSlice{"BaseVertex"}; return true; case 4425: v = UnownedStringSlice{"BaseInstance"}; return true; case 4426: v = UnownedStringSlice{"DrawIndex"}; return true; case 4432: v = UnownedStringSlice{"PrimitiveShadingRateKHR"}; return true; case 4438: v = UnownedStringSlice{"DeviceIndex"}; return true; case 4440: v = UnownedStringSlice{"ViewIndex"}; return true; case 4444: v = UnownedStringSlice{"ShadingRateKHR"}; return true; case 4992: v = UnownedStringSlice{"BaryCoordNoPerspAMD"}; return true; case 4993: v = UnownedStringSlice{"BaryCoordNoPerspCentroidAMD"}; return true; case 4994: v = UnownedStringSlice{"BaryCoordNoPerspSampleAMD"}; return true; case 4995: v = UnownedStringSlice{"BaryCoordSmoothAMD"}; return true; case 4996: v = UnownedStringSlice{"BaryCoordSmoothCentroidAMD"}; return true; case 4997: v = UnownedStringSlice{"BaryCoordSmoothSampleAMD"}; return true; case 4998: v = UnownedStringSlice{"BaryCoordPullModelAMD"}; return true; case 5014: v = UnownedStringSlice{"FragStencilRefEXT"}; return true; case 5021: v = UnownedStringSlice{"CoalescedInputCountAMDX"}; return true; case 5073: v = UnownedStringSlice{"ShaderIndexAMDX"}; return true; case 5253: v = UnownedStringSlice{"ViewportMaskNV"}; return true; case 5257: v = UnownedStringSlice{"SecondaryPositionNV"}; return true; case 5258: v = UnownedStringSlice{"SecondaryViewportMaskNV"}; return true; case 5261: v = UnownedStringSlice{"PositionPerViewNV"}; return true; case 5262: v = UnownedStringSlice{"ViewportMaskPerViewNV"}; return true; case 5264: v = UnownedStringSlice{"FullyCoveredEXT"}; return true; case 5274: v = UnownedStringSlice{"TaskCountNV"}; return true; case 5275: v = UnownedStringSlice{"PrimitiveCountNV"}; return true; case 5276: v = UnownedStringSlice{"PrimitiveIndicesNV"}; return true; case 5277: v = UnownedStringSlice{"ClipDistancePerViewNV"}; return true; case 5278: v = UnownedStringSlice{"CullDistancePerViewNV"}; return true; case 5279: v = UnownedStringSlice{"LayerPerViewNV"}; return true; case 5280: v = UnownedStringSlice{"MeshViewCountNV"}; return true; case 5281: v = UnownedStringSlice{"MeshViewIndicesNV"}; return true; case 5286: v = UnownedStringSlice{"BaryCoordKHR"}; return true; case 5287: v = UnownedStringSlice{"BaryCoordNoPerspKHR"}; return true; case 5292: v = UnownedStringSlice{"FragSizeEXT"}; return true; case 5293: v = UnownedStringSlice{"FragInvocationCountEXT"}; return true; case 5294: v = UnownedStringSlice{"PrimitivePointIndicesEXT"}; return true; case 5295: v = UnownedStringSlice{"PrimitiveLineIndicesEXT"}; return true; case 5296: v = UnownedStringSlice{"PrimitiveTriangleIndicesEXT"}; return true; case 5299: v = UnownedStringSlice{"CullPrimitiveEXT"}; return true; case 5319: v = UnownedStringSlice{"LaunchIdNV"}; return true; case 5320: v = UnownedStringSlice{"LaunchSizeNV"}; return true; case 5321: v = UnownedStringSlice{"WorldRayOriginNV"}; return true; case 5322: v = UnownedStringSlice{"WorldRayDirectionNV"}; return true; case 5323: v = UnownedStringSlice{"ObjectRayOriginNV"}; return true; case 5324: v = UnownedStringSlice{"ObjectRayDirectionNV"}; return true; case 5325: v = UnownedStringSlice{"RayTminNV"}; return true; case 5326: v = UnownedStringSlice{"RayTmaxNV"}; return true; case 5327: v = UnownedStringSlice{"InstanceCustomIndexNV"}; return true; case 5330: v = UnownedStringSlice{"ObjectToWorldNV"}; return true; case 5331: v = UnownedStringSlice{"WorldToObjectNV"}; return true; case 5332: v = UnownedStringSlice{"HitTNV"}; return true; case 5333: v = UnownedStringSlice{"HitKindNV"}; return true; case 5334: v = UnownedStringSlice{"CurrentRayTimeNV"}; return true; case 5335: v = UnownedStringSlice{"HitTriangleVertexPositionsKHR"}; return true; case 5337: v = UnownedStringSlice{"HitMicroTriangleVertexPositionsNV"}; return true; case 5344: v = UnownedStringSlice{"HitMicroTriangleVertexBarycentricsNV"}; return true; case 5351: v = UnownedStringSlice{"IncomingRayFlagsNV"}; return true; case 5352: v = UnownedStringSlice{"RayGeometryIndexKHR"}; return true; case 5374: v = UnownedStringSlice{"WarpsPerSMNV"}; return true; case 5375: v = UnownedStringSlice{"SMCountNV"}; return true; case 5376: v = UnownedStringSlice{"WarpIDNV"}; return true; case 5377: v = UnownedStringSlice{"SMIDNV"}; return true; case 5405: v = UnownedStringSlice{"HitKindFrontFacingMicroTriangleNV"}; return true; case 5406: v = UnownedStringSlice{"HitKindBackFacingMicroTriangleNV"}; return true; case 6021: v = UnownedStringSlice{"CullMaskKHR"}; return true; default: return false; } case 34: switch(k2) { case 0: v = UnownedStringSlice{"CrossDevice"}; return true; case 1: v = UnownedStringSlice{"Device"}; return true; case 2: v = UnownedStringSlice{"Workgroup"}; return true; case 3: v = UnownedStringSlice{"Subgroup"}; return true; case 4: v = UnownedStringSlice{"Invocation"}; return true; case 5: v = UnownedStringSlice{"QueueFamily"}; return true; case 6: v = UnownedStringSlice{"ShaderCallKHR"}; return true; default: return false; } case 35: switch(k2) { case 0: v = UnownedStringSlice{"Reduce"}; return true; case 1: v = UnownedStringSlice{"InclusiveScan"}; return true; case 2: v = UnownedStringSlice{"ExclusiveScan"}; return true; case 3: v = UnownedStringSlice{"ClusteredReduce"}; return true; case 6: v = UnownedStringSlice{"PartitionedReduceNV"}; return true; case 7: v = UnownedStringSlice{"PartitionedInclusiveScanNV"}; return true; case 8: v = UnownedStringSlice{"PartitionedExclusiveScanNV"}; return true; default: return false; } case 36: switch(k2) { case 0: v = UnownedStringSlice{"NoWait"}; return true; case 1: v = UnownedStringSlice{"WaitKernel"}; return true; case 2: v = UnownedStringSlice{"WaitWorkGroup"}; return true; default: return false; } case 37: switch(k2) { case 0: v = UnownedStringSlice{"Matrix"}; return true; case 1: v = UnownedStringSlice{"Shader"}; return true; case 2: v = UnownedStringSlice{"Geometry"}; return true; case 3: v = UnownedStringSlice{"Tessellation"}; return true; case 4: v = UnownedStringSlice{"Addresses"}; return true; case 5: v = UnownedStringSlice{"Linkage"}; return true; case 6: v = UnownedStringSlice{"Kernel"}; return true; case 7: v = UnownedStringSlice{"Vector16"}; return true; case 8: v = UnownedStringSlice{"Float16Buffer"}; return true; case 9: v = UnownedStringSlice{"Float16"}; return true; case 10: v = UnownedStringSlice{"Float64"}; return true; case 11: v = UnownedStringSlice{"Int64"}; return true; case 12: v = UnownedStringSlice{"Int64Atomics"}; return true; case 13: v = UnownedStringSlice{"ImageBasic"}; return true; case 14: v = UnownedStringSlice{"ImageReadWrite"}; return true; case 15: v = UnownedStringSlice{"ImageMipmap"}; return true; case 17: v = UnownedStringSlice{"Pipes"}; return true; case 18: v = UnownedStringSlice{"Groups"}; return true; case 19: v = UnownedStringSlice{"DeviceEnqueue"}; return true; case 20: v = UnownedStringSlice{"LiteralSampler"}; return true; case 21: v = UnownedStringSlice{"AtomicStorage"}; return true; case 22: v = UnownedStringSlice{"Int16"}; return true; case 23: v = UnownedStringSlice{"TessellationPointSize"}; return true; case 24: v = UnownedStringSlice{"GeometryPointSize"}; return true; case 25: v = UnownedStringSlice{"ImageGatherExtended"}; return true; case 27: v = UnownedStringSlice{"StorageImageMultisample"}; return true; case 28: v = UnownedStringSlice{"UniformBufferArrayDynamicIndexing"}; return true; case 29: v = UnownedStringSlice{"SampledImageArrayDynamicIndexing"}; return true; case 30: v = UnownedStringSlice{"StorageBufferArrayDynamicIndexing"}; return true; case 31: v = UnownedStringSlice{"StorageImageArrayDynamicIndexing"}; return true; case 32: v = UnownedStringSlice{"ClipDistance"}; return true; case 33: v = UnownedStringSlice{"CullDistance"}; return true; case 34: v = UnownedStringSlice{"ImageCubeArray"}; return true; case 35: v = UnownedStringSlice{"SampleRateShading"}; return true; case 36: v = UnownedStringSlice{"ImageRect"}; return true; case 37: v = UnownedStringSlice{"SampledRect"}; return true; case 38: v = UnownedStringSlice{"GenericPointer"}; return true; case 39: v = UnownedStringSlice{"Int8"}; return true; case 40: v = UnownedStringSlice{"InputAttachment"}; return true; case 41: v = UnownedStringSlice{"SparseResidency"}; return true; case 42: v = UnownedStringSlice{"MinLod"}; return true; case 43: v = UnownedStringSlice{"Sampled1D"}; return true; case 44: v = UnownedStringSlice{"Image1D"}; return true; case 45: v = UnownedStringSlice{"SampledCubeArray"}; return true; case 46: v = UnownedStringSlice{"SampledBuffer"}; return true; case 47: v = UnownedStringSlice{"ImageBuffer"}; return true; case 48: v = UnownedStringSlice{"ImageMSArray"}; return true; case 49: v = UnownedStringSlice{"StorageImageExtendedFormats"}; return true; case 50: v = UnownedStringSlice{"ImageQuery"}; return true; case 51: v = UnownedStringSlice{"DerivativeControl"}; return true; case 52: v = UnownedStringSlice{"InterpolationFunction"}; return true; case 53: v = UnownedStringSlice{"TransformFeedback"}; return true; case 54: v = UnownedStringSlice{"GeometryStreams"}; return true; case 55: v = UnownedStringSlice{"StorageImageReadWithoutFormat"}; return true; case 56: v = UnownedStringSlice{"StorageImageWriteWithoutFormat"}; return true; case 57: v = UnownedStringSlice{"MultiViewport"}; return true; case 58: v = UnownedStringSlice{"SubgroupDispatch"}; return true; case 59: v = UnownedStringSlice{"NamedBarrier"}; return true; case 60: v = UnownedStringSlice{"PipeStorage"}; return true; case 61: v = UnownedStringSlice{"GroupNonUniform"}; return true; case 62: v = UnownedStringSlice{"GroupNonUniformVote"}; return true; case 63: v = UnownedStringSlice{"GroupNonUniformArithmetic"}; return true; case 64: v = UnownedStringSlice{"GroupNonUniformBallot"}; return true; case 65: v = UnownedStringSlice{"GroupNonUniformShuffle"}; return true; case 66: v = UnownedStringSlice{"GroupNonUniformShuffleRelative"}; return true; case 67: v = UnownedStringSlice{"GroupNonUniformClustered"}; return true; case 68: v = UnownedStringSlice{"GroupNonUniformQuad"}; return true; case 69: v = UnownedStringSlice{"ShaderLayer"}; return true; case 70: v = UnownedStringSlice{"ShaderViewportIndex"}; return true; case 71: v = UnownedStringSlice{"UniformDecoration"}; return true; case 4165: v = UnownedStringSlice{"CoreBuiltinsARM"}; return true; case 4166: v = UnownedStringSlice{"TileImageColorReadAccessEXT"}; return true; case 4167: v = UnownedStringSlice{"TileImageDepthReadAccessEXT"}; return true; case 4168: v = UnownedStringSlice{"TileImageStencilReadAccessEXT"}; return true; case 4422: v = UnownedStringSlice{"FragmentShadingRateKHR"}; return true; case 4423: v = UnownedStringSlice{"SubgroupBallotKHR"}; return true; case 4427: v = UnownedStringSlice{"DrawParameters"}; return true; case 4428: v = UnownedStringSlice{"WorkgroupMemoryExplicitLayoutKHR"}; return true; case 4429: v = UnownedStringSlice{"WorkgroupMemoryExplicitLayout8BitAccessKHR"}; return true; case 4430: v = UnownedStringSlice{"WorkgroupMemoryExplicitLayout16BitAccessKHR"}; return true; case 4431: v = UnownedStringSlice{"SubgroupVoteKHR"}; return true; case 4433: v = UnownedStringSlice{"StorageBuffer16BitAccess"}; return true; case 4434: v = UnownedStringSlice{"UniformAndStorageBuffer16BitAccess"}; return true; case 4435: v = UnownedStringSlice{"StoragePushConstant16"}; return true; case 4436: v = UnownedStringSlice{"StorageInputOutput16"}; return true; case 4437: v = UnownedStringSlice{"DeviceGroup"}; return true; case 4439: v = UnownedStringSlice{"MultiView"}; return true; case 4441: v = UnownedStringSlice{"VariablePointersStorageBuffer"}; return true; case 4442: v = UnownedStringSlice{"VariablePointers"}; return true; case 4445: v = UnownedStringSlice{"AtomicStorageOps"}; return true; case 4447: v = UnownedStringSlice{"SampleMaskPostDepthCoverage"}; return true; case 4448: v = UnownedStringSlice{"StorageBuffer8BitAccess"}; return true; case 4449: v = UnownedStringSlice{"UniformAndStorageBuffer8BitAccess"}; return true; case 4450: v = UnownedStringSlice{"StoragePushConstant8"}; return true; case 4464: v = UnownedStringSlice{"DenormPreserve"}; return true; case 4465: v = UnownedStringSlice{"DenormFlushToZero"}; return true; case 4466: v = UnownedStringSlice{"SignedZeroInfNanPreserve"}; return true; case 4467: v = UnownedStringSlice{"RoundingModeRTE"}; return true; case 4468: v = UnownedStringSlice{"RoundingModeRTZ"}; return true; case 4471: v = UnownedStringSlice{"RayQueryProvisionalKHR"}; return true; case 4472: v = UnownedStringSlice{"RayQueryKHR"}; return true; case 4478: v = UnownedStringSlice{"RayTraversalPrimitiveCullingKHR"}; return true; case 4479: v = UnownedStringSlice{"RayTracingKHR"}; return true; case 4484: v = UnownedStringSlice{"TextureSampleWeightedQCOM"}; return true; case 4485: v = UnownedStringSlice{"TextureBoxFilterQCOM"}; return true; case 4486: v = UnownedStringSlice{"TextureBlockMatchQCOM"}; return true; case 4498: v = UnownedStringSlice{"TextureBlockMatch2QCOM"}; return true; case 5008: v = UnownedStringSlice{"Float16ImageAMD"}; return true; case 5009: v = UnownedStringSlice{"ImageGatherBiasLodAMD"}; return true; case 5010: v = UnownedStringSlice{"FragmentMaskAMD"}; return true; case 5013: v = UnownedStringSlice{"StencilExportEXT"}; return true; case 5015: v = UnownedStringSlice{"ImageReadWriteLodAMD"}; return true; case 5016: v = UnownedStringSlice{"Int64ImageEXT"}; return true; case 5055: v = UnownedStringSlice{"ShaderClockKHR"}; return true; case 5067: v = UnownedStringSlice{"ShaderEnqueueAMDX"}; return true; case 5087: v = UnownedStringSlice{"QuadControlKHR"}; return true; case 5249: v = UnownedStringSlice{"SampleMaskOverrideCoverageNV"}; return true; case 5251: v = UnownedStringSlice{"GeometryShaderPassthroughNV"}; return true; case 5254: v = UnownedStringSlice{"ShaderViewportIndexLayerEXT"}; return true; case 5255: v = UnownedStringSlice{"ShaderViewportMaskNV"}; return true; case 5259: v = UnownedStringSlice{"ShaderStereoViewNV"}; return true; case 5260: v = UnownedStringSlice{"PerViewAttributesNV"}; return true; case 5265: v = UnownedStringSlice{"FragmentFullyCoveredEXT"}; return true; case 5266: v = UnownedStringSlice{"MeshShadingNV"}; return true; case 5282: v = UnownedStringSlice{"ImageFootprintNV"}; return true; case 5283: v = UnownedStringSlice{"MeshShadingEXT"}; return true; case 5284: v = UnownedStringSlice{"FragmentBarycentricKHR"}; return true; case 5288: v = UnownedStringSlice{"ComputeDerivativeGroupQuadsNV"}; return true; case 5291: v = UnownedStringSlice{"FragmentDensityEXT"}; return true; case 5297: v = UnownedStringSlice{"GroupNonUniformPartitionedNV"}; return true; case 5301: v = UnownedStringSlice{"ShaderNonUniform"}; return true; case 5302: v = UnownedStringSlice{"RuntimeDescriptorArray"}; return true; case 5303: v = UnownedStringSlice{"InputAttachmentArrayDynamicIndexing"}; return true; case 5304: v = UnownedStringSlice{"UniformTexelBufferArrayDynamicIndexing"}; return true; case 5305: v = UnownedStringSlice{"StorageTexelBufferArrayDynamicIndexing"}; return true; case 5306: v = UnownedStringSlice{"UniformBufferArrayNonUniformIndexing"}; return true; case 5307: v = UnownedStringSlice{"SampledImageArrayNonUniformIndexing"}; return true; case 5308: v = UnownedStringSlice{"StorageBufferArrayNonUniformIndexing"}; return true; case 5309: v = UnownedStringSlice{"StorageImageArrayNonUniformIndexing"}; return true; case 5310: v = UnownedStringSlice{"InputAttachmentArrayNonUniformIndexing"}; return true; case 5311: v = UnownedStringSlice{"UniformTexelBufferArrayNonUniformIndexing"}; return true; case 5312: v = UnownedStringSlice{"StorageTexelBufferArrayNonUniformIndexing"}; return true; case 5336: v = UnownedStringSlice{"RayTracingPositionFetchKHR"}; return true; case 5340: v = UnownedStringSlice{"RayTracingNV"}; return true; case 5341: v = UnownedStringSlice{"RayTracingMotionBlurNV"}; return true; case 5345: v = UnownedStringSlice{"VulkanMemoryModel"}; return true; case 5346: v = UnownedStringSlice{"VulkanMemoryModelDeviceScope"}; return true; case 5347: v = UnownedStringSlice{"PhysicalStorageBufferAddresses"}; return true; case 5350: v = UnownedStringSlice{"ComputeDerivativeGroupLinearNV"}; return true; case 5353: v = UnownedStringSlice{"RayTracingProvisionalKHR"}; return true; case 5357: v = UnownedStringSlice{"CooperativeMatrixNV"}; return true; case 5363: v = UnownedStringSlice{"FragmentShaderSampleInterlockEXT"}; return true; case 5372: v = UnownedStringSlice{"FragmentShaderShadingRateInterlockEXT"}; return true; case 5373: v = UnownedStringSlice{"ShaderSMBuiltinsNV"}; return true; case 5378: v = UnownedStringSlice{"FragmentShaderPixelInterlockEXT"}; return true; case 5379: v = UnownedStringSlice{"DemoteToHelperInvocation"}; return true; case 5380: v = UnownedStringSlice{"DisplacementMicromapNV"}; return true; case 5381: v = UnownedStringSlice{"RayTracingOpacityMicromapEXT"}; return true; case 5383: v = UnownedStringSlice{"ShaderInvocationReorderNV"}; return true; case 5390: v = UnownedStringSlice{"BindlessTextureNV"}; return true; case 5391: v = UnownedStringSlice{"RayQueryPositionFetchKHR"}; return true; case 5404: v = UnownedStringSlice{"AtomicFloat16VectorNV"}; return true; case 5409: v = UnownedStringSlice{"RayTracingDisplacementMicromapNV"}; return true; case 5414: v = UnownedStringSlice{"RawAccessChainsNV"}; return true; case 5568: v = UnownedStringSlice{"SubgroupShuffleINTEL"}; return true; case 5569: v = UnownedStringSlice{"SubgroupBufferBlockIOINTEL"}; return true; case 5570: v = UnownedStringSlice{"SubgroupImageBlockIOINTEL"}; return true; case 5579: v = UnownedStringSlice{"SubgroupImageMediaBlockIOINTEL"}; return true; case 5582: v = UnownedStringSlice{"RoundToInfinityINTEL"}; return true; case 5583: v = UnownedStringSlice{"FloatingPointModeINTEL"}; return true; case 5584: v = UnownedStringSlice{"IntegerFunctions2INTEL"}; return true; case 5603: v = UnownedStringSlice{"FunctionPointersINTEL"}; return true; case 5604: v = UnownedStringSlice{"IndirectReferencesINTEL"}; return true; case 5606: v = UnownedStringSlice{"AsmINTEL"}; return true; case 5612: v = UnownedStringSlice{"AtomicFloat32MinMaxEXT"}; return true; case 5613: v = UnownedStringSlice{"AtomicFloat64MinMaxEXT"}; return true; case 5616: v = UnownedStringSlice{"AtomicFloat16MinMaxEXT"}; return true; case 5617: v = UnownedStringSlice{"VectorComputeINTEL"}; return true; case 5619: v = UnownedStringSlice{"VectorAnyINTEL"}; return true; case 5629: v = UnownedStringSlice{"ExpectAssumeKHR"}; return true; case 5696: v = UnownedStringSlice{"SubgroupAvcMotionEstimationINTEL"}; return true; case 5697: v = UnownedStringSlice{"SubgroupAvcMotionEstimationIntraINTEL"}; return true; case 5698: v = UnownedStringSlice{"SubgroupAvcMotionEstimationChromaINTEL"}; return true; case 5817: v = UnownedStringSlice{"VariableLengthArrayINTEL"}; return true; case 5821: v = UnownedStringSlice{"FunctionFloatControlINTEL"}; return true; case 5824: v = UnownedStringSlice{"FPGAMemoryAttributesINTEL"}; return true; case 5837: v = UnownedStringSlice{"FPFastMathModeINTEL"}; return true; case 5844: v = UnownedStringSlice{"ArbitraryPrecisionIntegersINTEL"}; return true; case 5845: v = UnownedStringSlice{"ArbitraryPrecisionFloatingPointINTEL"}; return true; case 5886: v = UnownedStringSlice{"UnstructuredLoopControlsINTEL"}; return true; case 5888: v = UnownedStringSlice{"FPGALoopControlsINTEL"}; return true; case 5892: v = UnownedStringSlice{"KernelAttributesINTEL"}; return true; case 5897: v = UnownedStringSlice{"FPGAKernelAttributesINTEL"}; return true; case 5898: v = UnownedStringSlice{"FPGAMemoryAccessesINTEL"}; return true; case 5904: v = UnownedStringSlice{"FPGAClusterAttributesINTEL"}; return true; case 5906: v = UnownedStringSlice{"LoopFuseINTEL"}; return true; case 5908: v = UnownedStringSlice{"FPGADSPControlINTEL"}; return true; case 5910: v = UnownedStringSlice{"MemoryAccessAliasingINTEL"}; return true; case 5916: v = UnownedStringSlice{"FPGAInvocationPipeliningAttributesINTEL"}; return true; case 5920: v = UnownedStringSlice{"FPGABufferLocationINTEL"}; return true; case 5922: v = UnownedStringSlice{"ArbitraryPrecisionFixedPointINTEL"}; return true; case 5935: v = UnownedStringSlice{"USMStorageClassesINTEL"}; return true; case 5939: v = UnownedStringSlice{"RuntimeAlignedAttributeINTEL"}; return true; case 5943: v = UnownedStringSlice{"IOPipesINTEL"}; return true; case 5945: v = UnownedStringSlice{"BlockingPipesINTEL"}; return true; case 5948: v = UnownedStringSlice{"FPGARegINTEL"}; return true; case 6016: v = UnownedStringSlice{"DotProductInputAll"}; return true; case 6017: v = UnownedStringSlice{"DotProductInput4x8Bit"}; return true; case 6018: v = UnownedStringSlice{"DotProductInput4x8BitPacked"}; return true; case 6019: v = UnownedStringSlice{"DotProduct"}; return true; case 6020: v = UnownedStringSlice{"RayCullMaskKHR"}; return true; case 6022: v = UnownedStringSlice{"CooperativeMatrixKHR"}; return true; case 6025: v = UnownedStringSlice{"BitInstructions"}; return true; case 6026: v = UnownedStringSlice{"GroupNonUniformRotateKHR"}; return true; case 6029: v = UnownedStringSlice{"FloatControls2"}; return true; case 6033: v = UnownedStringSlice{"AtomicFloat32AddEXT"}; return true; case 6034: v = UnownedStringSlice{"AtomicFloat64AddEXT"}; return true; case 6089: v = UnownedStringSlice{"LongCompositesINTEL"}; return true; case 6094: v = UnownedStringSlice{"OptNoneINTEL"}; return true; case 6095: v = UnownedStringSlice{"AtomicFloat16AddEXT"}; return true; case 6114: v = UnownedStringSlice{"DebugInfoModuleINTEL"}; return true; case 6115: v = UnownedStringSlice{"BFloat16ConversionINTEL"}; return true; case 6141: v = UnownedStringSlice{"SplitBarrierINTEL"}; return true; case 6150: v = UnownedStringSlice{"FPGAClusterAttributesV2INTEL"}; return true; case 6161: v = UnownedStringSlice{"FPGAKernelAttributesv2INTEL"}; return true; case 6169: v = UnownedStringSlice{"FPMaxErrorINTEL"}; return true; case 6171: v = UnownedStringSlice{"FPGALatencyControlINTEL"}; return true; case 6174: v = UnownedStringSlice{"FPGAArgumentInterfacesINTEL"}; return true; case 6187: v = UnownedStringSlice{"GlobalVariableHostAccessINTEL"}; return true; case 6189: v = UnownedStringSlice{"GlobalVariableFPGADecorationsINTEL"}; return true; case 6400: v = UnownedStringSlice{"GroupUniformArithmeticKHR"}; return true; case 6427: v = UnownedStringSlice{"MaskedGatherScatterINTEL"}; return true; case 6441: v = UnownedStringSlice{"CacheControlsINTEL"}; return true; case 6460: v = UnownedStringSlice{"RegisterLimitsINTEL"}; return true; default: return false; } case 38: switch(k2) { case 0: v = UnownedStringSlice{"RayQueryCandidateIntersectionKHR"}; return true; case 1: v = UnownedStringSlice{"RayQueryCommittedIntersectionKHR"}; return true; default: return false; } case 39: switch(k2) { case 0: v = UnownedStringSlice{"RayQueryCommittedIntersectionNoneKHR"}; return true; case 1: v = UnownedStringSlice{"RayQueryCommittedIntersectionTriangleKHR"}; return true; case 2: v = UnownedStringSlice{"RayQueryCommittedIntersectionGeneratedKHR"}; return true; default: return false; } case 40: switch(k2) { case 0: v = UnownedStringSlice{"RayQueryCandidateIntersectionTriangleKHR"}; return true; case 1: v = UnownedStringSlice{"RayQueryCandidateIntersectionAABBKHR"}; return true; default: return false; } case 41: switch(k2) { case 0: v = UnownedStringSlice{"PackedVectorFormat4x8Bit"}; return true; default: return false; } case 42: switch(k2) { case 0: v = UnownedStringSlice{"NoneKHR"}; return true; case 1: v = UnownedStringSlice{"MatrixASignedComponentsKHR"}; return true; case 2: v = UnownedStringSlice{"MatrixBSignedComponentsKHR"}; return true; case 4: v = UnownedStringSlice{"MatrixCSignedComponentsKHR"}; return true; case 8: v = UnownedStringSlice{"MatrixResultSignedComponentsKHR"}; return true; case 16: v = UnownedStringSlice{"SaturatingAccumulationKHR"}; return true; default: return false; } case 43: switch(k2) { case 0: v = UnownedStringSlice{"RowMajorKHR"}; return true; case 1: v = UnownedStringSlice{"ColumnMajorKHR"}; return true; default: return false; } case 44: switch(k2) { case 0: v = UnownedStringSlice{"MatrixAKHR"}; return true; case 1: v = UnownedStringSlice{"MatrixBKHR"}; return true; case 2: v = UnownedStringSlice{"MatrixAccumulatorKHR"}; return true; default: return false; } case 45: switch(k2) { case 0: v = UnownedStringSlice{"InitOnDeviceReprogramINTEL"}; return true; case 1: v = UnownedStringSlice{"InitOnDeviceResetINTEL"}; return true; default: return false; } case 46: switch(k2) { case 0: v = UnownedStringSlice{"UncachedINTEL"}; return true; case 1: v = UnownedStringSlice{"CachedINTEL"}; return true; case 2: v = UnownedStringSlice{"StreamingINTEL"}; return true; case 3: v = UnownedStringSlice{"InvalidateAfterReadINTEL"}; return true; case 4: v = UnownedStringSlice{"ConstCachedINTEL"}; return true; default: return false; } case 47: switch(k2) { case 0: v = UnownedStringSlice{"UncachedINTEL"}; return true; case 1: v = UnownedStringSlice{"WriteThroughINTEL"}; return true; case 2: v = UnownedStringSlice{"WriteBackINTEL"}; return true; case 3: v = UnownedStringSlice{"StreamingINTEL"}; return true; default: return false; } case 48: switch(k2) { case 0: v = UnownedStringSlice{"AutoINTEL"}; return true; default: return false; } default: return false; } } static bool getOperandKindName(const OperandKind& k, UnownedStringSlice& v) { switch(k.index) { case 0: { v = UnownedStringSlice{"ImageOperands"}; return true; } case 1: { v = UnownedStringSlice{"FPFastMathMode"}; return true; } case 2: { v = UnownedStringSlice{"SelectionControl"}; return true; } case 3: { v = UnownedStringSlice{"LoopControl"}; return true; } case 4: { v = UnownedStringSlice{"FunctionControl"}; return true; } case 5: { v = UnownedStringSlice{"MemorySemantics"}; return true; } case 6: { v = UnownedStringSlice{"MemoryAccess"}; return true; } case 7: { v = UnownedStringSlice{"KernelProfilingInfo"}; return true; } case 8: { v = UnownedStringSlice{"RayFlags"}; return true; } case 9: { v = UnownedStringSlice{"FragmentShadingRate"}; return true; } case 10: { v = UnownedStringSlice{"RawAccessChainOperands"}; return true; } case 11: { v = UnownedStringSlice{"SourceLanguage"}; return true; } case 12: { v = UnownedStringSlice{"ExecutionModel"}; return true; } case 13: { v = UnownedStringSlice{"AddressingModel"}; return true; } case 14: { v = UnownedStringSlice{"MemoryModel"}; return true; } case 15: { v = UnownedStringSlice{"ExecutionMode"}; return true; } case 16: { v = UnownedStringSlice{"StorageClass"}; return true; } case 17: { v = UnownedStringSlice{"Dim"}; return true; } case 18: { v = UnownedStringSlice{"SamplerAddressingMode"}; return true; } case 19: { v = UnownedStringSlice{"SamplerFilterMode"}; return true; } case 20: { v = UnownedStringSlice{"ImageFormat"}; return true; } case 21: { v = UnownedStringSlice{"ImageChannelOrder"}; return true; } case 22: { v = UnownedStringSlice{"ImageChannelDataType"}; return true; } case 23: { v = UnownedStringSlice{"FPRoundingMode"}; return true; } case 24: { v = UnownedStringSlice{"FPDenormMode"}; return true; } case 25: { v = UnownedStringSlice{"QuantizationModes"}; return true; } case 26: { v = UnownedStringSlice{"FPOperationMode"}; return true; } case 27: { v = UnownedStringSlice{"OverflowModes"}; return true; } case 28: { v = UnownedStringSlice{"LinkageType"}; return true; } case 29: { v = UnownedStringSlice{"AccessQualifier"}; return true; } case 30: { v = UnownedStringSlice{"HostAccessQualifier"}; return true; } case 31: { v = UnownedStringSlice{"FunctionParameterAttribute"}; return true; } case 32: { v = UnownedStringSlice{"Decoration"}; return true; } case 33: { v = UnownedStringSlice{"BuiltIn"}; return true; } case 34: { v = UnownedStringSlice{"Scope"}; return true; } case 35: { v = UnownedStringSlice{"GroupOperation"}; return true; } case 36: { v = UnownedStringSlice{"KernelEnqueueFlags"}; return true; } case 37: { v = UnownedStringSlice{"Capability"}; return true; } case 38: { v = UnownedStringSlice{"RayQueryIntersection"}; return true; } case 39: { v = UnownedStringSlice{"RayQueryCommittedIntersectionType"}; return true; } case 40: { v = UnownedStringSlice{"RayQueryCandidateIntersectionType"}; return true; } case 41: { v = UnownedStringSlice{"PackedVectorFormat"}; return true; } case 42: { v = UnownedStringSlice{"CooperativeMatrixOperands"}; return true; } case 43: { v = UnownedStringSlice{"CooperativeMatrixLayout"}; return true; } case 44: { v = UnownedStringSlice{"CooperativeMatrixUse"}; return true; } case 45: { v = UnownedStringSlice{"InitializationModeQualifier"}; return true; } case 46: { v = UnownedStringSlice{"LoadCacheControl"}; return true; } case 47: { v = UnownedStringSlice{"StoreCacheControl"}; return true; } case 48: { v = UnownedStringSlice{"NamedMaximumNumberOfRegisters"}; return true; } case 49: { v = UnownedStringSlice{"IdResultType"}; return true; } case 50: { v = UnownedStringSlice{"IdResult"}; return true; } case 51: { v = UnownedStringSlice{"IdMemorySemantics"}; return true; } case 52: { v = UnownedStringSlice{"IdScope"}; return true; } case 53: { v = UnownedStringSlice{"IdRef"}; return true; } case 54: { v = UnownedStringSlice{"LiteralInteger"}; return true; } case 55: { v = UnownedStringSlice{"LiteralString"}; return true; } case 56: { v = UnownedStringSlice{"LiteralFloat"}; return true; } case 57: { v = UnownedStringSlice{"LiteralContextDependentNumber"}; return true; } case 58: { v = UnownedStringSlice{"LiteralExtInstInteger"}; return true; } case 59: { v = UnownedStringSlice{"LiteralSpecConstantOpInteger"}; return true; } case 60: { v = UnownedStringSlice{"PairLiteralIntegerIdRef"}; return true; } case 61: { v = UnownedStringSlice{"PairIdRefLiteralInteger"}; return true; } case 62: { v = UnownedStringSlice{"PairIdRefIdRef"}; return true; } default: return false; } } static bool getOperandKindUnderneathId(const OperandKind& k, OperandKind& v) { switch(k.index) { case 51: { v = OperandKind{5}; return true; } case 52: { v = OperandKind{34}; return true; } default: return false; } } RefPtr SPIRVCoreGrammarInfo::getEmbeddedVersion() { static RefPtr embedded = [](){ RefPtr info = new SPIRVCoreGrammarInfo(); info->opcodes.embedded = &lookupSpvOp; info->capabilities.embedded = &lookupSpvCapability; info->allEnumsWithTypePrefix.embedded = &lookupEnumWithTypePrefix; info->opInfos.embedded = &getOpInfo; info->opNames.embedded = &getOpName; info->operandKinds.embedded = &lookupOperandKind; info->allEnums.embedded = &lookupQualifiedEnum; info->allEnumNames.embedded = &getQualifiedEnumName; info->operandKindNames.embedded = &getOperandKindName; info->operandKindUnderneathIds.embedded = &getOperandKindUnderneathId; return info; }(); return embedded; } }