#ifndef spirv_H
#define spirv_H
SpvId;
#define SPV_VERSION …
#define SPV_REVISION …
static const unsigned int SpvMagicNumber = …;
static const unsigned int SpvVersion = …;
static const unsigned int SpvRevision = …;
static const unsigned int SpvOpCodeMask = …;
static const unsigned int SpvWordCountShift = …;
SpvSourceLanguage;
SpvExecutionModel;
SpvAddressingModel;
SpvMemoryModel;
SpvExecutionMode;
SpvStorageClass;
SpvDim;
SpvSamplerAddressingMode;
SpvSamplerFilterMode;
SpvImageFormat;
SpvImageChannelOrder;
SpvImageChannelDataType;
SpvImageOperandsShift;
SpvImageOperandsMask;
SpvFPFastMathModeShift;
SpvFPFastMathModeMask;
SpvFPRoundingMode;
SpvLinkageType;
SpvAccessQualifier;
SpvFunctionParameterAttribute;
SpvDecoration;
SpvBuiltIn;
SpvSelectionControlShift;
SpvSelectionControlMask;
SpvLoopControlShift;
SpvLoopControlMask;
SpvFunctionControlShift;
SpvFunctionControlMask;
SpvMemorySemanticsShift;
SpvMemorySemanticsMask;
SpvMemoryAccessShift;
SpvMemoryAccessMask;
SpvScope;
SpvGroupOperation;
SpvKernelEnqueueFlags;
SpvKernelProfilingInfoShift;
SpvKernelProfilingInfoMask;
SpvCapability;
SpvRayFlagsShift;
SpvRayFlagsMask;
SpvRayQueryIntersection;
SpvRayQueryCommittedIntersectionType;
SpvRayQueryCandidateIntersectionType;
SpvFragmentShadingRateShift;
SpvFragmentShadingRateMask;
SpvFPDenormMode;
SpvFPOperationMode;
SpvQuantizationModes;
SpvOverflowModes;
SpvPackedVectorFormat;
SpvCooperativeMatrixOperandsShift;
SpvCooperativeMatrixOperandsMask;
SpvCooperativeMatrixLayout;
SpvCooperativeMatrixUse;
SpvInitializationModeQualifier;
SpvHostAccessQualifier;
SpvLoadCacheControl;
SpvStoreCacheControl;
SpvNamedMaximumNumberOfRegisters;
SpvRawAccessChainOperandsShift;
SpvRawAccessChainOperandsMask;
SpvFPEncoding;
SpvOp;
#ifdef SPV_ENABLE_UTILITY_CODE
#ifndef __cplusplus
#include <stdbool.h>
#endif
inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultType) {
*hasResult = *hasResultType = false;
switch (opcode) {
default: break;
case SpvOpNop: *hasResult = false; *hasResultType = false; break;
case SpvOpUndef: *hasResult = true; *hasResultType = true; break;
case SpvOpSourceContinued: *hasResult = false; *hasResultType = false; break;
case SpvOpSource: *hasResult = false; *hasResultType = false; break;
case SpvOpSourceExtension: *hasResult = false; *hasResultType = false; break;
case SpvOpName: *hasResult = false; *hasResultType = false; break;
case SpvOpMemberName: *hasResult = false; *hasResultType = false; break;
case SpvOpString: *hasResult = true; *hasResultType = false; break;
case SpvOpLine: *hasResult = false; *hasResultType = false; break;
case SpvOpExtension: *hasResult = false; *hasResultType = false; break;
case SpvOpExtInstImport: *hasResult = true; *hasResultType = false; break;
case SpvOpExtInst: *hasResult = true; *hasResultType = true; break;
case SpvOpMemoryModel: *hasResult = false; *hasResultType = false; break;
case SpvOpEntryPoint: *hasResult = false; *hasResultType = false; break;
case SpvOpExecutionMode: *hasResult = false; *hasResultType = false; break;
case SpvOpCapability: *hasResult = false; *hasResultType = false; break;
case SpvOpTypeVoid: *hasResult = true; *hasResultType = false; break;
case SpvOpTypeBool: *hasResult = true; *hasResultType = false; break;
case SpvOpTypeInt: *hasResult = true; *hasResultType = false; break;
case SpvOpTypeFloat: *hasResult = true; *hasResultType = false; break;
case SpvOpTypeVector: *hasResult = true; *hasResultType = false; break;
case SpvOpTypeMatrix: *hasResult = true; *hasResultType = false; break;
case SpvOpTypeImage: *hasResult = true; *hasResultType = false; break;
case SpvOpTypeSampler: *hasResult = true; *hasResultType = false; break;
case SpvOpTypeSampledImage: *hasResult = true; *hasResultType = false; break;
case SpvOpTypeArray: *hasResult = true; *hasResultType = false; break;
case SpvOpTypeRuntimeArray: *hasResult = true; *hasResultType = false; break;
case SpvOpTypeStruct: *hasResult = true; *hasResultType = false; break;
case SpvOpTypeOpaque: *hasResult = true; *hasResultType = false; break;
case SpvOpTypePointer: *hasResult = true; *hasResultType = false; break;
case SpvOpTypeFunction: *hasResult = true; *hasResultType = false; break;
case SpvOpTypeEvent: *hasResult = true; *hasResultType = false; break;
case SpvOpTypeDeviceEvent: *hasResult = true; *hasResultType = false; break;
case SpvOpTypeReserveId: *hasResult = true; *hasResultType = false; break;
case SpvOpTypeQueue: *hasResult = true; *hasResultType = false; break;
case SpvOpTypePipe: *hasResult = true; *hasResultType = false; break;
case SpvOpTypeForwardPointer: *hasResult = false; *hasResultType = false; break;
case SpvOpConstantTrue: *hasResult = true; *hasResultType = true; break;
case SpvOpConstantFalse: *hasResult = true; *hasResultType = true; break;
case SpvOpConstant: *hasResult = true; *hasResultType = true; break;
case SpvOpConstantComposite: *hasResult = true; *hasResultType = true; break;
case SpvOpConstantSampler: *hasResult = true; *hasResultType = true; break;
case SpvOpConstantNull: *hasResult = true; *hasResultType = true; break;
case SpvOpSpecConstantTrue: *hasResult = true; *hasResultType = true; break;
case SpvOpSpecConstantFalse: *hasResult = true; *hasResultType = true; break;
case SpvOpSpecConstant: *hasResult = true; *hasResultType = true; break;
case SpvOpSpecConstantComposite: *hasResult = true; *hasResultType = true; break;
case SpvOpSpecConstantOp: *hasResult = true; *hasResultType = true; break;
case SpvOpFunction: *hasResult = true; *hasResultType = true; break;
case SpvOpFunctionParameter: *hasResult = true; *hasResultType = true; break;
case SpvOpFunctionEnd: *hasResult = false; *hasResultType = false; break;
case SpvOpFunctionCall: *hasResult = true; *hasResultType = true; break;
case SpvOpVariable: *hasResult = true; *hasResultType = true; break;
case SpvOpImageTexelPointer: *hasResult = true; *hasResultType = true; break;
case SpvOpLoad: *hasResult = true; *hasResultType = true; break;
case SpvOpStore: *hasResult = false; *hasResultType = false; break;
case SpvOpCopyMemory: *hasResult = false; *hasResultType = false; break;
case SpvOpCopyMemorySized: *hasResult = false; *hasResultType = false; break;
case SpvOpAccessChain: *hasResult = true; *hasResultType = true; break;
case SpvOpInBoundsAccessChain: *hasResult = true; *hasResultType = true; break;
case SpvOpPtrAccessChain: *hasResult = true; *hasResultType = true; break;
case SpvOpArrayLength: *hasResult = true; *hasResultType = true; break;
case SpvOpGenericPtrMemSemantics: *hasResult = true; *hasResultType = true; break;
case SpvOpInBoundsPtrAccessChain: *hasResult = true; *hasResultType = true; break;
case SpvOpDecorate: *hasResult = false; *hasResultType = false; break;
case SpvOpMemberDecorate: *hasResult = false; *hasResultType = false; break;
case SpvOpDecorationGroup: *hasResult = true; *hasResultType = false; break;
case SpvOpGroupDecorate: *hasResult = false; *hasResultType = false; break;
case SpvOpGroupMemberDecorate: *hasResult = false; *hasResultType = false; break;
case SpvOpVectorExtractDynamic: *hasResult = true; *hasResultType = true; break;
case SpvOpVectorInsertDynamic: *hasResult = true; *hasResultType = true; break;
case SpvOpVectorShuffle: *hasResult = true; *hasResultType = true; break;
case SpvOpCompositeConstruct: *hasResult = true; *hasResultType = true; break;
case SpvOpCompositeExtract: *hasResult = true; *hasResultType = true; break;
case SpvOpCompositeInsert: *hasResult = true; *hasResultType = true; break;
case SpvOpCopyObject: *hasResult = true; *hasResultType = true; break;
case SpvOpTranspose: *hasResult = true; *hasResultType = true; break;
case SpvOpSampledImage: *hasResult = true; *hasResultType = true; break;
case SpvOpImageSampleImplicitLod: *hasResult = true; *hasResultType = true; break;
case SpvOpImageSampleExplicitLod: *hasResult = true; *hasResultType = true; break;
case SpvOpImageSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
case SpvOpImageSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
case SpvOpImageSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break;
case SpvOpImageSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break;
case SpvOpImageSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
case SpvOpImageSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
case SpvOpImageFetch: *hasResult = true; *hasResultType = true; break;
case SpvOpImageGather: *hasResult = true; *hasResultType = true; break;
case SpvOpImageDrefGather: *hasResult = true; *hasResultType = true; break;
case SpvOpImageRead: *hasResult = true; *hasResultType = true; break;
case SpvOpImageWrite: *hasResult = false; *hasResultType = false; break;
case SpvOpImage: *hasResult = true; *hasResultType = true; break;
case SpvOpImageQueryFormat: *hasResult = true; *hasResultType = true; break;
case SpvOpImageQueryOrder: *hasResult = true; *hasResultType = true; break;
case SpvOpImageQuerySizeLod: *hasResult = true; *hasResultType = true; break;
case SpvOpImageQuerySize: *hasResult = true; *hasResultType = true; break;
case SpvOpImageQueryLod: *hasResult = true; *hasResultType = true; break;
case SpvOpImageQueryLevels: *hasResult = true; *hasResultType = true; break;
case SpvOpImageQuerySamples: *hasResult = true; *hasResultType = true; break;
case SpvOpConvertFToU: *hasResult = true; *hasResultType = true; break;
case SpvOpConvertFToS: *hasResult = true; *hasResultType = true; break;
case SpvOpConvertSToF: *hasResult = true; *hasResultType = true; break;
case SpvOpConvertUToF: *hasResult = true; *hasResultType = true; break;
case SpvOpUConvert: *hasResult = true; *hasResultType = true; break;
case SpvOpSConvert: *hasResult = true; *hasResultType = true; break;
case SpvOpFConvert: *hasResult = true; *hasResultType = true; break;
case SpvOpQuantizeToF16: *hasResult = true; *hasResultType = true; break;
case SpvOpConvertPtrToU: *hasResult = true; *hasResultType = true; break;
case SpvOpSatConvertSToU: *hasResult = true; *hasResultType = true; break;
case SpvOpSatConvertUToS: *hasResult = true; *hasResultType = true; break;
case SpvOpConvertUToPtr: *hasResult = true; *hasResultType = true; break;
case SpvOpPtrCastToGeneric: *hasResult = true; *hasResultType = true; break;
case SpvOpGenericCastToPtr: *hasResult = true; *hasResultType = true; break;
case SpvOpGenericCastToPtrExplicit: *hasResult = true; *hasResultType = true; break;
case SpvOpBitcast: *hasResult = true; *hasResultType = true; break;
case SpvOpSNegate: *hasResult = true; *hasResultType = true; break;
case SpvOpFNegate: *hasResult = true; *hasResultType = true; break;
case SpvOpIAdd: *hasResult = true; *hasResultType = true; break;
case SpvOpFAdd: *hasResult = true; *hasResultType = true; break;
case SpvOpISub: *hasResult = true; *hasResultType = true; break;
case SpvOpFSub: *hasResult = true; *hasResultType = true; break;
case SpvOpIMul: *hasResult = true; *hasResultType = true; break;
case SpvOpFMul: *hasResult = true; *hasResultType = true; break;
case SpvOpUDiv: *hasResult = true; *hasResultType = true; break;
case SpvOpSDiv: *hasResult = true; *hasResultType = true; break;
case SpvOpFDiv: *hasResult = true; *hasResultType = true; break;
case SpvOpUMod: *hasResult = true; *hasResultType = true; break;
case SpvOpSRem: *hasResult = true; *hasResultType = true; break;
case SpvOpSMod: *hasResult = true; *hasResultType = true; break;
case SpvOpFRem: *hasResult = true; *hasResultType = true; break;
case SpvOpFMod: *hasResult = true; *hasResultType = true; break;
case SpvOpVectorTimesScalar: *hasResult = true; *hasResultType = true; break;
case SpvOpMatrixTimesScalar: *hasResult = true; *hasResultType = true; break;
case SpvOpVectorTimesMatrix: *hasResult = true; *hasResultType = true; break;
case SpvOpMatrixTimesVector: *hasResult = true; *hasResultType = true; break;
case SpvOpMatrixTimesMatrix: *hasResult = true; *hasResultType = true; break;
case SpvOpOuterProduct: *hasResult = true; *hasResultType = true; break;
case SpvOpDot: *hasResult = true; *hasResultType = true; break;
case SpvOpIAddCarry: *hasResult = true; *hasResultType = true; break;
case SpvOpISubBorrow: *hasResult = true; *hasResultType = true; break;
case SpvOpUMulExtended: *hasResult = true; *hasResultType = true; break;
case SpvOpSMulExtended: *hasResult = true; *hasResultType = true; break;
case SpvOpAny: *hasResult = true; *hasResultType = true; break;
case SpvOpAll: *hasResult = true; *hasResultType = true; break;
case SpvOpIsNan: *hasResult = true; *hasResultType = true; break;
case SpvOpIsInf: *hasResult = true; *hasResultType = true; break;
case SpvOpIsFinite: *hasResult = true; *hasResultType = true; break;
case SpvOpIsNormal: *hasResult = true; *hasResultType = true; break;
case SpvOpSignBitSet: *hasResult = true; *hasResultType = true; break;
case SpvOpLessOrGreater: *hasResult = true; *hasResultType = true; break;
case SpvOpOrdered: *hasResult = true; *hasResultType = true; break;
case SpvOpUnordered: *hasResult = true; *hasResultType = true; break;
case SpvOpLogicalEqual: *hasResult = true; *hasResultType = true; break;
case SpvOpLogicalNotEqual: *hasResult = true; *hasResultType = true; break;
case SpvOpLogicalOr: *hasResult = true; *hasResultType = true; break;
case SpvOpLogicalAnd: *hasResult = true; *hasResultType = true; break;
case SpvOpLogicalNot: *hasResult = true; *hasResultType = true; break;
case SpvOpSelect: *hasResult = true; *hasResultType = true; break;
case SpvOpIEqual: *hasResult = true; *hasResultType = true; break;
case SpvOpINotEqual: *hasResult = true; *hasResultType = true; break;
case SpvOpUGreaterThan: *hasResult = true; *hasResultType = true; break;
case SpvOpSGreaterThan: *hasResult = true; *hasResultType = true; break;
case SpvOpUGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
case SpvOpSGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
case SpvOpULessThan: *hasResult = true; *hasResultType = true; break;
case SpvOpSLessThan: *hasResult = true; *hasResultType = true; break;
case SpvOpULessThanEqual: *hasResult = true; *hasResultType = true; break;
case SpvOpSLessThanEqual: *hasResult = true; *hasResultType = true; break;
case SpvOpFOrdEqual: *hasResult = true; *hasResultType = true; break;
case SpvOpFUnordEqual: *hasResult = true; *hasResultType = true; break;
case SpvOpFOrdNotEqual: *hasResult = true; *hasResultType = true; break;
case SpvOpFUnordNotEqual: *hasResult = true; *hasResultType = true; break;
case SpvOpFOrdLessThan: *hasResult = true; *hasResultType = true; break;
case SpvOpFUnordLessThan: *hasResult = true; *hasResultType = true; break;
case SpvOpFOrdGreaterThan: *hasResult = true; *hasResultType = true; break;
case SpvOpFUnordGreaterThan: *hasResult = true; *hasResultType = true; break;
case SpvOpFOrdLessThanEqual: *hasResult = true; *hasResultType = true; break;
case SpvOpFUnordLessThanEqual: *hasResult = true; *hasResultType = true; break;
case SpvOpFOrdGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
case SpvOpFUnordGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
case SpvOpShiftRightLogical: *hasResult = true; *hasResultType = true; break;
case SpvOpShiftRightArithmetic: *hasResult = true; *hasResultType = true; break;
case SpvOpShiftLeftLogical: *hasResult = true; *hasResultType = true; break;
case SpvOpBitwiseOr: *hasResult = true; *hasResultType = true; break;
case SpvOpBitwiseXor: *hasResult = true; *hasResultType = true; break;
case SpvOpBitwiseAnd: *hasResult = true; *hasResultType = true; break;
case SpvOpNot: *hasResult = true; *hasResultType = true; break;
case SpvOpBitFieldInsert: *hasResult = true; *hasResultType = true; break;
case SpvOpBitFieldSExtract: *hasResult = true; *hasResultType = true; break;
case SpvOpBitFieldUExtract: *hasResult = true; *hasResultType = true; break;
case SpvOpBitReverse: *hasResult = true; *hasResultType = true; break;
case SpvOpBitCount: *hasResult = true; *hasResultType = true; break;
case SpvOpDPdx: *hasResult = true; *hasResultType = true; break;
case SpvOpDPdy: *hasResult = true; *hasResultType = true; break;
case SpvOpFwidth: *hasResult = true; *hasResultType = true; break;
case SpvOpDPdxFine: *hasResult = true; *hasResultType = true; break;
case SpvOpDPdyFine: *hasResult = true; *hasResultType = true; break;
case SpvOpFwidthFine: *hasResult = true; *hasResultType = true; break;
case SpvOpDPdxCoarse: *hasResult = true; *hasResultType = true; break;
case SpvOpDPdyCoarse: *hasResult = true; *hasResultType = true; break;
case SpvOpFwidthCoarse: *hasResult = true; *hasResultType = true; break;
case SpvOpEmitVertex: *hasResult = false; *hasResultType = false; break;
case SpvOpEndPrimitive: *hasResult = false; *hasResultType = false; break;
case SpvOpEmitStreamVertex: *hasResult = false; *hasResultType = false; break;
case SpvOpEndStreamPrimitive: *hasResult = false; *hasResultType = false; break;
case SpvOpControlBarrier: *hasResult = false; *hasResultType = false; break;
case SpvOpMemoryBarrier: *hasResult = false; *hasResultType = false; break;
case SpvOpAtomicLoad: *hasResult = true; *hasResultType = true; break;
case SpvOpAtomicStore: *hasResult = false; *hasResultType = false; break;
case SpvOpAtomicExchange: *hasResult = true; *hasResultType = true; break;
case SpvOpAtomicCompareExchange: *hasResult = true; *hasResultType = true; break;
case SpvOpAtomicCompareExchangeWeak: *hasResult = true; *hasResultType = true; break;
case SpvOpAtomicIIncrement: *hasResult = true; *hasResultType = true; break;
case SpvOpAtomicIDecrement: *hasResult = true; *hasResultType = true; break;
case SpvOpAtomicIAdd: *hasResult = true; *hasResultType = true; break;
case SpvOpAtomicISub: *hasResult = true; *hasResultType = true; break;
case SpvOpAtomicSMin: *hasResult = true; *hasResultType = true; break;
case SpvOpAtomicUMin: *hasResult = true; *hasResultType = true; break;
case SpvOpAtomicSMax: *hasResult = true; *hasResultType = true; break;
case SpvOpAtomicUMax: *hasResult = true; *hasResultType = true; break;
case SpvOpAtomicAnd: *hasResult = true; *hasResultType = true; break;
case SpvOpAtomicOr: *hasResult = true; *hasResultType = true; break;
case SpvOpAtomicXor: *hasResult = true; *hasResultType = true; break;
case SpvOpPhi: *hasResult = true; *hasResultType = true; break;
case SpvOpLoopMerge: *hasResult = false; *hasResultType = false; break;
case SpvOpSelectionMerge: *hasResult = false; *hasResultType = false; break;
case SpvOpLabel: *hasResult = true; *hasResultType = false; break;
case SpvOpBranch: *hasResult = false; *hasResultType = false; break;
case SpvOpBranchConditional: *hasResult = false; *hasResultType = false; break;
case SpvOpSwitch: *hasResult = false; *hasResultType = false; break;
case SpvOpKill: *hasResult = false; *hasResultType = false; break;
case SpvOpReturn: *hasResult = false; *hasResultType = false; break;
case SpvOpReturnValue: *hasResult = false; *hasResultType = false; break;
case SpvOpUnreachable: *hasResult = false; *hasResultType = false; break;
case SpvOpLifetimeStart: *hasResult = false; *hasResultType = false; break;
case SpvOpLifetimeStop: *hasResult = false; *hasResultType = false; break;
case SpvOpGroupAsyncCopy: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupWaitEvents: *hasResult = false; *hasResultType = false; break;
case SpvOpGroupAll: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupAny: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupBroadcast: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupIAdd: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupFAdd: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupFMin: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupUMin: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupSMin: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupFMax: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupUMax: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupSMax: *hasResult = true; *hasResultType = true; break;
case SpvOpReadPipe: *hasResult = true; *hasResultType = true; break;
case SpvOpWritePipe: *hasResult = true; *hasResultType = true; break;
case SpvOpReservedReadPipe: *hasResult = true; *hasResultType = true; break;
case SpvOpReservedWritePipe: *hasResult = true; *hasResultType = true; break;
case SpvOpReserveReadPipePackets: *hasResult = true; *hasResultType = true; break;
case SpvOpReserveWritePipePackets: *hasResult = true; *hasResultType = true; break;
case SpvOpCommitReadPipe: *hasResult = false; *hasResultType = false; break;
case SpvOpCommitWritePipe: *hasResult = false; *hasResultType = false; break;
case SpvOpIsValidReserveId: *hasResult = true; *hasResultType = true; break;
case SpvOpGetNumPipePackets: *hasResult = true; *hasResultType = true; break;
case SpvOpGetMaxPipePackets: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupReserveReadPipePackets: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupReserveWritePipePackets: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupCommitReadPipe: *hasResult = false; *hasResultType = false; break;
case SpvOpGroupCommitWritePipe: *hasResult = false; *hasResultType = false; break;
case SpvOpEnqueueMarker: *hasResult = true; *hasResultType = true; break;
case SpvOpEnqueueKernel: *hasResult = true; *hasResultType = true; break;
case SpvOpGetKernelNDrangeSubGroupCount: *hasResult = true; *hasResultType = true; break;
case SpvOpGetKernelNDrangeMaxSubGroupSize: *hasResult = true; *hasResultType = true; break;
case SpvOpGetKernelWorkGroupSize: *hasResult = true; *hasResultType = true; break;
case SpvOpGetKernelPreferredWorkGroupSizeMultiple: *hasResult = true; *hasResultType = true; break;
case SpvOpRetainEvent: *hasResult = false; *hasResultType = false; break;
case SpvOpReleaseEvent: *hasResult = false; *hasResultType = false; break;
case SpvOpCreateUserEvent: *hasResult = true; *hasResultType = true; break;
case SpvOpIsValidEvent: *hasResult = true; *hasResultType = true; break;
case SpvOpSetUserEventStatus: *hasResult = false; *hasResultType = false; break;
case SpvOpCaptureEventProfilingInfo: *hasResult = false; *hasResultType = false; break;
case SpvOpGetDefaultQueue: *hasResult = true; *hasResultType = true; break;
case SpvOpBuildNDRange: *hasResult = true; *hasResultType = true; break;
case SpvOpImageSparseSampleImplicitLod: *hasResult = true; *hasResultType = true; break;
case SpvOpImageSparseSampleExplicitLod: *hasResult = true; *hasResultType = true; break;
case SpvOpImageSparseSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
case SpvOpImageSparseSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
case SpvOpImageSparseSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break;
case SpvOpImageSparseSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break;
case SpvOpImageSparseSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
case SpvOpImageSparseSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
case SpvOpImageSparseFetch: *hasResult = true; *hasResultType = true; break;
case SpvOpImageSparseGather: *hasResult = true; *hasResultType = true; break;
case SpvOpImageSparseDrefGather: *hasResult = true; *hasResultType = true; break;
case SpvOpImageSparseTexelsResident: *hasResult = true; *hasResultType = true; break;
case SpvOpNoLine: *hasResult = false; *hasResultType = false; break;
case SpvOpAtomicFlagTestAndSet: *hasResult = true; *hasResultType = true; break;
case SpvOpAtomicFlagClear: *hasResult = false; *hasResultType = false; break;
case SpvOpImageSparseRead: *hasResult = true; *hasResultType = true; break;
case SpvOpSizeOf: *hasResult = true; *hasResultType = true; break;
case SpvOpTypePipeStorage: *hasResult = true; *hasResultType = false; break;
case SpvOpConstantPipeStorage: *hasResult = true; *hasResultType = true; break;
case SpvOpCreatePipeFromPipeStorage: *hasResult = true; *hasResultType = true; break;
case SpvOpGetKernelLocalSizeForSubgroupCount: *hasResult = true; *hasResultType = true; break;
case SpvOpGetKernelMaxNumSubgroups: *hasResult = true; *hasResultType = true; break;
case SpvOpTypeNamedBarrier: *hasResult = true; *hasResultType = false; break;
case SpvOpNamedBarrierInitialize: *hasResult = true; *hasResultType = true; break;
case SpvOpMemoryNamedBarrier: *hasResult = false; *hasResultType = false; break;
case SpvOpModuleProcessed: *hasResult = false; *hasResultType = false; break;
case SpvOpExecutionModeId: *hasResult = false; *hasResultType = false; break;
case SpvOpDecorateId: *hasResult = false; *hasResultType = false; break;
case SpvOpGroupNonUniformElect: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupNonUniformAll: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupNonUniformAny: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupNonUniformAllEqual: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupNonUniformBroadcast: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupNonUniformBroadcastFirst: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupNonUniformBallot: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupNonUniformInverseBallot: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupNonUniformBallotBitExtract: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupNonUniformBallotBitCount: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupNonUniformBallotFindLSB: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupNonUniformBallotFindMSB: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupNonUniformShuffle: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupNonUniformShuffleXor: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupNonUniformShuffleUp: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupNonUniformShuffleDown: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupNonUniformIAdd: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupNonUniformFAdd: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupNonUniformIMul: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupNonUniformFMul: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupNonUniformSMin: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupNonUniformUMin: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupNonUniformFMin: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupNonUniformSMax: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupNonUniformUMax: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupNonUniformFMax: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupNonUniformBitwiseAnd: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupNonUniformBitwiseOr: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupNonUniformBitwiseXor: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupNonUniformLogicalAnd: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupNonUniformLogicalOr: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupNonUniformLogicalXor: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupNonUniformQuadBroadcast: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupNonUniformQuadSwap: *hasResult = true; *hasResultType = true; break;
case SpvOpCopyLogical: *hasResult = true; *hasResultType = true; break;
case SpvOpPtrEqual: *hasResult = true; *hasResultType = true; break;
case SpvOpPtrNotEqual: *hasResult = true; *hasResultType = true; break;
case SpvOpPtrDiff: *hasResult = true; *hasResultType = true; break;
case SpvOpColorAttachmentReadEXT: *hasResult = true; *hasResultType = true; break;
case SpvOpDepthAttachmentReadEXT: *hasResult = true; *hasResultType = true; break;
case SpvOpStencilAttachmentReadEXT: *hasResult = true; *hasResultType = true; break;
case SpvOpTerminateInvocation: *hasResult = false; *hasResultType = false; break;
case SpvOpTypeUntypedPointerKHR: *hasResult = true; *hasResultType = false; break;
case SpvOpUntypedVariableKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpUntypedAccessChainKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpUntypedInBoundsAccessChainKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupBallotKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupFirstInvocationKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpUntypedPtrAccessChainKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpUntypedInBoundsPtrAccessChainKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpUntypedArrayLengthKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpUntypedPrefetchKHR: *hasResult = false; *hasResultType = false; break;
case SpvOpSubgroupAllKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAnyKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAllEqualKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupNonUniformRotateKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpExtInstWithForwardRefsKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpTraceRayKHR: *hasResult = false; *hasResultType = false; break;
case SpvOpExecuteCallableKHR: *hasResult = false; *hasResultType = false; break;
case SpvOpConvertUToAccelerationStructureKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpIgnoreIntersectionKHR: *hasResult = false; *hasResultType = false; break;
case SpvOpTerminateRayKHR: *hasResult = false; *hasResultType = false; break;
case SpvOpSDot: *hasResult = true; *hasResultType = true; break;
case SpvOpUDot: *hasResult = true; *hasResultType = true; break;
case SpvOpSUDot: *hasResult = true; *hasResultType = true; break;
case SpvOpSDotAccSat: *hasResult = true; *hasResultType = true; break;
case SpvOpUDotAccSat: *hasResult = true; *hasResultType = true; break;
case SpvOpSUDotAccSat: *hasResult = true; *hasResultType = true; break;
case SpvOpTypeCooperativeMatrixKHR: *hasResult = true; *hasResultType = false; break;
case SpvOpCooperativeMatrixLoadKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpCooperativeMatrixStoreKHR: *hasResult = false; *hasResultType = false; break;
case SpvOpCooperativeMatrixMulAddKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpCooperativeMatrixLengthKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpConstantCompositeReplicateEXT: *hasResult = true; *hasResultType = true; break;
case SpvOpSpecConstantCompositeReplicateEXT: *hasResult = true; *hasResultType = true; break;
case SpvOpCompositeConstructReplicateEXT: *hasResult = true; *hasResultType = true; break;
case SpvOpTypeRayQueryKHR: *hasResult = true; *hasResultType = false; break;
case SpvOpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break;
case SpvOpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break;
case SpvOpRayQueryGenerateIntersectionKHR: *hasResult = false; *hasResultType = false; break;
case SpvOpRayQueryConfirmIntersectionKHR: *hasResult = false; *hasResultType = false; break;
case SpvOpRayQueryProceedKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpRayQueryGetIntersectionTypeKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpImageSampleWeightedQCOM: *hasResult = true; *hasResultType = true; break;
case SpvOpImageBoxFilterQCOM: *hasResult = true; *hasResultType = true; break;
case SpvOpImageBlockMatchSSDQCOM: *hasResult = true; *hasResultType = true; break;
case SpvOpImageBlockMatchSADQCOM: *hasResult = true; *hasResultType = true; break;
case SpvOpImageBlockMatchWindowSSDQCOM: *hasResult = true; *hasResultType = true; break;
case SpvOpImageBlockMatchWindowSADQCOM: *hasResult = true; *hasResultType = true; break;
case SpvOpImageBlockMatchGatherSSDQCOM: *hasResult = true; *hasResultType = true; break;
case SpvOpImageBlockMatchGatherSADQCOM: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupIAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupFAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupFMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupUMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupSMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupFMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupUMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupSMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
case SpvOpFragmentMaskFetchAMD: *hasResult = true; *hasResultType = true; break;
case SpvOpFragmentFetchAMD: *hasResult = true; *hasResultType = true; break;
case SpvOpReadClockKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpFinalizeNodePayloadsAMDX: *hasResult = false; *hasResultType = false; break;
case SpvOpFinishWritingNodePayloadAMDX: *hasResult = true; *hasResultType = true; break;
case SpvOpInitializeNodePayloadsAMDX: *hasResult = false; *hasResultType = false; break;
case SpvOpGroupNonUniformQuadAllKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupNonUniformQuadAnyKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpHitObjectRecordHitMotionNV: *hasResult = false; *hasResultType = false; break;
case SpvOpHitObjectRecordHitWithIndexMotionNV: *hasResult = false; *hasResultType = false; break;
case SpvOpHitObjectRecordMissMotionNV: *hasResult = false; *hasResultType = false; break;
case SpvOpHitObjectGetWorldToObjectNV: *hasResult = true; *hasResultType = true; break;
case SpvOpHitObjectGetObjectToWorldNV: *hasResult = true; *hasResultType = true; break;
case SpvOpHitObjectGetObjectRayDirectionNV: *hasResult = true; *hasResultType = true; break;
case SpvOpHitObjectGetObjectRayOriginNV: *hasResult = true; *hasResultType = true; break;
case SpvOpHitObjectTraceRayMotionNV: *hasResult = false; *hasResultType = false; break;
case SpvOpHitObjectGetShaderRecordBufferHandleNV: *hasResult = true; *hasResultType = true; break;
case SpvOpHitObjectGetShaderBindingTableRecordIndexNV: *hasResult = true; *hasResultType = true; break;
case SpvOpHitObjectRecordEmptyNV: *hasResult = false; *hasResultType = false; break;
case SpvOpHitObjectTraceRayNV: *hasResult = false; *hasResultType = false; break;
case SpvOpHitObjectRecordHitNV: *hasResult = false; *hasResultType = false; break;
case SpvOpHitObjectRecordHitWithIndexNV: *hasResult = false; *hasResultType = false; break;
case SpvOpHitObjectRecordMissNV: *hasResult = false; *hasResultType = false; break;
case SpvOpHitObjectExecuteShaderNV: *hasResult = false; *hasResultType = false; break;
case SpvOpHitObjectGetCurrentTimeNV: *hasResult = true; *hasResultType = true; break;
case SpvOpHitObjectGetAttributesNV: *hasResult = false; *hasResultType = false; break;
case SpvOpHitObjectGetHitKindNV: *hasResult = true; *hasResultType = true; break;
case SpvOpHitObjectGetPrimitiveIndexNV: *hasResult = true; *hasResultType = true; break;
case SpvOpHitObjectGetGeometryIndexNV: *hasResult = true; *hasResultType = true; break;
case SpvOpHitObjectGetInstanceIdNV: *hasResult = true; *hasResultType = true; break;
case SpvOpHitObjectGetInstanceCustomIndexNV: *hasResult = true; *hasResultType = true; break;
case SpvOpHitObjectGetWorldRayDirectionNV: *hasResult = true; *hasResultType = true; break;
case SpvOpHitObjectGetWorldRayOriginNV: *hasResult = true; *hasResultType = true; break;
case SpvOpHitObjectGetRayTMaxNV: *hasResult = true; *hasResultType = true; break;
case SpvOpHitObjectGetRayTMinNV: *hasResult = true; *hasResultType = true; break;
case SpvOpHitObjectIsEmptyNV: *hasResult = true; *hasResultType = true; break;
case SpvOpHitObjectIsHitNV: *hasResult = true; *hasResultType = true; break;
case SpvOpHitObjectIsMissNV: *hasResult = true; *hasResultType = true; break;
case SpvOpReorderThreadWithHitObjectNV: *hasResult = false; *hasResultType = false; break;
case SpvOpReorderThreadWithHintNV: *hasResult = false; *hasResultType = false; break;
case SpvOpTypeHitObjectNV: *hasResult = true; *hasResultType = false; break;
case SpvOpImageSampleFootprintNV: *hasResult = true; *hasResultType = true; break;
case SpvOpEmitMeshTasksEXT: *hasResult = false; *hasResultType = false; break;
case SpvOpSetMeshOutputsEXT: *hasResult = false; *hasResultType = false; break;
case SpvOpGroupNonUniformPartitionNV: *hasResult = true; *hasResultType = true; break;
case SpvOpWritePackedPrimitiveIndices4x8NV: *hasResult = false; *hasResultType = false; break;
case SpvOpFetchMicroTriangleVertexPositionNV: *hasResult = true; *hasResultType = true; break;
case SpvOpFetchMicroTriangleVertexBarycentricNV: *hasResult = true; *hasResultType = true; break;
case SpvOpReportIntersectionKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpIgnoreIntersectionNV: *hasResult = false; *hasResultType = false; break;
case SpvOpTerminateRayNV: *hasResult = false; *hasResultType = false; break;
case SpvOpTraceNV: *hasResult = false; *hasResultType = false; break;
case SpvOpTraceMotionNV: *hasResult = false; *hasResultType = false; break;
case SpvOpTraceRayMotionNV: *hasResult = false; *hasResultType = false; break;
case SpvOpRayQueryGetIntersectionTriangleVertexPositionsKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpTypeAccelerationStructureKHR: *hasResult = true; *hasResultType = false; break;
case SpvOpExecuteCallableNV: *hasResult = false; *hasResultType = false; break;
case SpvOpTypeCooperativeMatrixNV: *hasResult = true; *hasResultType = false; break;
case SpvOpCooperativeMatrixLoadNV: *hasResult = true; *hasResultType = true; break;
case SpvOpCooperativeMatrixStoreNV: *hasResult = false; *hasResultType = false; break;
case SpvOpCooperativeMatrixMulAddNV: *hasResult = true; *hasResultType = true; break;
case SpvOpCooperativeMatrixLengthNV: *hasResult = true; *hasResultType = true; break;
case SpvOpBeginInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
case SpvOpEndInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
case SpvOpDemoteToHelperInvocation: *hasResult = false; *hasResultType = false; break;
case SpvOpIsHelperInvocationEXT: *hasResult = true; *hasResultType = true; break;
case SpvOpConvertUToImageNV: *hasResult = true; *hasResultType = true; break;
case SpvOpConvertUToSamplerNV: *hasResult = true; *hasResultType = true; break;
case SpvOpConvertImageToUNV: *hasResult = true; *hasResultType = true; break;
case SpvOpConvertSamplerToUNV: *hasResult = true; *hasResultType = true; break;
case SpvOpConvertUToSampledImageNV: *hasResult = true; *hasResultType = true; break;
case SpvOpConvertSampledImageToUNV: *hasResult = true; *hasResultType = true; break;
case SpvOpSamplerImageAddressingModeNV: *hasResult = false; *hasResultType = false; break;
case SpvOpRawAccessChainNV: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupShuffleINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupShuffleDownINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupShuffleUpINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupShuffleXorINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
case SpvOpSubgroupImageBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupImageBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
case SpvOpSubgroupImageMediaBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupImageMediaBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
case SpvOpUCountLeadingZerosINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpUCountTrailingZerosINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpAbsISubINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpAbsUSubINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpIAddSatINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpUAddSatINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpIAverageINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpUAverageINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpIAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpUAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpISubSatINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpUSubSatINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpIMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpUMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpConstantFunctionPointerINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpFunctionPointerCallINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpAsmTargetINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpAsmINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpAsmCallINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpAtomicFMinEXT: *hasResult = true; *hasResultType = true; break;
case SpvOpAtomicFMaxEXT: *hasResult = true; *hasResultType = true; break;
case SpvOpAssumeTrueKHR: *hasResult = false; *hasResultType = false; break;
case SpvOpExpectKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpDecorateString: *hasResult = false; *hasResultType = false; break;
case SpvOpMemberDecorateString: *hasResult = false; *hasResultType = false; break;
case SpvOpVmeImageINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpTypeVmeImageINTEL: *hasResult = true; *hasResultType = false; break;
case SpvOpTypeAvcImePayloadINTEL: *hasResult = true; *hasResultType = false; break;
case SpvOpTypeAvcRefPayloadINTEL: *hasResult = true; *hasResultType = false; break;
case SpvOpTypeAvcSicPayloadINTEL: *hasResult = true; *hasResultType = false; break;
case SpvOpTypeAvcMcePayloadINTEL: *hasResult = true; *hasResultType = false; break;
case SpvOpTypeAvcMceResultINTEL: *hasResult = true; *hasResultType = false; break;
case SpvOpTypeAvcImeResultINTEL: *hasResult = true; *hasResultType = false; break;
case SpvOpTypeAvcImeResultSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break;
case SpvOpTypeAvcImeResultDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break;
case SpvOpTypeAvcImeSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break;
case SpvOpTypeAvcImeDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break;
case SpvOpTypeAvcRefResultINTEL: *hasResult = true; *hasResultType = false; break;
case SpvOpTypeAvcSicResultINTEL: *hasResult = true; *hasResultType = false; break;
case SpvOpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcMceSetInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcMceSetInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcMceSetMotionVectorCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcMceSetAcOnlyHaarINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcMceConvertToImePayloadINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcMceConvertToImeResultINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcMceConvertToRefPayloadINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcMceConvertToRefResultINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcMceConvertToSicPayloadINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcMceConvertToSicResultINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcMceGetMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcMceGetInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcMceGetBestInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcMceGetInterMajorShapeINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcMceGetInterMinorShapeINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcMceGetInterDirectionsINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcMceGetInterMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcMceGetInterReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcImeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcImeSetSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcImeSetDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcImeRefWindowSizeINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcImeAdjustRefOffsetINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcImeConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcImeSetMaxMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcImeSetUnidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcImeSetWeightedSadINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcImeEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcImeConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcImeGetSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcImeGetDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcImeStripSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcImeStripDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcImeGetBorderReachedINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcImeGetTruncatedSearchIndicationINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcFmeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcBmeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcRefConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcRefSetBidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcRefSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcRefEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcRefEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcRefEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcRefConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcSicInitializeINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcSicConfigureSkcINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcSicConfigureIpeLumaINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcSicConfigureIpeLumaChromaINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcSicGetMotionVectorMaskINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcSicConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcSicSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcSicSetSkcForwardTransformEnableINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcSicEvaluateIpeINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcSicEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcSicEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcSicEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcSicConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcSicGetIpeLumaShapeINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcSicGetBestIpeLumaDistortionINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcSicGetBestIpeChromaDistortionINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcSicGetPackedIpeLumaModesINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcSicGetIpeChromaModeINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAvcSicGetInterRawSadsINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpVariableLengthArrayINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSaveMemoryINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpRestoreMemoryINTEL: *hasResult = false; *hasResultType = false; break;
case SpvOpArbitraryFloatSinCosPiINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpArbitraryFloatCastINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpArbitraryFloatCastFromIntINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpArbitraryFloatCastToIntINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpArbitraryFloatAddINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpArbitraryFloatSubINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpArbitraryFloatMulINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpArbitraryFloatDivINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpArbitraryFloatGTINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpArbitraryFloatGEINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpArbitraryFloatLTINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpArbitraryFloatLEINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpArbitraryFloatEQINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpArbitraryFloatRecipINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpArbitraryFloatRSqrtINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpArbitraryFloatCbrtINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpArbitraryFloatHypotINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpArbitraryFloatSqrtINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpArbitraryFloatLogINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpArbitraryFloatLog2INTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpArbitraryFloatLog10INTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpArbitraryFloatLog1pINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpArbitraryFloatExpINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpArbitraryFloatExp2INTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpArbitraryFloatExp10INTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpArbitraryFloatExpm1INTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpArbitraryFloatSinINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpArbitraryFloatCosINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpArbitraryFloatSinCosINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpArbitraryFloatSinPiINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpArbitraryFloatCosPiINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpArbitraryFloatASinINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpArbitraryFloatASinPiINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpArbitraryFloatACosINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpArbitraryFloatACosPiINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpArbitraryFloatATanINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpArbitraryFloatATanPiINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpArbitraryFloatATan2INTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpArbitraryFloatPowINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpArbitraryFloatPowRINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpArbitraryFloatPowNINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpLoopControlINTEL: *hasResult = false; *hasResultType = false; break;
case SpvOpAliasDomainDeclINTEL: *hasResult = true; *hasResultType = false; break;
case SpvOpAliasScopeDeclINTEL: *hasResult = true; *hasResultType = false; break;
case SpvOpAliasScopeListDeclINTEL: *hasResult = true; *hasResultType = false; break;
case SpvOpFixedSqrtINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpFixedRecipINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpFixedRsqrtINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpFixedSinINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpFixedCosINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpFixedSinCosINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpFixedSinPiINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpFixedCosPiINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpFixedSinCosPiINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpFixedLogINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpFixedExpINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpPtrCastToCrossWorkgroupINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpCrossWorkgroupCastToPtrINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpReadPipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpWritePipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpFPGARegINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpRayQueryGetRayTMinKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpRayQueryGetRayFlagsKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpRayQueryGetIntersectionTKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpRayQueryGetIntersectionInstanceCustomIndexKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpRayQueryGetIntersectionInstanceIdKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpRayQueryGetIntersectionGeometryIndexKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpRayQueryGetIntersectionPrimitiveIndexKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpRayQueryGetIntersectionBarycentricsKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpRayQueryGetIntersectionFrontFaceKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpRayQueryGetIntersectionCandidateAABBOpaqueKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpRayQueryGetIntersectionObjectRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpRayQueryGetIntersectionObjectRayOriginKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpRayQueryGetWorldRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpRayQueryGetWorldRayOriginKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpRayQueryGetIntersectionObjectToWorldKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpRayQueryGetIntersectionWorldToObjectKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpAtomicFAddEXT: *hasResult = true; *hasResultType = true; break;
case SpvOpTypeBufferSurfaceINTEL: *hasResult = true; *hasResultType = false; break;
case SpvOpTypeStructContinuedINTEL: *hasResult = false; *hasResultType = false; break;
case SpvOpConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
case SpvOpSpecConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
case SpvOpCompositeConstructContinuedINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpConvertFToBF16INTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpConvertBF16ToFINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpControlBarrierArriveINTEL: *hasResult = false; *hasResultType = false; break;
case SpvOpControlBarrierWaitINTEL: *hasResult = false; *hasResultType = false; break;
case SpvOpSubgroupBlockPrefetchINTEL: *hasResult = false; *hasResultType = false; break;
case SpvOpGroupIMulKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupFMulKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupBitwiseAndKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupBitwiseOrKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupBitwiseXorKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupLogicalAndKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupLogicalOrKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupLogicalXorKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpMaskedGatherINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpMaskedScatterINTEL: *hasResult = false; *hasResultType = false; break;
}
}
inline const char* SpvSourceLanguageToString(SpvSourceLanguage value) {
switch (value) {
case SpvSourceLanguageUnknown: return "Unknown";
case SpvSourceLanguageESSL: return "ESSL";
case SpvSourceLanguageGLSL: return "GLSL";
case SpvSourceLanguageOpenCL_C: return "OpenCL_C";
case SpvSourceLanguageOpenCL_CPP: return "OpenCL_CPP";
case SpvSourceLanguageHLSL: return "HLSL";
case SpvSourceLanguageCPP_for_OpenCL: return "CPP_for_OpenCL";
case SpvSourceLanguageSYCL: return "SYCL";
case SpvSourceLanguageHERO_C: return "HERO_C";
case SpvSourceLanguageNZSL: return "NZSL";
case SpvSourceLanguageWGSL: return "WGSL";
case SpvSourceLanguageSlang: return "Slang";
case SpvSourceLanguageZig: return "Zig";
default: return "Unknown";
}
}
inline const char* SpvExecutionModelToString(SpvExecutionModel value) {
switch (value) {
case SpvExecutionModelVertex: return "Vertex";
case SpvExecutionModelTessellationControl: return "TessellationControl";
case SpvExecutionModelTessellationEvaluation: return "TessellationEvaluation";
case SpvExecutionModelGeometry: return "Geometry";
case SpvExecutionModelFragment: return "Fragment";
case SpvExecutionModelGLCompute: return "GLCompute";
case SpvExecutionModelKernel: return "Kernel";
case SpvExecutionModelTaskNV: return "TaskNV";
case SpvExecutionModelMeshNV: return "MeshNV";
case SpvExecutionModelRayGenerationKHR: return "RayGenerationKHR";
case SpvExecutionModelIntersectionKHR: return "IntersectionKHR";
case SpvExecutionModelAnyHitKHR: return "AnyHitKHR";
case SpvExecutionModelClosestHitKHR: return "ClosestHitKHR";
case SpvExecutionModelMissKHR: return "MissKHR";
case SpvExecutionModelCallableKHR: return "CallableKHR";
case SpvExecutionModelTaskEXT: return "TaskEXT";
case SpvExecutionModelMeshEXT: return "MeshEXT";
default: return "Unknown";
}
}
inline const char* SpvAddressingModelToString(SpvAddressingModel value) {
switch (value) {
case SpvAddressingModelLogical: return "Logical";
case SpvAddressingModelPhysical32: return "Physical32";
case SpvAddressingModelPhysical64: return "Physical64";
case SpvAddressingModelPhysicalStorageBuffer64: return "PhysicalStorageBuffer64";
default: return "Unknown";
}
}
inline const char* SpvMemoryModelToString(SpvMemoryModel value) {
switch (value) {
case SpvMemoryModelSimple: return "Simple";
case SpvMemoryModelGLSL450: return "GLSL450";
case SpvMemoryModelOpenCL: return "OpenCL";
case SpvMemoryModelVulkan: return "Vulkan";
default: return "Unknown";
}
}
inline const char* SpvExecutionModeToString(SpvExecutionMode value) {
switch (value) {
case SpvExecutionModeInvocations: return "Invocations";
case SpvExecutionModeSpacingEqual: return "SpacingEqual";
case SpvExecutionModeSpacingFractionalEven: return "SpacingFractionalEven";
case SpvExecutionModeSpacingFractionalOdd: return "SpacingFractionalOdd";
case SpvExecutionModeVertexOrderCw: return "VertexOrderCw";
case SpvExecutionModeVertexOrderCcw: return "VertexOrderCcw";
case SpvExecutionModePixelCenterInteger: return "PixelCenterInteger";
case SpvExecutionModeOriginUpperLeft: return "OriginUpperLeft";
case SpvExecutionModeOriginLowerLeft: return "OriginLowerLeft";
case SpvExecutionModeEarlyFragmentTests: return "EarlyFragmentTests";
case SpvExecutionModePointMode: return "PointMode";
case SpvExecutionModeXfb: return "Xfb";
case SpvExecutionModeDepthReplacing: return "DepthReplacing";
case SpvExecutionModeDepthGreater: return "DepthGreater";
case SpvExecutionModeDepthLess: return "DepthLess";
case SpvExecutionModeDepthUnchanged: return "DepthUnchanged";
case SpvExecutionModeLocalSize: return "LocalSize";
case SpvExecutionModeLocalSizeHint: return "LocalSizeHint";
case SpvExecutionModeInputPoints: return "InputPoints";
case SpvExecutionModeInputLines: return "InputLines";
case SpvExecutionModeInputLinesAdjacency: return "InputLinesAdjacency";
case SpvExecutionModeTriangles: return "Triangles";
case SpvExecutionModeInputTrianglesAdjacency: return "InputTrianglesAdjacency";
case SpvExecutionModeQuads: return "Quads";
case SpvExecutionModeIsolines: return "Isolines";
case SpvExecutionModeOutputVertices: return "OutputVertices";
case SpvExecutionModeOutputPoints: return "OutputPoints";
case SpvExecutionModeOutputLineStrip: return "OutputLineStrip";
case SpvExecutionModeOutputTriangleStrip: return "OutputTriangleStrip";
case SpvExecutionModeVecTypeHint: return "VecTypeHint";
case SpvExecutionModeContractionOff: return "ContractionOff";
case SpvExecutionModeInitializer: return "Initializer";
case SpvExecutionModeFinalizer: return "Finalizer";
case SpvExecutionModeSubgroupSize: return "SubgroupSize";
case SpvExecutionModeSubgroupsPerWorkgroup: return "SubgroupsPerWorkgroup";
case SpvExecutionModeSubgroupsPerWorkgroupId: return "SubgroupsPerWorkgroupId";
case SpvExecutionModeLocalSizeId: return "LocalSizeId";
case SpvExecutionModeLocalSizeHintId: return "LocalSizeHintId";
case SpvExecutionModeNonCoherentColorAttachmentReadEXT: return "NonCoherentColorAttachmentReadEXT";
case SpvExecutionModeNonCoherentDepthAttachmentReadEXT: return "NonCoherentDepthAttachmentReadEXT";
case SpvExecutionModeNonCoherentStencilAttachmentReadEXT: return "NonCoherentStencilAttachmentReadEXT";
case SpvExecutionModeSubgroupUniformControlFlowKHR: return "SubgroupUniformControlFlowKHR";
case SpvExecutionModePostDepthCoverage: return "PostDepthCoverage";
case SpvExecutionModeDenormPreserve: return "DenormPreserve";
case SpvExecutionModeDenormFlushToZero: return "DenormFlushToZero";
case SpvExecutionModeSignedZeroInfNanPreserve: return "SignedZeroInfNanPreserve";
case SpvExecutionModeRoundingModeRTE: return "RoundingModeRTE";
case SpvExecutionModeRoundingModeRTZ: return "RoundingModeRTZ";
case SpvExecutionModeEarlyAndLateFragmentTestsAMD: return "EarlyAndLateFragmentTestsAMD";
case SpvExecutionModeStencilRefReplacingEXT: return "StencilRefReplacingEXT";
case SpvExecutionModeCoalescingAMDX: return "CoalescingAMDX";
case SpvExecutionModeMaxNodeRecursionAMDX: return "MaxNodeRecursionAMDX";
case SpvExecutionModeStaticNumWorkgroupsAMDX: return "StaticNumWorkgroupsAMDX";
case SpvExecutionModeShaderIndexAMDX: return "ShaderIndexAMDX";
case SpvExecutionModeMaxNumWorkgroupsAMDX: return "MaxNumWorkgroupsAMDX";
case SpvExecutionModeStencilRefUnchangedFrontAMD: return "StencilRefUnchangedFrontAMD";
case SpvExecutionModeStencilRefGreaterFrontAMD: return "StencilRefGreaterFrontAMD";
case SpvExecutionModeStencilRefLessFrontAMD: return "StencilRefLessFrontAMD";
case SpvExecutionModeStencilRefUnchangedBackAMD: return "StencilRefUnchangedBackAMD";
case SpvExecutionModeStencilRefGreaterBackAMD: return "StencilRefGreaterBackAMD";
case SpvExecutionModeStencilRefLessBackAMD: return "StencilRefLessBackAMD";
case SpvExecutionModeQuadDerivativesKHR: return "QuadDerivativesKHR";
case SpvExecutionModeRequireFullQuadsKHR: return "RequireFullQuadsKHR";
case SpvExecutionModeOutputLinesEXT: return "OutputLinesEXT";
case SpvExecutionModeOutputPrimitivesEXT: return "OutputPrimitivesEXT";
case SpvExecutionModeDerivativeGroupQuadsNV: return "DerivativeGroupQuadsNV";
case SpvExecutionModeDerivativeGroupLinearNV: return "DerivativeGroupLinearNV";
case SpvExecutionModeOutputTrianglesEXT: return "OutputTrianglesEXT";
case SpvExecutionModePixelInterlockOrderedEXT: return "PixelInterlockOrderedEXT";
case SpvExecutionModePixelInterlockUnorderedEXT: return "PixelInterlockUnorderedEXT";
case SpvExecutionModeSampleInterlockOrderedEXT: return "SampleInterlockOrderedEXT";
case SpvExecutionModeSampleInterlockUnorderedEXT: return "SampleInterlockUnorderedEXT";
case SpvExecutionModeShadingRateInterlockOrderedEXT: return "ShadingRateInterlockOrderedEXT";
case SpvExecutionModeShadingRateInterlockUnorderedEXT: return "ShadingRateInterlockUnorderedEXT";
case SpvExecutionModeSharedLocalMemorySizeINTEL: return "SharedLocalMemorySizeINTEL";
case SpvExecutionModeRoundingModeRTPINTEL: return "RoundingModeRTPINTEL";
case SpvExecutionModeRoundingModeRTNINTEL: return "RoundingModeRTNINTEL";
case SpvExecutionModeFloatingPointModeALTINTEL: return "FloatingPointModeALTINTEL";
case SpvExecutionModeFloatingPointModeIEEEINTEL: return "FloatingPointModeIEEEINTEL";
case SpvExecutionModeMaxWorkgroupSizeINTEL: return "MaxWorkgroupSizeINTEL";
case SpvExecutionModeMaxWorkDimINTEL: return "MaxWorkDimINTEL";
case SpvExecutionModeNoGlobalOffsetINTEL: return "NoGlobalOffsetINTEL";
case SpvExecutionModeNumSIMDWorkitemsINTEL: return "NumSIMDWorkitemsINTEL";
case SpvExecutionModeSchedulerTargetFmaxMhzINTEL: return "SchedulerTargetFmaxMhzINTEL";
case SpvExecutionModeMaximallyReconvergesKHR: return "MaximallyReconvergesKHR";
case SpvExecutionModeFPFastMathDefault: return "FPFastMathDefault";
case SpvExecutionModeStreamingInterfaceINTEL: return "StreamingInterfaceINTEL";
case SpvExecutionModeRegisterMapInterfaceINTEL: return "RegisterMapInterfaceINTEL";
case SpvExecutionModeNamedBarrierCountINTEL: return "NamedBarrierCountINTEL";
case SpvExecutionModeMaximumRegistersINTEL: return "MaximumRegistersINTEL";
case SpvExecutionModeMaximumRegistersIdINTEL: return "MaximumRegistersIdINTEL";
case SpvExecutionModeNamedMaximumRegistersINTEL: return "NamedMaximumRegistersINTEL";
default: return "Unknown";
}
}
inline const char* SpvStorageClassToString(SpvStorageClass value) {
switch (value) {
case SpvStorageClassUniformConstant: return "UniformConstant";
case SpvStorageClassInput: return "Input";
case SpvStorageClassUniform: return "Uniform";
case SpvStorageClassOutput: return "Output";
case SpvStorageClassWorkgroup: return "Workgroup";
case SpvStorageClassCrossWorkgroup: return "CrossWorkgroup";
case SpvStorageClassPrivate: return "Private";
case SpvStorageClassFunction: return "Function";
case SpvStorageClassGeneric: return "Generic";
case SpvStorageClassPushConstant: return "PushConstant";
case SpvStorageClassAtomicCounter: return "AtomicCounter";
case SpvStorageClassImage: return "Image";
case SpvStorageClassStorageBuffer: return "StorageBuffer";
case SpvStorageClassTileImageEXT: return "TileImageEXT";
case SpvStorageClassNodePayloadAMDX: return "NodePayloadAMDX";
case SpvStorageClassNodeOutputPayloadAMDX: return "NodeOutputPayloadAMDX";
case SpvStorageClassCallableDataKHR: return "CallableDataKHR";
case SpvStorageClassIncomingCallableDataKHR: return "IncomingCallableDataKHR";
case SpvStorageClassRayPayloadKHR: return "RayPayloadKHR";
case SpvStorageClassHitAttributeKHR: return "HitAttributeKHR";
case SpvStorageClassIncomingRayPayloadKHR: return "IncomingRayPayloadKHR";
case SpvStorageClassShaderRecordBufferKHR: return "ShaderRecordBufferKHR";
case SpvStorageClassPhysicalStorageBuffer: return "PhysicalStorageBuffer";
case SpvStorageClassHitObjectAttributeNV: return "HitObjectAttributeNV";
case SpvStorageClassTaskPayloadWorkgroupEXT: return "TaskPayloadWorkgroupEXT";
case SpvStorageClassCodeSectionINTEL: return "CodeSectionINTEL";
case SpvStorageClassDeviceOnlyINTEL: return "DeviceOnlyINTEL";
case SpvStorageClassHostOnlyINTEL: return "HostOnlyINTEL";
default: return "Unknown";
}
}
inline const char* SpvDimToString(SpvDim value) {
switch (value) {
case SpvDim1D: return "1D";
case SpvDim2D: return "2D";
case SpvDim3D: return "3D";
case SpvDimCube: return "Cube";
case SpvDimRect: return "Rect";
case SpvDimBuffer: return "Buffer";
case SpvDimSubpassData: return "SubpassData";
case SpvDimTileImageDataEXT: return "TileImageDataEXT";
default: return "Unknown";
}
}
inline const char* SpvSamplerAddressingModeToString(SpvSamplerAddressingMode value) {
switch (value) {
case SpvSamplerAddressingModeNone: return "None";
case SpvSamplerAddressingModeClampToEdge: return "ClampToEdge";
case SpvSamplerAddressingModeClamp: return "Clamp";
case SpvSamplerAddressingModeRepeat: return "Repeat";
case SpvSamplerAddressingModeRepeatMirrored: return "RepeatMirrored";
default: return "Unknown";
}
}
inline const char* SpvSamplerFilterModeToString(SpvSamplerFilterMode value) {
switch (value) {
case SpvSamplerFilterModeNearest: return "Nearest";
case SpvSamplerFilterModeLinear: return "Linear";
default: return "Unknown";
}
}
inline const char* SpvImageFormatToString(SpvImageFormat value) {
switch (value) {
case SpvImageFormatUnknown: return "Unknown";
case SpvImageFormatRgba32f: return "Rgba32f";
case SpvImageFormatRgba16f: return "Rgba16f";
case SpvImageFormatR32f: return "R32f";
case SpvImageFormatRgba8: return "Rgba8";
case SpvImageFormatRgba8Snorm: return "Rgba8Snorm";
case SpvImageFormatRg32f: return "Rg32f";
case SpvImageFormatRg16f: return "Rg16f";
case SpvImageFormatR11fG11fB10f: return "R11fG11fB10f";
case SpvImageFormatR16f: return "R16f";
case SpvImageFormatRgba16: return "Rgba16";
case SpvImageFormatRgb10A2: return "Rgb10A2";
case SpvImageFormatRg16: return "Rg16";
case SpvImageFormatRg8: return "Rg8";
case SpvImageFormatR16: return "R16";
case SpvImageFormatR8: return "R8";
case SpvImageFormatRgba16Snorm: return "Rgba16Snorm";
case SpvImageFormatRg16Snorm: return "Rg16Snorm";
case SpvImageFormatRg8Snorm: return "Rg8Snorm";
case SpvImageFormatR16Snorm: return "R16Snorm";
case SpvImageFormatR8Snorm: return "R8Snorm";
case SpvImageFormatRgba32i: return "Rgba32i";
case SpvImageFormatRgba16i: return "Rgba16i";
case SpvImageFormatRgba8i: return "Rgba8i";
case SpvImageFormatR32i: return "R32i";
case SpvImageFormatRg32i: return "Rg32i";
case SpvImageFormatRg16i: return "Rg16i";
case SpvImageFormatRg8i: return "Rg8i";
case SpvImageFormatR16i: return "R16i";
case SpvImageFormatR8i: return "R8i";
case SpvImageFormatRgba32ui: return "Rgba32ui";
case SpvImageFormatRgba16ui: return "Rgba16ui";
case SpvImageFormatRgba8ui: return "Rgba8ui";
case SpvImageFormatR32ui: return "R32ui";
case SpvImageFormatRgb10a2ui: return "Rgb10a2ui";
case SpvImageFormatRg32ui: return "Rg32ui";
case SpvImageFormatRg16ui: return "Rg16ui";
case SpvImageFormatRg8ui: return "Rg8ui";
case SpvImageFormatR16ui: return "R16ui";
case SpvImageFormatR8ui: return "R8ui";
case SpvImageFormatR64ui: return "R64ui";
case SpvImageFormatR64i: return "R64i";
default: return "Unknown";
}
}
inline const char* SpvImageChannelOrderToString(SpvImageChannelOrder value) {
switch (value) {
case SpvImageChannelOrderR: return "R";
case SpvImageChannelOrderA: return "A";
case SpvImageChannelOrderRG: return "RG";
case SpvImageChannelOrderRA: return "RA";
case SpvImageChannelOrderRGB: return "RGB";
case SpvImageChannelOrderRGBA: return "RGBA";
case SpvImageChannelOrderBGRA: return "BGRA";
case SpvImageChannelOrderARGB: return "ARGB";
case SpvImageChannelOrderIntensity: return "Intensity";
case SpvImageChannelOrderLuminance: return "Luminance";
case SpvImageChannelOrderRx: return "Rx";
case SpvImageChannelOrderRGx: return "RGx";
case SpvImageChannelOrderRGBx: return "RGBx";
case SpvImageChannelOrderDepth: return "Depth";
case SpvImageChannelOrderDepthStencil: return "DepthStencil";
case SpvImageChannelOrdersRGB: return "sRGB";
case SpvImageChannelOrdersRGBx: return "sRGBx";
case SpvImageChannelOrdersRGBA: return "sRGBA";
case SpvImageChannelOrdersBGRA: return "sBGRA";
case SpvImageChannelOrderABGR: return "ABGR";
default: return "Unknown";
}
}
inline const char* SpvImageChannelDataTypeToString(SpvImageChannelDataType value) {
switch (value) {
case SpvImageChannelDataTypeSnormInt8: return "SnormInt8";
case SpvImageChannelDataTypeSnormInt16: return "SnormInt16";
case SpvImageChannelDataTypeUnormInt8: return "UnormInt8";
case SpvImageChannelDataTypeUnormInt16: return "UnormInt16";
case SpvImageChannelDataTypeUnormShort565: return "UnormShort565";
case SpvImageChannelDataTypeUnormShort555: return "UnormShort555";
case SpvImageChannelDataTypeUnormInt101010: return "UnormInt101010";
case SpvImageChannelDataTypeSignedInt8: return "SignedInt8";
case SpvImageChannelDataTypeSignedInt16: return "SignedInt16";
case SpvImageChannelDataTypeSignedInt32: return "SignedInt32";
case SpvImageChannelDataTypeUnsignedInt8: return "UnsignedInt8";
case SpvImageChannelDataTypeUnsignedInt16: return "UnsignedInt16";
case SpvImageChannelDataTypeUnsignedInt32: return "UnsignedInt32";
case SpvImageChannelDataTypeHalfFloat: return "HalfFloat";
case SpvImageChannelDataTypeFloat: return "Float";
case SpvImageChannelDataTypeUnormInt24: return "UnormInt24";
case SpvImageChannelDataTypeUnormInt101010_2: return "UnormInt101010_2";
case SpvImageChannelDataTypeUnsignedIntRaw10EXT: return "UnsignedIntRaw10EXT";
case SpvImageChannelDataTypeUnsignedIntRaw12EXT: return "UnsignedIntRaw12EXT";
case SpvImageChannelDataTypeUnormInt2_101010EXT: return "UnormInt2_101010EXT";
default: return "Unknown";
}
}
inline const char* SpvFPRoundingModeToString(SpvFPRoundingMode value) {
switch (value) {
case SpvFPRoundingModeRTE: return "RTE";
case SpvFPRoundingModeRTZ: return "RTZ";
case SpvFPRoundingModeRTP: return "RTP";
case SpvFPRoundingModeRTN: return "RTN";
default: return "Unknown";
}
}
inline const char* SpvLinkageTypeToString(SpvLinkageType value) {
switch (value) {
case SpvLinkageTypeExport: return "Export";
case SpvLinkageTypeImport: return "Import";
case SpvLinkageTypeLinkOnceODR: return "LinkOnceODR";
default: return "Unknown";
}
}
inline const char* SpvAccessQualifierToString(SpvAccessQualifier value) {
switch (value) {
case SpvAccessQualifierReadOnly: return "ReadOnly";
case SpvAccessQualifierWriteOnly: return "WriteOnly";
case SpvAccessQualifierReadWrite: return "ReadWrite";
default: return "Unknown";
}
}
inline const char* SpvFunctionParameterAttributeToString(SpvFunctionParameterAttribute value) {
switch (value) {
case SpvFunctionParameterAttributeZext: return "Zext";
case SpvFunctionParameterAttributeSext: return "Sext";
case SpvFunctionParameterAttributeByVal: return "ByVal";
case SpvFunctionParameterAttributeSret: return "Sret";
case SpvFunctionParameterAttributeNoAlias: return "NoAlias";
case SpvFunctionParameterAttributeNoCapture: return "NoCapture";
case SpvFunctionParameterAttributeNoWrite: return "NoWrite";
case SpvFunctionParameterAttributeNoReadWrite: return "NoReadWrite";
case SpvFunctionParameterAttributeRuntimeAlignedINTEL: return "RuntimeAlignedINTEL";
default: return "Unknown";
}
}
inline const char* SpvDecorationToString(SpvDecoration value) {
switch (value) {
case SpvDecorationRelaxedPrecision: return "RelaxedPrecision";
case SpvDecorationSpecId: return "SpecId";
case SpvDecorationBlock: return "Block";
case SpvDecorationBufferBlock: return "BufferBlock";
case SpvDecorationRowMajor: return "RowMajor";
case SpvDecorationColMajor: return "ColMajor";
case SpvDecorationArrayStride: return "ArrayStride";
case SpvDecorationMatrixStride: return "MatrixStride";
case SpvDecorationGLSLShared: return "GLSLShared";
case SpvDecorationGLSLPacked: return "GLSLPacked";
case SpvDecorationCPacked: return "CPacked";
case SpvDecorationBuiltIn: return "BuiltIn";
case SpvDecorationNoPerspective: return "NoPerspective";
case SpvDecorationFlat: return "Flat";
case SpvDecorationPatch: return "Patch";
case SpvDecorationCentroid: return "Centroid";
case SpvDecorationSample: return "Sample";
case SpvDecorationInvariant: return "Invariant";
case SpvDecorationRestrict: return "Restrict";
case SpvDecorationAliased: return "Aliased";
case SpvDecorationVolatile: return "Volatile";
case SpvDecorationConstant: return "Constant";
case SpvDecorationCoherent: return "Coherent";
case SpvDecorationNonWritable: return "NonWritable";
case SpvDecorationNonReadable: return "NonReadable";
case SpvDecorationUniform: return "Uniform";
case SpvDecorationUniformId: return "UniformId";
case SpvDecorationSaturatedConversion: return "SaturatedConversion";
case SpvDecorationStream: return "Stream";
case SpvDecorationLocation: return "Location";
case SpvDecorationComponent: return "Component";
case SpvDecorationIndex: return "Index";
case SpvDecorationBinding: return "Binding";
case SpvDecorationDescriptorSet: return "DescriptorSet";
case SpvDecorationOffset: return "Offset";
case SpvDecorationXfbBuffer: return "XfbBuffer";
case SpvDecorationXfbStride: return "XfbStride";
case SpvDecorationFuncParamAttr: return "FuncParamAttr";
case SpvDecorationFPRoundingMode: return "FPRoundingMode";
case SpvDecorationFPFastMathMode: return "FPFastMathMode";
case SpvDecorationLinkageAttributes: return "LinkageAttributes";
case SpvDecorationNoContraction: return "NoContraction";
case SpvDecorationInputAttachmentIndex: return "InputAttachmentIndex";
case SpvDecorationAlignment: return "Alignment";
case SpvDecorationMaxByteOffset: return "MaxByteOffset";
case SpvDecorationAlignmentId: return "AlignmentId";
case SpvDecorationMaxByteOffsetId: return "MaxByteOffsetId";
case SpvDecorationNoSignedWrap: return "NoSignedWrap";
case SpvDecorationNoUnsignedWrap: return "NoUnsignedWrap";
case SpvDecorationWeightTextureQCOM: return "WeightTextureQCOM";
case SpvDecorationBlockMatchTextureQCOM: return "BlockMatchTextureQCOM";
case SpvDecorationBlockMatchSamplerQCOM: return "BlockMatchSamplerQCOM";
case SpvDecorationExplicitInterpAMD: return "ExplicitInterpAMD";
case SpvDecorationNodeSharesPayloadLimitsWithAMDX: return "NodeSharesPayloadLimitsWithAMDX";
case SpvDecorationNodeMaxPayloadsAMDX: return "NodeMaxPayloadsAMDX";
case SpvDecorationTrackFinishWritingAMDX: return "TrackFinishWritingAMDX";
case SpvDecorationPayloadNodeNameAMDX: return "PayloadNodeNameAMDX";
case SpvDecorationOverrideCoverageNV: return "OverrideCoverageNV";
case SpvDecorationPassthroughNV: return "PassthroughNV";
case SpvDecorationViewportRelativeNV: return "ViewportRelativeNV";
case SpvDecorationSecondaryViewportRelativeNV: return "SecondaryViewportRelativeNV";
case SpvDecorationPerPrimitiveEXT: return "PerPrimitiveEXT";
case SpvDecorationPerViewNV: return "PerViewNV";
case SpvDecorationPerTaskNV: return "PerTaskNV";
case SpvDecorationPerVertexKHR: return "PerVertexKHR";
case SpvDecorationNonUniform: return "NonUniform";
case SpvDecorationRestrictPointer: return "RestrictPointer";
case SpvDecorationAliasedPointer: return "AliasedPointer";
case SpvDecorationHitObjectShaderRecordBufferNV: return "HitObjectShaderRecordBufferNV";
case SpvDecorationBindlessSamplerNV: return "BindlessSamplerNV";
case SpvDecorationBindlessImageNV: return "BindlessImageNV";
case SpvDecorationBoundSamplerNV: return "BoundSamplerNV";
case SpvDecorationBoundImageNV: return "BoundImageNV";
case SpvDecorationSIMTCallINTEL: return "SIMTCallINTEL";
case SpvDecorationReferencedIndirectlyINTEL: return "ReferencedIndirectlyINTEL";
case SpvDecorationClobberINTEL: return "ClobberINTEL";
case SpvDecorationSideEffectsINTEL: return "SideEffectsINTEL";
case SpvDecorationVectorComputeVariableINTEL: return "VectorComputeVariableINTEL";
case SpvDecorationFuncParamIOKindINTEL: return "FuncParamIOKindINTEL";
case SpvDecorationVectorComputeFunctionINTEL: return "VectorComputeFunctionINTEL";
case SpvDecorationStackCallINTEL: return "StackCallINTEL";
case SpvDecorationGlobalVariableOffsetINTEL: return "GlobalVariableOffsetINTEL";
case SpvDecorationCounterBuffer: return "CounterBuffer";
case SpvDecorationHlslSemanticGOOGLE: return "HlslSemanticGOOGLE";
case SpvDecorationUserTypeGOOGLE: return "UserTypeGOOGLE";
case SpvDecorationFunctionRoundingModeINTEL: return "FunctionRoundingModeINTEL";
case SpvDecorationFunctionDenormModeINTEL: return "FunctionDenormModeINTEL";
case SpvDecorationRegisterINTEL: return "RegisterINTEL";
case SpvDecorationMemoryINTEL: return "MemoryINTEL";
case SpvDecorationNumbanksINTEL: return "NumbanksINTEL";
case SpvDecorationBankwidthINTEL: return "BankwidthINTEL";
case SpvDecorationMaxPrivateCopiesINTEL: return "MaxPrivateCopiesINTEL";
case SpvDecorationSinglepumpINTEL: return "SinglepumpINTEL";
case SpvDecorationDoublepumpINTEL: return "DoublepumpINTEL";
case SpvDecorationMaxReplicatesINTEL: return "MaxReplicatesINTEL";
case SpvDecorationSimpleDualPortINTEL: return "SimpleDualPortINTEL";
case SpvDecorationMergeINTEL: return "MergeINTEL";
case SpvDecorationBankBitsINTEL: return "BankBitsINTEL";
case SpvDecorationForcePow2DepthINTEL: return "ForcePow2DepthINTEL";
case SpvDecorationStridesizeINTEL: return "StridesizeINTEL";
case SpvDecorationWordsizeINTEL: return "WordsizeINTEL";
case SpvDecorationTrueDualPortINTEL: return "TrueDualPortINTEL";
case SpvDecorationBurstCoalesceINTEL: return "BurstCoalesceINTEL";
case SpvDecorationCacheSizeINTEL: return "CacheSizeINTEL";
case SpvDecorationDontStaticallyCoalesceINTEL: return "DontStaticallyCoalesceINTEL";
case SpvDecorationPrefetchINTEL: return "PrefetchINTEL";
case SpvDecorationStallEnableINTEL: return "StallEnableINTEL";
case SpvDecorationFuseLoopsInFunctionINTEL: return "FuseLoopsInFunctionINTEL";
case SpvDecorationMathOpDSPModeINTEL: return "MathOpDSPModeINTEL";
case SpvDecorationAliasScopeINTEL: return "AliasScopeINTEL";
case SpvDecorationNoAliasINTEL: return "NoAliasINTEL";
case SpvDecorationInitiationIntervalINTEL: return "InitiationIntervalINTEL";
case SpvDecorationMaxConcurrencyINTEL: return "MaxConcurrencyINTEL";
case SpvDecorationPipelineEnableINTEL: return "PipelineEnableINTEL";
case SpvDecorationBufferLocationINTEL: return "BufferLocationINTEL";
case SpvDecorationIOPipeStorageINTEL: return "IOPipeStorageINTEL";
case SpvDecorationFunctionFloatingPointModeINTEL: return "FunctionFloatingPointModeINTEL";
case SpvDecorationSingleElementVectorINTEL: return "SingleElementVectorINTEL";
case SpvDecorationVectorComputeCallableFunctionINTEL: return "VectorComputeCallableFunctionINTEL";
case SpvDecorationMediaBlockIOINTEL: return "MediaBlockIOINTEL";
case SpvDecorationStallFreeINTEL: return "StallFreeINTEL";
case SpvDecorationFPMaxErrorDecorationINTEL: return "FPMaxErrorDecorationINTEL";
case SpvDecorationLatencyControlLabelINTEL: return "LatencyControlLabelINTEL";
case SpvDecorationLatencyControlConstraintINTEL: return "LatencyControlConstraintINTEL";
case SpvDecorationConduitKernelArgumentINTEL: return "ConduitKernelArgumentINTEL";
case SpvDecorationRegisterMapKernelArgumentINTEL: return "RegisterMapKernelArgumentINTEL";
case SpvDecorationMMHostInterfaceAddressWidthINTEL: return "MMHostInterfaceAddressWidthINTEL";
case SpvDecorationMMHostInterfaceDataWidthINTEL: return "MMHostInterfaceDataWidthINTEL";
case SpvDecorationMMHostInterfaceLatencyINTEL: return "MMHostInterfaceLatencyINTEL";
case SpvDecorationMMHostInterfaceReadWriteModeINTEL: return "MMHostInterfaceReadWriteModeINTEL";
case SpvDecorationMMHostInterfaceMaxBurstINTEL: return "MMHostInterfaceMaxBurstINTEL";
case SpvDecorationMMHostInterfaceWaitRequestINTEL: return "MMHostInterfaceWaitRequestINTEL";
case SpvDecorationStableKernelArgumentINTEL: return "StableKernelArgumentINTEL";
case SpvDecorationHostAccessINTEL: return "HostAccessINTEL";
case SpvDecorationInitModeINTEL: return "InitModeINTEL";
case SpvDecorationImplementInRegisterMapINTEL: return "ImplementInRegisterMapINTEL";
case SpvDecorationCacheControlLoadINTEL: return "CacheControlLoadINTEL";
case SpvDecorationCacheControlStoreINTEL: return "CacheControlStoreINTEL";
default: return "Unknown";
}
}
inline const char* SpvBuiltInToString(SpvBuiltIn value) {
switch (value) {
case SpvBuiltInPosition: return "Position";
case SpvBuiltInPointSize: return "PointSize";
case SpvBuiltInClipDistance: return "ClipDistance";
case SpvBuiltInCullDistance: return "CullDistance";
case SpvBuiltInVertexId: return "VertexId";
case SpvBuiltInInstanceId: return "InstanceId";
case SpvBuiltInPrimitiveId: return "PrimitiveId";
case SpvBuiltInInvocationId: return "InvocationId";
case SpvBuiltInLayer: return "Layer";
case SpvBuiltInViewportIndex: return "ViewportIndex";
case SpvBuiltInTessLevelOuter: return "TessLevelOuter";
case SpvBuiltInTessLevelInner: return "TessLevelInner";
case SpvBuiltInTessCoord: return "TessCoord";
case SpvBuiltInPatchVertices: return "PatchVertices";
case SpvBuiltInFragCoord: return "FragCoord";
case SpvBuiltInPointCoord: return "PointCoord";
case SpvBuiltInFrontFacing: return "FrontFacing";
case SpvBuiltInSampleId: return "SampleId";
case SpvBuiltInSamplePosition: return "SamplePosition";
case SpvBuiltInSampleMask: return "SampleMask";
case SpvBuiltInFragDepth: return "FragDepth";
case SpvBuiltInHelperInvocation: return "HelperInvocation";
case SpvBuiltInNumWorkgroups: return "NumWorkgroups";
case SpvBuiltInWorkgroupSize: return "WorkgroupSize";
case SpvBuiltInWorkgroupId: return "WorkgroupId";
case SpvBuiltInLocalInvocationId: return "LocalInvocationId";
case SpvBuiltInGlobalInvocationId: return "GlobalInvocationId";
case SpvBuiltInLocalInvocationIndex: return "LocalInvocationIndex";
case SpvBuiltInWorkDim: return "WorkDim";
case SpvBuiltInGlobalSize: return "GlobalSize";
case SpvBuiltInEnqueuedWorkgroupSize: return "EnqueuedWorkgroupSize";
case SpvBuiltInGlobalOffset: return "GlobalOffset";
case SpvBuiltInGlobalLinearId: return "GlobalLinearId";
case SpvBuiltInSubgroupSize: return "SubgroupSize";
case SpvBuiltInSubgroupMaxSize: return "SubgroupMaxSize";
case SpvBuiltInNumSubgroups: return "NumSubgroups";
case SpvBuiltInNumEnqueuedSubgroups: return "NumEnqueuedSubgroups";
case SpvBuiltInSubgroupId: return "SubgroupId";
case SpvBuiltInSubgroupLocalInvocationId: return "SubgroupLocalInvocationId";
case SpvBuiltInVertexIndex: return "VertexIndex";
case SpvBuiltInInstanceIndex: return "InstanceIndex";
case SpvBuiltInCoreIDARM: return "CoreIDARM";
case SpvBuiltInCoreCountARM: return "CoreCountARM";
case SpvBuiltInCoreMaxIDARM: return "CoreMaxIDARM";
case SpvBuiltInWarpIDARM: return "WarpIDARM";
case SpvBuiltInWarpMaxIDARM: return "WarpMaxIDARM";
case SpvBuiltInSubgroupEqMask: return "SubgroupEqMask";
case SpvBuiltInSubgroupGeMask: return "SubgroupGeMask";
case SpvBuiltInSubgroupGtMask: return "SubgroupGtMask";
case SpvBuiltInSubgroupLeMask: return "SubgroupLeMask";
case SpvBuiltInSubgroupLtMask: return "SubgroupLtMask";
case SpvBuiltInBaseVertex: return "BaseVertex";
case SpvBuiltInBaseInstance: return "BaseInstance";
case SpvBuiltInDrawIndex: return "DrawIndex";
case SpvBuiltInPrimitiveShadingRateKHR: return "PrimitiveShadingRateKHR";
case SpvBuiltInDeviceIndex: return "DeviceIndex";
case SpvBuiltInViewIndex: return "ViewIndex";
case SpvBuiltInShadingRateKHR: return "ShadingRateKHR";
case SpvBuiltInBaryCoordNoPerspAMD: return "BaryCoordNoPerspAMD";
case SpvBuiltInBaryCoordNoPerspCentroidAMD: return "BaryCoordNoPerspCentroidAMD";
case SpvBuiltInBaryCoordNoPerspSampleAMD: return "BaryCoordNoPerspSampleAMD";
case SpvBuiltInBaryCoordSmoothAMD: return "BaryCoordSmoothAMD";
case SpvBuiltInBaryCoordSmoothCentroidAMD: return "BaryCoordSmoothCentroidAMD";
case SpvBuiltInBaryCoordSmoothSampleAMD: return "BaryCoordSmoothSampleAMD";
case SpvBuiltInBaryCoordPullModelAMD: return "BaryCoordPullModelAMD";
case SpvBuiltInFragStencilRefEXT: return "FragStencilRefEXT";
case SpvBuiltInCoalescedInputCountAMDX: return "CoalescedInputCountAMDX";
case SpvBuiltInShaderIndexAMDX: return "ShaderIndexAMDX";
case SpvBuiltInViewportMaskNV: return "ViewportMaskNV";
case SpvBuiltInSecondaryPositionNV: return "SecondaryPositionNV";
case SpvBuiltInSecondaryViewportMaskNV: return "SecondaryViewportMaskNV";
case SpvBuiltInPositionPerViewNV: return "PositionPerViewNV";
case SpvBuiltInViewportMaskPerViewNV: return "ViewportMaskPerViewNV";
case SpvBuiltInFullyCoveredEXT: return "FullyCoveredEXT";
case SpvBuiltInTaskCountNV: return "TaskCountNV";
case SpvBuiltInPrimitiveCountNV: return "PrimitiveCountNV";
case SpvBuiltInPrimitiveIndicesNV: return "PrimitiveIndicesNV";
case SpvBuiltInClipDistancePerViewNV: return "ClipDistancePerViewNV";
case SpvBuiltInCullDistancePerViewNV: return "CullDistancePerViewNV";
case SpvBuiltInLayerPerViewNV: return "LayerPerViewNV";
case SpvBuiltInMeshViewCountNV: return "MeshViewCountNV";
case SpvBuiltInMeshViewIndicesNV: return "MeshViewIndicesNV";
case SpvBuiltInBaryCoordKHR: return "BaryCoordKHR";
case SpvBuiltInBaryCoordNoPerspKHR: return "BaryCoordNoPerspKHR";
case SpvBuiltInFragSizeEXT: return "FragSizeEXT";
case SpvBuiltInFragInvocationCountEXT: return "FragInvocationCountEXT";
case SpvBuiltInPrimitivePointIndicesEXT: return "PrimitivePointIndicesEXT";
case SpvBuiltInPrimitiveLineIndicesEXT: return "PrimitiveLineIndicesEXT";
case SpvBuiltInPrimitiveTriangleIndicesEXT: return "PrimitiveTriangleIndicesEXT";
case SpvBuiltInCullPrimitiveEXT: return "CullPrimitiveEXT";
case SpvBuiltInLaunchIdKHR: return "LaunchIdKHR";
case SpvBuiltInLaunchSizeKHR: return "LaunchSizeKHR";
case SpvBuiltInWorldRayOriginKHR: return "WorldRayOriginKHR";
case SpvBuiltInWorldRayDirectionKHR: return "WorldRayDirectionKHR";
case SpvBuiltInObjectRayOriginKHR: return "ObjectRayOriginKHR";
case SpvBuiltInObjectRayDirectionKHR: return "ObjectRayDirectionKHR";
case SpvBuiltInRayTminKHR: return "RayTminKHR";
case SpvBuiltInRayTmaxKHR: return "RayTmaxKHR";
case SpvBuiltInInstanceCustomIndexKHR: return "InstanceCustomIndexKHR";
case SpvBuiltInObjectToWorldKHR: return "ObjectToWorldKHR";
case SpvBuiltInWorldToObjectKHR: return "WorldToObjectKHR";
case SpvBuiltInHitTNV: return "HitTNV";
case SpvBuiltInHitKindKHR: return "HitKindKHR";
case SpvBuiltInCurrentRayTimeNV: return "CurrentRayTimeNV";
case SpvBuiltInHitTriangleVertexPositionsKHR: return "HitTriangleVertexPositionsKHR";
case SpvBuiltInHitMicroTriangleVertexPositionsNV: return "HitMicroTriangleVertexPositionsNV";
case SpvBuiltInHitMicroTriangleVertexBarycentricsNV: return "HitMicroTriangleVertexBarycentricsNV";
case SpvBuiltInIncomingRayFlagsKHR: return "IncomingRayFlagsKHR";
case SpvBuiltInRayGeometryIndexKHR: return "RayGeometryIndexKHR";
case SpvBuiltInWarpsPerSMNV: return "WarpsPerSMNV";
case SpvBuiltInSMCountNV: return "SMCountNV";
case SpvBuiltInWarpIDNV: return "WarpIDNV";
case SpvBuiltInSMIDNV: return "SMIDNV";
case SpvBuiltInHitKindFrontFacingMicroTriangleNV: return "HitKindFrontFacingMicroTriangleNV";
case SpvBuiltInHitKindBackFacingMicroTriangleNV: return "HitKindBackFacingMicroTriangleNV";
case SpvBuiltInCullMaskKHR: return "CullMaskKHR";
default: return "Unknown";
}
}
inline const char* SpvScopeToString(SpvScope value) {
switch (value) {
case SpvScopeCrossDevice: return "CrossDevice";
case SpvScopeDevice: return "Device";
case SpvScopeWorkgroup: return "Workgroup";
case SpvScopeSubgroup: return "Subgroup";
case SpvScopeInvocation: return "Invocation";
case SpvScopeQueueFamily: return "QueueFamily";
case SpvScopeShaderCallKHR: return "ShaderCallKHR";
default: return "Unknown";
}
}
inline const char* SpvGroupOperationToString(SpvGroupOperation value) {
switch (value) {
case SpvGroupOperationReduce: return "Reduce";
case SpvGroupOperationInclusiveScan: return "InclusiveScan";
case SpvGroupOperationExclusiveScan: return "ExclusiveScan";
case SpvGroupOperationClusteredReduce: return "ClusteredReduce";
case SpvGroupOperationPartitionedReduceNV: return "PartitionedReduceNV";
case SpvGroupOperationPartitionedInclusiveScanNV: return "PartitionedInclusiveScanNV";
case SpvGroupOperationPartitionedExclusiveScanNV: return "PartitionedExclusiveScanNV";
default: return "Unknown";
}
}
inline const char* SpvKernelEnqueueFlagsToString(SpvKernelEnqueueFlags value) {
switch (value) {
case SpvKernelEnqueueFlagsNoWait: return "NoWait";
case SpvKernelEnqueueFlagsWaitKernel: return "WaitKernel";
case SpvKernelEnqueueFlagsWaitWorkGroup: return "WaitWorkGroup";
default: return "Unknown";
}
}
inline const char* SpvCapabilityToString(SpvCapability value) {
switch (value) {
case SpvCapabilityMatrix: return "Matrix";
case SpvCapabilityShader: return "Shader";
case SpvCapabilityGeometry: return "Geometry";
case SpvCapabilityTessellation: return "Tessellation";
case SpvCapabilityAddresses: return "Addresses";
case SpvCapabilityLinkage: return "Linkage";
case SpvCapabilityKernel: return "Kernel";
case SpvCapabilityVector16: return "Vector16";
case SpvCapabilityFloat16Buffer: return "Float16Buffer";
case SpvCapabilityFloat16: return "Float16";
case SpvCapabilityFloat64: return "Float64";
case SpvCapabilityInt64: return "Int64";
case SpvCapabilityInt64Atomics: return "Int64Atomics";
case SpvCapabilityImageBasic: return "ImageBasic";
case SpvCapabilityImageReadWrite: return "ImageReadWrite";
case SpvCapabilityImageMipmap: return "ImageMipmap";
case SpvCapabilityPipes: return "Pipes";
case SpvCapabilityGroups: return "Groups";
case SpvCapabilityDeviceEnqueue: return "DeviceEnqueue";
case SpvCapabilityLiteralSampler: return "LiteralSampler";
case SpvCapabilityAtomicStorage: return "AtomicStorage";
case SpvCapabilityInt16: return "Int16";
case SpvCapabilityTessellationPointSize: return "TessellationPointSize";
case SpvCapabilityGeometryPointSize: return "GeometryPointSize";
case SpvCapabilityImageGatherExtended: return "ImageGatherExtended";
case SpvCapabilityStorageImageMultisample: return "StorageImageMultisample";
case SpvCapabilityUniformBufferArrayDynamicIndexing: return "UniformBufferArrayDynamicIndexing";
case SpvCapabilitySampledImageArrayDynamicIndexing: return "SampledImageArrayDynamicIndexing";
case SpvCapabilityStorageBufferArrayDynamicIndexing: return "StorageBufferArrayDynamicIndexing";
case SpvCapabilityStorageImageArrayDynamicIndexing: return "StorageImageArrayDynamicIndexing";
case SpvCapabilityClipDistance: return "ClipDistance";
case SpvCapabilityCullDistance: return "CullDistance";
case SpvCapabilityImageCubeArray: return "ImageCubeArray";
case SpvCapabilitySampleRateShading: return "SampleRateShading";
case SpvCapabilityImageRect: return "ImageRect";
case SpvCapabilitySampledRect: return "SampledRect";
case SpvCapabilityGenericPointer: return "GenericPointer";
case SpvCapabilityInt8: return "Int8";
case SpvCapabilityInputAttachment: return "InputAttachment";
case SpvCapabilitySparseResidency: return "SparseResidency";
case SpvCapabilityMinLod: return "MinLod";
case SpvCapabilitySampled1D: return "Sampled1D";
case SpvCapabilityImage1D: return "Image1D";
case SpvCapabilitySampledCubeArray: return "SampledCubeArray";
case SpvCapabilitySampledBuffer: return "SampledBuffer";
case SpvCapabilityImageBuffer: return "ImageBuffer";
case SpvCapabilityImageMSArray: return "ImageMSArray";
case SpvCapabilityStorageImageExtendedFormats: return "StorageImageExtendedFormats";
case SpvCapabilityImageQuery: return "ImageQuery";
case SpvCapabilityDerivativeControl: return "DerivativeControl";
case SpvCapabilityInterpolationFunction: return "InterpolationFunction";
case SpvCapabilityTransformFeedback: return "TransformFeedback";
case SpvCapabilityGeometryStreams: return "GeometryStreams";
case SpvCapabilityStorageImageReadWithoutFormat: return "StorageImageReadWithoutFormat";
case SpvCapabilityStorageImageWriteWithoutFormat: return "StorageImageWriteWithoutFormat";
case SpvCapabilityMultiViewport: return "MultiViewport";
case SpvCapabilitySubgroupDispatch: return "SubgroupDispatch";
case SpvCapabilityNamedBarrier: return "NamedBarrier";
case SpvCapabilityPipeStorage: return "PipeStorage";
case SpvCapabilityGroupNonUniform: return "GroupNonUniform";
case SpvCapabilityGroupNonUniformVote: return "GroupNonUniformVote";
case SpvCapabilityGroupNonUniformArithmetic: return "GroupNonUniformArithmetic";
case SpvCapabilityGroupNonUniformBallot: return "GroupNonUniformBallot";
case SpvCapabilityGroupNonUniformShuffle: return "GroupNonUniformShuffle";
case SpvCapabilityGroupNonUniformShuffleRelative: return "GroupNonUniformShuffleRelative";
case SpvCapabilityGroupNonUniformClustered: return "GroupNonUniformClustered";
case SpvCapabilityGroupNonUniformQuad: return "GroupNonUniformQuad";
case SpvCapabilityShaderLayer: return "ShaderLayer";
case SpvCapabilityShaderViewportIndex: return "ShaderViewportIndex";
case SpvCapabilityUniformDecoration: return "UniformDecoration";
case SpvCapabilityCoreBuiltinsARM: return "CoreBuiltinsARM";
case SpvCapabilityTileImageColorReadAccessEXT: return "TileImageColorReadAccessEXT";
case SpvCapabilityTileImageDepthReadAccessEXT: return "TileImageDepthReadAccessEXT";
case SpvCapabilityTileImageStencilReadAccessEXT: return "TileImageStencilReadAccessEXT";
case SpvCapabilityCooperativeMatrixLayoutsARM: return "CooperativeMatrixLayoutsARM";
case SpvCapabilityFragmentShadingRateKHR: return "FragmentShadingRateKHR";
case SpvCapabilitySubgroupBallotKHR: return "SubgroupBallotKHR";
case SpvCapabilityDrawParameters: return "DrawParameters";
case SpvCapabilityWorkgroupMemoryExplicitLayoutKHR: return "WorkgroupMemoryExplicitLayoutKHR";
case SpvCapabilityWorkgroupMemoryExplicitLayout8BitAccessKHR: return "WorkgroupMemoryExplicitLayout8BitAccessKHR";
case SpvCapabilityWorkgroupMemoryExplicitLayout16BitAccessKHR: return "WorkgroupMemoryExplicitLayout16BitAccessKHR";
case SpvCapabilitySubgroupVoteKHR: return "SubgroupVoteKHR";
case SpvCapabilityStorageBuffer16BitAccess: return "StorageBuffer16BitAccess";
case SpvCapabilityStorageUniform16: return "StorageUniform16";
case SpvCapabilityStoragePushConstant16: return "StoragePushConstant16";
case SpvCapabilityStorageInputOutput16: return "StorageInputOutput16";
case SpvCapabilityDeviceGroup: return "DeviceGroup";
case SpvCapabilityMultiView: return "MultiView";
case SpvCapabilityVariablePointersStorageBuffer: return "VariablePointersStorageBuffer";
case SpvCapabilityVariablePointers: return "VariablePointers";
case SpvCapabilityAtomicStorageOps: return "AtomicStorageOps";
case SpvCapabilitySampleMaskPostDepthCoverage: return "SampleMaskPostDepthCoverage";
case SpvCapabilityStorageBuffer8BitAccess: return "StorageBuffer8BitAccess";
case SpvCapabilityUniformAndStorageBuffer8BitAccess: return "UniformAndStorageBuffer8BitAccess";
case SpvCapabilityStoragePushConstant8: return "StoragePushConstant8";
case SpvCapabilityDenormPreserve: return "DenormPreserve";
case SpvCapabilityDenormFlushToZero: return "DenormFlushToZero";
case SpvCapabilitySignedZeroInfNanPreserve: return "SignedZeroInfNanPreserve";
case SpvCapabilityRoundingModeRTE: return "RoundingModeRTE";
case SpvCapabilityRoundingModeRTZ: return "RoundingModeRTZ";
case SpvCapabilityRayQueryProvisionalKHR: return "RayQueryProvisionalKHR";
case SpvCapabilityRayQueryKHR: return "RayQueryKHR";
case SpvCapabilityUntypedPointersKHR: return "UntypedPointersKHR";
case SpvCapabilityRayTraversalPrimitiveCullingKHR: return "RayTraversalPrimitiveCullingKHR";
case SpvCapabilityRayTracingKHR: return "RayTracingKHR";
case SpvCapabilityTextureSampleWeightedQCOM: return "TextureSampleWeightedQCOM";
case SpvCapabilityTextureBoxFilterQCOM: return "TextureBoxFilterQCOM";
case SpvCapabilityTextureBlockMatchQCOM: return "TextureBlockMatchQCOM";
case SpvCapabilityTextureBlockMatch2QCOM: return "TextureBlockMatch2QCOM";
case SpvCapabilityFloat16ImageAMD: return "Float16ImageAMD";
case SpvCapabilityImageGatherBiasLodAMD: return "ImageGatherBiasLodAMD";
case SpvCapabilityFragmentMaskAMD: return "FragmentMaskAMD";
case SpvCapabilityStencilExportEXT: return "StencilExportEXT";
case SpvCapabilityImageReadWriteLodAMD: return "ImageReadWriteLodAMD";
case SpvCapabilityInt64ImageEXT: return "Int64ImageEXT";
case SpvCapabilityShaderClockKHR: return "ShaderClockKHR";
case SpvCapabilityShaderEnqueueAMDX: return "ShaderEnqueueAMDX";
case SpvCapabilityQuadControlKHR: return "QuadControlKHR";
case SpvCapabilitySampleMaskOverrideCoverageNV: return "SampleMaskOverrideCoverageNV";
case SpvCapabilityGeometryShaderPassthroughNV: return "GeometryShaderPassthroughNV";
case SpvCapabilityShaderViewportIndexLayerEXT: return "ShaderViewportIndexLayerEXT";
case SpvCapabilityShaderViewportMaskNV: return "ShaderViewportMaskNV";
case SpvCapabilityShaderStereoViewNV: return "ShaderStereoViewNV";
case SpvCapabilityPerViewAttributesNV: return "PerViewAttributesNV";
case SpvCapabilityFragmentFullyCoveredEXT: return "FragmentFullyCoveredEXT";
case SpvCapabilityMeshShadingNV: return "MeshShadingNV";
case SpvCapabilityImageFootprintNV: return "ImageFootprintNV";
case SpvCapabilityMeshShadingEXT: return "MeshShadingEXT";
case SpvCapabilityFragmentBarycentricKHR: return "FragmentBarycentricKHR";
case SpvCapabilityComputeDerivativeGroupQuadsNV: return "ComputeDerivativeGroupQuadsNV";
case SpvCapabilityFragmentDensityEXT: return "FragmentDensityEXT";
case SpvCapabilityGroupNonUniformPartitionedNV: return "GroupNonUniformPartitionedNV";
case SpvCapabilityShaderNonUniform: return "ShaderNonUniform";
case SpvCapabilityRuntimeDescriptorArray: return "RuntimeDescriptorArray";
case SpvCapabilityInputAttachmentArrayDynamicIndexing: return "InputAttachmentArrayDynamicIndexing";
case SpvCapabilityUniformTexelBufferArrayDynamicIndexing: return "UniformTexelBufferArrayDynamicIndexing";
case SpvCapabilityStorageTexelBufferArrayDynamicIndexing: return "StorageTexelBufferArrayDynamicIndexing";
case SpvCapabilityUniformBufferArrayNonUniformIndexing: return "UniformBufferArrayNonUniformIndexing";
case SpvCapabilitySampledImageArrayNonUniformIndexing: return "SampledImageArrayNonUniformIndexing";
case SpvCapabilityStorageBufferArrayNonUniformIndexing: return "StorageBufferArrayNonUniformIndexing";
case SpvCapabilityStorageImageArrayNonUniformIndexing: return "StorageImageArrayNonUniformIndexing";
case SpvCapabilityInputAttachmentArrayNonUniformIndexing: return "InputAttachmentArrayNonUniformIndexing";
case SpvCapabilityUniformTexelBufferArrayNonUniformIndexing: return "UniformTexelBufferArrayNonUniformIndexing";
case SpvCapabilityStorageTexelBufferArrayNonUniformIndexing: return "StorageTexelBufferArrayNonUniformIndexing";
case SpvCapabilityRayTracingPositionFetchKHR: return "RayTracingPositionFetchKHR";
case SpvCapabilityRayTracingNV: return "RayTracingNV";
case SpvCapabilityRayTracingMotionBlurNV: return "RayTracingMotionBlurNV";
case SpvCapabilityVulkanMemoryModel: return "VulkanMemoryModel";
case SpvCapabilityVulkanMemoryModelDeviceScope: return "VulkanMemoryModelDeviceScope";
case SpvCapabilityPhysicalStorageBufferAddresses: return "PhysicalStorageBufferAddresses";
case SpvCapabilityComputeDerivativeGroupLinearNV: return "ComputeDerivativeGroupLinearNV";
case SpvCapabilityRayTracingProvisionalKHR: return "RayTracingProvisionalKHR";
case SpvCapabilityCooperativeMatrixNV: return "CooperativeMatrixNV";
case SpvCapabilityFragmentShaderSampleInterlockEXT: return "FragmentShaderSampleInterlockEXT";
case SpvCapabilityFragmentShaderShadingRateInterlockEXT: return "FragmentShaderShadingRateInterlockEXT";
case SpvCapabilityShaderSMBuiltinsNV: return "ShaderSMBuiltinsNV";
case SpvCapabilityFragmentShaderPixelInterlockEXT: return "FragmentShaderPixelInterlockEXT";
case SpvCapabilityDemoteToHelperInvocation: return "DemoteToHelperInvocation";
case SpvCapabilityDisplacementMicromapNV: return "DisplacementMicromapNV";
case SpvCapabilityRayTracingOpacityMicromapEXT: return "RayTracingOpacityMicromapEXT";
case SpvCapabilityShaderInvocationReorderNV: return "ShaderInvocationReorderNV";
case SpvCapabilityBindlessTextureNV: return "BindlessTextureNV";
case SpvCapabilityRayQueryPositionFetchKHR: return "RayQueryPositionFetchKHR";
case SpvCapabilityAtomicFloat16VectorNV: return "AtomicFloat16VectorNV";
case SpvCapabilityRayTracingDisplacementMicromapNV: return "RayTracingDisplacementMicromapNV";
case SpvCapabilityRawAccessChainsNV: return "RawAccessChainsNV";
case SpvCapabilitySubgroupShuffleINTEL: return "SubgroupShuffleINTEL";
case SpvCapabilitySubgroupBufferBlockIOINTEL: return "SubgroupBufferBlockIOINTEL";
case SpvCapabilitySubgroupImageBlockIOINTEL: return "SubgroupImageBlockIOINTEL";
case SpvCapabilitySubgroupImageMediaBlockIOINTEL: return "SubgroupImageMediaBlockIOINTEL";
case SpvCapabilityRoundToInfinityINTEL: return "RoundToInfinityINTEL";
case SpvCapabilityFloatingPointModeINTEL: return "FloatingPointModeINTEL";
case SpvCapabilityIntegerFunctions2INTEL: return "IntegerFunctions2INTEL";
case SpvCapabilityFunctionPointersINTEL: return "FunctionPointersINTEL";
case SpvCapabilityIndirectReferencesINTEL: return "IndirectReferencesINTEL";
case SpvCapabilityAsmINTEL: return "AsmINTEL";
case SpvCapabilityAtomicFloat32MinMaxEXT: return "AtomicFloat32MinMaxEXT";
case SpvCapabilityAtomicFloat64MinMaxEXT: return "AtomicFloat64MinMaxEXT";
case SpvCapabilityAtomicFloat16MinMaxEXT: return "AtomicFloat16MinMaxEXT";
case SpvCapabilityVectorComputeINTEL: return "VectorComputeINTEL";
case SpvCapabilityVectorAnyINTEL: return "VectorAnyINTEL";
case SpvCapabilityExpectAssumeKHR: return "ExpectAssumeKHR";
case SpvCapabilitySubgroupAvcMotionEstimationINTEL: return "SubgroupAvcMotionEstimationINTEL";
case SpvCapabilitySubgroupAvcMotionEstimationIntraINTEL: return "SubgroupAvcMotionEstimationIntraINTEL";
case SpvCapabilitySubgroupAvcMotionEstimationChromaINTEL: return "SubgroupAvcMotionEstimationChromaINTEL";
case SpvCapabilityVariableLengthArrayINTEL: return "VariableLengthArrayINTEL";
case SpvCapabilityFunctionFloatControlINTEL: return "FunctionFloatControlINTEL";
case SpvCapabilityFPGAMemoryAttributesINTEL: return "FPGAMemoryAttributesINTEL";
case SpvCapabilityFPFastMathModeINTEL: return "FPFastMathModeINTEL";
case SpvCapabilityArbitraryPrecisionIntegersINTEL: return "ArbitraryPrecisionIntegersINTEL";
case SpvCapabilityArbitraryPrecisionFloatingPointINTEL: return "ArbitraryPrecisionFloatingPointINTEL";
case SpvCapabilityUnstructuredLoopControlsINTEL: return "UnstructuredLoopControlsINTEL";
case SpvCapabilityFPGALoopControlsINTEL: return "FPGALoopControlsINTEL";
case SpvCapabilityKernelAttributesINTEL: return "KernelAttributesINTEL";
case SpvCapabilityFPGAKernelAttributesINTEL: return "FPGAKernelAttributesINTEL";
case SpvCapabilityFPGAMemoryAccessesINTEL: return "FPGAMemoryAccessesINTEL";
case SpvCapabilityFPGAClusterAttributesINTEL: return "FPGAClusterAttributesINTEL";
case SpvCapabilityLoopFuseINTEL: return "LoopFuseINTEL";
case SpvCapabilityFPGADSPControlINTEL: return "FPGADSPControlINTEL";
case SpvCapabilityMemoryAccessAliasingINTEL: return "MemoryAccessAliasingINTEL";
case SpvCapabilityFPGAInvocationPipeliningAttributesINTEL: return "FPGAInvocationPipeliningAttributesINTEL";
case SpvCapabilityFPGABufferLocationINTEL: return "FPGABufferLocationINTEL";
case SpvCapabilityArbitraryPrecisionFixedPointINTEL: return "ArbitraryPrecisionFixedPointINTEL";
case SpvCapabilityUSMStorageClassesINTEL: return "USMStorageClassesINTEL";
case SpvCapabilityRuntimeAlignedAttributeINTEL: return "RuntimeAlignedAttributeINTEL";
case SpvCapabilityIOPipesINTEL: return "IOPipesINTEL";
case SpvCapabilityBlockingPipesINTEL: return "BlockingPipesINTEL";
case SpvCapabilityFPGARegINTEL: return "FPGARegINTEL";
case SpvCapabilityDotProductInputAll: return "DotProductInputAll";
case SpvCapabilityDotProductInput4x8Bit: return "DotProductInput4x8Bit";
case SpvCapabilityDotProductInput4x8BitPacked: return "DotProductInput4x8BitPacked";
case SpvCapabilityDotProduct: return "DotProduct";
case SpvCapabilityRayCullMaskKHR: return "RayCullMaskKHR";
case SpvCapabilityCooperativeMatrixKHR: return "CooperativeMatrixKHR";
case SpvCapabilityReplicatedCompositesEXT: return "ReplicatedCompositesEXT";
case SpvCapabilityBitInstructions: return "BitInstructions";
case SpvCapabilityGroupNonUniformRotateKHR: return "GroupNonUniformRotateKHR";
case SpvCapabilityFloatControls2: return "FloatControls2";
case SpvCapabilityAtomicFloat32AddEXT: return "AtomicFloat32AddEXT";
case SpvCapabilityAtomicFloat64AddEXT: return "AtomicFloat64AddEXT";
case SpvCapabilityLongCompositesINTEL: return "LongCompositesINTEL";
case SpvCapabilityOptNoneINTEL: return "OptNoneINTEL";
case SpvCapabilityAtomicFloat16AddEXT: return "AtomicFloat16AddEXT";
case SpvCapabilityDebugInfoModuleINTEL: return "DebugInfoModuleINTEL";
case SpvCapabilityBFloat16ConversionINTEL: return "BFloat16ConversionINTEL";
case SpvCapabilitySplitBarrierINTEL: return "SplitBarrierINTEL";
case SpvCapabilityFPGAClusterAttributesV2INTEL: return "FPGAClusterAttributesV2INTEL";
case SpvCapabilityFPGAKernelAttributesv2INTEL: return "FPGAKernelAttributesv2INTEL";
case SpvCapabilityFPMaxErrorINTEL: return "FPMaxErrorINTEL";
case SpvCapabilityFPGALatencyControlINTEL: return "FPGALatencyControlINTEL";
case SpvCapabilityFPGAArgumentInterfacesINTEL: return "FPGAArgumentInterfacesINTEL";
case SpvCapabilityGlobalVariableHostAccessINTEL: return "GlobalVariableHostAccessINTEL";
case SpvCapabilityGlobalVariableFPGADecorationsINTEL: return "GlobalVariableFPGADecorationsINTEL";
case SpvCapabilitySubgroupBufferPrefetchINTEL: return "SubgroupBufferPrefetchINTEL";
case SpvCapabilityGroupUniformArithmeticKHR: return "GroupUniformArithmeticKHR";
case SpvCapabilityMaskedGatherScatterINTEL: return "MaskedGatherScatterINTEL";
case SpvCapabilityCacheControlsINTEL: return "CacheControlsINTEL";
case SpvCapabilityRegisterLimitsINTEL: return "RegisterLimitsINTEL";
default: return "Unknown";
}
}
inline const char* SpvRayQueryIntersectionToString(SpvRayQueryIntersection value) {
switch (value) {
case SpvRayQueryIntersectionRayQueryCandidateIntersectionKHR: return "RayQueryCandidateIntersectionKHR";
case SpvRayQueryIntersectionRayQueryCommittedIntersectionKHR: return "RayQueryCommittedIntersectionKHR";
default: return "Unknown";
}
}
inline const char* SpvRayQueryCommittedIntersectionTypeToString(SpvRayQueryCommittedIntersectionType value) {
switch (value) {
case SpvRayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionNoneKHR: return "RayQueryCommittedIntersectionNoneKHR";
case SpvRayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionTriangleKHR: return "RayQueryCommittedIntersectionTriangleKHR";
case SpvRayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionGeneratedKHR: return "RayQueryCommittedIntersectionGeneratedKHR";
default: return "Unknown";
}
}
inline const char* SpvRayQueryCandidateIntersectionTypeToString(SpvRayQueryCandidateIntersectionType value) {
switch (value) {
case SpvRayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionTriangleKHR: return "RayQueryCandidateIntersectionTriangleKHR";
case SpvRayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionAABBKHR: return "RayQueryCandidateIntersectionAABBKHR";
default: return "Unknown";
}
}
inline const char* SpvFPDenormModeToString(SpvFPDenormMode value) {
switch (value) {
case SpvFPDenormModePreserve: return "Preserve";
case SpvFPDenormModeFlushToZero: return "FlushToZero";
default: return "Unknown";
}
}
inline const char* SpvFPOperationModeToString(SpvFPOperationMode value) {
switch (value) {
case SpvFPOperationModeIEEE: return "IEEE";
case SpvFPOperationModeALT: return "ALT";
default: return "Unknown";
}
}
inline const char* SpvQuantizationModesToString(SpvQuantizationModes value) {
switch (value) {
case SpvQuantizationModesTRN: return "TRN";
case SpvQuantizationModesTRN_ZERO: return "TRN_ZERO";
case SpvQuantizationModesRND: return "RND";
case SpvQuantizationModesRND_ZERO: return "RND_ZERO";
case SpvQuantizationModesRND_INF: return "RND_INF";
case SpvQuantizationModesRND_MIN_INF: return "RND_MIN_INF";
case SpvQuantizationModesRND_CONV: return "RND_CONV";
case SpvQuantizationModesRND_CONV_ODD: return "RND_CONV_ODD";
default: return "Unknown";
}
}
inline const char* SpvOverflowModesToString(SpvOverflowModes value) {
switch (value) {
case SpvOverflowModesWRAP: return "WRAP";
case SpvOverflowModesSAT: return "SAT";
case SpvOverflowModesSAT_ZERO: return "SAT_ZERO";
case SpvOverflowModesSAT_SYM: return "SAT_SYM";
default: return "Unknown";
}
}
inline const char* SpvPackedVectorFormatToString(SpvPackedVectorFormat value) {
switch (value) {
case SpvPackedVectorFormatPackedVectorFormat4x8Bit: return "PackedVectorFormat4x8Bit";
default: return "Unknown";
}
}
inline const char* SpvCooperativeMatrixLayoutToString(SpvCooperativeMatrixLayout value) {
switch (value) {
case SpvCooperativeMatrixLayoutRowMajorKHR: return "RowMajorKHR";
case SpvCooperativeMatrixLayoutColumnMajorKHR: return "ColumnMajorKHR";
case SpvCooperativeMatrixLayoutRowBlockedInterleavedARM: return "RowBlockedInterleavedARM";
case SpvCooperativeMatrixLayoutColumnBlockedInterleavedARM: return "ColumnBlockedInterleavedARM";
default: return "Unknown";
}
}
inline const char* SpvCooperativeMatrixUseToString(SpvCooperativeMatrixUse value) {
switch (value) {
case SpvCooperativeMatrixUseMatrixAKHR: return "MatrixAKHR";
case SpvCooperativeMatrixUseMatrixBKHR: return "MatrixBKHR";
case SpvCooperativeMatrixUseMatrixAccumulatorKHR: return "MatrixAccumulatorKHR";
default: return "Unknown";
}
}
inline const char* SpvInitializationModeQualifierToString(SpvInitializationModeQualifier value) {
switch (value) {
case SpvInitializationModeQualifierInitOnDeviceReprogramINTEL: return "InitOnDeviceReprogramINTEL";
case SpvInitializationModeQualifierInitOnDeviceResetINTEL: return "InitOnDeviceResetINTEL";
default: return "Unknown";
}
}
inline const char* SpvHostAccessQualifierToString(SpvHostAccessQualifier value) {
switch (value) {
case SpvHostAccessQualifierNoneINTEL: return "NoneINTEL";
case SpvHostAccessQualifierReadINTEL: return "ReadINTEL";
case SpvHostAccessQualifierWriteINTEL: return "WriteINTEL";
case SpvHostAccessQualifierReadWriteINTEL: return "ReadWriteINTEL";
default: return "Unknown";
}
}
inline const char* SpvLoadCacheControlToString(SpvLoadCacheControl value) {
switch (value) {
case SpvLoadCacheControlUncachedINTEL: return "UncachedINTEL";
case SpvLoadCacheControlCachedINTEL: return "CachedINTEL";
case SpvLoadCacheControlStreamingINTEL: return "StreamingINTEL";
case SpvLoadCacheControlInvalidateAfterReadINTEL: return "InvalidateAfterReadINTEL";
case SpvLoadCacheControlConstCachedINTEL: return "ConstCachedINTEL";
default: return "Unknown";
}
}
inline const char* SpvStoreCacheControlToString(SpvStoreCacheControl value) {
switch (value) {
case SpvStoreCacheControlUncachedINTEL: return "UncachedINTEL";
case SpvStoreCacheControlWriteThroughINTEL: return "WriteThroughINTEL";
case SpvStoreCacheControlWriteBackINTEL: return "WriteBackINTEL";
case SpvStoreCacheControlStreamingINTEL: return "StreamingINTEL";
default: return "Unknown";
}
}
inline const char* SpvNamedMaximumNumberOfRegistersToString(SpvNamedMaximumNumberOfRegisters value) {
switch (value) {
case SpvNamedMaximumNumberOfRegistersAutoINTEL: return "AutoINTEL";
default: return "Unknown";
}
}
inline const char* SpvFPEncodingToString(SpvFPEncoding value) {
switch (value) {
default: return "Unknown";
}
}
inline const char* SpvOpToString(SpvOp value) {
switch (value) {
case SpvOpNop: return "OpNop";
case SpvOpUndef: return "OpUndef";
case SpvOpSourceContinued: return "OpSourceContinued";
case SpvOpSource: return "OpSource";
case SpvOpSourceExtension: return "OpSourceExtension";
case SpvOpName: return "OpName";
case SpvOpMemberName: return "OpMemberName";
case SpvOpString: return "OpString";
case SpvOpLine: return "OpLine";
case SpvOpExtension: return "OpExtension";
case SpvOpExtInstImport: return "OpExtInstImport";
case SpvOpExtInst: return "OpExtInst";
case SpvOpMemoryModel: return "OpMemoryModel";
case SpvOpEntryPoint: return "OpEntryPoint";
case SpvOpExecutionMode: return "OpExecutionMode";
case SpvOpCapability: return "OpCapability";
case SpvOpTypeVoid: return "OpTypeVoid";
case SpvOpTypeBool: return "OpTypeBool";
case SpvOpTypeInt: return "OpTypeInt";
case SpvOpTypeFloat: return "OpTypeFloat";
case SpvOpTypeVector: return "OpTypeVector";
case SpvOpTypeMatrix: return "OpTypeMatrix";
case SpvOpTypeImage: return "OpTypeImage";
case SpvOpTypeSampler: return "OpTypeSampler";
case SpvOpTypeSampledImage: return "OpTypeSampledImage";
case SpvOpTypeArray: return "OpTypeArray";
case SpvOpTypeRuntimeArray: return "OpTypeRuntimeArray";
case SpvOpTypeStruct: return "OpTypeStruct";
case SpvOpTypeOpaque: return "OpTypeOpaque";
case SpvOpTypePointer: return "OpTypePointer";
case SpvOpTypeFunction: return "OpTypeFunction";
case SpvOpTypeEvent: return "OpTypeEvent";
case SpvOpTypeDeviceEvent: return "OpTypeDeviceEvent";
case SpvOpTypeReserveId: return "OpTypeReserveId";
case SpvOpTypeQueue: return "OpTypeQueue";
case SpvOpTypePipe: return "OpTypePipe";
case SpvOpTypeForwardPointer: return "OpTypeForwardPointer";
case SpvOpConstantTrue: return "OpConstantTrue";
case SpvOpConstantFalse: return "OpConstantFalse";
case SpvOpConstant: return "OpConstant";
case SpvOpConstantComposite: return "OpConstantComposite";
case SpvOpConstantSampler: return "OpConstantSampler";
case SpvOpConstantNull: return "OpConstantNull";
case SpvOpSpecConstantTrue: return "OpSpecConstantTrue";
case SpvOpSpecConstantFalse: return "OpSpecConstantFalse";
case SpvOpSpecConstant: return "OpSpecConstant";
case SpvOpSpecConstantComposite: return "OpSpecConstantComposite";
case SpvOpSpecConstantOp: return "OpSpecConstantOp";
case SpvOpFunction: return "OpFunction";
case SpvOpFunctionParameter: return "OpFunctionParameter";
case SpvOpFunctionEnd: return "OpFunctionEnd";
case SpvOpFunctionCall: return "OpFunctionCall";
case SpvOpVariable: return "OpVariable";
case SpvOpImageTexelPointer: return "OpImageTexelPointer";
case SpvOpLoad: return "OpLoad";
case SpvOpStore: return "OpStore";
case SpvOpCopyMemory: return "OpCopyMemory";
case SpvOpCopyMemorySized: return "OpCopyMemorySized";
case SpvOpAccessChain: return "OpAccessChain";
case SpvOpInBoundsAccessChain: return "OpInBoundsAccessChain";
case SpvOpPtrAccessChain: return "OpPtrAccessChain";
case SpvOpArrayLength: return "OpArrayLength";
case SpvOpGenericPtrMemSemantics: return "OpGenericPtrMemSemantics";
case SpvOpInBoundsPtrAccessChain: return "OpInBoundsPtrAccessChain";
case SpvOpDecorate: return "OpDecorate";
case SpvOpMemberDecorate: return "OpMemberDecorate";
case SpvOpDecorationGroup: return "OpDecorationGroup";
case SpvOpGroupDecorate: return "OpGroupDecorate";
case SpvOpGroupMemberDecorate: return "OpGroupMemberDecorate";
case SpvOpVectorExtractDynamic: return "OpVectorExtractDynamic";
case SpvOpVectorInsertDynamic: return "OpVectorInsertDynamic";
case SpvOpVectorShuffle: return "OpVectorShuffle";
case SpvOpCompositeConstruct: return "OpCompositeConstruct";
case SpvOpCompositeExtract: return "OpCompositeExtract";
case SpvOpCompositeInsert: return "OpCompositeInsert";
case SpvOpCopyObject: return "OpCopyObject";
case SpvOpTranspose: return "OpTranspose";
case SpvOpSampledImage: return "OpSampledImage";
case SpvOpImageSampleImplicitLod: return "OpImageSampleImplicitLod";
case SpvOpImageSampleExplicitLod: return "OpImageSampleExplicitLod";
case SpvOpImageSampleDrefImplicitLod: return "OpImageSampleDrefImplicitLod";
case SpvOpImageSampleDrefExplicitLod: return "OpImageSampleDrefExplicitLod";
case SpvOpImageSampleProjImplicitLod: return "OpImageSampleProjImplicitLod";
case SpvOpImageSampleProjExplicitLod: return "OpImageSampleProjExplicitLod";
case SpvOpImageSampleProjDrefImplicitLod: return "OpImageSampleProjDrefImplicitLod";
case SpvOpImageSampleProjDrefExplicitLod: return "OpImageSampleProjDrefExplicitLod";
case SpvOpImageFetch: return "OpImageFetch";
case SpvOpImageGather: return "OpImageGather";
case SpvOpImageDrefGather: return "OpImageDrefGather";
case SpvOpImageRead: return "OpImageRead";
case SpvOpImageWrite: return "OpImageWrite";
case SpvOpImage: return "OpImage";
case SpvOpImageQueryFormat: return "OpImageQueryFormat";
case SpvOpImageQueryOrder: return "OpImageQueryOrder";
case SpvOpImageQuerySizeLod: return "OpImageQuerySizeLod";
case SpvOpImageQuerySize: return "OpImageQuerySize";
case SpvOpImageQueryLod: return "OpImageQueryLod";
case SpvOpImageQueryLevels: return "OpImageQueryLevels";
case SpvOpImageQuerySamples: return "OpImageQuerySamples";
case SpvOpConvertFToU: return "OpConvertFToU";
case SpvOpConvertFToS: return "OpConvertFToS";
case SpvOpConvertSToF: return "OpConvertSToF";
case SpvOpConvertUToF: return "OpConvertUToF";
case SpvOpUConvert: return "OpUConvert";
case SpvOpSConvert: return "OpSConvert";
case SpvOpFConvert: return "OpFConvert";
case SpvOpQuantizeToF16: return "OpQuantizeToF16";
case SpvOpConvertPtrToU: return "OpConvertPtrToU";
case SpvOpSatConvertSToU: return "OpSatConvertSToU";
case SpvOpSatConvertUToS: return "OpSatConvertUToS";
case SpvOpConvertUToPtr: return "OpConvertUToPtr";
case SpvOpPtrCastToGeneric: return "OpPtrCastToGeneric";
case SpvOpGenericCastToPtr: return "OpGenericCastToPtr";
case SpvOpGenericCastToPtrExplicit: return "OpGenericCastToPtrExplicit";
case SpvOpBitcast: return "OpBitcast";
case SpvOpSNegate: return "OpSNegate";
case SpvOpFNegate: return "OpFNegate";
case SpvOpIAdd: return "OpIAdd";
case SpvOpFAdd: return "OpFAdd";
case SpvOpISub: return "OpISub";
case SpvOpFSub: return "OpFSub";
case SpvOpIMul: return "OpIMul";
case SpvOpFMul: return "OpFMul";
case SpvOpUDiv: return "OpUDiv";
case SpvOpSDiv: return "OpSDiv";
case SpvOpFDiv: return "OpFDiv";
case SpvOpUMod: return "OpUMod";
case SpvOpSRem: return "OpSRem";
case SpvOpSMod: return "OpSMod";
case SpvOpFRem: return "OpFRem";
case SpvOpFMod: return "OpFMod";
case SpvOpVectorTimesScalar: return "OpVectorTimesScalar";
case SpvOpMatrixTimesScalar: return "OpMatrixTimesScalar";
case SpvOpVectorTimesMatrix: return "OpVectorTimesMatrix";
case SpvOpMatrixTimesVector: return "OpMatrixTimesVector";
case SpvOpMatrixTimesMatrix: return "OpMatrixTimesMatrix";
case SpvOpOuterProduct: return "OpOuterProduct";
case SpvOpDot: return "OpDot";
case SpvOpIAddCarry: return "OpIAddCarry";
case SpvOpISubBorrow: return "OpISubBorrow";
case SpvOpUMulExtended: return "OpUMulExtended";
case SpvOpSMulExtended: return "OpSMulExtended";
case SpvOpAny: return "OpAny";
case SpvOpAll: return "OpAll";
case SpvOpIsNan: return "OpIsNan";
case SpvOpIsInf: return "OpIsInf";
case SpvOpIsFinite: return "OpIsFinite";
case SpvOpIsNormal: return "OpIsNormal";
case SpvOpSignBitSet: return "OpSignBitSet";
case SpvOpLessOrGreater: return "OpLessOrGreater";
case SpvOpOrdered: return "OpOrdered";
case SpvOpUnordered: return "OpUnordered";
case SpvOpLogicalEqual: return "OpLogicalEqual";
case SpvOpLogicalNotEqual: return "OpLogicalNotEqual";
case SpvOpLogicalOr: return "OpLogicalOr";
case SpvOpLogicalAnd: return "OpLogicalAnd";
case SpvOpLogicalNot: return "OpLogicalNot";
case SpvOpSelect: return "OpSelect";
case SpvOpIEqual: return "OpIEqual";
case SpvOpINotEqual: return "OpINotEqual";
case SpvOpUGreaterThan: return "OpUGreaterThan";
case SpvOpSGreaterThan: return "OpSGreaterThan";
case SpvOpUGreaterThanEqual: return "OpUGreaterThanEqual";
case SpvOpSGreaterThanEqual: return "OpSGreaterThanEqual";
case SpvOpULessThan: return "OpULessThan";
case SpvOpSLessThan: return "OpSLessThan";
case SpvOpULessThanEqual: return "OpULessThanEqual";
case SpvOpSLessThanEqual: return "OpSLessThanEqual";
case SpvOpFOrdEqual: return "OpFOrdEqual";
case SpvOpFUnordEqual: return "OpFUnordEqual";
case SpvOpFOrdNotEqual: return "OpFOrdNotEqual";
case SpvOpFUnordNotEqual: return "OpFUnordNotEqual";
case SpvOpFOrdLessThan: return "OpFOrdLessThan";
case SpvOpFUnordLessThan: return "OpFUnordLessThan";
case SpvOpFOrdGreaterThan: return "OpFOrdGreaterThan";
case SpvOpFUnordGreaterThan: return "OpFUnordGreaterThan";
case SpvOpFOrdLessThanEqual: return "OpFOrdLessThanEqual";
case SpvOpFUnordLessThanEqual: return "OpFUnordLessThanEqual";
case SpvOpFOrdGreaterThanEqual: return "OpFOrdGreaterThanEqual";
case SpvOpFUnordGreaterThanEqual: return "OpFUnordGreaterThanEqual";
case SpvOpShiftRightLogical: return "OpShiftRightLogical";
case SpvOpShiftRightArithmetic: return "OpShiftRightArithmetic";
case SpvOpShiftLeftLogical: return "OpShiftLeftLogical";
case SpvOpBitwiseOr: return "OpBitwiseOr";
case SpvOpBitwiseXor: return "OpBitwiseXor";
case SpvOpBitwiseAnd: return "OpBitwiseAnd";
case SpvOpNot: return "OpNot";
case SpvOpBitFieldInsert: return "OpBitFieldInsert";
case SpvOpBitFieldSExtract: return "OpBitFieldSExtract";
case SpvOpBitFieldUExtract: return "OpBitFieldUExtract";
case SpvOpBitReverse: return "OpBitReverse";
case SpvOpBitCount: return "OpBitCount";
case SpvOpDPdx: return "OpDPdx";
case SpvOpDPdy: return "OpDPdy";
case SpvOpFwidth: return "OpFwidth";
case SpvOpDPdxFine: return "OpDPdxFine";
case SpvOpDPdyFine: return "OpDPdyFine";
case SpvOpFwidthFine: return "OpFwidthFine";
case SpvOpDPdxCoarse: return "OpDPdxCoarse";
case SpvOpDPdyCoarse: return "OpDPdyCoarse";
case SpvOpFwidthCoarse: return "OpFwidthCoarse";
case SpvOpEmitVertex: return "OpEmitVertex";
case SpvOpEndPrimitive: return "OpEndPrimitive";
case SpvOpEmitStreamVertex: return "OpEmitStreamVertex";
case SpvOpEndStreamPrimitive: return "OpEndStreamPrimitive";
case SpvOpControlBarrier: return "OpControlBarrier";
case SpvOpMemoryBarrier: return "OpMemoryBarrier";
case SpvOpAtomicLoad: return "OpAtomicLoad";
case SpvOpAtomicStore: return "OpAtomicStore";
case SpvOpAtomicExchange: return "OpAtomicExchange";
case SpvOpAtomicCompareExchange: return "OpAtomicCompareExchange";
case SpvOpAtomicCompareExchangeWeak: return "OpAtomicCompareExchangeWeak";
case SpvOpAtomicIIncrement: return "OpAtomicIIncrement";
case SpvOpAtomicIDecrement: return "OpAtomicIDecrement";
case SpvOpAtomicIAdd: return "OpAtomicIAdd";
case SpvOpAtomicISub: return "OpAtomicISub";
case SpvOpAtomicSMin: return "OpAtomicSMin";
case SpvOpAtomicUMin: return "OpAtomicUMin";
case SpvOpAtomicSMax: return "OpAtomicSMax";
case SpvOpAtomicUMax: return "OpAtomicUMax";
case SpvOpAtomicAnd: return "OpAtomicAnd";
case SpvOpAtomicOr: return "OpAtomicOr";
case SpvOpAtomicXor: return "OpAtomicXor";
case SpvOpPhi: return "OpPhi";
case SpvOpLoopMerge: return "OpLoopMerge";
case SpvOpSelectionMerge: return "OpSelectionMerge";
case SpvOpLabel: return "OpLabel";
case SpvOpBranch: return "OpBranch";
case SpvOpBranchConditional: return "OpBranchConditional";
case SpvOpSwitch: return "OpSwitch";
case SpvOpKill: return "OpKill";
case SpvOpReturn: return "OpReturn";
case SpvOpReturnValue: return "OpReturnValue";
case SpvOpUnreachable: return "OpUnreachable";
case SpvOpLifetimeStart: return "OpLifetimeStart";
case SpvOpLifetimeStop: return "OpLifetimeStop";
case SpvOpGroupAsyncCopy: return "OpGroupAsyncCopy";
case SpvOpGroupWaitEvents: return "OpGroupWaitEvents";
case SpvOpGroupAll: return "OpGroupAll";
case SpvOpGroupAny: return "OpGroupAny";
case SpvOpGroupBroadcast: return "OpGroupBroadcast";
case SpvOpGroupIAdd: return "OpGroupIAdd";
case SpvOpGroupFAdd: return "OpGroupFAdd";
case SpvOpGroupFMin: return "OpGroupFMin";
case SpvOpGroupUMin: return "OpGroupUMin";
case SpvOpGroupSMin: return "OpGroupSMin";
case SpvOpGroupFMax: return "OpGroupFMax";
case SpvOpGroupUMax: return "OpGroupUMax";
case SpvOpGroupSMax: return "OpGroupSMax";
case SpvOpReadPipe: return "OpReadPipe";
case SpvOpWritePipe: return "OpWritePipe";
case SpvOpReservedReadPipe: return "OpReservedReadPipe";
case SpvOpReservedWritePipe: return "OpReservedWritePipe";
case SpvOpReserveReadPipePackets: return "OpReserveReadPipePackets";
case SpvOpReserveWritePipePackets: return "OpReserveWritePipePackets";
case SpvOpCommitReadPipe: return "OpCommitReadPipe";
case SpvOpCommitWritePipe: return "OpCommitWritePipe";
case SpvOpIsValidReserveId: return "OpIsValidReserveId";
case SpvOpGetNumPipePackets: return "OpGetNumPipePackets";
case SpvOpGetMaxPipePackets: return "OpGetMaxPipePackets";
case SpvOpGroupReserveReadPipePackets: return "OpGroupReserveReadPipePackets";
case SpvOpGroupReserveWritePipePackets: return "OpGroupReserveWritePipePackets";
case SpvOpGroupCommitReadPipe: return "OpGroupCommitReadPipe";
case SpvOpGroupCommitWritePipe: return "OpGroupCommitWritePipe";
case SpvOpEnqueueMarker: return "OpEnqueueMarker";
case SpvOpEnqueueKernel: return "OpEnqueueKernel";
case SpvOpGetKernelNDrangeSubGroupCount: return "OpGetKernelNDrangeSubGroupCount";
case SpvOpGetKernelNDrangeMaxSubGroupSize: return "OpGetKernelNDrangeMaxSubGroupSize";
case SpvOpGetKernelWorkGroupSize: return "OpGetKernelWorkGroupSize";
case SpvOpGetKernelPreferredWorkGroupSizeMultiple: return "OpGetKernelPreferredWorkGroupSizeMultiple";
case SpvOpRetainEvent: return "OpRetainEvent";
case SpvOpReleaseEvent: return "OpReleaseEvent";
case SpvOpCreateUserEvent: return "OpCreateUserEvent";
case SpvOpIsValidEvent: return "OpIsValidEvent";
case SpvOpSetUserEventStatus: return "OpSetUserEventStatus";
case SpvOpCaptureEventProfilingInfo: return "OpCaptureEventProfilingInfo";
case SpvOpGetDefaultQueue: return "OpGetDefaultQueue";
case SpvOpBuildNDRange: return "OpBuildNDRange";
case SpvOpImageSparseSampleImplicitLod: return "OpImageSparseSampleImplicitLod";
case SpvOpImageSparseSampleExplicitLod: return "OpImageSparseSampleExplicitLod";
case SpvOpImageSparseSampleDrefImplicitLod: return "OpImageSparseSampleDrefImplicitLod";
case SpvOpImageSparseSampleDrefExplicitLod: return "OpImageSparseSampleDrefExplicitLod";
case SpvOpImageSparseSampleProjImplicitLod: return "OpImageSparseSampleProjImplicitLod";
case SpvOpImageSparseSampleProjExplicitLod: return "OpImageSparseSampleProjExplicitLod";
case SpvOpImageSparseSampleProjDrefImplicitLod: return "OpImageSparseSampleProjDrefImplicitLod";
case SpvOpImageSparseSampleProjDrefExplicitLod: return "OpImageSparseSampleProjDrefExplicitLod";
case SpvOpImageSparseFetch: return "OpImageSparseFetch";
case SpvOpImageSparseGather: return "OpImageSparseGather";
case SpvOpImageSparseDrefGather: return "OpImageSparseDrefGather";
case SpvOpImageSparseTexelsResident: return "OpImageSparseTexelsResident";
case SpvOpNoLine: return "OpNoLine";
case SpvOpAtomicFlagTestAndSet: return "OpAtomicFlagTestAndSet";
case SpvOpAtomicFlagClear: return "OpAtomicFlagClear";
case SpvOpImageSparseRead: return "OpImageSparseRead";
case SpvOpSizeOf: return "OpSizeOf";
case SpvOpTypePipeStorage: return "OpTypePipeStorage";
case SpvOpConstantPipeStorage: return "OpConstantPipeStorage";
case SpvOpCreatePipeFromPipeStorage: return "OpCreatePipeFromPipeStorage";
case SpvOpGetKernelLocalSizeForSubgroupCount: return "OpGetKernelLocalSizeForSubgroupCount";
case SpvOpGetKernelMaxNumSubgroups: return "OpGetKernelMaxNumSubgroups";
case SpvOpTypeNamedBarrier: return "OpTypeNamedBarrier";
case SpvOpNamedBarrierInitialize: return "OpNamedBarrierInitialize";
case SpvOpMemoryNamedBarrier: return "OpMemoryNamedBarrier";
case SpvOpModuleProcessed: return "OpModuleProcessed";
case SpvOpExecutionModeId: return "OpExecutionModeId";
case SpvOpDecorateId: return "OpDecorateId";
case SpvOpGroupNonUniformElect: return "OpGroupNonUniformElect";
case SpvOpGroupNonUniformAll: return "OpGroupNonUniformAll";
case SpvOpGroupNonUniformAny: return "OpGroupNonUniformAny";
case SpvOpGroupNonUniformAllEqual: return "OpGroupNonUniformAllEqual";
case SpvOpGroupNonUniformBroadcast: return "OpGroupNonUniformBroadcast";
case SpvOpGroupNonUniformBroadcastFirst: return "OpGroupNonUniformBroadcastFirst";
case SpvOpGroupNonUniformBallot: return "OpGroupNonUniformBallot";
case SpvOpGroupNonUniformInverseBallot: return "OpGroupNonUniformInverseBallot";
case SpvOpGroupNonUniformBallotBitExtract: return "OpGroupNonUniformBallotBitExtract";
case SpvOpGroupNonUniformBallotBitCount: return "OpGroupNonUniformBallotBitCount";
case SpvOpGroupNonUniformBallotFindLSB: return "OpGroupNonUniformBallotFindLSB";
case SpvOpGroupNonUniformBallotFindMSB: return "OpGroupNonUniformBallotFindMSB";
case SpvOpGroupNonUniformShuffle: return "OpGroupNonUniformShuffle";
case SpvOpGroupNonUniformShuffleXor: return "OpGroupNonUniformShuffleXor";
case SpvOpGroupNonUniformShuffleUp: return "OpGroupNonUniformShuffleUp";
case SpvOpGroupNonUniformShuffleDown: return "OpGroupNonUniformShuffleDown";
case SpvOpGroupNonUniformIAdd: return "OpGroupNonUniformIAdd";
case SpvOpGroupNonUniformFAdd: return "OpGroupNonUniformFAdd";
case SpvOpGroupNonUniformIMul: return "OpGroupNonUniformIMul";
case SpvOpGroupNonUniformFMul: return "OpGroupNonUniformFMul";
case SpvOpGroupNonUniformSMin: return "OpGroupNonUniformSMin";
case SpvOpGroupNonUniformUMin: return "OpGroupNonUniformUMin";
case SpvOpGroupNonUniformFMin: return "OpGroupNonUniformFMin";
case SpvOpGroupNonUniformSMax: return "OpGroupNonUniformSMax";
case SpvOpGroupNonUniformUMax: return "OpGroupNonUniformUMax";
case SpvOpGroupNonUniformFMax: return "OpGroupNonUniformFMax";
case SpvOpGroupNonUniformBitwiseAnd: return "OpGroupNonUniformBitwiseAnd";
case SpvOpGroupNonUniformBitwiseOr: return "OpGroupNonUniformBitwiseOr";
case SpvOpGroupNonUniformBitwiseXor: return "OpGroupNonUniformBitwiseXor";
case SpvOpGroupNonUniformLogicalAnd: return "OpGroupNonUniformLogicalAnd";
case SpvOpGroupNonUniformLogicalOr: return "OpGroupNonUniformLogicalOr";
case SpvOpGroupNonUniformLogicalXor: return "OpGroupNonUniformLogicalXor";
case SpvOpGroupNonUniformQuadBroadcast: return "OpGroupNonUniformQuadBroadcast";
case SpvOpGroupNonUniformQuadSwap: return "OpGroupNonUniformQuadSwap";
case SpvOpCopyLogical: return "OpCopyLogical";
case SpvOpPtrEqual: return "OpPtrEqual";
case SpvOpPtrNotEqual: return "OpPtrNotEqual";
case SpvOpPtrDiff: return "OpPtrDiff";
case SpvOpColorAttachmentReadEXT: return "OpColorAttachmentReadEXT";
case SpvOpDepthAttachmentReadEXT: return "OpDepthAttachmentReadEXT";
case SpvOpStencilAttachmentReadEXT: return "OpStencilAttachmentReadEXT";
case SpvOpTerminateInvocation: return "OpTerminateInvocation";
case SpvOpTypeUntypedPointerKHR: return "OpTypeUntypedPointerKHR";
case SpvOpUntypedVariableKHR: return "OpUntypedVariableKHR";
case SpvOpUntypedAccessChainKHR: return "OpUntypedAccessChainKHR";
case SpvOpUntypedInBoundsAccessChainKHR: return "OpUntypedInBoundsAccessChainKHR";
case SpvOpSubgroupBallotKHR: return "OpSubgroupBallotKHR";
case SpvOpSubgroupFirstInvocationKHR: return "OpSubgroupFirstInvocationKHR";
case SpvOpUntypedPtrAccessChainKHR: return "OpUntypedPtrAccessChainKHR";
case SpvOpUntypedInBoundsPtrAccessChainKHR: return "OpUntypedInBoundsPtrAccessChainKHR";
case SpvOpUntypedArrayLengthKHR: return "OpUntypedArrayLengthKHR";
case SpvOpUntypedPrefetchKHR: return "OpUntypedPrefetchKHR";
case SpvOpSubgroupAllKHR: return "OpSubgroupAllKHR";
case SpvOpSubgroupAnyKHR: return "OpSubgroupAnyKHR";
case SpvOpSubgroupAllEqualKHR: return "OpSubgroupAllEqualKHR";
case SpvOpGroupNonUniformRotateKHR: return "OpGroupNonUniformRotateKHR";
case SpvOpSubgroupReadInvocationKHR: return "OpSubgroupReadInvocationKHR";
case SpvOpExtInstWithForwardRefsKHR: return "OpExtInstWithForwardRefsKHR";
case SpvOpTraceRayKHR: return "OpTraceRayKHR";
case SpvOpExecuteCallableKHR: return "OpExecuteCallableKHR";
case SpvOpConvertUToAccelerationStructureKHR: return "OpConvertUToAccelerationStructureKHR";
case SpvOpIgnoreIntersectionKHR: return "OpIgnoreIntersectionKHR";
case SpvOpTerminateRayKHR: return "OpTerminateRayKHR";
case SpvOpSDot: return "OpSDot";
case SpvOpUDot: return "OpUDot";
case SpvOpSUDot: return "OpSUDot";
case SpvOpSDotAccSat: return "OpSDotAccSat";
case SpvOpUDotAccSat: return "OpUDotAccSat";
case SpvOpSUDotAccSat: return "OpSUDotAccSat";
case SpvOpTypeCooperativeMatrixKHR: return "OpTypeCooperativeMatrixKHR";
case SpvOpCooperativeMatrixLoadKHR: return "OpCooperativeMatrixLoadKHR";
case SpvOpCooperativeMatrixStoreKHR: return "OpCooperativeMatrixStoreKHR";
case SpvOpCooperativeMatrixMulAddKHR: return "OpCooperativeMatrixMulAddKHR";
case SpvOpCooperativeMatrixLengthKHR: return "OpCooperativeMatrixLengthKHR";
case SpvOpConstantCompositeReplicateEXT: return "OpConstantCompositeReplicateEXT";
case SpvOpSpecConstantCompositeReplicateEXT: return "OpSpecConstantCompositeReplicateEXT";
case SpvOpCompositeConstructReplicateEXT: return "OpCompositeConstructReplicateEXT";
case SpvOpTypeRayQueryKHR: return "OpTypeRayQueryKHR";
case SpvOpRayQueryInitializeKHR: return "OpRayQueryInitializeKHR";
case SpvOpRayQueryTerminateKHR: return "OpRayQueryTerminateKHR";
case SpvOpRayQueryGenerateIntersectionKHR: return "OpRayQueryGenerateIntersectionKHR";
case SpvOpRayQueryConfirmIntersectionKHR: return "OpRayQueryConfirmIntersectionKHR";
case SpvOpRayQueryProceedKHR: return "OpRayQueryProceedKHR";
case SpvOpRayQueryGetIntersectionTypeKHR: return "OpRayQueryGetIntersectionTypeKHR";
case SpvOpImageSampleWeightedQCOM: return "OpImageSampleWeightedQCOM";
case SpvOpImageBoxFilterQCOM: return "OpImageBoxFilterQCOM";
case SpvOpImageBlockMatchSSDQCOM: return "OpImageBlockMatchSSDQCOM";
case SpvOpImageBlockMatchSADQCOM: return "OpImageBlockMatchSADQCOM";
case SpvOpImageBlockMatchWindowSSDQCOM: return "OpImageBlockMatchWindowSSDQCOM";
case SpvOpImageBlockMatchWindowSADQCOM: return "OpImageBlockMatchWindowSADQCOM";
case SpvOpImageBlockMatchGatherSSDQCOM: return "OpImageBlockMatchGatherSSDQCOM";
case SpvOpImageBlockMatchGatherSADQCOM: return "OpImageBlockMatchGatherSADQCOM";
case SpvOpGroupIAddNonUniformAMD: return "OpGroupIAddNonUniformAMD";
case SpvOpGroupFAddNonUniformAMD: return "OpGroupFAddNonUniformAMD";
case SpvOpGroupFMinNonUniformAMD: return "OpGroupFMinNonUniformAMD";
case SpvOpGroupUMinNonUniformAMD: return "OpGroupUMinNonUniformAMD";
case SpvOpGroupSMinNonUniformAMD: return "OpGroupSMinNonUniformAMD";
case SpvOpGroupFMaxNonUniformAMD: return "OpGroupFMaxNonUniformAMD";
case SpvOpGroupUMaxNonUniformAMD: return "OpGroupUMaxNonUniformAMD";
case SpvOpGroupSMaxNonUniformAMD: return "OpGroupSMaxNonUniformAMD";
case SpvOpFragmentMaskFetchAMD: return "OpFragmentMaskFetchAMD";
case SpvOpFragmentFetchAMD: return "OpFragmentFetchAMD";
case SpvOpReadClockKHR: return "OpReadClockKHR";
case SpvOpFinalizeNodePayloadsAMDX: return "OpFinalizeNodePayloadsAMDX";
case SpvOpFinishWritingNodePayloadAMDX: return "OpFinishWritingNodePayloadAMDX";
case SpvOpInitializeNodePayloadsAMDX: return "OpInitializeNodePayloadsAMDX";
case SpvOpGroupNonUniformQuadAllKHR: return "OpGroupNonUniformQuadAllKHR";
case SpvOpGroupNonUniformQuadAnyKHR: return "OpGroupNonUniformQuadAnyKHR";
case SpvOpHitObjectRecordHitMotionNV: return "OpHitObjectRecordHitMotionNV";
case SpvOpHitObjectRecordHitWithIndexMotionNV: return "OpHitObjectRecordHitWithIndexMotionNV";
case SpvOpHitObjectRecordMissMotionNV: return "OpHitObjectRecordMissMotionNV";
case SpvOpHitObjectGetWorldToObjectNV: return "OpHitObjectGetWorldToObjectNV";
case SpvOpHitObjectGetObjectToWorldNV: return "OpHitObjectGetObjectToWorldNV";
case SpvOpHitObjectGetObjectRayDirectionNV: return "OpHitObjectGetObjectRayDirectionNV";
case SpvOpHitObjectGetObjectRayOriginNV: return "OpHitObjectGetObjectRayOriginNV";
case SpvOpHitObjectTraceRayMotionNV: return "OpHitObjectTraceRayMotionNV";
case SpvOpHitObjectGetShaderRecordBufferHandleNV: return "OpHitObjectGetShaderRecordBufferHandleNV";
case SpvOpHitObjectGetShaderBindingTableRecordIndexNV: return "OpHitObjectGetShaderBindingTableRecordIndexNV";
case SpvOpHitObjectRecordEmptyNV: return "OpHitObjectRecordEmptyNV";
case SpvOpHitObjectTraceRayNV: return "OpHitObjectTraceRayNV";
case SpvOpHitObjectRecordHitNV: return "OpHitObjectRecordHitNV";
case SpvOpHitObjectRecordHitWithIndexNV: return "OpHitObjectRecordHitWithIndexNV";
case SpvOpHitObjectRecordMissNV: return "OpHitObjectRecordMissNV";
case SpvOpHitObjectExecuteShaderNV: return "OpHitObjectExecuteShaderNV";
case SpvOpHitObjectGetCurrentTimeNV: return "OpHitObjectGetCurrentTimeNV";
case SpvOpHitObjectGetAttributesNV: return "OpHitObjectGetAttributesNV";
case SpvOpHitObjectGetHitKindNV: return "OpHitObjectGetHitKindNV";
case SpvOpHitObjectGetPrimitiveIndexNV: return "OpHitObjectGetPrimitiveIndexNV";
case SpvOpHitObjectGetGeometryIndexNV: return "OpHitObjectGetGeometryIndexNV";
case SpvOpHitObjectGetInstanceIdNV: return "OpHitObjectGetInstanceIdNV";
case SpvOpHitObjectGetInstanceCustomIndexNV: return "OpHitObjectGetInstanceCustomIndexNV";
case SpvOpHitObjectGetWorldRayDirectionNV: return "OpHitObjectGetWorldRayDirectionNV";
case SpvOpHitObjectGetWorldRayOriginNV: return "OpHitObjectGetWorldRayOriginNV";
case SpvOpHitObjectGetRayTMaxNV: return "OpHitObjectGetRayTMaxNV";
case SpvOpHitObjectGetRayTMinNV: return "OpHitObjectGetRayTMinNV";
case SpvOpHitObjectIsEmptyNV: return "OpHitObjectIsEmptyNV";
case SpvOpHitObjectIsHitNV: return "OpHitObjectIsHitNV";
case SpvOpHitObjectIsMissNV: return "OpHitObjectIsMissNV";
case SpvOpReorderThreadWithHitObjectNV: return "OpReorderThreadWithHitObjectNV";
case SpvOpReorderThreadWithHintNV: return "OpReorderThreadWithHintNV";
case SpvOpTypeHitObjectNV: return "OpTypeHitObjectNV";
case SpvOpImageSampleFootprintNV: return "OpImageSampleFootprintNV";
case SpvOpEmitMeshTasksEXT: return "OpEmitMeshTasksEXT";
case SpvOpSetMeshOutputsEXT: return "OpSetMeshOutputsEXT";
case SpvOpGroupNonUniformPartitionNV: return "OpGroupNonUniformPartitionNV";
case SpvOpWritePackedPrimitiveIndices4x8NV: return "OpWritePackedPrimitiveIndices4x8NV";
case SpvOpFetchMicroTriangleVertexPositionNV: return "OpFetchMicroTriangleVertexPositionNV";
case SpvOpFetchMicroTriangleVertexBarycentricNV: return "OpFetchMicroTriangleVertexBarycentricNV";
case SpvOpReportIntersectionKHR: return "OpReportIntersectionKHR";
case SpvOpIgnoreIntersectionNV: return "OpIgnoreIntersectionNV";
case SpvOpTerminateRayNV: return "OpTerminateRayNV";
case SpvOpTraceNV: return "OpTraceNV";
case SpvOpTraceMotionNV: return "OpTraceMotionNV";
case SpvOpTraceRayMotionNV: return "OpTraceRayMotionNV";
case SpvOpRayQueryGetIntersectionTriangleVertexPositionsKHR: return "OpRayQueryGetIntersectionTriangleVertexPositionsKHR";
case SpvOpTypeAccelerationStructureKHR: return "OpTypeAccelerationStructureKHR";
case SpvOpExecuteCallableNV: return "OpExecuteCallableNV";
case SpvOpTypeCooperativeMatrixNV: return "OpTypeCooperativeMatrixNV";
case SpvOpCooperativeMatrixLoadNV: return "OpCooperativeMatrixLoadNV";
case SpvOpCooperativeMatrixStoreNV: return "OpCooperativeMatrixStoreNV";
case SpvOpCooperativeMatrixMulAddNV: return "OpCooperativeMatrixMulAddNV";
case SpvOpCooperativeMatrixLengthNV: return "OpCooperativeMatrixLengthNV";
case SpvOpBeginInvocationInterlockEXT: return "OpBeginInvocationInterlockEXT";
case SpvOpEndInvocationInterlockEXT: return "OpEndInvocationInterlockEXT";
case SpvOpDemoteToHelperInvocation: return "OpDemoteToHelperInvocation";
case SpvOpIsHelperInvocationEXT: return "OpIsHelperInvocationEXT";
case SpvOpConvertUToImageNV: return "OpConvertUToImageNV";
case SpvOpConvertUToSamplerNV: return "OpConvertUToSamplerNV";
case SpvOpConvertImageToUNV: return "OpConvertImageToUNV";
case SpvOpConvertSamplerToUNV: return "OpConvertSamplerToUNV";
case SpvOpConvertUToSampledImageNV: return "OpConvertUToSampledImageNV";
case SpvOpConvertSampledImageToUNV: return "OpConvertSampledImageToUNV";
case SpvOpSamplerImageAddressingModeNV: return "OpSamplerImageAddressingModeNV";
case SpvOpRawAccessChainNV: return "OpRawAccessChainNV";
case SpvOpSubgroupShuffleINTEL: return "OpSubgroupShuffleINTEL";
case SpvOpSubgroupShuffleDownINTEL: return "OpSubgroupShuffleDownINTEL";
case SpvOpSubgroupShuffleUpINTEL: return "OpSubgroupShuffleUpINTEL";
case SpvOpSubgroupShuffleXorINTEL: return "OpSubgroupShuffleXorINTEL";
case SpvOpSubgroupBlockReadINTEL: return "OpSubgroupBlockReadINTEL";
case SpvOpSubgroupBlockWriteINTEL: return "OpSubgroupBlockWriteINTEL";
case SpvOpSubgroupImageBlockReadINTEL: return "OpSubgroupImageBlockReadINTEL";
case SpvOpSubgroupImageBlockWriteINTEL: return "OpSubgroupImageBlockWriteINTEL";
case SpvOpSubgroupImageMediaBlockReadINTEL: return "OpSubgroupImageMediaBlockReadINTEL";
case SpvOpSubgroupImageMediaBlockWriteINTEL: return "OpSubgroupImageMediaBlockWriteINTEL";
case SpvOpUCountLeadingZerosINTEL: return "OpUCountLeadingZerosINTEL";
case SpvOpUCountTrailingZerosINTEL: return "OpUCountTrailingZerosINTEL";
case SpvOpAbsISubINTEL: return "OpAbsISubINTEL";
case SpvOpAbsUSubINTEL: return "OpAbsUSubINTEL";
case SpvOpIAddSatINTEL: return "OpIAddSatINTEL";
case SpvOpUAddSatINTEL: return "OpUAddSatINTEL";
case SpvOpIAverageINTEL: return "OpIAverageINTEL";
case SpvOpUAverageINTEL: return "OpUAverageINTEL";
case SpvOpIAverageRoundedINTEL: return "OpIAverageRoundedINTEL";
case SpvOpUAverageRoundedINTEL: return "OpUAverageRoundedINTEL";
case SpvOpISubSatINTEL: return "OpISubSatINTEL";
case SpvOpUSubSatINTEL: return "OpUSubSatINTEL";
case SpvOpIMul32x16INTEL: return "OpIMul32x16INTEL";
case SpvOpUMul32x16INTEL: return "OpUMul32x16INTEL";
case SpvOpConstantFunctionPointerINTEL: return "OpConstantFunctionPointerINTEL";
case SpvOpFunctionPointerCallINTEL: return "OpFunctionPointerCallINTEL";
case SpvOpAsmTargetINTEL: return "OpAsmTargetINTEL";
case SpvOpAsmINTEL: return "OpAsmINTEL";
case SpvOpAsmCallINTEL: return "OpAsmCallINTEL";
case SpvOpAtomicFMinEXT: return "OpAtomicFMinEXT";
case SpvOpAtomicFMaxEXT: return "OpAtomicFMaxEXT";
case SpvOpAssumeTrueKHR: return "OpAssumeTrueKHR";
case SpvOpExpectKHR: return "OpExpectKHR";
case SpvOpDecorateString: return "OpDecorateString";
case SpvOpMemberDecorateString: return "OpMemberDecorateString";
case SpvOpVmeImageINTEL: return "OpVmeImageINTEL";
case SpvOpTypeVmeImageINTEL: return "OpTypeVmeImageINTEL";
case SpvOpTypeAvcImePayloadINTEL: return "OpTypeAvcImePayloadINTEL";
case SpvOpTypeAvcRefPayloadINTEL: return "OpTypeAvcRefPayloadINTEL";
case SpvOpTypeAvcSicPayloadINTEL: return "OpTypeAvcSicPayloadINTEL";
case SpvOpTypeAvcMcePayloadINTEL: return "OpTypeAvcMcePayloadINTEL";
case SpvOpTypeAvcMceResultINTEL: return "OpTypeAvcMceResultINTEL";
case SpvOpTypeAvcImeResultINTEL: return "OpTypeAvcImeResultINTEL";
case SpvOpTypeAvcImeResultSingleReferenceStreamoutINTEL: return "OpTypeAvcImeResultSingleReferenceStreamoutINTEL";
case SpvOpTypeAvcImeResultDualReferenceStreamoutINTEL: return "OpTypeAvcImeResultDualReferenceStreamoutINTEL";
case SpvOpTypeAvcImeSingleReferenceStreaminINTEL: return "OpTypeAvcImeSingleReferenceStreaminINTEL";
case SpvOpTypeAvcImeDualReferenceStreaminINTEL: return "OpTypeAvcImeDualReferenceStreaminINTEL";
case SpvOpTypeAvcRefResultINTEL: return "OpTypeAvcRefResultINTEL";
case SpvOpTypeAvcSicResultINTEL: return "OpTypeAvcSicResultINTEL";
case SpvOpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL: return "OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL";
case SpvOpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL: return "OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL";
case SpvOpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL: return "OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL";
case SpvOpSubgroupAvcMceSetInterShapePenaltyINTEL: return "OpSubgroupAvcMceSetInterShapePenaltyINTEL";
case SpvOpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL: return "OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL";
case SpvOpSubgroupAvcMceSetInterDirectionPenaltyINTEL: return "OpSubgroupAvcMceSetInterDirectionPenaltyINTEL";
case SpvOpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL: return "OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL";
case SpvOpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL: return "OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL";
case SpvOpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL: return "OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL";
case SpvOpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL: return "OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL";
case SpvOpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL: return "OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL";
case SpvOpSubgroupAvcMceSetMotionVectorCostFunctionINTEL: return "OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL";
case SpvOpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL: return "OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL";
case SpvOpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL: return "OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL";
case SpvOpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL: return "OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL";
case SpvOpSubgroupAvcMceSetAcOnlyHaarINTEL: return "OpSubgroupAvcMceSetAcOnlyHaarINTEL";
case SpvOpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL: return "OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL";
case SpvOpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL: return "OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL";
case SpvOpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL: return "OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL";
case SpvOpSubgroupAvcMceConvertToImePayloadINTEL: return "OpSubgroupAvcMceConvertToImePayloadINTEL";
case SpvOpSubgroupAvcMceConvertToImeResultINTEL: return "OpSubgroupAvcMceConvertToImeResultINTEL";
case SpvOpSubgroupAvcMceConvertToRefPayloadINTEL: return "OpSubgroupAvcMceConvertToRefPayloadINTEL";
case SpvOpSubgroupAvcMceConvertToRefResultINTEL: return "OpSubgroupAvcMceConvertToRefResultINTEL";
case SpvOpSubgroupAvcMceConvertToSicPayloadINTEL: return "OpSubgroupAvcMceConvertToSicPayloadINTEL";
case SpvOpSubgroupAvcMceConvertToSicResultINTEL: return "OpSubgroupAvcMceConvertToSicResultINTEL";
case SpvOpSubgroupAvcMceGetMotionVectorsINTEL: return "OpSubgroupAvcMceGetMotionVectorsINTEL";
case SpvOpSubgroupAvcMceGetInterDistortionsINTEL: return "OpSubgroupAvcMceGetInterDistortionsINTEL";
case SpvOpSubgroupAvcMceGetBestInterDistortionsINTEL: return "OpSubgroupAvcMceGetBestInterDistortionsINTEL";
case SpvOpSubgroupAvcMceGetInterMajorShapeINTEL: return "OpSubgroupAvcMceGetInterMajorShapeINTEL";
case SpvOpSubgroupAvcMceGetInterMinorShapeINTEL: return "OpSubgroupAvcMceGetInterMinorShapeINTEL";
case SpvOpSubgroupAvcMceGetInterDirectionsINTEL: return "OpSubgroupAvcMceGetInterDirectionsINTEL";
case SpvOpSubgroupAvcMceGetInterMotionVectorCountINTEL: return "OpSubgroupAvcMceGetInterMotionVectorCountINTEL";
case SpvOpSubgroupAvcMceGetInterReferenceIdsINTEL: return "OpSubgroupAvcMceGetInterReferenceIdsINTEL";
case SpvOpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL: return "OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL";
case SpvOpSubgroupAvcImeInitializeINTEL: return "OpSubgroupAvcImeInitializeINTEL";
case SpvOpSubgroupAvcImeSetSingleReferenceINTEL: return "OpSubgroupAvcImeSetSingleReferenceINTEL";
case SpvOpSubgroupAvcImeSetDualReferenceINTEL: return "OpSubgroupAvcImeSetDualReferenceINTEL";
case SpvOpSubgroupAvcImeRefWindowSizeINTEL: return "OpSubgroupAvcImeRefWindowSizeINTEL";
case SpvOpSubgroupAvcImeAdjustRefOffsetINTEL: return "OpSubgroupAvcImeAdjustRefOffsetINTEL";
case SpvOpSubgroupAvcImeConvertToMcePayloadINTEL: return "OpSubgroupAvcImeConvertToMcePayloadINTEL";
case SpvOpSubgroupAvcImeSetMaxMotionVectorCountINTEL: return "OpSubgroupAvcImeSetMaxMotionVectorCountINTEL";
case SpvOpSubgroupAvcImeSetUnidirectionalMixDisableINTEL: return "OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL";
case SpvOpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL: return "OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL";
case SpvOpSubgroupAvcImeSetWeightedSadINTEL: return "OpSubgroupAvcImeSetWeightedSadINTEL";
case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceINTEL: return "OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL";
case SpvOpSubgroupAvcImeEvaluateWithDualReferenceINTEL: return "OpSubgroupAvcImeEvaluateWithDualReferenceINTEL";
case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL: return "OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL";
case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL: return "OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL";
case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL: return "OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL";
case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL: return "OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL";
case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL: return "OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL";
case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL: return "OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL";
case SpvOpSubgroupAvcImeConvertToMceResultINTEL: return "OpSubgroupAvcImeConvertToMceResultINTEL";
case SpvOpSubgroupAvcImeGetSingleReferenceStreaminINTEL: return "OpSubgroupAvcImeGetSingleReferenceStreaminINTEL";
case SpvOpSubgroupAvcImeGetDualReferenceStreaminINTEL: return "OpSubgroupAvcImeGetDualReferenceStreaminINTEL";
case SpvOpSubgroupAvcImeStripSingleReferenceStreamoutINTEL: return "OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL";
case SpvOpSubgroupAvcImeStripDualReferenceStreamoutINTEL: return "OpSubgroupAvcImeStripDualReferenceStreamoutINTEL";
case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL: return "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL";
case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL: return "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL";
case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL: return "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL";
case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL: return "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL";
case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL: return "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL";
case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL: return "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL";
case SpvOpSubgroupAvcImeGetBorderReachedINTEL: return "OpSubgroupAvcImeGetBorderReachedINTEL";
case SpvOpSubgroupAvcImeGetTruncatedSearchIndicationINTEL: return "OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL";
case SpvOpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL: return "OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL";
case SpvOpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL: return "OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL";
case SpvOpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL: return "OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL";
case SpvOpSubgroupAvcFmeInitializeINTEL: return "OpSubgroupAvcFmeInitializeINTEL";
case SpvOpSubgroupAvcBmeInitializeINTEL: return "OpSubgroupAvcBmeInitializeINTEL";
case SpvOpSubgroupAvcRefConvertToMcePayloadINTEL: return "OpSubgroupAvcRefConvertToMcePayloadINTEL";
case SpvOpSubgroupAvcRefSetBidirectionalMixDisableINTEL: return "OpSubgroupAvcRefSetBidirectionalMixDisableINTEL";
case SpvOpSubgroupAvcRefSetBilinearFilterEnableINTEL: return "OpSubgroupAvcRefSetBilinearFilterEnableINTEL";
case SpvOpSubgroupAvcRefEvaluateWithSingleReferenceINTEL: return "OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL";
case SpvOpSubgroupAvcRefEvaluateWithDualReferenceINTEL: return "OpSubgroupAvcRefEvaluateWithDualReferenceINTEL";
case SpvOpSubgroupAvcRefEvaluateWithMultiReferenceINTEL: return "OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL";
case SpvOpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL: return "OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL";
case SpvOpSubgroupAvcRefConvertToMceResultINTEL: return "OpSubgroupAvcRefConvertToMceResultINTEL";
case SpvOpSubgroupAvcSicInitializeINTEL: return "OpSubgroupAvcSicInitializeINTEL";
case SpvOpSubgroupAvcSicConfigureSkcINTEL: return "OpSubgroupAvcSicConfigureSkcINTEL";
case SpvOpSubgroupAvcSicConfigureIpeLumaINTEL: return "OpSubgroupAvcSicConfigureIpeLumaINTEL";
case SpvOpSubgroupAvcSicConfigureIpeLumaChromaINTEL: return "OpSubgroupAvcSicConfigureIpeLumaChromaINTEL";
case SpvOpSubgroupAvcSicGetMotionVectorMaskINTEL: return "OpSubgroupAvcSicGetMotionVectorMaskINTEL";
case SpvOpSubgroupAvcSicConvertToMcePayloadINTEL: return "OpSubgroupAvcSicConvertToMcePayloadINTEL";
case SpvOpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL: return "OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL";
case SpvOpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL: return "OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL";
case SpvOpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL: return "OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL";
case SpvOpSubgroupAvcSicSetBilinearFilterEnableINTEL: return "OpSubgroupAvcSicSetBilinearFilterEnableINTEL";
case SpvOpSubgroupAvcSicSetSkcForwardTransformEnableINTEL: return "OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL";
case SpvOpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL: return "OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL";
case SpvOpSubgroupAvcSicEvaluateIpeINTEL: return "OpSubgroupAvcSicEvaluateIpeINTEL";
case SpvOpSubgroupAvcSicEvaluateWithSingleReferenceINTEL: return "OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL";
case SpvOpSubgroupAvcSicEvaluateWithDualReferenceINTEL: return "OpSubgroupAvcSicEvaluateWithDualReferenceINTEL";
case SpvOpSubgroupAvcSicEvaluateWithMultiReferenceINTEL: return "OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL";
case SpvOpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL: return "OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL";
case SpvOpSubgroupAvcSicConvertToMceResultINTEL: return "OpSubgroupAvcSicConvertToMceResultINTEL";
case SpvOpSubgroupAvcSicGetIpeLumaShapeINTEL: return "OpSubgroupAvcSicGetIpeLumaShapeINTEL";
case SpvOpSubgroupAvcSicGetBestIpeLumaDistortionINTEL: return "OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL";
case SpvOpSubgroupAvcSicGetBestIpeChromaDistortionINTEL: return "OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL";
case SpvOpSubgroupAvcSicGetPackedIpeLumaModesINTEL: return "OpSubgroupAvcSicGetPackedIpeLumaModesINTEL";
case SpvOpSubgroupAvcSicGetIpeChromaModeINTEL: return "OpSubgroupAvcSicGetIpeChromaModeINTEL";
case SpvOpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: return "OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL";
case SpvOpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: return "OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL";
case SpvOpSubgroupAvcSicGetInterRawSadsINTEL: return "OpSubgroupAvcSicGetInterRawSadsINTEL";
case SpvOpVariableLengthArrayINTEL: return "OpVariableLengthArrayINTEL";
case SpvOpSaveMemoryINTEL: return "OpSaveMemoryINTEL";
case SpvOpRestoreMemoryINTEL: return "OpRestoreMemoryINTEL";
case SpvOpArbitraryFloatSinCosPiINTEL: return "OpArbitraryFloatSinCosPiINTEL";
case SpvOpArbitraryFloatCastINTEL: return "OpArbitraryFloatCastINTEL";
case SpvOpArbitraryFloatCastFromIntINTEL: return "OpArbitraryFloatCastFromIntINTEL";
case SpvOpArbitraryFloatCastToIntINTEL: return "OpArbitraryFloatCastToIntINTEL";
case SpvOpArbitraryFloatAddINTEL: return "OpArbitraryFloatAddINTEL";
case SpvOpArbitraryFloatSubINTEL: return "OpArbitraryFloatSubINTEL";
case SpvOpArbitraryFloatMulINTEL: return "OpArbitraryFloatMulINTEL";
case SpvOpArbitraryFloatDivINTEL: return "OpArbitraryFloatDivINTEL";
case SpvOpArbitraryFloatGTINTEL: return "OpArbitraryFloatGTINTEL";
case SpvOpArbitraryFloatGEINTEL: return "OpArbitraryFloatGEINTEL";
case SpvOpArbitraryFloatLTINTEL: return "OpArbitraryFloatLTINTEL";
case SpvOpArbitraryFloatLEINTEL: return "OpArbitraryFloatLEINTEL";
case SpvOpArbitraryFloatEQINTEL: return "OpArbitraryFloatEQINTEL";
case SpvOpArbitraryFloatRecipINTEL: return "OpArbitraryFloatRecipINTEL";
case SpvOpArbitraryFloatRSqrtINTEL: return "OpArbitraryFloatRSqrtINTEL";
case SpvOpArbitraryFloatCbrtINTEL: return "OpArbitraryFloatCbrtINTEL";
case SpvOpArbitraryFloatHypotINTEL: return "OpArbitraryFloatHypotINTEL";
case SpvOpArbitraryFloatSqrtINTEL: return "OpArbitraryFloatSqrtINTEL";
case SpvOpArbitraryFloatLogINTEL: return "OpArbitraryFloatLogINTEL";
case SpvOpArbitraryFloatLog2INTEL: return "OpArbitraryFloatLog2INTEL";
case SpvOpArbitraryFloatLog10INTEL: return "OpArbitraryFloatLog10INTEL";
case SpvOpArbitraryFloatLog1pINTEL: return "OpArbitraryFloatLog1pINTEL";
case SpvOpArbitraryFloatExpINTEL: return "OpArbitraryFloatExpINTEL";
case SpvOpArbitraryFloatExp2INTEL: return "OpArbitraryFloatExp2INTEL";
case SpvOpArbitraryFloatExp10INTEL: return "OpArbitraryFloatExp10INTEL";
case SpvOpArbitraryFloatExpm1INTEL: return "OpArbitraryFloatExpm1INTEL";
case SpvOpArbitraryFloatSinINTEL: return "OpArbitraryFloatSinINTEL";
case SpvOpArbitraryFloatCosINTEL: return "OpArbitraryFloatCosINTEL";
case SpvOpArbitraryFloatSinCosINTEL: return "OpArbitraryFloatSinCosINTEL";
case SpvOpArbitraryFloatSinPiINTEL: return "OpArbitraryFloatSinPiINTEL";
case SpvOpArbitraryFloatCosPiINTEL: return "OpArbitraryFloatCosPiINTEL";
case SpvOpArbitraryFloatASinINTEL: return "OpArbitraryFloatASinINTEL";
case SpvOpArbitraryFloatASinPiINTEL: return "OpArbitraryFloatASinPiINTEL";
case SpvOpArbitraryFloatACosINTEL: return "OpArbitraryFloatACosINTEL";
case SpvOpArbitraryFloatACosPiINTEL: return "OpArbitraryFloatACosPiINTEL";
case SpvOpArbitraryFloatATanINTEL: return "OpArbitraryFloatATanINTEL";
case SpvOpArbitraryFloatATanPiINTEL: return "OpArbitraryFloatATanPiINTEL";
case SpvOpArbitraryFloatATan2INTEL: return "OpArbitraryFloatATan2INTEL";
case SpvOpArbitraryFloatPowINTEL: return "OpArbitraryFloatPowINTEL";
case SpvOpArbitraryFloatPowRINTEL: return "OpArbitraryFloatPowRINTEL";
case SpvOpArbitraryFloatPowNINTEL: return "OpArbitraryFloatPowNINTEL";
case SpvOpLoopControlINTEL: return "OpLoopControlINTEL";
case SpvOpAliasDomainDeclINTEL: return "OpAliasDomainDeclINTEL";
case SpvOpAliasScopeDeclINTEL: return "OpAliasScopeDeclINTEL";
case SpvOpAliasScopeListDeclINTEL: return "OpAliasScopeListDeclINTEL";
case SpvOpFixedSqrtINTEL: return "OpFixedSqrtINTEL";
case SpvOpFixedRecipINTEL: return "OpFixedRecipINTEL";
case SpvOpFixedRsqrtINTEL: return "OpFixedRsqrtINTEL";
case SpvOpFixedSinINTEL: return "OpFixedSinINTEL";
case SpvOpFixedCosINTEL: return "OpFixedCosINTEL";
case SpvOpFixedSinCosINTEL: return "OpFixedSinCosINTEL";
case SpvOpFixedSinPiINTEL: return "OpFixedSinPiINTEL";
case SpvOpFixedCosPiINTEL: return "OpFixedCosPiINTEL";
case SpvOpFixedSinCosPiINTEL: return "OpFixedSinCosPiINTEL";
case SpvOpFixedLogINTEL: return "OpFixedLogINTEL";
case SpvOpFixedExpINTEL: return "OpFixedExpINTEL";
case SpvOpPtrCastToCrossWorkgroupINTEL: return "OpPtrCastToCrossWorkgroupINTEL";
case SpvOpCrossWorkgroupCastToPtrINTEL: return "OpCrossWorkgroupCastToPtrINTEL";
case SpvOpReadPipeBlockingINTEL: return "OpReadPipeBlockingINTEL";
case SpvOpWritePipeBlockingINTEL: return "OpWritePipeBlockingINTEL";
case SpvOpFPGARegINTEL: return "OpFPGARegINTEL";
case SpvOpRayQueryGetRayTMinKHR: return "OpRayQueryGetRayTMinKHR";
case SpvOpRayQueryGetRayFlagsKHR: return "OpRayQueryGetRayFlagsKHR";
case SpvOpRayQueryGetIntersectionTKHR: return "OpRayQueryGetIntersectionTKHR";
case SpvOpRayQueryGetIntersectionInstanceCustomIndexKHR: return "OpRayQueryGetIntersectionInstanceCustomIndexKHR";
case SpvOpRayQueryGetIntersectionInstanceIdKHR: return "OpRayQueryGetIntersectionInstanceIdKHR";
case SpvOpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR: return "OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR";
case SpvOpRayQueryGetIntersectionGeometryIndexKHR: return "OpRayQueryGetIntersectionGeometryIndexKHR";
case SpvOpRayQueryGetIntersectionPrimitiveIndexKHR: return "OpRayQueryGetIntersectionPrimitiveIndexKHR";
case SpvOpRayQueryGetIntersectionBarycentricsKHR: return "OpRayQueryGetIntersectionBarycentricsKHR";
case SpvOpRayQueryGetIntersectionFrontFaceKHR: return "OpRayQueryGetIntersectionFrontFaceKHR";
case SpvOpRayQueryGetIntersectionCandidateAABBOpaqueKHR: return "OpRayQueryGetIntersectionCandidateAABBOpaqueKHR";
case SpvOpRayQueryGetIntersectionObjectRayDirectionKHR: return "OpRayQueryGetIntersectionObjectRayDirectionKHR";
case SpvOpRayQueryGetIntersectionObjectRayOriginKHR: return "OpRayQueryGetIntersectionObjectRayOriginKHR";
case SpvOpRayQueryGetWorldRayDirectionKHR: return "OpRayQueryGetWorldRayDirectionKHR";
case SpvOpRayQueryGetWorldRayOriginKHR: return "OpRayQueryGetWorldRayOriginKHR";
case SpvOpRayQueryGetIntersectionObjectToWorldKHR: return "OpRayQueryGetIntersectionObjectToWorldKHR";
case SpvOpRayQueryGetIntersectionWorldToObjectKHR: return "OpRayQueryGetIntersectionWorldToObjectKHR";
case SpvOpAtomicFAddEXT: return "OpAtomicFAddEXT";
case SpvOpTypeBufferSurfaceINTEL: return "OpTypeBufferSurfaceINTEL";
case SpvOpTypeStructContinuedINTEL: return "OpTypeStructContinuedINTEL";
case SpvOpConstantCompositeContinuedINTEL: return "OpConstantCompositeContinuedINTEL";
case SpvOpSpecConstantCompositeContinuedINTEL: return "OpSpecConstantCompositeContinuedINTEL";
case SpvOpCompositeConstructContinuedINTEL: return "OpCompositeConstructContinuedINTEL";
case SpvOpConvertFToBF16INTEL: return "OpConvertFToBF16INTEL";
case SpvOpConvertBF16ToFINTEL: return "OpConvertBF16ToFINTEL";
case SpvOpControlBarrierArriveINTEL: return "OpControlBarrierArriveINTEL";
case SpvOpControlBarrierWaitINTEL: return "OpControlBarrierWaitINTEL";
case SpvOpSubgroupBlockPrefetchINTEL: return "OpSubgroupBlockPrefetchINTEL";
case SpvOpGroupIMulKHR: return "OpGroupIMulKHR";
case SpvOpGroupFMulKHR: return "OpGroupFMulKHR";
case SpvOpGroupBitwiseAndKHR: return "OpGroupBitwiseAndKHR";
case SpvOpGroupBitwiseOrKHR: return "OpGroupBitwiseOrKHR";
case SpvOpGroupBitwiseXorKHR: return "OpGroupBitwiseXorKHR";
case SpvOpGroupLogicalAndKHR: return "OpGroupLogicalAndKHR";
case SpvOpGroupLogicalOrKHR: return "OpGroupLogicalOrKHR";
case SpvOpGroupLogicalXorKHR: return "OpGroupLogicalXorKHR";
case SpvOpMaskedGatherINTEL: return "OpMaskedGatherINTEL";
case SpvOpMaskedScatterINTEL: return "OpMaskedScatterINTEL";
default: return "Unknown";
}
}
#endif
#endif