blob: 9f87f50c225a00abadd165ff17de7afd5ebb64f7 [file] [log] [blame]
// Copyright (C) 2019 Google Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// Generated by gen-grammar.go --template=../schema/schema.go.tmpl --out=../schema/schema.go
// Do not modify this file directly.
package schema
// Opcode holds information about a specific SPIR-V opcode.
type Opcode struct {
Opname string
Class string
Opcode int
Operands []Operand
}
// Operand contains information about a logical operand for an instruction.
type Operand struct {
Kind *OperandKind
Name string
Quantifier Quantifier
}
// OperandKind contains information about a specific operand kind.
type OperandKind struct {
Category OperandCategory
Kind string
Enumerants []Enumerant
Bases []*OperandKind
}
// Enumerant contains information about an enumerant in an enum.
type Enumerant struct {
Enumerant string
Value interface{}
Capabilities []string
Parameters []Parameter
Version string
}
// Parameter contains information about a logical parameter for an enumerant.
type Parameter struct {
Kind *OperandKind
Name string
}
// Quantifier indicates the number of times the quantified term may appear.
type Quantifier string
const (
// Once indicates the quantified term may appear exactly once.
Once Quantifier = ""
// ZeroOrOnce indicates the quantified term may appear zero or one
// time; an optional term.
ZeroOrOnce Quantifier = "?"
// ZeroOrMany indicates the quantified term may appear any number of
// times.
ZeroOrMany Quantifier = "*"
)
// OperandCategory is an enumerator that groups operand kinds.
type OperandCategory string
const (
// OperandCategoryBitEnum describes an operand kind where its value is a
// mask, which is formed by combining the bits specified as enumerants in an
// enum.
OperandCategoryBitEnum = "BitEnum"
// OperandCategoryValueEnum describes an operand kind where its value is an
// enumerant from an enum.
OperandCategoryValueEnum = "ValueEnum"
// OperandCategoryID describes and operand kind where its value is an <id>
// definition or reference.
OperandCategoryID = "Id"
// OperandCategoryLiteral describes and operand kind where its value is an
// literal number or string.
OperandCategoryLiteral = "Literal"
// OperandCategoryComposite describes and operand kind where its value is
// composed from operand values from the above categories.
OperandCategoryComposite = "Composite"
)
type OpcodeMap map[string]*Opcode
var (
// Opcodes is a map of opcode name to Opcode description.
Opcodes = OpcodeMap {
"OpNop": OpNop,
"OpUndef": OpUndef,
"OpSourceContinued": OpSourceContinued,
"OpSource": OpSource,
"OpSourceExtension": OpSourceExtension,
"OpName": OpName,
"OpMemberName": OpMemberName,
"OpString": OpString,
"OpLine": OpLine,
"OpExtension": OpExtension,
"OpExtInstImport": OpExtInstImport,
"OpExtInst": OpExtInst,
"OpMemoryModel": OpMemoryModel,
"OpEntryPoint": OpEntryPoint,
"OpExecutionMode": OpExecutionMode,
"OpCapability": OpCapability,
"OpTypeVoid": OpTypeVoid,
"OpTypeBool": OpTypeBool,
"OpTypeInt": OpTypeInt,
"OpTypeFloat": OpTypeFloat,
"OpTypeVector": OpTypeVector,
"OpTypeMatrix": OpTypeMatrix,
"OpTypeImage": OpTypeImage,
"OpTypeSampler": OpTypeSampler,
"OpTypeSampledImage": OpTypeSampledImage,
"OpTypeArray": OpTypeArray,
"OpTypeRuntimeArray": OpTypeRuntimeArray,
"OpTypeStruct": OpTypeStruct,
"OpTypeOpaque": OpTypeOpaque,
"OpTypePointer": OpTypePointer,
"OpTypeFunction": OpTypeFunction,
"OpTypeEvent": OpTypeEvent,
"OpTypeDeviceEvent": OpTypeDeviceEvent,
"OpTypeReserveId": OpTypeReserveId,
"OpTypeQueue": OpTypeQueue,
"OpTypePipe": OpTypePipe,
"OpTypeForwardPointer": OpTypeForwardPointer,
"OpConstantTrue": OpConstantTrue,
"OpConstantFalse": OpConstantFalse,
"OpConstant": OpConstant,
"OpConstantComposite": OpConstantComposite,
"OpConstantSampler": OpConstantSampler,
"OpConstantNull": OpConstantNull,
"OpSpecConstantTrue": OpSpecConstantTrue,
"OpSpecConstantFalse": OpSpecConstantFalse,
"OpSpecConstant": OpSpecConstant,
"OpSpecConstantComposite": OpSpecConstantComposite,
"OpSpecConstantOp": OpSpecConstantOp,
"OpFunction": OpFunction,
"OpFunctionParameter": OpFunctionParameter,
"OpFunctionEnd": OpFunctionEnd,
"OpFunctionCall": OpFunctionCall,
"OpVariable": OpVariable,
"OpImageTexelPointer": OpImageTexelPointer,
"OpLoad": OpLoad,
"OpStore": OpStore,
"OpCopyMemory": OpCopyMemory,
"OpCopyMemorySized": OpCopyMemorySized,
"OpAccessChain": OpAccessChain,
"OpInBoundsAccessChain": OpInBoundsAccessChain,
"OpPtrAccessChain": OpPtrAccessChain,
"OpArrayLength": OpArrayLength,
"OpGenericPtrMemSemantics": OpGenericPtrMemSemantics,
"OpInBoundsPtrAccessChain": OpInBoundsPtrAccessChain,
"OpDecorate": OpDecorate,
"OpMemberDecorate": OpMemberDecorate,
"OpDecorationGroup": OpDecorationGroup,
"OpGroupDecorate": OpGroupDecorate,
"OpGroupMemberDecorate": OpGroupMemberDecorate,
"OpVectorExtractDynamic": OpVectorExtractDynamic,
"OpVectorInsertDynamic": OpVectorInsertDynamic,
"OpVectorShuffle": OpVectorShuffle,
"OpCompositeConstruct": OpCompositeConstruct,
"OpCompositeExtract": OpCompositeExtract,
"OpCompositeInsert": OpCompositeInsert,
"OpCopyObject": OpCopyObject,
"OpTranspose": OpTranspose,
"OpSampledImage": OpSampledImage,
"OpImageSampleImplicitLod": OpImageSampleImplicitLod,
"OpImageSampleExplicitLod": OpImageSampleExplicitLod,
"OpImageSampleDrefImplicitLod": OpImageSampleDrefImplicitLod,
"OpImageSampleDrefExplicitLod": OpImageSampleDrefExplicitLod,
"OpImageSampleProjImplicitLod": OpImageSampleProjImplicitLod,
"OpImageSampleProjExplicitLod": OpImageSampleProjExplicitLod,
"OpImageSampleProjDrefImplicitLod": OpImageSampleProjDrefImplicitLod,
"OpImageSampleProjDrefExplicitLod": OpImageSampleProjDrefExplicitLod,
"OpImageFetch": OpImageFetch,
"OpImageGather": OpImageGather,
"OpImageDrefGather": OpImageDrefGather,
"OpImageRead": OpImageRead,
"OpImageWrite": OpImageWrite,
"OpImage": OpImage,
"OpImageQueryFormat": OpImageQueryFormat,
"OpImageQueryOrder": OpImageQueryOrder,
"OpImageQuerySizeLod": OpImageQuerySizeLod,
"OpImageQuerySize": OpImageQuerySize,
"OpImageQueryLod": OpImageQueryLod,
"OpImageQueryLevels": OpImageQueryLevels,
"OpImageQuerySamples": OpImageQuerySamples,
"OpConvertFToU": OpConvertFToU,
"OpConvertFToS": OpConvertFToS,
"OpConvertSToF": OpConvertSToF,
"OpConvertUToF": OpConvertUToF,
"OpUConvert": OpUConvert,
"OpSConvert": OpSConvert,
"OpFConvert": OpFConvert,
"OpQuantizeToF16": OpQuantizeToF16,
"OpConvertPtrToU": OpConvertPtrToU,
"OpSatConvertSToU": OpSatConvertSToU,
"OpSatConvertUToS": OpSatConvertUToS,
"OpConvertUToPtr": OpConvertUToPtr,
"OpPtrCastToGeneric": OpPtrCastToGeneric,
"OpGenericCastToPtr": OpGenericCastToPtr,
"OpGenericCastToPtrExplicit": OpGenericCastToPtrExplicit,
"OpBitcast": OpBitcast,
"OpSNegate": OpSNegate,
"OpFNegate": OpFNegate,
"OpIAdd": OpIAdd,
"OpFAdd": OpFAdd,
"OpISub": OpISub,
"OpFSub": OpFSub,
"OpIMul": OpIMul,
"OpFMul": OpFMul,
"OpUDiv": OpUDiv,
"OpSDiv": OpSDiv,
"OpFDiv": OpFDiv,
"OpUMod": OpUMod,
"OpSRem": OpSRem,
"OpSMod": OpSMod,
"OpFRem": OpFRem,
"OpFMod": OpFMod,
"OpVectorTimesScalar": OpVectorTimesScalar,
"OpMatrixTimesScalar": OpMatrixTimesScalar,
"OpVectorTimesMatrix": OpVectorTimesMatrix,
"OpMatrixTimesVector": OpMatrixTimesVector,
"OpMatrixTimesMatrix": OpMatrixTimesMatrix,
"OpOuterProduct": OpOuterProduct,
"OpDot": OpDot,
"OpIAddCarry": OpIAddCarry,
"OpISubBorrow": OpISubBorrow,
"OpUMulExtended": OpUMulExtended,
"OpSMulExtended": OpSMulExtended,
"OpAny": OpAny,
"OpAll": OpAll,
"OpIsNan": OpIsNan,
"OpIsInf": OpIsInf,
"OpIsFinite": OpIsFinite,
"OpIsNormal": OpIsNormal,
"OpSignBitSet": OpSignBitSet,
"OpLessOrGreater": OpLessOrGreater,
"OpOrdered": OpOrdered,
"OpUnordered": OpUnordered,
"OpLogicalEqual": OpLogicalEqual,
"OpLogicalNotEqual": OpLogicalNotEqual,
"OpLogicalOr": OpLogicalOr,
"OpLogicalAnd": OpLogicalAnd,
"OpLogicalNot": OpLogicalNot,
"OpSelect": OpSelect,
"OpIEqual": OpIEqual,
"OpINotEqual": OpINotEqual,
"OpUGreaterThan": OpUGreaterThan,
"OpSGreaterThan": OpSGreaterThan,
"OpUGreaterThanEqual": OpUGreaterThanEqual,
"OpSGreaterThanEqual": OpSGreaterThanEqual,
"OpULessThan": OpULessThan,
"OpSLessThan": OpSLessThan,
"OpULessThanEqual": OpULessThanEqual,
"OpSLessThanEqual": OpSLessThanEqual,
"OpFOrdEqual": OpFOrdEqual,
"OpFUnordEqual": OpFUnordEqual,
"OpFOrdNotEqual": OpFOrdNotEqual,
"OpFUnordNotEqual": OpFUnordNotEqual,
"OpFOrdLessThan": OpFOrdLessThan,
"OpFUnordLessThan": OpFUnordLessThan,
"OpFOrdGreaterThan": OpFOrdGreaterThan,
"OpFUnordGreaterThan": OpFUnordGreaterThan,
"OpFOrdLessThanEqual": OpFOrdLessThanEqual,
"OpFUnordLessThanEqual": OpFUnordLessThanEqual,
"OpFOrdGreaterThanEqual": OpFOrdGreaterThanEqual,
"OpFUnordGreaterThanEqual": OpFUnordGreaterThanEqual,
"OpShiftRightLogical": OpShiftRightLogical,
"OpShiftRightArithmetic": OpShiftRightArithmetic,
"OpShiftLeftLogical": OpShiftLeftLogical,
"OpBitwiseOr": OpBitwiseOr,
"OpBitwiseXor": OpBitwiseXor,
"OpBitwiseAnd": OpBitwiseAnd,
"OpNot": OpNot,
"OpBitFieldInsert": OpBitFieldInsert,
"OpBitFieldSExtract": OpBitFieldSExtract,
"OpBitFieldUExtract": OpBitFieldUExtract,
"OpBitReverse": OpBitReverse,
"OpBitCount": OpBitCount,
"OpDPdx": OpDPdx,
"OpDPdy": OpDPdy,
"OpFwidth": OpFwidth,
"OpDPdxFine": OpDPdxFine,
"OpDPdyFine": OpDPdyFine,
"OpFwidthFine": OpFwidthFine,
"OpDPdxCoarse": OpDPdxCoarse,
"OpDPdyCoarse": OpDPdyCoarse,
"OpFwidthCoarse": OpFwidthCoarse,
"OpEmitVertex": OpEmitVertex,
"OpEndPrimitive": OpEndPrimitive,
"OpEmitStreamVertex": OpEmitStreamVertex,
"OpEndStreamPrimitive": OpEndStreamPrimitive,
"OpControlBarrier": OpControlBarrier,
"OpMemoryBarrier": OpMemoryBarrier,
"OpAtomicLoad": OpAtomicLoad,
"OpAtomicStore": OpAtomicStore,
"OpAtomicExchange": OpAtomicExchange,
"OpAtomicCompareExchange": OpAtomicCompareExchange,
"OpAtomicCompareExchangeWeak": OpAtomicCompareExchangeWeak,
"OpAtomicIIncrement": OpAtomicIIncrement,
"OpAtomicIDecrement": OpAtomicIDecrement,
"OpAtomicIAdd": OpAtomicIAdd,
"OpAtomicISub": OpAtomicISub,
"OpAtomicSMin": OpAtomicSMin,
"OpAtomicUMin": OpAtomicUMin,
"OpAtomicSMax": OpAtomicSMax,
"OpAtomicUMax": OpAtomicUMax,
"OpAtomicAnd": OpAtomicAnd,
"OpAtomicOr": OpAtomicOr,
"OpAtomicXor": OpAtomicXor,
"OpPhi": OpPhi,
"OpLoopMerge": OpLoopMerge,
"OpSelectionMerge": OpSelectionMerge,
"OpLabel": OpLabel,
"OpBranch": OpBranch,
"OpBranchConditional": OpBranchConditional,
"OpSwitch": OpSwitch,
"OpKill": OpKill,
"OpReturn": OpReturn,
"OpReturnValue": OpReturnValue,
"OpUnreachable": OpUnreachable,
"OpLifetimeStart": OpLifetimeStart,
"OpLifetimeStop": OpLifetimeStop,
"OpGroupAsyncCopy": OpGroupAsyncCopy,
"OpGroupWaitEvents": OpGroupWaitEvents,
"OpGroupAll": OpGroupAll,
"OpGroupAny": OpGroupAny,
"OpGroupBroadcast": OpGroupBroadcast,
"OpGroupIAdd": OpGroupIAdd,
"OpGroupFAdd": OpGroupFAdd,
"OpGroupFMin": OpGroupFMin,
"OpGroupUMin": OpGroupUMin,
"OpGroupSMin": OpGroupSMin,
"OpGroupFMax": OpGroupFMax,
"OpGroupUMax": OpGroupUMax,
"OpGroupSMax": OpGroupSMax,
"OpReadPipe": OpReadPipe,
"OpWritePipe": OpWritePipe,
"OpReservedReadPipe": OpReservedReadPipe,
"OpReservedWritePipe": OpReservedWritePipe,
"OpReserveReadPipePackets": OpReserveReadPipePackets,
"OpReserveWritePipePackets": OpReserveWritePipePackets,
"OpCommitReadPipe": OpCommitReadPipe,
"OpCommitWritePipe": OpCommitWritePipe,
"OpIsValidReserveId": OpIsValidReserveId,
"OpGetNumPipePackets": OpGetNumPipePackets,
"OpGetMaxPipePackets": OpGetMaxPipePackets,
"OpGroupReserveReadPipePackets": OpGroupReserveReadPipePackets,
"OpGroupReserveWritePipePackets": OpGroupReserveWritePipePackets,
"OpGroupCommitReadPipe": OpGroupCommitReadPipe,
"OpGroupCommitWritePipe": OpGroupCommitWritePipe,
"OpEnqueueMarker": OpEnqueueMarker,
"OpEnqueueKernel": OpEnqueueKernel,
"OpGetKernelNDrangeSubGroupCount": OpGetKernelNDrangeSubGroupCount,
"OpGetKernelNDrangeMaxSubGroupSize": OpGetKernelNDrangeMaxSubGroupSize,
"OpGetKernelWorkGroupSize": OpGetKernelWorkGroupSize,
"OpGetKernelPreferredWorkGroupSizeMultiple": OpGetKernelPreferredWorkGroupSizeMultiple,
"OpRetainEvent": OpRetainEvent,
"OpReleaseEvent": OpReleaseEvent,
"OpCreateUserEvent": OpCreateUserEvent,
"OpIsValidEvent": OpIsValidEvent,
"OpSetUserEventStatus": OpSetUserEventStatus,
"OpCaptureEventProfilingInfo": OpCaptureEventProfilingInfo,
"OpGetDefaultQueue": OpGetDefaultQueue,
"OpBuildNDRange": OpBuildNDRange,
"OpImageSparseSampleImplicitLod": OpImageSparseSampleImplicitLod,
"OpImageSparseSampleExplicitLod": OpImageSparseSampleExplicitLod,
"OpImageSparseSampleDrefImplicitLod": OpImageSparseSampleDrefImplicitLod,
"OpImageSparseSampleDrefExplicitLod": OpImageSparseSampleDrefExplicitLod,
"OpImageSparseSampleProjImplicitLod": OpImageSparseSampleProjImplicitLod,
"OpImageSparseSampleProjExplicitLod": OpImageSparseSampleProjExplicitLod,
"OpImageSparseSampleProjDrefImplicitLod": OpImageSparseSampleProjDrefImplicitLod,
"OpImageSparseSampleProjDrefExplicitLod": OpImageSparseSampleProjDrefExplicitLod,
"OpImageSparseFetch": OpImageSparseFetch,
"OpImageSparseGather": OpImageSparseGather,
"OpImageSparseDrefGather": OpImageSparseDrefGather,
"OpImageSparseTexelsResident": OpImageSparseTexelsResident,
"OpNoLine": OpNoLine,
"OpAtomicFlagTestAndSet": OpAtomicFlagTestAndSet,
"OpAtomicFlagClear": OpAtomicFlagClear,
"OpImageSparseRead": OpImageSparseRead,
"OpSizeOf": OpSizeOf,
"OpTypePipeStorage": OpTypePipeStorage,
"OpConstantPipeStorage": OpConstantPipeStorage,
"OpCreatePipeFromPipeStorage": OpCreatePipeFromPipeStorage,
"OpGetKernelLocalSizeForSubgroupCount": OpGetKernelLocalSizeForSubgroupCount,
"OpGetKernelMaxNumSubgroups": OpGetKernelMaxNumSubgroups,
"OpTypeNamedBarrier": OpTypeNamedBarrier,
"OpNamedBarrierInitialize": OpNamedBarrierInitialize,
"OpMemoryNamedBarrier": OpMemoryNamedBarrier,
"OpModuleProcessed": OpModuleProcessed,
"OpExecutionModeId": OpExecutionModeId,
"OpDecorateId": OpDecorateId,
"OpGroupNonUniformElect": OpGroupNonUniformElect,
"OpGroupNonUniformAll": OpGroupNonUniformAll,
"OpGroupNonUniformAny": OpGroupNonUniformAny,
"OpGroupNonUniformAllEqual": OpGroupNonUniformAllEqual,
"OpGroupNonUniformBroadcast": OpGroupNonUniformBroadcast,
"OpGroupNonUniformBroadcastFirst": OpGroupNonUniformBroadcastFirst,
"OpGroupNonUniformBallot": OpGroupNonUniformBallot,
"OpGroupNonUniformInverseBallot": OpGroupNonUniformInverseBallot,
"OpGroupNonUniformBallotBitExtract": OpGroupNonUniformBallotBitExtract,
"OpGroupNonUniformBallotBitCount": OpGroupNonUniformBallotBitCount,
"OpGroupNonUniformBallotFindLSB": OpGroupNonUniformBallotFindLSB,
"OpGroupNonUniformBallotFindMSB": OpGroupNonUniformBallotFindMSB,
"OpGroupNonUniformShuffle": OpGroupNonUniformShuffle,
"OpGroupNonUniformShuffleXor": OpGroupNonUniformShuffleXor,
"OpGroupNonUniformShuffleUp": OpGroupNonUniformShuffleUp,
"OpGroupNonUniformShuffleDown": OpGroupNonUniformShuffleDown,
"OpGroupNonUniformIAdd": OpGroupNonUniformIAdd,
"OpGroupNonUniformFAdd": OpGroupNonUniformFAdd,
"OpGroupNonUniformIMul": OpGroupNonUniformIMul,
"OpGroupNonUniformFMul": OpGroupNonUniformFMul,
"OpGroupNonUniformSMin": OpGroupNonUniformSMin,
"OpGroupNonUniformUMin": OpGroupNonUniformUMin,
"OpGroupNonUniformFMin": OpGroupNonUniformFMin,
"OpGroupNonUniformSMax": OpGroupNonUniformSMax,
"OpGroupNonUniformUMax": OpGroupNonUniformUMax,
"OpGroupNonUniformFMax": OpGroupNonUniformFMax,
"OpGroupNonUniformBitwiseAnd": OpGroupNonUniformBitwiseAnd,
"OpGroupNonUniformBitwiseOr": OpGroupNonUniformBitwiseOr,
"OpGroupNonUniformBitwiseXor": OpGroupNonUniformBitwiseXor,
"OpGroupNonUniformLogicalAnd": OpGroupNonUniformLogicalAnd,
"OpGroupNonUniformLogicalOr": OpGroupNonUniformLogicalOr,
"OpGroupNonUniformLogicalXor": OpGroupNonUniformLogicalXor,
"OpGroupNonUniformQuadBroadcast": OpGroupNonUniformQuadBroadcast,
"OpGroupNonUniformQuadSwap": OpGroupNonUniformQuadSwap,
"OpCopyLogical": OpCopyLogical,
"OpPtrEqual": OpPtrEqual,
"OpPtrNotEqual": OpPtrNotEqual,
"OpPtrDiff": OpPtrDiff,
"OpSubgroupBallotKHR": OpSubgroupBallotKHR,
"OpSubgroupFirstInvocationKHR": OpSubgroupFirstInvocationKHR,
"OpSubgroupAllKHR": OpSubgroupAllKHR,
"OpSubgroupAnyKHR": OpSubgroupAnyKHR,
"OpSubgroupAllEqualKHR": OpSubgroupAllEqualKHR,
"OpSubgroupReadInvocationKHR": OpSubgroupReadInvocationKHR,
"OpGroupIAddNonUniformAMD": OpGroupIAddNonUniformAMD,
"OpGroupFAddNonUniformAMD": OpGroupFAddNonUniformAMD,
"OpGroupFMinNonUniformAMD": OpGroupFMinNonUniformAMD,
"OpGroupUMinNonUniformAMD": OpGroupUMinNonUniformAMD,
"OpGroupSMinNonUniformAMD": OpGroupSMinNonUniformAMD,
"OpGroupFMaxNonUniformAMD": OpGroupFMaxNonUniformAMD,
"OpGroupUMaxNonUniformAMD": OpGroupUMaxNonUniformAMD,
"OpGroupSMaxNonUniformAMD": OpGroupSMaxNonUniformAMD,
"OpFragmentMaskFetchAMD": OpFragmentMaskFetchAMD,
"OpFragmentFetchAMD": OpFragmentFetchAMD,
"OpReadClockKHR": OpReadClockKHR,
"OpImageSampleFootprintNV": OpImageSampleFootprintNV,
"OpGroupNonUniformPartitionNV": OpGroupNonUniformPartitionNV,
"OpWritePackedPrimitiveIndices4x8NV": OpWritePackedPrimitiveIndices4x8NV,
"OpReportIntersectionNV": OpReportIntersectionNV,
"OpIgnoreIntersectionNV": OpIgnoreIntersectionNV,
"OpTerminateRayNV": OpTerminateRayNV,
"OpTraceNV": OpTraceNV,
"OpTypeAccelerationStructureNV": OpTypeAccelerationStructureNV,
"OpExecuteCallableNV": OpExecuteCallableNV,
"OpTypeCooperativeMatrixNV": OpTypeCooperativeMatrixNV,
"OpCooperativeMatrixLoadNV": OpCooperativeMatrixLoadNV,
"OpCooperativeMatrixStoreNV": OpCooperativeMatrixStoreNV,
"OpCooperativeMatrixMulAddNV": OpCooperativeMatrixMulAddNV,
"OpCooperativeMatrixLengthNV": OpCooperativeMatrixLengthNV,
"OpBeginInvocationInterlockEXT": OpBeginInvocationInterlockEXT,
"OpEndInvocationInterlockEXT": OpEndInvocationInterlockEXT,
"OpDemoteToHelperInvocationEXT": OpDemoteToHelperInvocationEXT,
"OpIsHelperInvocationEXT": OpIsHelperInvocationEXT,
"OpSubgroupShuffleINTEL": OpSubgroupShuffleINTEL,
"OpSubgroupShuffleDownINTEL": OpSubgroupShuffleDownINTEL,
"OpSubgroupShuffleUpINTEL": OpSubgroupShuffleUpINTEL,
"OpSubgroupShuffleXorINTEL": OpSubgroupShuffleXorINTEL,
"OpSubgroupBlockReadINTEL": OpSubgroupBlockReadINTEL,
"OpSubgroupBlockWriteINTEL": OpSubgroupBlockWriteINTEL,
"OpSubgroupImageBlockReadINTEL": OpSubgroupImageBlockReadINTEL,
"OpSubgroupImageBlockWriteINTEL": OpSubgroupImageBlockWriteINTEL,
"OpSubgroupImageMediaBlockReadINTEL": OpSubgroupImageMediaBlockReadINTEL,
"OpSubgroupImageMediaBlockWriteINTEL": OpSubgroupImageMediaBlockWriteINTEL,
"OpUCountLeadingZerosINTEL": OpUCountLeadingZerosINTEL,
"OpUCountTrailingZerosINTEL": OpUCountTrailingZerosINTEL,
"OpAbsISubINTEL": OpAbsISubINTEL,
"OpAbsUSubINTEL": OpAbsUSubINTEL,
"OpIAddSatINTEL": OpIAddSatINTEL,
"OpUAddSatINTEL": OpUAddSatINTEL,
"OpIAverageINTEL": OpIAverageINTEL,
"OpUAverageINTEL": OpUAverageINTEL,
"OpIAverageRoundedINTEL": OpIAverageRoundedINTEL,
"OpUAverageRoundedINTEL": OpUAverageRoundedINTEL,
"OpISubSatINTEL": OpISubSatINTEL,
"OpUSubSatINTEL": OpUSubSatINTEL,
"OpIMul32x16INTEL": OpIMul32x16INTEL,
"OpUMul32x16INTEL": OpUMul32x16INTEL,
"OpDecorateString": OpDecorateString,
"OpDecorateStringGOOGLE": OpDecorateStringGOOGLE,
"OpMemberDecorateString": OpMemberDecorateString,
"OpMemberDecorateStringGOOGLE": OpMemberDecorateStringGOOGLE,
"OpVmeImageINTEL": OpVmeImageINTEL,
"OpTypeVmeImageINTEL": OpTypeVmeImageINTEL,
"OpTypeAvcImePayloadINTEL": OpTypeAvcImePayloadINTEL,
"OpTypeAvcRefPayloadINTEL": OpTypeAvcRefPayloadINTEL,
"OpTypeAvcSicPayloadINTEL": OpTypeAvcSicPayloadINTEL,
"OpTypeAvcMcePayloadINTEL": OpTypeAvcMcePayloadINTEL,
"OpTypeAvcMceResultINTEL": OpTypeAvcMceResultINTEL,
"OpTypeAvcImeResultINTEL": OpTypeAvcImeResultINTEL,
"OpTypeAvcImeResultSingleReferenceStreamoutINTEL": OpTypeAvcImeResultSingleReferenceStreamoutINTEL,
"OpTypeAvcImeResultDualReferenceStreamoutINTEL": OpTypeAvcImeResultDualReferenceStreamoutINTEL,
"OpTypeAvcImeSingleReferenceStreaminINTEL": OpTypeAvcImeSingleReferenceStreaminINTEL,
"OpTypeAvcImeDualReferenceStreaminINTEL": OpTypeAvcImeDualReferenceStreaminINTEL,
"OpTypeAvcRefResultINTEL": OpTypeAvcRefResultINTEL,
"OpTypeAvcSicResultINTEL": OpTypeAvcSicResultINTEL,
"OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL": OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL,
"OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL": OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL,
"OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL": OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL,
"OpSubgroupAvcMceSetInterShapePenaltyINTEL": OpSubgroupAvcMceSetInterShapePenaltyINTEL,
"OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL": OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL,
"OpSubgroupAvcMceSetInterDirectionPenaltyINTEL": OpSubgroupAvcMceSetInterDirectionPenaltyINTEL,
"OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL": OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL,
"OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL": OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL,
"OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL": OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL,
"OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL": OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL,
"OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL": OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL,
"OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL": OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL,
"OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL": OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL,
"OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL": OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL,
"OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL": OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL,
"OpSubgroupAvcMceSetAcOnlyHaarINTEL": OpSubgroupAvcMceSetAcOnlyHaarINTEL,
"OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL": OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL,
"OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL": OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL,
"OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL": OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL,
"OpSubgroupAvcMceConvertToImePayloadINTEL": OpSubgroupAvcMceConvertToImePayloadINTEL,
"OpSubgroupAvcMceConvertToImeResultINTEL": OpSubgroupAvcMceConvertToImeResultINTEL,
"OpSubgroupAvcMceConvertToRefPayloadINTEL": OpSubgroupAvcMceConvertToRefPayloadINTEL,
"OpSubgroupAvcMceConvertToRefResultINTEL": OpSubgroupAvcMceConvertToRefResultINTEL,
"OpSubgroupAvcMceConvertToSicPayloadINTEL": OpSubgroupAvcMceConvertToSicPayloadINTEL,
"OpSubgroupAvcMceConvertToSicResultINTEL": OpSubgroupAvcMceConvertToSicResultINTEL,
"OpSubgroupAvcMceGetMotionVectorsINTEL": OpSubgroupAvcMceGetMotionVectorsINTEL,
"OpSubgroupAvcMceGetInterDistortionsINTEL": OpSubgroupAvcMceGetInterDistortionsINTEL,
"OpSubgroupAvcMceGetBestInterDistortionsINTEL": OpSubgroupAvcMceGetBestInterDistortionsINTEL,
"OpSubgroupAvcMceGetInterMajorShapeINTEL": OpSubgroupAvcMceGetInterMajorShapeINTEL,
"OpSubgroupAvcMceGetInterMinorShapeINTEL": OpSubgroupAvcMceGetInterMinorShapeINTEL,
"OpSubgroupAvcMceGetInterDirectionsINTEL": OpSubgroupAvcMceGetInterDirectionsINTEL,
"OpSubgroupAvcMceGetInterMotionVectorCountINTEL": OpSubgroupAvcMceGetInterMotionVectorCountINTEL,
"OpSubgroupAvcMceGetInterReferenceIdsINTEL": OpSubgroupAvcMceGetInterReferenceIdsINTEL,
"OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL": OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL,
"OpSubgroupAvcImeInitializeINTEL": OpSubgroupAvcImeInitializeINTEL,
"OpSubgroupAvcImeSetSingleReferenceINTEL": OpSubgroupAvcImeSetSingleReferenceINTEL,
"OpSubgroupAvcImeSetDualReferenceINTEL": OpSubgroupAvcImeSetDualReferenceINTEL,
"OpSubgroupAvcImeRefWindowSizeINTEL": OpSubgroupAvcImeRefWindowSizeINTEL,
"OpSubgroupAvcImeAdjustRefOffsetINTEL": OpSubgroupAvcImeAdjustRefOffsetINTEL,
"OpSubgroupAvcImeConvertToMcePayloadINTEL": OpSubgroupAvcImeConvertToMcePayloadINTEL,
"OpSubgroupAvcImeSetMaxMotionVectorCountINTEL": OpSubgroupAvcImeSetMaxMotionVectorCountINTEL,
"OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL": OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL,
"OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL": OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL,
"OpSubgroupAvcImeSetWeightedSadINTEL": OpSubgroupAvcImeSetWeightedSadINTEL,
"OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL": OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL,
"OpSubgroupAvcImeEvaluateWithDualReferenceINTEL": OpSubgroupAvcImeEvaluateWithDualReferenceINTEL,
"OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL": OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL,
"OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL": OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL,
"OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL": OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL,
"OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL": OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL,
"OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL": OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL,
"OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL": OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL,
"OpSubgroupAvcImeConvertToMceResultINTEL": OpSubgroupAvcImeConvertToMceResultINTEL,
"OpSubgroupAvcImeGetSingleReferenceStreaminINTEL": OpSubgroupAvcImeGetSingleReferenceStreaminINTEL,
"OpSubgroupAvcImeGetDualReferenceStreaminINTEL": OpSubgroupAvcImeGetDualReferenceStreaminINTEL,
"OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL": OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL,
"OpSubgroupAvcImeStripDualReferenceStreamoutINTEL": OpSubgroupAvcImeStripDualReferenceStreamoutINTEL,
"OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL": OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL,
"OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL": OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL,
"OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL": OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL,
"OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL": OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL,
"OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL": OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL,
"OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL": OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL,
"OpSubgroupAvcImeGetBorderReachedINTEL": OpSubgroupAvcImeGetBorderReachedINTEL,
"OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL": OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL,
"OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL": OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL,
"OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL": OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL,
"OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL": OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL,
"OpSubgroupAvcFmeInitializeINTEL": OpSubgroupAvcFmeInitializeINTEL,
"OpSubgroupAvcBmeInitializeINTEL": OpSubgroupAvcBmeInitializeINTEL,
"OpSubgroupAvcRefConvertToMcePayloadINTEL": OpSubgroupAvcRefConvertToMcePayloadINTEL,
"OpSubgroupAvcRefSetBidirectionalMixDisableINTEL": OpSubgroupAvcRefSetBidirectionalMixDisableINTEL,
"OpSubgroupAvcRefSetBilinearFilterEnableINTEL": OpSubgroupAvcRefSetBilinearFilterEnableINTEL,
"OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL": OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL,
"OpSubgroupAvcRefEvaluateWithDualReferenceINTEL": OpSubgroupAvcRefEvaluateWithDualReferenceINTEL,
"OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL": OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL,
"OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL": OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL,
"OpSubgroupAvcRefConvertToMceResultINTEL": OpSubgroupAvcRefConvertToMceResultINTEL,
"OpSubgroupAvcSicInitializeINTEL": OpSubgroupAvcSicInitializeINTEL,
"OpSubgroupAvcSicConfigureSkcINTEL": OpSubgroupAvcSicConfigureSkcINTEL,
"OpSubgroupAvcSicConfigureIpeLumaINTEL": OpSubgroupAvcSicConfigureIpeLumaINTEL,
"OpSubgroupAvcSicConfigureIpeLumaChromaINTEL": OpSubgroupAvcSicConfigureIpeLumaChromaINTEL,
"OpSubgroupAvcSicGetMotionVectorMaskINTEL": OpSubgroupAvcSicGetMotionVectorMaskINTEL,
"OpSubgroupAvcSicConvertToMcePayloadINTEL": OpSubgroupAvcSicConvertToMcePayloadINTEL,
"OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL": OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL,
"OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL": OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL,
"OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL": OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL,
"OpSubgroupAvcSicSetBilinearFilterEnableINTEL": OpSubgroupAvcSicSetBilinearFilterEnableINTEL,
"OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL": OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL,
"OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL": OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL,
"OpSubgroupAvcSicEvaluateIpeINTEL": OpSubgroupAvcSicEvaluateIpeINTEL,
"OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL": OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL,
"OpSubgroupAvcSicEvaluateWithDualReferenceINTEL": OpSubgroupAvcSicEvaluateWithDualReferenceINTEL,
"OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL": OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL,
"OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL": OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL,
"OpSubgroupAvcSicConvertToMceResultINTEL": OpSubgroupAvcSicConvertToMceResultINTEL,
"OpSubgroupAvcSicGetIpeLumaShapeINTEL": OpSubgroupAvcSicGetIpeLumaShapeINTEL,
"OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL": OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL,
"OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL": OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL,
"OpSubgroupAvcSicGetPackedIpeLumaModesINTEL": OpSubgroupAvcSicGetPackedIpeLumaModesINTEL,
"OpSubgroupAvcSicGetIpeChromaModeINTEL": OpSubgroupAvcSicGetIpeChromaModeINTEL,
"OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL": OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL,
"OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL": OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL,
"OpSubgroupAvcSicGetInterRawSadsINTEL": OpSubgroupAvcSicGetInterRawSadsINTEL,
}
// ExtOpcodes is a map of extension name to Opcode description list.
ExtOpcodes = map[string]OpcodeMap {
"GLSL.std.450": {
"Round": GLSLStd450_Round,
"RoundEven": GLSLStd450_RoundEven,
"Trunc": GLSLStd450_Trunc,
"FAbs": GLSLStd450_FAbs,
"SAbs": GLSLStd450_SAbs,
"FSign": GLSLStd450_FSign,
"SSign": GLSLStd450_SSign,
"Floor": GLSLStd450_Floor,
"Ceil": GLSLStd450_Ceil,
"Fract": GLSLStd450_Fract,
"Radians": GLSLStd450_Radians,
"Degrees": GLSLStd450_Degrees,
"Sin": GLSLStd450_Sin,
"Cos": GLSLStd450_Cos,
"Tan": GLSLStd450_Tan,
"Asin": GLSLStd450_Asin,
"Acos": GLSLStd450_Acos,
"Atan": GLSLStd450_Atan,
"Sinh": GLSLStd450_Sinh,
"Cosh": GLSLStd450_Cosh,
"Tanh": GLSLStd450_Tanh,
"Asinh": GLSLStd450_Asinh,
"Acosh": GLSLStd450_Acosh,
"Atanh": GLSLStd450_Atanh,
"Atan2": GLSLStd450_Atan2,
"Pow": GLSLStd450_Pow,
"Exp": GLSLStd450_Exp,
"Log": GLSLStd450_Log,
"Exp2": GLSLStd450_Exp2,
"Log2": GLSLStd450_Log2,
"Sqrt": GLSLStd450_Sqrt,
"InverseSqrt": GLSLStd450_InverseSqrt,
"Determinant": GLSLStd450_Determinant,
"MatrixInverse": GLSLStd450_MatrixInverse,
"Modf": GLSLStd450_Modf,
"ModfStruct": GLSLStd450_ModfStruct,
"FMin": GLSLStd450_FMin,
"UMin": GLSLStd450_UMin,
"SMin": GLSLStd450_SMin,
"FMax": GLSLStd450_FMax,
"UMax": GLSLStd450_UMax,
"SMax": GLSLStd450_SMax,
"FClamp": GLSLStd450_FClamp,
"UClamp": GLSLStd450_UClamp,
"SClamp": GLSLStd450_SClamp,
"FMix": GLSLStd450_FMix,
"IMix": GLSLStd450_IMix,
"Step": GLSLStd450_Step,
"SmoothStep": GLSLStd450_SmoothStep,
"Fma": GLSLStd450_Fma,
"Frexp": GLSLStd450_Frexp,
"FrexpStruct": GLSLStd450_FrexpStruct,
"Ldexp": GLSLStd450_Ldexp,
"PackSnorm4x8": GLSLStd450_PackSnorm4x8,
"PackUnorm4x8": GLSLStd450_PackUnorm4x8,
"PackSnorm2x16": GLSLStd450_PackSnorm2x16,
"PackUnorm2x16": GLSLStd450_PackUnorm2x16,
"PackHalf2x16": GLSLStd450_PackHalf2x16,
"PackDouble2x32": GLSLStd450_PackDouble2x32,
"UnpackSnorm2x16": GLSLStd450_UnpackSnorm2x16,
"UnpackUnorm2x16": GLSLStd450_UnpackUnorm2x16,
"UnpackHalf2x16": GLSLStd450_UnpackHalf2x16,
"UnpackSnorm4x8": GLSLStd450_UnpackSnorm4x8,
"UnpackUnorm4x8": GLSLStd450_UnpackUnorm4x8,
"UnpackDouble2x32": GLSLStd450_UnpackDouble2x32,
"Length": GLSLStd450_Length,
"Distance": GLSLStd450_Distance,
"Cross": GLSLStd450_Cross,
"Normalize": GLSLStd450_Normalize,
"FaceForward": GLSLStd450_FaceForward,
"Reflect": GLSLStd450_Reflect,
"Refract": GLSLStd450_Refract,
"FindILsb": GLSLStd450_FindILsb,
"FindSMsb": GLSLStd450_FindSMsb,
"FindUMsb": GLSLStd450_FindUMsb,
"InterpolateAtCentroid": GLSLStd450_InterpolateAtCentroid,
"InterpolateAtSample": GLSLStd450_InterpolateAtSample,
"InterpolateAtOffset": GLSLStd450_InterpolateAtOffset,
"NMin": GLSLStd450_NMin,
"NMax": GLSLStd450_NMax,
"NClamp": GLSLStd450_NClamp,
},
"OpenCL.std": {
"acos": OpenCLStd_acos,
"acosh": OpenCLStd_acosh,
"acospi": OpenCLStd_acospi,
"asin": OpenCLStd_asin,
"asinh": OpenCLStd_asinh,
"asinpi": OpenCLStd_asinpi,
"atan": OpenCLStd_atan,
"atan2": OpenCLStd_atan2,
"atanh": OpenCLStd_atanh,
"atanpi": OpenCLStd_atanpi,
"atan2pi": OpenCLStd_atan2pi,
"cbrt": OpenCLStd_cbrt,
"ceil": OpenCLStd_ceil,
"copysign": OpenCLStd_copysign,
"cos": OpenCLStd_cos,
"cosh": OpenCLStd_cosh,
"cospi": OpenCLStd_cospi,
"erfc": OpenCLStd_erfc,
"erf": OpenCLStd_erf,
"exp": OpenCLStd_exp,
"exp2": OpenCLStd_exp2,
"exp10": OpenCLStd_exp10,
"expm1": OpenCLStd_expm1,
"fabs": OpenCLStd_fabs,
"fdim": OpenCLStd_fdim,
"floor": OpenCLStd_floor,
"fma": OpenCLStd_fma,
"fmax": OpenCLStd_fmax,
"fmin": OpenCLStd_fmin,
"fmod": OpenCLStd_fmod,
"fract": OpenCLStd_fract,
"frexp": OpenCLStd_frexp,
"hypot": OpenCLStd_hypot,
"ilogb": OpenCLStd_ilogb,
"ldexp": OpenCLStd_ldexp,
"lgamma": OpenCLStd_lgamma,
"lgamma_r": OpenCLStd_lgamma_r,
"log": OpenCLStd_log,
"log2": OpenCLStd_log2,
"log10": OpenCLStd_log10,
"log1p": OpenCLStd_log1p,
"logb": OpenCLStd_logb,
"mad": OpenCLStd_mad,
"maxmag": OpenCLStd_maxmag,
"minmag": OpenCLStd_minmag,
"modf": OpenCLStd_modf,
"nan": OpenCLStd_nan,
"nextafter": OpenCLStd_nextafter,
"pow": OpenCLStd_pow,
"pown": OpenCLStd_pown,
"powr": OpenCLStd_powr,
"remainder": OpenCLStd_remainder,
"remquo": OpenCLStd_remquo,
"rint": OpenCLStd_rint,
"rootn": OpenCLStd_rootn,
"round": OpenCLStd_round,
"rsqrt": OpenCLStd_rsqrt,
"sin": OpenCLStd_sin,
"sincos": OpenCLStd_sincos,
"sinh": OpenCLStd_sinh,
"sinpi": OpenCLStd_sinpi,
"sqrt": OpenCLStd_sqrt,
"tan": OpenCLStd_tan,
"tanh": OpenCLStd_tanh,
"tanpi": OpenCLStd_tanpi,
"tgamma": OpenCLStd_tgamma,
"trunc": OpenCLStd_trunc,
"half_cos": OpenCLStd_half_cos,
"half_divide": OpenCLStd_half_divide,
"half_exp": OpenCLStd_half_exp,
"half_exp2": OpenCLStd_half_exp2,
"half_exp10": OpenCLStd_half_exp10,
"half_log": OpenCLStd_half_log,
"half_log2": OpenCLStd_half_log2,
"half_log10": OpenCLStd_half_log10,
"half_powr": OpenCLStd_half_powr,
"half_recip": OpenCLStd_half_recip,
"half_rsqrt": OpenCLStd_half_rsqrt,
"half_sin": OpenCLStd_half_sin,
"half_sqrt": OpenCLStd_half_sqrt,
"half_tan": OpenCLStd_half_tan,
"native_cos": OpenCLStd_native_cos,
"native_divide": OpenCLStd_native_divide,
"native_exp": OpenCLStd_native_exp,
"native_exp2": OpenCLStd_native_exp2,
"native_exp10": OpenCLStd_native_exp10,
"native_log": OpenCLStd_native_log,
"native_log2": OpenCLStd_native_log2,
"native_log10": OpenCLStd_native_log10,
"native_powr": OpenCLStd_native_powr,
"native_recip": OpenCLStd_native_recip,
"native_rsqrt": OpenCLStd_native_rsqrt,
"native_sin": OpenCLStd_native_sin,
"native_sqrt": OpenCLStd_native_sqrt,
"native_tan": OpenCLStd_native_tan,
"s_abs": OpenCLStd_s_abs,
"s_abs_diff": OpenCLStd_s_abs_diff,
"s_add_sat": OpenCLStd_s_add_sat,
"u_add_sat": OpenCLStd_u_add_sat,
"s_hadd": OpenCLStd_s_hadd,
"u_hadd": OpenCLStd_u_hadd,
"s_rhadd": OpenCLStd_s_rhadd,
"u_rhadd": OpenCLStd_u_rhadd,
"s_clamp": OpenCLStd_s_clamp,
"u_clamp": OpenCLStd_u_clamp,
"clz": OpenCLStd_clz,
"ctz": OpenCLStd_ctz,
"s_mad_hi": OpenCLStd_s_mad_hi,
"u_mad_sat": OpenCLStd_u_mad_sat,
"s_mad_sat": OpenCLStd_s_mad_sat,
"s_max": OpenCLStd_s_max,
"u_max": OpenCLStd_u_max,
"s_min": OpenCLStd_s_min,
"u_min": OpenCLStd_u_min,
"s_mul_hi": OpenCLStd_s_mul_hi,
"rotate": OpenCLStd_rotate,
"s_sub_sat": OpenCLStd_s_sub_sat,
"u_sub_sat": OpenCLStd_u_sub_sat,
"u_upsample": OpenCLStd_u_upsample,
"s_upsample": OpenCLStd_s_upsample,
"popcount": OpenCLStd_popcount,
"s_mad24": OpenCLStd_s_mad24,
"u_mad24": OpenCLStd_u_mad24,
"s_mul24": OpenCLStd_s_mul24,
"u_mul24": OpenCLStd_u_mul24,
"u_abs": OpenCLStd_u_abs,
"u_abs_diff": OpenCLStd_u_abs_diff,
"u_mul_hi": OpenCLStd_u_mul_hi,
"u_mad_hi": OpenCLStd_u_mad_hi,
"fclamp": OpenCLStd_fclamp,
"degrees": OpenCLStd_degrees,
"fmax_common": OpenCLStd_fmax_common,
"fmin_common": OpenCLStd_fmin_common,
"mix": OpenCLStd_mix,
"radians": OpenCLStd_radians,
"step": OpenCLStd_step,
"smoothstep": OpenCLStd_smoothstep,
"sign": OpenCLStd_sign,
"cross": OpenCLStd_cross,
"distance": OpenCLStd_distance,
"length": OpenCLStd_length,
"normalize": OpenCLStd_normalize,
"fast_distance": OpenCLStd_fast_distance,
"fast_length": OpenCLStd_fast_length,
"fast_normalize": OpenCLStd_fast_normalize,
"bitselect": OpenCLStd_bitselect,
"select": OpenCLStd_select,
"vloadn": OpenCLStd_vloadn,
"vstoren": OpenCLStd_vstoren,
"vload_half": OpenCLStd_vload_half,
"vload_halfn": OpenCLStd_vload_halfn,
"vstore_half": OpenCLStd_vstore_half,
"vstore_half_r": OpenCLStd_vstore_half_r,
"vstore_halfn": OpenCLStd_vstore_halfn,
"vstore_halfn_r": OpenCLStd_vstore_halfn_r,
"vloada_halfn": OpenCLStd_vloada_halfn,
"vstorea_halfn": OpenCLStd_vstorea_halfn,
"vstorea_halfn_r": OpenCLStd_vstorea_halfn_r,
"shuffle": OpenCLStd_shuffle,
"shuffle2": OpenCLStd_shuffle2,
"printf": OpenCLStd_printf,
"prefetch": OpenCLStd_prefetch,
},
"OpenCL.DebugInfo.100": {
"DebugInfoNone": OpenCLDebugInfo100_DebugInfoNone,
"DebugCompilationUnit": OpenCLDebugInfo100_DebugCompilationUnit,
"DebugTypeBasic": OpenCLDebugInfo100_DebugTypeBasic,
"DebugTypePointer": OpenCLDebugInfo100_DebugTypePointer,
"DebugTypeQualifier": OpenCLDebugInfo100_DebugTypeQualifier,
"DebugTypeArray": OpenCLDebugInfo100_DebugTypeArray,
"DebugTypeVector": OpenCLDebugInfo100_DebugTypeVector,
"DebugTypedef": OpenCLDebugInfo100_DebugTypedef,
"DebugTypeFunction": OpenCLDebugInfo100_DebugTypeFunction,
"DebugTypeEnum": OpenCLDebugInfo100_DebugTypeEnum,
"DebugTypeComposite": OpenCLDebugInfo100_DebugTypeComposite,
"DebugTypeMember": OpenCLDebugInfo100_DebugTypeMember,
"DebugTypeInheritance": OpenCLDebugInfo100_DebugTypeInheritance,
"DebugTypePtrToMember": OpenCLDebugInfo100_DebugTypePtrToMember,
"DebugTypeTemplate": OpenCLDebugInfo100_DebugTypeTemplate,
"DebugTypeTemplateParameter": OpenCLDebugInfo100_DebugTypeTemplateParameter,
"DebugTypeTemplateTemplateParameter": OpenCLDebugInfo100_DebugTypeTemplateTemplateParameter,
"DebugTypeTemplateParameterPack": OpenCLDebugInfo100_DebugTypeTemplateParameterPack,
"DebugGlobalVariable": OpenCLDebugInfo100_DebugGlobalVariable,
"DebugFunctionDeclaration": OpenCLDebugInfo100_DebugFunctionDeclaration,
"DebugFunction": OpenCLDebugInfo100_DebugFunction,
"DebugLexicalBlock": OpenCLDebugInfo100_DebugLexicalBlock,
"DebugLexicalBlockDiscriminator": OpenCLDebugInfo100_DebugLexicalBlockDiscriminator,
"DebugScope": OpenCLDebugInfo100_DebugScope,
"DebugNoScope": OpenCLDebugInfo100_DebugNoScope,
"DebugInlinedAt": OpenCLDebugInfo100_DebugInlinedAt,
"DebugLocalVariable": OpenCLDebugInfo100_DebugLocalVariable,
"DebugInlinedVariable": OpenCLDebugInfo100_DebugInlinedVariable,
"DebugDeclare": OpenCLDebugInfo100_DebugDeclare,
"DebugValue": OpenCLDebugInfo100_DebugValue,
"DebugOperation": OpenCLDebugInfo100_DebugOperation,
"DebugExpression": OpenCLDebugInfo100_DebugExpression,
"DebugMacroDef": OpenCLDebugInfo100_DebugMacroDef,
"DebugMacroUndef": OpenCLDebugInfo100_DebugMacroUndef,
"DebugImportedEntity": OpenCLDebugInfo100_DebugImportedEntity,
"DebugSource": OpenCLDebugInfo100_DebugSource,
},
}
OpNop = &Opcode {
Opname: "OpNop",
Operands: []Operand {
},
}
OpUndef = &Opcode {
Opname: "OpUndef",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
},
}
OpSourceContinued = &Opcode {
Opname: "OpSourceContinued",
Operands: []Operand {
Operand {
Kind: OperandKindLiteralString,
Name: "'Continued Source'",
Quantifier: "",
},
},
}
OpSource = &Opcode {
Opname: "OpSource",
Operands: []Operand {
Operand {
Kind: OperandKindSourceLanguage,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindLiteralInteger,
Name: "'Version'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'File'",
Quantifier: "?",
},
Operand {
Kind: OperandKindLiteralString,
Name: "'Source'",
Quantifier: "?",
},
},
}
OpSourceExtension = &Opcode {
Opname: "OpSourceExtension",
Operands: []Operand {
Operand {
Kind: OperandKindLiteralString,
Name: "'Extension'",
Quantifier: "",
},
},
}
OpName = &Opcode {
Opname: "OpName",
Operands: []Operand {
Operand {
Kind: OperandKindIdRef,
Name: "'Target'",
Quantifier: "",
},
Operand {
Kind: OperandKindLiteralString,
Name: "'Name'",
Quantifier: "",
},
},
}
OpMemberName = &Opcode {
Opname: "OpMemberName",
Operands: []Operand {
Operand {
Kind: OperandKindIdRef,
Name: "'Type'",
Quantifier: "",
},
Operand {
Kind: OperandKindLiteralInteger,
Name: "'Member'",
Quantifier: "",
},
Operand {
Kind: OperandKindLiteralString,
Name: "'Name'",
Quantifier: "",
},
},
}
OpString = &Opcode {
Opname: "OpString",
Operands: []Operand {
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindLiteralString,
Name: "'String'",
Quantifier: "",
},
},
}
OpLine = &Opcode {
Opname: "OpLine",
Operands: []Operand {
Operand {
Kind: OperandKindIdRef,
Name: "'File'",
Quantifier: "",
},
Operand {
Kind: OperandKindLiteralInteger,
Name: "'Line'",
Quantifier: "",
},
Operand {
Kind: OperandKindLiteralInteger,
Name: "'Column'",
Quantifier: "",
},
},
}
OpExtension = &Opcode {
Opname: "OpExtension",
Operands: []Operand {
Operand {
Kind: OperandKindLiteralString,
Name: "'Name'",
Quantifier: "",
},
},
}
OpExtInstImport = &Opcode {
Opname: "OpExtInstImport",
Operands: []Operand {
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindLiteralString,
Name: "'Name'",
Quantifier: "",
},
},
}
OpExtInst = &Opcode {
Opname: "OpExtInst",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Set'",
Quantifier: "",
},
Operand {
Kind: OperandKindLiteralExtInstInteger,
Name: "'Instruction'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Operand 1', + 'Operand 2', + ...",
Quantifier: "*",
},
},
}
OpMemoryModel = &Opcode {
Opname: "OpMemoryModel",
Operands: []Operand {
Operand {
Kind: OperandKindAddressingModel,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindMemoryModel,
Name: "",
Quantifier: "",
},
},
}
OpEntryPoint = &Opcode {
Opname: "OpEntryPoint",
Operands: []Operand {
Operand {
Kind: OperandKindExecutionModel,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Entry Point'",
Quantifier: "",
},
Operand {
Kind: OperandKindLiteralString,
Name: "'Name'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Interface'",
Quantifier: "*",
},
},
}
OpExecutionMode = &Opcode {
Opname: "OpExecutionMode",
Operands: []Operand {
Operand {
Kind: OperandKindIdRef,
Name: "'Entry Point'",
Quantifier: "",
},
Operand {
Kind: OperandKindExecutionMode,
Name: "'Mode'",
Quantifier: "",
},
},
}
OpCapability = &Opcode {
Opname: "OpCapability",
Operands: []Operand {
Operand {
Kind: OperandKindCapability,
Name: "'Capability'",
Quantifier: "",
},
},
}
OpTypeVoid = &Opcode {
Opname: "OpTypeVoid",
Operands: []Operand {
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
},
}
OpTypeBool = &Opcode {
Opname: "OpTypeBool",
Operands: []Operand {
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
},
}
OpTypeInt = &Opcode {
Opname: "OpTypeInt",
Operands: []Operand {
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindLiteralInteger,
Name: "'Width'",
Quantifier: "",
},
Operand {
Kind: OperandKindLiteralInteger,
Name: "'Signedness'",
Quantifier: "",
},
},
}
OpTypeFloat = &Opcode {
Opname: "OpTypeFloat",
Operands: []Operand {
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindLiteralInteger,
Name: "'Width'",
Quantifier: "",
},
},
}
OpTypeVector = &Opcode {
Opname: "OpTypeVector",
Operands: []Operand {
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Component Type'",
Quantifier: "",
},
Operand {
Kind: OperandKindLiteralInteger,
Name: "'Component Count'",
Quantifier: "",
},
},
}
OpTypeMatrix = &Opcode {
Opname: "OpTypeMatrix",
Operands: []Operand {
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Column Type'",
Quantifier: "",
},
Operand {
Kind: OperandKindLiteralInteger,
Name: "'Column Count'",
Quantifier: "",
},
},
}
OpTypeImage = &Opcode {
Opname: "OpTypeImage",
Operands: []Operand {
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Sampled Type'",
Quantifier: "",
},
Operand {
Kind: OperandKindDim,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindLiteralInteger,
Name: "'Depth'",
Quantifier: "",
},
Operand {
Kind: OperandKindLiteralInteger,
Name: "'Arrayed'",
Quantifier: "",
},
Operand {
Kind: OperandKindLiteralInteger,
Name: "'MS'",
Quantifier: "",
},
Operand {
Kind: OperandKindLiteralInteger,
Name: "'Sampled'",
Quantifier: "",
},
Operand {
Kind: OperandKindImageFormat,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindAccessQualifier,
Name: "",
Quantifier: "?",
},
},
}
OpTypeSampler = &Opcode {
Opname: "OpTypeSampler",
Operands: []Operand {
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
},
}
OpTypeSampledImage = &Opcode {
Opname: "OpTypeSampledImage",
Operands: []Operand {
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Image Type'",
Quantifier: "",
},
},
}
OpTypeArray = &Opcode {
Opname: "OpTypeArray",
Operands: []Operand {
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Element Type'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Length'",
Quantifier: "",
},
},
}
OpTypeRuntimeArray = &Opcode {
Opname: "OpTypeRuntimeArray",
Operands: []Operand {
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Element Type'",
Quantifier: "",
},
},
}
OpTypeStruct = &Opcode {
Opname: "OpTypeStruct",
Operands: []Operand {
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Member 0 type', + 'member 1 type', + ...",
Quantifier: "*",
},
},
}
OpTypeOpaque = &Opcode {
Opname: "OpTypeOpaque",
Operands: []Operand {
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindLiteralString,
Name: "The name of the opaque type.",
Quantifier: "",
},
},
}
OpTypePointer = &Opcode {
Opname: "OpTypePointer",
Operands: []Operand {
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindStorageClass,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Type'",
Quantifier: "",
},
},
}
OpTypeFunction = &Opcode {
Opname: "OpTypeFunction",
Operands: []Operand {
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Return Type'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Parameter 0 Type', + 'Parameter 1 Type', + ...",
Quantifier: "*",
},
},
}
OpTypeEvent = &Opcode {
Opname: "OpTypeEvent",
Operands: []Operand {
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
},
}
OpTypeDeviceEvent = &Opcode {
Opname: "OpTypeDeviceEvent",
Operands: []Operand {
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
},
}
OpTypeReserveId = &Opcode {
Opname: "OpTypeReserveId",
Operands: []Operand {
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
},
}
OpTypeQueue = &Opcode {
Opname: "OpTypeQueue",
Operands: []Operand {
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
},
}
OpTypePipe = &Opcode {
Opname: "OpTypePipe",
Operands: []Operand {
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindAccessQualifier,
Name: "'Qualifier'",
Quantifier: "",
},
},
}
OpTypeForwardPointer = &Opcode {
Opname: "OpTypeForwardPointer",
Operands: []Operand {
Operand {
Kind: OperandKindIdRef,
Name: "'Pointer Type'",
Quantifier: "",
},
Operand {
Kind: OperandKindStorageClass,
Name: "",
Quantifier: "",
},
},
}
OpConstantTrue = &Opcode {
Opname: "OpConstantTrue",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
},
}
OpConstantFalse = &Opcode {
Opname: "OpConstantFalse",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
},
}
OpConstant = &Opcode {
Opname: "OpConstant",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindLiteralContextDependentNumber,
Name: "'Value'",
Quantifier: "",
},
},
}
OpConstantComposite = &Opcode {
Opname: "OpConstantComposite",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Constituents'",
Quantifier: "*",
},
},
}
OpConstantSampler = &Opcode {
Opname: "OpConstantSampler",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindSamplerAddressingMode,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindLiteralInteger,
Name: "'Param'",
Quantifier: "",
},
Operand {
Kind: OperandKindSamplerFilterMode,
Name: "",
Quantifier: "",
},
},
}
OpConstantNull = &Opcode {
Opname: "OpConstantNull",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
},
}
OpSpecConstantTrue = &Opcode {
Opname: "OpSpecConstantTrue",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
},
}
OpSpecConstantFalse = &Opcode {
Opname: "OpSpecConstantFalse",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
},
}
OpSpecConstant = &Opcode {
Opname: "OpSpecConstant",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindLiteralContextDependentNumber,
Name: "'Value'",
Quantifier: "",
},
},
}
OpSpecConstantComposite = &Opcode {
Opname: "OpSpecConstantComposite",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Constituents'",
Quantifier: "*",
},
},
}
OpSpecConstantOp = &Opcode {
Opname: "OpSpecConstantOp",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindLiteralSpecConstantOpInteger,
Name: "'Opcode'",
Quantifier: "",
},
},
}
OpFunction = &Opcode {
Opname: "OpFunction",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindFunctionControl,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Function Type'",
Quantifier: "",
},
},
}
OpFunctionParameter = &Opcode {
Opname: "OpFunctionParameter",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
},
}
OpFunctionEnd = &Opcode {
Opname: "OpFunctionEnd",
Operands: []Operand {
},
}
OpFunctionCall = &Opcode {
Opname: "OpFunctionCall",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Function'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Argument 0', + 'Argument 1', + ...",
Quantifier: "*",
},
},
}
OpVariable = &Opcode {
Opname: "OpVariable",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindStorageClass,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Initializer'",
Quantifier: "?",
},
},
}
OpImageTexelPointer = &Opcode {
Opname: "OpImageTexelPointer",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Image'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Coordinate'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Sample'",
Quantifier: "",
},
},
}
OpLoad = &Opcode {
Opname: "OpLoad",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Pointer'",
Quantifier: "",
},
Operand {
Kind: OperandKindMemoryAccess,
Name: "",
Quantifier: "?",
},
},
}
OpStore = &Opcode {
Opname: "OpStore",
Operands: []Operand {
Operand {
Kind: OperandKindIdRef,
Name: "'Pointer'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Object'",
Quantifier: "",
},
Operand {
Kind: OperandKindMemoryAccess,
Name: "",
Quantifier: "?",
},
},
}
OpCopyMemory = &Opcode {
Opname: "OpCopyMemory",
Operands: []Operand {
Operand {
Kind: OperandKindIdRef,
Name: "'Target'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Source'",
Quantifier: "",
},
Operand {
Kind: OperandKindMemoryAccess,
Name: "",
Quantifier: "?",
},
Operand {
Kind: OperandKindMemoryAccess,
Name: "",
Quantifier: "?",
},
},
}
OpCopyMemorySized = &Opcode {
Opname: "OpCopyMemorySized",
Operands: []Operand {
Operand {
Kind: OperandKindIdRef,
Name: "'Target'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Source'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Size'",
Quantifier: "",
},
Operand {
Kind: OperandKindMemoryAccess,
Name: "",
Quantifier: "?",
},
Operand {
Kind: OperandKindMemoryAccess,
Name: "",
Quantifier: "?",
},
},
}
OpAccessChain = &Opcode {
Opname: "OpAccessChain",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Base'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Indexes'",
Quantifier: "*",
},
},
}
OpInBoundsAccessChain = &Opcode {
Opname: "OpInBoundsAccessChain",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Base'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Indexes'",
Quantifier: "*",
},
},
}
OpPtrAccessChain = &Opcode {
Opname: "OpPtrAccessChain",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Base'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Element'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Indexes'",
Quantifier: "*",
},
},
}
OpArrayLength = &Opcode {
Opname: "OpArrayLength",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Structure'",
Quantifier: "",
},
Operand {
Kind: OperandKindLiteralInteger,
Name: "'Array member'",
Quantifier: "",
},
},
}
OpGenericPtrMemSemantics = &Opcode {
Opname: "OpGenericPtrMemSemantics",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Pointer'",
Quantifier: "",
},
},
}
OpInBoundsPtrAccessChain = &Opcode {
Opname: "OpInBoundsPtrAccessChain",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Base'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Element'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Indexes'",
Quantifier: "*",
},
},
}
OpDecorate = &Opcode {
Opname: "OpDecorate",
Operands: []Operand {
Operand {
Kind: OperandKindIdRef,
Name: "'Target'",
Quantifier: "",
},
Operand {
Kind: OperandKindDecoration,
Name: "",
Quantifier: "",
},
},
}
OpMemberDecorate = &Opcode {
Opname: "OpMemberDecorate",
Operands: []Operand {
Operand {
Kind: OperandKindIdRef,
Name: "'Structure Type'",
Quantifier: "",
},
Operand {
Kind: OperandKindLiteralInteger,
Name: "'Member'",
Quantifier: "",
},
Operand {
Kind: OperandKindDecoration,
Name: "",
Quantifier: "",
},
},
}
OpDecorationGroup = &Opcode {
Opname: "OpDecorationGroup",
Operands: []Operand {
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
},
}
OpGroupDecorate = &Opcode {
Opname: "OpGroupDecorate",
Operands: []Operand {
Operand {
Kind: OperandKindIdRef,
Name: "'Decoration Group'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Targets'",
Quantifier: "*",
},
},
}
OpGroupMemberDecorate = &Opcode {
Opname: "OpGroupMemberDecorate",
Operands: []Operand {
Operand {
Kind: OperandKindIdRef,
Name: "'Decoration Group'",
Quantifier: "",
},
Operand {
Kind: OperandKindPairIdRefLiteralInteger,
Name: "'Targets'",
Quantifier: "*",
},
},
}
OpVectorExtractDynamic = &Opcode {
Opname: "OpVectorExtractDynamic",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Vector'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Index'",
Quantifier: "",
},
},
}
OpVectorInsertDynamic = &Opcode {
Opname: "OpVectorInsertDynamic",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Vector'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Component'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Index'",
Quantifier: "",
},
},
}
OpVectorShuffle = &Opcode {
Opname: "OpVectorShuffle",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Vector 1'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Vector 2'",
Quantifier: "",
},
Operand {
Kind: OperandKindLiteralInteger,
Name: "'Components'",
Quantifier: "*",
},
},
}
OpCompositeConstruct = &Opcode {
Opname: "OpCompositeConstruct",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Constituents'",
Quantifier: "*",
},
},
}
OpCompositeExtract = &Opcode {
Opname: "OpCompositeExtract",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Composite'",
Quantifier: "",
},
Operand {
Kind: OperandKindLiteralInteger,
Name: "'Indexes'",
Quantifier: "*",
},
},
}
OpCompositeInsert = &Opcode {
Opname: "OpCompositeInsert",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Object'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Composite'",
Quantifier: "",
},
Operand {
Kind: OperandKindLiteralInteger,
Name: "'Indexes'",
Quantifier: "*",
},
},
}
OpCopyObject = &Opcode {
Opname: "OpCopyObject",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Operand'",
Quantifier: "",
},
},
}
OpTranspose = &Opcode {
Opname: "OpTranspose",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Matrix'",
Quantifier: "",
},
},
}
OpSampledImage = &Opcode {
Opname: "OpSampledImage",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Image'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Sampler'",
Quantifier: "",
},
},
}
OpImageSampleImplicitLod = &Opcode {
Opname: "OpImageSampleImplicitLod",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Sampled Image'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Coordinate'",
Quantifier: "",
},
Operand {
Kind: OperandKindImageOperands,
Name: "",
Quantifier: "?",
},
},
}
OpImageSampleExplicitLod = &Opcode {
Opname: "OpImageSampleExplicitLod",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Sampled Image'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Coordinate'",
Quantifier: "",
},
Operand {
Kind: OperandKindImageOperands,
Name: "",
Quantifier: "",
},
},
}
OpImageSampleDrefImplicitLod = &Opcode {
Opname: "OpImageSampleDrefImplicitLod",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Sampled Image'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Coordinate'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'D~ref~'",
Quantifier: "",
},
Operand {
Kind: OperandKindImageOperands,
Name: "",
Quantifier: "?",
},
},
}
OpImageSampleDrefExplicitLod = &Opcode {
Opname: "OpImageSampleDrefExplicitLod",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Sampled Image'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Coordinate'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'D~ref~'",
Quantifier: "",
},
Operand {
Kind: OperandKindImageOperands,
Name: "",
Quantifier: "",
},
},
}
OpImageSampleProjImplicitLod = &Opcode {
Opname: "OpImageSampleProjImplicitLod",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Sampled Image'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Coordinate'",
Quantifier: "",
},
Operand {
Kind: OperandKindImageOperands,
Name: "",
Quantifier: "?",
},
},
}
OpImageSampleProjExplicitLod = &Opcode {
Opname: "OpImageSampleProjExplicitLod",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Sampled Image'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Coordinate'",
Quantifier: "",
},
Operand {
Kind: OperandKindImageOperands,
Name: "",
Quantifier: "",
},
},
}
OpImageSampleProjDrefImplicitLod = &Opcode {
Opname: "OpImageSampleProjDrefImplicitLod",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Sampled Image'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Coordinate'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'D~ref~'",
Quantifier: "",
},
Operand {
Kind: OperandKindImageOperands,
Name: "",
Quantifier: "?",
},
},
}
OpImageSampleProjDrefExplicitLod = &Opcode {
Opname: "OpImageSampleProjDrefExplicitLod",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Sampled Image'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Coordinate'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'D~ref~'",
Quantifier: "",
},
Operand {
Kind: OperandKindImageOperands,
Name: "",
Quantifier: "",
},
},
}
OpImageFetch = &Opcode {
Opname: "OpImageFetch",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Image'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Coordinate'",
Quantifier: "",
},
Operand {
Kind: OperandKindImageOperands,
Name: "",
Quantifier: "?",
},
},
}
OpImageGather = &Opcode {
Opname: "OpImageGather",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Sampled Image'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Coordinate'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Component'",
Quantifier: "",
},
Operand {
Kind: OperandKindImageOperands,
Name: "",
Quantifier: "?",
},
},
}
OpImageDrefGather = &Opcode {
Opname: "OpImageDrefGather",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Sampled Image'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Coordinate'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'D~ref~'",
Quantifier: "",
},
Operand {
Kind: OperandKindImageOperands,
Name: "",
Quantifier: "?",
},
},
}
OpImageRead = &Opcode {
Opname: "OpImageRead",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Image'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Coordinate'",
Quantifier: "",
},
Operand {
Kind: OperandKindImageOperands,
Name: "",
Quantifier: "?",
},
},
}
OpImageWrite = &Opcode {
Opname: "OpImageWrite",
Operands: []Operand {
Operand {
Kind: OperandKindIdRef,
Name: "'Image'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Coordinate'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Texel'",
Quantifier: "",
},
Operand {
Kind: OperandKindImageOperands,
Name: "",
Quantifier: "?",
},
},
}
OpImage = &Opcode {
Opname: "OpImage",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Sampled Image'",
Quantifier: "",
},
},
}
OpImageQueryFormat = &Opcode {
Opname: "OpImageQueryFormat",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Image'",
Quantifier: "",
},
},
}
OpImageQueryOrder = &Opcode {
Opname: "OpImageQueryOrder",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Image'",
Quantifier: "",
},
},
}
OpImageQuerySizeLod = &Opcode {
Opname: "OpImageQuerySizeLod",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Image'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Level of Detail'",
Quantifier: "",
},
},
}
OpImageQuerySize = &Opcode {
Opname: "OpImageQuerySize",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Image'",
Quantifier: "",
},
},
}
OpImageQueryLod = &Opcode {
Opname: "OpImageQueryLod",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Sampled Image'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Coordinate'",
Quantifier: "",
},
},
}
OpImageQueryLevels = &Opcode {
Opname: "OpImageQueryLevels",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Image'",
Quantifier: "",
},
},
}
OpImageQuerySamples = &Opcode {
Opname: "OpImageQuerySamples",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Image'",
Quantifier: "",
},
},
}
OpConvertFToU = &Opcode {
Opname: "OpConvertFToU",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Float Value'",
Quantifier: "",
},
},
}
OpConvertFToS = &Opcode {
Opname: "OpConvertFToS",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Float Value'",
Quantifier: "",
},
},
}
OpConvertSToF = &Opcode {
Opname: "OpConvertSToF",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Signed Value'",
Quantifier: "",
},
},
}
OpConvertUToF = &Opcode {
Opname: "OpConvertUToF",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Unsigned Value'",
Quantifier: "",
},
},
}
OpUConvert = &Opcode {
Opname: "OpUConvert",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Unsigned Value'",
Quantifier: "",
},
},
}
OpSConvert = &Opcode {
Opname: "OpSConvert",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Signed Value'",
Quantifier: "",
},
},
}
OpFConvert = &Opcode {
Opname: "OpFConvert",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Float Value'",
Quantifier: "",
},
},
}
OpQuantizeToF16 = &Opcode {
Opname: "OpQuantizeToF16",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Value'",
Quantifier: "",
},
},
}
OpConvertPtrToU = &Opcode {
Opname: "OpConvertPtrToU",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Pointer'",
Quantifier: "",
},
},
}
OpSatConvertSToU = &Opcode {
Opname: "OpSatConvertSToU",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Signed Value'",
Quantifier: "",
},
},
}
OpSatConvertUToS = &Opcode {
Opname: "OpSatConvertUToS",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Unsigned Value'",
Quantifier: "",
},
},
}
OpConvertUToPtr = &Opcode {
Opname: "OpConvertUToPtr",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Integer Value'",
Quantifier: "",
},
},
}
OpPtrCastToGeneric = &Opcode {
Opname: "OpPtrCastToGeneric",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Pointer'",
Quantifier: "",
},
},
}
OpGenericCastToPtr = &Opcode {
Opname: "OpGenericCastToPtr",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Pointer'",
Quantifier: "",
},
},
}
OpGenericCastToPtrExplicit = &Opcode {
Opname: "OpGenericCastToPtrExplicit",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Pointer'",
Quantifier: "",
},
Operand {
Kind: OperandKindStorageClass,
Name: "'Storage'",
Quantifier: "",
},
},
}
OpBitcast = &Opcode {
Opname: "OpBitcast",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Operand'",
Quantifier: "",
},
},
}
OpSNegate = &Opcode {
Opname: "OpSNegate",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Operand'",
Quantifier: "",
},
},
}
OpFNegate = &Opcode {
Opname: "OpFNegate",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Operand'",
Quantifier: "",
},
},
}
OpIAdd = &Opcode {
Opname: "OpIAdd",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Operand 1'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Operand 2'",
Quantifier: "",
},
},
}
OpFAdd = &Opcode {
Opname: "OpFAdd",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Operand 1'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Operand 2'",
Quantifier: "",
},
},
}
OpISub = &Opcode {
Opname: "OpISub",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Operand 1'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Operand 2'",
Quantifier: "",
},
},
}
OpFSub = &Opcode {
Opname: "OpFSub",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Operand 1'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Operand 2'",
Quantifier: "",
},
},
}
OpIMul = &Opcode {
Opname: "OpIMul",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Operand 1'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Operand 2'",
Quantifier: "",
},
},
}
OpFMul = &Opcode {
Opname: "OpFMul",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Operand 1'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Operand 2'",
Quantifier: "",
},
},
}
OpUDiv = &Opcode {
Opname: "OpUDiv",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Operand 1'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Operand 2'",
Quantifier: "",
},
},
}
OpSDiv = &Opcode {
Opname: "OpSDiv",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Operand 1'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Operand 2'",
Quantifier: "",
},
},
}
OpFDiv = &Opcode {
Opname: "OpFDiv",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Operand 1'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Operand 2'",
Quantifier: "",
},
},
}
OpUMod = &Opcode {
Opname: "OpUMod",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Operand 1'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Operand 2'",
Quantifier: "",
},
},
}
OpSRem = &Opcode {
Opname: "OpSRem",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Operand 1'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Operand 2'",
Quantifier: "",
},
},
}
OpSMod = &Opcode {
Opname: "OpSMod",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Operand 1'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Operand 2'",
Quantifier: "",
},
},
}
OpFRem = &Opcode {
Opname: "OpFRem",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Operand 1'",
Quantifier: "",
},
Operand {
Kind: OperandKindIdRef,
Name: "'Operand 2'",
Quantifier: "",
},
},
}
OpFMod = &Opcode {
Opname: "OpFMod",
Operands: []Operand {
Operand {
Kind: OperandKindIdResultType,
Name: "",
Quantifier: "",
},
Operand {
Kind: OperandKindIdResult,
Name: "",
Quantifier: "",
},
Operand {