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