diff options
| author | Ellie Hermaszewska <ellieh@nvidia.com> | 2023-02-03 12:18:49 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-02-03 12:18:49 +0800 |
| commit | a00dc69ca8dfbc346940c7d03d67c1cb229577fb (patch) | |
| tree | ce102791bfe2b052edb4e4fc3453a92fc53fb3a8 /source/slang/slang-lookup-spvop.cpp | |
| parent | bbd1e1786401bb88c34802b987d4da72e2364503 (diff) | |
Use SPIR-V opcode names rather than numbers (#2571)
* s/emititng blobal/emitting global
* Use SPIR-V opcode names rather than numbers
* regenerate Visual Studio project files
* Use names for extended SPIR-V GLSL instructions
* Add missing operand for SPIR-V extended instruction
* Add warning aginst modifying generated hashing files
* Squash warnings on MSVC
Diffstat (limited to 'source/slang/slang-lookup-spvop.cpp')
| -rw-r--r-- | source/slang/slang-lookup-spvop.cpp | 762 |
1 files changed, 762 insertions, 0 deletions
diff --git a/source/slang/slang-lookup-spvop.cpp b/source/slang/slang-lookup-spvop.cpp new file mode 100644 index 000000000..545229eed --- /dev/null +++ b/source/slang/slang-lookup-spvop.cpp @@ -0,0 +1,762 @@ +// Hash function for SpvOp +// +// This file was thoughtfully generated by a machine, +// don't even think about modifying it yourself! +// + +#include "../core/slang-common.h" +#include "../core/slang-string.h" +#include "spirv/unified1/spirv.h" + + +namespace Slang +{ + +static const unsigned tableSalt[670] ={ + 0, 2, 4, 0, 0, 0, 4, 5, 10, 7, 0, 5, 0, 2, 24, 1, + 0, 6, 8, 7, 0, 0, 2, 1, 23, 23, 5, 0, 0, 1, 0, 0, + 5, 0, 0, 1, 0, 10, 6, 1, 9, 6, 0, 0, 0, 12, 0, 20, + 7, 1, 0, 1, 0, 1, 0, 1, 18, 2, 3, 3, 0, 2, 9, 0, + 3, 0, 0, 4, 0, 9, 9, 0, 0, 2, 11, 0, 10, 13, 13, 0, + 0, 0, 38, 23, 0, 16, 7, 1, 1, 7, 63, 15, 5, 16, 12, 9, + 30, 0, 6, 10, 2, 22, 0, 1, 3, 2, 3, 0, 6, 0, 0, 3, + 0, 4, 1, 0, 1, 5, 23, 0, 0, 0, 0, 13, 9, 0, 1, 1, + 1, 2, 0, 5, 1, 5, 4, 1, 5, 8, 10, 3, 3, 10, 4, 2, + 0, 0, 5, 8, 1, 15, 7, 0, 0, 18, 5, 2, 0, 0, 0, 1, + 1, 1, 0, 0, 1, 7, 1, 22, 4, 0, 8, 4, 5, 11, 0, 7, + 0, 1, 3, 0, 4, 1, 8, 1, 2, 2, 0, 1, 0, 2, 0, 3, + 0, 2, 0, 0, 8, 0, 1, 0, 3, 0, 27, 15, 0, 1, 7, 7, + 5, 1, 1, 6, 1, 1, 22, 5, 9, 4, 0, 2, 1, 0, 70, 1, + 0, 4, 4, 0, 4, 0, 76, 0, 0, 36, 0, 0, 44, 80, 0, 1, + 8, 3, 2, 1, 4, 1, 0, 66, 0, 0, 5, 2, 2, 56, 281, 7, + 31, 15, 0, 0, 1, 2, 19, 1, 72, 6, 4, 40, 6, 1, 220, 0, + 0, 3, 104, 222, 2, 333, 0, 0, 2, 7, 7, 11, 28, 0, 19, 563, + 138, 0, 0, 1, 1, 2, 0, 0, 3, 21, 0, 0, 0, 0, 15, 23, + 4, 0, 6, 2, 179, 26, 1, 1, 0, 3, 2, 5, 0, 1, 1, 2, + 1, 1, 3, 7, 7, 1, 5, 1, 3, 1, 1, 0, 2, 4, 5, 1, + 0, 0, 3, 0, 1, 1, 0, 0, 2, 2, 1, 2, 0, 3, 3, 2, + 0, 0, 0, 0, 1, 3, 0, 3, 0, 0, 0, 0, 5, 1, 0, 0, + 1, 1, 1, 1, 0, 2, 0, 0, 1, 0, 4, 3, 2, 3, 2, 0, + 1, 1, 5, 3, 0, 1, 0, 2, 2, 1, 2, 7, 0, 1, 0, 0, + 3, 7, 2, 0, 8, 1, 9, 0, 3, 1, 1, 1, 0, 6, 0, 1, + 3, 15, 0, 0, 0, 3, 0, 0, 1, 1, 12, 9, 1, 1, 7, 12, + 0, 0, 2, 3, 3, 0, 0, 24, 1, 9, 1, 1, 0, 3, 9, 1, + 4, 0, 0, 0, 0, 3, 2, 0, 1, 3, 0, 2, 2, 0, 2, 0, + 17, 4, 0, 1, 1, 2, 0, 0, 0, 4, 0, 1, 2, 6, 0, 1, + 1, 0, 1, 0, 5, 0, 0, 0, 0, 1, 7, 2, 0, 5, 3, 0, + 1, 4, 0, 0, 12, 4, 1, 0, 2, 0, 0, 3, 2, 8, 3, 0, + 0, 6, 3, 0, 1, 7, 1, 1, 0, 0, 1, 0, 3, 20, 1, 1, + 1, 0, 2, 0, 5, 0, 2, 0, 0, 1, 1, 1, 1, 5, 1, 4, + 0, 0, 6, 12, 0, 0, 3, 3, 0, 0, 0, 0, 0, 9, 4, 4, + 0, 2, 0, 5, 2, 0, 2, 0, 4, 1, 0, 5, 16, 3, 0, 1, + 0, 1, 0, 0, 0, 3, 0, 2, 6, 2, 12, 0, 16, 0, 1, 2, + 3, 0, 2, 12, 3, 2, 0, 1, 0, 0, 1, 2, 0, 1, 1, 0, + 1, 1, 1, 4, 0, 1, 0, 4, 0, 3, 5, 0, 1, 1, 3, 2, + 0, 0, 3, 14, 2, 0, 0, 0, 3, 8, 1, 2, 1, 2, 1, 3, + 1, 0, 3, 2, 1, 0, 1, 3, 1, 1, 0, 3, 2, 0, 0, 0, + 3, 0, 1, 0, 9, 4, 2, 0, 1, 8, 5, 5, 0, 0 +}; + +struct KV +{ + const char* name; + SpvOp value; +}; + +static const KV words[670] = +{ + {"OpAtomicOr", SpvOpAtomicOr}, + {"OpIsValidReserveId", SpvOpIsValidReserveId}, + {"OpSubgroupAnyKHR", SpvOpSubgroupAnyKHR}, + {"OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL", SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL}, + {"OpSubgroupAvcRefEvaluateWithDualReferenceINTEL", SpvOpSubgroupAvcRefEvaluateWithDualReferenceINTEL}, + {"OpSubgroupAvcFmeInitializeINTEL", SpvOpSubgroupAvcFmeInitializeINTEL}, + {"OpCompositeInsert", SpvOpCompositeInsert}, + {"OpPtrAccessChain", SpvOpPtrAccessChain}, + {"OpConvertSampledImageToUNV", SpvOpConvertSampledImageToUNV}, + {"OpReadPipeBlockingINTEL", SpvOpReadPipeBlockingINTEL}, + {"OpAtomicIIncrement", SpvOpAtomicIIncrement}, + {"OpBitFieldSExtract", SpvOpBitFieldSExtract}, + {"OpUnordered", SpvOpUnordered}, + {"OpArbitraryFloatAddINTEL", SpvOpArbitraryFloatAddINTEL}, + {"OpLoopMerge", SpvOpLoopMerge}, + {"OpAsmTargetINTEL", SpvOpAsmTargetINTEL}, + {"OpConstantSampler", SpvOpConstantSampler}, + {"OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL", SpvOpSubgroupAvcImeStripSingleReferenceStreamoutINTEL}, + {"OpFOrdNotEqual", SpvOpFOrdNotEqual}, + {"OpRayQueryGetIntersectionCandidateAABBOpaqueKHR", SpvOpRayQueryGetIntersectionCandidateAABBOpaqueKHR}, + {"OpBuildNDRange", SpvOpBuildNDRange}, + {"OpUndef", SpvOpUndef}, + {"OpConvertPtrToU", SpvOpConvertPtrToU}, + {"OpGroupLogicalOrKHR", SpvOpGroupLogicalOrKHR}, + {"OpNamedBarrierInitialize", SpvOpNamedBarrierInitialize}, + {"OpConstantComposite", SpvOpConstantComposite}, + {"OpImageSparseSampleProjDrefExplicitLod", SpvOpImageSparseSampleProjDrefExplicitLod}, + {"OpSGreaterThanEqual", SpvOpSGreaterThanEqual}, + {"OpBitwiseAnd", SpvOpBitwiseAnd}, + {"OpRayQueryGetIntersectionBarycentricsKHR", SpvOpRayQueryGetIntersectionBarycentricsKHR}, + {"OpULessThan", SpvOpULessThan}, + {"OpUnreachable", SpvOpUnreachable}, + {"OpSubgroupAvcRefConvertToMceResultINTEL", SpvOpSubgroupAvcRefConvertToMceResultINTEL}, + {"OpSubgroupAvcMceConvertToImePayloadINTEL", SpvOpSubgroupAvcMceConvertToImePayloadINTEL}, + {"OpFunctionEnd", SpvOpFunctionEnd}, + {"OpTypeAccelerationStructureNV", SpvOpTypeAccelerationStructureNV}, + {"OpRayQueryConfirmIntersectionKHR", SpvOpRayQueryConfirmIntersectionKHR}, + {"OpFConvert", SpvOpFConvert}, + {"OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL", SpvOpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL}, + {"OpIsInf", SpvOpIsInf}, + {"OpGroupCommitReadPipe", SpvOpGroupCommitReadPipe}, + {"OpReadClockKHR", SpvOpReadClockKHR}, + {"OpSubgroupReadInvocationKHR", SpvOpSubgroupReadInvocationKHR}, + {"OpFDiv", SpvOpFDiv}, + {"OpSubgroupAvcMceConvertToImeResultINTEL", SpvOpSubgroupAvcMceConvertToImeResultINTEL}, + {"OpSubgroupAvcImeAdjustRefOffsetINTEL", SpvOpSubgroupAvcImeAdjustRefOffsetINTEL}, + {"OpArbitraryFloatHypotINTEL", SpvOpArbitraryFloatHypotINTEL}, + {"OpFragmentFetchAMD", SpvOpFragmentFetchAMD}, + {"OpISub", SpvOpISub}, + {"OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL", SpvOpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL}, + {"OpEnqueueMarker", SpvOpEnqueueMarker}, + {"OpGroupUMinNonUniformAMD", SpvOpGroupUMinNonUniformAMD}, + {"OpImageQueryLevels", SpvOpImageQueryLevels}, + {"OpIMul", SpvOpIMul}, + {"OpRayQueryGetWorldRayDirectionKHR", SpvOpRayQueryGetWorldRayDirectionKHR}, + {"OpAtomicIAdd", SpvOpAtomicIAdd}, + {"OpGroupNonUniformSMin", SpvOpGroupNonUniformSMin}, + {"OpISubSatINTEL", SpvOpISubSatINTEL}, + {"OpTypePipeStorage", SpvOpTypePipeStorage}, + {"OpGroupNonUniformAllEqual", SpvOpGroupNonUniformAllEqual}, + {"OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL", SpvOpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL}, + {"OpTypeDeviceEvent", SpvOpTypeDeviceEvent}, + {"OpGroupFMax", SpvOpGroupFMax}, + {"OpGroupNonUniformBroadcast", SpvOpGroupNonUniformBroadcast}, + {"OpGroupNonUniformUMax", SpvOpGroupNonUniformUMax}, + {"OpSubgroupAvcRefSetBidirectionalMixDisableINTEL", SpvOpSubgroupAvcRefSetBidirectionalMixDisableINTEL}, + {"OpTypeAvcMcePayloadINTEL", SpvOpTypeAvcMcePayloadINTEL}, + {"OpSubgroupAvcSicGetPackedIpeLumaModesINTEL", SpvOpSubgroupAvcSicGetPackedIpeLumaModesINTEL}, + {"OpFSub", SpvOpFSub}, + {"OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL", SpvOpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL}, + {"OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL", SpvOpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL}, + {"OpGroupNonUniformBroadcastFirst", SpvOpGroupNonUniformBroadcastFirst}, + {"OpGroupReserveReadPipePackets", SpvOpGroupReserveReadPipePackets}, + {"OpRayQueryProceedKHR", SpvOpRayQueryProceedKHR}, + {"OpExecutionModeId", SpvOpExecutionModeId}, + {"OpCapability", SpvOpCapability}, + {"OpDPdyFine", SpvOpDPdyFine}, + {"OpDot", SpvOpDot}, + {"OpFragmentMaskFetchAMD", SpvOpFragmentMaskFetchAMD}, + {"OpGroupReserveWritePipePackets", SpvOpGroupReserveWritePipePackets}, + {"OpArbitraryFloatGTINTEL", SpvOpArbitraryFloatGTINTEL}, + {"OpFixedRecipINTEL", SpvOpFixedRecipINTEL}, + {"OpArbitraryFloatExp10INTEL", SpvOpArbitraryFloatExp10INTEL}, + {"OpWritePipe", SpvOpWritePipe}, + {"OpReserveReadPipePackets", SpvOpReserveReadPipePackets}, + {"OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL", SpvOpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL}, + {"OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL", SpvOpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL}, + {"OpRestoreMemoryINTEL", SpvOpRestoreMemoryINTEL}, + {"OpLine", SpvOpLine}, + {"OpGroupNonUniformQuadSwap", SpvOpGroupNonUniformQuadSwap}, + {"OpTypeArray", SpvOpTypeArray}, + {"OpRayQueryGetIntersectionInstanceCustomIndexKHR", SpvOpRayQueryGetIntersectionInstanceCustomIndexKHR}, + {"OpFMod", SpvOpFMod}, + {"OpLifetimeStart", SpvOpLifetimeStart}, + {"OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL", SpvOpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL}, + {"OpArbitraryFloatCosINTEL", SpvOpArbitraryFloatCosINTEL}, + {"OpSelect", SpvOpSelect}, + {"OpUCountLeadingZerosINTEL", SpvOpUCountLeadingZerosINTEL}, + {"OpAliasDomainDeclINTEL", SpvOpAliasDomainDeclINTEL}, + {"OpConstantCompositeContinuedINTEL", SpvOpConstantCompositeContinuedINTEL}, + {"OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL", SpvOpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL}, + {"OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL", SpvOpSubgroupAvcMceSetMotionVectorCostFunctionINTEL}, + {"OpCommitWritePipe", SpvOpCommitWritePipe}, + {"OpLogicalOr", SpvOpLogicalOr}, + {"OpAtomicUMax", SpvOpAtomicUMax}, + {"OpRayQueryGetIntersectionTypeKHR", SpvOpRayQueryGetIntersectionTypeKHR}, + {"OpSLessThanEqual", SpvOpSLessThanEqual}, + {"OpSubgroupBallotKHR", SpvOpSubgroupBallotKHR}, + {"OpVectorShuffle", SpvOpVectorShuffle}, + {"OpReturnValue", SpvOpReturnValue}, + {"OpTypeForwardPointer", SpvOpTypeForwardPointer}, + {"OpArrayLength", SpvOpArrayLength}, + {"OpSubgroupAllKHR", SpvOpSubgroupAllKHR}, + {"OpMatrixTimesVector", SpvOpMatrixTimesVector}, + {"OpGroupNonUniformAny", SpvOpGroupNonUniformAny}, + {"OpUSubSatINTEL", SpvOpUSubSatINTEL}, + {"OpUGreaterThanEqual", SpvOpUGreaterThanEqual}, + {"OpIEqual", SpvOpIEqual}, + {"OpCompositeExtract", SpvOpCompositeExtract}, + {"OpSetMeshOutputsEXT", SpvOpSetMeshOutputsEXT}, + {"OpDPdxFine", SpvOpDPdxFine}, + {"OpArbitraryFloatLog2INTEL", SpvOpArbitraryFloatLog2INTEL}, + {"OpCommitReadPipe", SpvOpCommitReadPipe}, + {"OpTypeAvcImeDualReferenceStreaminINTEL", SpvOpTypeAvcImeDualReferenceStreaminINTEL}, + {"OpGroupNonUniformLogicalAnd", SpvOpGroupNonUniformLogicalAnd}, + {"OpAtomicUMin", SpvOpAtomicUMin}, + {"OpPtrEqual", SpvOpPtrEqual}, + {"OpAtomicFMinEXT", SpvOpAtomicFMinEXT}, + {"OpUDotAccSatKHR", SpvOpUDotAccSatKHR}, + {"OpExecuteCallableKHR", SpvOpExecuteCallableKHR}, + {"OpIsHelperInvocationEXT", SpvOpIsHelperInvocationEXT}, + {"OpRayQueryGetIntersectionPrimitiveIndexKHR", SpvOpRayQueryGetIntersectionPrimitiveIndexKHR}, + {"OpTypeAvcSicResultINTEL", SpvOpTypeAvcSicResultINTEL}, + {"OpExtInst", SpvOpExtInst}, + {"OpUMulExtended", SpvOpUMulExtended}, + {"OpLoopControlINTEL", SpvOpLoopControlINTEL}, + {"OpNot", SpvOpNot}, + {"OpCreatePipeFromPipeStorage", SpvOpCreatePipeFromPipeStorage}, + {"OpImageFetch", SpvOpImageFetch}, + {"OpSubgroupAvcSicConfigureIpeLumaChromaINTEL", SpvOpSubgroupAvcSicConfigureIpeLumaChromaINTEL}, + {"OpNop", SpvOpNop}, + {"OpIsNormal", SpvOpIsNormal}, + {"OpArbitraryFloatExpINTEL", SpvOpArbitraryFloatExpINTEL}, + {"OpSubgroupAvcSicConfigureIpeLumaINTEL", SpvOpSubgroupAvcSicConfigureIpeLumaINTEL}, + {"OpShiftRightArithmetic", SpvOpShiftRightArithmetic}, + {"OpUMul32x16INTEL", SpvOpUMul32x16INTEL}, + {"OpIAddSatINTEL", SpvOpIAddSatINTEL}, + {"OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL", SpvOpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL}, + {"OpCopyMemory", SpvOpCopyMemory}, + {"OpGroupSMinNonUniformAMD", SpvOpGroupSMinNonUniformAMD}, + {"OpArbitraryFloatPowNINTEL", SpvOpArbitraryFloatPowNINTEL}, + {"OpAccessChain", SpvOpAccessChain}, + {"OpCooperativeMatrixMulAddNV", SpvOpCooperativeMatrixMulAddNV}, + {"OpGroupNonUniformFMin", SpvOpGroupNonUniformFMin}, + {"OpIsFinite", SpvOpIsFinite}, + {"OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL", SpvOpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL}, + {"OpSubgroupAvcImeGetDualReferenceStreaminINTEL", SpvOpSubgroupAvcImeGetDualReferenceStreaminINTEL}, + {"OpVmeImageINTEL", SpvOpVmeImageINTEL}, + {"OpSubgroupAvcMceGetInterDirectionsINTEL", SpvOpSubgroupAvcMceGetInterDirectionsINTEL}, + {"OpSubgroupImageBlockWriteINTEL", SpvOpSubgroupImageBlockWriteINTEL}, + {"OpArbitraryFloatSubINTEL", SpvOpArbitraryFloatSubINTEL}, + {"OpLogicalEqual", SpvOpLogicalEqual}, + {"OpDecorateString", SpvOpDecorateString}, + {"OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL", SpvOpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL}, + {"OpGroupNonUniformQuadBroadcast", SpvOpGroupNonUniformQuadBroadcast}, + {"OpRayQueryGetWorldRayOriginKHR", SpvOpRayQueryGetWorldRayOriginKHR}, + {"OpCopyMemorySized", SpvOpCopyMemorySized}, + {"OpSubgroupAvcMceSetInterDirectionPenaltyINTEL", SpvOpSubgroupAvcMceSetInterDirectionPenaltyINTEL}, + {"OpLogicalNotEqual", SpvOpLogicalNotEqual}, + {"OpFixedSinINTEL", SpvOpFixedSinINTEL}, + {"OpImageSampleFootprintNV", SpvOpImageSampleFootprintNV}, + {"OpSubgroupBlockReadINTEL", SpvOpSubgroupBlockReadINTEL}, + {"OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL", SpvOpSubgroupAvcImeGetTruncatedSearchIndicationINTEL}, + {"OpOrdered", SpvOpOrdered}, + {"OpImageSampleExplicitLod", SpvOpImageSampleExplicitLod}, + {"OpGroupUMin", SpvOpGroupUMin}, + {"OpFixedSinPiINTEL", SpvOpFixedSinPiINTEL}, + {"OpRayQueryInitializeKHR", SpvOpRayQueryInitializeKHR}, + {"OpTerminateRayKHR", SpvOpTerminateRayKHR}, + {"OpConvertUToSamplerNV", SpvOpConvertUToSamplerNV}, + {"OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL", SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL}, + {"OpAtomicSMax", SpvOpAtomicSMax}, + {"OpBitReverse", SpvOpBitReverse}, + {"OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL", SpvOpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL}, + {"OpTypeAvcRefResultINTEL", SpvOpTypeAvcRefResultINTEL}, + {"OpTypeBufferSurfaceINTEL", SpvOpTypeBufferSurfaceINTEL}, + {"OpConvertFToS", SpvOpConvertFToS}, + {"OpGetKernelNDrangeSubGroupCount", SpvOpGetKernelNDrangeSubGroupCount}, + {"OpSDotKHR", SpvOpSDotKHR}, + {"OpImageSampleProjImplicitLod", SpvOpImageSampleProjImplicitLod}, + {"OpGenericCastToPtr", SpvOpGenericCastToPtr}, + {"OpRayQueryGetIntersectionObjectRayDirectionKHR", SpvOpRayQueryGetIntersectionObjectRayDirectionKHR}, + {"OpSubgroupAvcSicGetIpeLumaShapeINTEL", SpvOpSubgroupAvcSicGetIpeLumaShapeINTEL}, + {"OpSpecConstantCompositeContinuedINTEL", SpvOpSpecConstantCompositeContinuedINTEL}, + {"OpTraceRayMotionNV", SpvOpTraceRayMotionNV}, + {"OpExecutionMode", SpvOpExecutionMode}, + {"OpDPdyCoarse", SpvOpDPdyCoarse}, + {"OpSubgroupAvcImeSetDualReferenceINTEL", SpvOpSubgroupAvcImeSetDualReferenceINTEL}, + {"OpBranch", SpvOpBranch}, + {"OpSubgroupAvcImeStripDualReferenceStreamoutINTEL", SpvOpSubgroupAvcImeStripDualReferenceStreamoutINTEL}, + {"OpSLessThan", SpvOpSLessThan}, + {"OpUAverageRoundedINTEL", SpvOpUAverageRoundedINTEL}, + {"OpAtomicLoad", SpvOpAtomicLoad}, + {"OpConvertUToF", SpvOpConvertUToF}, + {"OpGroupNonUniformBitwiseXor", SpvOpGroupNonUniformBitwiseXor}, + {"OpSubgroupAvcImeRefWindowSizeINTEL", SpvOpSubgroupAvcImeRefWindowSizeINTEL}, + {"OpSubgroupAvcSicSetBilinearFilterEnableINTEL", SpvOpSubgroupAvcSicSetBilinearFilterEnableINTEL}, + {"OpStore", SpvOpStore}, + {"OpUDotAccSat", SpvOpUDotAccSat}, + {"OpControlBarrierWaitINTEL", SpvOpControlBarrierWaitINTEL}, + {"OpTypeFloat", SpvOpTypeFloat}, + {"OpSubgroupAvcMceConvertToSicPayloadINTEL", SpvOpSubgroupAvcMceConvertToSicPayloadINTEL}, + {"OpGroupAny", SpvOpGroupAny}, + {"OpUAddSatINTEL", SpvOpUAddSatINTEL}, + {"OpTypeStructContinuedINTEL", SpvOpTypeStructContinuedINTEL}, + {"OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL", SpvOpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL}, + {"OpGroupNonUniformShuffleUp", SpvOpGroupNonUniformShuffleUp}, + {"OpImageSampleDrefExplicitLod", SpvOpImageSampleDrefExplicitLod}, + {"OpSRem", SpvOpSRem}, + {"OpVariableLengthArrayINTEL", SpvOpVariableLengthArrayINTEL}, + {"OpCooperativeMatrixStoreNV", SpvOpCooperativeMatrixStoreNV}, + {"OpSubgroupShuffleDownINTEL", SpvOpSubgroupShuffleDownINTEL}, + {"OpTypeMatrix", SpvOpTypeMatrix}, + {"OpSatConvertUToS", SpvOpSatConvertUToS}, + {"OpImageQueryFormat", SpvOpImageQueryFormat}, + {"OpRayQueryTerminateKHR", SpvOpRayQueryTerminateKHR}, + {"OpPtrNotEqual", SpvOpPtrNotEqual}, + {"OpImageSparseRead", SpvOpImageSparseRead}, + {"OpSubgroupShuffleXorINTEL", SpvOpSubgroupShuffleXorINTEL}, + {"OpGroupDecorate", SpvOpGroupDecorate}, + {"OpSubgroupAvcSicConvertToMceResultINTEL", SpvOpSubgroupAvcSicConvertToMceResultINTEL}, + {"OpTypeAvcMceResultINTEL", SpvOpTypeAvcMceResultINTEL}, + {"OpSubgroupAvcMceGetInterMinorShapeINTEL", SpvOpSubgroupAvcMceGetInterMinorShapeINTEL}, + {"OpINotEqual", SpvOpINotEqual}, + {"OpImageQueryLod", SpvOpImageQueryLod}, + {"OpTypeQueue", SpvOpTypeQueue}, + {"OpSetUserEventStatus", SpvOpSetUserEventStatus}, + {"OpBranchConditional", SpvOpBranchConditional}, + {"OpIgnoreIntersectionNV", SpvOpIgnoreIntersectionNV}, + {"OpVectorExtractDynamic", SpvOpVectorExtractDynamic}, + {"OpImageQuerySizeLod", SpvOpImageQuerySizeLod}, + {"OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL", SpvOpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL}, + {"OpTypeBool", SpvOpTypeBool}, + {"OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR", SpvOpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR}, + {"OpEntryPoint", SpvOpEntryPoint}, + {"OpAtomicCompareExchangeWeak", SpvOpAtomicCompareExchangeWeak}, + {"OpSource", SpvOpSource}, + {"OpEmitStreamVertex", SpvOpEmitStreamVertex}, + {"OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL", SpvOpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL}, + {"OpSubgroupAvcRefConvertToMcePayloadINTEL", SpvOpSubgroupAvcRefConvertToMcePayloadINTEL}, + {"OpImageSparseTexelsResident", SpvOpImageSparseTexelsResident}, + {"OpImageSparseFetch", SpvOpImageSparseFetch}, + {"OpArbitraryFloatExp2INTEL", SpvOpArbitraryFloatExp2INTEL}, + {"OpCreateUserEvent", SpvOpCreateUserEvent}, + {"OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL", SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL}, + {"OpSubgroupAvcSicEvaluateIpeINTEL", SpvOpSubgroupAvcSicEvaluateIpeINTEL}, + {"OpFixedCosPiINTEL", SpvOpFixedCosPiINTEL}, + {"OpTypeVmeImageINTEL", SpvOpTypeVmeImageINTEL}, + {"OpRayQueryGetRayTMinKHR", SpvOpRayQueryGetRayTMinKHR}, + {"OpName", SpvOpName}, + {"OpIgnoreIntersectionKHR", SpvOpIgnoreIntersectionKHR}, + {"OpArbitraryFloatExpm1INTEL", SpvOpArbitraryFloatExpm1INTEL}, + {"OpAtomicFMaxEXT", SpvOpAtomicFMaxEXT}, + {"OpSDiv", SpvOpSDiv}, + {"OpGroupNonUniformBallotBitExtract", SpvOpGroupNonUniformBallotBitExtract}, + {"OpFUnordNotEqual", SpvOpFUnordNotEqual}, + {"OpGetKernelNDrangeMaxSubGroupSize", SpvOpGetKernelNDrangeMaxSubGroupSize}, + {"OpGetKernelPreferredWorkGroupSizeMultiple", SpvOpGetKernelPreferredWorkGroupSizeMultiple}, + {"OpTypeAvcRefPayloadINTEL", SpvOpTypeAvcRefPayloadINTEL}, + {"OpLogicalAnd", SpvOpLogicalAnd}, + {"OpConvertUToPtr", SpvOpConvertUToPtr}, + {"OpSubgroupShuffleUpINTEL", SpvOpSubgroupShuffleUpINTEL}, + {"OpFUnordLessThanEqual", SpvOpFUnordLessThanEqual}, + {"OpArbitraryFloatSinCosINTEL", SpvOpArbitraryFloatSinCosINTEL}, + {"OpEndPrimitive", SpvOpEndPrimitive}, + {"OpPhi", SpvOpPhi}, + {"OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL", SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL}, + {"OpArbitraryFloatATan2INTEL", SpvOpArbitraryFloatATan2INTEL}, + {"OpSubgroupAvcSicGetIpeChromaModeINTEL", SpvOpSubgroupAvcSicGetIpeChromaModeINTEL}, + {"OpAbsISubINTEL", SpvOpAbsISubINTEL}, + {"OpFAdd", SpvOpFAdd}, + {"OpFOrdGreaterThan", SpvOpFOrdGreaterThan}, + {"OpBitCount", SpvOpBitCount}, + {"OpAtomicStore", SpvOpAtomicStore}, + {"OpSizeOf", SpvOpSizeOf}, + {"OpAny", SpvOpAny}, + {"OpGroupFAddNonUniformAMD", SpvOpGroupFAddNonUniformAMD}, + {"OpUDiv", SpvOpUDiv}, + {"OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL", SpvOpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL}, + {"OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL", SpvOpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL}, + {"OpAtomicAnd", SpvOpAtomicAnd}, + {"OpArbitraryFloatCastToIntINTEL", SpvOpArbitraryFloatCastToIntINTEL}, + {"OpRayQueryGetIntersectionGeometryIndexKHR", SpvOpRayQueryGetIntersectionGeometryIndexKHR}, + {"OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL", SpvOpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL}, + {"OpGetDefaultQueue", SpvOpGetDefaultQueue}, + {"OpSUDotAccSatKHR", SpvOpSUDotAccSatKHR}, + {"OpQuantizeToF16", SpvOpQuantizeToF16}, + {"OpFOrdGreaterThanEqual", SpvOpFOrdGreaterThanEqual}, + {"OpArbitraryFloatEQINTEL", SpvOpArbitraryFloatEQINTEL}, + {"OpImageQueryOrder", SpvOpImageQueryOrder}, + {"OpBitwiseXor", SpvOpBitwiseXor}, + {"OpConstantNull", SpvOpConstantNull}, + {"OpIsValidEvent", SpvOpIsValidEvent}, + {"OpImageTexelPointer", SpvOpImageTexelPointer}, + {"OpTypePipe", SpvOpTypePipe}, + {"OpConstantPipeStorage", SpvOpConstantPipeStorage}, + {"OpSelectionMerge", SpvOpSelectionMerge}, + {"OpGroupUMax", SpvOpGroupUMax}, + {"OpGroupSMaxNonUniformAMD", SpvOpGroupSMaxNonUniformAMD}, + {"OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL", SpvOpSubgroupAvcImeEvaluateWithSingleReferenceINTEL}, + {"OpGroupWaitEvents", SpvOpGroupWaitEvents}, + {"OpFRem", SpvOpFRem}, + {"OpGroupNonUniformBallotBitCount", SpvOpGroupNonUniformBallotBitCount}, + {"OpFwidthCoarse", SpvOpFwidthCoarse}, + {"OpSubgroupFirstInvocationKHR", SpvOpSubgroupFirstInvocationKHR}, + {"OpDPdxCoarse", SpvOpDPdxCoarse}, + {"OpSubgroupAvcMceConvertToRefPayloadINTEL", SpvOpSubgroupAvcMceConvertToRefPayloadINTEL}, + {"OpConvertSamplerToUNV", SpvOpConvertSamplerToUNV}, + {"OpArbitraryFloatLTINTEL", SpvOpArbitraryFloatLTINTEL}, + {"OpLessOrGreater", SpvOpLessOrGreater}, + {"OpSUDotAccSat", SpvOpSUDotAccSat}, + {"OpArbitraryFloatDivINTEL", SpvOpArbitraryFloatDivINTEL}, + {"OpExtension", SpvOpExtension}, + {"OpSubgroupAvcMceConvertToSicResultINTEL", SpvOpSubgroupAvcMceConvertToSicResultINTEL}, + {"OpGroupNonUniformBallot", SpvOpGroupNonUniformBallot}, + {"OpArbitraryFloatCastINTEL", SpvOpArbitraryFloatCastINTEL}, + {"OpExtInstImport", SpvOpExtInstImport}, + {"OpCopyObject", SpvOpCopyObject}, + {"OpGroupAsyncCopy", SpvOpGroupAsyncCopy}, + {"OpSubgroupAvcSicInitializeINTEL", SpvOpSubgroupAvcSicInitializeINTEL}, + {"OpSubgroupAvcImeConvertToMcePayloadINTEL", SpvOpSubgroupAvcImeConvertToMcePayloadINTEL}, + {"OpEndStreamPrimitive", SpvOpEndStreamPrimitive}, + {"OpArbitraryFloatLEINTEL", SpvOpArbitraryFloatLEINTEL}, + {"OpSMod", SpvOpSMod}, + {"OpMemberDecorateString", SpvOpMemberDecorateString}, + {"OpGroupIAddNonUniformAMD", SpvOpGroupIAddNonUniformAMD}, + {"OpUGreaterThan", SpvOpUGreaterThan}, + {"OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL", SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL}, + {"OpOuterProduct", SpvOpOuterProduct}, + {"OpSubgroupAvcMceConvertToRefResultINTEL", SpvOpSubgroupAvcMceConvertToRefResultINTEL}, + {"OpGroupBitwiseXorKHR", SpvOpGroupBitwiseXorKHR}, + {"OpBeginInvocationInterlockEXT", SpvOpBeginInvocationInterlockEXT}, + {"OpAtomicSMin", SpvOpAtomicSMin}, + {"OpArbitraryFloatLog1pINTEL", SpvOpArbitraryFloatLog1pINTEL}, + {"OpMemoryModel", SpvOpMemoryModel}, + {"OpTypeInt", SpvOpTypeInt}, + {"OpReportIntersectionNV", SpvOpReportIntersectionNV}, + {"OpDecorateStringGOOGLE", SpvOpDecorateStringGOOGLE}, + {"OpControlBarrier", SpvOpControlBarrier}, + {"OpSubgroupAvcSicConfigureSkcINTEL", SpvOpSubgroupAvcSicConfigureSkcINTEL}, + {"OpImageSampleImplicitLod", SpvOpImageSampleImplicitLod}, + {"OpSwitch", SpvOpSwitch}, + {"OpSDot", SpvOpSDot}, + {"OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL", SpvOpSubgroupAvcRefEvaluateWithMultiReferenceINTEL}, + {"OpDemoteToHelperInvocationEXT", SpvOpDemoteToHelperInvocationEXT}, + {"OpSUDot", SpvOpSUDot}, + {"OpSDotAccSat", SpvOpSDotAccSat}, + {"OpGetKernelWorkGroupSize", SpvOpGetKernelWorkGroupSize}, + {"OpGroupNonUniformBallotFindLSB", SpvOpGroupNonUniformBallotFindLSB}, + {"OpFwidthFine", SpvOpFwidthFine}, + {"OpReserveWritePipePackets", SpvOpReserveWritePipePackets}, + {"OpConstantFalse", SpvOpConstantFalse}, + {"OpCooperativeMatrixLengthNV", SpvOpCooperativeMatrixLengthNV}, + {"OpFixedExpINTEL", SpvOpFixedExpINTEL}, + {"OpArbitraryFloatASinPiINTEL", SpvOpArbitraryFloatASinPiINTEL}, + {"OpEnqueueKernel", SpvOpEnqueueKernel}, + {"OpVectorInsertDynamic", SpvOpVectorInsertDynamic}, + {"OpBitFieldInsert", SpvOpBitFieldInsert}, + {"OpSubgroupAvcMceGetInterMajorShapeINTEL", SpvOpSubgroupAvcMceGetInterMajorShapeINTEL}, + {"OpGroupNonUniformAll", SpvOpGroupNonUniformAll}, + {"OpRayQueryGetIntersectionWorldToObjectKHR", SpvOpRayQueryGetIntersectionWorldToObjectKHR}, + {"OpMatrixTimesScalar", SpvOpMatrixTimesScalar}, + {"OpFixedCosINTEL", SpvOpFixedCosINTEL}, + {"OpWritePackedPrimitiveIndices4x8NV", SpvOpWritePackedPrimitiveIndices4x8NV}, + {"OpDemoteToHelperInvocation", SpvOpDemoteToHelperInvocation}, + {"OpSubgroupImageBlockReadINTEL", SpvOpSubgroupImageBlockReadINTEL}, + {"OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL", SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL}, + {"OpDecorationGroup", SpvOpDecorationGroup}, + {"OpReturn", SpvOpReturn}, + {"OpArbitraryFloatACosINTEL", SpvOpArbitraryFloatACosINTEL}, + {"OpSubgroupAvcSicConvertToMcePayloadINTEL", SpvOpSubgroupAvcSicConvertToMcePayloadINTEL}, + {"OpTranspose", SpvOpTranspose}, + {"OpImageSparseSampleProjImplicitLod", SpvOpImageSparseSampleProjImplicitLod}, + {"OpKill", SpvOpKill}, + {"OpTraceRayKHR", SpvOpTraceRayKHR}, + {"OpArbitraryFloatSinPiINTEL", SpvOpArbitraryFloatSinPiINTEL}, + {"OpGroupNonUniformBallotFindMSB", SpvOpGroupNonUniformBallotFindMSB}, + {"OpTraceMotionNV", SpvOpTraceMotionNV}, + {"OpGroupNonUniformSMax", SpvOpGroupNonUniformSMax}, + {"OpFunctionParameter", SpvOpFunctionParameter}, + {"OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL", SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL}, + {"OpGroupAll", SpvOpGroupAll}, + {"OpTypeOpaque", SpvOpTypeOpaque}, + {"OpConstant", SpvOpConstant}, + {"OpPtrCastToGeneric", SpvOpPtrCastToGeneric}, + {"OpUConvert", SpvOpUConvert}, + {"OpArbitraryFloatRecipINTEL", SpvOpArbitraryFloatRecipINTEL}, + {"OpIsNan", SpvOpIsNan}, + {"OpImageRead", SpvOpImageRead}, + {"OpReleaseEvent", SpvOpReleaseEvent}, + {"OpTypeFunction", SpvOpTypeFunction}, + {"OpFwidth", SpvOpFwidth}, + {"OpSourceExtension", SpvOpSourceExtension}, + {"OpGetNumPipePackets", SpvOpGetNumPipePackets}, + {"OpBitwiseOr", SpvOpBitwiseOr}, + {"OpLifetimeStop", SpvOpLifetimeStop}, + {"OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL", SpvOpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL}, + {"OpSourceContinued", SpvOpSourceContinued}, + {"OpAsmCallINTEL", SpvOpAsmCallINTEL}, + {"OpGroupNonUniformShuffleXor", SpvOpGroupNonUniformShuffleXor}, + {"OpArbitraryFloatGEINTEL", SpvOpArbitraryFloatGEINTEL}, + {"OpImageSparseSampleProjDrefImplicitLod", SpvOpImageSparseSampleProjDrefImplicitLod}, + {"OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL", SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL}, + {"OpArbitraryFloatASinINTEL", SpvOpArbitraryFloatASinINTEL}, + {"OpFUnordEqual", SpvOpFUnordEqual}, + {"OpGroupNonUniformElect", SpvOpGroupNonUniformElect}, + {"OpArbitraryFloatATanINTEL", SpvOpArbitraryFloatATanINTEL}, + {"OpFOrdEqual", SpvOpFOrdEqual}, + {"OpGroupFAdd", SpvOpGroupFAdd}, + {"OpTypeRuntimeArray", SpvOpTypeRuntimeArray}, + {"OpUAverageINTEL", SpvOpUAverageINTEL}, + {"OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL", SpvOpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL}, + {"OpGroupFMinNonUniformAMD", SpvOpGroupFMinNonUniformAMD}, + {"OpAll", SpvOpAll}, + {"OpReservedReadPipe", SpvOpReservedReadPipe}, + {"OpImageSparseGather", SpvOpImageSparseGather}, + {"OpSpecConstantOp", SpvOpSpecConstantOp}, + {"OpString", SpvOpString}, + {"OpExpectKHR", SpvOpExpectKHR}, + {"OpVectorTimesScalar", SpvOpVectorTimesScalar}, + {"OpGroupNonUniformInverseBallot", SpvOpGroupNonUniformInverseBallot}, + {"OpGroupNonUniformIMul", SpvOpGroupNonUniformIMul}, + {"OpFixedSqrtINTEL", SpvOpFixedSqrtINTEL}, + {"OpSubgroupAvcImeInitializeINTEL", SpvOpSubgroupAvcImeInitializeINTEL}, + {"OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL", SpvOpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL}, + {"OpArbitraryFloatACosPiINTEL", SpvOpArbitraryFloatACosPiINTEL}, + {"OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL", SpvOpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL}, + {"OpTerminateInvocation", SpvOpTerminateInvocation}, + {"OpGroupBroadcast", SpvOpGroupBroadcast}, + {"OpTypePointer", SpvOpTypePointer}, + {"OpTypeRayQueryKHR", SpvOpTypeRayQueryKHR}, + {"OpGenericCastToPtrExplicit", SpvOpGenericCastToPtrExplicit}, + {"OpEndInvocationInterlockEXT", SpvOpEndInvocationInterlockEXT}, + {"OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL", SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL}, + {"OpSubgroupAvcImeSetMaxMotionVectorCountINTEL", SpvOpSubgroupAvcImeSetMaxMotionVectorCountINTEL}, + {"OpTypeImage", SpvOpTypeImage}, + {"OpSubgroupAvcImeGetSingleReferenceStreaminINTEL", SpvOpSubgroupAvcImeGetSingleReferenceStreaminINTEL}, + {"OpGroupCommitWritePipe", SpvOpGroupCommitWritePipe}, + {"OpSGreaterThan", SpvOpSGreaterThan}, + {"OpDecorate", SpvOpDecorate}, + {"OpLabel", SpvOpLabel}, + {"OpFUnordGreaterThan", SpvOpFUnordGreaterThan}, + {"OpArbitraryFloatMulINTEL", SpvOpArbitraryFloatMulINTEL}, + {"OpTypeAvcImeResultDualReferenceStreamoutINTEL", SpvOpTypeAvcImeResultDualReferenceStreamoutINTEL}, + {"OpGroupSMin", SpvOpGroupSMin}, + {"OpConstantTrue", SpvOpConstantTrue}, + {"OpMatrixTimesMatrix", SpvOpMatrixTimesMatrix}, + {"OpGetKernelLocalSizeForSubgroupCount", SpvOpGetKernelLocalSizeForSubgroupCount}, + {"OpGroupFMulKHR", SpvOpGroupFMulKHR}, + {"OpSpecConstantFalse", SpvOpSpecConstantFalse}, + {"OpGroupNonUniformRotateKHR", SpvOpGroupNonUniformRotateKHR}, + {"OpAtomicFlagTestAndSet", SpvOpAtomicFlagTestAndSet}, + {"OpSDotAccSatKHR", SpvOpSDotAccSatKHR}, + {"OpVariable", SpvOpVariable}, + {"OpSpecConstantComposite", SpvOpSpecConstantComposite}, + {"OpGroupSMax", SpvOpGroupSMax}, + {"OpInBoundsAccessChain", SpvOpInBoundsAccessChain}, + {"OpFOrdLessThanEqual", SpvOpFOrdLessThanEqual}, + {"OpUCountTrailingZerosINTEL", SpvOpUCountTrailingZerosINTEL}, + {"OpTypeStruct", SpvOpTypeStruct}, + {"OpFNegate", SpvOpFNegate}, + {"OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL", SpvOpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL}, + {"OpShiftLeftLogical", SpvOpShiftLeftLogical}, + {"OpSubgroupAvcSicGetInterRawSadsINTEL", SpvOpSubgroupAvcSicGetInterRawSadsINTEL}, + {"OpArbitraryFloatPowINTEL", SpvOpArbitraryFloatPowINTEL}, + {"OpReservedWritePipe", SpvOpReservedWritePipe}, + {"OpTypeAvcImeResultINTEL", SpvOpTypeAvcImeResultINTEL}, + {"OpFPGARegINTEL", SpvOpFPGARegINTEL}, + {"OpImageQuerySize", SpvOpImageQuerySize}, + {"OpImageSparseSampleImplicitLod", SpvOpImageSparseSampleImplicitLod}, + {"OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL", SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL}, + {"OpControlBarrierArriveINTEL", SpvOpControlBarrierArriveINTEL}, + {"OpFixedLogINTEL", SpvOpFixedLogINTEL}, + {"OpImageSparseSampleDrefImplicitLod", SpvOpImageSparseSampleDrefImplicitLod}, + {"OpIAddCarry", SpvOpIAddCarry}, + {"OpGroupNonUniformShuffle", SpvOpGroupNonUniformShuffle}, + {"OpRayQueryGenerateIntersectionKHR", SpvOpRayQueryGenerateIntersectionKHR}, + {"OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL", SpvOpSubgroupAvcSicEvaluateWithMultiReferenceINTEL}, + {"OpIAdd", SpvOpIAdd}, + {"OpRayQueryGetIntersectionInstanceIdKHR", SpvOpRayQueryGetIntersectionInstanceIdKHR}, + {"OpIAverageINTEL", SpvOpIAverageINTEL}, + {"OpTypeAvcImePayloadINTEL", SpvOpTypeAvcImePayloadINTEL}, + {"OpImageWrite", SpvOpImageWrite}, + {"OpAssumeTrueKHR", SpvOpAssumeTrueKHR}, + {"OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL", SpvOpSubgroupAvcSicGetBestIpeLumaDistortionINTEL}, + {"OpTypeAvcImeSingleReferenceStreaminINTEL", SpvOpTypeAvcImeSingleReferenceStreaminINTEL}, + {"OpSatConvertSToU", SpvOpSatConvertSToU}, + {"OpSubgroupAllEqualKHR", SpvOpSubgroupAllEqualKHR}, + {"OpGenericPtrMemSemantics", SpvOpGenericPtrMemSemantics}, + {"OpMemberDecorate", SpvOpMemberDecorate}, + {"OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL", SpvOpSubgroupAvcSicEvaluateWithSingleReferenceINTEL}, + {"OpGroupNonUniformUMin", SpvOpGroupNonUniformUMin}, + {"OpFunction", SpvOpFunction}, + {"OpTypeAccelerationStructureKHR", SpvOpTypeAccelerationStructureKHR}, + {"OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL", SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL}, + {"OpImageSampleProjDrefExplicitLod", SpvOpImageSampleProjDrefExplicitLod}, + {"OpPtrCastToCrossWorkgroupINTEL", SpvOpPtrCastToCrossWorkgroupINTEL}, + {"OpGroupNonUniformFAdd", SpvOpGroupNonUniformFAdd}, + {"OpModuleProcessed", SpvOpModuleProcessed}, + {"OpReadPipe", SpvOpReadPipe}, + {"OpConvertUToSampledImageNV", SpvOpConvertUToSampledImageNV}, + {"OpSampledImage", SpvOpSampledImage}, + {"OpArbitraryFloatSinCosPiINTEL", SpvOpArbitraryFloatSinCosPiINTEL}, + {"OpAliasScopeDeclINTEL", SpvOpAliasScopeDeclINTEL}, + {"OpConstantFunctionPointerINTEL", SpvOpConstantFunctionPointerINTEL}, + {"OpConvertImageToUNV", SpvOpConvertImageToUNV}, + {"OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL", SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL}, + {"OpAliasScopeListDeclINTEL", SpvOpAliasScopeListDeclINTEL}, + {"OpSubgroupAvcImeGetBorderReachedINTEL", SpvOpSubgroupAvcImeGetBorderReachedINTEL}, + {"OpGroupNonUniformShuffleDown", SpvOpGroupNonUniformShuffleDown}, + {"OpCaptureEventProfilingInfo", SpvOpCaptureEventProfilingInfo}, + {"OpLoad", SpvOpLoad}, + {"OpSUDotKHR", SpvOpSUDotKHR}, + {"OpRayQueryGetIntersectionTKHR", SpvOpRayQueryGetIntersectionTKHR}, + {"OpIMul32x16INTEL", SpvOpIMul32x16INTEL}, + {"OpSubgroupAvcMceGetMotionVectorsINTEL", SpvOpSubgroupAvcMceGetMotionVectorsINTEL}, + {"OpRayQueryGetIntersectionObjectRayOriginKHR", SpvOpRayQueryGetIntersectionObjectRayOriginKHR}, + {"OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL", SpvOpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL}, + {"OpArbitraryFloatLogINTEL", SpvOpArbitraryFloatLogINTEL}, + {"OpBitFieldUExtract", SpvOpBitFieldUExtract}, + {"OpGetMaxPipePackets", SpvOpGetMaxPipePackets}, + {"OpGetKernelMaxNumSubgroups", SpvOpGetKernelMaxNumSubgroups}, + {"OpRayQueryGetIntersectionObjectToWorldKHR", SpvOpRayQueryGetIntersectionObjectToWorldKHR}, + {"OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL", SpvOpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL}, + {"OpCooperativeMatrixLoadNV", SpvOpCooperativeMatrixLoadNV}, + {"OpGroupIMulKHR", SpvOpGroupIMulKHR}, + {"OpConvertUToAccelerationStructureKHR", SpvOpConvertUToAccelerationStructureKHR}, + {"OpNoLine", SpvOpNoLine}, + {"OpSignBitSet", SpvOpSignBitSet}, + {"OpAsmINTEL", SpvOpAsmINTEL}, + {"OpGroupNonUniformBitwiseOr", SpvOpGroupNonUniformBitwiseOr}, + {"OpImageSparseDrefGather", SpvOpImageSparseDrefGather}, + {"OpSubgroupShuffleINTEL", SpvOpSubgroupShuffleINTEL}, + {"OpGroupBitwiseOrKHR", SpvOpGroupBitwiseOrKHR}, + {"OpSubgroupImageMediaBlockWriteINTEL", SpvOpSubgroupImageMediaBlockWriteINTEL}, + {"OpImage", SpvOpImage}, + {"OpAtomicFlagClear", SpvOpAtomicFlagClear}, + {"OpISubBorrow", SpvOpISubBorrow}, + {"OpGroupFMin", SpvOpGroupFMin}, + {"OpSubgroupAvcMceGetBestInterDistortionsINTEL", SpvOpSubgroupAvcMceGetBestInterDistortionsINTEL}, + {"OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL", SpvOpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL}, + {"OpAtomicFAddEXT", SpvOpAtomicFAddEXT}, + {"OpTypeNamedBarrier", SpvOpTypeNamedBarrier}, + {"OpAtomicIDecrement", SpvOpAtomicIDecrement}, + {"OpGroupNonUniformFMax", SpvOpGroupNonUniformFMax}, + {"OpArbitraryFloatCbrtINTEL", SpvOpArbitraryFloatCbrtINTEL}, + {"OpSubgroupAvcBmeInitializeINTEL", SpvOpSubgroupAvcBmeInitializeINTEL}, + {"OpFunctionPointerCallINTEL", SpvOpFunctionPointerCallINTEL}, + {"OpArbitraryFloatCastFromIntINTEL", SpvOpArbitraryFloatCastFromIntINTEL}, + {"OpMemberDecorateStringGOOGLE", SpvOpMemberDecorateStringGOOGLE}, + {"OpSConvert", SpvOpSConvert}, + {"OpSMulExtended", SpvOpSMulExtended}, + {"OpAtomicExchange", SpvOpAtomicExchange}, + {"OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL", SpvOpSubgroupAvcRefEvaluateWithSingleReferenceINTEL}, + {"OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL", SpvOpSubgroupAvcSicGetBestIpeChromaDistortionINTEL}, + {"OpTypeSampledImage", SpvOpTypeSampledImage}, + {"OpGroupNonUniformBitwiseAnd", SpvOpGroupNonUniformBitwiseAnd}, + {"OpGroupUMaxNonUniformAMD", SpvOpGroupUMaxNonUniformAMD}, + {"OpCopyLogical", SpvOpCopyLogical}, + {"OpSNegate", SpvOpSNegate}, + {"OpTypeReserveId", SpvOpTypeReserveId}, + {"OpImageSparseSampleProjExplicitLod", SpvOpImageSparseSampleProjExplicitLod}, + {"OpDecorateId", SpvOpDecorateId}, + {"OpEmitMeshTasksEXT", SpvOpEmitMeshTasksEXT}, + {"OpSaveMemoryINTEL", SpvOpSaveMemoryINTEL}, + {"OpSubgroupBlockWriteINTEL", SpvOpSubgroupBlockWriteINTEL}, + {"OpTypeVector", SpvOpTypeVector}, + {"OpAbsUSubINTEL", SpvOpAbsUSubINTEL}, + {"OpLogicalNot", SpvOpLogicalNot}, + {"OpImageSparseSampleExplicitLod", SpvOpImageSparseSampleExplicitLod}, + {"OpSubgroupAvcImeSetWeightedSadINTEL", SpvOpSubgroupAvcImeSetWeightedSadINTEL}, + {"OpCompositeConstruct", SpvOpCompositeConstruct}, + {"OpTypeCooperativeMatrixNV", SpvOpTypeCooperativeMatrixNV}, + {"OpAtomicISub", SpvOpAtomicISub}, + {"OpImageSampleProjDrefImplicitLod", SpvOpImageSampleProjDrefImplicitLod}, + {"OpSubgroupAvcImeConvertToMceResultINTEL", SpvOpSubgroupAvcImeConvertToMceResultINTEL}, + {"OpFixedSinCosPiINTEL", SpvOpFixedSinCosPiINTEL}, + {"OpIAverageRoundedINTEL", SpvOpIAverageRoundedINTEL}, + {"OpSubgroupAvcMceGetInterDistortionsINTEL", SpvOpSubgroupAvcMceGetInterDistortionsINTEL}, + {"OpFOrdLessThan", SpvOpFOrdLessThan}, + {"OpULessThanEqual", SpvOpULessThanEqual}, + {"OpSpecConstant", SpvOpSpecConstant}, + {"OpUDotKHR", SpvOpUDotKHR}, + {"OpTypeVoid", SpvOpTypeVoid}, + {"OpSubgroupAvcSicEvaluateWithDualReferenceINTEL", SpvOpSubgroupAvcSicEvaluateWithDualReferenceINTEL}, + {"OpAtomicXor", SpvOpAtomicXor}, + {"OpArbitraryFloatRSqrtINTEL", SpvOpArbitraryFloatRSqrtINTEL}, + {"OpConvertSToF", SpvOpConvertSToF}, + {"OpBitcast", SpvOpBitcast}, + {"OpSubgroupAvcMceSetInterShapePenaltyINTEL", SpvOpSubgroupAvcMceSetInterShapePenaltyINTEL}, + {"OpImageGather", SpvOpImageGather}, + {"OpSubgroupAvcMceSetAcOnlyHaarINTEL", SpvOpSubgroupAvcMceSetAcOnlyHaarINTEL}, + {"OpUDot", SpvOpUDot}, + {"OpImageSparseSampleDrefExplicitLod", SpvOpImageSparseSampleDrefExplicitLod}, + {"OpRayQueryGetRayFlagsKHR", SpvOpRayQueryGetRayFlagsKHR}, + {"OpTerminateRayNV", SpvOpTerminateRayNV}, + {"OpGroupLogicalXorKHR", SpvOpGroupLogicalXorKHR}, + {"OpGroupNonUniformIAdd", SpvOpGroupNonUniformIAdd}, + {"OpFunctionCall", SpvOpFunctionCall}, + {"OpTypeAvcSicPayloadINTEL", SpvOpTypeAvcSicPayloadINTEL}, + {"OpImageQuerySamples", SpvOpImageQuerySamples}, + {"OpAtomicCompareExchange", SpvOpAtomicCompareExchange}, + {"OpGroupNonUniformLogicalXor", SpvOpGroupNonUniformLogicalXor}, + {"OpImageSampleProjExplicitLod", SpvOpImageSampleProjExplicitLod}, + {"OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL", SpvOpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL}, + {"OpArbitraryFloatLog10INTEL", SpvOpArbitraryFloatLog10INTEL}, + {"OpSamplerImageAddressingModeNV", SpvOpSamplerImageAddressingModeNV}, + {"OpExecuteCallableNV", SpvOpExecuteCallableNV}, + {"OpGroupIAdd", SpvOpGroupIAdd}, + {"OpFUnordGreaterThanEqual", SpvOpFUnordGreaterThanEqual}, + {"OpSubgroupAvcRefSetBilinearFilterEnableINTEL", SpvOpSubgroupAvcRefSetBilinearFilterEnableINTEL}, + {"OpMemoryNamedBarrier", SpvOpMemoryNamedBarrier}, + {"OpTypeEvent", SpvOpTypeEvent}, + {"OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL", SpvOpSubgroupAvcImeSetUnidirectionalMixDisableINTEL}, + {"OpDPdx", SpvOpDPdx}, + {"OpDPdy", SpvOpDPdy}, + {"OpEmitVertex", SpvOpEmitVertex}, + {"OpTraceNV", SpvOpTraceNV}, + {"OpGroupFMaxNonUniformAMD", SpvOpGroupFMaxNonUniformAMD}, + {"OpArbitraryFloatATanPiINTEL", SpvOpArbitraryFloatATanPiINTEL}, + {"OpGroupBitwiseAndKHR", SpvOpGroupBitwiseAndKHR}, + {"OpMemberName", SpvOpMemberName}, + {"OpGroupMemberDecorate", SpvOpGroupMemberDecorate}, + {"OpUMod", SpvOpUMod}, + {"OpSubgroupAvcMceGetInterMotionVectorCountINTEL", SpvOpSubgroupAvcMceGetInterMotionVectorCountINTEL}, + {"OpSubgroupAvcImeEvaluateWithDualReferenceINTEL", SpvOpSubgroupAvcImeEvaluateWithDualReferenceINTEL}, + {"OpArbitraryFloatPowRINTEL", SpvOpArbitraryFloatPowRINTEL}, + {"OpImageSampleDrefImplicitLod", SpvOpImageSampleDrefImplicitLod}, + {"OpImageDrefGather", SpvOpImageDrefGather}, + {"OpSubgroupImageMediaBlockReadINTEL", SpvOpSubgroupImageMediaBlockReadINTEL}, + {"OpGroupLogicalAndKHR", SpvOpGroupLogicalAndKHR}, + {"OpSubgroupAvcMceGetInterReferenceIdsINTEL", SpvOpSubgroupAvcMceGetInterReferenceIdsINTEL}, + {"OpMemoryBarrier", SpvOpMemoryBarrier}, + {"OpSubgroupAvcSicGetMotionVectorMaskINTEL", SpvOpSubgroupAvcSicGetMotionVectorMaskINTEL}, + {"OpWritePipeBlockingINTEL", SpvOpWritePipeBlockingINTEL}, + {"OpTypeAvcImeResultSingleReferenceStreamoutINTEL", SpvOpTypeAvcImeResultSingleReferenceStreamoutINTEL}, + {"OpGroupNonUniformPartitionNV", SpvOpGroupNonUniformPartitionNV}, + {"OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL", SpvOpSubgroupAvcSicSetSkcForwardTransformEnableINTEL}, + {"OpConvertFToU", SpvOpConvertFToU}, + {"OpFMul", SpvOpFMul}, + {"OpGroupNonUniformFMul", SpvOpGroupNonUniformFMul}, + {"OpShiftRightLogical", SpvOpShiftRightLogical}, + {"OpConvertUToImageNV", SpvOpConvertUToImageNV}, + {"OpInBoundsPtrAccessChain", SpvOpInBoundsPtrAccessChain}, + {"OpVectorTimesMatrix", SpvOpVectorTimesMatrix}, + {"OpTypeSampler", SpvOpTypeSampler}, + {"OpFixedRsqrtINTEL", SpvOpFixedRsqrtINTEL}, + {"OpPtrDiff", SpvOpPtrDiff}, + {"OpArbitraryFloatSinINTEL", SpvOpArbitraryFloatSinINTEL}, + {"OpSubgroupAvcImeSetSingleReferenceINTEL", SpvOpSubgroupAvcImeSetSingleReferenceINTEL}, + {"OpRetainEvent", SpvOpRetainEvent}, + {"OpReportIntersectionKHR", SpvOpReportIntersectionKHR}, + {"OpArbitraryFloatSqrtINTEL", SpvOpArbitraryFloatSqrtINTEL}, + {"OpSpecConstantTrue", SpvOpSpecConstantTrue}, + {"OpRayQueryGetIntersectionFrontFaceKHR", SpvOpRayQueryGetIntersectionFrontFaceKHR}, + {"OpArbitraryFloatCosPiINTEL", SpvOpArbitraryFloatCosPiINTEL}, + {"OpFixedSinCosINTEL", SpvOpFixedSinCosINTEL}, + {"OpGroupNonUniformLogicalOr", SpvOpGroupNonUniformLogicalOr}, + {"OpCrossWorkgroupCastToPtrINTEL", SpvOpCrossWorkgroupCastToPtrINTEL}, + {"OpFUnordLessThan", SpvOpFUnordLessThan}, +}; + +static UInt32 hash(const UnownedStringSlice& str, UInt32 salt) +{ + UInt64 h = salt; + for(const char c : str) + h = ((h * 0x00000100000001B3) ^ c); + return h % (sizeof(tableSalt)/sizeof(tableSalt[0])); +} + +bool lookupSpvOp(const UnownedStringSlice& str, SpvOp& value) +{ + const auto i = hash(str, tableSalt[hash(str, 0)]); + if(str == words[i].name) + { + value = words[i].value; + return true; + } + else + { + return false; + } +} + +} |
