// 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[723] = { 0, 3, 4, 1, 2, 4, 1, 0, 1, 2, 0, 0, 3, 2, 3, 1, 0, 2, 0, 1, 2, 0, 1, 0, 0, 1, 1, 7, 0, 0, 0, 1, 0, 3, 0, 0, 0, 3, 4, 1, 1, 1, 0, 7, 0, 1, 4, 1, 2, 1, 2, 0, 2, 2, 0, 1, 0, 0, 2, 1, 5, 1, 1, 3, 1, 4, 3, 0, 1, 3, 1, 2, 0, 0, 2, 0, 3, 3, 5, 0, 6, 0, 3, 0, 0, 4, 0, 1, 8, 0, 2, 0, 1, 0, 3, 2, 0, 6, 4, 0, 0, 1, 1, 2, 6, 3, 7, 0, 6, 0, 3, 1, 0, 0, 4, 2, 0, 0, 2, 6, 2, 4, 0, 0, 2, 0, 2, 2, 0, 1, 10, 0, 1, 3, 4, 6, 0, 9, 3, 1, 2, 0, 1, 0, 0, 1, 0, 2, 0, 0, 1, 2, 4, 1, 6, 2, 1, 2, 0, 0, 5, 0, 0, 12, 1, 15, 2, 2, 14, 1, 0, 4, 5, 2, 1, 1, 1, 5, 2, 2, 2, 2, 0, 1, 2, 1, 6, 2, 1, 2, 2, 0, 1, 2, 0, 4, 1, 11, 0, 3, 0, 0, 4, 4, 1, 1, 0, 12, 4, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 1, 5, 1, 5, 3, 2, 0, 1, 4, 0, 0, 2, 0, 1, 1, 2, 0, 1, 0, 15, 15, 0, 0, 1, 0, 2, 0, 1, 1, 4, 1, 1, 0, 2, 8, 1, 5, 0, 1, 6, 2, 0, 0, 0, 0, 1, 1, 0, 3, 0, 0, 4, 1, 0, 8, 1, 2, 0, 9, 2, 2, 0, 0, 2, 0, 0, 14, 2, 0, 0, 1, 0, 5, 6, 5, 3, 1, 2, 3, 10, 8, 0, 5, 0, 0, 9, 11, 0, 1, 2, 0, 1, 3, 5, 1, 0, 1, 1, 0, 1, 3, 2, 7, 0, 0, 1, 2, 2, 0, 1, 1, 0, 0, 3, 1, 0, 0, 0, 2, 2, 10, 0, 0, 6, 0, 1, 3, 17, 4, 10, 1, 7, 3, 4, 6, 2, 8, 0, 1, 2, 1, 2, 3, 0, 0, 0, 8, 5, 0, 0, 0, 1, 0, 0, 15, 1, 0, 23, 0, 0, 0, 4, 2, 1, 1, 4, 2, 3, 3, 0, 1, 0, 0, 0, 8, 1, 1, 8, 11, 0, 0, 8, 10, 0, 0, 2, 1, 0, 0, 3, 3, 0, 1, 1, 1, 0, 4, 0, 7, 0, 0, 0, 0, 4, 0, 16, 0, 0, 7, 1, 2, 2, 0, 8, 0, 4, 2, 2, 3, 6, 10, 0, 0, 0, 0, 2, 3, 6, 7, 5, 2, 2, 2, 1, 0, 0, 4, 0, 1, 3, 20, 10, 0, 0, 18, 0, 1, 1, 1, 2, 0, 7, 0, 0, 0, 0, 0, 2, 14, 11, 0, 3, 1, 4, 0, 0, 4, 8, 11, 2, 0, 2, 1, 1, 1, 20, 4, 2, 11, 2, 3, 1, 27, 0, 6, 0, 0, 2, 0, 4, 0, 0, 0, 3, 2, 2, 5, 8, 0, 13, 0, 4, 5, 15, 4, 1, 3, 0, 0, 0, 16, 3, 1, 39, 9, 8, 2, 0, 5, 0, 2, 0, 3, 0, 0, 2, 16, 5, 4, 3, 2, 0, 11, 6, 3, 0, 2, 14, 0, 1, 0, 0, 9, 2, 7, 0, 1, 0, 3, 1, 2, 1, 14, 1, 2, 1, 0, 11, 9, 0, 8, 6, 1, 0, 5, 2, 12, 4, 12, 7, 3, 11, 11, 1, 0, 0, 0, 5, 29, 1, 0, 0, 0, 1, 0, 8, 0, 73, 9, 0, 32, 4, 0, 2, 4, 1, 1, 25, 0, 1, 0, 1, 0, 9, 15, 0, 42, 14, 100, 0, 0, 0, 9, 4, 2, 4, 0, 70, 2, 0, 0, 1, 11, 2, 3, 0, 2, 57, 0, 0, 0, 0, 8, 5, 1, 18, 1, 0, 15, 4, 13, 0, 0, 47, 0, 12, 21, 32, 64, 19, 0, 40, 16, 3, 0, 0, 28, 0, 8, 16, 4, 35, 23, 147, 3, 0, 1, 22, 0, 3, 67, 1, 0, 0, 0, 3, 2, 0, 19, 108, 4, 0, 0, 130, 1, 1, 287, 26, 95, 0, 0, 11, 0, 162, 10, 25, 8, 0, 0, 52, 102, 1228, 0 }; using KV = std::pair; static const KV words[723] = { {"OpSubgroupAvcImeEvaluateWithDualReferenceINTEL", static_cast(5758)}, {"OpTypeSampledImage", static_cast(27)}, {"OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL", static_cast(5720)}, {"OpSConvert", static_cast(114)}, {"OpArbitraryFloatATanPiINTEL", static_cast(5878)}, {"OpGroupIAddNonUniformAMD", static_cast(5000)}, {"OpHitObjectGetWorldRayOriginNV", static_cast(5273)}, {"OpDecorateId", static_cast(332)}, {"OpGroupNonUniformAll", static_cast(334)}, {"OpColorAttachmentReadEXT", static_cast(4160)}, {"OpGroupNonUniformBitwiseXor", static_cast(361)}, {"OpRayQueryConfirmIntersectionKHR", static_cast(4476)}, {"OpRayQueryGetWorldRayDirectionKHR", static_cast(6029)}, {"OpSubgroupAvcImeInitializeINTEL", static_cast(5747)}, {"OpFPGARegINTEL", static_cast(5949)}, {"OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL", static_cast(5771)}, {"OpVectorExtractDynamic", static_cast(77)}, {"OpTypeBufferSurfaceINTEL", static_cast(6086)}, {"OpAbsUSubINTEL", static_cast(5588)}, {"OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL", static_cast(5727)}, {"OpRayQueryGetIntersectionFrontFaceKHR", static_cast(6025)}, {"OpRayQueryGetIntersectionTKHR", static_cast(6018)}, {"OpArbitraryFloatLogINTEL", static_cast(5860)}, {"OpSpecConstantFalse", static_cast(49)}, {"OpArbitraryFloatSubINTEL", static_cast(5847)}, {"OpBuildNDRange", static_cast(304)}, {"OpFinishWritingNodePayloadAMDX", static_cast(5078)}, {"OpSubgroupAvcImeConvertToMceResultINTEL", static_cast(5765)}, {"OpHitObjectRecordHitWithIndexMotionNV", static_cast(5250)}, {"OpHitObjectGetInstanceCustomIndexNV", static_cast(5271)}, {"OpArbitraryFloatATanINTEL", static_cast(5877)}, {"OpFSub", static_cast(131)}, {"OpGroupNonUniformAny", static_cast(335)}, {"OpGetKernelNDrangeMaxSubGroupSize", static_cast(294)}, {"OpConvertSampledImageToUNV", static_cast(5396)}, {"OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL", static_cast(5764)}, {"OpGroupNonUniformFAdd", static_cast(350)}, {"OpFwidthCoarse", static_cast(215)}, {"OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL", static_cast(5789)}, {"OpBitwiseOr", static_cast(197)}, {"OpCooperativeMatrixMulAddNV", static_cast(5361)}, {"OpConvertPtrToU", static_cast(117)}, {"OpImageQueryLevels", static_cast(106)}, {"OpExpectKHR", static_cast(5631)}, {"OpTypeAvcSicPayloadINTEL", static_cast(5703)}, {"OpSUDotAccSatKHR", static_cast(4455)}, {"OpGroupNonUniformFMul", static_cast(352)}, {"OpFixedSinCosPiINTEL", static_cast(5931)}, {"OpCopyMemory", static_cast(63)}, {"OpFunctionPointerCallINTEL", static_cast(5601)}, {"OpAtomicIDecrement", static_cast(233)}, {"OpSource", static_cast(3)}, {"OpFOrdGreaterThan", static_cast(186)}, {"OpGroupNonUniformRotateKHR", static_cast(4431)}, {"OpSubgroupAvcMceGetInterDirectionsINTEL", static_cast(5743)}, {"OpArbitraryFloatExp2INTEL", static_cast(5865)}, {"OpConvertUToSamplerNV", static_cast(5392)}, {"OpFinalizeNodePayloadsAMDX", static_cast(5075)}, {"OpSubgroupReadInvocationKHR", static_cast(4432)}, {"OpULessThan", static_cast(176)}, {"OpAtomicFlagClear", static_cast(319)}, {"OpTypeSampler", static_cast(26)}, {"OpUGreaterThan", static_cast(172)}, {"OpImageQuerySamples", static_cast(107)}, {"OpSubgroupImageBlockReadINTEL", static_cast(5577)}, {"OpAliasDomainDeclINTEL", static_cast(5911)}, {"OpFunctionParameter", static_cast(55)}, {"OpRayQueryGetRayFlagsKHR", static_cast(6017)}, {"OpArbitraryFloatAddINTEL", static_cast(5846)}, {"OpGroupFAddNonUniformAMD", static_cast(5001)}, {"OpSubgroupAvcImeSetWeightedSadINTEL", static_cast(5756)}, {"OpTypeStructContinuedINTEL", static_cast(6090)}, {"OpSubgroupFirstInvocationKHR", static_cast(4422)}, {"OpTypeMatrix", static_cast(24)}, {"OpReportIntersectionNV", static_cast(5334)}, {"OpSubgroupShuffleINTEL", static_cast(5571)}, {"OpReorderThreadWithHitObjectNV", static_cast(5279)}, {"OpGroupNonUniformBallotFindLSB", static_cast(343)}, {"OpOrdered", static_cast(162)}, {"OpArbitraryFloatLTINTEL", static_cast(5852)}, {"OpGroupNonUniformBallot", static_cast(339)}, {"OpEmitMeshTasksEXT", static_cast(5294)}, {"OpIAddSatINTEL", static_cast(5589)}, {"OpGroupNonUniformLogicalOr", static_cast(363)}, {"OpHitObjectExecuteShaderNV", static_cast(5264)}, {"OpExecutionModeId", static_cast(331)}, {"OpShiftRightLogical", static_cast(194)}, {"OpUDotAccSatKHR", static_cast(4454)}, {"OpImageQueryOrder", static_cast(102)}, {"OpUDiv", static_cast(134)}, {"OpUAverageINTEL", static_cast(5592)}, {"OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL", static_cast(5717)}, {"OpSUDotAccSat", static_cast(4455)}, {"OpFOrdGreaterThanEqual", static_cast(190)}, {"OpAtomicFAddEXT", static_cast(6035)}, {"OpImageSampleImplicitLod", static_cast(87)}, {"OpRayQueryGetIntersectionTriangleVertexPositionsKHR", static_cast(5340)}, {"OpConvertFToU", static_cast(109)}, {"OpGroupFMulKHR", static_cast(6402)}, {"OpReservedReadPipe", static_cast(276)}, {"OpGroupNonUniformQuadSwap", static_cast(366)}, {"OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL", static_cast(5777)}, {"OpImageSparseFetch", static_cast(313)}, {"OpNoLine", static_cast(317)}, {"OpGroupFMin", static_cast(266)}, {"OpLifetimeStart", static_cast(256)}, {"OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL", static_cast(5762)}, {"OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL", static_cast(5768)}, {"OpSpecConstantTrue", static_cast(48)}, {"OpSubgroupAvcSicConfigureSkcINTEL", static_cast(5792)}, {"OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL", static_cast(5730)}, {"OpAtomicCompareExchange", static_cast(230)}, {"OpAtomicExchange", static_cast(229)}, {"OpSubgroupAvcSicConfigureIpeLumaINTEL", static_cast(5793)}, {"OpArbitraryFloatGEINTEL", static_cast(5851)}, {"OpTypeAvcRefResultINTEL", static_cast(5711)}, {"OpGroupReserveWritePipePackets", static_cast(286)}, {"OpStore", static_cast(62)}, {"OpArbitraryFloatExpINTEL", static_cast(5864)}, {"OpTypeArray", static_cast(28)}, {"OpHitObjectRecordHitMotionNV", static_cast(5249)}, {"OpGroupNonUniformBallotBitCount", static_cast(342)}, {"OpTypeVoid", static_cast(19)}, {"OpKill", static_cast(252)}, {"OpGroupDecorate", static_cast(74)}, {"OpFwidthFine", static_cast(212)}, {"OpInitializeNodePayloadsAMDX", static_cast(5090)}, {"OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL", static_cast(5810)}, {"OpArbitraryFloatCosPiINTEL", static_cast(5872)}, {"OpReturn", static_cast(253)}, {"OpHitObjectGetWorldToObjectNV", static_cast(5252)}, {"OpGroupNonUniformBallotBitExtract", static_cast(341)}, {"OpIAverageRoundedINTEL", static_cast(5593)}, {"OpSubgroupImageBlockWriteINTEL", static_cast(5578)}, {"OpGroupSMin", static_cast(268)}, {"OpSubgroupAvcSicEvaluateWithDualReferenceINTEL", static_cast(5805)}, {"OpFUnordGreaterThan", static_cast(187)}, {"OpImageSparseSampleProjImplicitLod", static_cast(309)}, {"OpGroupCommitWritePipe", static_cast(288)}, {"OpLogicalAnd", static_cast(167)}, {"OpArbitraryFloatSinCosPiINTEL", static_cast(5840)}, {"OpTypeEvent", static_cast(34)}, {"OpSubgroupAvcMceConvertToSicPayloadINTEL", static_cast(5736)}, {"OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL", static_cast(5726)}, {"OpBitcast", static_cast(124)}, {"OpFConvert", static_cast(115)}, {"OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL", static_cast(5719)}, {"OpLoad", static_cast(61)}, {"OpFetchMicroTriangleVertexBarycentricNV", static_cast(5301)}, {"OpISubBorrow", static_cast(150)}, {"OpRayQueryGetIntersectionPrimitiveIndexKHR", static_cast(6023)}, {"OpWritePipe", static_cast(275)}, {"OpRayQueryGetIntersectionBarycentricsKHR", static_cast(6024)}, {"OpAliasScopeListDeclINTEL", static_cast(5913)}, {"OpTypeForwardPointer", static_cast(39)}, {"OpCompositeExtract", static_cast(81)}, {"OpDecorateString", static_cast(5632)}, {"OpAtomicFMaxEXT", static_cast(5615)}, {"OpSatConvertUToS", static_cast(119)}, {"OpSubgroupAvcMceConvertToImeResultINTEL", static_cast(5733)}, {"OpSignBitSet", static_cast(160)}, {"OpGroupNonUniformSMin", static_cast(353)}, {"OpMemberDecorate", static_cast(72)}, {"OpImageSampleWeightedQCOM", static_cast(4480)}, {"OpAny", static_cast(154)}, {"OpSubgroupAvcSicInitializeINTEL", static_cast(5791)}, {"OpArbitraryFloatLog2INTEL", static_cast(5861)}, {"OpFunctionCall", static_cast(57)}, {"OpGetDefaultQueue", static_cast(303)}, {"OpSubgroupAvcImeSetSingleReferenceINTEL", static_cast(5748)}, {"OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL", static_cast(5801)}, {"OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL", static_cast(5797)}, {"OpFOrdLessThanEqual", static_cast(188)}, {"OpRayQueryInitializeKHR", static_cast(4473)}, {"OpArbitraryFloatCastFromIntINTEL", static_cast(5842)}, {"OpTypeRuntimeArray", static_cast(29)}, {"OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL", static_cast(5721)}, {"OpConstantFunctionPointerINTEL", static_cast(5600)}, {"OpHitObjectGetObjectRayDirectionNV", static_cast(5254)}, {"OpTypeCooperativeMatrixNV", static_cast(5358)}, {"OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL", static_cast(5713)}, {"OpUnreachable", static_cast(255)}, {"OpTypeVector", static_cast(23)}, {"OpArbitraryFloatASinINTEL", static_cast(5873)}, {"OpGroupAsyncCopy", static_cast(259)}, {"OpISubSatINTEL", static_cast(5595)}, {"OpGroupNonUniformAllEqual", static_cast(336)}, {"OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL", static_cast(5746)}, {"OpArbitraryFloatRSqrtINTEL", static_cast(5856)}, {"OpGroupNonUniformUMin", static_cast(354)}, {"OpFixedSinCosINTEL", static_cast(5928)}, {"OpLoopControlINTEL", static_cast(5887)}, {"OpConstant", static_cast(43)}, {"OpIsHelperInvocationEXT", static_cast(5381)}, {"OpTerminateRayKHR", static_cast(4449)}, {"OpGroupNonUniformBitwiseOr", static_cast(360)}, {"OpFixedCosINTEL", static_cast(5927)}, {"OpLessOrGreater", static_cast(161)}, {"OpFUnordGreaterThanEqual", static_cast(191)}, {"OpFRem", static_cast(140)}, {"OpWritePackedPrimitiveIndices4x8NV", static_cast(5299)}, {"OpSMod", static_cast(139)}, {"OpVectorInsertDynamic", static_cast(78)}, {"OpCommitWritePipe", static_cast(281)}, {"OpUAddSatINTEL", static_cast(5590)}, {"OpIAdd", static_cast(128)}, {"OpTerminateInvocation", static_cast(4416)}, {"OpHitObjectRecordHitWithIndexNV", static_cast(5262)}, {"OpPtrEqual", static_cast(401)}, {"OpTranspose", static_cast(84)}, {"OpSelect", static_cast(169)}, {"OpSatConvertSToU", static_cast(118)}, {"OpSamplerImageAddressingModeNV", static_cast(5397)}, {"OpFragmentFetchAMD", static_cast(5012)}, {"OpGroupNonUniformPartitionNV", static_cast(5296)}, {"OpBitCount", static_cast(205)}, {"OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL", static_cast(5807)}, {"OpPtrCastToGeneric", static_cast(121)}, {"OpFUnordEqual", static_cast(181)}, {"OpSubgroupAvcRefSetBidirectionalMixDisableINTEL", static_cast(5784)}, {"OpReadPipe", static_cast(274)}, {"OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL", static_cast(5757)}, {"OpTypeHitObjectNV", static_cast(5281)}, {"OpArbitraryFloatCastToIntINTEL", static_cast(5843)}, {"OpFetchMicroTriangleVertexPositionNV", static_cast(5300)}, {"OpExtInstImport", static_cast(11)}, {"OpHitObjectGetGeometryIndexNV", static_cast(5269)}, {"OpCaptureEventProfilingInfo", static_cast(302)}, {"OpConstantFalse", static_cast(42)}, {"OpSRem", static_cast(138)}, {"OpExtInst", static_cast(12)}, {"OpConvertImageToUNV", static_cast(5393)}, {"OpSourceExtension", static_cast(4)}, {"OpAtomicAnd", static_cast(240)}, {"OpDecorationGroup", static_cast(73)}, {"OpTypePipe", static_cast(38)}, {"OpHitObjectTraceRayMotionNV", static_cast(5256)}, {"OpSubgroupAvcMceGetBestInterDistortionsINTEL", static_cast(5740)}, {"OpCopyObject", static_cast(83)}, {"OpImageSparseSampleExplicitLod", static_cast(306)}, {"OpGroupNonUniformLogicalXor", static_cast(364)}, {"OpBranch", static_cast(249)}, {"OpCommitReadPipe", static_cast(280)}, {"OpHitObjectGetWorldRayDirectionNV", static_cast(5272)}, {"OpExtension", static_cast(10)}, {"OpEnqueueMarker", static_cast(291)}, {"OpMatrixTimesScalar", static_cast(143)}, {"OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL", static_cast(5802)}, {"OpImageSparseTexelsResident", static_cast(316)}, {"OpTypeDeviceEvent", static_cast(35)}, {"OpMatrixTimesVector", static_cast(145)}, {"OpGroupNonUniformInverseBallot", static_cast(340)}, {"OpAtomicLoad", static_cast(227)}, {"OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL", static_cast(5723)}, {"OpHitObjectRecordMissNV", static_cast(5263)}, {"OpImageSparseGather", static_cast(314)}, {"OpReservedWritePipe", static_cast(277)}, {"OpGroupLogicalXorKHR", static_cast(6408)}, {"OpSubgroupAvcRefConvertToMceResultINTEL", static_cast(5790)}, {"OpUMul32x16INTEL", static_cast(5598)}, {"OpDPdx", static_cast(207)}, {"OpIMul", static_cast(132)}, {"OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL", static_cast(5715)}, {"OpMemoryBarrier", static_cast(225)}, {"OpMemberDecorateString", static_cast(5633)}, {"OpSubgroupAvcMceGetInterMotionVectorCountINTEL", static_cast(5744)}, {"OpUCountLeadingZerosINTEL", static_cast(5585)}, {"OpGroupBitwiseXorKHR", static_cast(6405)}, {"OpSubgroupAvcRefConvertToMcePayloadINTEL", static_cast(5783)}, {"OpImageQueryLod", static_cast(105)}, {"OpImageSparseDrefGather", static_cast(315)}, {"OpArbitraryFloatHypotINTEL", static_cast(5858)}, {"OpAbsISubINTEL", static_cast(5587)}, {"OpSMulExtended", static_cast(152)}, {"OpAtomicIAdd", static_cast(234)}, {"OpGroupFAdd", static_cast(265)}, {"OpControlBarrierWaitINTEL", static_cast(6143)}, {"OpFUnordLessThanEqual", static_cast(189)}, {"OpLifetimeStop", static_cast(257)}, {"OpSubgroupAvcSicGetInterRawSadsINTEL", static_cast(5816)}, {"OpSubgroupAvcImeGetSingleReferenceStreaminINTEL", static_cast(5766)}, {"OpImageSampleFootprintNV", static_cast(5283)}, {"OpTypeAvcMceResultINTEL", static_cast(5705)}, {"OpFixedSqrtINTEL", static_cast(5923)}, {"OpSaveMemoryINTEL", static_cast(5819)}, {"OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL", static_cast(5780)}, {"OpRayQueryGenerateIntersectionKHR", static_cast(4475)}, {"OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL", static_cast(5754)}, {"OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL", static_cast(5763)}, {"OpUDotAccSat", static_cast(4454)}, {"OpHitObjectGetHitKindNV", static_cast(5267)}, {"OpImageBoxFilterQCOM", static_cast(4481)}, {"OpCompositeInsert", static_cast(82)}, {"OpSGreaterThanEqual", static_cast(175)}, {"OpHitObjectGetObjectRayOriginNV", static_cast(5255)}, {"OpGetKernelNDrangeSubGroupCount", static_cast(293)}, {"OpArbitraryFloatASinPiINTEL", static_cast(5874)}, {"OpSubgroupAvcMceSetInterDirectionPenaltyINTEL", static_cast(5718)}, {"OpUConvert", static_cast(113)}, {"OpGroupFMinNonUniformAMD", static_cast(5002)}, {"OpFAdd", static_cast(129)}, {"OpBitwiseXor", static_cast(198)}, {"OpSubgroupAvcMceSetAcOnlyHaarINTEL", static_cast(5728)}, {"OpAccessChain", static_cast(65)}, {"OpAtomicCompareExchangeWeak", static_cast(231)}, {"OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL", static_cast(5804)}, {"OpImageBlockMatchSADQCOM", static_cast(4483)}, {"OpSubgroupAvcImeGetDualReferenceStreaminINTEL", static_cast(5767)}, {"OpSubgroupAvcBmeInitializeINTEL", static_cast(5782)}, {"OpSubgroupAvcMceConvertToRefPayloadINTEL", static_cast(5734)}, {"OpRayQueryTerminateKHR", static_cast(4474)}, {"OpISub", static_cast(130)}, {"OpArbitraryFloatCastINTEL", static_cast(5841)}, {"OpGroupNonUniformBallotFindMSB", static_cast(344)}, {"OpLabel", static_cast(248)}, {"OpTypeReserveId", static_cast(36)}, {"OpUCountTrailingZerosINTEL", static_cast(5586)}, {"OpFMod", static_cast(141)}, {"OpSubgroupAvcSicGetMotionVectorMaskINTEL", static_cast(5795)}, {"OpTypeAccelerationStructureKHR", static_cast(5341)}, {"OpSizeOf", static_cast(321)}, {"OpSLessThanEqual", static_cast(179)}, {"OpImageSampleExplicitLod", static_cast(88)}, {"OpGroupNonUniformShuffle", static_cast(345)}, {"OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL", static_cast(5798)}, {"OpSubgroupAvcImeAdjustRefOffsetINTEL", static_cast(5751)}, {"OpImageSampleDrefExplicitLod", static_cast(90)}, {"OpImageQuerySize", static_cast(104)}, {"OpTypeAvcSicResultINTEL", static_cast(5712)}, {"OpSubgroupAllEqualKHR", static_cast(4430)}, {"OpSDotAccSat", static_cast(4453)}, {"OpGroupNonUniformUMax", static_cast(357)}, {"OpTraceRayMotionNV", static_cast(5339)}, {"OpAsmTargetINTEL", static_cast(5609)}, {"OpInBoundsAccessChain", static_cast(66)}, {"OpImageFetch", static_cast(95)}, {"OpExecuteCallableNV", static_cast(5344)}, {"OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL", static_cast(5759)}, {"OpHitObjectIsHitNV", static_cast(5277)}, {"OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL", static_cast(5786)}, {"OpGetKernelMaxNumSubgroups", static_cast(326)}, {"OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL", static_cast(5770)}, {"OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL", static_cast(5722)}, {"OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL", static_cast(5724)}, {"OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL", static_cast(5729)}, {"OpTypeRayQueryKHR", static_cast(4472)}, {"OpArbitraryFloatDivINTEL", static_cast(5849)}, {"OpGroupNonUniformIAdd", static_cast(349)}, {"OpConvertBF16ToFINTEL", static_cast(6117)}, {"OpImageSparseSampleImplicitLod", static_cast(305)}, {"OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL", static_cast(5772)}, {"OpSubgroupAvcSicGetPackedIpeLumaModesINTEL", static_cast(5812)}, {"OpIMul32x16INTEL", static_cast(5597)}, {"OpTraceMotionNV", static_cast(5338)}, {"OpEndStreamPrimitive", static_cast(221)}, {"OpSUDotKHR", static_cast(4452)}, {"OpTypeAvcRefPayloadINTEL", static_cast(5702)}, {"OpReserveReadPipePackets", static_cast(278)}, {"OpIsNan", static_cast(156)}, {"OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL", static_cast(5806)}, {"OpFunction", static_cast(54)}, {"OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL", static_cast(5773)}, {"OpCooperativeMatrixLoadKHR", static_cast(4457)}, {"OpImageQueryFormat", static_cast(101)}, {"OpBeginInvocationInterlockEXT", static_cast(5364)}, {"OpReserveWritePipePackets", static_cast(279)}, {"OpFOrdNotEqual", static_cast(182)}, {"OpDemoteToHelperInvocationEXT", static_cast(5380)}, {"OpUndef", static_cast(1)}, {"OpSubgroupAnyKHR", static_cast(4429)}, {"OpImageDrefGather", static_cast(97)}, {"OpStencilAttachmentReadEXT", static_cast(4162)}, {"OpExecuteCallableKHR", static_cast(4446)}, {"OpReorderThreadWithHintNV", static_cast(5280)}, {"OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL", static_cast(5788)}, {"OpIAverageINTEL", static_cast(5591)}, {"OpFwidth", static_cast(209)}, {"OpSubgroupBallotKHR", static_cast(4421)}, {"OpTypeBool", static_cast(20)}, {"OpImageQuerySizeLod", static_cast(103)}, {"OpPhi", static_cast(245)}, {"OpRayQueryGetIntersectionObjectToWorldKHR", static_cast(6031)}, {"OpSetUserEventStatus", static_cast(301)}, {"OpSubgroupAvcMceConvertToSicResultINTEL", static_cast(5737)}, {"OpSGreaterThan", static_cast(173)}, {"OpGroupLogicalOrKHR", static_cast(6407)}, {"OpAtomicFMinEXT", static_cast(5614)}, {"OpConvertUToImageNV", static_cast(5391)}, {"OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL", static_cast(5811)}, {"OpTypeAvcImeResultDualReferenceStreamoutINTEL", static_cast(5708)}, {"OpCooperativeMatrixStoreNV", static_cast(5360)}, {"OpArbitraryFloatACosPiINTEL", static_cast(5876)}, {"OpGetNumPipePackets", static_cast(283)}, {"OpTerminateRayNV", static_cast(5336)}, {"OpImageSampleProjImplicitLod", static_cast(91)}, {"OpTypeAvcImeResultINTEL", static_cast(5706)}, {"OpString", static_cast(7)}, {"OpArbitraryFloatExp10INTEL", static_cast(5866)}, {"OpUGreaterThanEqual", static_cast(174)}, {"OpGroupUMin", static_cast(267)}, {"OpLogicalNot", static_cast(168)}, {"OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL", static_cast(5775)}, {"OpCapability", static_cast(17)}, {"OpSubgroupAvcMceGetInterReferenceIdsINTEL", static_cast(5745)}, {"OpFUnordNotEqual", static_cast(183)}, {"OpFixedSinINTEL", static_cast(5926)}, {"OpSubgroupAvcMceConvertToImePayloadINTEL", static_cast(5732)}, {"OpSubgroupShuffleXorINTEL", static_cast(5574)}, {"OpLoopMerge", static_cast(246)}, {"OpConstantCompositeContinuedINTEL", static_cast(6091)}, {"OpImageSampleProjDrefImplicitLod", static_cast(93)}, {"OpCooperativeMatrixLengthKHR", static_cast(4460)}, {"OpGenericCastToPtr", static_cast(122)}, {"OpArbitraryFloatMulINTEL", static_cast(5848)}, {"OpAll", static_cast(155)}, {"OpExecutionMode", static_cast(16)}, {"OpImageSparseSampleProjDrefImplicitLod", static_cast(311)}, {"OpTypeImage", static_cast(25)}, {"OpSubgroupAvcImeSetDualReferenceINTEL", static_cast(5749)}, {"OpTypePipeStorage", static_cast(322)}, {"OpGroupIMulKHR", static_cast(6401)}, {"OpSubgroupAvcImeStripDualReferenceStreamoutINTEL", static_cast(5769)}, {"OpRayQueryProceedKHR", static_cast(4477)}, {"OpGroupMemberDecorate", static_cast(75)}, {"OpIsValidEvent", static_cast(300)}, {"OpFixedLogINTEL", static_cast(5932)}, {"OpSUDot", static_cast(4452)}, {"OpEndInvocationInterlockEXT", static_cast(5365)}, {"OpSubgroupAvcImeConvertToMcePayloadINTEL", static_cast(5752)}, {"OpGroupNonUniformLogicalAnd", static_cast(362)}, {"OpDepthAttachmentReadEXT", static_cast(4161)}, {"OpEntryPoint", static_cast(15)}, {"OpArbitraryFloatLEINTEL", static_cast(5853)}, {"OpAtomicOr", static_cast(241)}, {"OpTypeNamedBarrier", static_cast(327)}, {"OpGroupNonUniformElect", static_cast(333)}, {"OpReportIntersectionKHR", static_cast(5334)}, {"OpFixedExpINTEL", static_cast(5933)}, {"OpCompositeConstruct", static_cast(80)}, {"OpTypeStruct", static_cast(30)}, {"OpHitObjectIsEmptyNV", static_cast(5276)}, {"OpGroupWaitEvents", static_cast(260)}, {"OpSpecConstantCompositeContinuedINTEL", static_cast(6092)}, {"OpShiftLeftLogical", static_cast(196)}, {"OpGroupReserveReadPipePackets", static_cast(285)}, {"OpRayQueryGetIntersectionObjectRayOriginKHR", static_cast(6028)}, {"OpMemberDecorateStringGOOGLE", static_cast(5633)}, {"OpGroupIAdd", static_cast(264)}, {"OpConstantTrue", static_cast(41)}, {"OpBitFieldSExtract", static_cast(202)}, {"OpConstantSampler", static_cast(45)}, {"OpConvertFToBF16INTEL", static_cast(6116)}, {"OpCrossWorkgroupCastToPtrINTEL", static_cast(5938)}, {"OpNot", static_cast(200)}, {"OpGroupBroadcast", static_cast(263)}, {"OpSubgroupAvcSicGetIpeChromaModeINTEL", static_cast(5813)}, {"OpSubgroupAvcImeGetBorderReachedINTEL", static_cast(5776)}, {"OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL", static_cast(5815)}, {"OpTypeAvcImeDualReferenceStreaminINTEL", static_cast(5710)}, {"OpGroupLogicalAndKHR", static_cast(6406)}, {"OpInBoundsPtrAccessChain", static_cast(70)}, {"OpBitwiseAnd", static_cast(199)}, {"OpImageBlockMatchSSDQCOM", static_cast(4482)}, {"OpConvertSToF", static_cast(111)}, {"OpHitObjectGetAttributesNV", static_cast(5266)}, {"OpImageSampleProjDrefExplicitLod", static_cast(94)}, {"OpQuantizeToF16", static_cast(116)}, {"OpHitObjectGetRayTMaxNV", static_cast(5274)}, {"OpArbitraryFloatSqrtINTEL", static_cast(5859)}, {"OpReturnValue", static_cast(254)}, {"OpHitObjectRecordMissMotionNV", static_cast(5251)}, {"OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL", static_cast(5761)}, {"OpFOrdEqual", static_cast(180)}, {"OpConstantComposite", static_cast(44)}, {"OpTraceNV", static_cast(5337)}, {"OpFNegate", static_cast(127)}, {"OpPtrAccessChain", static_cast(67)}, {"OpGroupNonUniformShuffleDown", static_cast(348)}, {"OpFDiv", static_cast(136)}, {"OpGroupNonUniformFMin", static_cast(355)}, {"OpSubgroupAvcMceConvertToRefResultINTEL", static_cast(5735)}, {"OpAtomicSMin", static_cast(236)}, {"OpMatrixTimesMatrix", static_cast(146)}, {"OpConstantPipeStorage", static_cast(323)}, {"OpArbitraryFloatLog1pINTEL", static_cast(5863)}, {"OpSetMeshOutputsEXT", static_cast(5295)}, {"OpArbitraryFloatRecipINTEL", static_cast(5855)}, {"OpAtomicISub", static_cast(235)}, {"OpConvertSamplerToUNV", static_cast(5394)}, {"OpDecorateStringGOOGLE", static_cast(5632)}, {"OpArbitraryFloatPowINTEL", static_cast(5880)}, {"OpArbitraryFloatGTINTEL", static_cast(5850)}, {"OpWritePipeBlockingINTEL", static_cast(5947)}, {"OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL", static_cast(5755)}, {"OpDPdyFine", static_cast(211)}, {"OpGroupNonUniformBroadcast", static_cast(337)}, {"OpTypeVmeImageINTEL", static_cast(5700)}, {"OpRayQueryGetIntersectionObjectRayDirectionKHR", static_cast(6027)}, {"OpUDotKHR", static_cast(4451)}, {"OpSubgroupAvcSicConvertToMceResultINTEL", static_cast(5808)}, {"OpTypeOpaque", static_cast(31)}, {"OpHitObjectGetPrimitiveIndexNV", static_cast(5268)}, {"OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL", static_cast(5799)}, {"OpAtomicUMin", static_cast(237)}, {"OpImageGather", static_cast(96)}, {"OpUMulExtended", static_cast(151)}, {"OpSubgroupAvcMceGetInterMajorShapeINTEL", static_cast(5741)}, {"OpSampledImage", static_cast(86)}, {"OpVectorTimesScalar", static_cast(142)}, {"OpRayQueryGetIntersectionInstanceCustomIndexKHR", static_cast(6019)}, {"OpVectorTimesMatrix", static_cast(144)}, {"OpSubgroupBlockReadINTEL", static_cast(5575)}, {"OpSubgroupAvcRefEvaluateWithDualReferenceINTEL", static_cast(5787)}, {"OpVariable", static_cast(59)}, {"OpNamedBarrierInitialize", static_cast(328)}, {"OpSubgroupAllKHR", static_cast(4428)}, {"OpPtrCastToCrossWorkgroupINTEL", static_cast(5934)}, {"OpULessThanEqual", static_cast(178)}, {"OpIsValidReserveId", static_cast(282)}, {"OpAtomicSMax", static_cast(238)}, {"OpPtrDiff", static_cast(403)}, {"OpLogicalEqual", static_cast(164)}, {"OpImageTexelPointer", static_cast(60)}, {"OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL", static_cast(5779)}, {"OpArrayLength", static_cast(68)}, {"OpDot", static_cast(148)}, {"OpBitReverse", static_cast(204)}, {"OpReleaseEvent", static_cast(298)}, {"OpArbitraryFloatExpm1INTEL", static_cast(5867)}, {"OpBranchConditional", static_cast(250)}, {"OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL", static_cast(5778)}, {"OpSwitch", static_cast(251)}, {"OpImageSparseSampleDrefImplicitLod", static_cast(307)}, {"OpGroupUMinNonUniformAMD", static_cast(5003)}, {"OpUDot", static_cast(4451)}, {"OpPtrNotEqual", static_cast(402)}, {"OpCreateUserEvent", static_cast(299)}, {"OpCopyMemorySized", static_cast(64)}, {"OpSubgroupShuffleDownINTEL", static_cast(5572)}, {"OpGroupNonUniformBitwiseAnd", static_cast(359)}, {"OpArbitraryFloatSinINTEL", static_cast(5868)}, {"OpEmitVertex", static_cast(218)}, {"OpArbitraryFloatATan2INTEL", static_cast(5879)}, {"OpRayQueryGetIntersectionInstanceIdKHR", static_cast(6020)}, {"OpArbitraryFloatLog10INTEL", static_cast(5862)}, {"OpFMul", static_cast(133)}, {"OpGroupFMaxNonUniformAMD", static_cast(5005)}, {"OpImageSparseRead", static_cast(320)}, {"OpHitObjectTraceRayNV", static_cast(5260)}, {"OpGroupNonUniformShuffleXor", static_cast(346)}, {"OpNop", static_cast(0)}, {"OpArbitraryFloatSinCosINTEL", static_cast(5870)}, {"OpSpecConstant", static_cast(50)}, {"OpEmitStreamVertex", static_cast(220)}, {"OpIsNormal", static_cast(159)}, {"OpSubgroupAvcFmeInitializeINTEL", static_cast(5781)}, {"OpHitObjectRecordHitNV", static_cast(5261)}, {"OpGroupFMax", static_cast(269)}, {"OpGroupAll", static_cast(261)}, {"OpGroupNonUniformIMul", static_cast(351)}, {"OpImageSampleDrefImplicitLod", static_cast(89)}, {"OpGroupAny", static_cast(262)}, {"OpImageSparseSampleDrefExplicitLod", static_cast(308)}, {"OpSubgroupAvcSicEvaluateIpeINTEL", static_cast(5803)}, {"OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL", static_cast(5731)}, {"OpRetainEvent", static_cast(297)}, {"OpIgnoreIntersectionNV", static_cast(5335)}, {"OpGroupUMaxNonUniformAMD", static_cast(5006)}, {"OpCooperativeMatrixStoreKHR", static_cast(4458)}, {"OpGroupBitwiseAndKHR", static_cast(6403)}, {"OpGroupNonUniformSMax", static_cast(356)}, {"OpImageRead", static_cast(98)}, {"OpTypeCooperativeMatrixKHR", static_cast(4456)}, {"OpReadPipeBlockingINTEL", static_cast(5946)}, {"OpFixedRsqrtINTEL", static_cast(5925)}, {"OpSubgroupAvcSicGetIpeLumaShapeINTEL", static_cast(5809)}, {"OpArbitraryFloatEQINTEL", static_cast(5854)}, {"OpSubgroupBlockWriteINTEL", static_cast(5576)}, {"OpFunctionEnd", static_cast(56)}, {"OpAtomicUMax", static_cast(239)}, {"OpSubgroupAvcSicConvertToMcePayloadINTEL", static_cast(5796)}, {"OpIsInf", static_cast(157)}, {"OpDPdy", static_cast(208)}, {"OpRayQueryGetIntersectionGeometryIndexKHR", static_cast(6022)}, {"OpVectorShuffle", static_cast(79)}, {"OpSDiv", static_cast(135)}, {"OpCooperativeMatrixMulAddKHR", static_cast(4459)}, {"OpGroupSMax", static_cast(271)}, {"OpLine", static_cast(8)}, {"OpSubgroupImageMediaBlockReadINTEL", static_cast(5580)}, {"OpRayQueryGetWorldRayOriginKHR", static_cast(6030)}, {"OpSubgroupImageMediaBlockWriteINTEL", static_cast(5581)}, {"OpUnordered", static_cast(163)}, {"OpFOrdLessThan", static_cast(184)}, {"OpBitFieldUExtract", static_cast(203)}, {"OpGroupNonUniformFMax", static_cast(358)}, {"OpGetMaxPipePackets", static_cast(284)}, {"OpHitObjectIsMissNV", static_cast(5278)}, {"OpFUnordLessThan", static_cast(185)}, {"OpAssumeTrueKHR", static_cast(5630)}, {"OpControlBarrierArriveINTEL", static_cast(6142)}, {"OpGetKernelWorkGroupSize", static_cast(295)}, {"OpFixedCosPiINTEL", static_cast(5930)}, {"OpGenericCastToPtrExplicit", static_cast(123)}, {"OpArbitraryFloatPowNINTEL", static_cast(5882)}, {"OpControlBarrier", static_cast(224)}, {"OpHitObjectGetInstanceIdNV", static_cast(5270)}, {"OpSubgroupAvcMceGetMotionVectorsINTEL", static_cast(5738)}, {"OpConvertUToSampledImageNV", static_cast(5395)}, {"OpFixedSinPiINTEL", static_cast(5929)}, {"OpGroupSMaxNonUniformAMD", static_cast(5007)}, {"OpImageSparseSampleProjExplicitLod", static_cast(310)}, {"OpTypeAvcImeSingleReferenceStreaminINTEL", static_cast(5709)}, {"OpTypePointer", static_cast(32)}, {"OpGenericPtrMemSemantics", static_cast(69)}, {"OpDecorate", static_cast(71)}, {"OpHitObjectGetCurrentTimeNV", static_cast(5265)}, {"OpCreatePipeFromPipeStorage", static_cast(324)}, {"OpArbitraryFloatSinPiINTEL", static_cast(5871)}, {"OpSubgroupAvcMceGetInterMinorShapeINTEL", static_cast(5742)}, {"OpTypeFloat", static_cast(22)}, {"OpLogicalNotEqual", static_cast(165)}, {"OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL", static_cast(5714)}, {"OpConvertFToS", static_cast(110)}, {"OpSpecConstantOp", static_cast(52)}, {"OpConvertUToF", static_cast(112)}, {"OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL", static_cast(5814)}, {"OpUAverageRoundedINTEL", static_cast(5594)}, {"OpAtomicIIncrement", static_cast(232)}, {"OpIsFinite", static_cast(158)}, {"OpShiftRightArithmetic", static_cast(195)}, {"OpCooperativeMatrixLengthNV", static_cast(5362)}, {"OpSNegate", static_cast(126)}, {"OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL", static_cast(5760)}, {"OpArbitraryFloatCosINTEL", static_cast(5869)}, {"OpTypeAccelerationStructureNV", static_cast(5341)}, {"OpFixedRecipINTEL", static_cast(5924)}, {"OpRayQueryGetIntersectionTypeKHR", static_cast(4479)}, {"OpGroupNonUniformBroadcastFirst", static_cast(338)}, {"OpUSubSatINTEL", static_cast(5596)}, {"OpVmeImageINTEL", static_cast(5699)}, {"OpVariableLengthArrayINTEL", static_cast(5818)}, {"OpImageWrite", static_cast(99)}, {"OpGetKernelLocalSizeForSubgroupCount", static_cast(325)}, {"OpCopyLogical", static_cast(400)}, {"OpTypeAvcImeResultSingleReferenceStreamoutINTEL", static_cast(5707)}, {"OpSDot", static_cast(4450)}, {"OpTypeAvcMcePayloadINTEL", static_cast(5704)}, {"OpAtomicXor", static_cast(242)}, {"OpSDotAccSatKHR", static_cast(4453)}, {"OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL", static_cast(5725)}, {"OpGroupCommitReadPipe", static_cast(287)}, {"OpArbitraryFloatCbrtINTEL", static_cast(5857)}, {"OpTypeQueue", static_cast(37)}, {"OpImageSparseSampleProjDrefExplicitLod", static_cast(312)}, {"OpName", static_cast(5)}, {"OpRayQueryGetRayTMinKHR", static_cast(6016)}, {"OpHitObjectGetShaderRecordBufferHandleNV", static_cast(5257)}, {"OpEndPrimitive", static_cast(219)}, {"OpSubgroupShuffleUpINTEL", static_cast(5573)}, {"OpSourceContinued", static_cast(2)}, {"OpSubgroupAvcSicSetBilinearFilterEnableINTEL", static_cast(5800)}, {"OpGroupSMinNonUniformAMD", static_cast(5004)}, {"OpAsmINTEL", static_cast(5610)}, {"OpSLessThan", static_cast(177)}, {"OpMemberName", static_cast(6)}, {"OpSubgroupAvcMceSetInterShapePenaltyINTEL", static_cast(5716)}, {"OpGroupNonUniformShuffleUp", static_cast(347)}, {"OpSDotKHR", static_cast(4450)}, {"OpINotEqual", static_cast(171)}, {"OpMemoryNamedBarrier", static_cast(329)}, {"OpTypeInt", static_cast(21)}, {"OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR", static_cast(6021)}, {"OpGetKernelPreferredWorkGroupSizeMultiple", static_cast(296)}, {"OpFragmentMaskFetchAMD", static_cast(5011)}, {"OpRayQueryGetIntersectionWorldToObjectKHR", static_cast(6032)}, {"OpAtomicFlagTestAndSet", static_cast(318)}, {"OpSubgroupAvcMceGetInterDistortionsINTEL", static_cast(5739)}, {"OpHitObjectGetShaderBindingTableRecordIndexNV", static_cast(5258)}, {"OpSelectionMerge", static_cast(247)}, {"OpConstantNull", static_cast(46)}, {"OpOuterProduct", static_cast(147)}, {"OpAsmCallINTEL", static_cast(5611)}, {"OpTypeFunction", static_cast(33)}, {"OpArbitraryFloatACosINTEL", static_cast(5875)}, {"OpArbitraryFloatPowRINTEL", static_cast(5881)}, {"OpSubgroupAvcImeRefWindowSizeINTEL", static_cast(5750)}, {"OpImageSampleProjExplicitLod", static_cast(92)}, {"OpHitObjectRecordEmptyNV", static_cast(5259)}, {"OpMemoryModel", static_cast(14)}, {"OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL", static_cast(5774)}, {"OpRayQueryGetIntersectionCandidateAABBOpaqueKHR", static_cast(6026)}, {"OpModuleProcessed", static_cast(330)}, {"OpIAddCarry", static_cast(149)}, {"OpBitFieldInsert", static_cast(201)}, {"OpSpecConstantComposite", static_cast(51)}, {"OpDPdyCoarse", static_cast(214)}, {"OpConvertUToPtr", static_cast(120)}, {"OpIgnoreIntersectionKHR", static_cast(4448)}, {"OpSubgroupAvcImeSetMaxMotionVectorCountINTEL", static_cast(5753)}, {"OpGroupNonUniformQuadBroadcast", static_cast(365)}, {"OpGroupUMax", static_cast(270)}, {"OpAtomicStore", static_cast(228)}, {"OpReadClockKHR", static_cast(5056)}, {"OpDPdxCoarse", static_cast(213)}, {"OpSubgroupAvcSicConfigureIpeLumaChromaINTEL", static_cast(5794)}, {"OpHitObjectGetRayTMinNV", static_cast(5275)}, {"OpDPdxFine", static_cast(210)}, {"OpCooperativeMatrixLoadNV", static_cast(5359)}, {"OpConvertUToAccelerationStructureKHR", static_cast(4447)}, {"OpTraceRayKHR", static_cast(4445)}, {"OpIEqual", static_cast(170)}, {"OpUMod", static_cast(137)}, {"OpSubgroupAvcRefSetBilinearFilterEnableINTEL", static_cast(5785)}, {"OpLogicalOr", static_cast(166)}, {"OpDemoteToHelperInvocation", static_cast(5380)}, {"OpImage", static_cast(100)}, {"OpGroupBitwiseOrKHR", static_cast(6404)}, {"OpHitObjectGetObjectToWorldNV", static_cast(5253)}, {"OpRestoreMemoryINTEL", static_cast(5820)}, {"OpEnqueueKernel", static_cast(292)}, {"OpTypeAvcImePayloadINTEL", static_cast(5701)}, {"OpAliasScopeDeclINTEL", static_cast(5912)}, }; static const auto hash = [](const UnownedStringSlice& str, UInt32 salt){ UInt32 h = salt; for (const char c : str) h = (h * 0x01000193) ^ c; return h % 723; }; 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[251] = { 3, 1, 1, 2, 0, 1, 1, 2, 0, 0, 1, 1, 2, 0, 3, 3, 0, 1, 0, 0, 2, 7, 5, 0, 5, 0, 0, 3, 4, 1, 4, 0, 1, 2, 2, 0, 1, 2, 13, 0, 2, 1, 8, 1, 2, 1, 0, 0, 3, 2, 1, 3, 1, 0, 0, 0, 5, 1, 6, 4, 1, 0, 5, 0, 0, 0, 1, 3, 1, 2, 3, 0, 8, 0, 6, 3, 0, 2, 0, 8, 1, 0, 0, 6, 1, 3, 1, 1, 2, 8, 0, 1, 0, 3, 1, 0, 0, 7, 0, 0, 1, 2, 5, 5, 13, 1, 6, 0, 4, 1, 7, 0, 0, 6, 5, 0, 1, 8, 0, 19, 3, 5, 5, 0, 0, 13, 1, 3, 11, 3, 0, 3, 4, 6, 0, 1, 0, 6, 1, 0, 0, 3, 7, 4, 14, 20, 0, 2, 1, 2, 1, 2, 1, 0, 9, 0, 0, 0, 0, 5, 9, 5, 7, 1, 19, 0, 0, 19, 0, 2, 4, 11, 1, 10, 8, 6, 30, 0, 0, 0, 0, 2, 13, 10, 9, 3, 1, 2, 21, 14, 0, 0, 3, 13, 3, 0, 8, 6, 0, 0, 1, 6, 0, 0, 8, 4, 0, 0, 21, 0, 5, 35, 0, 7, 2, 1, 4, 8, 0, 0, 8, 34, 0, 0, 15, 0, 0, 14, 0, 2, 9, 6, 27, 0, 13, 0, 5, 0, 0, 0, 9, 30, 0, 0, 109, 0, 71, 0, 360, 1, 0 }; using KV = std::pair; static const KV words[251] = { {"SampledRect", static_cast(37)}, {"ClipDistance", static_cast(32)}, {"DotProductInput4x8BitKHR", static_cast(6017)}, {"GroupUniformArithmeticKHR", static_cast(6400)}, {"DeviceGroup", static_cast(4437)}, {"UniformTexelBufferArrayNonUniformIndexingEXT", static_cast(5311)}, {"IndirectReferencesINTEL", static_cast(5604)}, {"Float16", static_cast(9)}, {"UniformDecoration", static_cast(71)}, {"ImageReadWriteLodAMD", static_cast(5015)}, {"FPGAKernelAttributesINTEL", static_cast(5897)}, {"PerViewAttributesNV", static_cast(5260)}, {"StencilExportEXT", static_cast(5013)}, {"Shader", static_cast(1)}, {"InputAttachment", static_cast(40)}, {"InterpolationFunction", static_cast(52)}, {"ArbitraryPrecisionFixedPointINTEL", static_cast(5922)}, {"UniformAndStorageBuffer16BitAccess", static_cast(4434)}, {"ShadingRateNV", static_cast(5291)}, {"BlockingPipesINTEL", static_cast(5945)}, {"ShaderNonUniformEXT", static_cast(5301)}, {"StorageInputOutput16", static_cast(4436)}, {"VariablePointersStorageBuffer", static_cast(4441)}, {"RayTracingDisplacementMicromapNV", static_cast(5409)}, {"FragmentShaderSampleInterlockEXT", static_cast(5363)}, {"DotProduct", static_cast(6019)}, {"Int64Atomics", static_cast(12)}, {"TextureBoxFilterQCOM", static_cast(4485)}, {"FunctionPointersINTEL", static_cast(5603)}, {"ExpectAssumeKHR", static_cast(5629)}, {"FragmentBarycentricNV", static_cast(5284)}, {"SubgroupAvcMotionEstimationINTEL", static_cast(5696)}, {"FragmentFullyCoveredEXT", static_cast(5265)}, {"FragmentShaderPixelInterlockEXT", static_cast(5378)}, {"RayCullMaskKHR", static_cast(6020)}, {"TransformFeedback", static_cast(53)}, {"UniformAndStorageBuffer8BitAccess", static_cast(4449)}, {"InputAttachmentArrayDynamicIndexingEXT", static_cast(5303)}, {"DemoteToHelperInvocationEXT", static_cast(5379)}, {"RayTraversalPrimitiveCullingKHR", static_cast(4478)}, {"DotProductInputAll", static_cast(6016)}, {"TileImageStencilReadAccessEXT", static_cast(4168)}, {"UniformTexelBufferArrayDynamicIndexingEXT", static_cast(5304)}, {"StorageTexelBufferArrayDynamicIndexing", static_cast(5305)}, {"Float64", static_cast(10)}, {"USMStorageClassesINTEL", static_cast(5935)}, {"AtomicStorageOps", static_cast(4445)}, {"FPGAArgumentInterfacesINTEL", static_cast(6174)}, {"ImageBuffer", static_cast(47)}, {"RayQueryProvisionalKHR", static_cast(4471)}, {"FunctionFloatControlINTEL", static_cast(5821)}, {"StorageTexelBufferArrayNonUniformIndexingEXT", static_cast(5312)}, {"ImageMSArray", static_cast(48)}, {"LongConstantCompositeINTEL", static_cast(6089)}, {"RuntimeAlignedAttributeINTEL", static_cast(5939)}, {"AtomicFloat64AddEXT", static_cast(6034)}, {"StorageImageArrayNonUniformIndexing", static_cast(5309)}, {"ImageReadWrite", static_cast(14)}, {"CooperativeMatrixKHR", static_cast(6022)}, {"WorkgroupMemoryExplicitLayoutKHR", static_cast(4428)}, {"VulkanMemoryModelDeviceScopeKHR", static_cast(5346)}, {"DeviceEnqueue", static_cast(19)}, {"FPGAMemoryAttributesINTEL", static_cast(5824)}, {"WorkgroupMemoryExplicitLayout16BitAccessKHR", static_cast(4430)}, {"SubgroupDispatch", static_cast(58)}, {"FragmentBarycentricKHR", static_cast(5284)}, {"TileImageColorReadAccessEXT", static_cast(4166)}, {"StorageBufferArrayNonUniformIndexing", static_cast(5308)}, {"DebugInfoModuleINTEL", static_cast(6114)}, {"RuntimeDescriptorArrayEXT", static_cast(5302)}, {"StorageBuffer8BitAccess", static_cast(4448)}, {"DotProductInput4x8BitPackedKHR", static_cast(6018)}, {"InputAttachmentArrayNonUniformIndexingEXT", static_cast(5310)}, {"SubgroupAvcMotionEstimationChromaINTEL", static_cast(5698)}, {"StorageBuffer16BitAccess", static_cast(4433)}, {"RayQueryPositionFetchKHR", static_cast(5391)}, {"VectorAnyINTEL", static_cast(5619)}, {"SubgroupImageMediaBlockIOINTEL", static_cast(5579)}, {"RoundToInfinityINTEL", static_cast(5582)}, {"SplitBarrierINTEL", static_cast(6141)}, {"StorageImageArrayDynamicIndexing", static_cast(31)}, {"GroupNonUniformBallot", static_cast(64)}, {"GenericPointer", static_cast(38)}, {"VariableLengthArrayINTEL", static_cast(5817)}, {"VariablePointers", static_cast(4442)}, {"AtomicStorage", static_cast(21)}, {"StoragePushConstant8", static_cast(4450)}, {"FPGAClusterAttributesINTEL", static_cast(5904)}, {"StorageTexelBufferArrayNonUniformIndexing", static_cast(5312)}, {"ShaderEnqueueAMDX", static_cast(5067)}, {"StorageUniformBufferBlock16", static_cast(4433)}, {"SampleMaskOverrideCoverageNV", static_cast(5249)}, {"GeometryPointSize", static_cast(24)}, {"FloatingPointModeINTEL", static_cast(5583)}, {"MeshShadingNV", static_cast(5266)}, {"ShaderLayer", static_cast(69)}, {"ImageFootprintNV", static_cast(5282)}, {"DrawParameters", static_cast(4427)}, {"ImageQuery", static_cast(50)}, {"BitInstructions", static_cast(6025)}, {"SubgroupAvcMotionEstimationIntraINTEL", static_cast(5697)}, {"PipeStorage", static_cast(60)}, {"GroupNonUniformArithmetic", static_cast(63)}, {"DerivativeControl", static_cast(51)}, {"Vector16", static_cast(7)}, {"GroupNonUniformShuffle", static_cast(65)}, {"DotProductInputAllKHR", static_cast(6016)}, {"GroupNonUniformRotateKHR", static_cast(6026)}, {"VulkanMemoryModelDeviceScope", static_cast(5346)}, {"GroupNonUniformPartitionedNV", static_cast(5297)}, {"GlobalVariableFPGADecorationsINTEL", static_cast(6146)}, {"UniformTexelBufferArrayDynamicIndexing", static_cast(5304)}, {"PhysicalStorageBufferAddresses", static_cast(5347)}, {"StorageImageExtendedFormats", static_cast(49)}, {"OptNoneINTEL", static_cast(6094)}, {"AtomicFloat16AddEXT", static_cast(6095)}, {"GroupNonUniformVote", static_cast(62)}, {"BFloat16ConversionINTEL", static_cast(6115)}, {"ShaderViewportIndexLayerNV", static_cast(5254)}, {"ArbitraryPrecisionFloatingPointINTEL", static_cast(5845)}, {"SampledImageArrayDynamicIndexing", static_cast(29)}, {"MultiView", static_cast(4439)}, {"TextureBlockMatchQCOM", static_cast(4486)}, {"UniformTexelBufferArrayNonUniformIndexing", static_cast(5311)}, {"UniformBufferArrayDynamicIndexing", static_cast(28)}, {"AsmINTEL", static_cast(5606)}, {"VulkanMemoryModelKHR", static_cast(5345)}, {"ArbitraryPrecisionIntegersINTEL", static_cast(5844)}, {"UniformBufferArrayNonUniformIndexing", static_cast(5306)}, {"Tessellation", static_cast(3)}, {"Image1D", static_cast(44)}, {"UnstructuredLoopControlsINTEL", static_cast(5886)}, {"ImageCubeArray", static_cast(34)}, {"ShaderClockKHR", static_cast(5055)}, {"Float16ImageAMD", static_cast(5008)}, {"AtomicFloat32AddEXT", static_cast(6033)}, {"TessellationPointSize", static_cast(23)}, {"GroupNonUniformClustered", static_cast(67)}, {"ShaderNonUniform", static_cast(5301)}, {"RayTracingMotionBlurNV", static_cast(5341)}, {"VectorComputeINTEL", static_cast(5617)}, {"SubgroupBallotKHR", static_cast(4423)}, {"DotProductInput4x8BitPacked", static_cast(6018)}, {"RuntimeDescriptorArray", static_cast(5302)}, {"RoundingModeRTE", static_cast(4467)}, {"SampledCubeArray", static_cast(45)}, {"Sampled1D", static_cast(43)}, {"RayTracingProvisionalKHR", static_cast(5353)}, {"FPMaxErrorINTEL", static_cast(6169)}, {"Int16", static_cast(22)}, {"SampledImageArrayNonUniformIndexingEXT", static_cast(5307)}, {"LiteralSampler", static_cast(20)}, {"ImageBasic", static_cast(13)}, {"ComputeDerivativeGroupQuadsNV", static_cast(5288)}, {"RayTracingPositionFetchKHR", static_cast(5336)}, {"FPGAMemoryAccessesINTEL", static_cast(5898)}, {"FPFastMathModeINTEL", static_cast(5837)}, {"DenormPreserve", static_cast(4464)}, {"FragmentShadingRateKHR", static_cast(4422)}, {"ShaderInvocationReorderNV", static_cast(5383)}, {"StorageBufferArrayNonUniformIndexingEXT", static_cast(5308)}, {"StorageBufferArrayDynamicIndexing", static_cast(30)}, {"RoundingModeRTZ", static_cast(4468)}, {"ImageRect", static_cast(36)}, {"Int64ImageEXT", static_cast(5016)}, {"GlobalVariableHostAccessINTEL", static_cast(6167)}, {"MemoryAccessAliasingINTEL", static_cast(5910)}, {"DotProductKHR", static_cast(6019)}, {"FragmentShaderShadingRateInterlockEXT", static_cast(5372)}, {"ShaderStereoViewNV", static_cast(5259)}, {"MeshShadingEXT", static_cast(5283)}, {"GroupNonUniform", static_cast(61)}, {"ImageGatherExtended", static_cast(25)}, {"DisplacementMicromapNV", static_cast(5380)}, {"IOPipesINTEL", static_cast(5943)}, {"SampleRateShading", static_cast(35)}, {"ComputeDerivativeGroupLinearNV", static_cast(5350)}, {"Addresses", static_cast(4)}, {"Int64", static_cast(11)}, {"StorageTexelBufferArrayDynamicIndexingEXT", static_cast(5305)}, {"FPGADSPControlINTEL", static_cast(5908)}, {"GroupNonUniformShuffleRelative", static_cast(66)}, {"CacheControlsINTEL", static_cast(6441)}, {"GroupNonUniformQuad", static_cast(68)}, {"InputAttachmentArrayNonUniformIndexing", static_cast(5310)}, {"AtomicFloat32MinMaxEXT", static_cast(5612)}, {"SampledImageArrayNonUniformIndexing", static_cast(5307)}, {"StorageUniform16", static_cast(4434)}, {"Int8", static_cast(39)}, {"LoopFuseINTEL", static_cast(5906)}, {"SubgroupImageBlockIOINTEL", static_cast(5570)}, {"FPGABufferLocationINTEL", static_cast(5920)}, {"AtomicFloat64MinMaxEXT", static_cast(5613)}, {"FPGAKernelAttributesv2INTEL", static_cast(6161)}, {"TextureSampleWeightedQCOM", static_cast(4484)}, {"MultiViewport", static_cast(57)}, {"CullDistance", static_cast(33)}, {"NamedBarrier", static_cast(59)}, {"ShaderViewportIndex", static_cast(70)}, {"SubgroupShuffleINTEL", static_cast(5568)}, {"Linkage", static_cast(5)}, {"AtomicFloat16MinMaxEXT", static_cast(5616)}, {"WorkgroupMemoryExplicitLayout8BitAccessKHR", static_cast(4429)}, {"DotProductInput4x8Bit", static_cast(6017)}, {"InputAttachmentArrayDynamicIndexing", static_cast(5303)}, {"Groups", static_cast(18)}, {"ImageMipmap", static_cast(15)}, {"StorageImageMultisample", static_cast(27)}, {"RayQueryKHR", static_cast(4472)}, {"FragmentDensityEXT", static_cast(5291)}, {"StorageImageArrayNonUniformIndexingEXT", static_cast(5309)}, {"StoragePushConstant16", static_cast(4435)}, {"Float16Buffer", static_cast(8)}, {"TileImageDepthReadAccessEXT", static_cast(4167)}, {"FPGAInvocationPipeliningAttributesINTEL", static_cast(5916)}, {"UniformBufferArrayNonUniformIndexingEXT", static_cast(5306)}, {"SparseResidency", static_cast(41)}, {"StorageImageReadWithoutFormat", static_cast(55)}, {"SubgroupBufferBlockIOINTEL", static_cast(5569)}, {"Geometry", static_cast(2)}, {"FPGALoopControlsINTEL", static_cast(5888)}, {"GeometryShaderPassthroughNV", static_cast(5251)}, {"IntegerFunctions2INTEL", static_cast(5584)}, {"PhysicalStorageBufferAddressesEXT", static_cast(5347)}, {"StorageImageWriteWithoutFormat", static_cast(56)}, {"SampledBuffer", static_cast(46)}, {"FragmentMaskAMD", static_cast(5010)}, {"CoreBuiltinsARM", static_cast(4165)}, {"ShaderSMBuiltinsNV", static_cast(5373)}, {"DemoteToHelperInvocation", static_cast(5379)}, {"VulkanMemoryModel", static_cast(5345)}, {"Matrix", static_cast(0)}, {"RayTracingKHR", static_cast(4479)}, {"CooperativeMatrixNV", static_cast(5357)}, {"BindlessTextureNV", static_cast(5390)}, {"Kernel", static_cast(6)}, {"GeometryStreams", static_cast(54)}, {"SignedZeroInfNanPreserve", static_cast(4466)}, {"DenormFlushToZero", static_cast(4465)}, {"MinLod", static_cast(42)}, {"RayTracingOpacityMicromapEXT", static_cast(5381)}, {"RayTracingNV", static_cast(5340)}, {"ShaderViewportMaskNV", static_cast(5255)}, {"FPGARegINTEL", static_cast(5948)}, {"ShaderViewportIndexLayerEXT", static_cast(5254)}, {"SubgroupVoteKHR", static_cast(4431)}, {"KernelAttributesINTEL", static_cast(5892)}, {"Pipes", static_cast(17)}, {"SampleMaskPostDepthCoverage", static_cast(4447)}, {"ImageGatherBiasLodAMD", static_cast(5009)}, {"FPGALatencyControlINTEL", static_cast(6171)}, }; static const auto hash = [](const UnownedStringSlice& str, UInt32 salt){ UInt32 h = salt; for (const char c : str) h = (h * 0x01000193) ^ c; return h % 251; }; 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[988] = { 1, 0, 0, 5, 2, 3, 0, 1, 0, 1, 3, 2, 0, 0, 1, 3, 0, 0, 1, 0, 0, 1, 0, 3, 1, 0, 0, 1, 0, 4, 5, 0, 0, 2, 0, 1, 1, 2, 0, 1, 0, 4, 1, 1, 0, 6, 2, 0, 4, 2, 7, 0, 3, 6, 0, 7, 1, 1, 6, 1, 0, 0, 0, 0, 1, 0, 0, 4, 7, 3, 2, 1, 0, 2, 2, 0, 1, 1, 2, 1, 0, 1, 1, 6, 5, 1, 2, 1, 1, 0, 1, 0, 1, 0, 8, 1, 1, 2, 0, 0, 1, 1, 1, 5, 0, 1, 0, 2, 4, 1, 0, 1, 0, 5, 0, 0, 3, 1, 1, 5, 3, 1, 1, 1, 3, 14, 0, 0, 0, 1, 2, 2, 1, 2, 4, 0, 2, 0, 0, 1, 0, 0, 3, 9, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 9, 2, 0, 0, 3, 3, 1, 1, 2, 1, 4, 1, 5, 1, 0, 3, 0, 1, 0, 1, 1, 3, 3, 1, 0, 0, 1, 4, 0, 1, 4, 3, 0, 1, 4, 5, 0, 0, 0, 4, 2, 4, 3, 0, 6, 0, 3, 0, 0, 0, 1, 4, 0, 3, 2, 2, 2, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 3, 1, 4, 2, 0, 1, 1, 0, 3, 0, 0, 1, 2, 5, 0, 4, 0, 1, 5, 0, 0, 0, 0, 0, 8, 0, 0, 6, 3, 0, 14, 2, 2, 0, 5, 0, 1, 0, 2, 1, 0, 0, 0, 0, 0, 1, 1, 2, 9, 2, 0, 0, 10, 4, 1, 8, 0, 0, 1, 7, 0, 3, 1, 6, 0, 0, 0, 0, 5, 0, 0, 0, 6, 0, 0, 1, 2, 0, 3, 5, 20, 0, 6, 0, 7, 0, 3, 1, 2, 1, 1, 2, 8, 0, 2, 3, 2, 0, 2, 1, 2, 4, 6, 1, 0, 3, 0, 1, 0, 16, 3, 4, 2, 0, 2, 1, 2, 0, 3, 0, 14, 2, 1, 2, 1, 0, 2, 16, 0, 5, 0, 4, 3, 2, 1, 0, 10, 0, 1, 1, 0, 1, 0, 5, 6, 1, 1, 0, 1, 4, 4, 1, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 1, 0, 8, 11, 6, 0, 0, 2, 10, 0, 0, 2, 4, 7, 2, 6, 1, 3, 8, 5, 0, 0, 6, 0, 0, 3, 5, 1, 0, 1, 1, 0, 0, 0, 6, 0, 3, 4, 1, 2, 2, 10, 0, 0, 0, 0, 0, 3, 4, 3, 0, 2, 0, 0, 4, 0, 3, 0, 0, 1, 1, 0, 10, 1, 2, 5, 0, 1, 10, 7, 3, 0, 0, 0, 0, 2, 6, 0, 3, 0, 2, 0, 1, 0, 0, 4, 0, 4, 5, 2, 1, 0, 7, 7, 1, 0, 1, 1, 14, 10, 1, 0, 6, 0, 0, 10, 1, 2, 0, 9, 1, 5, 2, 0, 1, 17, 4, 3, 7, 0, 1, 4, 2, 0, 4, 2, 0, 11, 1, 9, 0, 7, 0, 2, 0, 0, 0, 1, 0, 0, 0, 1, 5, 1, 0, 1, 2, 4, 3, 2, 5, 0, 9, 3, 0, 21, 3, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 11, 0, 5, 1, 0, 0, 1, 6, 0, 8, 0, 10, 5, 17, 7, 0, 10, 4, 0, 0, 0, 4, 8, 0, 3, 5, 0, 0, 2, 4, 1, 0, 0, 1, 1, 0, 2, 0, 4, 0, 0, 6, 10, 3, 0, 3, 0, 1, 0, 0, 2, 1, 3, 0, 1, 0, 7, 8, 15, 0, 0, 0, 0, 0, 3, 3, 9, 3, 1, 0, 0, 4, 0, 0, 23, 5, 0, 0, 0, 6, 0, 0, 7, 0, 25, 0, 1, 1, 1, 0, 0, 5, 2, 4, 5, 4, 0, 5, 2, 0, 13, 1, 8, 8, 0, 0, 5, 8, 4, 4, 1, 1, 0, 0, 4, 14, 2, 2, 6, 1, 9, 3, 0, 13, 0, 1, 0, 0, 2, 5, 3, 2, 11, 0, 2, 0, 19, 12, 3, 10, 1, 6, 12, 2, 3, 0, 14, 0, 13, 38, 0, 1, 0, 1, 3, 2, 0, 2, 11, 2, 0, 0, 22, 5, 0, 3, 16, 0, 3, 0, 8, 20, 0, 0, 48, 4, 10, 10, 1, 1, 0, 2, 7, 27, 1, 0, 1, 0, 8, 0, 0, 0, 4, 5, 0, 1, 0, 1, 0, 0, 16, 2, 2, 9, 0, 2, 4, 5, 8, 3, 0, 0, 23, 10, 0, 0, 0, 11, 0, 0, 0, 0, 1, 34, 0, 2, 5, 0, 1, 0, 0, 1, 0, 2, 5, 3, 8, 2, 0, 0, 8, 8, 10, 1, 0, 10, 1, 0, 5, 0, 1, 0, 3, 0, 49, 4, 2, 6, 0, 8, 2, 0, 1, 0, 4, 4, 12, 0, 2, 0, 0, 0, 0, 0, 0, 0, 4, 1, 5, 0, 2, 19, 0, 8, 20, 16, 0, 3, 0, 1, 0, 0, 37, 9, 2, 0, 32, 0, 0, 8, 2, 6, 94, 4, 10, 0, 5, 16, 16, 45, 9, 0, 0, 3, 0, 58, 2, 8, 1, 5, 1, 8, 7, 5, 0, 6, 15, 0, 0, 6, 2, 14, 0, 52, 9, 5, 16, 4, 6, 0, 52, 0, 68, 11, 0, 99, 7, 0, 0, 11, 2, 1, 0, 5, 0, 7, 0, 3, 1, 0, 10, 2, 0, 22, 0, 7, 57, 0, 0, 0, 3, 0, 1, 14, 0, 2, 5, 1, 2, 105, 175, 0, 30, 6, 1, 32, 12, 17, 4, 11, 1, 0, 0, 0, 2, 66, 0, 5, 12, 86, 66, 0, 0, 0, 49, 41, 6, 0, 104, 145, 224, 132, 7, 51, 2, 1, 0, 2, 201, 0, 0, 189, 7, 7, 63, 0, 364, 1, 0, 1073, 0, 1 }; using KV = std::pair; static const KV words[988] = { {"StorageClassUniform", SpvWord{2}}, {"MemoryModelVulkanKHR", SpvWord{3}}, {"ImageOperandsNonPrivateTexel", SpvWord{1024}}, {"CapabilitySubgroupAvcMotionEstimationIntraINTEL", SpvWord{5697}}, {"BuiltInNumWorkgroups", SpvWord{24}}, {"DecorationOverrideCoverageNV", SpvWord{5248}}, {"CapabilityDeviceGroup", SpvWord{4437}}, {"DecorationGLSLShared", SpvWord{8}}, {"ImageOperandsNone", SpvWord{0}}, {"CapabilityRayTracingPositionFetchKHR", SpvWord{5336}}, {"CapabilityFragmentShaderPixelInterlockEXT", SpvWord{5378}}, {"ExecutionModeSampleInterlockUnorderedEXT", SpvWord{5369}}, {"ImageFormatRgba16ui", SpvWord{31}}, {"CooperativeMatrixUseMatrixAKHR", SpvWord{0}}, {"ImageOperandsConstOffset", SpvWord{8}}, {"BuiltInSubgroupLtMaskKHR", SpvWord{4420}}, {"DecorationCounterBuffer", SpvWord{5634}}, {"ExecutionModeLocalSizeId", SpvWord{38}}, {"CooperativeMatrixOperandsMatrixResultSignedComponentsKHR", SpvWord{8}}, {"CapabilityFunctionFloatControlINTEL", SpvWord{5821}}, {"DecorationSimpleDualPortINTEL", SpvWord{5833}}, {"CapabilityStorageUniform16", SpvWord{4434}}, {"ImageChannelOrderDepth", SpvWord{13}}, {"SourceLanguageCPP_for_OpenCL", SpvWord{6}}, {"DecorationArrayStride", SpvWord{6}}, {"ImageFormatR16Snorm", SpvWord{19}}, {"CapabilityKernel", SpvWord{6}}, {"ExecutionModelRayGenerationKHR", SpvWord{5313}}, {"BuiltInLaunchSizeNV", SpvWord{5320}}, {"BuiltInWarpMaxIDARM", SpvWord{4164}}, {"OverflowModesSAT_SYM", SpvWord{3}}, {"CapabilityFragmentBarycentricNV", SpvWord{5284}}, {"SourceLanguageGLSL", SpvWord{2}}, {"BuiltInRayGeometryIndexKHR", SpvWord{5352}}, {"DecorationHlslSemanticGOOGLE", SpvWord{5635}}, {"DecorationLinkageAttributes", SpvWord{41}}, {"ImageChannelOrdersRGB", SpvWord{15}}, {"ImageFormatRg8Snorm", SpvWord{18}}, {"CapabilityShaderViewportIndexLayerNV", SpvWord{5254}}, {"GroupOperationPartitionedInclusiveScanNV", SpvWord{7}}, {"ImageChannelDataTypeUnormShort565", SpvWord{4}}, {"BuiltInSubgroupLeMaskKHR", SpvWord{4419}}, {"CapabilityFragmentDensityEXT", SpvWord{5291}}, {"RayQueryIntersectionRayQueryCandidateIntersectionKHR", SpvWord{0}}, {"BuiltInLaunchIdKHR", SpvWord{5319}}, {"CapabilityTextureSampleWeightedQCOM", SpvWord{4484}}, {"ImageOperandsGrad", SpvWord{4}}, {"ImageOperandsOffset", SpvWord{16}}, {"CapabilityFPGARegINTEL", SpvWord{5948}}, {"DecorationCoherent", SpvWord{23}}, {"ExecutionModelAnyHitKHR", SpvWord{5315}}, {"ExecutionModeRegisterMapInterfaceINTEL", SpvWord{6160}}, {"LoopControlDependencyArrayINTEL", SpvWord{262144}}, {"DecorationBurstCoalesceINTEL", SpvWord{5899}}, {"ImageChannelDataTypeSignedInt16", SpvWord{8}}, {"SamplerAddressingModeClampToEdge", SpvWord{1}}, {"ImageOperandsSignExtend", SpvWord{4096}}, {"CapabilityGeometryPointSize", SpvWord{24}}, {"BuiltInFragSizeEXT", SpvWord{5292}}, {"StorageClassHitAttributeNV", SpvWord{5339}}, {"CapabilityVectorAnyINTEL", SpvWord{5619}}, {"LoadCacheControlUncachedINTEL", SpvWord{0}}, {"ExecutionModeSignedZeroInfNanPreserve", SpvWord{4461}}, {"ImageFormatR32f", SpvWord{3}}, {"CapabilityRoundingModeRTE", SpvWord{4467}}, {"ExecutionModeStreamingInterfaceINTEL", SpvWord{6154}}, {"CapabilityGroupNonUniform", SpvWord{61}}, {"ExecutionModeContractionOff", SpvWord{31}}, {"DecorationBoundImageNV", SpvWord{5401}}, {"DecorationNodeSharesPayloadLimitsWithAMDX", SpvWord{5019}}, {"BuiltInObjectRayDirectionKHR", SpvWord{5324}}, {"ExecutionModeStencilRefUnchangedFrontAMD", SpvWord{5079}}, {"ExecutionModelIntersectionKHR", SpvWord{5314}}, {"ImageFormatRgba8", SpvWord{4}}, {"CapabilityDotProductKHR", SpvWord{6019}}, {"DecorationAliasedPointer", SpvWord{5356}}, {"CapabilityGroupUniformArithmeticKHR", SpvWord{6400}}, {"CapabilityFunctionPointersINTEL", SpvWord{5603}}, {"DecorationRowMajor", SpvWord{4}}, {"CapabilityGeometryStreams", SpvWord{54}}, {"DecorationPipelineEnableINTEL", SpvWord{5919}}, {"DecorationNonUniform", SpvWord{5300}}, {"ExecutionModeLocalSize", SpvWord{17}}, {"DimCube", SpvWord{3}}, {"CapabilityStorageBuffer8BitAccess", SpvWord{4448}}, {"LoopControlLoopCountINTEL", SpvWord{16777216}}, {"ImageChannelOrderIntensity", SpvWord{8}}, {"CapabilityFloatingPointModeINTEL", SpvWord{5583}}, {"FunctionParameterAttributeSext", SpvWord{1}}, {"CapabilityComputeDerivativeGroupQuadsNV", SpvWord{5288}}, {"ImageOperandsOffsets", SpvWord{65536}}, {"StorageClassHitAttributeKHR", SpvWord{5339}}, {"LoopControlDependencyLength", SpvWord{8}}, {"ExecutionModeMaxWorkDimINTEL", SpvWord{5894}}, {"CapabilityShaderViewportIndex", SpvWord{70}}, {"ImageFormatUnknown", SpvWord{0}}, {"DecorationBindlessImageNV", SpvWord{5399}}, {"DecorationMaxConcurrencyINTEL", SpvWord{5918}}, {"CooperativeMatrixOperandsMatrixASignedComponentsKHR", SpvWord{1}}, {"DecorationMaxByteOffsetId", SpvWord{47}}, {"MemorySemanticsOutputMemory", SpvWord{4096}}, {"SamplerAddressingModeRepeatMirrored", SpvWord{4}}, {"CapabilityStorageBufferArrayNonUniformIndexing", SpvWord{5308}}, {"BuiltInHitTNV", SpvWord{5332}}, {"CapabilityLinkage", SpvWord{5}}, {"BuiltInWorldToObjectKHR", SpvWord{5331}}, {"BuiltInGlobalInvocationId", SpvWord{28}}, {"ImageFormatR64ui", SpvWord{40}}, {"BuiltInBaryCoordNoPerspNV", SpvWord{5287}}, {"BuiltInWorkDim", SpvWord{30}}, {"CapabilitySampledRect", SpvWord{37}}, {"FunctionParameterAttributeNoCapture", SpvWord{5}}, {"LoopControlInitiationIntervalINTEL", SpvWord{65536}}, {"ExecutionModeSpacingFractionalEven", SpvWord{2}}, {"DecorationImplementInRegisterMapINTEL", SpvWord{6148}}, {"CapabilityExpectAssumeKHR", SpvWord{5629}}, {"ImageFormatRgba16f", SpvWord{2}}, {"BuiltInSMIDNV", SpvWord{5377}}, {"MemorySemanticsMakeVisible", SpvWord{16384}}, {"BuiltInBaryCoordPullModelAMD", SpvWord{4998}}, {"CapabilitySampledImageArrayDynamicIndexing", SpvWord{29}}, {"QuantizationModesRND_MIN_INF", SpvWord{5}}, {"ImageFormatRg16i", SpvWord{26}}, {"AccessQualifierWriteOnly", SpvWord{1}}, {"CapabilityFloat64", SpvWord{10}}, {"BuiltInBaryCoordNV", SpvWord{5286}}, {"CapabilityRayTracingKHR", SpvWord{4479}}, {"SourceLanguageOpenCL_CPP", SpvWord{4}}, {"ExecutionModeNonCoherentColorAttachmentReadEXT", SpvWord{4169}}, {"DecorationUniform", SpvWord{26}}, {"DecorationBindlessSamplerNV", SpvWord{5398}}, {"CapabilityFragmentShadingRateKHR", SpvWord{4422}}, {"OverflowModesSAT_ZERO", SpvWord{2}}, {"DecorationSample", SpvWord{17}}, {"CapabilityInputAttachment", SpvWord{40}}, {"CapabilityAtomicFloat32AddEXT", SpvWord{6033}}, {"CapabilityVector16", SpvWord{7}}, {"CapabilityAtomicFloat16AddEXT", SpvWord{6095}}, {"BuiltInFragInvocationCountEXT", SpvWord{5293}}, {"LoadCacheControlCachedINTEL", SpvWord{1}}, {"StorageClassUniformConstant", SpvWord{0}}, {"BuiltInCoreCountARM", SpvWord{4161}}, {"CapabilityShaderViewportIndexLayerEXT", SpvWord{5254}}, {"BuiltInGlobalLinearId", SpvWord{34}}, {"BuiltInWarpsPerSMNV", SpvWord{5374}}, {"CapabilityStorageTexelBufferArrayDynamicIndexingEXT", SpvWord{5305}}, {"CapabilitySignedZeroInfNanPreserve", SpvWord{4466}}, {"RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionGeneratedKHR", SpvWord{2}}, {"ExecutionModeOutputLinesNV", SpvWord{5269}}, {"DecorationLocation", SpvWord{30}}, {"DecorationVectorComputeFunctionINTEL", SpvWord{5626}}, {"ExecutionModeStaticNumWorkgroupsAMDX", SpvWord{5072}}, {"CapabilityTessellation", SpvWord{3}}, {"ImageOperandsNontemporal", SpvWord{16384}}, {"BuiltInCoalescedInputCountAMDX", SpvWord{5021}}, {"CapabilityNamedBarrier", SpvWord{59}}, {"ImageFormatR8Snorm", SpvWord{20}}, {"AddressingModelPhysicalStorageBuffer64EXT", SpvWord{5348}}, {"ImageOperandsVolatileTexel", SpvWord{2048}}, {"RayFlagsCullFrontFacingTrianglesKHR", SpvWord{32}}, {"ExecutionModeFinalizer", SpvWord{34}}, {"CapabilityMultiView", SpvWord{4439}}, {"DecorationSingleElementVectorINTEL", SpvWord{6085}}, {"BuiltInGlobalOffset", SpvWord{33}}, {"DecorationPerPrimitiveEXT", SpvWord{5271}}, {"BuiltInSubgroupLeMask", SpvWord{4419}}, {"ExecutionModelClosestHitKHR", SpvWord{5316}}, {"DecorationPerViewNV", SpvWord{5272}}, {"DimBuffer", SpvWord{5}}, {"CapabilityPhysicalStorageBufferAddresses", SpvWord{5347}}, {"CapabilityImageReadWriteLodAMD", SpvWord{5015}}, {"MemorySemanticsSubgroupMemory", SpvWord{128}}, {"FunctionParameterAttributeNoAlias", SpvWord{4}}, {"CapabilityFloat16ImageAMD", SpvWord{5008}}, {"BuiltInVertexId", SpvWord{5}}, {"BuiltInCoreMaxIDARM", SpvWord{4162}}, {"ImageChannelDataTypeUnormInt101010_2", SpvWord{16}}, {"CapabilityFPGAInvocationPipeliningAttributesINTEL", SpvWord{5916}}, {"CapabilityVulkanMemoryModelDeviceScope", SpvWord{5346}}, {"ExecutionModelIntersectionNV", SpvWord{5314}}, {"DecorationVectorComputeVariableINTEL", SpvWord{5624}}, {"DecorationMaxPrivateCopiesINTEL", SpvWord{5829}}, {"ExecutionModeNonCoherentDepthAttachmentReadEXT", SpvWord{4170}}, {"CapabilityUniformAndStorageBuffer8BitAccess", SpvWord{4449}}, {"BuiltInInstanceId", SpvWord{6}}, {"BuiltInEnqueuedWorkgroupSize", SpvWord{32}}, {"BuiltInWorldRayOriginKHR", SpvWord{5321}}, {"ImageChannelOrdersRGBA", SpvWord{17}}, {"BuiltInSubgroupLtMask", SpvWord{4420}}, {"ImageFormatR16ui", SpvWord{38}}, {"DecorationReferencedIndirectlyINTEL", SpvWord{5602}}, {"MemoryAccessAliasScopeINTELMask", SpvWord{65536}}, {"DecorationNodeMaxPayloadsAMDX", SpvWord{5020}}, {"StorageClassPhysicalStorageBufferEXT", SpvWord{5349}}, {"BuiltInWarpIDNV", SpvWord{5376}}, {"BuiltInHitMicroTriangleVertexPositionsNV", SpvWord{5337}}, {"CapabilityVariablePointersStorageBuffer", SpvWord{4441}}, {"BuiltInShaderIndexAMDX", SpvWord{5073}}, {"CapabilityPipeStorage", SpvWord{60}}, {"ExecutionModeNamedBarrierCountINTEL", SpvWord{6417}}, {"DecorationBoundSamplerNV", SpvWord{5400}}, {"ExecutionModeSpacingEqual", SpvWord{1}}, {"MemoryAccessNonPrivatePointer", SpvWord{32}}, {"BuiltInLocalInvocationId", SpvWord{27}}, {"FragmentShadingRateVertical2Pixels", SpvWord{1}}, {"BuiltInNumSubgroups", SpvWord{38}}, {"BuiltInFragDepth", SpvWord{22}}, {"CapabilityFPGADSPControlINTEL", SpvWord{5908}}, {"BuiltInBaseInstance", SpvWord{4425}}, {"CapabilitySubgroupVoteKHR", SpvWord{4431}}, {"CapabilityImageMipmap", SpvWord{15}}, {"DecorationBankBitsINTEL", SpvWord{5835}}, {"DecorationMMHostInterfaceAddressWidthINTEL", SpvWord{6177}}, {"BuiltInInstanceIndex", SpvWord{43}}, {"CapabilityDeviceEnqueue", SpvWord{19}}, {"MemoryModelVulkan", SpvWord{3}}, {"CapabilitySampleRateShading", SpvWord{35}}, {"CapabilityComputeDerivativeGroupLinearNV", SpvWord{5350}}, {"BuiltInFragmentSizeNV", SpvWord{5292}}, {"BuiltInTessCoord", SpvWord{13}}, {"DecorationMediaBlockIOINTEL", SpvWord{6140}}, {"CapabilityTessellationPointSize", SpvWord{23}}, {"ExecutionModePixelInterlockUnorderedEXT", SpvWord{5367}}, {"MemoryAccessNonPrivatePointerKHR", SpvWord{32}}, {"DecorationExplicitInterpAMD", SpvWord{4999}}, {"CapabilitySubgroupShuffleINTEL", SpvWord{5568}}, {"LinkageTypeExport", SpvWord{0}}, {"CapabilityGenericPointer", SpvWord{38}}, {"ExecutionModeNumSIMDWorkitemsINTEL", SpvWord{5896}}, {"DecorationFPMaxErrorDecorationINTEL", SpvWord{6170}}, {"BuiltInSMCountNV", SpvWord{5375}}, {"BuiltInNumEnqueuedSubgroups", SpvWord{39}}, {"DecorationRegisterINTEL", SpvWord{5825}}, {"DecorationCacheSizeINTEL", SpvWord{5900}}, {"ExecutionModeOutputPrimitivesEXT", SpvWord{5270}}, {"ImageChannelOrderBGRA", SpvWord{6}}, {"DecorationBuiltIn", SpvWord{11}}, {"StorageClassRayPayloadKHR", SpvWord{5338}}, {"MemoryModelGLSL450", SpvWord{1}}, {"BuiltInSampleId", SpvWord{18}}, {"CapabilitySparseResidency", SpvWord{41}}, {"DecorationForcePow2DepthINTEL", SpvWord{5836}}, {"DecorationMaxReplicatesINTEL", SpvWord{5832}}, {"ImageOperandsBias", SpvWord{1}}, {"ExecutionModeFloatingPointModeIEEEINTEL", SpvWord{5623}}, {"CapabilityAddresses", SpvWord{4}}, {"BuiltInWorldRayDirectionNV", SpvWord{5322}}, {"RayFlagsCullBackFacingTrianglesKHR", SpvWord{16}}, {"ImageFormatR32ui", SpvWord{33}}, {"LoopControlDependencyInfinite", SpvWord{4}}, {"KernelEnqueueFlagsNoWait", SpvWord{0}}, {"FPRoundingModeRTZ", SpvWord{1}}, {"CapabilityGeometry", SpvWord{2}}, {"DecorationCentroid", SpvWord{16}}, {"DecorationMemoryINTEL", SpvWord{5826}}, {"CapabilityUniformDecoration", SpvWord{71}}, {"StorageClassOutput", SpvWord{3}}, {"OverflowModesSAT", SpvWord{1}}, {"StoreCacheControlUncachedINTEL", SpvWord{0}}, {"DecorationMMHostInterfaceMaxBurstINTEL", SpvWord{6181}}, {"BuiltInHitKindKHR", SpvWord{5333}}, {"HostAccessQualifierReadINTEL", SpvWord{1}}, {"ImageOperandsMakeTexelVisible", SpvWord{512}}, {"LoopControlMaxInterleavingINTEL", SpvWord{2097152}}, {"ExecutionModeIsolines", SpvWord{25}}, {"FunctionParameterAttributeRuntimeAlignedINTEL", SpvWord{5940}}, {"CapabilityRuntimeAlignedAttributeINTEL", SpvWord{5939}}, {"CapabilityGlobalVariableHostAccessINTEL", SpvWord{6167}}, {"DecorationNoUnsignedWrap", SpvWord{4470}}, {"FPDenormModePreserve", SpvWord{0}}, {"Dim2D", SpvWord{1}}, {"BuiltInIncomingRayFlagsKHR", SpvWord{5351}}, {"MemorySemanticsAcquireRelease", SpvWord{8}}, {"CapabilityShaderSMBuiltinsNV", SpvWord{5373}}, {"MemorySemanticsMakeAvailable", SpvWord{8192}}, {"MemoryAccessNone", SpvWord{0}}, {"ExecutionModeMaxWorkgroupSizeINTEL", SpvWord{5893}}, {"CapabilityDemoteToHelperInvocation", SpvWord{5379}}, {"Dim1D", SpvWord{0}}, {"ImageChannelDataTypeUnormInt101010", SpvWord{6}}, {"StorageClassStorageBuffer", SpvWord{12}}, {"CapabilityTextureBoxFilterQCOM", SpvWord{4485}}, {"CapabilityCooperativeMatrixNV", SpvWord{5357}}, {"StorageClassIncomingCallableDataKHR", SpvWord{5329}}, {"CapabilityGroupNonUniformShuffle", SpvWord{65}}, {"DimRect", SpvWord{4}}, {"ImageChannelOrderRG", SpvWord{2}}, {"ExecutionModeRoundingModeRTNINTEL", SpvWord{5621}}, {"DecorationBlockMatchTextureQCOM", SpvWord{4488}}, {"ExecutionModeVecTypeHint", SpvWord{30}}, {"LoadCacheControlConstCachedINTEL", SpvWord{4}}, {"CapabilityUnstructuredLoopControlsINTEL", SpvWord{5886}}, {"StoreCacheControlStreamingINTEL", SpvWord{3}}, {"FunctionControlConst", SpvWord{8}}, {"CapabilityGeometryShaderPassthroughNV", SpvWord{5251}}, {"DecorationBufferBlock", SpvWord{3}}, {"StorageClassIncomingCallableDataNV", SpvWord{5329}}, {"ExecutionModelTaskNV", SpvWord{5267}}, {"MemorySemanticsSequentiallyConsistent", SpvWord{16}}, {"StorageClassCodeSectionINTEL", SpvWord{5605}}, {"ImageChannelOrderDepthStencil", SpvWord{14}}, {"ImageFormatR16f", SpvWord{9}}, {"BuiltInSecondaryViewportMaskNV", SpvWord{5258}}, {"DecorationOffset", SpvWord{35}}, {"CapabilityInt64ImageEXT", SpvWord{5016}}, {"ExecutionModeOutputLineStrip", SpvWord{28}}, {"ImageFormatRg32i", SpvWord{25}}, {"BuiltInRayTminNV", SpvWord{5325}}, {"ImageChannelOrderRGB", SpvWord{4}}, {"CapabilityImageBuffer", SpvWord{47}}, {"CapabilityStorageImageMultisample", SpvWord{27}}, {"BuiltInPointSize", SpvWord{1}}, {"CapabilitySampledImageArrayNonUniformIndexing", SpvWord{5307}}, {"BuiltInWorkgroupSize", SpvWord{25}}, {"DecorationSinglepumpINTEL", SpvWord{5830}}, {"ImageChannelOrdersBGRA", SpvWord{18}}, {"PackedVectorFormatPackedVectorFormat4x8Bit", SpvWord{0}}, {"LoopControlNone", SpvWord{0}}, {"DecorationMMHostInterfaceWaitRequestINTEL", SpvWord{6182}}, {"CapabilityRayQueryProvisionalKHR", SpvWord{4471}}, {"BuiltInInvocationsPerPixelNV", SpvWord{5293}}, {"DecorationSecondaryViewportRelativeNV", SpvWord{5256}}, {"CapabilityImageCubeArray", SpvWord{34}}, {"CapabilityVectorComputeINTEL", SpvWord{5617}}, {"CapabilityCoreBuiltinsARM", SpvWord{4165}}, {"CapabilityUniformTexelBufferArrayNonUniformIndexing", SpvWord{5311}}, {"FPFastMathModeNotInf", SpvWord{2}}, {"ExecutionModePixelCenterInteger", SpvWord{6}}, {"FPOperationModeALT", SpvWord{1}}, {"DecorationNonWritable", SpvWord{24}}, {"FunctionParameterAttributeNoReadWrite", SpvWord{7}}, {"DecorationRestrict", SpvWord{19}}, {"ExecutionModeSchedulerTargetFmaxMhzINTEL", SpvWord{5903}}, {"BuiltInPointCoord", SpvWord{16}}, {"ImageFormatR11fG11fB10f", SpvWord{8}}, {"ImageChannelOrderRx", SpvWord{10}}, {"ImageOperandsMakeTexelVisibleKHR", SpvWord{512}}, {"ExecutionModeOutputTrianglesEXT", SpvWord{5298}}, {"CapabilityFPGAClusterAttributesINTEL", SpvWord{5904}}, {"StorageClassAtomicCounter", SpvWord{10}}, {"BuiltInBaryCoordNoPerspSampleAMD", SpvWord{4994}}, {"SelectionControlDontFlatten", SpvWord{2}}, {"BuiltInFragCoord", SpvWord{15}}, {"BuiltInBaryCoordKHR", SpvWord{5286}}, {"ImageOperandsZeroExtend", SpvWord{8192}}, {"CapabilityUniformBufferArrayNonUniformIndexingEXT", SpvWord{5306}}, {"ImageFormatRg16Snorm", SpvWord{17}}, {"MemorySemanticsVolatile", SpvWord{32768}}, {"BuiltInBaryCoordSmoothSampleAMD", SpvWord{4997}}, {"StorageClassRayPayloadNV", SpvWord{5338}}, {"ExecutionModeSharedLocalMemorySizeINTEL", SpvWord{5618}}, {"MemoryAccessMakePointerVisible", SpvWord{16}}, {"DecorationMergeINTEL", SpvWord{5834}}, {"ImageChannelDataTypeUnsignedInt8", SpvWord{10}}, {"CapabilityVulkanMemoryModelDeviceScopeKHR", SpvWord{5346}}, {"DecorationAlignmentId", SpvWord{46}}, {"StorageClassCallableDataKHR", SpvWord{5328}}, {"ExecutionModeMaxNodeRecursionAMDX", SpvWord{5071}}, {"ImageChannelOrderRA", SpvWord{3}}, {"CapabilityDotProductInput4x8BitPackedKHR", SpvWord{6018}}, {"ExecutionModelFragment", SpvWord{4}}, {"SourceLanguageESSL", SpvWord{1}}, {"AccessQualifierReadWrite", SpvWord{2}}, {"CapabilityUniformTexelBufferArrayNonUniformIndexingEXT", SpvWord{5311}}, {"CapabilityTileImageStencilReadAccessEXT", SpvWord{4168}}, {"DecorationAliasedPointerEXT", SpvWord{5356}}, {"DecorationUserTypeGOOGLE", SpvWord{5636}}, {"BuiltInCoreIDARM", SpvWord{4160}}, {"CapabilityInputAttachmentArrayDynamicIndexing", SpvWord{5303}}, {"BuiltInTessLevelOuter", SpvWord{11}}, {"DecorationInputAttachmentIndex", SpvWord{43}}, {"ExecutionModeXfb", SpvWord{11}}, {"ExecutionModeDerivativeGroupLinearNV", SpvWord{5290}}, {"CapabilityShaderNonUniformEXT", SpvWord{5301}}, {"MemoryAccessNoAliasINTELMask", SpvWord{131072}}, {"ImageChannelDataTypeSnormInt8", SpvWord{0}}, {"CapabilityRayTracingOpacityMicromapEXT", SpvWord{5381}}, {"BuiltInInstanceCustomIndexKHR", SpvWord{5327}}, {"LoopControlMaxIterations", SpvWord{32}}, {"ImageChannelDataTypeUnsignedInt16", SpvWord{11}}, {"CapabilityRayTraversalPrimitiveCullingKHR", SpvWord{4478}}, {"BuiltInTaskCountNV", SpvWord{5274}}, {"InitializationModeQualifierInitOnDeviceResetINTEL", SpvWord{1}}, {"CapabilityMeshShadingNV", SpvWord{5266}}, {"BuiltInRayTmaxKHR", SpvWord{5326}}, {"FragmentShadingRateHorizontal4Pixels", SpvWord{8}}, {"DecorationHlslCounterBufferGOOGLE", SpvWord{5634}}, {"DecorationBinding", SpvWord{33}}, {"BuiltInPrimitiveIndicesNV", SpvWord{5276}}, {"BuiltInInstanceCustomIndexNV", SpvWord{5327}}, {"HostAccessQualifierWriteINTEL", SpvWord{2}}, {"MemorySemanticsRelease", SpvWord{4}}, {"BuiltInViewportMaskNV", SpvWord{5253}}, {"ImageChannelDataTypeUnormInt16", SpvWord{3}}, {"ExecutionModeEarlyFragmentTests", SpvWord{9}}, {"ExecutionModelGeometry", SpvWord{3}}, {"CapabilityMinLod", SpvWord{42}}, {"DecorationDontStaticallyCoalesceINTEL", SpvWord{5901}}, {"CapabilityFPGAMemoryAccessesINTEL", SpvWord{5898}}, {"CapabilityShaderNonUniform", SpvWord{5301}}, {"BuiltInPosition", SpvWord{0}}, {"BuiltInSamplePosition", SpvWord{19}}, {"ExecutionModeDenormFlushToZero", SpvWord{4460}}, {"BuiltInObjectRayOriginNV", SpvWord{5323}}, {"CapabilityStorageInputOutput16", SpvWord{4436}}, {"CapabilityDrawParameters", SpvWord{4427}}, {"ExecutionModeDenormPreserve", SpvWord{4459}}, {"SelectionControlNone", SpvWord{0}}, {"CapabilitySampledImageArrayNonUniformIndexingEXT", SpvWord{5307}}, {"AccessQualifierReadOnly", SpvWord{0}}, {"DecorationXfbStride", SpvWord{37}}, {"DecorationPerTaskNV", SpvWord{5273}}, {"BuiltInCullDistancePerViewNV", SpvWord{5278}}, {"CapabilityGroupNonUniformShuffleRelative", SpvWord{66}}, {"CapabilityImageMSArray", SpvWord{48}}, {"BuiltInCullMaskKHR", SpvWord{6021}}, {"CapabilityGroupNonUniformPartitionedNV", SpvWord{5297}}, {"KernelProfilingInfoNone", SpvWord{0}}, {"DecorationNoSignedWrap", SpvWord{4469}}, {"ExecutionModeTriangles", SpvWord{22}}, {"ExecutionModeOutputTrianglesNV", SpvWord{5298}}, {"ImageChannelOrdersRGBx", SpvWord{16}}, {"MemorySemanticsCrossWorkgroupMemory", SpvWord{512}}, {"CapabilitySubgroupAvcMotionEstimationChromaINTEL", SpvWord{5698}}, {"CapabilityDebugInfoModuleINTEL", SpvWord{6114}}, {"BuiltInWorldRayOriginNV", SpvWord{5321}}, {"GroupOperationPartitionedExclusiveScanNV", SpvWord{8}}, {"DecorationFunctionFloatingPointModeINTEL", SpvWord{6080}}, {"KernelProfilingInfoCmdExecTime", SpvWord{1}}, {"CapabilityAtomicFloat64MinMaxEXT", SpvWord{5613}}, {"ImageFormatRgb10a2ui", SpvWord{34}}, {"StorageClassShaderRecordBufferKHR", SpvWord{5343}}, {"GroupOperationClusteredReduce", SpvWord{3}}, {"DecorationMMHostInterfaceLatencyINTEL", SpvWord{6179}}, {"DecorationUniformId", SpvWord{27}}, {"ImageChannelOrderR", SpvWord{0}}, {"ExecutionModeStencilRefGreaterFrontAMD", SpvWord{5080}}, {"DimTileImageDataEXT", SpvWord{4173}}, {"ExecutionModeSubgroupUniformControlFlowKHR", SpvWord{4421}}, {"CapabilityInputAttachmentArrayNonUniformIndexingEXT", SpvWord{5310}}, {"ImageFormatRg16", SpvWord{12}}, {"CapabilityRayQueryKHR", SpvWord{4472}}, {"RayQueryIntersectionRayQueryCommittedIntersectionKHR", SpvWord{1}}, {"ScopeSubgroup", SpvWord{3}}, {"ImageOperandsConstOffsets", SpvWord{32}}, {"SourceLanguageWGSL", SpvWord{10}}, {"CapabilityStorageBufferArrayDynamicIndexing", SpvWord{30}}, {"ExecutionModeSubgroupsPerWorkgroup", SpvWord{36}}, {"DecorationFPFastMathMode", SpvWord{40}}, {"DecorationCPacked", SpvWord{10}}, {"DecorationMatrixStride", SpvWord{7}}, {"DecorationPerVertexKHR", SpvWord{5285}}, {"BuiltInBaseVertex", SpvWord{4424}}, {"ExecutionModeVertexOrderCcw", SpvWord{5}}, {"ImageFormatRgba32f", SpvWord{1}}, {"DecorationPerPrimitiveNV", SpvWord{5271}}, {"BuiltInViewIndex", SpvWord{4440}}, {"StorageClassPhysicalStorageBuffer", SpvWord{5349}}, {"AddressingModelLogical", SpvWord{0}}, {"RayFlagsSkipClosestHitShaderKHR", SpvWord{8}}, {"StorageClassGeneric", SpvWord{8}}, {"CapabilityImageQuery", SpvWord{50}}, {"RayFlagsOpaqueKHR", SpvWord{1}}, {"DecorationFuncParamIOKindINTEL", SpvWord{5625}}, {"CapabilityFPGALatencyControlINTEL", SpvWord{6171}}, {"ImageFormatRgba32i", SpvWord{21}}, {"SelectionControlFlatten", SpvWord{1}}, {"DecorationPatch", SpvWord{15}}, {"GroupOperationInclusiveScan", SpvWord{1}}, {"CapabilityCacheControlsINTEL", SpvWord{6441}}, {"CapabilitySubgroupBufferBlockIOINTEL", SpvWord{5569}}, {"CapabilityInt16", SpvWord{22}}, {"BuiltInWorldToObjectNV", SpvWord{5331}}, {"SourceLanguageHLSL", SpvWord{5}}, {"ExecutionModeInputLines", SpvWord{20}}, {"DecorationNoAliasINTEL", SpvWord{5915}}, {"RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionTriangleKHR", SpvWord{1}}, {"ExecutionModelCallableKHR", SpvWord{5318}}, {"ImageOperandsMinLod", SpvWord{128}}, {"LoopControlUnroll", SpvWord{1}}, {"CapabilityMemoryAccessAliasingINTEL", SpvWord{5910}}, {"DecorationIOPipeStorageINTEL", SpvWord{5944}}, {"ExecutionModeInitializer", SpvWord{33}}, {"ExecutionModelMissNV", SpvWord{5317}}, {"BuiltInFrontFacing", SpvWord{17}}, {"ExecutionModeInputPoints", SpvWord{19}}, {"FPOperationModeIEEE", SpvWord{0}}, {"BuiltInHitMicroTriangleVertexBarycentricsNV", SpvWord{5344}}, {"ScopeQueueFamilyKHR", SpvWord{5}}, {"ImageChannelDataTypeUnsignedIntRaw12EXT", SpvWord{20}}, {"CapabilityDemoteToHelperInvocationEXT", SpvWord{5379}}, {"HostAccessQualifierNoneINTEL", SpvWord{0}}, {"Dim3D", SpvWord{2}}, {"CapabilityImageGatherBiasLodAMD", SpvWord{5009}}, {"CapabilityFPGAArgumentInterfacesINTEL", SpvWord{6174}}, {"CapabilityRayTracingMotionBlurNV", SpvWord{5341}}, {"StorageClassWorkgroup", SpvWord{4}}, {"ScopeShaderCallKHR", SpvWord{6}}, {"CapabilityStorageTexelBufferArrayDynamicIndexing", SpvWord{5305}}, {"CapabilityDerivativeControl", SpvWord{51}}, {"CapabilityDotProductInput4x8Bit", SpvWord{6017}}, {"StorageClassIncomingRayPayloadNV", SpvWord{5342}}, {"CapabilityGroups", SpvWord{18}}, {"StorageClassFunction", SpvWord{7}}, {"ExecutionModelGLCompute", SpvWord{5}}, {"CapabilityImageGatherExtended", SpvWord{25}}, {"CapabilityGroupNonUniformVote", SpvWord{62}}, {"CooperativeMatrixOperandsMatrixBSignedComponentsKHR", SpvWord{2}}, {"CapabilityGroupNonUniformBallot", SpvWord{64}}, {"DecorationHitObjectShaderRecordBufferNV", SpvWord{5386}}, {"CapabilitySubgroupImageBlockIOINTEL", SpvWord{5570}}, {"CapabilityGroupNonUniformQuad", SpvWord{68}}, {"DecorationFunctionRoundingModeINTEL", SpvWord{5822}}, {"CapabilityStorageImageArrayNonUniformIndexingEXT", SpvWord{5309}}, {"DecorationDescriptorSet", SpvWord{34}}, {"CapabilityDotProductInputAll", SpvWord{6016}}, {"CapabilityMultiViewport", SpvWord{57}}, {"RayFlagsTerminateOnFirstHitKHR", SpvWord{4}}, {"ImageFormatRgba8Snorm", SpvWord{5}}, {"MemorySemanticsMakeAvailableKHR", SpvWord{8192}}, {"DecorationComponent", SpvWord{31}}, {"CooperativeMatrixLayoutRowMajorKHR", SpvWord{0}}, {"ExecutionModeOriginLowerLeft", SpvWord{8}}, {"BuiltInPositionPerViewNV", SpvWord{5261}}, {"ExecutionModelCallableNV", SpvWord{5318}}, {"CapabilityArbitraryPrecisionFloatingPointINTEL", SpvWord{5845}}, {"CooperativeMatrixUseMatrixBKHR", SpvWord{1}}, {"CooperativeMatrixOperandsNoneKHR", SpvWord{0}}, {"CapabilityCooperativeMatrixKHR", SpvWord{6022}}, {"BuiltInSubgroupGeMask", SpvWord{4417}}, {"BuiltInViewportMaskPerViewNV", SpvWord{5262}}, {"GroupOperationReduce", SpvWord{0}}, {"BuiltInClipDistance", SpvWord{3}}, {"BuiltInHitKindBackFacingMicroTriangleNV", SpvWord{5406}}, {"ImageFormatRg8ui", SpvWord{37}}, {"DecorationRestrictPointer", SpvWord{5355}}, {"ImageChannelOrderARGB", SpvWord{7}}, {"LinkageTypeLinkOnceODR", SpvWord{2}}, {"FunctionParameterAttributeZext", SpvWord{0}}, {"CapabilitySampledCubeArray", SpvWord{45}}, {"BuiltInLayer", SpvWord{9}}, {"ImageOperandsMakeTexelAvailable", SpvWord{256}}, {"ExecutionModeDepthReplacing", SpvWord{12}}, {"ImageFormatR8i", SpvWord{29}}, {"BuiltInDrawIndex", SpvWord{4426}}, {"CapabilityFPFastMathModeINTEL", SpvWord{5837}}, {"OverflowModesWRAP", SpvWord{0}}, {"BuiltInPrimitiveShadingRateKHR", SpvWord{4432}}, {"DecorationStackCallINTEL", SpvWord{5627}}, {"FunctionControlNone", SpvWord{0}}, {"ImageChannelOrderRGx", SpvWord{11}}, {"DecorationFlat", SpvWord{14}}, {"ImageFormatR64i", SpvWord{41}}, {"CapabilityPhysicalStorageBufferAddressesEXT", SpvWord{5347}}, {"ExecutionModeShaderIndexAMDX", SpvWord{5073}}, {"CapabilityVulkanMemoryModelKHR", SpvWord{5345}}, {"DecorationUserSemantic", SpvWord{5635}}, {"AddressingModelPhysical32", SpvWord{1}}, {"CapabilityMatrix", SpvWord{0}}, {"ExecutionModeRoundingModeRTZ", SpvWord{4463}}, {"CapabilityShaderEnqueueAMDX", SpvWord{5067}}, {"CapabilityDenormFlushToZero", SpvWord{4465}}, {"ExecutionModePointMode", SpvWord{10}}, {"DecorationCacheControlLoadINTEL", SpvWord{6442}}, {"CapabilityImageBasic", SpvWord{13}}, {"CapabilityTileImageDepthReadAccessEXT", SpvWord{4167}}, {"CapabilityVariableLengthArrayINTEL", SpvWord{5817}}, {"BuiltInWarpIDARM", SpvWord{4163}}, {"CapabilityRuntimeDescriptorArray", SpvWord{5302}}, {"QuantizationModesRND_ZERO", SpvWord{3}}, {"CapabilitySplitBarrierINTEL", SpvWord{6141}}, {"CapabilityMeshShadingEXT", SpvWord{5283}}, {"ImageChannelDataTypeUnsignedInt32", SpvWord{12}}, {"CapabilityShadingRateNV", SpvWord{5291}}, {"FPFastMathModeAllowRecip", SpvWord{8}}, {"CapabilityInputAttachmentArrayDynamicIndexingEXT", SpvWord{5303}}, {"DecorationPayloadNodeNameAMDX", SpvWord{5091}}, {"LoopControlPipelineEnableINTEL", SpvWord{524288}}, {"MemorySemanticsMakeVisibleKHR", SpvWord{16384}}, {"BuiltInSubgroupId", SpvWord{40}}, {"ScopeQueueFamily", SpvWord{5}}, {"CapabilityTextureBlockMatchQCOM", SpvWord{4486}}, {"DecorationNoContraction", SpvWord{42}}, {"ImageFormatRg8", SpvWord{13}}, {"ExecutionModeRoundingModeRTE", SpvWord{4462}}, {"MemorySemanticsNone", SpvWord{0}}, {"DecorationSideEffectsINTEL", SpvWord{5608}}, {"CapabilityGroupNonUniformArithmetic", SpvWord{63}}, {"FPFastMathModeFast", SpvWord{16}}, {"DecorationHostAccessINTEL", SpvWord{6168}}, {"CapabilityCullDistance", SpvWord{33}}, {"CapabilityStorageBuffer16BitAccess", SpvWord{4433}}, {"DecorationSIMTCallINTEL", SpvWord{5599}}, {"ImageFormatRgba16i", SpvWord{22}}, {"ExecutionModeQuads", SpvWord{24}}, {"CapabilityImageRect", SpvWord{36}}, {"CapabilityBFloat16ConversionINTEL", SpvWord{6115}}, {"FunctionParameterAttributeSret", SpvWord{3}}, {"ExecutionModelVertex", SpvWord{0}}, {"ImageFormatRgba16Snorm", SpvWord{16}}, {"CapabilityAtomicStorageOps", SpvWord{4445}}, {"ExecutionModeInvocations", SpvWord{0}}, {"BuiltInClipDistancePerViewNV", SpvWord{5277}}, {"FunctionParameterAttributeNoWrite", SpvWord{6}}, {"CapabilityFPGALoopControlsINTEL", SpvWord{5888}}, {"CooperativeMatrixLayoutColumnMajorKHR", SpvWord{1}}, {"BuiltInCullDistance", SpvWord{4}}, {"CapabilityGroupNonUniformRotateKHR", SpvWord{6026}}, {"CapabilityFPGABufferLocationINTEL", SpvWord{5920}}, {"StorageClassShaderRecordBufferNV", SpvWord{5343}}, {"CapabilitySampleMaskPostDepthCoverage", SpvWord{4447}}, {"DecorationXfbBuffer", SpvWord{36}}, {"BuiltInSampleMask", SpvWord{20}}, {"AddressingModelPhysicalStorageBuffer64", SpvWord{5348}}, {"BuiltInSubgroupGtMaskKHR", SpvWord{4418}}, {"ExecutionModelTessellationControl", SpvWord{1}}, {"ScopeWorkgroup", SpvWord{2}}, {"DecorationViewportRelativeNV", SpvWord{5252}}, {"CapabilityRayTracingProvisionalKHR", SpvWord{5353}}, {"CapabilityFPGAMemoryAttributesINTEL", SpvWord{5824}}, {"MemorySemanticsWorkgroupMemory", SpvWord{256}}, {"LinkageTypeImport", SpvWord{1}}, {"CapabilityInputAttachmentArrayNonUniformIndexing", SpvWord{5310}}, {"DecorationCacheControlStoreINTEL", SpvWord{6443}}, {"ImageFormatRg8i", SpvWord{27}}, {"ImageFormatRg16ui", SpvWord{36}}, {"StorageClassCrossWorkgroup", SpvWord{5}}, {"BuiltInHitKindNV", SpvWord{5333}}, {"RayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionAABBKHR", SpvWord{1}}, {"SamplerFilterModeNearest", SpvWord{0}}, {"CapabilitySubgroupDispatch", SpvWord{58}}, {"CapabilitySubgroupBallotKHR", SpvWord{4423}}, {"CapabilityStencilExportEXT", SpvWord{5013}}, {"CapabilityInterpolationFunction", SpvWord{52}}, {"BuiltInSubgroupMaxSize", SpvWord{37}}, {"MemoryAccessMakePointerAvailable", SpvWord{8}}, {"DecorationMMHostInterfaceDataWidthINTEL", SpvWord{6178}}, {"ImageChannelDataTypeUnsignedIntRaw10EXT", SpvWord{19}}, {"CapabilityWorkgroupMemoryExplicitLayout8BitAccessKHR", SpvWord{4429}}, {"BuiltInBaryCoordSmoothAMD", SpvWord{4995}}, {"DecorationVectorComputeCallableFunctionINTEL", SpvWord{6087}}, {"StorageClassCallableDataNV", SpvWord{5328}}, {"BuiltInSubgroupLocalInvocationId", SpvWord{41}}, {"DecorationNonUniformEXT", SpvWord{5300}}, {"MemoryAccessMakePointerVisibleKHR", SpvWord{16}}, {"CapabilityKernelAttributesINTEL", SpvWord{5892}}, {"ExecutionModeSubgroupsPerWorkgroupId", SpvWord{37}}, {"CapabilityOptNoneINTEL", SpvWord{6094}}, {"ImageChannelDataTypeHalfFloat", SpvWord{13}}, {"MemoryModelOpenCL", SpvWord{2}}, {"ImageChannelDataTypeSignedInt32", SpvWord{9}}, {"ExecutionModeRoundingModeRTPINTEL", SpvWord{5620}}, {"FunctionControlDontInline", SpvWord{2}}, {"DecorationNumbanksINTEL", SpvWord{5827}}, {"StorageClassTaskPayloadWorkgroupEXT", SpvWord{5402}}, {"SourceLanguageSlang", SpvWord{11}}, {"FragmentShadingRateVertical4Pixels", SpvWord{2}}, {"DecorationAlignment", SpvWord{44}}, {"RayFlagsForceOpacityMicromap2StateEXT", SpvWord{1024}}, {"CapabilityUniformBufferArrayDynamicIndexing", SpvWord{28}}, {"ExecutionModeOutputPrimitivesNV", SpvWord{5270}}, {"BuiltInSecondaryPositionNV", SpvWord{5257}}, {"FunctionControlPure", SpvWord{4}}, {"MemorySemanticsUniformMemory", SpvWord{64}}, {"ImageChannelDataTypeSnormInt16", SpvWord{1}}, {"DecorationGlobalVariableOffsetINTEL", SpvWord{5628}}, {"ImageFormatR32i", SpvWord{24}}, {"BuiltInViewportIndex", SpvWord{10}}, {"BuiltInCurrentRayTimeNV", SpvWord{5334}}, {"CapabilityStorageImageReadWithoutFormat", SpvWord{55}}, {"CapabilityClipDistance", SpvWord{32}}, {"CapabilityStorageImageArrayDynamicIndexing", SpvWord{31}}, {"DecorationStableKernelArgumentINTEL", SpvWord{6183}}, {"ScopeInvocation", SpvWord{4}}, {"BuiltInVertexIndex", SpvWord{42}}, {"QuantizationModesTRN_ZERO", SpvWord{1}}, {"KernelEnqueueFlagsWaitWorkGroup", SpvWord{2}}, {"CapabilityUniformBufferArrayNonUniformIndexing", SpvWord{5306}}, {"CapabilityVulkanMemoryModel", SpvWord{5345}}, {"ImageFormatRgba16", SpvWord{10}}, {"SamplerAddressingModeClamp", SpvWord{2}}, {"GroupOperationPartitionedReduceNV", SpvWord{6}}, {"CapabilityWorkgroupMemoryExplicitLayout16BitAccessKHR", SpvWord{4430}}, {"MemorySemanticsImageMemory", SpvWord{2048}}, {"FragmentShadingRateHorizontal2Pixels", SpvWord{4}}, {"SourceLanguageNZSL", SpvWord{9}}, {"DecorationDoublepumpINTEL", SpvWord{5831}}, {"CooperativeMatrixUseMatrixAccumulatorKHR", SpvWord{2}}, {"CapabilityImageReadWrite", SpvWord{14}}, {"ExecutionModelAnyHitNV", SpvWord{5315}}, {"CapabilityStoragePushConstant8", SpvWord{4450}}, {"BuiltInMeshViewCountNV", SpvWord{5280}}, {"CapabilityRuntimeDescriptorArrayEXT", SpvWord{5302}}, {"BuiltInWorkgroupId", SpvWord{26}}, {"CapabilityDenormPreserve", SpvWord{4464}}, {"RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionNoneKHR", SpvWord{0}}, {"QuantizationModesRND_CONV_ODD", SpvWord{7}}, {"CapabilityRayTracingNV", SpvWord{5340}}, {"CapabilityDotProductInput4x8BitPacked", SpvWord{6018}}, {"CapabilityShaderInvocationReorderNV", SpvWord{5383}}, {"CapabilityIOPipesINTEL", SpvWord{5943}}, {"ScopeCrossDevice", SpvWord{0}}, {"ImageFormatRgba8i", SpvWord{23}}, {"DecorationConduitKernelArgumentINTEL", SpvWord{6175}}, {"CapabilityInt64", SpvWord{11}}, {"CapabilityRayCullMaskKHR", SpvWord{6020}}, {"ExecutionModelMeshNV", SpvWord{5268}}, {"ImageOperandsMakeTexelAvailableKHR", SpvWord{256}}, {"BuiltInIncomingRayFlagsNV", SpvWord{5351}}, {"FPFastMathModeAllowReassocINTEL", SpvWord{131072}}, {"BuiltInHitTriangleVertexPositionsKHR", SpvWord{5335}}, {"BuiltInLaunchIdNV", SpvWord{5319}}, {"ExecutionModeDepthLess", SpvWord{15}}, {"ExecutionModelTessellationEvaluation", SpvWord{2}}, {"RayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionTriangleKHR", SpvWord{0}}, {"ExecutionModeLocalSizeHintId", SpvWord{39}}, {"BuiltInLayerPerViewNV", SpvWord{5279}}, {"CapabilityDotProductInputAllKHR", SpvWord{6016}}, {"CapabilityUSMStorageClassesINTEL", SpvWord{5935}}, {"CapabilityTileImageColorReadAccessEXT", SpvWord{4166}}, {"DecorationNonReadable", SpvWord{25}}, {"DecorationFunctionDenormModeINTEL", SpvWord{5823}}, {"BuiltInFragStencilRefEXT", SpvWord{5014}}, {"CapabilityAtomicFloat16MinMaxEXT", SpvWord{5616}}, {"LoadCacheControlInvalidateAfterReadINTEL", SpvWord{3}}, {"HostAccessQualifierReadWriteINTEL", SpvWord{3}}, {"QuantizationModesTRN", SpvWord{0}}, {"CapabilityLiteralSampler", SpvWord{20}}, {"CapabilityAtomicFloat64AddEXT", SpvWord{6034}}, {"MemoryModelSimple", SpvWord{0}}, {"MemoryAccessAligned", SpvWord{2}}, {"BuiltInCullPrimitiveEXT", SpvWord{5299}}, {"QuantizationModesRND", SpvWord{2}}, {"BuiltInLaunchSizeKHR", SpvWord{5320}}, {"CapabilityInt8", SpvWord{39}}, {"ImageChannelOrderRGBA", SpvWord{5}}, {"BuiltInBaryCoordNoPerspCentroidAMD", SpvWord{4993}}, {"ExecutionModeDepthUnchanged", SpvWord{16}}, {"BuiltInHelperInvocation", SpvWord{23}}, {"ImageChannelDataTypeUnormShort555", SpvWord{5}}, {"AddressingModelPhysical64", SpvWord{2}}, {"ExecutionModeNoGlobalOffsetINTEL", SpvWord{5895}}, {"DecorationFuncParamAttr", SpvWord{38}}, {"FPFastMathModeNone", SpvWord{0}}, {"FunctionControlOptNoneINTEL", SpvWord{65536}}, {"CapabilityVariablePointers", SpvWord{4442}}, {"BuiltInHitKindFrontFacingMicroTriangleNV", SpvWord{5405}}, {"ExecutionModeInputTrianglesAdjacency", SpvWord{23}}, {"FunctionParameterAttributeByVal", SpvWord{2}}, {"RayFlagsCullNoOpaqueKHR", SpvWord{128}}, {"StoreCacheControlWriteBackINTEL", SpvWord{2}}, {"CapabilityBlockingPipesINTEL", SpvWord{5945}}, {"ImageOperandsSample", SpvWord{64}}, {"ExecutionModeOriginUpperLeft", SpvWord{7}}, {"ExecutionModeNonCoherentStencilAttachmentReadEXT", SpvWord{4171}}, {"CapabilityStoragePushConstant16", SpvWord{4435}}, {"LoopControlPartialCount", SpvWord{256}}, {"PackedVectorFormatPackedVectorFormat4x8BitKHR", SpvWord{0}}, {"MemoryAccessVolatile", SpvWord{1}}, {"CapabilityUniformTexelBufferArrayDynamicIndexing", SpvWord{5304}}, {"MemorySemanticsRelaxed", SpvWord{0}}, {"RayFlagsCullOpaqueKHR", SpvWord{64}}, {"RayFlagsSkipAABBsKHR", SpvWord{512}}, {"ImageFormatRg16f", SpvWord{7}}, {"InitializationModeQualifierInitOnDeviceReprogramINTEL", SpvWord{0}}, {"BuiltInSubgroupGtMask", SpvWord{4418}}, {"BuiltInBaryCoordNoPerspKHR", SpvWord{5287}}, {"StoreCacheControlWriteThroughINTEL", SpvWord{1}}, {"CapabilityImageFootprintNV", SpvWord{5282}}, {"DecorationLatencyControlLabelINTEL", SpvWord{6172}}, {"ImageFormatR16i", SpvWord{28}}, {"ExecutionModeOutputTriangleStrip", SpvWord{29}}, {"MemoryAccessNontemporal", SpvWord{4}}, {"ExecutionModeStencilRefLessBackAMD", SpvWord{5084}}, {"ImageFormatRgba32ui", SpvWord{30}}, {"BuiltInSubgroupEqMask", SpvWord{4416}}, {"LoopControlMaxReinvocationDelayINTEL", SpvWord{33554432}}, {"DecorationBufferLocationINTEL", SpvWord{5921}}, {"ExecutionModeSpacingFractionalOdd", SpvWord{3}}, {"ExecutionModeOutputPoints", SpvWord{27}}, {"BuiltInBaryCoordSmoothCentroidAMD", SpvWord{4996}}, {"BuiltInRayTminKHR", SpvWord{5325}}, {"ExecutionModeOutputVertices", SpvWord{26}}, {"RayFlagsSkipTrianglesKHR", SpvWord{256}}, {"DecorationMaxByteOffset", SpvWord{45}}, {"CapabilityFragmentBarycentricKHR", SpvWord{5284}}, {"DecorationSaturatedConversion", SpvWord{28}}, {"ExecutionModelClosestHitNV", SpvWord{5316}}, {"SamplerAddressingModeNone", SpvWord{0}}, {"RayFlagsNoOpaqueKHR", SpvWord{2}}, {"DecorationMathOpDSPModeINTEL", SpvWord{5909}}, {"ExecutionModeCoalescingAMDX", SpvWord{5069}}, {"DecorationRegisterMapKernelArgumentINTEL", SpvWord{6176}}, {"BuiltInGlobalSize", SpvWord{31}}, {"CapabilityLoopFuseINTEL", SpvWord{5906}}, {"ImageChannelDataTypeSignedInt8", SpvWord{7}}, {"ExecutionModelTaskEXT", SpvWord{5364}}, {"DecorationInitModeINTEL", SpvWord{6147}}, {"BuiltInPrimitiveId", SpvWord{7}}, {"CapabilityFragmentMaskAMD", SpvWord{5010}}, {"LoopControlSpeculatedIterationsINTEL", SpvWord{4194304}}, {"ExecutionModeSampleInterlockOrderedEXT", SpvWord{5368}}, {"ExecutionModeStencilRefLessFrontAMD", SpvWord{5081}}, {"LoopControlMaxConcurrencyINTEL", SpvWord{131072}}, {"FPFastMathModeAllowContractFastINTEL", SpvWord{65536}}, {"DecorationAliasScopeINTEL", SpvWord{5914}}, {"CapabilityLongConstantCompositeINTEL", SpvWord{6089}}, {"DimSubpassData", SpvWord{6}}, {"BuiltInObjectRayOriginKHR", SpvWord{5323}}, {"MemorySemanticsAtomicCounterMemory", SpvWord{1024}}, {"CapabilityStorageImageExtendedFormats", SpvWord{49}}, {"DecorationFPRoundingMode", SpvWord{39}}, {"CapabilitySampledBuffer", SpvWord{46}}, {"CapabilityIndirectReferencesINTEL", SpvWord{5604}}, {"StorageClassInput", SpvWord{1}}, {"CapabilityDisplacementMicromapNV", SpvWord{5380}}, {"DecorationFuseLoopsInFunctionINTEL", SpvWord{5907}}, {"DecorationIndex", SpvWord{32}}, {"ImageChannelDataTypeUnormInt24", SpvWord{15}}, {"DecorationBankwidthINTEL", SpvWord{5828}}, {"CapabilityArbitraryPrecisionIntegersINTEL", SpvWord{5844}}, {"DecorationColMajor", SpvWord{5}}, {"BuiltInSubgroupSize", SpvWord{36}}, {"CapabilityImage1D", SpvWord{44}}, {"CapabilityShaderStereoViewNV", SpvWord{5259}}, {"BuiltInSubgroupGeMaskKHR", SpvWord{4417}}, {"CapabilityGlobalVariableFPGADecorationsINTEL", SpvWord{6146}}, {"QuantizationModesRND_INF", SpvWord{4}}, {"CapabilityShader", SpvWord{1}}, {"CapabilityIntegerFunctions2INTEL", SpvWord{5584}}, {"ImageFormatRgb10A2", SpvWord{11}}, {"ImageFormatR16", SpvWord{14}}, {"ImageChannelDataTypeUnormInt8", SpvWord{2}}, {"CapabilitySampleMaskOverrideCoverageNV", SpvWord{5249}}, {"ExecutionModeShadingRateInterlockUnorderedEXT", SpvWord{5371}}, {"DecorationWeightTextureQCOM", SpvWord{4487}}, {"ExecutionModeDerivativeGroupQuadsNV", SpvWord{5289}}, {"ExecutionModelMissKHR", SpvWord{5317}}, {"DecorationPrefetchINTEL", SpvWord{5902}}, {"SourceLanguageSYCL", SpvWord{7}}, {"CapabilityPerViewAttributesNV", SpvWord{5260}}, {"ImageChannelDataTypeFloat", SpvWord{14}}, {"CapabilityFloat16", SpvWord{9}}, {"BuiltInMeshViewIndicesNV", SpvWord{5281}}, {"ImageOperandsNonPrivateTexelKHR", SpvWord{1024}}, {"CapabilityUniformTexelBufferArrayDynamicIndexingEXT", SpvWord{5304}}, {"LoopControlMinIterations", SpvWord{16}}, {"CapabilityRayQueryPositionFetchKHR", SpvWord{5391}}, {"CapabilityWorkgroupMemoryExplicitLayoutKHR", SpvWord{4428}}, {"MemoryAccessMakePointerAvailableKHR", SpvWord{8}}, {"CapabilityShaderViewportMaskNV", SpvWord{5255}}, {"ImageOperandsLod", SpvWord{2}}, {"ExecutionModeShadingRateInterlockOrderedEXT", SpvWord{5370}}, {"CapabilitySubgroupImageMediaBlockIOINTEL", SpvWord{5579}}, {"ImageFormatR8", SpvWord{15}}, {"CapabilityFloat16Buffer", SpvWord{8}}, {"CapabilityStorageTexelBufferArrayNonUniformIndexing", SpvWord{5312}}, {"StorageClassHostOnlyINTEL", SpvWord{5937}}, {"CapabilityFPGAKernelAttributesv2INTEL", SpvWord{6161}}, {"CapabilityShaderLayer", SpvWord{69}}, {"StorageClassImage", SpvWord{11}}, {"StorageClassNodePayloadAMDX", SpvWord{5068}}, {"BuiltInPrimitiveLineIndicesEXT", SpvWord{5295}}, {"SourceLanguageUnknown", SpvWord{0}}, {"DecorationStream", SpvWord{29}}, {"CapabilityDotProduct", SpvWord{6019}}, {"ExecutionModeEarlyAndLateFragmentTestsAMD", SpvWord{5017}}, {"DecorationMMHostInterfaceReadWriteModeINTEL", SpvWord{6180}}, {"ImageFormatRg32ui", SpvWord{35}}, {"DecorationConstant", SpvWord{22}}, {"FunctionControlInline", SpvWord{1}}, {"QuantizationModesRND_CONV", SpvWord{6}}, {"BuiltInPrimitiveCountNV", SpvWord{5275}}, {"DecorationInvariant", SpvWord{18}}, {"StorageClassDeviceOnlyINTEL", SpvWord{5936}}, {"DecorationGLSLPacked", SpvWord{9}}, {"ExecutionModeInputLinesAdjacency", SpvWord{21}}, {"FPDenormModeFlushToZero", SpvWord{1}}, {"BuiltInWorldRayDirectionKHR", SpvWord{5322}}, {"StorageClassIncomingRayPayloadKHR", SpvWord{5342}}, {"CapabilityArbitraryPrecisionFixedPointINTEL", SpvWord{5922}}, {"BuiltInRayTmaxNV", SpvWord{5326}}, {"StorageClassHitObjectAttributeNV", SpvWord{5385}}, {"LoopControlLoopCoalesceINTEL", SpvWord{1048576}}, {"CooperativeMatrixOperandsMatrixCSignedComponentsKHR", SpvWord{4}}, {"CapabilitySampled1D", SpvWord{43}}, {"DecorationRestrictPointerEXT", SpvWord{5355}}, {"CapabilityAsmINTEL", SpvWord{5606}}, {"BuiltInInvocationId", SpvWord{8}}, {"ScopeDevice", SpvWord{1}}, {"CapabilityPipes", SpvWord{17}}, {"ExecutionModelKernel", SpvWord{6}}, {"ExecutionModeOutputLinesEXT", SpvWord{5269}}, {"ImageChannelOrderA", SpvWord{1}}, {"BuiltInBaryCoordNoPerspAMD", SpvWord{4992}}, {"CapabilityAtomicStorage", SpvWord{21}}, {"CapabilityStorageUniformBufferBlock16", SpvWord{4433}}, {"CapabilityFragmentShaderSampleInterlockEXT", SpvWord{5363}}, {"SourceLanguageHERO_C", SpvWord{8}}, {"DecorationBlock", SpvWord{2}}, {"ExecutionModePixelInterlockOrderedEXT", SpvWord{5366}}, {"CooperativeMatrixOperandsSaturatingAccumulationKHR", SpvWord{16}}, {"BuiltInObjectToWorldKHR", SpvWord{5330}}, {"ExecutionModelRayGenerationNV", SpvWord{5313}}, {"LoopControlNoFusionINTEL", SpvWord{8388608}}, {"ExecutionModelMeshEXT", SpvWord{5365}}, {"DecorationAliased", SpvWord{20}}, {"KernelEnqueueFlagsWaitKernel", SpvWord{1}}, {"FPFastMathModeNotNaN", SpvWord{1}}, {"SamplerAddressingModeRepeat", SpvWord{3}}, {"CapabilityStorageTexelBufferArrayNonUniformIndexingEXT", SpvWord{5312}}, {"DecorationVolatile", SpvWord{21}}, {"CapabilityBindlessTextureNV", SpvWord{5390}}, {"StorageClassNodeOutputPayloadAMDX", SpvWord{5076}}, {"DecorationRelaxedPrecision", SpvWord{0}}, {"CapabilityStorageImageWriteWithoutFormat", SpvWord{56}}, {"CapabilityFPMaxErrorINTEL", SpvWord{6169}}, {"BuiltInTessLevelInner", SpvWord{12}}, {"MemorySemanticsAcquire", SpvWord{2}}, {"CapabilityStorageBufferArrayNonUniformIndexingEXT", SpvWord{5308}}, {"LoadCacheControlStreamingINTEL", SpvWord{2}}, {"DecorationStallEnableINTEL", SpvWord{5905}}, {"CapabilityRoundToInfinityINTEL", SpvWord{5582}}, {"CapabilityRoundingModeRTZ", SpvWord{4468}}, {"BuiltInPrimitiveTriangleIndicesEXT", SpvWord{5296}}, {"DecorationPerVertexNV", SpvWord{5285}}, {"CapabilityRayTracingDisplacementMicromapNV", SpvWord{5409}}, {"ExecutionModeMaxNumWorkgroupsAMDX", SpvWord{5077}}, {"BuiltInSubgroupEqMaskKHR", SpvWord{4416}}, {"ExecutionModeStencilRefReplacingEXT", SpvWord{5027}}, {"CapabilityInt64Atomics", SpvWord{12}}, {"ImageChannelOrderABGR", SpvWord{19}}, {"ImageChannelOrderLuminance", SpvWord{9}}, {"ExecutionModeLocalSizeHint", SpvWord{18}}, {"MemorySemanticsOutputMemoryKHR", SpvWord{4096}}, {"ImageFormatR8ui", SpvWord{39}}, {"DecorationLatencyControlConstraintINTEL", SpvWord{6173}}, {"ImageChannelOrderRGBx", SpvWord{12}}, {"DecorationInitiationIntervalINTEL", SpvWord{5917}}, {"ExecutionModeDepthGreater", SpvWord{14}}, {"CapabilityUniformAndStorageBuffer16BitAccess", SpvWord{4434}}, {"DecorationTrackFinishWritingAMDX", SpvWord{5078}}, {"RayFlagsNoneKHR", SpvWord{0}}, {"DecorationClobberINTEL", SpvWord{5607}}, {"FPRoundingModeRTE", SpvWord{0}}, {"DecorationNoPerspective", SpvWord{13}}, {"DecorationPassthroughNV", SpvWord{5250}}, {"ImageOperandsVolatileTexelKHR", SpvWord{2048}}, {"SourceLanguageOpenCL_C", SpvWord{3}}, {"BuiltInFullyCoveredEXT", SpvWord{5264}}, {"DecorationSpecId", SpvWord{1}}, {"CapabilityAtomicFloat32MinMaxEXT", SpvWord{5612}}, {"BuiltInObjectToWorldNV", SpvWord{5330}}, {"SamplerFilterModeLinear", SpvWord{1}}, {"CapabilitySubgroupAvcMotionEstimationINTEL", SpvWord{5696}}, {"FPRoundingModeRTN", SpvWord{3}}, {"BuiltInShadingRateKHR", SpvWord{4444}}, {"BuiltInPrimitivePointIndicesEXT", SpvWord{5294}}, {"StorageClassPrivate", SpvWord{6}}, {"ExecutionModePostDepthCoverage", SpvWord{4446}}, {"CapabilityFragmentShaderShadingRateInterlockEXT", SpvWord{5372}}, {"BuiltInObjectRayDirectionNV", SpvWord{5324}}, {"CapabilityStorageImageArrayNonUniformIndexing", SpvWord{5309}}, {"BuiltInLocalInvocationIndex", SpvWord{29}}, {"StorageClassPushConstant", SpvWord{9}}, {"FPRoundingModeRTP", SpvWord{2}}, {"CapabilityFPGAKernelAttributesINTEL", SpvWord{5897}}, {"CapabilityShaderClockKHR", SpvWord{5055}}, {"ExecutionModeStencilRefUnchangedBackAMD", SpvWord{5082}}, {"ExecutionModeStencilRefGreaterBackAMD", SpvWord{5083}}, {"ExecutionModeFloatingPointModeALTINTEL", SpvWord{5622}}, {"LoopControlIterationMultiple", SpvWord{64}}, {"CapabilityGroupNonUniformClustered", SpvWord{67}}, {"LoopControlPeelCount", SpvWord{128}}, {"CapabilityFragmentFullyCoveredEXT", SpvWord{5265}}, {"StorageClassTileImageEXT", SpvWord{4172}}, {"ExecutionModeSubgroupSize", SpvWord{35}}, {"GroupOperationExclusiveScan", SpvWord{2}}, {"BuiltInPatchVertices", SpvWord{14}}, {"FPFastMathModeNSZ", SpvWord{4}}, {"CapabilityTransformFeedback", SpvWord{53}}, {"LoopControlDontUnroll", SpvWord{2}}, {"CapabilityDotProductInput4x8BitKHR", SpvWord{6017}}, {"ImageFormatRgba8ui", SpvWord{32}}, {"BuiltInDeviceIndex", SpvWord{4438}}, {"ImageFormatRg32f", SpvWord{6}}, {"ExecutionModeVertexOrderCw", SpvWord{4}}, {"CapabilityBitInstructions", SpvWord{6025}}, }; static const auto hash = [](const UnownedStringSlice& str, UInt32 salt){ UInt32 h = salt; for (const char c : str) h = (h * 0x01000193) ^ c; return h % 988; }; 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[] = {{47}, {48}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 2, 2, 2, operandTypes}; return true; } case SpvOpSourceContinued: { const static OperandKind operandTypes[] = {{53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Debug, -1, -1, 1, 1, 1, operandTypes}; return true; } case SpvOpSource: { const static OperandKind operandTypes[] = {{10}, {52}, {51}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Debug, -1, -1, 2, 4, 4, operandTypes}; return true; } case SpvOpSourceExtension: { const static OperandKind operandTypes[] = {{53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Debug, -1, -1, 1, 1, 1, operandTypes}; return true; } case SpvOpName: { const static OperandKind operandTypes[] = {{51}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Debug, -1, -1, 2, 2, 2, operandTypes}; return true; } case SpvOpMemberName: { const static OperandKind operandTypes[] = {{51}, {52}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Debug, -1, -1, 3, 3, 3, operandTypes}; return true; } case SpvOpString: { const static OperandKind operandTypes[] = {{48}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Debug, -1, 0, 2, 2, 2, operandTypes}; return true; } case SpvOpLine: { const static OperandKind operandTypes[] = {{51}, {52}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Debug, -1, -1, 3, 3, 3, operandTypes}; return true; } case SpvOpExtension: { const static OperandKind operandTypes[] = {{53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 1, 1, 1, operandTypes}; return true; } case SpvOpExtInstImport: { const static OperandKind operandTypes[] = {{48}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, 0, 2, 2, 2, operandTypes}; return true; } case SpvOpExtInst: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {56}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 0xffff, 5, operandTypes}; return true; } case SpvOpMemoryModel: { const static OperandKind operandTypes[] = {{12}, {13}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 2, 2, 2, operandTypes}; return true; } case SpvOpEntryPoint: { const static OperandKind operandTypes[] = {{11}, {51}, {53}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 3, 0xffff, 4, operandTypes}; return true; } case SpvOpExecutionMode: { const static OperandKind operandTypes[] = {{51}, {14}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 2, 2, 2, operandTypes}; return true; } case SpvOpCapability: { const static OperandKind operandTypes[] = {{36}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 1, 1, 1, operandTypes}; return true; } case SpvOpTypeVoid: { const static OperandKind operandTypes[] = {{48}}; v = {SPIRVCoreGrammarInfo::OpInfo::TypeDeclaration, -1, 0, 1, 1, 1, operandTypes}; return true; } case SpvOpTypeBool: { const static OperandKind operandTypes[] = {{48}}; v = {SPIRVCoreGrammarInfo::OpInfo::TypeDeclaration, -1, 0, 1, 1, 1, operandTypes}; return true; } case SpvOpTypeInt: { const static OperandKind operandTypes[] = {{48}, {52}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::TypeDeclaration, -1, 0, 3, 3, 3, operandTypes}; return true; } case SpvOpTypeFloat: { const static OperandKind operandTypes[] = {{48}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::TypeDeclaration, -1, 0, 2, 2, 2, operandTypes}; return true; } case SpvOpTypeVector: { const static OperandKind operandTypes[] = {{48}, {51}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::TypeDeclaration, -1, 0, 3, 3, 3, operandTypes}; return true; } case SpvOpTypeMatrix: { const static OperandKind operandTypes[] = {{48}, {51}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::TypeDeclaration, -1, 0, 3, 3, 3, operandTypes}; return true; } case SpvOpTypeImage: { const static OperandKind operandTypes[] = {{48}, {51}, {16}, {52}, {52}, {52}, {52}, {19}, {28}}; v = {SPIRVCoreGrammarInfo::OpInfo::TypeDeclaration, -1, 0, 8, 9, 9, operandTypes}; return true; } case SpvOpTypeSampler: { const static OperandKind operandTypes[] = {{48}}; v = {SPIRVCoreGrammarInfo::OpInfo::TypeDeclaration, -1, 0, 1, 1, 1, operandTypes}; return true; } case SpvOpTypeSampledImage: { const static OperandKind operandTypes[] = {{48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::TypeDeclaration, -1, 0, 2, 2, 2, operandTypes}; return true; } case SpvOpTypeArray: { const static OperandKind operandTypes[] = {{48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::TypeDeclaration, -1, 0, 3, 3, 3, operandTypes}; return true; } case SpvOpTypeRuntimeArray: { const static OperandKind operandTypes[] = {{48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::TypeDeclaration, -1, 0, 2, 2, 2, operandTypes}; return true; } case SpvOpTypeStruct: { const static OperandKind operandTypes[] = {{48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::TypeDeclaration, -1, 0, 1, 0xffff, 2, operandTypes}; return true; } case SpvOpTypeOpaque: { const static OperandKind operandTypes[] = {{48}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::TypeDeclaration, -1, 0, 2, 2, 2, operandTypes}; return true; } case SpvOpTypePointer: { const static OperandKind operandTypes[] = {{48}, {15}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::TypeDeclaration, -1, 0, 3, 3, 3, operandTypes}; return true; } case SpvOpTypeFunction: { const static OperandKind operandTypes[] = {{48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::TypeDeclaration, -1, 0, 2, 0xffff, 3, operandTypes}; return true; } case SpvOpTypeEvent: { const static OperandKind operandTypes[] = {{48}}; v = {SPIRVCoreGrammarInfo::OpInfo::TypeDeclaration, -1, 0, 1, 1, 1, operandTypes}; return true; } case SpvOpTypeDeviceEvent: { const static OperandKind operandTypes[] = {{48}}; v = {SPIRVCoreGrammarInfo::OpInfo::TypeDeclaration, -1, 0, 1, 1, 1, operandTypes}; return true; } case SpvOpTypeReserveId: { const static OperandKind operandTypes[] = {{48}}; v = {SPIRVCoreGrammarInfo::OpInfo::TypeDeclaration, -1, 0, 1, 1, 1, operandTypes}; return true; } case SpvOpTypeQueue: { const static OperandKind operandTypes[] = {{48}}; v = {SPIRVCoreGrammarInfo::OpInfo::TypeDeclaration, -1, 0, 1, 1, 1, operandTypes}; return true; } case SpvOpTypePipe: { const static OperandKind operandTypes[] = {{48}, {28}}; v = {SPIRVCoreGrammarInfo::OpInfo::TypeDeclaration, -1, 0, 2, 2, 2, operandTypes}; return true; } case SpvOpTypeForwardPointer: { const static OperandKind operandTypes[] = {{51}, {15}}; v = {SPIRVCoreGrammarInfo::OpInfo::TypeDeclaration, -1, -1, 2, 2, 2, operandTypes}; return true; } case SpvOpConstantTrue: { const static OperandKind operandTypes[] = {{47}, {48}}; v = {SPIRVCoreGrammarInfo::OpInfo::ConstantCreation, 0, 1, 2, 2, 2, operandTypes}; return true; } case SpvOpConstantFalse: { const static OperandKind operandTypes[] = {{47}, {48}}; v = {SPIRVCoreGrammarInfo::OpInfo::ConstantCreation, 0, 1, 2, 2, 2, operandTypes}; return true; } case SpvOpConstant: { const static OperandKind operandTypes[] = {{47}, {48}, {55}}; v = {SPIRVCoreGrammarInfo::OpInfo::ConstantCreation, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpConstantComposite: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::ConstantCreation, 0, 1, 2, 0xffff, 3, operandTypes}; return true; } case SpvOpConstantSampler: { const static OperandKind operandTypes[] = {{47}, {48}, {17}, {52}, {18}}; v = {SPIRVCoreGrammarInfo::OpInfo::ConstantCreation, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpConstantNull: { const static OperandKind operandTypes[] = {{47}, {48}}; v = {SPIRVCoreGrammarInfo::OpInfo::ConstantCreation, 0, 1, 2, 2, 2, operandTypes}; return true; } case SpvOpSpecConstantTrue: { const static OperandKind operandTypes[] = {{47}, {48}}; v = {SPIRVCoreGrammarInfo::OpInfo::ConstantCreation, 0, 1, 2, 2, 2, operandTypes}; return true; } case SpvOpSpecConstantFalse: { const static OperandKind operandTypes[] = {{47}, {48}}; v = {SPIRVCoreGrammarInfo::OpInfo::ConstantCreation, 0, 1, 2, 2, 2, operandTypes}; return true; } case SpvOpSpecConstant: { const static OperandKind operandTypes[] = {{47}, {48}, {55}}; v = {SPIRVCoreGrammarInfo::OpInfo::ConstantCreation, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSpecConstantComposite: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::ConstantCreation, 0, 1, 2, 0xffff, 3, operandTypes}; return true; } case SpvOpSpecConstantOp: { const static OperandKind operandTypes[] = {{47}, {48}, {57}}; v = {SPIRVCoreGrammarInfo::OpInfo::ConstantCreation, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpFunction: { const static OperandKind operandTypes[] = {{47}, {48}, {4}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpFunctionParameter: { const static OperandKind operandTypes[] = {{47}, {48}}; 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[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 0xffff, 4, operandTypes}; return true; } case SpvOpVariable: { const static OperandKind operandTypes[] = {{47}, {48}, {15}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 4, 4, operandTypes}; return true; } case SpvOpImageTexelPointer: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpLoad: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {6}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 4, 4, operandTypes}; return true; } case SpvOpStore: { const static OperandKind operandTypes[] = {{51}, {51}, {6}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 2, 3, 3, operandTypes}; return true; } case SpvOpCopyMemory: { const static OperandKind operandTypes[] = {{51}, {51}, {6}, {6}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 2, 4, 4, operandTypes}; return true; } case SpvOpCopyMemorySized: { const static OperandKind operandTypes[] = {{51}, {51}, {51}, {6}, {6}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 3, 5, 5, operandTypes}; return true; } case SpvOpAccessChain: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 0xffff, 4, operandTypes}; return true; } case SpvOpInBoundsAccessChain: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 0xffff, 4, operandTypes}; return true; } case SpvOpPtrAccessChain: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 0xffff, 5, operandTypes}; return true; } case SpvOpArrayLength: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpGenericPtrMemSemantics: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpInBoundsPtrAccessChain: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 0xffff, 5, operandTypes}; return true; } case SpvOpDecorate: { const static OperandKind operandTypes[] = {{51}, {31}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 2, 2, 2, operandTypes}; return true; } case SpvOpMemberDecorate: { const static OperandKind operandTypes[] = {{51}, {52}, {31}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 3, 3, 3, operandTypes}; return true; } case SpvOpDecorationGroup: { const static OperandKind operandTypes[] = {{48}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, 0, 1, 1, 1, operandTypes}; return true; } case SpvOpGroupDecorate: { const static OperandKind operandTypes[] = {{51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 1, 0xffff, 2, operandTypes}; return true; } case SpvOpGroupMemberDecorate: { const static OperandKind operandTypes[] = {{51}, {59}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 1, 0xffff, 2, operandTypes}; return true; } case SpvOpVectorExtractDynamic: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpVectorInsertDynamic: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpVectorShuffle: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 0xffff, 5, operandTypes}; return true; } case SpvOpCompositeConstruct: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 2, 0xffff, 3, operandTypes}; return true; } case SpvOpCompositeExtract: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 0xffff, 4, operandTypes}; return true; } case SpvOpCompositeInsert: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 0xffff, 5, operandTypes}; return true; } case SpvOpCopyObject: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpTranspose: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSampledImage: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpImageSampleImplicitLod: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {0}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 0xffff, 5, operandTypes}; return true; } case SpvOpImageSampleExplicitLod: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {0}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 0xffff, 5, operandTypes}; return true; } case SpvOpImageSampleDrefImplicitLod: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {0}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 0xffff, 6, operandTypes}; return true; } case SpvOpImageSampleDrefExplicitLod: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {0}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 0xffff, 6, operandTypes}; return true; } case SpvOpImageSampleProjImplicitLod: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {0}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 0xffff, 5, operandTypes}; return true; } case SpvOpImageSampleProjExplicitLod: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {0}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 0xffff, 5, operandTypes}; return true; } case SpvOpImageSampleProjDrefImplicitLod: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {0}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 0xffff, 6, operandTypes}; return true; } case SpvOpImageSampleProjDrefExplicitLod: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {0}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 0xffff, 6, operandTypes}; return true; } case SpvOpImageFetch: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {0}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 0xffff, 5, operandTypes}; return true; } case SpvOpImageGather: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {0}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 0xffff, 6, operandTypes}; return true; } case SpvOpImageDrefGather: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {0}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 0xffff, 6, operandTypes}; return true; } case SpvOpImageRead: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {0}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 0xffff, 5, operandTypes}; return true; } case SpvOpImageWrite: { const static OperandKind operandTypes[] = {{51}, {51}, {51}, {0}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 3, 0xffff, 4, operandTypes}; return true; } case SpvOpImage: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpImageQueryFormat: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpImageQueryOrder: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpImageQuerySizeLod: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpImageQuerySize: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpImageQueryLod: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpImageQueryLevels: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpImageQuerySamples: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpConvertFToU: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpConvertFToS: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpConvertSToF: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpConvertUToF: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpUConvert: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSConvert: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpFConvert: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpQuantizeToF16: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpConvertPtrToU: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSatConvertSToU: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSatConvertUToS: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpConvertUToPtr: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpPtrCastToGeneric: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpGenericCastToPtr: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpGenericCastToPtrExplicit: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {15}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpBitcast: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSNegate: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpFNegate: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpIAdd: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpFAdd: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpISub: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpFSub: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpIMul: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpFMul: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpUDiv: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSDiv: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpFDiv: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpUMod: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSRem: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSMod: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpFRem: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpFMod: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpVectorTimesScalar: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpMatrixTimesScalar: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpVectorTimesMatrix: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpMatrixTimesVector: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpMatrixTimesMatrix: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpOuterProduct: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpDot: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpIAddCarry: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpISubBorrow: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpUMulExtended: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSMulExtended: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpAny: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpAll: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpIsNan: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpIsInf: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpIsFinite: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpIsNormal: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSignBitSet: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpLessOrGreater: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpOrdered: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpUnordered: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpLogicalEqual: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpLogicalNotEqual: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpLogicalOr: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpLogicalAnd: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpLogicalNot: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSelect: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpIEqual: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpINotEqual: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpUGreaterThan: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSGreaterThan: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpUGreaterThanEqual: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSGreaterThanEqual: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpULessThan: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSLessThan: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpULessThanEqual: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSLessThanEqual: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpFOrdEqual: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpFUnordEqual: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpFOrdNotEqual: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpFUnordNotEqual: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpFOrdLessThan: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpFUnordLessThan: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpFOrdGreaterThan: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpFUnordGreaterThan: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpFOrdLessThanEqual: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpFUnordLessThanEqual: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpFOrdGreaterThanEqual: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpFUnordGreaterThanEqual: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpShiftRightLogical: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpShiftRightArithmetic: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpShiftLeftLogical: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpBitwiseOr: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpBitwiseXor: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpBitwiseAnd: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpNot: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpBitFieldInsert: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpBitFieldSExtract: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpBitFieldUExtract: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpBitReverse: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpBitCount: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpDPdx: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpDPdy: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpFwidth: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpDPdxFine: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpDPdyFine: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpFwidthFine: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpDPdxCoarse: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpDPdyCoarse: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpFwidthCoarse: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; 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[] = {{51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 1, 1, 1, operandTypes}; return true; } case SpvOpEndStreamPrimitive: { const static OperandKind operandTypes[] = {{51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 1, 1, 1, operandTypes}; return true; } case SpvOpControlBarrier: { const static OperandKind operandTypes[] = {{50}, {50}, {49}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 3, 3, 3, operandTypes}; return true; } case SpvOpMemoryBarrier: { const static OperandKind operandTypes[] = {{50}, {49}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 2, 2, 2, operandTypes}; return true; } case SpvOpAtomicLoad: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {50}, {49}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpAtomicStore: { const static OperandKind operandTypes[] = {{51}, {50}, {49}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 4, 4, 4, operandTypes}; return true; } case SpvOpAtomicExchange: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {50}, {49}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpAtomicCompareExchange: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {50}, {49}, {49}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpAtomicCompareExchangeWeak: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {50}, {49}, {49}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpAtomicIIncrement: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {50}, {49}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpAtomicIDecrement: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {50}, {49}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpAtomicIAdd: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {50}, {49}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpAtomicISub: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {50}, {49}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpAtomicSMin: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {50}, {49}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpAtomicUMin: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {50}, {49}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpAtomicSMax: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {50}, {49}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpAtomicUMax: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {50}, {49}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpAtomicAnd: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {50}, {49}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpAtomicOr: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {50}, {49}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpAtomicXor: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {50}, {49}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpPhi: { const static OperandKind operandTypes[] = {{47}, {48}, {60}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 2, 0xffff, 3, operandTypes}; return true; } case SpvOpLoopMerge: { const static OperandKind operandTypes[] = {{51}, {51}, {3}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 3, 3, 3, operandTypes}; return true; } case SpvOpSelectionMerge: { const static OperandKind operandTypes[] = {{51}, {2}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 2, 2, 2, operandTypes}; return true; } case SpvOpLabel: { const static OperandKind operandTypes[] = {{48}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, 0, 1, 1, 1, operandTypes}; return true; } case SpvOpBranch: { const static OperandKind operandTypes[] = {{51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 1, 1, 1, operandTypes}; return true; } case SpvOpBranchConditional: { const static OperandKind operandTypes[] = {{51}, {51}, {51}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 3, 0xffff, 4, operandTypes}; return true; } case SpvOpSwitch: { const static OperandKind operandTypes[] = {{51}, {51}, {58}}; 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[] = {{51}}; 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[] = {{51}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 2, 2, 2, operandTypes}; return true; } case SpvOpLifetimeStop: { const static OperandKind operandTypes[] = {{51}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 2, 2, 2, operandTypes}; return true; } case SpvOpGroupAsyncCopy: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {51}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpGroupWaitEvents: { const static OperandKind operandTypes[] = {{50}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 3, 3, 3, operandTypes}; return true; } case SpvOpGroupAll: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpGroupAny: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpGroupBroadcast: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupIAdd: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {34}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupFAdd: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {34}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupFMin: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {34}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupUMin: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {34}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupSMin: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {34}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupFMax: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {34}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupUMax: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {34}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupSMax: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {34}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpReadPipe: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpWritePipe: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpReservedReadPipe: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpReservedWritePipe: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpReserveReadPipePackets: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpReserveWritePipePackets: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpCommitReadPipe: { const static OperandKind operandTypes[] = {{51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 4, 4, 4, operandTypes}; return true; } case SpvOpCommitWritePipe: { const static OperandKind operandTypes[] = {{51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 4, 4, 4, operandTypes}; return true; } case SpvOpIsValidReserveId: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpGetNumPipePackets: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGetMaxPipePackets: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupReserveReadPipePackets: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 7, 7, 7, operandTypes}; return true; } case SpvOpGroupReserveWritePipePackets: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 7, 7, 7, operandTypes}; return true; } case SpvOpGroupCommitReadPipe: { const static OperandKind operandTypes[] = {{50}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupCommitWritePipe: { const static OperandKind operandTypes[] = {{50}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 5, 5, 5, operandTypes}; return true; } case SpvOpEnqueueMarker: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpEnqueueKernel: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 12, 0xffff, 13, operandTypes}; return true; } case SpvOpGetKernelNDrangeSubGroupCount: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 7, 7, 7, operandTypes}; return true; } case SpvOpGetKernelNDrangeMaxSubGroupSize: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 7, 7, 7, operandTypes}; return true; } case SpvOpGetKernelWorkGroupSize: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpGetKernelPreferredWorkGroupSizeMultiple: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpRetainEvent: { const static OperandKind operandTypes[] = {{51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 1, 1, 1, operandTypes}; return true; } case SpvOpReleaseEvent: { const static OperandKind operandTypes[] = {{51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 1, 1, 1, operandTypes}; return true; } case SpvOpCreateUserEvent: { const static OperandKind operandTypes[] = {{47}, {48}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 2, 2, 2, operandTypes}; return true; } case SpvOpIsValidEvent: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSetUserEventStatus: { const static OperandKind operandTypes[] = {{51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 2, 2, 2, operandTypes}; return true; } case SpvOpCaptureEventProfilingInfo: { const static OperandKind operandTypes[] = {{51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 3, 3, 3, operandTypes}; return true; } case SpvOpGetDefaultQueue: { const static OperandKind operandTypes[] = {{47}, {48}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 2, 2, 2, operandTypes}; return true; } case SpvOpBuildNDRange: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpImageSparseSampleImplicitLod: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {0}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 0xffff, 5, operandTypes}; return true; } case SpvOpImageSparseSampleExplicitLod: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {0}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 0xffff, 5, operandTypes}; return true; } case SpvOpImageSparseSampleDrefImplicitLod: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {0}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 0xffff, 6, operandTypes}; return true; } case SpvOpImageSparseSampleDrefExplicitLod: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {0}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 0xffff, 6, operandTypes}; return true; } case SpvOpImageSparseSampleProjImplicitLod: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {0}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 0xffff, 5, operandTypes}; return true; } case SpvOpImageSparseSampleProjExplicitLod: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {0}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 0xffff, 5, operandTypes}; return true; } case SpvOpImageSparseSampleProjDrefImplicitLod: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {0}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 0xffff, 6, operandTypes}; return true; } case SpvOpImageSparseSampleProjDrefExplicitLod: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {0}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 0xffff, 6, operandTypes}; return true; } case SpvOpImageSparseFetch: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {0}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 0xffff, 5, operandTypes}; return true; } case SpvOpImageSparseGather: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {0}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 0xffff, 6, operandTypes}; return true; } case SpvOpImageSparseDrefGather: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {0}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 0xffff, 6, operandTypes}; return true; } case SpvOpImageSparseTexelsResident: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; 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[] = {{47}, {48}, {51}, {50}, {49}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpAtomicFlagClear: { const static OperandKind operandTypes[] = {{51}, {50}, {49}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 3, 3, 3, operandTypes}; return true; } case SpvOpImageSparseRead: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {0}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 0xffff, 5, operandTypes}; return true; } case SpvOpSizeOf: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpTypePipeStorage: { const static OperandKind operandTypes[] = {{48}}; v = {SPIRVCoreGrammarInfo::OpInfo::TypeDeclaration, -1, 0, 1, 1, 1, operandTypes}; return true; } case SpvOpConstantPipeStorage: { const static OperandKind operandTypes[] = {{47}, {48}, {52}, {52}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpCreatePipeFromPipeStorage: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpGetKernelLocalSizeForSubgroupCount: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 7, 7, 7, operandTypes}; return true; } case SpvOpGetKernelMaxNumSubgroups: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpTypeNamedBarrier: { const static OperandKind operandTypes[] = {{48}}; v = {SPIRVCoreGrammarInfo::OpInfo::TypeDeclaration, -1, 0, 1, 1, 1, operandTypes}; return true; } case SpvOpNamedBarrierInitialize: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpMemoryNamedBarrier: { const static OperandKind operandTypes[] = {{51}, {50}, {49}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 3, 3, 3, operandTypes}; return true; } case SpvOpModuleProcessed: { const static OperandKind operandTypes[] = {{53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Debug, -1, -1, 1, 1, 1, operandTypes}; return true; } case SpvOpExecutionModeId: { const static OperandKind operandTypes[] = {{51}, {14}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 2, 2, 2, operandTypes}; return true; } case SpvOpDecorateId: { const static OperandKind operandTypes[] = {{51}, {31}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 2, 2, 2, operandTypes}; return true; } case SpvOpGroupNonUniformElect: { const static OperandKind operandTypes[] = {{47}, {48}, {50}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpGroupNonUniformAll: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpGroupNonUniformAny: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpGroupNonUniformAllEqual: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpGroupNonUniformBroadcast: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupNonUniformBroadcastFirst: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpGroupNonUniformBallot: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpGroupNonUniformInverseBallot: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpGroupNonUniformBallotBitExtract: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupNonUniformBallotBitCount: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {34}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupNonUniformBallotFindLSB: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpGroupNonUniformBallotFindMSB: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpGroupNonUniformShuffle: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupNonUniformShuffleXor: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupNonUniformShuffleUp: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupNonUniformShuffleDown: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupNonUniformIAdd: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {34}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 6, 6, operandTypes}; return true; } case SpvOpGroupNonUniformFAdd: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {34}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 6, 6, operandTypes}; return true; } case SpvOpGroupNonUniformIMul: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {34}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 6, 6, operandTypes}; return true; } case SpvOpGroupNonUniformFMul: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {34}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 6, 6, operandTypes}; return true; } case SpvOpGroupNonUniformSMin: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {34}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 6, 6, operandTypes}; return true; } case SpvOpGroupNonUniformUMin: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {34}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 6, 6, operandTypes}; return true; } case SpvOpGroupNonUniformFMin: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {34}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 6, 6, operandTypes}; return true; } case SpvOpGroupNonUniformSMax: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {34}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 6, 6, operandTypes}; return true; } case SpvOpGroupNonUniformUMax: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {34}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 6, 6, operandTypes}; return true; } case SpvOpGroupNonUniformFMax: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {34}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 6, 6, operandTypes}; return true; } case SpvOpGroupNonUniformBitwiseAnd: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {34}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 6, 6, operandTypes}; return true; } case SpvOpGroupNonUniformBitwiseOr: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {34}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 6, 6, operandTypes}; return true; } case SpvOpGroupNonUniformBitwiseXor: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {34}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 6, 6, operandTypes}; return true; } case SpvOpGroupNonUniformLogicalAnd: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {34}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 6, 6, operandTypes}; return true; } case SpvOpGroupNonUniformLogicalOr: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {34}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 6, 6, operandTypes}; return true; } case SpvOpGroupNonUniformLogicalXor: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {34}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 6, 6, operandTypes}; return true; } case SpvOpGroupNonUniformQuadBroadcast: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupNonUniformQuadSwap: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpCopyLogical: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpPtrEqual: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpPtrNotEqual: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpPtrDiff: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpColorAttachmentReadEXT: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 4, 4, operandTypes}; return true; } case SpvOpDepthAttachmentReadEXT: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 2, 3, 3, operandTypes}; return true; } case SpvOpStencilAttachmentReadEXT: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; 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[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupFirstInvocationKHR: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAllKHR: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAnyKHR: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAllEqualKHR: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpGroupNonUniformRotateKHR: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 6, 6, operandTypes}; return true; } case SpvOpSubgroupReadInvocationKHR: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpTraceRayKHR: { const static OperandKind operandTypes[] = {{51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 11, 11, 11, operandTypes}; return true; } case SpvOpExecuteCallableKHR: { const static OperandKind operandTypes[] = {{51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 2, 2, 2, operandTypes}; return true; } case SpvOpConvertUToAccelerationStructureKHR: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; 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[] = {{47}, {48}, {51}, {51}, {40}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 5, 5, operandTypes}; return true; } case SpvOpUDot: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {40}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 5, 5, operandTypes}; return true; } case SpvOpSUDot: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {40}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 5, 5, operandTypes}; return true; } case SpvOpSDotAccSat: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {40}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 6, 6, operandTypes}; return true; } case SpvOpUDotAccSat: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {40}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 6, 6, operandTypes}; return true; } case SpvOpSUDotAccSat: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {40}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 6, 6, operandTypes}; return true; } case SpvOpTypeCooperativeMatrixKHR: { const static OperandKind operandTypes[] = {{48}, {51}, {50}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::TypeDeclaration, -1, 0, 6, 6, 6, operandTypes}; return true; } case SpvOpCooperativeMatrixLoadKHR: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {6}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 6, 6, operandTypes}; return true; } case SpvOpCooperativeMatrixStoreKHR: { const static OperandKind operandTypes[] = {{51}, {51}, {51}, {51}, {6}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 3, 5, 5, operandTypes}; return true; } case SpvOpCooperativeMatrixMulAddKHR: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {41}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 6, 6, operandTypes}; return true; } case SpvOpCooperativeMatrixLengthKHR: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpTypeRayQueryKHR: { const static OperandKind operandTypes[] = {{48}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, 0, 1, 1, 1, operandTypes}; return true; } case SpvOpRayQueryInitializeKHR: { const static OperandKind operandTypes[] = {{51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 8, 8, 8, operandTypes}; return true; } case SpvOpRayQueryTerminateKHR: { const static OperandKind operandTypes[] = {{51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 1, 1, 1, operandTypes}; return true; } case SpvOpRayQueryGenerateIntersectionKHR: { const static OperandKind operandTypes[] = {{51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 2, 2, 2, operandTypes}; return true; } case SpvOpRayQueryConfirmIntersectionKHR: { const static OperandKind operandTypes[] = {{51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 1, 1, 1, operandTypes}; return true; } case SpvOpRayQueryProceedKHR: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpRayQueryGetIntersectionTypeKHR: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpImageSampleWeightedQCOM: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpImageBoxFilterQCOM: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpImageBlockMatchSSDQCOM: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 7, 7, 7, operandTypes}; return true; } case SpvOpImageBlockMatchSADQCOM: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 7, 7, 7, operandTypes}; return true; } case SpvOpGroupIAddNonUniformAMD: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {34}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupFAddNonUniformAMD: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {34}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupFMinNonUniformAMD: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {34}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupUMinNonUniformAMD: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {34}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupSMinNonUniformAMD: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {34}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupFMaxNonUniformAMD: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {34}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupUMaxNonUniformAMD: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {34}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupSMaxNonUniformAMD: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {34}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpFragmentMaskFetchAMD: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpFragmentFetchAMD: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpReadClockKHR: { const static OperandKind operandTypes[] = {{47}, {48}, {50}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpFinalizeNodePayloadsAMDX: { const static OperandKind operandTypes[] = {{51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 1, 1, 1, operandTypes}; return true; } case SpvOpFinishWritingNodePayloadAMDX: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpInitializeNodePayloadsAMDX: { const static OperandKind operandTypes[] = {{51}, {50}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 4, 4, 4, operandTypes}; return true; } case SpvOpHitObjectRecordHitMotionNV: { const static OperandKind operandTypes[] = {{51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 14, 14, 14, operandTypes}; return true; } case SpvOpHitObjectRecordHitWithIndexMotionNV: { const static OperandKind operandTypes[] = {{51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 13, 13, 13, operandTypes}; return true; } case SpvOpHitObjectRecordMissMotionNV: { const static OperandKind operandTypes[] = {{51}, {51}, {51}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 7, 7, 7, operandTypes}; return true; } case SpvOpHitObjectGetWorldToObjectNV: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpHitObjectGetObjectToWorldNV: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpHitObjectGetObjectRayDirectionNV: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpHitObjectGetObjectRayOriginNV: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpHitObjectTraceRayMotionNV: { const static OperandKind operandTypes[] = {{51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 13, 13, 13, operandTypes}; return true; } case SpvOpHitObjectGetShaderRecordBufferHandleNV: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpHitObjectGetShaderBindingTableRecordIndexNV: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpHitObjectRecordEmptyNV: { const static OperandKind operandTypes[] = {{51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 1, 1, 1, operandTypes}; return true; } case SpvOpHitObjectTraceRayNV: { const static OperandKind operandTypes[] = {{51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 12, 12, 12, operandTypes}; return true; } case SpvOpHitObjectRecordHitNV: { const static OperandKind operandTypes[] = {{51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 13, 13, 13, operandTypes}; return true; } case SpvOpHitObjectRecordHitWithIndexNV: { const static OperandKind operandTypes[] = {{51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 12, 12, 12, operandTypes}; return true; } case SpvOpHitObjectRecordMissNV: { const static OperandKind operandTypes[] = {{51}, {51}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 6, 6, 6, operandTypes}; return true; } case SpvOpHitObjectExecuteShaderNV: { const static OperandKind operandTypes[] = {{51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 2, 2, 2, operandTypes}; return true; } case SpvOpHitObjectGetCurrentTimeNV: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpHitObjectGetAttributesNV: { const static OperandKind operandTypes[] = {{51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 2, 2, 2, operandTypes}; return true; } case SpvOpHitObjectGetHitKindNV: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpHitObjectGetPrimitiveIndexNV: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpHitObjectGetGeometryIndexNV: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpHitObjectGetInstanceIdNV: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpHitObjectGetInstanceCustomIndexNV: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpHitObjectGetWorldRayDirectionNV: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpHitObjectGetWorldRayOriginNV: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpHitObjectGetRayTMaxNV: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpHitObjectGetRayTMinNV: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpHitObjectIsEmptyNV: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpHitObjectIsHitNV: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpHitObjectIsMissNV: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpReorderThreadWithHitObjectNV: { const static OperandKind operandTypes[] = {{51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 1, 3, 3, operandTypes}; return true; } case SpvOpReorderThreadWithHintNV: { const static OperandKind operandTypes[] = {{51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 2, 2, 2, operandTypes}; return true; } case SpvOpTypeHitObjectNV: { const static OperandKind operandTypes[] = {{48}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, 0, 1, 1, 1, operandTypes}; return true; } case SpvOpImageSampleFootprintNV: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {51}, {0}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 0xffff, 7, operandTypes}; return true; } case SpvOpEmitMeshTasksEXT: { const static OperandKind operandTypes[] = {{51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 3, 4, 4, operandTypes}; return true; } case SpvOpSetMeshOutputsEXT: { const static OperandKind operandTypes[] = {{51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 2, 2, 2, operandTypes}; return true; } case SpvOpGroupNonUniformPartitionNV: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpWritePackedPrimitiveIndices4x8NV: { const static OperandKind operandTypes[] = {{51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 2, 2, 2, operandTypes}; return true; } case SpvOpFetchMicroTriangleVertexPositionNV: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 7, 7, 7, operandTypes}; return true; } case SpvOpFetchMicroTriangleVertexBarycentricNV: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 7, 7, 7, operandTypes}; return true; } case SpvOpReportIntersectionNV: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; 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[] = {{51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 11, 11, 11, operandTypes}; return true; } case SpvOpTraceMotionNV: { const static OperandKind operandTypes[] = {{51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 12, 12, 12, operandTypes}; return true; } case SpvOpTraceRayMotionNV: { const static OperandKind operandTypes[] = {{51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 12, 12, 12, operandTypes}; return true; } case SpvOpRayQueryGetIntersectionTriangleVertexPositionsKHR: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpTypeAccelerationStructureNV: { const static OperandKind operandTypes[] = {{48}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, 0, 1, 1, 1, operandTypes}; return true; } case SpvOpExecuteCallableNV: { const static OperandKind operandTypes[] = {{51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 2, 2, 2, operandTypes}; return true; } case SpvOpTypeCooperativeMatrixNV: { const static OperandKind operandTypes[] = {{48}, {51}, {50}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, 0, 5, 5, 5, operandTypes}; return true; } case SpvOpCooperativeMatrixLoadNV: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {6}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 6, 6, operandTypes}; return true; } case SpvOpCooperativeMatrixStoreNV: { const static OperandKind operandTypes[] = {{51}, {51}, {51}, {51}, {6}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 4, 5, 5, operandTypes}; return true; } case SpvOpCooperativeMatrixMulAddNV: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpCooperativeMatrixLengthNV: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; 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[] = {{47}, {48}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 2, 2, 2, operandTypes}; return true; } case SpvOpConvertUToImageNV: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpConvertUToSamplerNV: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpConvertImageToUNV: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpConvertSamplerToUNV: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpConvertUToSampledImageNV: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpConvertSampledImageToUNV: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSamplerImageAddressingModeNV: { const static OperandKind operandTypes[] = {{52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 1, 1, 1, operandTypes}; return true; } case SpvOpSubgroupShuffleINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSubgroupShuffleDownINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpSubgroupShuffleUpINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpSubgroupShuffleXorINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSubgroupBlockReadINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupBlockWriteINTEL: { const static OperandKind operandTypes[] = {{51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 2, 2, 2, operandTypes}; return true; } case SpvOpSubgroupImageBlockReadINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSubgroupImageBlockWriteINTEL: { const static OperandKind operandTypes[] = {{51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupImageMediaBlockReadINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpSubgroupImageMediaBlockWriteINTEL: { const static OperandKind operandTypes[] = {{51}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 5, 5, 5, operandTypes}; return true; } case SpvOpUCountLeadingZerosINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpUCountTrailingZerosINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpAbsISubINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpAbsUSubINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpIAddSatINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpUAddSatINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpIAverageINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpUAverageINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpIAverageRoundedINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpUAverageRoundedINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpISubSatINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpUSubSatINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpIMul32x16INTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpUMul32x16INTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpConstantFunctionPointerINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpFunctionPointerCallINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 2, 0xffff, 3, operandTypes}; return true; } case SpvOpAsmTargetINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpAsmINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {53}, {53}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpAsmCallINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 0xffff, 4, operandTypes}; return true; } case SpvOpAtomicFMinEXT: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {50}, {49}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpAtomicFMaxEXT: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {50}, {49}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpAssumeTrueKHR: { const static OperandKind operandTypes[] = {{51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 1, 1, 1, operandTypes}; return true; } case SpvOpExpectKHR: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpDecorateString: { const static OperandKind operandTypes[] = {{51}, {31}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 2, 2, 2, operandTypes}; return true; } case SpvOpMemberDecorateString: { const static OperandKind operandTypes[] = {{51}, {52}, {31}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 3, 3, 3, operandTypes}; return true; } case SpvOpVmeImageINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpTypeVmeImageINTEL: { const static OperandKind operandTypes[] = {{48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, 0, 2, 2, 2, operandTypes}; return true; } case SpvOpTypeAvcImePayloadINTEL: { const static OperandKind operandTypes[] = {{48}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, 0, 1, 1, 1, operandTypes}; return true; } case SpvOpTypeAvcRefPayloadINTEL: { const static OperandKind operandTypes[] = {{48}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, 0, 1, 1, 1, operandTypes}; return true; } case SpvOpTypeAvcSicPayloadINTEL: { const static OperandKind operandTypes[] = {{48}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, 0, 1, 1, 1, operandTypes}; return true; } case SpvOpTypeAvcMcePayloadINTEL: { const static OperandKind operandTypes[] = {{48}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, 0, 1, 1, 1, operandTypes}; return true; } case SpvOpTypeAvcMceResultINTEL: { const static OperandKind operandTypes[] = {{48}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, 0, 1, 1, 1, operandTypes}; return true; } case SpvOpTypeAvcImeResultINTEL: { const static OperandKind operandTypes[] = {{48}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, 0, 1, 1, 1, operandTypes}; return true; } case SpvOpTypeAvcImeResultSingleReferenceStreamoutINTEL: { const static OperandKind operandTypes[] = {{48}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, 0, 1, 1, 1, operandTypes}; return true; } case SpvOpTypeAvcImeResultDualReferenceStreamoutINTEL: { const static OperandKind operandTypes[] = {{48}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, 0, 1, 1, 1, operandTypes}; return true; } case SpvOpTypeAvcImeSingleReferenceStreaminINTEL: { const static OperandKind operandTypes[] = {{48}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, 0, 1, 1, 1, operandTypes}; return true; } case SpvOpTypeAvcImeDualReferenceStreaminINTEL: { const static OperandKind operandTypes[] = {{48}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, 0, 1, 1, 1, operandTypes}; return true; } case SpvOpTypeAvcRefResultINTEL: { const static OperandKind operandTypes[] = {{48}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, 0, 1, 1, 1, operandTypes}; return true; } case SpvOpTypeAvcSicResultINTEL: { const static OperandKind operandTypes[] = {{48}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, 0, 1, 1, 1, operandTypes}; return true; } case SpvOpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSubgroupAvcMceSetInterShapePenaltyINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSubgroupAvcMceSetInterDirectionPenaltyINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL: { const static OperandKind operandTypes[] = {{47}, {48}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 2, 2, 2, operandTypes}; return true; } case SpvOpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL: { const static OperandKind operandTypes[] = {{47}, {48}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 2, 2, 2, operandTypes}; return true; } case SpvOpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL: { const static OperandKind operandTypes[] = {{47}, {48}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 2, 2, 2, operandTypes}; return true; } case SpvOpSubgroupAvcMceSetMotionVectorCostFunctionINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL: { const static OperandKind operandTypes[] = {{47}, {48}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 2, 2, 2, operandTypes}; return true; } case SpvOpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL: { const static OperandKind operandTypes[] = {{47}, {48}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 2, 2, 2, operandTypes}; return true; } case SpvOpSubgroupAvcMceSetAcOnlyHaarINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpSubgroupAvcMceConvertToImePayloadINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcMceConvertToImeResultINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcMceConvertToRefPayloadINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcMceConvertToRefResultINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcMceConvertToSicPayloadINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcMceConvertToSicResultINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcMceGetMotionVectorsINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcMceGetInterDistortionsINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcMceGetBestInterDistortionsINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcMceGetInterMajorShapeINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcMceGetInterMinorShapeINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcMceGetInterDirectionsINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcMceGetInterMotionVectorCountINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcMceGetInterReferenceIdsINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpSubgroupAvcImeInitializeINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpSubgroupAvcImeSetSingleReferenceINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpSubgroupAvcImeSetDualReferenceINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpSubgroupAvcImeRefWindowSizeINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSubgroupAvcImeAdjustRefOffsetINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpSubgroupAvcImeConvertToMcePayloadINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcImeSetMaxMotionVectorCountINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSubgroupAvcImeSetUnidirectionalMixDisableINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSubgroupAvcImeSetWeightedSadINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpSubgroupAvcImeEvaluateWithDualReferenceINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 7, 7, 7, operandTypes}; return true; } case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 7, 7, 7, operandTypes}; return true; } case SpvOpSubgroupAvcImeConvertToMceResultINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcImeGetSingleReferenceStreaminINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcImeGetDualReferenceStreaminINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcImeStripSingleReferenceStreamoutINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcImeStripDualReferenceStreamoutINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpSubgroupAvcImeGetBorderReachedINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSubgroupAvcImeGetTruncatedSearchIndicationINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcFmeInitializeINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 9, 9, 9, operandTypes}; return true; } case SpvOpSubgroupAvcBmeInitializeINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 10, 10, 10, operandTypes}; return true; } case SpvOpSubgroupAvcRefConvertToMcePayloadINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcRefSetBidirectionalMixDisableINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcRefSetBilinearFilterEnableINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcRefEvaluateWithSingleReferenceINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpSubgroupAvcRefEvaluateWithDualReferenceINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpSubgroupAvcRefEvaluateWithMultiReferenceINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpSubgroupAvcRefConvertToMceResultINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcSicInitializeINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcSicConfigureSkcINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpSubgroupAvcSicConfigureIpeLumaINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 10, 10, 10, operandTypes}; return true; } case SpvOpSubgroupAvcSicConfigureIpeLumaChromaINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 13, 13, 13, operandTypes}; return true; } case SpvOpSubgroupAvcSicGetMotionVectorMaskINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSubgroupAvcSicConvertToMcePayloadINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSubgroupAvcSicSetBilinearFilterEnableINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcSicSetSkcForwardTransformEnableINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSubgroupAvcSicEvaluateIpeINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpSubgroupAvcSicEvaluateWithSingleReferenceINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpSubgroupAvcSicEvaluateWithDualReferenceINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpSubgroupAvcSicEvaluateWithMultiReferenceINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpSubgroupAvcSicConvertToMceResultINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcSicGetIpeLumaShapeINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcSicGetBestIpeLumaDistortionINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcSicGetBestIpeChromaDistortionINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcSicGetPackedIpeLumaModesINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcSicGetIpeChromaModeINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSubgroupAvcSicGetInterRawSadsINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpVariableLengthArrayINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpSaveMemoryINTEL: { const static OperandKind operandTypes[] = {{47}, {48}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 2, 2, 2, operandTypes}; return true; } case SpvOpRestoreMemoryINTEL: { const static OperandKind operandTypes[] = {{51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 1, 1, 1, operandTypes}; return true; } case SpvOpArbitraryFloatSinCosPiINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {52}, {52}, {52}, {52}, {52}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 9, 9, 9, operandTypes}; return true; } case SpvOpArbitraryFloatCastINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {52}, {52}, {52}, {52}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpArbitraryFloatCastFromIntINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {52}, {52}, {52}, {52}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpArbitraryFloatCastToIntINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {52}, {52}, {52}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 7, 7, 7, operandTypes}; return true; } case SpvOpArbitraryFloatAddINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {52}, {51}, {52}, {52}, {52}, {52}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 10, 10, 10, operandTypes}; return true; } case SpvOpArbitraryFloatSubINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {52}, {51}, {52}, {52}, {52}, {52}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 10, 10, 10, operandTypes}; return true; } case SpvOpArbitraryFloatMulINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {52}, {51}, {52}, {52}, {52}, {52}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 10, 10, 10, operandTypes}; return true; } case SpvOpArbitraryFloatDivINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {52}, {51}, {52}, {52}, {52}, {52}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 10, 10, 10, operandTypes}; return true; } case SpvOpArbitraryFloatGTINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {52}, {51}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpArbitraryFloatGEINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {52}, {51}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpArbitraryFloatLTINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {52}, {51}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpArbitraryFloatLEINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {52}, {51}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpArbitraryFloatEQINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {52}, {51}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpArbitraryFloatRecipINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {52}, {52}, {52}, {52}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpArbitraryFloatRSqrtINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {52}, {52}, {52}, {52}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpArbitraryFloatCbrtINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {52}, {52}, {52}, {52}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpArbitraryFloatHypotINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {52}, {51}, {52}, {52}, {52}, {52}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 10, 10, 10, operandTypes}; return true; } case SpvOpArbitraryFloatSqrtINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {52}, {52}, {52}, {52}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpArbitraryFloatLogINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {52}, {52}, {52}, {52}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpArbitraryFloatLog2INTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {52}, {52}, {52}, {52}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpArbitraryFloatLog10INTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {52}, {52}, {52}, {52}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpArbitraryFloatLog1pINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {52}, {52}, {52}, {52}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpArbitraryFloatExpINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {52}, {52}, {52}, {52}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpArbitraryFloatExp2INTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {52}, {52}, {52}, {52}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpArbitraryFloatExp10INTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {52}, {52}, {52}, {52}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpArbitraryFloatExpm1INTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {52}, {52}, {52}, {52}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpArbitraryFloatSinINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {52}, {52}, {52}, {52}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpArbitraryFloatCosINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {52}, {52}, {52}, {52}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpArbitraryFloatSinCosINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {52}, {52}, {52}, {52}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpArbitraryFloatSinPiINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {52}, {52}, {52}, {52}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpArbitraryFloatCosPiINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {52}, {52}, {52}, {52}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpArbitraryFloatASinINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {52}, {52}, {52}, {52}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpArbitraryFloatASinPiINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {52}, {52}, {52}, {52}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpArbitraryFloatACosINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {52}, {52}, {52}, {52}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpArbitraryFloatACosPiINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {52}, {52}, {52}, {52}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpArbitraryFloatATanINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {52}, {52}, {52}, {52}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpArbitraryFloatATanPiINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {52}, {52}, {52}, {52}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 8, 8, 8, operandTypes}; return true; } case SpvOpArbitraryFloatATan2INTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {52}, {51}, {52}, {52}, {52}, {52}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 10, 10, 10, operandTypes}; return true; } case SpvOpArbitraryFloatPowINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {52}, {51}, {52}, {52}, {52}, {52}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 10, 10, 10, operandTypes}; return true; } case SpvOpArbitraryFloatPowRINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {52}, {51}, {52}, {52}, {52}, {52}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 10, 10, 10, operandTypes}; return true; } case SpvOpArbitraryFloatPowNINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {52}, {51}, {52}, {52}, {52}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 9, 9, 9, operandTypes}; return true; } case SpvOpLoopControlINTEL: { const static OperandKind operandTypes[] = {{52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 0, 0xffff, 1, operandTypes}; return true; } case SpvOpAliasDomainDeclINTEL: { const static OperandKind operandTypes[] = {{48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, 0, 1, 2, 2, operandTypes}; return true; } case SpvOpAliasScopeDeclINTEL: { const static OperandKind operandTypes[] = {{48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, 0, 2, 3, 3, operandTypes}; return true; } case SpvOpAliasScopeListDeclINTEL: { const static OperandKind operandTypes[] = {{48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, 0, 1, 0xffff, 2, operandTypes}; return true; } case SpvOpFixedSqrtINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {52}, {52}, {52}, {52}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 9, 9, 9, operandTypes}; return true; } case SpvOpFixedRecipINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {52}, {52}, {52}, {52}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 9, 9, 9, operandTypes}; return true; } case SpvOpFixedRsqrtINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {52}, {52}, {52}, {52}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 9, 9, 9, operandTypes}; return true; } case SpvOpFixedSinINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {52}, {52}, {52}, {52}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 9, 9, 9, operandTypes}; return true; } case SpvOpFixedCosINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {52}, {52}, {52}, {52}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 9, 9, 9, operandTypes}; return true; } case SpvOpFixedSinCosINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {52}, {52}, {52}, {52}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 9, 9, 9, operandTypes}; return true; } case SpvOpFixedSinPiINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {52}, {52}, {52}, {52}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 9, 9, 9, operandTypes}; return true; } case SpvOpFixedCosPiINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {52}, {52}, {52}, {52}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 9, 9, 9, operandTypes}; return true; } case SpvOpFixedSinCosPiINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {52}, {52}, {52}, {52}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 9, 9, 9, operandTypes}; return true; } case SpvOpFixedLogINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {52}, {52}, {52}, {52}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 9, 9, 9, operandTypes}; return true; } case SpvOpFixedExpINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}, {52}, {52}, {52}, {52}, {52}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 9, 9, 9, operandTypes}; return true; } case SpvOpPtrCastToCrossWorkgroupINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpCrossWorkgroupCastToPtrINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpReadPipeBlockingINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpWritePipeBlockingINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpFPGARegINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpRayQueryGetRayTMinKHR: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpRayQueryGetRayFlagsKHR: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpRayQueryGetIntersectionTKHR: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpRayQueryGetIntersectionInstanceCustomIndexKHR: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpRayQueryGetIntersectionInstanceIdKHR: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpRayQueryGetIntersectionGeometryIndexKHR: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpRayQueryGetIntersectionPrimitiveIndexKHR: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpRayQueryGetIntersectionBarycentricsKHR: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpRayQueryGetIntersectionFrontFaceKHR: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpRayQueryGetIntersectionCandidateAABBOpaqueKHR: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpRayQueryGetIntersectionObjectRayDirectionKHR: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpRayQueryGetIntersectionObjectRayOriginKHR: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpRayQueryGetWorldRayDirectionKHR: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpRayQueryGetWorldRayOriginKHR: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpRayQueryGetIntersectionObjectToWorldKHR: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpRayQueryGetIntersectionWorldToObjectKHR: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 4, 4, 4, operandTypes}; return true; } case SpvOpAtomicFAddEXT: { const static OperandKind operandTypes[] = {{47}, {48}, {51}, {50}, {49}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 6, 6, 6, operandTypes}; return true; } case SpvOpTypeBufferSurfaceINTEL: { const static OperandKind operandTypes[] = {{48}, {28}}; v = {SPIRVCoreGrammarInfo::OpInfo::TypeDeclaration, -1, 0, 2, 2, 2, operandTypes}; return true; } case SpvOpTypeStructContinuedINTEL: { const static OperandKind operandTypes[] = {{51}}; v = {SPIRVCoreGrammarInfo::OpInfo::TypeDeclaration, -1, -1, 0, 0xffff, 1, operandTypes}; return true; } case SpvOpConstantCompositeContinuedINTEL: { const static OperandKind operandTypes[] = {{51}}; v = {SPIRVCoreGrammarInfo::OpInfo::ConstantCreation, -1, -1, 0, 0xffff, 1, operandTypes}; return true; } case SpvOpSpecConstantCompositeContinuedINTEL: { const static OperandKind operandTypes[] = {{51}}; v = {SPIRVCoreGrammarInfo::OpInfo::ConstantCreation, -1, -1, 0, 0xffff, 1, operandTypes}; return true; } case SpvOpConvertFToBF16INTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpConvertBF16ToFINTEL: { const static OperandKind operandTypes[] = {{47}, {48}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 3, 3, 3, operandTypes}; return true; } case SpvOpControlBarrierArriveINTEL: { const static OperandKind operandTypes[] = {{50}, {50}, {49}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 3, 3, 3, operandTypes}; return true; } case SpvOpControlBarrierWaitINTEL: { const static OperandKind operandTypes[] = {{50}, {50}, {49}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, -1, -1, 3, 3, 3, operandTypes}; return true; } case SpvOpGroupIMulKHR: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {34}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupFMulKHR: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {34}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupBitwiseAndKHR: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {34}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupBitwiseOrKHR: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {34}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupBitwiseXorKHR: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {34}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupLogicalAndKHR: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {34}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupLogicalOrKHR: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {34}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, operandTypes}; return true; } case SpvOpGroupLogicalXorKHR: { const static OperandKind operandTypes[] = {{47}, {48}, {50}, {34}, {51}}; v = {SPIRVCoreGrammarInfo::OpInfo::Other, 0, 1, 5, 5, 5, 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 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 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 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 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; } default: return false; } } static bool lookupOperandKind(const UnownedStringSlice& str, OperandKind& value) { static const unsigned tableSalt[61] = { 0, 4, 1, 0, 0, 1, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 0, 0, 8, 0, 4, 2, 0, 10, 14, 8, 6, 0, 0, 3, 0, 0, 0, 2, 3, 2, 4, 25, 2, 0, 0, 1, 0, 14, 1, 6, 0, 0, 4, 2, 0, 0, 13, 5, 4, 19, 6, 9, 11, 24, 0 }; using KV = std::pair; static const KV words[61] = { {"LoopControl", OperandKind{3}}, {"MemoryAccess", OperandKind{6}}, {"FPDenormMode", OperandKind{23}}, {"IdResult", OperandKind{48}}, {"PairIdRefLiteralInteger", OperandKind{59}}, {"MemorySemantics", OperandKind{5}}, {"PackedVectorFormat", OperandKind{40}}, {"FragmentShadingRate", OperandKind{9}}, {"ImageOperands", OperandKind{0}}, {"SourceLanguage", OperandKind{10}}, {"PairLiteralIntegerIdRef", OperandKind{58}}, {"BuiltIn", OperandKind{32}}, {"RayFlags", OperandKind{8}}, {"InitializationModeQualifier", OperandKind{44}}, {"LiteralInteger", OperandKind{52}}, {"OverflowModes", OperandKind{26}}, {"LoadCacheControl", OperandKind{45}}, {"CooperativeMatrixUse", OperandKind{43}}, {"PairIdRefIdRef", OperandKind{60}}, {"LiteralFloat", OperandKind{54}}, {"RayQueryCandidateIntersectionType", OperandKind{39}}, {"CooperativeMatrixOperands", OperandKind{41}}, {"IdResultType", OperandKind{47}}, {"SamplerAddressingMode", OperandKind{17}}, {"MemoryModel", OperandKind{13}}, {"ImageChannelDataType", OperandKind{21}}, {"LiteralContextDependentNumber", OperandKind{55}}, {"ExecutionModel", OperandKind{11}}, {"HostAccessQualifier", OperandKind{29}}, {"AddressingModel", OperandKind{12}}, {"IdScope", OperandKind{50}}, {"ExecutionMode", OperandKind{14}}, {"SelectionControl", OperandKind{2}}, {"Capability", OperandKind{36}}, {"KernelProfilingInfo", OperandKind{7}}, {"LiteralExtInstInteger", OperandKind{56}}, {"FPOperationMode", OperandKind{25}}, {"QuantizationModes", OperandKind{24}}, {"StorageClass", OperandKind{15}}, {"FunctionControl", OperandKind{4}}, {"RayQueryIntersection", OperandKind{37}}, {"SamplerFilterMode", OperandKind{18}}, {"IdRef", OperandKind{51}}, {"LinkageType", OperandKind{27}}, {"AccessQualifier", OperandKind{28}}, {"GroupOperation", OperandKind{34}}, {"FPRoundingMode", OperandKind{22}}, {"IdMemorySemantics", OperandKind{49}}, {"Scope", OperandKind{33}}, {"LiteralString", OperandKind{53}}, {"KernelEnqueueFlags", OperandKind{35}}, {"FPFastMathMode", OperandKind{1}}, {"Dim", OperandKind{16}}, {"FunctionParameterAttribute", OperandKind{30}}, {"StoreCacheControl", OperandKind{46}}, {"ImageFormat", OperandKind{19}}, {"ImageChannelOrder", OperandKind{20}}, {"RayQueryCommittedIntersectionType", OperandKind{38}}, {"Decoration", OperandKind{31}}, {"CooperativeMatrixLayout", OperandKind{42}}, {"LiteralSpecConstantOpInteger", OperandKind{57}}, }; static const auto hash = [](const UnownedStringSlice& str, UInt32 salt){ UInt32 h = salt; for (const char c : str) h = (h * 0x01000193) ^ c; return h % 61; }; 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[988] = { 0, 0, 0, 2, 0, 1, 0, 0, 1, 1, 0, 5, 0, 2, 0, 1, 0, 4, 1, 0, 0, 2, 0, 2, 1, 3, 3, 1, 1, 2, 0, 2, 0, 1, 2, 1, 0, 0, 1, 4, 2, 2, 0, 1, 1, 2, 1, 5, 1, 1, 4, 5, 1, 0, 1, 0, 9, 4, 0, 1, 3, 0, 0, 1, 8, 1, 0, 3, 2, 0, 3, 0, 0, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 3, 1, 0, 2, 3, 2, 2, 0, 3, 6, 1, 3, 1, 1, 1, 0, 0, 0, 2, 1, 4, 2, 0, 0, 0, 1, 1, 2, 2, 1, 0, 1, 5, 0, 0, 0, 3, 2, 0, 0, 1, 4, 0, 3, 0, 0, 1, 1, 2, 1, 0, 0, 1, 1, 3, 0, 1, 0, 0, 2, 1, 0, 0, 0, 0, 1, 0, 0, 4, 3, 0, 0, 0, 4, 0, 1, 0, 0, 2, 0, 4, 0, 1, 0, 1, 0, 1, 1, 0, 0, 2, 1, 1, 1, 13, 2, 0, 0, 0, 1, 0, 0, 1, 2, 11, 0, 6, 3, 1, 1, 0, 0, 1, 1, 0, 2, 6, 1, 1, 1, 0, 0, 0, 1, 1, 1, 2, 0, 6, 0, 2, 5, 3, 2, 0, 2, 1, 1, 0, 0, 1, 0, 1, 1, 3, 3, 0, 0, 0, 0, 0, 0, 0, 6, 0, 2, 0, 0, 2, 2, 0, 0, 1, 4, 1, 1, 0, 0, 5, 6, 5, 2, 0, 0, 9, 1, 0, 3, 7, 4, 1, 2, 2, 0, 2, 5, 0, 3, 0, 1, 0, 0, 5, 0, 13, 0, 7, 1, 1, 0, 0, 3, 0, 11, 1, 0, 0, 6, 6, 1, 1, 4, 1, 1, 3, 0, 7, 0, 9, 0, 3, 6, 0, 0, 5, 1, 0, 1, 1, 10, 0, 1, 0, 2, 4, 2, 1, 0, 1, 4, 1, 4, 6, 3, 3, 1, 2, 0, 0, 1, 2, 1, 4, 0, 0, 1, 0, 1, 0, 2, 0, 2, 3, 0, 10, 5, 0, 0, 2, 2, 3, 0, 0, 0, 0, 11, 1, 13, 0, 5, 0, 0, 0, 0, 4, 0, 3, 1, 6, 0, 1, 0, 3, 0, 8, 4, 0, 5, 2, 3, 0, 0, 2, 4, 2, 3, 0, 1, 1, 5, 1, 2, 0, 0, 5, 1, 2, 1, 1, 13, 1, 2, 2, 0, 0, 4, 0, 0, 1, 0, 1, 0, 0, 4, 0, 4, 11, 0, 13, 0, 1, 0, 1, 2, 3, 1, 0, 0, 3, 1, 1, 0, 0, 0, 5, 0, 0, 11, 1, 4, 0, 3, 2, 4, 0, 1, 1, 1, 7, 0, 10, 0, 2, 1, 0, 1, 4, 0, 4, 0, 3, 4, 1, 6, 8, 0, 0, 0, 5, 0, 6, 0, 0, 0, 0, 0, 0, 2, 1, 0, 6, 0, 2, 0, 17, 1, 1, 6, 13, 2, 6, 5, 5, 5, 1, 6, 0, 1, 14, 1, 3, 4, 0, 5, 0, 0, 3, 2, 8, 0, 2, 0, 12, 0, 4, 0, 3, 2, 4, 0, 1, 4, 3, 0, 7, 1, 0, 1, 12, 5, 1, 16, 1, 0, 15, 4, 1, 0, 7, 23, 2, 10, 0, 1, 6, 6, 0, 0, 0, 11, 1, 0, 0, 0, 2, 0, 0, 6, 2, 2, 1, 0, 2, 6, 5, 2, 1, 1, 2, 11, 3, 0, 0, 2, 6, 0, 2, 4, 0, 3, 3, 0, 1, 0, 0, 12, 1, 4, 0, 8, 4, 0, 1, 3, 5, 7, 0, 2, 1, 1, 15, 6, 0, 0, 0, 2, 1, 4, 1, 9, 1, 3, 0, 1, 18, 4, 0, 3, 6, 3, 0, 0, 15, 0, 1, 12, 0, 3, 0, 5, 0, 4, 10, 3, 0, 1, 7, 17, 0, 10, 5, 0, 1, 9, 15, 3, 24, 1, 0, 1, 0, 7, 16, 0, 2, 0, 0, 6, 0, 0, 0, 2, 3, 7, 2, 1, 3, 19, 0, 3, 0, 3, 0, 0, 1, 5, 0, 2, 5, 4, 0, 3, 0, 9, 2, 2, 10, 0, 8, 6, 13, 0, 1, 2, 1, 0, 3, 4, 4, 4, 2, 8, 7, 2, 0, 1, 2, 47, 0, 21, 1, 0, 10, 8, 7, 9, 2, 2, 0, 0, 0, 4, 2, 0, 3, 3, 0, 3, 62, 7, 11, 0, 0, 4, 2, 0, 11, 2, 3, 3, 0, 0, 6, 5, 0, 0, 10, 4, 0, 11, 0, 18, 1, 18, 16, 20, 2, 2, 3, 0, 3, 7, 0, 0, 7, 0, 0, 12, 6, 24, 3, 33, 0, 3, 0, 15, 0, 0, 0, 15, 0, 0, 15, 2, 8, 1, 0, 17, 12, 12, 6, 3, 7, 36, 7, 0, 0, 10, 0, 0, 46, 4, 2, 0, 2, 1, 0, 6, 6, 0, 0, 0, 14, 5, 18, 12, 0, 7, 5, 8, 6, 3, 32, 1, 0, 0, 4, 3, 0, 11, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 13, 9, 15, 0, 3, 20, 0, 7, 0, 31, 13, 26, 0, 16, 0, 18, 4, 30, 0, 13, 9, 6, 0, 0, 40, 32, 0, 10, 3, 2, 4, 0, 1, 0, 0, 0, 7, 1, 6, 3, 13, 13, 1, 0, 1, 10, 1, 25, 0, 0, 0, 9, 41, 0, 25, 19, 5, 38, 1, 4, 1, 4, 6, 0, 1, 46, 0, 44, 2, 22, 0, 4, 2, 10, 36, 5, 129, 16, 1, 56, 1, 0, 3, 0, 16, 0, 0, 4, 116, 46, 0, 144, 5, 52, 1, 0, 40, 0, 2, 11, 1, 3, 76, 0, 0, 4, 16, 0, 0, 0, 16, 0, 6, 0, 8, 6, 5, 0, 45, 22, 71, 0, 0, 1, 17, 0, 0, 1, 158, 0, 0, 135, 128, 0, 490, 3, 509, 192, 7, 1, 551, 0, 8 }; using KV = std::pair; static const KV words[988] = { {"caFragDepth", SpvWord{22}}, {"abNSZ", SpvWord{4}}, {"ceAtomicFloat64MinMaxEXT", SpvWord{5613}}, {"caCullDistance", SpvWord{4}}, {"ceStorageBuffer16BitAccess", SpvWord{4433}}, {"aoLocalSizeHint", SpvWord{18}}, {"aoSubgroupUniformControlFlowKHR", SpvWord{4421}}, {"caCullMaskKHR", SpvWord{6021}}, {"bdR8i", SpvWord{29}}, {"ceWorkgroupMemoryExplicitLayout16BitAccessKHR", SpvWord{4430}}, {"bpUserSemantic", SpvWord{5635}}, {"aoNumSIMDWorkitemsINTEL", SpvWord{5896}}, {"ceStorageTexelBufferArrayDynamicIndexingEXT", SpvWord{5305}}, {"besRGBA", SpvWord{17}}, {"caCoalescedInputCountAMDX", SpvWord{5021}}, {"bpCPacked", SpvWord{10}}, {"bpMediaBlockIOINTEL", SpvWord{6140}}, {"caSubgroupGeMask", SpvWord{4417}}, {"caSecondaryPositionNV", SpvWord{5257}}, {"ceSubgroupAvcMotionEstimationIntraINTEL", SpvWord{5697}}, {"aoDepthGreater", SpvWord{14}}, {"ceUniformTexelBufferArrayNonUniformIndexing", SpvWord{5311}}, {"bpNoSignedWrap", SpvWord{4469}}, {"bfUnormInt101010_2", SpvWord{16}}, {"amLogical", SpvWord{0}}, {"ceAtomicFloat16MinMaxEXT", SpvWord{5616}}, {"aoVecTypeHint", SpvWord{30}}, {"apRayPayloadNV", SpvWord{5338}}, {"ba2D", SpvWord{1}}, {"caWarpIDARM", SpvWord{4163}}, {"ba1D", SpvWord{0}}, {"aoStencilRefReplacingEXT", SpvWord{5027}}, {"caSubgroupLeMaskKHR", SpvWord{4419}}, {"bpMaxByteOffset", SpvWord{45}}, {"aoInputLines", SpvWord{20}}, {"amPhysicalStorageBuffer64EXT", SpvWord{5348}}, {"bpSIMTCallINTEL", SpvWord{5599}}, {"ceFPGARegINTEL", SpvWord{5948}}, {"apPrivate", SpvWord{6}}, {"caSubgroupGtMask", SpvWord{4418}}, {"ceStorageImageExtendedFormats", SpvWord{49}}, {"bdRg32f", SpvWord{6}}, {"bdRgba16i", SpvWord{22}}, {"caFragCoord", SpvWord{15}}, {"aaNonPrivateTexelKHR", SpvWord{1024}}, {"ceFPMaxErrorINTEL", SpvWord{6169}}, {"bpPrefetchINTEL", SpvWord{5902}}, {"ceDotProductInput4x8Bit", SpvWord{6017}}, {"ceFragmentBarycentricKHR", SpvWord{5284}}, {"aaVolatileTexelKHR", SpvWord{2048}}, {"bpCacheControlLoadINTEL", SpvWord{6442}}, {"caSampleMask", SpvWord{20}}, {"aaMakeTexelVisibleKHR", SpvWord{512}}, {"boNoWrite", SpvWord{6}}, {"aaMinLod", SpvWord{128}}, {"beA", SpvWord{1}}, {"cePhysicalStorageBufferAddresses", SpvWord{5347}}, {"bfUnormShort555", SpvWord{5}}, {"caSubgroupMaxSize", SpvWord{37}}, {"aoDepthLess", SpvWord{15}}, {"caWorkgroupSize", SpvWord{25}}, {"caSubgroupEqMaskKHR", SpvWord{4416}}, {"agNonPrivatePointer", SpvWord{32}}, {"caLocalInvocationIndex", SpvWord{29}}, {"akESSL", SpvWord{1}}, {"bpBankBitsINTEL", SpvWord{5835}}, {"ceVectorComputeINTEL", SpvWord{5617}}, {"bpStableKernelArgumentINTEL", SpvWord{6183}}, {"ceSplitBarrierINTEL", SpvWord{6141}}, {"ceShaderInvocationReorderNV", SpvWord{5383}}, {"ceRayQueryProvisionalKHR", SpvWord{4471}}, {"ceSubgroupShuffleINTEL", SpvWord{5568}}, {"bdR11fG11fB10f", SpvWord{8}}, {"bpBindlessSamplerNV", SpvWord{5398}}, {"ceFloat16Buffer", SpvWord{8}}, {"bpSinglepumpINTEL", SpvWord{5830}}, {"agMakePointerVisible", SpvWord{16}}, {"clMatrixAKHR", SpvWord{0}}, {"ccClusteredReduce", SpvWord{3}}, {"caTessLevelOuter", SpvWord{11}}, {"bdRg16Snorm", SpvWord{17}}, {"ajHorizontal2Pixels", SpvWord{4}}, {"aaConstOffset", SpvWord{8}}, {"caLocalInvocationId", SpvWord{27}}, {"ceUniformTexelBufferArrayDynamicIndexingEXT", SpvWord{5304}}, {"aoFloatingPointModeALTINTEL", SpvWord{5622}}, {"adMinIterations", SpvWord{16}}, {"agAligned", SpvWord{2}}, {"ceShaderViewportMaskNV", SpvWord{5255}}, {"ceSubgroupAvcMotionEstimationINTEL", SpvWord{5696}}, {"beRGB", SpvWord{4}}, {"bpBoundImageNV", SpvWord{5401}}, {"caPatchVertices", SpvWord{14}}, {"caCullPrimitiveEXT", SpvWord{5299}}, {"ceVulkanMemoryModelDeviceScopeKHR", SpvWord{5346}}, {"bfUnsignedIntRaw12EXT", SpvWord{20}}, {"bdRgba8Snorm", SpvWord{5}}, {"ceShaderEnqueueAMDX", SpvWord{5067}}, {"bpRestrictPointer", SpvWord{5355}}, {"aoStencilRefLessFrontAMD", SpvWord{5081}}, {"ceDemoteToHelperInvocation", SpvWord{5379}}, {"caFragStencilRefEXT", SpvWord{5014}}, {"caBaryCoordNoPerspNV", SpvWord{5287}}, {"ceInt16", SpvWord{22}}, {"caWorldRayOriginKHR", SpvWord{5321}}, {"ceWorkgroupMemoryExplicitLayoutKHR", SpvWord{4428}}, {"caInvocationsPerPixelNV", SpvWord{5293}}, {"aoSpacingEqual", SpvWord{1}}, {"aoPointMode", SpvWord{10}}, {"caSubgroupGeMaskKHR", SpvWord{4417}}, {"ccInclusiveScan", SpvWord{1}}, {"caHitTriangleVertexPositionsKHR", SpvWord{5335}}, {"beRGx", SpvWord{11}}, {"bpNonUniformEXT", SpvWord{5300}}, {"bpBindlessImageNV", SpvWord{5399}}, {"ceUniformBufferArrayNonUniformIndexingEXT", SpvWord{5306}}, {"cgRayQueryCommittedIntersectionGeneratedKHR", SpvWord{2}}, {"apHitAttributeKHR", SpvWord{5339}}, {"bpInitiationIntervalINTEL", SpvWord{5917}}, {"bpVolatile", SpvWord{21}}, {"aoNonCoherentDepthAttachmentReadEXT", SpvWord{4170}}, {"bmReadWrite", SpvWord{2}}, {"aiSkipClosestHitShaderKHR", SpvWord{8}}, {"ceSampleMaskPostDepthCoverage", SpvWord{4447}}, {"caSubgroupLocalInvocationId", SpvWord{41}}, {"aiNoOpaqueKHR", SpvWord{2}}, {"bpNumbanksINTEL", SpvWord{5827}}, {"ceImageMipmap", SpvWord{15}}, {"bdR32f", SpvWord{3}}, {"bpLatencyControlConstraintINTEL", SpvWord{6173}}, {"aoEarlyFragmentTests", SpvWord{9}}, {"aoRegisterMapInterfaceINTEL", SpvWord{6160}}, {"ccPartitionedExclusiveScanNV", SpvWord{8}}, {"bfUnsignedIntRaw10EXT", SpvWord{19}}, {"ckColumnMajorKHR", SpvWord{1}}, {"afAcquire", SpvWord{2}}, {"akWGSL", SpvWord{10}}, {"bdR32i", SpvWord{24}}, {"bpBlock", SpvWord{2}}, {"ceGeometry", SpvWord{2}}, {"ceDeviceGroup", SpvWord{4437}}, {"caCoreMaxIDARM", SpvWord{4162}}, {"aoOriginLowerLeft", SpvWord{8}}, {"ceMatrix", SpvWord{0}}, {"bdR16f", SpvWord{9}}, {"bpComponent", SpvWord{31}}, {"ceInt64", SpvWord{11}}, {"ceFloat64", SpvWord{10}}, {"aoSampleInterlockOrderedEXT", SpvWord{5368}}, {"caHelperInvocation", SpvWord{23}}, {"alAnyHitKHR", SpvWord{5315}}, {"bpBoundSamplerNV", SpvWord{5400}}, {"bpConstant", SpvWord{22}}, {"cbInvocation", SpvWord{4}}, {"caFragSizeEXT", SpvWord{5292}}, {"ceImage1D", SpvWord{44}}, {"ceFPGAMemoryAttributesINTEL", SpvWord{5824}}, {"apAtomicCounter", SpvWord{10}}, {"aaMakeTexelAvailableKHR", SpvWord{256}}, {"ceRayTracingPositionFetchKHR", SpvWord{5336}}, {"acDontFlatten", SpvWord{2}}, {"ceUniformDecoration", SpvWord{71}}, {"caBaryCoordPullModelAMD", SpvWord{4998}}, {"aoNonCoherentColorAttachmentReadEXT", SpvWord{4169}}, {"caObjectToWorldNV", SpvWord{5330}}, {"caWarpsPerSMNV", SpvWord{5374}}, {"biRND_CONV_ODD", SpvWord{7}}, {"bdR64ui", SpvWord{40}}, {"ceRayTracingProvisionalKHR", SpvWord{5353}}, {"aaLod", SpvWord{2}}, {"ceExpectAssumeKHR", SpvWord{5629}}, {"akOpenCL_C", SpvWord{3}}, {"cjMatrixBSignedComponentsKHR", SpvWord{2}}, {"bpMaxByteOffsetId", SpvWord{47}}, {"caWorkgroupId", SpvWord{26}}, {"bpForcePow2DepthINTEL", SpvWord{5836}}, {"ceImageReadWrite", SpvWord{14}}, {"bfFloat", SpvWord{14}}, {"ceImageRect", SpvWord{36}}, {"aoLocalSizeId", SpvWord{38}}, {"aoEarlyAndLateFragmentTestsAMD", SpvWord{5017}}, {"aiCullBackFacingTrianglesKHR", SpvWord{16}}, {"biTRN", SpvWord{0}}, {"alMeshNV", SpvWord{5268}}, {"alCallableNV", SpvWord{5318}}, {"caWorldRayDirectionKHR", SpvWord{5322}}, {"ceUniformTexelBufferArrayNonUniformIndexingEXT", SpvWord{5311}}, {"ceFragmentBarycentricNV", SpvWord{5284}}, {"cfRayQueryCandidateIntersectionKHR", SpvWord{0}}, {"ceCooperativeMatrixKHR", SpvWord{6022}}, {"ceClipDistance", SpvWord{32}}, {"bpMatrixStride", SpvWord{7}}, {"bkSAT_SYM", SpvWord{3}}, {"ceShaderViewportIndex", SpvWord{70}}, {"bpMMHostInterfaceMaxBurstINTEL", SpvWord{6181}}, {"bdR16Snorm", SpvWord{19}}, {"bpImplementInRegisterMapINTEL", SpvWord{6148}}, {"aoInputPoints", SpvWord{19}}, {"caViewportMaskPerViewNV", SpvWord{5262}}, {"caLaunchIdKHR", SpvWord{5319}}, {"ceDenormFlushToZero", SpvWord{4465}}, {"bpSpecId", SpvWord{1}}, {"apFunction", SpvWord{7}}, {"cjNoneKHR", SpvWord{0}}, {"alTaskNV", SpvWord{5267}}, {"bkSAT_ZERO", SpvWord{2}}, {"bpCoherent", SpvWord{23}}, {"cbQueueFamily", SpvWord{5}}, {"caWorldToObjectNV", SpvWord{5331}}, {"bpBufferBlock", SpvWord{3}}, {"ceSampledCubeArray", SpvWord{45}}, {"ceLinkage", SpvWord{5}}, {"caBaryCoordNoPerspAMD", SpvWord{4992}}, {"bpNoAliasINTEL", SpvWord{5915}}, {"bpBurstCoalesceINTEL", SpvWord{5899}}, {"bpHlslSemanticGOOGLE", SpvWord{5635}}, {"apUniformConstant", SpvWord{0}}, {"caWarpIDNV", SpvWord{5376}}, {"beRx", SpvWord{10}}, {"bpFunctionDenormModeINTEL", SpvWord{5823}}, {"chRayQueryCandidateIntersectionTriangleKHR", SpvWord{0}}, {"ceSubgroupImageBlockIOINTEL", SpvWord{5570}}, {"akNZSL", SpvWord{9}}, {"bpNodeSharesPayloadLimitsWithAMDX", SpvWord{5019}}, {"clMatrixAccumulatorKHR", SpvWord{2}}, {"caObjectRayOriginNV", SpvWord{5323}}, {"aiForceOpacityMicromap2StateEXT", SpvWord{1024}}, {"caLaunchSizeNV", SpvWord{5320}}, {"ceOptNoneINTEL", SpvWord{6094}}, {"ceGroupNonUniform", SpvWord{61}}, {"acFlatten", SpvWord{1}}, {"ceInputAttachmentArrayDynamicIndexingEXT", SpvWord{5303}}, {"bpGLSLPacked", SpvWord{9}}, {"ceFPGALoopControlsINTEL", SpvWord{5888}}, {"ceUSMStorageClassesINTEL", SpvWord{5935}}, {"bpDescriptorSet", SpvWord{34}}, {"ceAtomicStorageOps", SpvWord{4445}}, {"bpRegisterMapKernelArgumentINTEL", SpvWord{6176}}, {"alClosestHitNV", SpvWord{5316}}, {"ceRayTracingKHR", SpvWord{4479}}, {"beLuminance", SpvWord{9}}, {"aaSample", SpvWord{64}}, {"aoStencilRefUnchangedBackAMD", SpvWord{5082}}, {"ceImageMSArray", SpvWord{48}}, {"adDependencyInfinite", SpvWord{4}}, {"coWriteBackINTEL", SpvWord{2}}, {"caSubgroupLtMask", SpvWord{4420}}, {"cjMatrixASignedComponentsKHR", SpvWord{1}}, {"caPosition", SpvWord{0}}, {"bpInvariant", SpvWord{18}}, {"ceInputAttachmentArrayDynamicIndexing", SpvWord{5303}}, {"bjALT", SpvWord{1}}, {"bkSAT", SpvWord{1}}, {"caPrimitivePointIndicesEXT", SpvWord{5294}}, {"bdRg8ui", SpvWord{37}}, {"ceSubgroupBallotKHR", SpvWord{4423}}, {"adIterationMultiple", SpvWord{64}}, {"bpInputAttachmentIndex", SpvWord{43}}, {"alTaskEXT", SpvWord{5364}}, {"aoVertexOrderCcw", SpvWord{5}}, {"ceDrawParameters", SpvWord{4427}}, {"afMakeAvailable", SpvWord{8192}}, {"bpPerViewNV", SpvWord{5272}}, {"aoInputTrianglesAdjacency", SpvWord{23}}, {"cbCrossDevice", SpvWord{0}}, {"ceDisplacementMicromapNV", SpvWord{5380}}, {"bpAliased", SpvWord{20}}, {"apIncomingCallableDataKHR", SpvWord{5329}}, {"ceArbitraryPrecisionIntegersINTEL", SpvWord{5844}}, {"caIncomingRayFlagsKHR", SpvWord{5351}}, {"ceFragmentFullyCoveredEXT", SpvWord{5265}}, {"afAtomicCounterMemory", SpvWord{1024}}, {"bdRgba16", SpvWord{10}}, {"ceShaderLayer", SpvWord{69}}, {"ceMemoryAccessAliasingINTEL", SpvWord{5910}}, {"caTessLevelInner", SpvWord{12}}, {"baRect", SpvWord{4}}, {"ceRayTracingMotionBlurNV", SpvWord{5341}}, {"abFast", SpvWord{16}}, {"caCoreIDARM", SpvWord{4160}}, {"akUnknown", SpvWord{0}}, {"aiOpaqueKHR", SpvWord{1}}, {"boNoAlias", SpvWord{4}}, {"ceSampledImageArrayNonUniformIndexing", SpvWord{5307}}, {"ceInt64Atomics", SpvWord{12}}, {"caPrimitiveShadingRateKHR", SpvWord{4432}}, {"ceUniformBufferArrayDynamicIndexing", SpvWord{28}}, {"ceShaderSMBuiltinsNV", SpvWord{5373}}, {"bpExplicitInterpAMD", SpvWord{4999}}, {"ceVariablePointersStorageBuffer", SpvWord{4441}}, {"ceAtomicFloat32AddEXT", SpvWord{6033}}, {"aoSubgroupsPerWorkgroup", SpvWord{36}}, {"abAllowRecip", SpvWord{8}}, {"abNotNaN", SpvWord{1}}, {"apPhysicalStorageBuffer", SpvWord{5349}}, {"ceVariablePointers", SpvWord{4442}}, {"caFragmentSizeNV", SpvWord{5292}}, {"bpMaxConcurrencyINTEL", SpvWord{5918}}, {"ceTileImageDepthReadAccessEXT", SpvWord{4167}}, {"bpLatencyControlLabelINTEL", SpvWord{6172}}, {"adLoopCoalesceINTEL", SpvWord{1048576}}, {"ceLiteralSampler", SpvWord{20}}, {"bnWriteINTEL", SpvWord{2}}, {"bpStackCallINTEL", SpvWord{5627}}, {"ceAtomicFloat64AddEXT", SpvWord{6034}}, {"bnReadINTEL", SpvWord{1}}, {"bpFunctionRoundingModeINTEL", SpvWord{5822}}, {"bpIndex", SpvWord{32}}, {"bkWRAP", SpvWord{0}}, {"caCoreCountARM", SpvWord{4161}}, {"bpOffset", SpvWord{35}}, {"beIntensity", SpvWord{8}}, {"akHERO_C", SpvWord{8}}, {"beDepth", SpvWord{13}}, {"ceStorageImageArrayNonUniformIndexingEXT", SpvWord{5309}}, {"aoFinalizer", SpvWord{34}}, {"ceIntegerFunctions2INTEL", SpvWord{5584}}, {"caEnqueuedWorkgroupSize", SpvWord{32}}, {"caInstanceCustomIndexKHR", SpvWord{5327}}, {"caGlobalSize", SpvWord{31}}, {"ceBFloat16ConversionINTEL", SpvWord{6115}}, {"caWarpMaxIDARM", SpvWord{4164}}, {"ceGroupNonUniformQuad", SpvWord{68}}, {"caViewportMaskNV", SpvWord{5253}}, {"aaMakeTexelAvailable", SpvWord{256}}, {"ceMinLod", SpvWord{42}}, {"aoContractionOff", SpvWord{31}}, {"ceShaderClockKHR", SpvWord{5055}}, {"bpClobberINTEL", SpvWord{5607}}, {"aoSchedulerTargetFmaxMhzINTEL", SpvWord{5903}}, {"aiCullOpaqueKHR", SpvWord{64}}, {"bfUnormInt8", SpvWord{2}}, {"ceRayCullMaskKHR", SpvWord{6020}}, {"afRelaxed", SpvWord{0}}, {"bdUnknown", SpvWord{0}}, {"bpCounterBuffer", SpvWord{5634}}, {"ceVulkanMemoryModel", SpvWord{5345}}, {"bfUnsignedInt8", SpvWord{10}}, {"aoInputLinesAdjacency", SpvWord{21}}, {"ceGroupNonUniformPartitionedNV", SpvWord{5297}}, {"boSret", SpvWord{3}}, {"alIntersectionKHR", SpvWord{5314}}, {"apTileImageEXT", SpvWord{4172}}, {"ceFloat16ImageAMD", SpvWord{5008}}, {"apIncomingRayPayloadNV", SpvWord{5342}}, {"boSext", SpvWord{1}}, {"cjSaturatingAccumulationKHR", SpvWord{16}}, {"caBaryCoordNoPerspCentroidAMD", SpvWord{4993}}, {"aoShadingRateInterlockOrderedEXT", SpvWord{5370}}, {"bbRepeatMirrored", SpvWord{4}}, {"ceShaderNonUniform", SpvWord{5301}}, {"aaZeroExtend", SpvWord{8192}}, {"aoStencilRefLessBackAMD", SpvWord{5084}}, {"aoShadingRateInterlockUnorderedEXT", SpvWord{5371}}, {"aiSkipAABBsKHR", SpvWord{512}}, {"biRND_CONV", SpvWord{6}}, {"apIncomingCallableDataNV", SpvWord{5329}}, {"ceStorageBuffer8BitAccess", SpvWord{4448}}, {"bpAliasedPointerEXT", SpvWord{5356}}, {"akOpenCL_CPP", SpvWord{4}}, {"bmReadOnly", SpvWord{0}}, {"beR", SpvWord{0}}, {"caSMIDNV", SpvWord{5377}}, {"ceStorageBufferArrayNonUniformIndexing", SpvWord{5308}}, {"cdWaitWorkGroup", SpvWord{2}}, {"aoStencilRefGreaterFrontAMD", SpvWord{5080}}, {"ceFragmentMaskAMD", SpvWord{5010}}, {"bpBufferLocationINTEL", SpvWord{5921}}, {"bpAlignment", SpvWord{44}}, {"apImage", SpvWord{11}}, {"bnNoneINTEL", SpvWord{0}}, {"caPointCoord", SpvWord{16}}, {"ceInt8", SpvWord{39}}, {"amPhysical64", SpvWord{2}}, {"caPrimitiveLineIndicesEXT", SpvWord{5295}}, {"ceGroupNonUniformBallot", SpvWord{64}}, {"aaNone", SpvWord{0}}, {"afNone", SpvWord{0}}, {"caRayTmaxNV", SpvWord{5326}}, {"agMakePointerAvailable", SpvWord{8}}, {"ceRayTracingDisplacementMicromapNV", SpvWord{5409}}, {"bbClamp", SpvWord{2}}, {"ceGroupUniformArithmeticKHR", SpvWord{6400}}, {"caSubgroupLtMaskKHR", SpvWord{4420}}, {"bdRg32ui", SpvWord{35}}, {"bdRg32i", SpvWord{25}}, {"ceStorageUniform16", SpvWord{4434}}, {"bpFPRoundingMode", SpvWord{39}}, {"caLayer", SpvWord{9}}, {"cgRayQueryCommittedIntersectionNoneKHR", SpvWord{0}}, {"aaNontemporal", SpvWord{16384}}, {"bpMMHostInterfaceLatencyINTEL", SpvWord{6179}}, {"ceDotProductKHR", SpvWord{6019}}, {"baTileImageDataEXT", SpvWord{4173}}, {"bfSnormInt16", SpvWord{1}}, {"caPointSize", SpvWord{1}}, {"akSlang", SpvWord{11}}, {"anVulkanKHR", SpvWord{3}}, {"caObjectRayOriginKHR", SpvWord{5323}}, {"bpIOPipeStorageINTEL", SpvWord{5944}}, {"caMeshViewIndicesNV", SpvWord{5281}}, {"ceUniformTexelBufferArrayDynamicIndexing", SpvWord{5304}}, {"besBGRA", SpvWord{18}}, {"ceFragmentDensityEXT", SpvWord{5291}}, {"aoSignedZeroInfNanPreserve", SpvWord{4461}}, {"aoDepthUnchanged", SpvWord{16}}, {"ceImageGatherBiasLodAMD", SpvWord{5009}}, {"aoStencilRefUnchangedFrontAMD", SpvWord{5079}}, {"bdRgb10a2ui", SpvWord{34}}, {"aoOutputPrimitivesNV", SpvWord{5270}}, {"ceSampled1D", SpvWord{43}}, {"caWorldToObjectKHR", SpvWord{5331}}, {"ceSampledImageArrayNonUniformIndexingEXT", SpvWord{5307}}, {"aePure", SpvWord{4}}, {"ceFloatingPointModeINTEL", SpvWord{5583}}, {"caViewIndex", SpvWord{4440}}, {"boRuntimeAlignedINTEL", SpvWord{5940}}, {"ceImageBuffer", SpvWord{47}}, {"besRGB", SpvWord{15}}, {"ceDotProduct", SpvWord{6019}}, {"caSampleId", SpvWord{18}}, {"ceStorageImageArrayDynamicIndexing", SpvWord{31}}, {"bdRgba16ui", SpvWord{31}}, {"bpPerPrimitiveNV", SpvWord{5271}}, {"bfUnsignedInt16", SpvWord{11}}, {"bpBankwidthINTEL", SpvWord{5828}}, {"caRayGeometryIndexKHR", SpvWord{5352}}, {"ceDeviceEnqueue", SpvWord{19}}, {"ceInputAttachmentArrayNonUniformIndexing", SpvWord{5310}}, {"ceFragmentShadingRateKHR", SpvWord{4422}}, {"ceGroupNonUniformArithmetic", SpvWord{63}}, {"caGlobalOffset", SpvWord{33}}, {"ceShaderNonUniformEXT", SpvWord{5301}}, {"bbClampToEdge", SpvWord{1}}, {"bnReadWriteINTEL", SpvWord{3}}, {"agNoAliasINTELMask", SpvWord{131072}}, {"ceDebugInfoModuleINTEL", SpvWord{6114}}, {"ceCacheControlsINTEL", SpvWord{6441}}, {"bpRelaxedPrecision", SpvWord{0}}, {"caSMCountNV", SpvWord{5375}}, {"caObjectRayDirectionNV", SpvWord{5324}}, {"afCrossWorkgroupMemory", SpvWord{512}}, {"ceDotProductInputAll", SpvWord{6016}}, {"ceStencilExportEXT", SpvWord{5013}}, {"beBGRA", SpvWord{6}}, {"bdR8", SpvWord{15}}, {"ceTessellation", SpvWord{3}}, {"apCallableDataKHR", SpvWord{5328}}, {"caGlobalInvocationId", SpvWord{28}}, {"apHostOnlyINTEL", SpvWord{5937}}, {"aoFloatingPointModeIEEEINTEL", SpvWord{5623}}, {"ceShaderViewportIndexLayerNV", SpvWord{5254}}, {"bfUnormInt101010", SpvWord{6}}, {"aoStaticNumWorkgroupsAMDX", SpvWord{5072}}, {"akCPP_for_OpenCL", SpvWord{6}}, {"aiSkipTrianglesKHR", SpvWord{256}}, {"beRG", SpvWord{2}}, {"afRelease", SpvWord{4}}, {"amPhysicalStorageBuffer64", SpvWord{5348}}, {"bcLinear", SpvWord{1}}, {"ceFragmentShaderShadingRateInterlockEXT", SpvWord{5372}}, {"bpMathOpDSPModeINTEL", SpvWord{5909}}, {"afSubgroupMemory", SpvWord{128}}, {"bpFPFastMathMode", SpvWord{40}}, {"biRND", SpvWord{2}}, {"caSubgroupSize", SpvWord{36}}, {"bpFunctionFloatingPointModeINTEL", SpvWord{6080}}, {"ceDotProductInputAllKHR", SpvWord{6016}}, {"ceFunctionPointersINTEL", SpvWord{5603}}, {"biRND_MIN_INF", SpvWord{5}}, {"ceStorageTexelBufferArrayNonUniformIndexing", SpvWord{5312}}, {"ahCmdExecTime", SpvWord{1}}, {"apDeviceOnlyINTEL", SpvWord{5936}}, {"ceStorageBufferArrayNonUniformIndexingEXT", SpvWord{5308}}, {"afUniformMemory", SpvWord{64}}, {"bfSignedInt32", SpvWord{9}}, {"bpPerVertexKHR", SpvWord{5285}}, {"caBaryCoordKHR", SpvWord{5286}}, {"caWorkDim", SpvWord{30}}, {"bpNodeMaxPayloadsAMDX", SpvWord{5020}}, {"bpHitObjectShaderRecordBufferNV", SpvWord{5386}}, {"coWriteThroughINTEL", SpvWord{1}}, {"aoPixelInterlockOrderedEXT", SpvWord{5366}}, {"ceSampledRect", SpvWord{37}}, {"apGeneric", SpvWord{8}}, {"aoInitializer", SpvWord{33}}, {"apRayPayloadKHR", SpvWord{5338}}, {"aoOutputVertices", SpvWord{26}}, {"bpVectorComputeVariableINTEL", SpvWord{5624}}, {"ceTextureBlockMatchQCOM", SpvWord{4486}}, {"bpOverrideCoverageNV", SpvWord{5248}}, {"caWorldRayOriginNV", SpvWord{5321}}, {"ceFragmentShaderSampleInterlockEXT", SpvWord{5363}}, {"bpRegisterINTEL", SpvWord{5825}}, {"bpTrackFinishWritingAMDX", SpvWord{5078}}, {"caSecondaryViewportMaskNV", SpvWord{5258}}, {"ceAtomicStorage", SpvWord{21}}, {"apPushConstant", SpvWord{9}}, {"biRND_ZERO", SpvWord{3}}, {"bgRTP", SpvWord{2}}, {"cjMatrixCSignedComponentsKHR", SpvWord{4}}, {"ajVertical4Pixels", SpvWord{2}}, {"bpFuncParamAttr", SpvWord{38}}, {"alMeshEXT", SpvWord{5365}}, {"ceFPGAKernelAttributesINTEL", SpvWord{5897}}, {"agAliasScopeINTELMask", SpvWord{65536}}, {"apCodeSectionINTEL", SpvWord{5605}}, {"apHitAttributeNV", SpvWord{5339}}, {"ceStorageImageMultisample", SpvWord{27}}, {"aoMaxNodeRecursionAMDX", SpvWord{5071}}, {"ceFPGAClusterAttributesINTEL", SpvWord{5904}}, {"alMissKHR", SpvWord{5317}}, {"ceFPGAMemoryAccessesINTEL", SpvWord{5898}}, {"bdRgba16Snorm", SpvWord{16}}, {"aoRoundingModeRTE", SpvWord{4462}}, {"alTessellationControl", SpvWord{1}}, {"aoPixelInterlockUnorderedEXT", SpvWord{5367}}, {"caCurrentRayTimeNV", SpvWord{5334}}, {"ceShader", SpvWord{1}}, {"bpMMHostInterfaceReadWriteModeINTEL", SpvWord{6180}}, {"ceTextureBoxFilterQCOM", SpvWord{4485}}, {"ceRoundToInfinityINTEL", SpvWord{5582}}, {"adSpeculatedIterationsINTEL", SpvWord{4194304}}, {"ceCullDistance", SpvWord{33}}, {"bgRTN", SpvWord{3}}, {"caRayTmaxKHR", SpvWord{5326}}, {"caBaseVertex", SpvWord{4424}}, {"caHitKindBackFacingMicroTriangleNV", SpvWord{5406}}, {"bpAlignmentId", SpvWord{46}}, {"bpNoUnsignedWrap", SpvWord{4470}}, {"afOutputMemory", SpvWord{4096}}, {"bdRg16f", SpvWord{7}}, {"bpConduitKernelArgumentINTEL", SpvWord{6175}}, {"beRGBx", SpvWord{12}}, {"bpLinkageAttributes", SpvWord{41}}, {"ceRoundingModeRTZ", SpvWord{4468}}, {"bgRTZ", SpvWord{1}}, {"boNoCapture", SpvWord{5}}, {"besRGBx", SpvWord{16}}, {"aoNonCoherentStencilAttachmentReadEXT", SpvWord{4171}}, {"beRGBA", SpvWord{5}}, {"ceCooperativeMatrixNV", SpvWord{5357}}, {"akSYCL", SpvWord{7}}, {"ceFPGAInvocationPipeliningAttributesINTEL", SpvWord{5916}}, {"aoLocalSize", SpvWord{17}}, {"caHitMicroTriangleVertexPositionsNV", SpvWord{5337}}, {"aoRoundingModeRTPINTEL", SpvWord{5620}}, {"ceTileImageStencilReadAccessEXT", SpvWord{4168}}, {"ceGroupNonUniformVote", SpvWord{62}}, {"ceGeometryStreams", SpvWord{54}}, {"ahNone", SpvWord{0}}, {"aoOutputPrimitivesEXT", SpvWord{5270}}, {"bdR16ui", SpvWord{38}}, {"ceRayQueryPositionFetchKHR", SpvWord{5391}}, {"ceRayTracingNV", SpvWord{5340}}, {"apTaskPayloadWorkgroupEXT", SpvWord{5402}}, {"ceImageReadWriteLodAMD", SpvWord{5015}}, {"ceTileImageColorReadAccessEXT", SpvWord{4166}}, {"aoQuads", SpvWord{24}}, {"bpArrayStride", SpvWord{6}}, {"cfRayQueryCommittedIntersectionKHR", SpvWord{1}}, {"ceSubgroupAvcMotionEstimationChromaINTEL", SpvWord{5698}}, {"apInput", SpvWord{1}}, {"bbRepeat", SpvWord{3}}, {"ceFPGALatencyControlINTEL", SpvWord{6171}}, {"aaSignExtend", SpvWord{4096}}, {"cnStreamingINTEL", SpvWord{2}}, {"alAnyHitNV", SpvWord{5315}}, {"ceArbitraryPrecisionFloatingPointINTEL", SpvWord{5845}}, {"agNonPrivatePointerKHR", SpvWord{32}}, {"bdR64i", SpvWord{41}}, {"caObjectRayDirectionKHR", SpvWord{5324}}, {"aoOutputTriangleStrip", SpvWord{29}}, {"caNumEnqueuedSubgroups", SpvWord{39}}, {"apCallableDataNV", SpvWord{5328}}, {"aeInline", SpvWord{1}}, {"caHitKindFrontFacingMicroTriangleNV", SpvWord{5405}}, {"aoPostDepthCoverage", SpvWord{4446}}, {"ceSubgroupBufferBlockIOINTEL", SpvWord{5569}}, {"aoRoundingModeRTZ", SpvWord{4463}}, {"bdRgba32ui", SpvWord{30}}, {"ceRuntimeDescriptorArrayEXT", SpvWord{5302}}, {"bpPayloadNodeNameAMDX", SpvWord{5091}}, {"caLaunchIdNV", SpvWord{5319}}, {"amPhysical32", SpvWord{1}}, {"ceRuntimeAlignedAttributeINTEL", SpvWord{5939}}, {"ceDenormPreserve", SpvWord{4464}}, {"apHitObjectAttributeNV", SpvWord{5385}}, {"baSubpassData", SpvWord{6}}, {"caDrawIndex", SpvWord{4426}}, {"caWorldRayDirectionNV", SpvWord{5322}}, {"ceAddresses", SpvWord{4}}, {"ba3D", SpvWord{2}}, {"aaVolatileTexel", SpvWord{2048}}, {"alCallableKHR", SpvWord{5318}}, {"ceRayQueryKHR", SpvWord{4472}}, {"blLinkOnceODR", SpvWord{2}}, {"ceFPGAArgumentInterfacesINTEL", SpvWord{6174}}, {"bfHalfFloat", SpvWord{13}}, {"ceSubgroupImageMediaBlockIOINTEL", SpvWord{5579}}, {"caGlobalLinearId", SpvWord{34}}, {"apShaderRecordBufferKHR", SpvWord{5343}}, {"bpSample", SpvWord{17}}, {"ceShadingRateNV", SpvWord{5291}}, {"aoMaxWorkgroupSizeINTEL", SpvWord{5893}}, {"apIncomingRayPayloadKHR", SpvWord{5342}}, {"caSamplePosition", SpvWord{19}}, {"caPrimitiveId", SpvWord{7}}, {"bmWriteOnly", SpvWord{1}}, {"bfSnormInt8", SpvWord{0}}, {"bpPerVertexNV", SpvWord{5285}}, {"bgRTE", SpvWord{0}}, {"caBaryCoordNoPerspKHR", SpvWord{5287}}, {"alRayGenerationKHR", SpvWord{5313}}, {"alGLCompute", SpvWord{5}}, {"bpMergeINTEL", SpvWord{5834}}, {"ceStorageTexelBufferArrayNonUniformIndexingEXT", SpvWord{5312}}, {"ceFPFastMathModeINTEL", SpvWord{5837}}, {"apNodeOutputPayloadAMDX", SpvWord{5076}}, {"bdRg8i", SpvWord{27}}, {"bdRgba8ui", SpvWord{32}}, {"alGeometry", SpvWord{3}}, {"bpMemoryINTEL", SpvWord{5826}}, {"caDeviceIndex", SpvWord{4438}}, {"caRayTminKHR", SpvWord{5325}}, {"cdWaitKernel", SpvWord{1}}, {"ceStorageTexelBufferArrayDynamicIndexing", SpvWord{5305}}, {"bdR8ui", SpvWord{39}}, {"aiTerminateOnFirstHitKHR", SpvWord{4}}, {"caPrimitiveCountNV", SpvWord{5275}}, {"bpXfbStride", SpvWord{37}}, {"caPrimitiveIndicesNV", SpvWord{5276}}, {"apCrossWorkgroup", SpvWord{5}}, {"ceGlobalVariableHostAccessINTEL", SpvWord{6167}}, {"adMaxReinvocationDelayINTEL", SpvWord{33554432}}, {"caIncomingRayFlagsNV", SpvWord{5351}}, {"bpSingleElementVectorINTEL", SpvWord{6085}}, {"alKernel", SpvWord{6}}, {"caShadingRateKHR", SpvWord{4444}}, {"ceUniformBufferArrayNonUniformIndexing", SpvWord{5306}}, {"bdRg8Snorm", SpvWord{18}}, {"bfSignedInt16", SpvWord{8}}, {"apWorkgroup", SpvWord{4}}, {"aoSpacingFractionalOdd", SpvWord{3}}, {"ceGroupNonUniformShuffleRelative", SpvWord{66}}, {"ccPartitionedInclusiveScanNV", SpvWord{7}}, {"bpSimpleDualPortINTEL", SpvWord{5833}}, {"aoNoGlobalOffsetINTEL", SpvWord{5895}}, {"aaBias", SpvWord{1}}, {"aoRoundingModeRTNINTEL", SpvWord{5621}}, {"aoOutputLineStrip", SpvWord{28}}, {"ceNamedBarrier", SpvWord{59}}, {"caBaseInstance", SpvWord{4425}}, {"cePipeStorage", SpvWord{60}}, {"ceSampleRateShading", SpvWord{35}}, {"apUniform", SpvWord{2}}, {"bpCacheSizeINTEL", SpvWord{5900}}, {"ceInterpolationFunction", SpvWord{52}}, {"caObjectToWorldKHR", SpvWord{5330}}, {"coStreamingINTEL", SpvWord{3}}, {"aaConstOffsets", SpvWord{32}}, {"ceDemoteToHelperInvocationEXT", SpvWord{5379}}, {"aoSubgroupsPerWorkgroupId", SpvWord{37}}, {"cePhysicalStorageBufferAddressesEXT", SpvWord{5347}}, {"ceAsmINTEL", SpvWord{5606}}, {"ccPartitionedReduceNV", SpvWord{6}}, {"bpNoContraction", SpvWord{42}}, {"agVolatile", SpvWord{1}}, {"bpHostAccessINTEL", SpvWord{6168}}, {"bpAliasedPointer", SpvWord{5356}}, {"bdR16", SpvWord{14}}, {"adNone", SpvWord{0}}, {"ceDerivativeControl", SpvWord{51}}, {"aoDenormFlushToZero", SpvWord{4460}}, {"bfSignedInt8", SpvWord{7}}, {"ceSparseResidency", SpvWord{41}}, {"ceShaderViewportIndexLayerEXT", SpvWord{5254}}, {"ceGenericPointer", SpvWord{38}}, {"bpReferencedIndirectlyINTEL", SpvWord{5602}}, {"alClosestHitKHR", SpvWord{5316}}, {"ceMeshShadingNV", SpvWord{5266}}, {"bjIEEE", SpvWord{0}}, {"bpNonWritable", SpvWord{24}}, {"caBaryCoordNoPerspSampleAMD", SpvWord{4994}}, {"afMakeAvailableKHR", SpvWord{8192}}, {"ceKernelAttributesINTEL", SpvWord{5892}}, {"bpMaxReplicatesINTEL", SpvWord{5832}}, {"ceGeometryPointSize", SpvWord{24}}, {"bpVectorComputeFunctionINTEL", SpvWord{5626}}, {"caClipDistance", SpvWord{3}}, {"bpBinding", SpvWord{33}}, {"ceImageGatherExtended", SpvWord{25}}, {"adPeelCount", SpvWord{128}}, {"ceSubgroupVoteKHR", SpvWord{4431}}, {"caMeshViewCountNV", SpvWord{5280}}, {"bpBlockMatchTextureQCOM", SpvWord{4488}}, {"aoSharedLocalMemorySizeINTEL", SpvWord{5618}}, {"ceVulkanMemoryModelDeviceScope", SpvWord{5346}}, {"bpGLSLShared", SpvWord{8}}, {"ceBindlessTextureNV", SpvWord{5390}}, {"aaNonPrivateTexel", SpvWord{1024}}, {"ceStorageImageWriteWithoutFormat", SpvWord{56}}, {"baBuffer", SpvWord{5}}, {"bpMMHostInterfaceAddressWidthINTEL", SpvWord{6177}}, {"cnConstCachedINTEL", SpvWord{4}}, {"ceLoopFuseINTEL", SpvWord{5906}}, {"ceFragmentShaderPixelInterlockEXT", SpvWord{5378}}, {"aoVertexOrderCw", SpvWord{4}}, {"aoSpacingFractionalEven", SpvWord{2}}, {"bpNonReadable", SpvWord{25}}, {"ceVulkanMemoryModelKHR", SpvWord{5345}}, {"ceMeshShadingEXT", SpvWord{5283}}, {"caInvocationId", SpvWord{8}}, {"ceFPGAKernelAttributesv2INTEL", SpvWord{6161}}, {"afMakeVisibleKHR", SpvWord{16384}}, {"caTaskCountNV", SpvWord{5274}}, {"boZext", SpvWord{0}}, {"agMakePointerVisibleKHR", SpvWord{16}}, {"ceRuntimeDescriptorArray", SpvWord{5302}}, {"blExport", SpvWord{0}}, {"bpMaxPrivateCopiesINTEL", SpvWord{5829}}, {"apNodePayloadAMDX", SpvWord{5068}}, {"adMaxConcurrencyINTEL", SpvWord{131072}}, {"anSimple", SpvWord{0}}, {"aoSubgroupSize", SpvWord{35}}, {"caPrimitiveTriangleIndicesEXT", SpvWord{5296}}, {"bpFlat", SpvWord{14}}, {"cnCachedINTEL", SpvWord{1}}, {"akHLSL", SpvWord{5}}, {"bpFPMaxErrorDecorationINTEL", SpvWord{6170}}, {"ceTransformFeedback", SpvWord{53}}, {"abAllowReassocINTEL", SpvWord{131072}}, {"adUnroll", SpvWord{1}}, {"ckRowMajorKHR", SpvWord{0}}, {"chRayQueryCandidateIntersectionAABBKHR", SpvWord{1}}, {"caBaryCoordSmoothCentroidAMD", SpvWord{4996}}, {"bpNonUniform", SpvWord{5300}}, {"bpPassthroughNV", SpvWord{5250}}, {"ceStorageImageReadWithoutFormat", SpvWord{55}}, {"agNone", SpvWord{0}}, {"aoDenormPreserve", SpvWord{4459}}, {"aoSampleInterlockUnorderedEXT", SpvWord{5369}}, {"beRA", SpvWord{3}}, {"bpVectorComputeCallableFunctionINTEL", SpvWord{6087}}, {"caHitMicroTriangleVertexBarycentricsNV", SpvWord{5344}}, {"adDependencyLength", SpvWord{8}}, {"aeDontInline", SpvWord{2}}, {"cnInvalidateAfterReadINTEL", SpvWord{3}}, {"abNotInf", SpvWord{2}}, {"afMakeVisible", SpvWord{16384}}, {"caPositionPerViewNV", SpvWord{5261}}, {"ceGroupNonUniformShuffle", SpvWord{65}}, {"bpWeightTextureQCOM", SpvWord{4487}}, {"aaOffset", SpvWord{16}}, {"aiCullFrontFacingTrianglesKHR", SpvWord{32}}, {"ceFunctionFloatControlINTEL", SpvWord{5821}}, {"caRayTminNV", SpvWord{5325}}, {"cgRayQueryCommittedIntersectionTriangleKHR", SpvWord{1}}, {"cbShaderCallKHR", SpvWord{6}}, {"cbQueueFamilyKHR", SpvWord{5}}, {"bpRowMajor", SpvWord{4}}, {"bpGlobalVariableOffsetINTEL", SpvWord{5628}}, {"caHitKindNV", SpvWord{5333}}, {"caShaderIndexAMDX", SpvWord{5073}}, {"ceKernel", SpvWord{6}}, {"ceStorageInputOutput16", SpvWord{4436}}, {"afVolatile", SpvWord{32768}}, {"ceIOPipesINTEL", SpvWord{5943}}, {"clMatrixBKHR", SpvWord{1}}, {"bpAliasScopeINTEL", SpvWord{5914}}, {"ceAtomicFloat32MinMaxEXT", SpvWord{5612}}, {"bpSaturatedConversion", SpvWord{28}}, {"aoCoalescingAMDX", SpvWord{5069}}, {"apStorageBuffer", SpvWord{12}}, {"bdRgba8", SpvWord{4}}, {"boNoReadWrite", SpvWord{7}}, {"afAcquireRelease", SpvWord{8}}, {"ceImageFootprintNV", SpvWord{5282}}, {"ceVector16", SpvWord{7}}, {"blImport", SpvWord{1}}, {"caFullyCoveredEXT", SpvWord{5264}}, {"aoStreamingInterfaceINTEL", SpvWord{6154}}, {"ceSampledImageArrayDynamicIndexing", SpvWord{29}}, {"baCube", SpvWord{3}}, {"bpMMHostInterfaceDataWidthINTEL", SpvWord{6178}}, {"bdRg16ui", SpvWord{36}}, {"bpPatch", SpvWord{15}}, {"caTessCoord", SpvWord{13}}, {"aoPixelCenterInteger", SpvWord{6}}, {"bpViewportRelativeNV", SpvWord{5252}}, {"bpUniformId", SpvWord{27}}, {"cbWorkgroup", SpvWord{2}}, {"aaOffsets", SpvWord{65536}}, {"ceMultiViewport", SpvWord{57}}, {"aoMaxNumWorkgroupsAMDX", SpvWord{5077}}, {"bpUserTypeGOOGLE", SpvWord{5636}}, {"bpPipelineEnableINTEL", SpvWord{5919}}, {"bpMMHostInterfaceWaitRequestINTEL", SpvWord{6182}}, {"ceUniformAndStorageBuffer8BitAccess", SpvWord{4449}}, {"aeOptNoneINTEL", SpvWord{65536}}, {"bdRgba8i", SpvWord{23}}, {"adDependencyArrayINTEL", SpvWord{262144}}, {"aoNamedBarrierCountINTEL", SpvWord{6417}}, {"bdRg16", SpvWord{12}}, {"adMaxIterations", SpvWord{32}}, {"akGLSL", SpvWord{2}}, {"ccExclusiveScan", SpvWord{2}}, {"bpDoublepumpINTEL", SpvWord{5831}}, {"cmInitOnDeviceReprogramINTEL", SpvWord{0}}, {"bhPreserve", SpvWord{0}}, {"aoShaderIndexAMDX", SpvWord{5073}}, {"ajVertical2Pixels", SpvWord{1}}, {"ceStorageUniformBufferBlock16", SpvWord{4433}}, {"ceDotProductInput4x8BitPackedKHR", SpvWord{6018}}, {"caClipDistancePerViewNV", SpvWord{5277}}, {"bfUnormInt16", SpvWord{3}}, {"bfUnormShort565", SpvWord{4}}, {"afWorkgroupMemory", SpvWord{256}}, {"adNoFusionINTEL", SpvWord{8388608}}, {"caNumSubgroups", SpvWord{38}}, {"anGLSL450", SpvWord{1}}, {"anOpenCL", SpvWord{2}}, {"caFragInvocationCountEXT", SpvWord{5293}}, {"bdRgba16f", SpvWord{2}}, {"ceSignedZeroInfNanPreserve", SpvWord{4466}}, {"ceSampledBuffer", SpvWord{46}}, {"caNumWorkgroups", SpvWord{24}}, {"ceSubgroupDispatch", SpvWord{58}}, {"aaGrad", SpvWord{4}}, {"caSubgroupGtMaskKHR", SpvWord{4418}}, {"ceFPGABufferLocationINTEL", SpvWord{5920}}, {"caFrontFacing", SpvWord{17}}, {"agMakePointerAvailableKHR", SpvWord{8}}, {"ceComputeDerivativeGroupQuadsNV", SpvWord{5288}}, {"cbDevice", SpvWord{1}}, {"bpCentroid", SpvWord{16}}, {"aeConst", SpvWord{8}}, {"bdR8Snorm", SpvWord{20}}, {"ceGroups", SpvWord{18}}, {"bdRgba32i", SpvWord{21}}, {"ceImageQuery", SpvWord{50}}, {"abAllowContractFastINTEL", SpvWord{65536}}, {"ceRayTraversalPrimitiveCullingKHR", SpvWord{4478}}, {"caVertexId", SpvWord{5}}, {"aoLocalSizeHintId", SpvWord{39}}, {"ceImageBasic", SpvWord{13}}, {"aoDerivativeGroupLinearNV", SpvWord{5290}}, {"ceInputAttachmentArrayNonUniformIndexingEXT", SpvWord{5310}}, {"bdRgba32f", SpvWord{1}}, {"beDepthStencil", SpvWord{14}}, {"agNontemporal", SpvWord{4}}, {"caInstanceId", SpvWord{6}}, {"bdRg8", SpvWord{13}}, {"bdRg16i", SpvWord{26}}, {"ceDotProductInput4x8BitKHR", SpvWord{6017}}, {"bdR32ui", SpvWord{33}}, {"ceDotProductInput4x8BitPacked", SpvWord{6018}}, {"ceRoundingModeRTE", SpvWord{4467}}, {"aoOutputLinesNV", SpvWord{5269}}, {"ceVariableLengthArrayINTEL", SpvWord{5817}}, {"cePipes", SpvWord{17}}, {"bfUnsignedInt32", SpvWord{12}}, {"beARGB", SpvWord{7}}, {"coUncachedINTEL", SpvWord{0}}, {"bpFuncParamIOKindINTEL", SpvWord{5625}}, {"ceUniformAndStorageBuffer16BitAccess", SpvWord{4434}}, {"adMaxInterleavingINTEL", SpvWord{2097152}}, {"aoInvocations", SpvWord{0}}, {"caHitKindKHR", SpvWord{5333}}, {"alTessellationEvaluation", SpvWord{2}}, {"aoOriginUpperLeft", SpvWord{7}}, {"aoOutputLinesEXT", SpvWord{5269}}, {"aoMaxWorkDimINTEL", SpvWord{5894}}, {"aoTriangles", SpvWord{22}}, {"ceTextureSampleWeightedQCOM", SpvWord{4484}}, {"beABGR", SpvWord{19}}, {"ciPackedVectorFormat4x8BitKHR", SpvWord{0}}, {"cePerViewAttributesNV", SpvWord{5260}}, {"caLayerPerViewNV", SpvWord{5279}}, {"bpCacheControlStoreINTEL", SpvWord{6443}}, {"bpHlslCounterBufferGOOGLE", SpvWord{5634}}, {"aoOutputTrianglesNV", SpvWord{5298}}, {"ceVectorAnyINTEL", SpvWord{5619}}, {"bpLocation", SpvWord{30}}, {"alMissNV", SpvWord{5317}}, {"bpBuiltIn", SpvWord{11}}, {"cnUncachedINTEL", SpvWord{0}}, {"aoOutputPoints", SpvWord{27}}, {"bpFuseLoopsInFunctionINTEL", SpvWord{5907}}, {"bpXfbBuffer", SpvWord{36}}, {"anVulkan", SpvWord{3}}, {"ceStoragePushConstant16", SpvWord{4435}}, {"aaMakeTexelVisible", SpvWord{512}}, {"adLoopCountINTEL", SpvWord{16777216}}, {"bdR16i", SpvWord{28}}, {"ceComputeDerivativeGroupLinearNV", SpvWord{5350}}, {"cbSubgroup", SpvWord{3}}, {"cdNoWait", SpvWord{0}}, {"ceIndirectReferencesINTEL", SpvWord{5604}}, {"bpPerTaskNV", SpvWord{5273}}, {"bpNoPerspective", SpvWord{13}}, {"cmInitOnDeviceResetINTEL", SpvWord{1}}, {"bdRgb10A2", SpvWord{11}}, {"aoIsolines", SpvWord{25}}, {"ceLongConstantCompositeINTEL", SpvWord{6089}}, {"bpSecondaryViewportRelativeNV", SpvWord{5256}}, {"boByVal", SpvWord{2}}, {"acNone", SpvWord{0}}, {"adPipelineEnableINTEL", SpvWord{524288}}, {"cjMatrixResultSignedComponentsKHR", SpvWord{8}}, {"bpInitModeINTEL", SpvWord{6147}}, {"ajHorizontal4Pixels", SpvWord{8}}, {"caHitTNV", SpvWord{5332}}, {"ceGroupNonUniformRotateKHR", SpvWord{6026}}, {"ceBlockingPipesINTEL", SpvWord{5945}}, {"ceSampleMaskOverrideCoverageNV", SpvWord{5249}}, {"caSubgroupEqMask", SpvWord{4416}}, {"afSequentiallyConsistent", SpvWord{16}}, {"abNone", SpvWord{0}}, {"bfUnormInt24", SpvWord{15}}, {"bpDontStaticallyCoalesceINTEL", SpvWord{5901}}, {"ceAtomicFloat16AddEXT", SpvWord{6095}}, {"adDontUnroll", SpvWord{2}}, {"ceImageCubeArray", SpvWord{34}}, {"caBaryCoordSmoothAMD", SpvWord{4995}}, {"bpRestrict", SpvWord{19}}, {"ceMultiView", SpvWord{4439}}, {"aoXfb", SpvWord{11}}, {"alVertex", SpvWord{0}}, {"alFragment", SpvWord{4}}, {"afOutputMemoryKHR", SpvWord{4096}}, {"ceGlobalVariableFPGADecorationsINTEL", SpvWord{6146}}, {"bpStream", SpvWord{29}}, {"bpRestrictPointerEXT", SpvWord{5355}}, {"ceStoragePushConstant8", SpvWord{4450}}, {"caVertexIndex", SpvWord{42}}, {"alRayGenerationNV", SpvWord{5313}}, {"caInstanceIndex", SpvWord{43}}, {"ceStorageImageArrayNonUniformIndexing", SpvWord{5309}}, {"ceFPGADSPControlINTEL", SpvWord{5908}}, {"aiCullNoOpaqueKHR", SpvWord{128}}, {"caSubgroupLeMask", SpvWord{4419}}, {"ceWorkgroupMemoryExplicitLayout8BitAccessKHR", SpvWord{4429}}, {"alIntersectionNV", SpvWord{5314}}, {"bpColMajor", SpvWord{5}}, {"caLaunchSizeKHR", SpvWord{5320}}, {"bhFlushToZero", SpvWord{1}}, {"caBaryCoordSmoothSampleAMD", SpvWord{4997}}, {"ceFloat16", SpvWord{9}}, {"aeNone", SpvWord{0}}, {"ceGroupNonUniformClustered", SpvWord{67}}, {"aoDepthReplacing", SpvWord{12}}, {"ceStorageBufferArrayDynamicIndexing", SpvWord{30}}, {"ceGeometryShaderPassthroughNV", SpvWord{5251}}, {"adPartialCount", SpvWord{256}}, {"caViewportIndex", SpvWord{10}}, {"biTRN_ZERO", SpvWord{1}}, {"ceArbitraryPrecisionFixedPointINTEL", SpvWord{5922}}, {"bpPerPrimitiveEXT", SpvWord{5271}}, {"ceTessellationPointSize", SpvWord{23}}, {"apOutput", SpvWord{3}}, {"ccReduce", SpvWord{0}}, {"afImageMemory", SpvWord{2048}}, {"ciPackedVectorFormat4x8Bit", SpvWord{0}}, {"ceBitInstructions", SpvWord{6025}}, {"adInitiationIntervalINTEL", SpvWord{65536}}, {"ceInt64ImageEXT", SpvWord{5016}}, {"aiNoneKHR", SpvWord{0}}, {"ceInputAttachment", SpvWord{40}}, {"aoStencilRefGreaterBackAMD", SpvWord{5083}}, {"aoDerivativeGroupQuadsNV", SpvWord{5289}}, {"biRND_INF", SpvWord{4}}, {"apPhysicalStorageBufferEXT", SpvWord{5349}}, {"ceUnstructuredLoopControlsINTEL", SpvWord{5886}}, {"caInstanceCustomIndexNV", SpvWord{5327}}, {"bpSideEffectsINTEL", SpvWord{5608}}, {"bbNone", SpvWord{0}}, {"bpStallEnableINTEL", SpvWord{5905}}, {"ceShaderStereoViewNV", SpvWord{5259}}, {"caBaryCoordNV", SpvWord{5286}}, {"ceCoreBuiltinsARM", SpvWord{4165}}, {"bpUniform", SpvWord{26}}, {"aoOutputTrianglesEXT", SpvWord{5298}}, {"caCullDistancePerViewNV", SpvWord{5278}}, {"bcNearest", SpvWord{0}}, {"apShaderRecordBufferNV", SpvWord{5343}}, {"caSubgroupId", SpvWord{40}}, {"ceRayTracingOpacityMicromapEXT", SpvWord{5381}}, }; static const auto hash = [](const UnownedStringSlice& str, UInt32 salt){ UInt32 h = salt; for (const char c : str) h = (h * 0x01000193) ^ c; return h % 988; }; 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{"AllowContractFastINTEL"}; return true; case 131072: v = UnownedStringSlice{"AllowReassocINTEL"}; 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{"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; default: return false; } case 11: 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 12: 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 13: 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 14: 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 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 6154: v = UnownedStringSlice{"StreamingInterfaceINTEL"}; return true; case 6160: v = UnownedStringSlice{"RegisterMapInterfaceINTEL"}; return true; case 6417: v = UnownedStringSlice{"NamedBarrierCountINTEL"}; return true; default: return false; } case 15: 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 16: 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 17: 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 18: switch(k2) { case 0: v = UnownedStringSlice{"Nearest"}; return true; case 1: v = UnownedStringSlice{"Linear"}; return true; default: return false; } case 19: 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 20: 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 21: 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 22: 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 23: switch(k2) { case 0: v = UnownedStringSlice{"Preserve"}; return true; case 1: v = UnownedStringSlice{"FlushToZero"}; return true; default: return false; } case 24: 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 25: switch(k2) { case 0: v = UnownedStringSlice{"IEEE"}; return true; case 1: v = UnownedStringSlice{"ALT"}; return true; default: return false; } case 26: 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 27: 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 28: 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 29: 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 30: 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 31: 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 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 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 6147: v = UnownedStringSlice{"InitModeINTEL"}; return true; case 6148: v = UnownedStringSlice{"ImplementInRegisterMapINTEL"}; return true; case 6168: v = UnownedStringSlice{"HostAccessINTEL"}; 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 6442: v = UnownedStringSlice{"CacheControlLoadINTEL"}; return true; case 6443: v = UnownedStringSlice{"CacheControlStoreINTEL"}; return true; default: return false; } case 32: 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 33: 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 34: 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 35: 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 36: 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 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 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 5409: v = UnownedStringSlice{"RayTracingDisplacementMicromapNV"}; 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 6033: v = UnownedStringSlice{"AtomicFloat32AddEXT"}; return true; case 6034: v = UnownedStringSlice{"AtomicFloat64AddEXT"}; return true; case 6089: v = UnownedStringSlice{"LongConstantCompositeINTEL"}; 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 6146: v = UnownedStringSlice{"GlobalVariableFPGADecorationsINTEL"}; return true; case 6161: v = UnownedStringSlice{"FPGAKernelAttributesv2INTEL"}; return true; case 6167: v = UnownedStringSlice{"GlobalVariableHostAccessINTEL"}; return true; case 6169: v = UnownedStringSlice{"FPMaxErrorINTEL"}; return true; case 6171: v = UnownedStringSlice{"FPGALatencyControlINTEL"}; return true; case 6174: v = UnownedStringSlice{"FPGAArgumentInterfacesINTEL"}; return true; case 6400: v = UnownedStringSlice{"GroupUniformArithmeticKHR"}; return true; case 6441: v = UnownedStringSlice{"CacheControlsINTEL"}; return true; default: return false; } case 37: switch(k2) { case 0: v = UnownedStringSlice{"RayQueryCandidateIntersectionKHR"}; return true; case 1: v = UnownedStringSlice{"RayQueryCommittedIntersectionKHR"}; return true; default: return false; } case 38: 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 39: switch(k2) { case 0: v = UnownedStringSlice{"RayQueryCandidateIntersectionTriangleKHR"}; return true; case 1: v = UnownedStringSlice{"RayQueryCandidateIntersectionAABBKHR"}; return true; default: return false; } case 40: switch(k2) { case 0: v = UnownedStringSlice{"PackedVectorFormat4x8Bit"}; return true; default: return false; } case 41: 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 42: switch(k2) { case 0: v = UnownedStringSlice{"RowMajorKHR"}; return true; case 1: v = UnownedStringSlice{"ColumnMajorKHR"}; return true; default: return false; } case 43: 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 44: switch(k2) { case 0: v = UnownedStringSlice{"InitOnDeviceReprogramINTEL"}; return true; case 1: v = UnownedStringSlice{"InitOnDeviceResetINTEL"}; return true; default: return false; } case 45: 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 46: 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; } 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{"SourceLanguage"}; return true; } case 11: { v = UnownedStringSlice{"ExecutionModel"}; return true; } case 12: { v = UnownedStringSlice{"AddressingModel"}; return true; } case 13: { v = UnownedStringSlice{"MemoryModel"}; return true; } case 14: { v = UnownedStringSlice{"ExecutionMode"}; return true; } case 15: { v = UnownedStringSlice{"StorageClass"}; return true; } case 16: { v = UnownedStringSlice{"Dim"}; return true; } case 17: { v = UnownedStringSlice{"SamplerAddressingMode"}; return true; } case 18: { v = UnownedStringSlice{"SamplerFilterMode"}; return true; } case 19: { v = UnownedStringSlice{"ImageFormat"}; return true; } case 20: { v = UnownedStringSlice{"ImageChannelOrder"}; return true; } case 21: { v = UnownedStringSlice{"ImageChannelDataType"}; return true; } case 22: { v = UnownedStringSlice{"FPRoundingMode"}; return true; } case 23: { v = UnownedStringSlice{"FPDenormMode"}; return true; } case 24: { v = UnownedStringSlice{"QuantizationModes"}; return true; } case 25: { v = UnownedStringSlice{"FPOperationMode"}; return true; } case 26: { v = UnownedStringSlice{"OverflowModes"}; return true; } case 27: { v = UnownedStringSlice{"LinkageType"}; return true; } case 28: { v = UnownedStringSlice{"AccessQualifier"}; return true; } case 29: { v = UnownedStringSlice{"HostAccessQualifier"}; return true; } case 30: { v = UnownedStringSlice{"FunctionParameterAttribute"}; return true; } case 31: { v = UnownedStringSlice{"Decoration"}; return true; } case 32: { v = UnownedStringSlice{"BuiltIn"}; return true; } case 33: { v = UnownedStringSlice{"Scope"}; return true; } case 34: { v = UnownedStringSlice{"GroupOperation"}; return true; } case 35: { v = UnownedStringSlice{"KernelEnqueueFlags"}; return true; } case 36: { v = UnownedStringSlice{"Capability"}; return true; } case 37: { v = UnownedStringSlice{"RayQueryIntersection"}; return true; } case 38: { v = UnownedStringSlice{"RayQueryCommittedIntersectionType"}; return true; } case 39: { v = UnownedStringSlice{"RayQueryCandidateIntersectionType"}; return true; } case 40: { v = UnownedStringSlice{"PackedVectorFormat"}; return true; } case 41: { v = UnownedStringSlice{"CooperativeMatrixOperands"}; return true; } case 42: { v = UnownedStringSlice{"CooperativeMatrixLayout"}; return true; } case 43: { v = UnownedStringSlice{"CooperativeMatrixUse"}; return true; } case 44: { v = UnownedStringSlice{"InitializationModeQualifier"}; return true; } case 45: { v = UnownedStringSlice{"LoadCacheControl"}; return true; } case 46: { v = UnownedStringSlice{"StoreCacheControl"}; return true; } case 47: { v = UnownedStringSlice{"IdResultType"}; return true; } case 48: { v = UnownedStringSlice{"IdResult"}; return true; } case 49: { v = UnownedStringSlice{"IdMemorySemantics"}; return true; } case 50: { v = UnownedStringSlice{"IdScope"}; return true; } case 51: { v = UnownedStringSlice{"IdRef"}; return true; } case 52: { v = UnownedStringSlice{"LiteralInteger"}; return true; } case 53: { v = UnownedStringSlice{"LiteralString"}; return true; } case 54: { v = UnownedStringSlice{"LiteralFloat"}; return true; } case 55: { v = UnownedStringSlice{"LiteralContextDependentNumber"}; return true; } case 56: { v = UnownedStringSlice{"LiteralExtInstInteger"}; return true; } case 57: { v = UnownedStringSlice{"LiteralSpecConstantOpInteger"}; return true; } case 58: { v = UnownedStringSlice{"PairLiteralIntegerIdRef"}; return true; } case 59: { v = UnownedStringSlice{"PairIdRefLiteralInteger"}; return true; } case 60: { v = UnownedStringSlice{"PairIdRefIdRef"}; return true; } default: return false; } } static bool getOperandKindUnderneathId(const OperandKind& k, OperandKind& v) { switch(k.index) { case 49: { v = OperandKind{5}; return true; } case 50: { v = OperandKind{33}; 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; } }