Pre-generated instruction files

This commit is contained in:
Dr. Chat 2016-06-27 20:09:21 -05:00
parent 8590f9cc81
commit 327bc49a2d
6 changed files with 1829 additions and 0 deletions

294
source/core.insts-1.0.inc Normal file
View File

@ -0,0 +1,294 @@
{"Nop", SpvOpNop, 0x0000, 0, {}, 0, 0},
{"Undef", SpvOpUndef, 0x0000, 2, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID}, 1, 1},
{"SourceContinued", SpvOpSourceContinued, 0x0000, 1, {SPV_OPERAND_TYPE_LITERAL_STRING}, 0, 0},
{"Source", SpvOpSource, 0x0000, 4, {SPV_OPERAND_TYPE_SOURCE_LANGUAGE, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_OPTIONAL_ID, SPV_OPERAND_TYPE_OPTIONAL_LITERAL_STRING}, 0, 0},
{"SourceExtension", SpvOpSourceExtension, 0x0000, 1, {SPV_OPERAND_TYPE_LITERAL_STRING}, 0, 0},
{"Name", SpvOpName, 0x0000, 2, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LITERAL_STRING}, 0, 0},
{"MemberName", SpvOpMemberName, 0x0000, 3, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_LITERAL_STRING}, 0, 0},
{"String", SpvOpString, 0x0000, 2, {SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_LITERAL_STRING}, 1, 0},
{"Line", SpvOpLine, 0x0000, 3, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_LITERAL_INTEGER}, 0, 0},
{"Extension", SpvOpExtension, 0x0000, 1, {SPV_OPERAND_TYPE_LITERAL_STRING}, 0, 0},
{"ExtInstImport", SpvOpExtInstImport, 0x0000, 2, {SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_LITERAL_STRING}, 1, 0},
{"ExtInst", SpvOpExtInst, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_EXTENSION_INSTRUCTION_NUMBER}, 1, 1},
{"MemoryModel", SpvOpMemoryModel, 0x0000, 2, {SPV_OPERAND_TYPE_ADDRESSING_MODEL, SPV_OPERAND_TYPE_MEMORY_MODEL}, 0, 0},
{"EntryPoint", SpvOpEntryPoint, 0x0000, 4, {SPV_OPERAND_TYPE_EXECUTION_MODEL, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LITERAL_STRING, SPV_OPERAND_TYPE_VARIABLE_ID}, 0, 0},
{"ExecutionMode", SpvOpExecutionMode, 0x0000, 2, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_EXECUTION_MODE}, 0, 0},
{"Capability", SpvOpCapability, 0x0000, 1, {SPV_OPERAND_TYPE_CAPABILITY}, 0, 0},
{"TypeVoid", SpvOpTypeVoid, 0x0000, 1, {SPV_OPERAND_TYPE_RESULT_ID}, 1, 0},
{"TypeBool", SpvOpTypeBool, 0x0000, 1, {SPV_OPERAND_TYPE_RESULT_ID}, 1, 0},
{"TypeInt", SpvOpTypeInt, 0x0000, 3, {SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_LITERAL_INTEGER}, 1, 0},
{"TypeFloat", SpvOpTypeFloat, 0x0000, 2, {SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_LITERAL_INTEGER}, 1, 0},
{"TypeVector", SpvOpTypeVector, 0x0000, 3, {SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LITERAL_INTEGER}, 1, 0},
{"TypeMatrix", SpvOpTypeMatrix, 0x0001, 3, {SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LITERAL_INTEGER}, 1, 0},
{"TypeImage", SpvOpTypeImage, 0x0000, 9, {SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_DIMENSIONALITY, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_SAMPLER_IMAGE_FORMAT, SPV_OPERAND_TYPE_OPTIONAL_ACCESS_QUALIFIER}, 1, 0},
{"TypeSampler", SpvOpTypeSampler, 0x0000, 1, {SPV_OPERAND_TYPE_RESULT_ID}, 1, 0},
{"TypeSampledImage", SpvOpTypeSampledImage, 0x0000, 2, {SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 0},
{"TypeArray", SpvOpTypeArray, 0x0000, 3, {SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 0},
{"TypeRuntimeArray", SpvOpTypeRuntimeArray, 0x0002, 2, {SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 0},
{"TypeStruct", SpvOpTypeStruct, 0x0000, 2, {SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_VARIABLE_ID}, 1, 0},
{"TypeOpaque", SpvOpTypeOpaque, 0x0040, 2, {SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_LITERAL_STRING}, 1, 0},
{"TypePointer", SpvOpTypePointer, 0x0000, 3, {SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_STORAGE_CLASS, SPV_OPERAND_TYPE_ID}, 1, 0},
{"TypeFunction", SpvOpTypeFunction, 0x0000, 3, {SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_VARIABLE_ID}, 1, 0},
{"TypeEvent", SpvOpTypeEvent, 0x0040, 1, {SPV_OPERAND_TYPE_RESULT_ID}, 1, 0},
{"TypeDeviceEvent", SpvOpTypeDeviceEvent, 0x80000, 1, {SPV_OPERAND_TYPE_RESULT_ID}, 1, 0},
{"TypeReserveId", SpvOpTypeReserveId, 0x20000, 1, {SPV_OPERAND_TYPE_RESULT_ID}, 1, 0},
{"TypeQueue", SpvOpTypeQueue, 0x80000, 1, {SPV_OPERAND_TYPE_RESULT_ID}, 1, 0},
{"TypePipe", SpvOpTypePipe, 0x20000, 2, {SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ACCESS_QUALIFIER}, 1, 0},
{"TypeForwardPointer", SpvOpTypeForwardPointer, 0x0010, 2, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_STORAGE_CLASS}, 0, 0},
{"ConstantTrue", SpvOpConstantTrue, 0x0000, 2, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID}, 1, 1},
{"ConstantFalse", SpvOpConstantFalse, 0x0000, 2, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID}, 1, 1},
{"Constant", SpvOpConstant, 0x0000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_TYPED_LITERAL_NUMBER}, 1, 1},
{"ConstantComposite", SpvOpConstantComposite, 0x0000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_VARIABLE_ID}, 1, 1},
{"ConstantSampler", SpvOpConstantSampler, 0x100000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SAMPLER_ADDRESSING_MODE, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_SAMPLER_FILTER_MODE}, 1, 1},
{"ConstantNull", SpvOpConstantNull, 0x0000, 2, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID}, 1, 1},
{"SpecConstantTrue", SpvOpSpecConstantTrue, 0x0000, 2, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID}, 1, 1},
{"SpecConstantFalse", SpvOpSpecConstantFalse, 0x0000, 2, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID}, 1, 1},
{"SpecConstant", SpvOpSpecConstant, 0x0000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_TYPED_LITERAL_NUMBER}, 1, 1},
{"SpecConstantComposite", SpvOpSpecConstantComposite, 0x0000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_VARIABLE_ID}, 1, 1},
{"SpecConstantOp", SpvOpSpecConstantOp, 0x0000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SPEC_CONSTANT_OP_NUMBER}, 1, 1},
{"Function", SpvOpFunction, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_FUNCTION_CONTROL, SPV_OPERAND_TYPE_ID}, 1, 1},
{"FunctionParameter", SpvOpFunctionParameter, 0x0000, 2, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID}, 1, 1},
{"FunctionEnd", SpvOpFunctionEnd, 0x0000, 0, {}, 0, 0},
{"FunctionCall", SpvOpFunctionCall, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_VARIABLE_ID}, 1, 1},
{"Variable", SpvOpVariable, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_STORAGE_CLASS, SPV_OPERAND_TYPE_OPTIONAL_ID}, 1, 1},
{"ImageTexelPointer", SpvOpImageTexelPointer, 0x0000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"Load", SpvOpLoad, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_MEMORY_ACCESS}, 1, 1},
{"Store", SpvOpStore, 0x0000, 3, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_MEMORY_ACCESS}, 0, 0},
{"CopyMemory", SpvOpCopyMemory, 0x0000, 3, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_MEMORY_ACCESS}, 0, 0},
{"CopyMemorySized", SpvOpCopyMemorySized, 0x0010, 4, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_MEMORY_ACCESS}, 0, 0},
{"AccessChain", SpvOpAccessChain, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_VARIABLE_ID}, 1, 1},
{"InBoundsAccessChain", SpvOpInBoundsAccessChain, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_VARIABLE_ID}, 1, 1},
{"PtrAccessChain", SpvOpPtrAccessChain, 0x0010, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_VARIABLE_ID}, 1, 1},
{"ArrayLength", SpvOpArrayLength, 0x0002, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LITERAL_INTEGER}, 1, 1},
{"GenericPtrMemSemantics", SpvOpGenericPtrMemSemantics, 0x0040, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"InBoundsPtrAccessChain", SpvOpInBoundsPtrAccessChain, 0x0010, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_VARIABLE_ID}, 1, 1},
{"Decorate", SpvOpDecorate, 0x0000, 2, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_DECORATION}, 0, 0},
{"MemberDecorate", SpvOpMemberDecorate, 0x0000, 3, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_DECORATION}, 0, 0},
{"DecorationGroup", SpvOpDecorationGroup, 0x0000, 1, {SPV_OPERAND_TYPE_RESULT_ID}, 1, 0},
{"GroupDecorate", SpvOpGroupDecorate, 0x0000, 2, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_VARIABLE_ID}, 0, 0},
{"GroupMemberDecorate", SpvOpGroupMemberDecorate, 0x0000, 2, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_VARIABLE_ID_LITERAL_INTEGER}, 0, 0},
{"VectorExtractDynamic", SpvOpVectorExtractDynamic, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"VectorInsertDynamic", SpvOpVectorInsertDynamic, 0x0000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"VectorShuffle", SpvOpVectorShuffle, 0x0000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_VARIABLE_LITERAL_INTEGER}, 1, 1},
{"CompositeConstruct", SpvOpCompositeConstruct, 0x0000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_VARIABLE_ID}, 1, 1},
{"CompositeExtract", SpvOpCompositeExtract, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_VARIABLE_LITERAL_INTEGER}, 1, 1},
{"CompositeInsert", SpvOpCompositeInsert, 0x0000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_VARIABLE_LITERAL_INTEGER}, 1, 1},
{"CopyObject", SpvOpCopyObject, 0x0000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"Transpose", SpvOpTranspose, 0x0001, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"SampledImage", SpvOpSampledImage, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"ImageSampleImplicitLod", SpvOpImageSampleImplicitLod, 0x0002, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_IMAGE}, 1, 1},
{"ImageSampleExplicitLod", SpvOpImageSampleExplicitLod, 0x0000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_IMAGE}, 1, 1},
{"ImageSampleDrefImplicitLod", SpvOpImageSampleDrefImplicitLod, 0x0002, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_IMAGE}, 1, 1},
{"ImageSampleDrefExplicitLod", SpvOpImageSampleDrefExplicitLod, 0x0002, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_IMAGE}, 1, 1},
{"ImageSampleProjImplicitLod", SpvOpImageSampleProjImplicitLod, 0x0002, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_IMAGE}, 1, 1},
{"ImageSampleProjExplicitLod", SpvOpImageSampleProjExplicitLod, 0x0002, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_IMAGE}, 1, 1},
{"ImageSampleProjDrefImplicitLod", SpvOpImageSampleProjDrefImplicitLod, 0x0002, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_IMAGE}, 1, 1},
{"ImageSampleProjDrefExplicitLod", SpvOpImageSampleProjDrefExplicitLod, 0x0002, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_IMAGE}, 1, 1},
{"ImageFetch", SpvOpImageFetch, 0x0000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_IMAGE}, 1, 1},
{"ImageGather", SpvOpImageGather, 0x0002, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_IMAGE}, 1, 1},
{"ImageDrefGather", SpvOpImageDrefGather, 0x0002, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_IMAGE}, 1, 1},
{"ImageRead", SpvOpImageRead, 0x0000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_IMAGE}, 1, 1},
{"ImageWrite", SpvOpImageWrite, 0x0000, 4, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_IMAGE}, 0, 0},
{"Image", SpvOpImage, 0x0000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"ImageQueryFormat", SpvOpImageQueryFormat, 0x0040, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"ImageQueryOrder", SpvOpImageQueryOrder, 0x0040, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"ImageQuerySizeLod", SpvOpImageQuerySizeLod, 0x4000000000040, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"ImageQuerySize", SpvOpImageQuerySize, 0x4000000000040, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"ImageQueryLod", SpvOpImageQueryLod, 0x4000000000000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"ImageQueryLevels", SpvOpImageQueryLevels, 0x4000000000040, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"ImageQuerySamples", SpvOpImageQuerySamples, 0x4000000000040, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"ConvertFToU", SpvOpConvertFToU, 0x0000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"ConvertFToS", SpvOpConvertFToS, 0x0000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"ConvertSToF", SpvOpConvertSToF, 0x0000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"ConvertUToF", SpvOpConvertUToF, 0x0000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"UConvert", SpvOpUConvert, 0x0000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"SConvert", SpvOpSConvert, 0x0000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"FConvert", SpvOpFConvert, 0x0000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"QuantizeToF16", SpvOpQuantizeToF16, 0x0000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"ConvertPtrToU", SpvOpConvertPtrToU, 0x0010, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"SatConvertSToU", SpvOpSatConvertSToU, 0x0040, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"SatConvertUToS", SpvOpSatConvertUToS, 0x0040, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"ConvertUToPtr", SpvOpConvertUToPtr, 0x0010, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"PtrCastToGeneric", SpvOpPtrCastToGeneric, 0x0040, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"GenericCastToPtr", SpvOpGenericCastToPtr, 0x0040, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"GenericCastToPtrExplicit", SpvOpGenericCastToPtrExplicit, 0x0040, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_STORAGE_CLASS}, 1, 1},
{"Bitcast", SpvOpBitcast, 0x0000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"SNegate", SpvOpSNegate, 0x0000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"FNegate", SpvOpFNegate, 0x0000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"IAdd", SpvOpIAdd, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"FAdd", SpvOpFAdd, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"ISub", SpvOpISub, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"FSub", SpvOpFSub, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"IMul", SpvOpIMul, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"FMul", SpvOpFMul, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"UDiv", SpvOpUDiv, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"SDiv", SpvOpSDiv, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"FDiv", SpvOpFDiv, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"UMod", SpvOpUMod, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"SRem", SpvOpSRem, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"SMod", SpvOpSMod, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"FRem", SpvOpFRem, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"FMod", SpvOpFMod, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"VectorTimesScalar", SpvOpVectorTimesScalar, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"MatrixTimesScalar", SpvOpMatrixTimesScalar, 0x0001, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"VectorTimesMatrix", SpvOpVectorTimesMatrix, 0x0001, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"MatrixTimesVector", SpvOpMatrixTimesVector, 0x0001, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"MatrixTimesMatrix", SpvOpMatrixTimesMatrix, 0x0001, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"OuterProduct", SpvOpOuterProduct, 0x0001, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"Dot", SpvOpDot, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"IAddCarry", SpvOpIAddCarry, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"ISubBorrow", SpvOpISubBorrow, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"UMulExtended", SpvOpUMulExtended, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"SMulExtended", SpvOpSMulExtended, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"Any", SpvOpAny, 0x0000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"All", SpvOpAll, 0x0000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"IsNan", SpvOpIsNan, 0x0000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"IsInf", SpvOpIsInf, 0x0000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"IsFinite", SpvOpIsFinite, 0x0040, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"IsNormal", SpvOpIsNormal, 0x0040, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"SignBitSet", SpvOpSignBitSet, 0x0040, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"LessOrGreater", SpvOpLessOrGreater, 0x0040, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"Ordered", SpvOpOrdered, 0x0040, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"Unordered", SpvOpUnordered, 0x0040, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"LogicalEqual", SpvOpLogicalEqual, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"LogicalNotEqual", SpvOpLogicalNotEqual, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"LogicalOr", SpvOpLogicalOr, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"LogicalAnd", SpvOpLogicalAnd, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"LogicalNot", SpvOpLogicalNot, 0x0000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"Select", SpvOpSelect, 0x0000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"IEqual", SpvOpIEqual, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"INotEqual", SpvOpINotEqual, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"UGreaterThan", SpvOpUGreaterThan, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"SGreaterThan", SpvOpSGreaterThan, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"UGreaterThanEqual", SpvOpUGreaterThanEqual, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"SGreaterThanEqual", SpvOpSGreaterThanEqual, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"ULessThan", SpvOpULessThan, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"SLessThan", SpvOpSLessThan, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"ULessThanEqual", SpvOpULessThanEqual, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"SLessThanEqual", SpvOpSLessThanEqual, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"FOrdEqual", SpvOpFOrdEqual, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"FUnordEqual", SpvOpFUnordEqual, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"FOrdNotEqual", SpvOpFOrdNotEqual, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"FUnordNotEqual", SpvOpFUnordNotEqual, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"FOrdLessThan", SpvOpFOrdLessThan, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"FUnordLessThan", SpvOpFUnordLessThan, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"FOrdGreaterThan", SpvOpFOrdGreaterThan, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"FUnordGreaterThan", SpvOpFUnordGreaterThan, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"FOrdLessThanEqual", SpvOpFOrdLessThanEqual, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"FUnordLessThanEqual", SpvOpFUnordLessThanEqual, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"FOrdGreaterThanEqual", SpvOpFOrdGreaterThanEqual, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"FUnordGreaterThanEqual", SpvOpFUnordGreaterThanEqual, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"ShiftRightLogical", SpvOpShiftRightLogical, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"ShiftRightArithmetic", SpvOpShiftRightArithmetic, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"ShiftLeftLogical", SpvOpShiftLeftLogical, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"BitwiseOr", SpvOpBitwiseOr, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"BitwiseXor", SpvOpBitwiseXor, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"BitwiseAnd", SpvOpBitwiseAnd, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"Not", SpvOpNot, 0x0000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"BitFieldInsert", SpvOpBitFieldInsert, 0x0002, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"BitFieldSExtract", SpvOpBitFieldSExtract, 0x0002, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"BitFieldUExtract", SpvOpBitFieldUExtract, 0x0002, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"BitReverse", SpvOpBitReverse, 0x0002, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"BitCount", SpvOpBitCount, 0x0000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"DPdx", SpvOpDPdx, 0x0002, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"DPdy", SpvOpDPdy, 0x0002, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"Fwidth", SpvOpFwidth, 0x0002, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"DPdxFine", SpvOpDPdxFine, 0x8000000000000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"DPdyFine", SpvOpDPdyFine, 0x8000000000000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"FwidthFine", SpvOpFwidthFine, 0x8000000000000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"DPdxCoarse", SpvOpDPdxCoarse, 0x8000000000000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"DPdyCoarse", SpvOpDPdyCoarse, 0x8000000000000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"FwidthCoarse", SpvOpFwidthCoarse, 0x8000000000000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"EmitVertex", SpvOpEmitVertex, 0x0004, 0, {}, 0, 0},
{"EndPrimitive", SpvOpEndPrimitive, 0x0004, 0, {}, 0, 0},
{"EmitStreamVertex", SpvOpEmitStreamVertex, 0x40000000000000, 1, {SPV_OPERAND_TYPE_ID}, 0, 0},
{"EndStreamPrimitive", SpvOpEndStreamPrimitive, 0x40000000000000, 1, {SPV_OPERAND_TYPE_ID}, 0, 0},
{"ControlBarrier", SpvOpControlBarrier, 0x0000, 3, {SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID}, 0, 0},
{"MemoryBarrier", SpvOpMemoryBarrier, 0x0000, 2, {SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID}, 0, 0},
{"AtomicLoad", SpvOpAtomicLoad, 0x0000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID}, 1, 1},
{"AtomicStore", SpvOpAtomicStore, 0x0000, 4, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID, SPV_OPERAND_TYPE_ID}, 0, 0},
{"AtomicExchange", SpvOpAtomicExchange, 0x0000, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"AtomicCompareExchange", SpvOpAtomicCompareExchange, 0x0000, 8, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"AtomicCompareExchangeWeak", SpvOpAtomicCompareExchangeWeak, 0x0040, 8, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"AtomicIIncrement", SpvOpAtomicIIncrement, 0x0000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID}, 1, 1},
{"AtomicIDecrement", SpvOpAtomicIDecrement, 0x0000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID}, 1, 1},
{"AtomicIAdd", SpvOpAtomicIAdd, 0x0000, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"AtomicISub", SpvOpAtomicISub, 0x0000, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"AtomicSMin", SpvOpAtomicSMin, 0x0000, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"AtomicUMin", SpvOpAtomicUMin, 0x0000, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"AtomicSMax", SpvOpAtomicSMax, 0x0000, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"AtomicUMax", SpvOpAtomicUMax, 0x0000, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"AtomicAnd", SpvOpAtomicAnd, 0x0000, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"AtomicOr", SpvOpAtomicOr, 0x0000, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"AtomicXor", SpvOpAtomicXor, 0x0000, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"Phi", SpvOpPhi, 0x0000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_VARIABLE_ID}, 1, 1},
{"LoopMerge", SpvOpLoopMerge, 0x0000, 3, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LOOP_CONTROL}, 0, 0},
{"SelectionMerge", SpvOpSelectionMerge, 0x0000, 2, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SELECTION_CONTROL}, 0, 0},
{"Label", SpvOpLabel, 0x0000, 1, {SPV_OPERAND_TYPE_RESULT_ID}, 1, 0},
{"Branch", SpvOpBranch, 0x0000, 1, {SPV_OPERAND_TYPE_ID}, 0, 0},
{"BranchConditional", SpvOpBranchConditional, 0x0000, 4, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_VARIABLE_LITERAL_INTEGER}, 0, 0},
{"Switch", SpvOpSwitch, 0x0000, 3, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_VARIABLE_LITERAL_INTEGER_ID}, 0, 0},
{"Kill", SpvOpKill, 0x0002, 0, {}, 0, 0},
{"Return", SpvOpReturn, 0x0000, 0, {}, 0, 0},
{"ReturnValue", SpvOpReturnValue, 0x0000, 1, {SPV_OPERAND_TYPE_ID}, 0, 0},
{"Unreachable", SpvOpUnreachable, 0x0000, 0, {}, 0, 0},
{"LifetimeStart", SpvOpLifetimeStart, 0x0040, 2, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LITERAL_INTEGER}, 0, 0},
{"LifetimeStop", SpvOpLifetimeStop, 0x0040, 2, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LITERAL_INTEGER}, 0, 0},
{"GroupAsyncCopy", SpvOpGroupAsyncCopy, 0x0040, 8, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"GroupWaitEvents", SpvOpGroupWaitEvents, 0x0040, 3, {SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 0, 0},
{"GroupAll", SpvOpGroupAll, 0x40000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"GroupAny", SpvOpGroupAny, 0x40000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"GroupBroadcast", SpvOpGroupBroadcast, 0x40000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"GroupIAdd", SpvOpGroupIAdd, 0x40000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_GROUP_OPERATION, SPV_OPERAND_TYPE_ID}, 1, 1},
{"GroupFAdd", SpvOpGroupFAdd, 0x40000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_GROUP_OPERATION, SPV_OPERAND_TYPE_ID}, 1, 1},
{"GroupFMin", SpvOpGroupFMin, 0x40000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_GROUP_OPERATION, SPV_OPERAND_TYPE_ID}, 1, 1},
{"GroupUMin", SpvOpGroupUMin, 0x40000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_GROUP_OPERATION, SPV_OPERAND_TYPE_ID}, 1, 1},
{"GroupSMin", SpvOpGroupSMin, 0x40000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_GROUP_OPERATION, SPV_OPERAND_TYPE_ID}, 1, 1},
{"GroupFMax", SpvOpGroupFMax, 0x40000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_GROUP_OPERATION, SPV_OPERAND_TYPE_ID}, 1, 1},
{"GroupUMax", SpvOpGroupUMax, 0x40000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_GROUP_OPERATION, SPV_OPERAND_TYPE_ID}, 1, 1},
{"GroupSMax", SpvOpGroupSMax, 0x40000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_GROUP_OPERATION, SPV_OPERAND_TYPE_ID}, 1, 1},
{"ReadPipe", SpvOpReadPipe, 0x20000, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"WritePipe", SpvOpWritePipe, 0x20000, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"ReservedReadPipe", SpvOpReservedReadPipe, 0x20000, 8, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"ReservedWritePipe", SpvOpReservedWritePipe, 0x20000, 8, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"ReserveReadPipePackets", SpvOpReserveReadPipePackets, 0x20000, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"ReserveWritePipePackets", SpvOpReserveWritePipePackets, 0x20000, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"CommitReadPipe", SpvOpCommitReadPipe, 0x20000, 4, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 0, 0},
{"CommitWritePipe", SpvOpCommitWritePipe, 0x20000, 4, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 0, 0},
{"IsValidReserveId", SpvOpIsValidReserveId, 0x20000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"GetNumPipePackets", SpvOpGetNumPipePackets, 0x20000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"GetMaxPipePackets", SpvOpGetMaxPipePackets, 0x20000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"GroupReserveReadPipePackets", SpvOpGroupReserveReadPipePackets, 0x20000, 7, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"GroupReserveWritePipePackets", SpvOpGroupReserveWritePipePackets, 0x20000, 7, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"GroupCommitReadPipe", SpvOpGroupCommitReadPipe, 0x20000, 5, {SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 0, 0},
{"GroupCommitWritePipe", SpvOpGroupCommitWritePipe, 0x20000, 5, {SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 0, 0},
{"EnqueueMarker", SpvOpEnqueueMarker, 0x80000, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"EnqueueKernel", SpvOpEnqueueKernel, 0x80000, 13, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_VARIABLE_ID}, 1, 1},
{"GetKernelNDrangeSubGroupCount", SpvOpGetKernelNDrangeSubGroupCount, 0x80000, 7, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"GetKernelNDrangeMaxSubGroupSize", SpvOpGetKernelNDrangeMaxSubGroupSize, 0x80000, 7, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"GetKernelWorkGroupSize", SpvOpGetKernelWorkGroupSize, 0x80000, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"GetKernelPreferredWorkGroupSizeMultiple", SpvOpGetKernelPreferredWorkGroupSizeMultiple, 0x80000, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"RetainEvent", SpvOpRetainEvent, 0x80000, 1, {SPV_OPERAND_TYPE_ID}, 0, 0},
{"ReleaseEvent", SpvOpReleaseEvent, 0x80000, 1, {SPV_OPERAND_TYPE_ID}, 0, 0},
{"CreateUserEvent", SpvOpCreateUserEvent, 0x80000, 2, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID}, 1, 1},
{"IsValidEvent", SpvOpIsValidEvent, 0x80000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"SetUserEventStatus", SpvOpSetUserEventStatus, 0x80000, 2, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 0, 0},
{"CaptureEventProfilingInfo", SpvOpCaptureEventProfilingInfo, 0x80000, 3, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 0, 0},
{"GetDefaultQueue", SpvOpGetDefaultQueue, 0x80000, 2, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID}, 1, 1},
{"BuildNDRange", SpvOpBuildNDRange, 0x80000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"ImageSparseSampleImplicitLod", SpvOpImageSparseSampleImplicitLod, 0x20000000000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_IMAGE}, 1, 1},
{"ImageSparseSampleExplicitLod", SpvOpImageSparseSampleExplicitLod, 0x20000000000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_IMAGE}, 1, 1},
{"ImageSparseSampleDrefImplicitLod", SpvOpImageSparseSampleDrefImplicitLod, 0x20000000000, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_IMAGE}, 1, 1},
{"ImageSparseSampleDrefExplicitLod", SpvOpImageSparseSampleDrefExplicitLod, 0x20000000000, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_IMAGE}, 1, 1},
{"ImageSparseSampleProjImplicitLod", SpvOpImageSparseSampleProjImplicitLod, 0x20000000000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_IMAGE}, 1, 1},
{"ImageSparseSampleProjExplicitLod", SpvOpImageSparseSampleProjExplicitLod, 0x20000000000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_IMAGE}, 1, 1},
{"ImageSparseSampleProjDrefImplicitLod", SpvOpImageSparseSampleProjDrefImplicitLod, 0x20000000000, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_IMAGE}, 1, 1},
{"ImageSparseSampleProjDrefExplicitLod", SpvOpImageSparseSampleProjDrefExplicitLod, 0x20000000000, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_IMAGE}, 1, 1},
{"ImageSparseFetch", SpvOpImageSparseFetch, 0x20000000000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_IMAGE}, 1, 1},
{"ImageSparseGather", SpvOpImageSparseGather, 0x20000000000, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_IMAGE}, 1, 1},
{"ImageSparseDrefGather", SpvOpImageSparseDrefGather, 0x20000000000, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_IMAGE}, 1, 1},
{"ImageSparseTexelsResident", SpvOpImageSparseTexelsResident, 0x20000000000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"NoLine", SpvOpNoLine, 0x0000, 0, {}, 0, 0},
{"AtomicFlagTestAndSet", SpvOpAtomicFlagTestAndSet, 0x0040, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID}, 1, 1},
{"AtomicFlagClear", SpvOpAtomicFlagClear, 0x0040, 3, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID}, 0, 0},
{"ImageSparseRead", SpvOpImageSparseRead, 0x20000000000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_IMAGE}, 1, 1}

304
source/core.insts-1.1.inc Normal file
View File

@ -0,0 +1,304 @@
{"Nop", SpvOpNop, 0x0000, 0, {}, 0, 0},
{"Undef", SpvOpUndef, 0x0000, 2, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID}, 1, 1},
{"SourceContinued", SpvOpSourceContinued, 0x0000, 1, {SPV_OPERAND_TYPE_LITERAL_STRING}, 0, 0},
{"Source", SpvOpSource, 0x0000, 4, {SPV_OPERAND_TYPE_SOURCE_LANGUAGE, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_OPTIONAL_ID, SPV_OPERAND_TYPE_OPTIONAL_LITERAL_STRING}, 0, 0},
{"SourceExtension", SpvOpSourceExtension, 0x0000, 1, {SPV_OPERAND_TYPE_LITERAL_STRING}, 0, 0},
{"Name", SpvOpName, 0x0000, 2, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LITERAL_STRING}, 0, 0},
{"MemberName", SpvOpMemberName, 0x0000, 3, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_LITERAL_STRING}, 0, 0},
{"String", SpvOpString, 0x0000, 2, {SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_LITERAL_STRING}, 1, 0},
{"Line", SpvOpLine, 0x0000, 3, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_LITERAL_INTEGER}, 0, 0},
{"Extension", SpvOpExtension, 0x0000, 1, {SPV_OPERAND_TYPE_LITERAL_STRING}, 0, 0},
{"ExtInstImport", SpvOpExtInstImport, 0x0000, 2, {SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_LITERAL_STRING}, 1, 0},
{"ExtInst", SpvOpExtInst, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_EXTENSION_INSTRUCTION_NUMBER}, 1, 1},
{"MemoryModel", SpvOpMemoryModel, 0x0000, 2, {SPV_OPERAND_TYPE_ADDRESSING_MODEL, SPV_OPERAND_TYPE_MEMORY_MODEL}, 0, 0},
{"EntryPoint", SpvOpEntryPoint, 0x0000, 4, {SPV_OPERAND_TYPE_EXECUTION_MODEL, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LITERAL_STRING, SPV_OPERAND_TYPE_VARIABLE_ID}, 0, 0},
{"ExecutionMode", SpvOpExecutionMode, 0x0000, 2, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_EXECUTION_MODE}, 0, 0},
{"Capability", SpvOpCapability, 0x0000, 1, {SPV_OPERAND_TYPE_CAPABILITY}, 0, 0},
{"TypeVoid", SpvOpTypeVoid, 0x0000, 1, {SPV_OPERAND_TYPE_RESULT_ID}, 1, 0},
{"TypeBool", SpvOpTypeBool, 0x0000, 1, {SPV_OPERAND_TYPE_RESULT_ID}, 1, 0},
{"TypeInt", SpvOpTypeInt, 0x0000, 3, {SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_LITERAL_INTEGER}, 1, 0},
{"TypeFloat", SpvOpTypeFloat, 0x0000, 2, {SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_LITERAL_INTEGER}, 1, 0},
{"TypeVector", SpvOpTypeVector, 0x0000, 3, {SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LITERAL_INTEGER}, 1, 0},
{"TypeMatrix", SpvOpTypeMatrix, 0x0001, 3, {SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LITERAL_INTEGER}, 1, 0},
{"TypeImage", SpvOpTypeImage, 0x0000, 9, {SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_DIMENSIONALITY, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_SAMPLER_IMAGE_FORMAT, SPV_OPERAND_TYPE_OPTIONAL_ACCESS_QUALIFIER}, 1, 0},
{"TypeSampler", SpvOpTypeSampler, 0x0000, 1, {SPV_OPERAND_TYPE_RESULT_ID}, 1, 0},
{"TypeSampledImage", SpvOpTypeSampledImage, 0x0000, 2, {SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 0},
{"TypeArray", SpvOpTypeArray, 0x0000, 3, {SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 0},
{"TypeRuntimeArray", SpvOpTypeRuntimeArray, 0x0002, 2, {SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 0},
{"TypeStruct", SpvOpTypeStruct, 0x0000, 2, {SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_VARIABLE_ID}, 1, 0},
{"TypeOpaque", SpvOpTypeOpaque, 0x0040, 2, {SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_LITERAL_STRING}, 1, 0},
{"TypePointer", SpvOpTypePointer, 0x0000, 3, {SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_STORAGE_CLASS, SPV_OPERAND_TYPE_ID}, 1, 0},
{"TypeFunction", SpvOpTypeFunction, 0x0000, 3, {SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_VARIABLE_ID}, 1, 0},
{"TypeEvent", SpvOpTypeEvent, 0x0040, 1, {SPV_OPERAND_TYPE_RESULT_ID}, 1, 0},
{"TypeDeviceEvent", SpvOpTypeDeviceEvent, 0x80000, 1, {SPV_OPERAND_TYPE_RESULT_ID}, 1, 0},
{"TypeReserveId", SpvOpTypeReserveId, 0x20000, 1, {SPV_OPERAND_TYPE_RESULT_ID}, 1, 0},
{"TypeQueue", SpvOpTypeQueue, 0x80000, 1, {SPV_OPERAND_TYPE_RESULT_ID}, 1, 0},
{"TypePipe", SpvOpTypePipe, 0x20000, 2, {SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ACCESS_QUALIFIER}, 1, 0},
{"TypeForwardPointer", SpvOpTypeForwardPointer, 0x0010, 2, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_STORAGE_CLASS}, 0, 0},
{"ConstantTrue", SpvOpConstantTrue, 0x0000, 2, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID}, 1, 1},
{"ConstantFalse", SpvOpConstantFalse, 0x0000, 2, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID}, 1, 1},
{"Constant", SpvOpConstant, 0x0000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_TYPED_LITERAL_NUMBER}, 1, 1},
{"ConstantComposite", SpvOpConstantComposite, 0x0000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_VARIABLE_ID}, 1, 1},
{"ConstantSampler", SpvOpConstantSampler, 0x100000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SAMPLER_ADDRESSING_MODE, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_SAMPLER_FILTER_MODE}, 1, 1},
{"ConstantNull", SpvOpConstantNull, 0x0000, 2, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID}, 1, 1},
{"SpecConstantTrue", SpvOpSpecConstantTrue, 0x0000, 2, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID}, 1, 1},
{"SpecConstantFalse", SpvOpSpecConstantFalse, 0x0000, 2, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID}, 1, 1},
{"SpecConstant", SpvOpSpecConstant, 0x0000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_TYPED_LITERAL_NUMBER}, 1, 1},
{"SpecConstantComposite", SpvOpSpecConstantComposite, 0x0000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_VARIABLE_ID}, 1, 1},
{"SpecConstantOp", SpvOpSpecConstantOp, 0x0000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SPEC_CONSTANT_OP_NUMBER}, 1, 1},
{"Function", SpvOpFunction, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_FUNCTION_CONTROL, SPV_OPERAND_TYPE_ID}, 1, 1},
{"FunctionParameter", SpvOpFunctionParameter, 0x0000, 2, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID}, 1, 1},
{"FunctionEnd", SpvOpFunctionEnd, 0x0000, 0, {}, 0, 0},
{"FunctionCall", SpvOpFunctionCall, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_VARIABLE_ID}, 1, 1},
{"Variable", SpvOpVariable, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_STORAGE_CLASS, SPV_OPERAND_TYPE_OPTIONAL_ID}, 1, 1},
{"ImageTexelPointer", SpvOpImageTexelPointer, 0x0000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"Load", SpvOpLoad, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_MEMORY_ACCESS}, 1, 1},
{"Store", SpvOpStore, 0x0000, 3, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_MEMORY_ACCESS}, 0, 0},
{"CopyMemory", SpvOpCopyMemory, 0x0000, 3, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_MEMORY_ACCESS}, 0, 0},
{"CopyMemorySized", SpvOpCopyMemorySized, 0x0010, 4, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_MEMORY_ACCESS}, 0, 0},
{"AccessChain", SpvOpAccessChain, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_VARIABLE_ID}, 1, 1},
{"InBoundsAccessChain", SpvOpInBoundsAccessChain, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_VARIABLE_ID}, 1, 1},
{"PtrAccessChain", SpvOpPtrAccessChain, 0x0010, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_VARIABLE_ID}, 1, 1},
{"ArrayLength", SpvOpArrayLength, 0x0002, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LITERAL_INTEGER}, 1, 1},
{"GenericPtrMemSemantics", SpvOpGenericPtrMemSemantics, 0x0040, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"InBoundsPtrAccessChain", SpvOpInBoundsPtrAccessChain, 0x0010, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_VARIABLE_ID}, 1, 1},
{"Decorate", SpvOpDecorate, 0x0000, 2, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_DECORATION}, 0, 0},
{"MemberDecorate", SpvOpMemberDecorate, 0x0000, 3, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_DECORATION}, 0, 0},
{"DecorationGroup", SpvOpDecorationGroup, 0x0000, 1, {SPV_OPERAND_TYPE_RESULT_ID}, 1, 0},
{"GroupDecorate", SpvOpGroupDecorate, 0x0000, 2, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_VARIABLE_ID}, 0, 0},
{"GroupMemberDecorate", SpvOpGroupMemberDecorate, 0x0000, 2, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_VARIABLE_ID_LITERAL_INTEGER}, 0, 0},
{"VectorExtractDynamic", SpvOpVectorExtractDynamic, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"VectorInsertDynamic", SpvOpVectorInsertDynamic, 0x0000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"VectorShuffle", SpvOpVectorShuffle, 0x0000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_VARIABLE_LITERAL_INTEGER}, 1, 1},
{"CompositeConstruct", SpvOpCompositeConstruct, 0x0000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_VARIABLE_ID}, 1, 1},
{"CompositeExtract", SpvOpCompositeExtract, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_VARIABLE_LITERAL_INTEGER}, 1, 1},
{"CompositeInsert", SpvOpCompositeInsert, 0x0000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_VARIABLE_LITERAL_INTEGER}, 1, 1},
{"CopyObject", SpvOpCopyObject, 0x0000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"Transpose", SpvOpTranspose, 0x0001, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"SampledImage", SpvOpSampledImage, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"ImageSampleImplicitLod", SpvOpImageSampleImplicitLod, 0x0002, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_IMAGE}, 1, 1},
{"ImageSampleExplicitLod", SpvOpImageSampleExplicitLod, 0x0000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_IMAGE}, 1, 1},
{"ImageSampleDrefImplicitLod", SpvOpImageSampleDrefImplicitLod, 0x0002, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_IMAGE}, 1, 1},
{"ImageSampleDrefExplicitLod", SpvOpImageSampleDrefExplicitLod, 0x0002, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_IMAGE}, 1, 1},
{"ImageSampleProjImplicitLod", SpvOpImageSampleProjImplicitLod, 0x0002, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_IMAGE}, 1, 1},
{"ImageSampleProjExplicitLod", SpvOpImageSampleProjExplicitLod, 0x0002, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_IMAGE}, 1, 1},
{"ImageSampleProjDrefImplicitLod", SpvOpImageSampleProjDrefImplicitLod, 0x0002, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_IMAGE}, 1, 1},
{"ImageSampleProjDrefExplicitLod", SpvOpImageSampleProjDrefExplicitLod, 0x0002, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_IMAGE}, 1, 1},
{"ImageFetch", SpvOpImageFetch, 0x0000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_IMAGE}, 1, 1},
{"ImageGather", SpvOpImageGather, 0x0002, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_IMAGE}, 1, 1},
{"ImageDrefGather", SpvOpImageDrefGather, 0x0002, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_IMAGE}, 1, 1},
{"ImageRead", SpvOpImageRead, 0x0000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_IMAGE}, 1, 1},
{"ImageWrite", SpvOpImageWrite, 0x0000, 4, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_IMAGE}, 0, 0},
{"Image", SpvOpImage, 0x0000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"ImageQueryFormat", SpvOpImageQueryFormat, 0x0040, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"ImageQueryOrder", SpvOpImageQueryOrder, 0x0040, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"ImageQuerySizeLod", SpvOpImageQuerySizeLod, 0x4000000000040, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"ImageQuerySize", SpvOpImageQuerySize, 0x4000000000040, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"ImageQueryLod", SpvOpImageQueryLod, 0x4000000000000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"ImageQueryLevels", SpvOpImageQueryLevels, 0x4000000000040, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"ImageQuerySamples", SpvOpImageQuerySamples, 0x4000000000040, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"ConvertFToU", SpvOpConvertFToU, 0x0000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"ConvertFToS", SpvOpConvertFToS, 0x0000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"ConvertSToF", SpvOpConvertSToF, 0x0000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"ConvertUToF", SpvOpConvertUToF, 0x0000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"UConvert", SpvOpUConvert, 0x0000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"SConvert", SpvOpSConvert, 0x0000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"FConvert", SpvOpFConvert, 0x0000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"QuantizeToF16", SpvOpQuantizeToF16, 0x0000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"ConvertPtrToU", SpvOpConvertPtrToU, 0x0010, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"SatConvertSToU", SpvOpSatConvertSToU, 0x0040, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"SatConvertUToS", SpvOpSatConvertUToS, 0x0040, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"ConvertUToPtr", SpvOpConvertUToPtr, 0x0010, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"PtrCastToGeneric", SpvOpPtrCastToGeneric, 0x0040, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"GenericCastToPtr", SpvOpGenericCastToPtr, 0x0040, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"GenericCastToPtrExplicit", SpvOpGenericCastToPtrExplicit, 0x0040, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_STORAGE_CLASS}, 1, 1},
{"Bitcast", SpvOpBitcast, 0x0000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"SNegate", SpvOpSNegate, 0x0000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"FNegate", SpvOpFNegate, 0x0000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"IAdd", SpvOpIAdd, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"FAdd", SpvOpFAdd, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"ISub", SpvOpISub, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"FSub", SpvOpFSub, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"IMul", SpvOpIMul, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"FMul", SpvOpFMul, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"UDiv", SpvOpUDiv, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"SDiv", SpvOpSDiv, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"FDiv", SpvOpFDiv, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"UMod", SpvOpUMod, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"SRem", SpvOpSRem, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"SMod", SpvOpSMod, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"FRem", SpvOpFRem, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"FMod", SpvOpFMod, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"VectorTimesScalar", SpvOpVectorTimesScalar, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"MatrixTimesScalar", SpvOpMatrixTimesScalar, 0x0001, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"VectorTimesMatrix", SpvOpVectorTimesMatrix, 0x0001, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"MatrixTimesVector", SpvOpMatrixTimesVector, 0x0001, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"MatrixTimesMatrix", SpvOpMatrixTimesMatrix, 0x0001, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"OuterProduct", SpvOpOuterProduct, 0x0001, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"Dot", SpvOpDot, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"IAddCarry", SpvOpIAddCarry, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"ISubBorrow", SpvOpISubBorrow, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"UMulExtended", SpvOpUMulExtended, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"SMulExtended", SpvOpSMulExtended, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"Any", SpvOpAny, 0x0000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"All", SpvOpAll, 0x0000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"IsNan", SpvOpIsNan, 0x0000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"IsInf", SpvOpIsInf, 0x0000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"IsFinite", SpvOpIsFinite, 0x0040, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"IsNormal", SpvOpIsNormal, 0x0040, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"SignBitSet", SpvOpSignBitSet, 0x0040, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"LessOrGreater", SpvOpLessOrGreater, 0x0040, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"Ordered", SpvOpOrdered, 0x0040, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"Unordered", SpvOpUnordered, 0x0040, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"LogicalEqual", SpvOpLogicalEqual, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"LogicalNotEqual", SpvOpLogicalNotEqual, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"LogicalOr", SpvOpLogicalOr, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"LogicalAnd", SpvOpLogicalAnd, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"LogicalNot", SpvOpLogicalNot, 0x0000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"Select", SpvOpSelect, 0x0000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"IEqual", SpvOpIEqual, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"INotEqual", SpvOpINotEqual, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"UGreaterThan", SpvOpUGreaterThan, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"SGreaterThan", SpvOpSGreaterThan, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"UGreaterThanEqual", SpvOpUGreaterThanEqual, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"SGreaterThanEqual", SpvOpSGreaterThanEqual, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"ULessThan", SpvOpULessThan, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"SLessThan", SpvOpSLessThan, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"ULessThanEqual", SpvOpULessThanEqual, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"SLessThanEqual", SpvOpSLessThanEqual, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"FOrdEqual", SpvOpFOrdEqual, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"FUnordEqual", SpvOpFUnordEqual, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"FOrdNotEqual", SpvOpFOrdNotEqual, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"FUnordNotEqual", SpvOpFUnordNotEqual, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"FOrdLessThan", SpvOpFOrdLessThan, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"FUnordLessThan", SpvOpFUnordLessThan, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"FOrdGreaterThan", SpvOpFOrdGreaterThan, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"FUnordGreaterThan", SpvOpFUnordGreaterThan, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"FOrdLessThanEqual", SpvOpFOrdLessThanEqual, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"FUnordLessThanEqual", SpvOpFUnordLessThanEqual, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"FOrdGreaterThanEqual", SpvOpFOrdGreaterThanEqual, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"FUnordGreaterThanEqual", SpvOpFUnordGreaterThanEqual, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"ShiftRightLogical", SpvOpShiftRightLogical, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"ShiftRightArithmetic", SpvOpShiftRightArithmetic, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"ShiftLeftLogical", SpvOpShiftLeftLogical, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"BitwiseOr", SpvOpBitwiseOr, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"BitwiseXor", SpvOpBitwiseXor, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"BitwiseAnd", SpvOpBitwiseAnd, 0x0000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"Not", SpvOpNot, 0x0000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"BitFieldInsert", SpvOpBitFieldInsert, 0x0002, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"BitFieldSExtract", SpvOpBitFieldSExtract, 0x0002, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"BitFieldUExtract", SpvOpBitFieldUExtract, 0x0002, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"BitReverse", SpvOpBitReverse, 0x0002, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"BitCount", SpvOpBitCount, 0x0000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"DPdx", SpvOpDPdx, 0x0002, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"DPdy", SpvOpDPdy, 0x0002, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"Fwidth", SpvOpFwidth, 0x0002, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"DPdxFine", SpvOpDPdxFine, 0x8000000000000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"DPdyFine", SpvOpDPdyFine, 0x8000000000000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"FwidthFine", SpvOpFwidthFine, 0x8000000000000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"DPdxCoarse", SpvOpDPdxCoarse, 0x8000000000000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"DPdyCoarse", SpvOpDPdyCoarse, 0x8000000000000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"FwidthCoarse", SpvOpFwidthCoarse, 0x8000000000000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"EmitVertex", SpvOpEmitVertex, 0x0004, 0, {}, 0, 0},
{"EndPrimitive", SpvOpEndPrimitive, 0x0004, 0, {}, 0, 0},
{"EmitStreamVertex", SpvOpEmitStreamVertex, 0x40000000000000, 1, {SPV_OPERAND_TYPE_ID}, 0, 0},
{"EndStreamPrimitive", SpvOpEndStreamPrimitive, 0x40000000000000, 1, {SPV_OPERAND_TYPE_ID}, 0, 0},
{"ControlBarrier", SpvOpControlBarrier, 0x0000, 3, {SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID}, 0, 0},
{"MemoryBarrier", SpvOpMemoryBarrier, 0x0000, 2, {SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID}, 0, 0},
{"AtomicLoad", SpvOpAtomicLoad, 0x0000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID}, 1, 1},
{"AtomicStore", SpvOpAtomicStore, 0x0000, 4, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID, SPV_OPERAND_TYPE_ID}, 0, 0},
{"AtomicExchange", SpvOpAtomicExchange, 0x0000, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"AtomicCompareExchange", SpvOpAtomicCompareExchange, 0x0000, 8, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"AtomicCompareExchangeWeak", SpvOpAtomicCompareExchangeWeak, 0x0040, 8, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"AtomicIIncrement", SpvOpAtomicIIncrement, 0x0000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID}, 1, 1},
{"AtomicIDecrement", SpvOpAtomicIDecrement, 0x0000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID}, 1, 1},
{"AtomicIAdd", SpvOpAtomicIAdd, 0x0000, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"AtomicISub", SpvOpAtomicISub, 0x0000, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"AtomicSMin", SpvOpAtomicSMin, 0x0000, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"AtomicUMin", SpvOpAtomicUMin, 0x0000, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"AtomicSMax", SpvOpAtomicSMax, 0x0000, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"AtomicUMax", SpvOpAtomicUMax, 0x0000, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"AtomicAnd", SpvOpAtomicAnd, 0x0000, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"AtomicOr", SpvOpAtomicOr, 0x0000, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"AtomicXor", SpvOpAtomicXor, 0x0000, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"Phi", SpvOpPhi, 0x0000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_VARIABLE_ID}, 1, 1},
{"LoopMerge", SpvOpLoopMerge, 0x0000, 3, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LOOP_CONTROL}, 0, 0},
{"SelectionMerge", SpvOpSelectionMerge, 0x0000, 2, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SELECTION_CONTROL}, 0, 0},
{"Label", SpvOpLabel, 0x0000, 1, {SPV_OPERAND_TYPE_RESULT_ID}, 1, 0},
{"Branch", SpvOpBranch, 0x0000, 1, {SPV_OPERAND_TYPE_ID}, 0, 0},
{"BranchConditional", SpvOpBranchConditional, 0x0000, 4, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_VARIABLE_LITERAL_INTEGER}, 0, 0},
{"Switch", SpvOpSwitch, 0x0000, 3, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_VARIABLE_LITERAL_INTEGER_ID}, 0, 0},
{"Kill", SpvOpKill, 0x0002, 0, {}, 0, 0},
{"Return", SpvOpReturn, 0x0000, 0, {}, 0, 0},
{"ReturnValue", SpvOpReturnValue, 0x0000, 1, {SPV_OPERAND_TYPE_ID}, 0, 0},
{"Unreachable", SpvOpUnreachable, 0x0000, 0, {}, 0, 0},
{"LifetimeStart", SpvOpLifetimeStart, 0x0040, 2, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LITERAL_INTEGER}, 0, 0},
{"LifetimeStop", SpvOpLifetimeStop, 0x0040, 2, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LITERAL_INTEGER}, 0, 0},
{"GroupAsyncCopy", SpvOpGroupAsyncCopy, 0x0040, 8, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"GroupWaitEvents", SpvOpGroupWaitEvents, 0x0040, 3, {SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 0, 0},
{"GroupAll", SpvOpGroupAll, 0x40000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"GroupAny", SpvOpGroupAny, 0x40000, 4, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"GroupBroadcast", SpvOpGroupBroadcast, 0x40000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"GroupIAdd", SpvOpGroupIAdd, 0x40000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_GROUP_OPERATION, SPV_OPERAND_TYPE_ID}, 1, 1},
{"GroupFAdd", SpvOpGroupFAdd, 0x40000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_GROUP_OPERATION, SPV_OPERAND_TYPE_ID}, 1, 1},
{"GroupFMin", SpvOpGroupFMin, 0x40000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_GROUP_OPERATION, SPV_OPERAND_TYPE_ID}, 1, 1},
{"GroupUMin", SpvOpGroupUMin, 0x40000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_GROUP_OPERATION, SPV_OPERAND_TYPE_ID}, 1, 1},
{"GroupSMin", SpvOpGroupSMin, 0x40000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_GROUP_OPERATION, SPV_OPERAND_TYPE_ID}, 1, 1},
{"GroupFMax", SpvOpGroupFMax, 0x40000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_GROUP_OPERATION, SPV_OPERAND_TYPE_ID}, 1, 1},
{"GroupUMax", SpvOpGroupUMax, 0x40000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_GROUP_OPERATION, SPV_OPERAND_TYPE_ID}, 1, 1},
{"GroupSMax", SpvOpGroupSMax, 0x40000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_GROUP_OPERATION, SPV_OPERAND_TYPE_ID}, 1, 1},
{"ReadPipe", SpvOpReadPipe, 0x20000, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"WritePipe", SpvOpWritePipe, 0x20000, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"ReservedReadPipe", SpvOpReservedReadPipe, 0x20000, 8, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"ReservedWritePipe", SpvOpReservedWritePipe, 0x20000, 8, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"ReserveReadPipePackets", SpvOpReserveReadPipePackets, 0x20000, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"ReserveWritePipePackets", SpvOpReserveWritePipePackets, 0x20000, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"CommitReadPipe", SpvOpCommitReadPipe, 0x20000, 4, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 0, 0},
{"CommitWritePipe", SpvOpCommitWritePipe, 0x20000, 4, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 0, 0},
{"IsValidReserveId", SpvOpIsValidReserveId, 0x20000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"GetNumPipePackets", SpvOpGetNumPipePackets, 0x20000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"GetMaxPipePackets", SpvOpGetMaxPipePackets, 0x20000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"GroupReserveReadPipePackets", SpvOpGroupReserveReadPipePackets, 0x20000, 7, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"GroupReserveWritePipePackets", SpvOpGroupReserveWritePipePackets, 0x20000, 7, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"GroupCommitReadPipe", SpvOpGroupCommitReadPipe, 0x20000, 5, {SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 0, 0},
{"GroupCommitWritePipe", SpvOpGroupCommitWritePipe, 0x20000, 5, {SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 0, 0},
{"EnqueueMarker", SpvOpEnqueueMarker, 0x80000, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"EnqueueKernel", SpvOpEnqueueKernel, 0x80000, 13, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_VARIABLE_ID}, 1, 1},
{"GetKernelNDrangeSubGroupCount", SpvOpGetKernelNDrangeSubGroupCount, 0x80000, 7, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"GetKernelNDrangeMaxSubGroupSize", SpvOpGetKernelNDrangeMaxSubGroupSize, 0x80000, 7, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"GetKernelWorkGroupSize", SpvOpGetKernelWorkGroupSize, 0x80000, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"GetKernelPreferredWorkGroupSizeMultiple", SpvOpGetKernelPreferredWorkGroupSizeMultiple, 0x80000, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"RetainEvent", SpvOpRetainEvent, 0x80000, 1, {SPV_OPERAND_TYPE_ID}, 0, 0},
{"ReleaseEvent", SpvOpReleaseEvent, 0x80000, 1, {SPV_OPERAND_TYPE_ID}, 0, 0},
{"CreateUserEvent", SpvOpCreateUserEvent, 0x80000, 2, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID}, 1, 1},
{"IsValidEvent", SpvOpIsValidEvent, 0x80000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"SetUserEventStatus", SpvOpSetUserEventStatus, 0x80000, 2, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 0, 0},
{"CaptureEventProfilingInfo", SpvOpCaptureEventProfilingInfo, 0x80000, 3, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 0, 0},
{"GetDefaultQueue", SpvOpGetDefaultQueue, 0x80000, 2, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID}, 1, 1},
{"BuildNDRange", SpvOpBuildNDRange, 0x80000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"ImageSparseSampleImplicitLod", SpvOpImageSparseSampleImplicitLod, 0x20000000000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_IMAGE}, 1, 1},
{"ImageSparseSampleExplicitLod", SpvOpImageSparseSampleExplicitLod, 0x20000000000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_IMAGE}, 1, 1},
{"ImageSparseSampleDrefImplicitLod", SpvOpImageSparseSampleDrefImplicitLod, 0x20000000000, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_IMAGE}, 1, 1},
{"ImageSparseSampleDrefExplicitLod", SpvOpImageSparseSampleDrefExplicitLod, 0x20000000000, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_IMAGE}, 1, 1},
{"ImageSparseSampleProjImplicitLod", SpvOpImageSparseSampleProjImplicitLod, 0x20000000000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_IMAGE}, 1, 1},
{"ImageSparseSampleProjExplicitLod", SpvOpImageSparseSampleProjExplicitLod, 0x20000000000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_IMAGE}, 1, 1},
{"ImageSparseSampleProjDrefImplicitLod", SpvOpImageSparseSampleProjDrefImplicitLod, 0x20000000000, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_IMAGE}, 1, 1},
{"ImageSparseSampleProjDrefExplicitLod", SpvOpImageSparseSampleProjDrefExplicitLod, 0x20000000000, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_IMAGE}, 1, 1},
{"ImageSparseFetch", SpvOpImageSparseFetch, 0x20000000000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_IMAGE}, 1, 1},
{"ImageSparseGather", SpvOpImageSparseGather, 0x20000000000, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_IMAGE}, 1, 1},
{"ImageSparseDrefGather", SpvOpImageSparseDrefGather, 0x20000000000, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_IMAGE}, 1, 1},
{"ImageSparseTexelsResident", SpvOpImageSparseTexelsResident, 0x20000000000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"NoLine", SpvOpNoLine, 0x0000, 0, {}, 0, 0},
{"AtomicFlagTestAndSet", SpvOpAtomicFlagTestAndSet, 0x0040, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID}, 1, 1},
{"AtomicFlagClear", SpvOpAtomicFlagClear, 0x0040, 3, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID}, 0, 0},
{"ImageSparseRead", SpvOpImageSparseRead, 0x20000000000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_OPTIONAL_IMAGE}, 1, 1},
{"SizeOf", SpvOpSizeOf, 0x0010, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"TypePipeStorage", SpvOpTypePipeStorage, 0x1000000000000000, 1, {SPV_OPERAND_TYPE_RESULT_ID}, 1, 0},
{"ConstantPipeStorage", SpvOpConstantPipeStorage, 0x1000000000000000, 5, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_LITERAL_INTEGER}, 1, 1},
{"CreatePipeFromPipeStorage", SpvOpCreatePipeFromPipeStorage, 0x1000000000000000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"GetKernelLocalSizeForSubgroupCount", SpvOpGetKernelLocalSizeForSubgroupCount, 0x400000000000000, 7, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"GetKernelMaxNumSubgroups", SpvOpGetKernelMaxNumSubgroups, 0x400000000000000, 6, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"TypeNamedBarrier", SpvOpTypeNamedBarrier, 0x800000000000000, 1, {SPV_OPERAND_TYPE_RESULT_ID}, 1, 0},
{"NamedBarrierInitialize", SpvOpNamedBarrierInitialize, 0x800000000000000, 3, {SPV_OPERAND_TYPE_TYPE_ID, SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_ID}, 1, 1},
{"MemoryNamedBarrier", SpvOpMemoryNamedBarrier, 0x800000000000000, 3, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_SCOPE_ID, SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID}, 0, 0},
{"ModuleProcessed", SpvOpModuleProcessed, 0x0000, 1, {SPV_OPERAND_TYPE_LITERAL_STRING}, 0, 0}

View File

@ -0,0 +1,81 @@
{"Round", 1, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"RoundEven", 2, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"Trunc", 3, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"FAbs", 4, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"SAbs", 5, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"FSign", 6, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"SSign", 7, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"Floor", 8, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"Ceil", 9, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"Fract", 10, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"Radians", 11, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"Degrees", 12, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"Sin", 13, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"Cos", 14, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"Tan", 15, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"Asin", 16, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"Acos", 17, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"Atan", 18, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"Sinh", 19, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"Cosh", 20, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"Tanh", 21, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"Asinh", 22, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"Acosh", 23, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"Atanh", 24, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"Atan2", 25, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"Pow", 26, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"Exp", 27, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"Log", 28, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"Exp2", 29, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"Log2", 30, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"Sqrt", 31, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"InverseSqrt", 32, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"Determinant", 33, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"MatrixInverse", 34, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"Modf", 35, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"ModfStruct", 36, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"FMin", 37, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"UMin", 38, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"SMin", 39, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"FMax", 40, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"UMax", 41, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"SMax", 42, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"FClamp", 43, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"UClamp", 44, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"SClamp", 45, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"FMix", 46, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"IMix", 47, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"Step", 48, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"SmoothStep", 49, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"Fma", 50, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"Frexp", 51, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"FrexpStruct", 52, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"Ldexp", 53, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"PackSnorm4x8", 54, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"PackUnorm4x8", 55, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"PackSnorm2x16", 56, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"PackUnorm2x16", 57, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"PackHalf2x16", 58, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"PackDouble2x32", 59, 0x0400, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"UnpackSnorm2x16", 60, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"UnpackUnorm2x16", 61, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"UnpackHalf2x16", 62, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"UnpackSnorm4x8", 63, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"UnpackUnorm4x8", 64, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"UnpackDouble2x32", 65, 0x0400, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"Length", 66, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"Distance", 67, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"Cross", 68, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"Normalize", 69, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"FaceForward", 70, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"Reflect", 71, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"Refract", 72, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"FindILsb", 73, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"FindSMsb", 74, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"FindUMsb", 75, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"InterpolateAtCentroid", 76, 0x10000000000000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"InterpolateAtSample", 77, 0x10000000000000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"InterpolateAtOffset", 78, 0x10000000000000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"NMin", 79, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"NMax", 80, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"NClamp", 81, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}}

View File

@ -0,0 +1,162 @@
{"acos", 0, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"acosh", 1, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"acospi", 2, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"asin", 3, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"asinh", 4, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"asinpi", 5, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"atan", 6, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"atan2", 7, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"atanh", 8, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"atanpi", 9, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"atan2pi", 10, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"cbrt", 11, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"ceil", 12, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"copysign", 13, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"cos", 14, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"cosh", 15, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"cospi", 16, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"erfc", 17, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"erf", 18, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"exp", 19, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"exp2", 20, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"exp10", 21, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"expm1", 22, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"fabs", 23, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"fdim", 24, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"floor", 25, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"fma", 26, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"fmax", 27, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"fmin", 28, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"fmod", 29, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"fract", 30, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"frexp", 31, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"hypot", 32, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"ilogb", 33, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"ldexp", 34, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"lgamma", 35, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"lgamma_r", 36, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"log", 37, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"log2", 38, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"log10", 39, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"log1p", 40, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"logb", 41, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"mad", 42, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"maxmag", 43, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"minmag", 44, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"modf", 45, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"nan", 46, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"nextafter", 47, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"pow", 48, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"pown", 49, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"powr", 50, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"remainder", 51, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"remquo", 52, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"rint", 53, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"rootn", 54, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"round", 55, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"rsqrt", 56, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"sin", 57, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"sincos", 58, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"sinh", 59, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"sinpi", 60, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"sqrt", 61, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"tan", 62, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"tanh", 63, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"tanpi", 64, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"tgamma", 65, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"trunc", 66, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"half_cos", 67, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"half_divide", 68, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"half_exp", 69, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"half_exp2", 70, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"half_exp10", 71, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"half_log", 72, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"half_log2", 73, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"half_log10", 74, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"half_powr", 75, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"half_recip", 76, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"half_rsqrt", 77, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"half_sin", 78, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"half_sqrt", 79, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"half_tan", 80, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"native_cos", 81, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"native_divide", 82, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"native_exp", 83, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"native_exp2", 84, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"native_exp10", 85, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"native_log", 86, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"native_log2", 87, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"native_log10", 88, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"native_powr", 89, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"native_recip", 90, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"native_rsqrt", 91, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"native_sin", 92, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"native_sqrt", 93, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"native_tan", 94, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"fclamp", 95, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"degrees", 96, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"fmax_common", 97, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"fmin_common", 98, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"mix", 99, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"radians", 100, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"step", 101, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"smoothstep", 102, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"sign", 103, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"cross", 104, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"distance", 105, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"length", 106, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"normalize", 107, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"fast_distance", 108, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"fast_length", 109, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"fast_normalize", 110, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"s_abs", 141, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"s_abs_diff", 142, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"s_add_sat", 143, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"u_add_sat", 144, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"s_hadd", 145, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"u_hadd", 146, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"s_rhadd", 147, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"u_rhadd", 148, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"s_clamp", 149, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"u_clamp", 150, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"clz", 151, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"ctz", 152, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"s_mad_hi", 153, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"u_mad_sat", 154, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"s_mad_sat", 155, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"s_max", 156, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"u_max", 157, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"s_min", 158, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"u_min", 159, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"s_mul_hi", 160, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"rotate", 161, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"s_sub_sat", 162, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"u_sub_sat", 163, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"u_upsample", 164, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"s_upsample", 165, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"popcount", 166, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"s_mad24", 167, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"u_mad24", 168, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"s_mul24", 169, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"u_mul24", 170, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"vloadn", 171, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_NONE}},
{"vstoren", 172, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"vload_half", 173, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"vload_halfn", 174, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_NONE}},
{"vstore_half", 175, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"vstore_half_r", 176, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_FP_ROUNDING_MODE, SPV_OPERAND_TYPE_NONE}},
{"vstore_halfn", 177, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"vstore_halfn_r", 178, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_FP_ROUNDING_MODE, SPV_OPERAND_TYPE_NONE}},
{"vloada_halfn", 179, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_NONE}},
{"vstorea_halfn", 180, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"vstorea_halfn_r", 181, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_FP_ROUNDING_MODE, SPV_OPERAND_TYPE_NONE}},
{"shuffle", 182, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"shuffle2", 183, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"printf", 184, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_VARIABLE_ID, SPV_OPERAND_TYPE_NONE}},
{"prefetch", 185, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"bitselect", 186, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"select", 187, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"u_abs", 201, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"u_abs_diff", 202, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"u_mul_hi", 203, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}},
{"u_mad_hi", 204, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE}}

View File

@ -0,0 +1,489 @@
static const spv_operand_desc_t pygen_variable_ImageOperandsEntries[] = {
{"None", 0x0000, 0x0000, {}},
{"Bias", 0x0001, 0x0002, {SPV_OPERAND_TYPE_ID}},
{"Lod", 0x0002, 0x0000, {SPV_OPERAND_TYPE_ID}},
{"Grad", 0x0004, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}},
{"ConstOffset", 0x0008, 0x0000, {SPV_OPERAND_TYPE_ID}},
{"Offset", 0x0010, 0x2000000, {SPV_OPERAND_TYPE_ID}},
{"ConstOffsets", 0x0020, 0x0000, {SPV_OPERAND_TYPE_ID}},
{"Sample", 0x0040, 0x0000, {SPV_OPERAND_TYPE_ID}},
{"MinLod", 0x0080, 0x40000000000, {SPV_OPERAND_TYPE_ID}}
};
static const spv_operand_desc_t pygen_variable_FPFastMathModeEntries[] = {
{"None", 0x0000, 0x0000, {}},
{"NotNaN", 0x0001, 0x0040, {}},
{"NotInf", 0x0002, 0x0040, {}},
{"NSZ", 0x0004, 0x0040, {}},
{"AllowRecip", 0x0008, 0x0040, {}},
{"Fast", 0x0010, 0x0040, {}}
};
static const spv_operand_desc_t pygen_variable_SelectionControlEntries[] = {
{"None", 0x0000, 0x0000, {}},
{"Flatten", 0x0001, 0x0000, {}},
{"DontFlatten", 0x0002, 0x0000, {}}
};
static const spv_operand_desc_t pygen_variable_LoopControlEntries[] = {
{"None", 0x0000, 0x0000, {}},
{"Unroll", 0x0001, 0x0000, {}},
{"DontUnroll", 0x0002, 0x0000, {}}
};
static const spv_operand_desc_t pygen_variable_FunctionControlEntries[] = {
{"None", 0x0000, 0x0000, {}},
{"Inline", 0x0001, 0x0000, {}},
{"DontInline", 0x0002, 0x0000, {}},
{"Pure", 0x0004, 0x0000, {}},
{"Const", 0x0008, 0x0000, {}}
};
static const spv_operand_desc_t pygen_variable_MemorySemanticsEntries[] = {
{"Relaxed", 0x0000, 0x0000, {}},
{"None", 0x0000, 0x0000, {}},
{"SequentiallyConsistent", 0x0010, 0x0000, {}},
{"Acquire", 0x0002, 0x0000, {}},
{"Release", 0x0004, 0x0000, {}},
{"AcquireRelease", 0x0008, 0x0000, {}},
{"UniformMemory", 0x0040, 0x0002, {}},
{"SubgroupMemory", 0x0080, 0x0000, {}},
{"WorkgroupMemory", 0x0100, 0x0000, {}},
{"CrossWorkgroupMemory", 0x0200, 0x0000, {}},
{"AtomicCounterMemory", 0x0400, 0x200000, {}},
{"ImageMemory", 0x0800, 0x0000, {}}
};
static const spv_operand_desc_t pygen_variable_MemoryAccessEntries[] = {
{"None", 0x0000, 0x0000, {}},
{"Volatile", 0x0001, 0x0000, {}},
{"Aligned", 0x0002, 0x0000, {SPV_OPERAND_TYPE_LITERAL_INTEGER}},
{"Nontemporal", 0x0004, 0x0000, {}}
};
static const spv_operand_desc_t pygen_variable_KernelProfilingInfoEntries[] = {
{"None", 0x0000, 0x0000, {}},
{"CmdExecTime", 0x0001, 0x0040, {}}
};
static const spv_operand_desc_t pygen_variable_SourceLanguageEntries[] = {
{"Unknown", 0, 0x0000, {}},
{"ESSL", 1, 0x0000, {}},
{"GLSL", 2, 0x0000, {}},
{"OpenCL_C", 3, 0x0000, {}},
{"OpenCL_CPP", 4, 0x0000, {}}
};
static const spv_operand_desc_t pygen_variable_ExecutionModelEntries[] = {
{"Vertex", 0, 0x0002, {}},
{"TessellationControl", 1, 0x0008, {}},
{"TessellationEvaluation", 2, 0x0008, {}},
{"Geometry", 3, 0x0004, {}},
{"Fragment", 4, 0x0002, {}},
{"GLCompute", 5, 0x0002, {}},
{"Kernel", 6, 0x0040, {}}
};
static const spv_operand_desc_t pygen_variable_AddressingModelEntries[] = {
{"Logical", 0, 0x0000, {}},
{"Physical32", 1, 0x0010, {}},
{"Physical64", 2, 0x0010, {}}
};
static const spv_operand_desc_t pygen_variable_MemoryModelEntries[] = {
{"Simple", 0, 0x0002, {}},
{"GLSL450", 1, 0x0002, {}},
{"OpenCL", 2, 0x0040, {}}
};
static const spv_operand_desc_t pygen_variable_ExecutionModeEntries[] = {
{"Invocations", 0, 0x0004, {SPV_OPERAND_TYPE_LITERAL_INTEGER}},
{"SpacingEqual", 1, 0x0008, {}},
{"SpacingFractionalEven", 2, 0x0008, {}},
{"SpacingFractionalOdd", 3, 0x0008, {}},
{"VertexOrderCw", 4, 0x0008, {}},
{"VertexOrderCcw", 5, 0x0008, {}},
{"PixelCenterInteger", 6, 0x0002, {}},
{"OriginUpperLeft", 7, 0x0002, {}},
{"OriginLowerLeft", 8, 0x0002, {}},
{"EarlyFragmentTests", 9, 0x0002, {}},
{"PointMode", 10, 0x0008, {}},
{"Xfb", 11, 0x20000000000000, {}},
{"DepthReplacing", 12, 0x0002, {}},
{"DepthGreater", 14, 0x0002, {}},
{"DepthLess", 15, 0x0002, {}},
{"DepthUnchanged", 16, 0x0002, {}},
{"LocalSize", 17, 0x0000, {SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_LITERAL_INTEGER}},
{"LocalSizeHint", 18, 0x0040, {SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_LITERAL_INTEGER}},
{"InputPoints", 19, 0x0004, {}},
{"InputLines", 20, 0x0004, {}},
{"InputLinesAdjacency", 21, 0x0004, {}},
{"Triangles", 22, 0x000c, {}},
{"InputTrianglesAdjacency", 23, 0x0004, {}},
{"Quads", 24, 0x0008, {}},
{"Isolines", 25, 0x0008, {}},
{"OutputVertices", 26, 0x000c, {SPV_OPERAND_TYPE_LITERAL_INTEGER}},
{"OutputPoints", 27, 0x0004, {}},
{"OutputLineStrip", 28, 0x0004, {}},
{"OutputTriangleStrip", 29, 0x0004, {}},
{"VecTypeHint", 30, 0x0040, {SPV_OPERAND_TYPE_LITERAL_INTEGER}},
{"ContractionOff", 31, 0x0040, {}}
};
static const spv_operand_desc_t pygen_variable_StorageClassEntries[] = {
{"UniformConstant", 0, 0x0000, {}},
{"Input", 1, 0x0002, {}},
{"Uniform", 2, 0x0002, {}},
{"Output", 3, 0x0002, {}},
{"Workgroup", 4, 0x0000, {}},
{"CrossWorkgroup", 5, 0x0000, {}},
{"Private", 6, 0x0002, {}},
{"Function", 7, 0x0000, {}},
{"Generic", 8, 0x4000000000, {}},
{"PushConstant", 9, 0x0002, {}},
{"AtomicCounter", 10, 0x200000, {}},
{"Image", 11, 0x0000, {}}
};
static const spv_operand_desc_t pygen_variable_DimEntries[] = {
{"1D", 0, 0x80000000000, {}},
{"2D", 1, 0x0000, {}},
{"3D", 2, 0x0000, {}},
{"Cube", 3, 0x0002, {}},
{"Rect", 4, 0x2000000000, {}},
{"Buffer", 5, 0x400000000000, {}},
{"SubpassData", 6, 0x10000000000, {}}
};
static const spv_operand_desc_t pygen_variable_SamplerAddressingModeEntries[] = {
{"None", 0, 0x0040, {}},
{"ClampToEdge", 1, 0x0040, {}},
{"Clamp", 2, 0x0040, {}},
{"Repeat", 3, 0x0040, {}},
{"RepeatMirrored", 4, 0x0040, {}}
};
static const spv_operand_desc_t pygen_variable_SamplerFilterModeEntries[] = {
{"Nearest", 0, 0x0040, {}},
{"Linear", 1, 0x0040, {}}
};
static const spv_operand_desc_t pygen_variable_ImageFormatEntries[] = {
{"Unknown", 0, 0x0000, {}},
{"Rgba32f", 1, 0x0002, {}},
{"Rgba16f", 2, 0x0002, {}},
{"R32f", 3, 0x0002, {}},
{"Rgba8", 4, 0x0002, {}},
{"Rgba8Snorm", 5, 0x0002, {}},
{"Rg32f", 6, 0x2000000000000, {}},
{"Rg16f", 7, 0x2000000000000, {}},
{"R11fG11fB10f", 8, 0x2000000000000, {}},
{"R16f", 9, 0x2000000000000, {}},
{"Rgba16", 10, 0x2000000000000, {}},
{"Rgb10A2", 11, 0x2000000000000, {}},
{"Rg16", 12, 0x2000000000000, {}},
{"Rg8", 13, 0x2000000000000, {}},
{"R16", 14, 0x2000000000000, {}},
{"R8", 15, 0x2000000000000, {}},
{"Rgba16Snorm", 16, 0x2000000000000, {}},
{"Rg16Snorm", 17, 0x2000000000000, {}},
{"Rg8Snorm", 18, 0x2000000000000, {}},
{"R16Snorm", 19, 0x2000000000000, {}},
{"R8Snorm", 20, 0x2000000000000, {}},
{"Rgba32i", 21, 0x0002, {}},
{"Rgba16i", 22, 0x0002, {}},
{"Rgba8i", 23, 0x0002, {}},
{"R32i", 24, 0x0002, {}},
{"Rg32i", 25, 0x2000000000000, {}},
{"Rg16i", 26, 0x2000000000000, {}},
{"Rg8i", 27, 0x2000000000000, {}},
{"R16i", 28, 0x2000000000000, {}},
{"R8i", 29, 0x2000000000000, {}},
{"Rgba32ui", 30, 0x0002, {}},
{"Rgba16ui", 31, 0x0002, {}},
{"Rgba8ui", 32, 0x0002, {}},
{"R32ui", 33, 0x0002, {}},
{"Rgb10a2ui", 34, 0x2000000000000, {}},
{"Rg32ui", 35, 0x2000000000000, {}},
{"Rg16ui", 36, 0x2000000000000, {}},
{"Rg8ui", 37, 0x2000000000000, {}},
{"R16ui", 38, 0x2000000000000, {}},
{"R8ui", 39, 0x2000000000000, {}}
};
static const spv_operand_desc_t pygen_variable_ImageChannelOrderEntries[] = {
{"R", 0, 0x0040, {}},
{"A", 1, 0x0040, {}},
{"RG", 2, 0x0040, {}},
{"RA", 3, 0x0040, {}},
{"RGB", 4, 0x0040, {}},
{"RGBA", 5, 0x0040, {}},
{"BGRA", 6, 0x0040, {}},
{"ARGB", 7, 0x0040, {}},
{"Intensity", 8, 0x0040, {}},
{"Luminance", 9, 0x0040, {}},
{"Rx", 10, 0x0040, {}},
{"RGx", 11, 0x0040, {}},
{"RGBx", 12, 0x0040, {}},
{"Depth", 13, 0x0040, {}},
{"DepthStencil", 14, 0x0040, {}},
{"sRGB", 15, 0x0040, {}},
{"sRGBx", 16, 0x0040, {}},
{"sRGBA", 17, 0x0040, {}},
{"sBGRA", 18, 0x0040, {}},
{"ABGR", 19, 0x0040, {}}
};
static const spv_operand_desc_t pygen_variable_ImageChannelDataTypeEntries[] = {
{"SnormInt8", 0, 0x0040, {}},
{"SnormInt16", 1, 0x0040, {}},
{"UnormInt8", 2, 0x0040, {}},
{"UnormInt16", 3, 0x0040, {}},
{"UnormShort565", 4, 0x0040, {}},
{"UnormShort555", 5, 0x0040, {}},
{"UnormInt101010", 6, 0x0040, {}},
{"SignedInt8", 7, 0x0040, {}},
{"SignedInt16", 8, 0x0040, {}},
{"SignedInt32", 9, 0x0040, {}},
{"UnsignedInt8", 10, 0x0040, {}},
{"UnsignedInt16", 11, 0x0040, {}},
{"UnsignedInt32", 12, 0x0040, {}},
{"HalfFloat", 13, 0x0040, {}},
{"Float", 14, 0x0040, {}},
{"UnormInt24", 15, 0x0040, {}},
{"UnormInt101010_2", 16, 0x0040, {}}
};
static const spv_operand_desc_t pygen_variable_FPRoundingModeEntries[] = {
{"RTE", 0, 0x0040, {}},
{"RTZ", 1, 0x0040, {}},
{"RTP", 2, 0x0040, {}},
{"RTN", 3, 0x0040, {}}
};
static const spv_operand_desc_t pygen_variable_LinkageTypeEntries[] = {
{"Export", 0, 0x0020, {}},
{"Import", 1, 0x0020, {}}
};
static const spv_operand_desc_t pygen_variable_AccessQualifierEntries[] = {
{"ReadOnly", 0, 0x0040, {}},
{"WriteOnly", 1, 0x0040, {}},
{"ReadWrite", 2, 0x0040, {}}
};
static const spv_operand_desc_t pygen_variable_FunctionParameterAttributeEntries[] = {
{"Zext", 0, 0x0040, {}},
{"Sext", 1, 0x0040, {}},
{"ByVal", 2, 0x0040, {}},
{"Sret", 3, 0x0040, {}},
{"NoAlias", 4, 0x0040, {}},
{"NoCapture", 5, 0x0040, {}},
{"NoWrite", 6, 0x0040, {}},
{"NoReadWrite", 7, 0x0040, {}}
};
static const spv_operand_desc_t pygen_variable_DecorationEntries[] = {
{"RelaxedPrecision", 0, 0x0002, {}},
{"SpecId", 1, 0x0002, {SPV_OPERAND_TYPE_LITERAL_INTEGER}},
{"Block", 2, 0x0002, {}},
{"BufferBlock", 3, 0x0002, {}},
{"RowMajor", 4, 0x0001, {}},
{"ColMajor", 5, 0x0001, {}},
{"ArrayStride", 6, 0x0002, {SPV_OPERAND_TYPE_LITERAL_INTEGER}},
{"MatrixStride", 7, 0x0001, {SPV_OPERAND_TYPE_LITERAL_INTEGER}},
{"GLSLShared", 8, 0x0002, {}},
{"GLSLPacked", 9, 0x0002, {}},
{"CPacked", 10, 0x0040, {}},
{"BuiltIn", 11, 0x0000, {SPV_OPERAND_TYPE_BUILT_IN}},
{"NoPerspective", 13, 0x0002, {}},
{"Flat", 14, 0x0002, {}},
{"Patch", 15, 0x0008, {}},
{"Centroid", 16, 0x0002, {}},
{"Sample", 17, 0x800000000, {}},
{"Invariant", 18, 0x0002, {}},
{"Restrict", 19, 0x0000, {}},
{"Aliased", 20, 0x0000, {}},
{"Volatile", 21, 0x0000, {}},
{"Constant", 22, 0x0040, {}},
{"Coherent", 23, 0x0000, {}},
{"NonWritable", 24, 0x0000, {}},
{"NonReadable", 25, 0x0000, {}},
{"Uniform", 26, 0x0002, {}},
{"SaturatedConversion", 28, 0x0040, {}},
{"Stream", 29, 0x40000000000000, {SPV_OPERAND_TYPE_LITERAL_INTEGER}},
{"Location", 30, 0x0002, {SPV_OPERAND_TYPE_LITERAL_INTEGER}},
{"Component", 31, 0x0002, {SPV_OPERAND_TYPE_LITERAL_INTEGER}},
{"Index", 32, 0x0002, {SPV_OPERAND_TYPE_LITERAL_INTEGER}},
{"Binding", 33, 0x0002, {SPV_OPERAND_TYPE_LITERAL_INTEGER}},
{"DescriptorSet", 34, 0x0002, {SPV_OPERAND_TYPE_LITERAL_INTEGER}},
{"Offset", 35, 0x0002, {SPV_OPERAND_TYPE_LITERAL_INTEGER}},
{"XfbBuffer", 36, 0x20000000000000, {SPV_OPERAND_TYPE_LITERAL_INTEGER}},
{"XfbStride", 37, 0x20000000000000, {SPV_OPERAND_TYPE_LITERAL_INTEGER}},
{"FuncParamAttr", 38, 0x0040, {SPV_OPERAND_TYPE_FUNCTION_PARAMETER_ATTRIBUTE}},
{"FPRoundingMode", 39, 0x0040, {SPV_OPERAND_TYPE_FP_ROUNDING_MODE}},
{"FPFastMathMode", 40, 0x0040, {SPV_OPERAND_TYPE_FP_FAST_MATH_MODE}},
{"LinkageAttributes", 41, 0x0020, {SPV_OPERAND_TYPE_LITERAL_STRING, SPV_OPERAND_TYPE_LINKAGE_TYPE}},
{"NoContraction", 42, 0x0002, {}},
{"InputAttachmentIndex", 43, 0x10000000000, {SPV_OPERAND_TYPE_LITERAL_INTEGER}},
{"Alignment", 44, 0x0040, {SPV_OPERAND_TYPE_LITERAL_INTEGER}}
};
static const spv_operand_desc_t pygen_variable_BuiltInEntries[] = {
{"Position", 0, 0x0002, {}},
{"PointSize", 1, 0x0002, {}},
{"ClipDistance", 3, 0x100000000, {}},
{"CullDistance", 4, 0x200000000, {}},
{"VertexId", 5, 0x0002, {}},
{"InstanceId", 6, 0x0002, {}},
{"PrimitiveId", 7, 0x000c, {}},
{"InvocationId", 8, 0x000c, {}},
{"Layer", 9, 0x0004, {}},
{"ViewportIndex", 10, 0x200000000000000, {}},
{"TessLevelOuter", 11, 0x0008, {}},
{"TessLevelInner", 12, 0x0008, {}},
{"TessCoord", 13, 0x0008, {}},
{"PatchVertices", 14, 0x0008, {}},
{"FragCoord", 15, 0x0002, {}},
{"PointCoord", 16, 0x0002, {}},
{"FrontFacing", 17, 0x0002, {}},
{"SampleId", 18, 0x800000000, {}},
{"SamplePosition", 19, 0x800000000, {}},
{"SampleMask", 20, 0x800000000, {}},
{"FragDepth", 22, 0x0002, {}},
{"HelperInvocation", 23, 0x0002, {}},
{"NumWorkgroups", 24, 0x0000, {}},
{"WorkgroupSize", 25, 0x0000, {}},
{"WorkgroupId", 26, 0x0000, {}},
{"LocalInvocationId", 27, 0x0000, {}},
{"GlobalInvocationId", 28, 0x0000, {}},
{"LocalInvocationIndex", 29, 0x0000, {}},
{"WorkDim", 30, 0x0040, {}},
{"GlobalSize", 31, 0x0040, {}},
{"EnqueuedWorkgroupSize", 32, 0x0040, {}},
{"GlobalOffset", 33, 0x0040, {}},
{"GlobalLinearId", 34, 0x0040, {}},
{"SubgroupSize", 36, 0x0040, {}},
{"SubgroupMaxSize", 37, 0x0040, {}},
{"NumSubgroups", 38, 0x0040, {}},
{"NumEnqueuedSubgroups", 39, 0x0040, {}},
{"SubgroupId", 40, 0x0040, {}},
{"SubgroupLocalInvocationId", 41, 0x0040, {}},
{"VertexIndex", 42, 0x0002, {}},
{"InstanceIndex", 43, 0x0002, {}}
};
static const spv_operand_desc_t pygen_variable_ScopeEntries[] = {
{"CrossDevice", 0, 0x0000, {}},
{"Device", 1, 0x0000, {}},
{"Workgroup", 2, 0x0000, {}},
{"Subgroup", 3, 0x0000, {}},
{"Invocation", 4, 0x0000, {}}
};
static const spv_operand_desc_t pygen_variable_GroupOperationEntries[] = {
{"Reduce", 0, 0x0040, {}},
{"InclusiveScan", 1, 0x0040, {}},
{"ExclusiveScan", 2, 0x0040, {}}
};
static const spv_operand_desc_t pygen_variable_KernelEnqueueFlagsEntries[] = {
{"NoWait", 0, 0x0040, {}},
{"WaitKernel", 1, 0x0040, {}},
{"WaitWorkGroup", 2, 0x0040, {}}
};
static const spv_operand_desc_t pygen_variable_CapabilityEntries[] = {
{"Matrix", 0, 0x0000, {}},
{"Shader", 1, 0x0001, {}},
{"Geometry", 2, 0x0002, {}},
{"Tessellation", 3, 0x0002, {}},
{"Addresses", 4, 0x0000, {}},
{"Linkage", 5, 0x0000, {}},
{"Kernel", 6, 0x0000, {}},
{"Vector16", 7, 0x0040, {}},
{"Float16Buffer", 8, 0x0040, {}},
{"Float16", 9, 0x0000, {}},
{"Float64", 10, 0x0000, {}},
{"Int64", 11, 0x0000, {}},
{"Int64Atomics", 12, 0x0800, {}},
{"ImageBasic", 13, 0x0040, {}},
{"ImageReadWrite", 14, 0x2000, {}},
{"ImageMipmap", 15, 0x2000, {}},
{"Pipes", 17, 0x0040, {}},
{"Groups", 18, 0x0000, {}},
{"DeviceEnqueue", 19, 0x0040, {}},
{"LiteralSampler", 20, 0x0040, {}},
{"AtomicStorage", 21, 0x0002, {}},
{"Int16", 22, 0x0000, {}},
{"TessellationPointSize", 23, 0x0008, {}},
{"GeometryPointSize", 24, 0x0004, {}},
{"ImageGatherExtended", 25, 0x0002, {}},
{"StorageImageMultisample", 27, 0x0002, {}},
{"UniformBufferArrayDynamicIndexing", 28, 0x0002, {}},
{"SampledImageArrayDynamicIndexing", 29, 0x0002, {}},
{"StorageBufferArrayDynamicIndexing", 30, 0x0002, {}},
{"StorageImageArrayDynamicIndexing", 31, 0x0002, {}},
{"ClipDistance", 32, 0x0002, {}},
{"CullDistance", 33, 0x0002, {}},
{"ImageCubeArray", 34, 0x200000000000, {}},
{"SampleRateShading", 35, 0x0002, {}},
{"ImageRect", 36, 0x2000000000, {}},
{"SampledRect", 37, 0x0002, {}},
{"GenericPointer", 38, 0x0010, {}},
{"Int8", 39, 0x0040, {}},
{"InputAttachment", 40, 0x0002, {}},
{"SparseResidency", 41, 0x0002, {}},
{"MinLod", 42, 0x0002, {}},
{"Sampled1D", 43, 0x0002, {}},
{"Image1D", 44, 0x80000000000, {}},
{"SampledCubeArray", 45, 0x0002, {}},
{"SampledBuffer", 46, 0x0002, {}},
{"ImageBuffer", 47, 0x400000000000, {}},
{"ImageMSArray", 48, 0x0002, {}},
{"StorageImageExtendedFormats", 49, 0x0002, {}},
{"ImageQuery", 50, 0x0002, {}},
{"DerivativeControl", 51, 0x0002, {}},
{"InterpolationFunction", 52, 0x0002, {}},
{"TransformFeedback", 53, 0x0002, {}},
{"GeometryStreams", 54, 0x0004, {}},
{"StorageImageReadWithoutFormat", 55, 0x0002, {}},
{"StorageImageWriteWithoutFormat", 56, 0x0002, {}},
{"MultiViewport", 57, 0x0004, {}}
};
static const spv_operand_desc_group_t pygen_variable_OperandInfoTable[] = {
{SPV_OPERAND_TYPE_IMAGE, ARRAY_SIZE(pygen_variable_ImageOperandsEntries), pygen_variable_ImageOperandsEntries},
{SPV_OPERAND_TYPE_FP_FAST_MATH_MODE, ARRAY_SIZE(pygen_variable_FPFastMathModeEntries), pygen_variable_FPFastMathModeEntries},
{SPV_OPERAND_TYPE_SELECTION_CONTROL, ARRAY_SIZE(pygen_variable_SelectionControlEntries), pygen_variable_SelectionControlEntries},
{SPV_OPERAND_TYPE_LOOP_CONTROL, ARRAY_SIZE(pygen_variable_LoopControlEntries), pygen_variable_LoopControlEntries},
{SPV_OPERAND_TYPE_FUNCTION_CONTROL, ARRAY_SIZE(pygen_variable_FunctionControlEntries), pygen_variable_FunctionControlEntries},
{SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID, ARRAY_SIZE(pygen_variable_MemorySemanticsEntries), pygen_variable_MemorySemanticsEntries},
{SPV_OPERAND_TYPE_MEMORY_ACCESS, ARRAY_SIZE(pygen_variable_MemoryAccessEntries), pygen_variable_MemoryAccessEntries},
{SPV_OPERAND_TYPE_KERNEL_PROFILING_INFO, ARRAY_SIZE(pygen_variable_KernelProfilingInfoEntries), pygen_variable_KernelProfilingInfoEntries},
{SPV_OPERAND_TYPE_SOURCE_LANGUAGE, ARRAY_SIZE(pygen_variable_SourceLanguageEntries), pygen_variable_SourceLanguageEntries},
{SPV_OPERAND_TYPE_EXECUTION_MODEL, ARRAY_SIZE(pygen_variable_ExecutionModelEntries), pygen_variable_ExecutionModelEntries},
{SPV_OPERAND_TYPE_ADDRESSING_MODEL, ARRAY_SIZE(pygen_variable_AddressingModelEntries), pygen_variable_AddressingModelEntries},
{SPV_OPERAND_TYPE_MEMORY_MODEL, ARRAY_SIZE(pygen_variable_MemoryModelEntries), pygen_variable_MemoryModelEntries},
{SPV_OPERAND_TYPE_EXECUTION_MODE, ARRAY_SIZE(pygen_variable_ExecutionModeEntries), pygen_variable_ExecutionModeEntries},
{SPV_OPERAND_TYPE_STORAGE_CLASS, ARRAY_SIZE(pygen_variable_StorageClassEntries), pygen_variable_StorageClassEntries},
{SPV_OPERAND_TYPE_DIMENSIONALITY, ARRAY_SIZE(pygen_variable_DimEntries), pygen_variable_DimEntries},
{SPV_OPERAND_TYPE_SAMPLER_ADDRESSING_MODE, ARRAY_SIZE(pygen_variable_SamplerAddressingModeEntries), pygen_variable_SamplerAddressingModeEntries},
{SPV_OPERAND_TYPE_SAMPLER_FILTER_MODE, ARRAY_SIZE(pygen_variable_SamplerFilterModeEntries), pygen_variable_SamplerFilterModeEntries},
{SPV_OPERAND_TYPE_SAMPLER_IMAGE_FORMAT, ARRAY_SIZE(pygen_variable_ImageFormatEntries), pygen_variable_ImageFormatEntries},
{SPV_OPERAND_TYPE_IMAGE_CHANNEL_ORDER, ARRAY_SIZE(pygen_variable_ImageChannelOrderEntries), pygen_variable_ImageChannelOrderEntries},
{SPV_OPERAND_TYPE_IMAGE_CHANNEL_DATA_TYPE, ARRAY_SIZE(pygen_variable_ImageChannelDataTypeEntries), pygen_variable_ImageChannelDataTypeEntries},
{SPV_OPERAND_TYPE_FP_ROUNDING_MODE, ARRAY_SIZE(pygen_variable_FPRoundingModeEntries), pygen_variable_FPRoundingModeEntries},
{SPV_OPERAND_TYPE_LINKAGE_TYPE, ARRAY_SIZE(pygen_variable_LinkageTypeEntries), pygen_variable_LinkageTypeEntries},
{SPV_OPERAND_TYPE_ACCESS_QUALIFIER, ARRAY_SIZE(pygen_variable_AccessQualifierEntries), pygen_variable_AccessQualifierEntries},
{SPV_OPERAND_TYPE_FUNCTION_PARAMETER_ATTRIBUTE, ARRAY_SIZE(pygen_variable_FunctionParameterAttributeEntries), pygen_variable_FunctionParameterAttributeEntries},
{SPV_OPERAND_TYPE_DECORATION, ARRAY_SIZE(pygen_variable_DecorationEntries), pygen_variable_DecorationEntries},
{SPV_OPERAND_TYPE_BUILT_IN, ARRAY_SIZE(pygen_variable_BuiltInEntries), pygen_variable_BuiltInEntries},
{SPV_OPERAND_TYPE_SCOPE_ID, ARRAY_SIZE(pygen_variable_ScopeEntries), pygen_variable_ScopeEntries},
{SPV_OPERAND_TYPE_GROUP_OPERATION, ARRAY_SIZE(pygen_variable_GroupOperationEntries), pygen_variable_GroupOperationEntries},
{SPV_OPERAND_TYPE_KERNEL_ENQ_FLAGS, ARRAY_SIZE(pygen_variable_KernelEnqueueFlagsEntries), pygen_variable_KernelEnqueueFlagsEntries},
{SPV_OPERAND_TYPE_CAPABILITY, ARRAY_SIZE(pygen_variable_CapabilityEntries), pygen_variable_CapabilityEntries},
{SPV_OPERAND_TYPE_OPTIONAL_IMAGE, ARRAY_SIZE(pygen_variable_ImageOperandsEntries), pygen_variable_ImageOperandsEntries},
{SPV_OPERAND_TYPE_OPTIONAL_MEMORY_ACCESS, ARRAY_SIZE(pygen_variable_MemoryAccessEntries), pygen_variable_MemoryAccessEntries},
{SPV_OPERAND_TYPE_OPTIONAL_ACCESS_QUALIFIER, ARRAY_SIZE(pygen_variable_AccessQualifierEntries), pygen_variable_AccessQualifierEntries}
};

View File

@ -0,0 +1,499 @@
static const spv_operand_desc_t pygen_variable_ImageOperandsEntries[] = {
{"None", 0x0000, 0x0000, {}},
{"Bias", 0x0001, 0x0002, {SPV_OPERAND_TYPE_ID}},
{"Lod", 0x0002, 0x0000, {SPV_OPERAND_TYPE_ID}},
{"Grad", 0x0004, 0x0000, {SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_ID}},
{"ConstOffset", 0x0008, 0x0000, {SPV_OPERAND_TYPE_ID}},
{"Offset", 0x0010, 0x2000000, {SPV_OPERAND_TYPE_ID}},
{"ConstOffsets", 0x0020, 0x0000, {SPV_OPERAND_TYPE_ID}},
{"Sample", 0x0040, 0x0000, {SPV_OPERAND_TYPE_ID}},
{"MinLod", 0x0080, 0x40000000000, {SPV_OPERAND_TYPE_ID}}
};
static const spv_operand_desc_t pygen_variable_FPFastMathModeEntries[] = {
{"None", 0x0000, 0x0000, {}},
{"NotNaN", 0x0001, 0x0040, {}},
{"NotInf", 0x0002, 0x0040, {}},
{"NSZ", 0x0004, 0x0040, {}},
{"AllowRecip", 0x0008, 0x0040, {}},
{"Fast", 0x0010, 0x0040, {}}
};
static const spv_operand_desc_t pygen_variable_SelectionControlEntries[] = {
{"None", 0x0000, 0x0000, {}},
{"Flatten", 0x0001, 0x0000, {}},
{"DontFlatten", 0x0002, 0x0000, {}}
};
static const spv_operand_desc_t pygen_variable_LoopControlEntries[] = {
{"None", 0x0000, 0x0000, {}},
{"Unroll", 0x0001, 0x0000, {}},
{"DontUnroll", 0x0002, 0x0000, {}},
{"DependencyInfinite", 0x0004, 0x0000, {}},
{"DependencyLength", 0x0008, 0x0000, {SPV_OPERAND_TYPE_LITERAL_INTEGER}}
};
static const spv_operand_desc_t pygen_variable_FunctionControlEntries[] = {
{"None", 0x0000, 0x0000, {}},
{"Inline", 0x0001, 0x0000, {}},
{"DontInline", 0x0002, 0x0000, {}},
{"Pure", 0x0004, 0x0000, {}},
{"Const", 0x0008, 0x0000, {}}
};
static const spv_operand_desc_t pygen_variable_MemorySemanticsEntries[] = {
{"Relaxed", 0x0000, 0x0000, {}},
{"None", 0x0000, 0x0000, {}},
{"SequentiallyConsistent", 0x0010, 0x0000, {}},
{"Acquire", 0x0002, 0x0000, {}},
{"Release", 0x0004, 0x0000, {}},
{"AcquireRelease", 0x0008, 0x0000, {}},
{"UniformMemory", 0x0040, 0x0002, {}},
{"SubgroupMemory", 0x0080, 0x0000, {}},
{"WorkgroupMemory", 0x0100, 0x0000, {}},
{"CrossWorkgroupMemory", 0x0200, 0x0000, {}},
{"AtomicCounterMemory", 0x0400, 0x200000, {}},
{"ImageMemory", 0x0800, 0x0000, {}}
};
static const spv_operand_desc_t pygen_variable_MemoryAccessEntries[] = {
{"None", 0x0000, 0x0000, {}},
{"Volatile", 0x0001, 0x0000, {}},
{"Aligned", 0x0002, 0x0000, {SPV_OPERAND_TYPE_LITERAL_INTEGER}},
{"Nontemporal", 0x0004, 0x0000, {}}
};
static const spv_operand_desc_t pygen_variable_KernelProfilingInfoEntries[] = {
{"None", 0x0000, 0x0000, {}},
{"CmdExecTime", 0x0001, 0x0040, {}}
};
static const spv_operand_desc_t pygen_variable_SourceLanguageEntries[] = {
{"Unknown", 0, 0x0000, {}},
{"ESSL", 1, 0x0000, {}},
{"GLSL", 2, 0x0000, {}},
{"OpenCL_C", 3, 0x0000, {}},
{"OpenCL_CPP", 4, 0x0000, {}}
};
static const spv_operand_desc_t pygen_variable_ExecutionModelEntries[] = {
{"Vertex", 0, 0x0002, {}},
{"TessellationControl", 1, 0x0008, {}},
{"TessellationEvaluation", 2, 0x0008, {}},
{"Geometry", 3, 0x0004, {}},
{"Fragment", 4, 0x0002, {}},
{"GLCompute", 5, 0x0002, {}},
{"Kernel", 6, 0x0040, {}}
};
static const spv_operand_desc_t pygen_variable_AddressingModelEntries[] = {
{"Logical", 0, 0x0000, {}},
{"Physical32", 1, 0x0010, {}},
{"Physical64", 2, 0x0010, {}}
};
static const spv_operand_desc_t pygen_variable_MemoryModelEntries[] = {
{"Simple", 0, 0x0002, {}},
{"GLSL450", 1, 0x0002, {}},
{"OpenCL", 2, 0x0040, {}}
};
static const spv_operand_desc_t pygen_variable_ExecutionModeEntries[] = {
{"Invocations", 0, 0x0004, {SPV_OPERAND_TYPE_LITERAL_INTEGER}},
{"SpacingEqual", 1, 0x0008, {}},
{"SpacingFractionalEven", 2, 0x0008, {}},
{"SpacingFractionalOdd", 3, 0x0008, {}},
{"VertexOrderCw", 4, 0x0008, {}},
{"VertexOrderCcw", 5, 0x0008, {}},
{"PixelCenterInteger", 6, 0x0002, {}},
{"OriginUpperLeft", 7, 0x0002, {}},
{"OriginLowerLeft", 8, 0x0002, {}},
{"EarlyFragmentTests", 9, 0x0002, {}},
{"PointMode", 10, 0x0008, {}},
{"Xfb", 11, 0x20000000000000, {}},
{"DepthReplacing", 12, 0x0002, {}},
{"DepthGreater", 14, 0x0002, {}},
{"DepthLess", 15, 0x0002, {}},
{"DepthUnchanged", 16, 0x0002, {}},
{"LocalSize", 17, 0x0000, {SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_LITERAL_INTEGER}},
{"LocalSizeHint", 18, 0x0040, {SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_LITERAL_INTEGER, SPV_OPERAND_TYPE_LITERAL_INTEGER}},
{"InputPoints", 19, 0x0004, {}},
{"InputLines", 20, 0x0004, {}},
{"InputLinesAdjacency", 21, 0x0004, {}},
{"Triangles", 22, 0x000c, {}},
{"InputTrianglesAdjacency", 23, 0x0004, {}},
{"Quads", 24, 0x0008, {}},
{"Isolines", 25, 0x0008, {}},
{"OutputVertices", 26, 0x000c, {SPV_OPERAND_TYPE_LITERAL_INTEGER}},
{"OutputPoints", 27, 0x0004, {}},
{"OutputLineStrip", 28, 0x0004, {}},
{"OutputTriangleStrip", 29, 0x0004, {}},
{"VecTypeHint", 30, 0x0040, {SPV_OPERAND_TYPE_LITERAL_INTEGER}},
{"ContractionOff", 31, 0x0040, {}},
{"Initializer", 33, 0x0040, {}},
{"Finalizer", 34, 0x0040, {}},
{"SubgroupSize", 35, 0x400000000000000, {SPV_OPERAND_TYPE_LITERAL_INTEGER}},
{"SubgroupsPerWorkgroup", 36, 0x400000000000000, {SPV_OPERAND_TYPE_LITERAL_INTEGER}}
};
static const spv_operand_desc_t pygen_variable_StorageClassEntries[] = {
{"UniformConstant", 0, 0x0000, {}},
{"Input", 1, 0x0002, {}},
{"Uniform", 2, 0x0002, {}},
{"Output", 3, 0x0002, {}},
{"Workgroup", 4, 0x0000, {}},
{"CrossWorkgroup", 5, 0x0000, {}},
{"Private", 6, 0x0002, {}},
{"Function", 7, 0x0000, {}},
{"Generic", 8, 0x4000000000, {}},
{"PushConstant", 9, 0x0002, {}},
{"AtomicCounter", 10, 0x200000, {}},
{"Image", 11, 0x0000, {}}
};
static const spv_operand_desc_t pygen_variable_DimEntries[] = {
{"1D", 0, 0x80000000000, {}},
{"2D", 1, 0x0000, {}},
{"3D", 2, 0x0000, {}},
{"Cube", 3, 0x0002, {}},
{"Rect", 4, 0x2000000000, {}},
{"Buffer", 5, 0x400000000000, {}},
{"SubpassData", 6, 0x10000000000, {}}
};
static const spv_operand_desc_t pygen_variable_SamplerAddressingModeEntries[] = {
{"None", 0, 0x0040, {}},
{"ClampToEdge", 1, 0x0040, {}},
{"Clamp", 2, 0x0040, {}},
{"Repeat", 3, 0x0040, {}},
{"RepeatMirrored", 4, 0x0040, {}}
};
static const spv_operand_desc_t pygen_variable_SamplerFilterModeEntries[] = {
{"Nearest", 0, 0x0040, {}},
{"Linear", 1, 0x0040, {}}
};
static const spv_operand_desc_t pygen_variable_ImageFormatEntries[] = {
{"Unknown", 0, 0x0000, {}},
{"Rgba32f", 1, 0x0002, {}},
{"Rgba16f", 2, 0x0002, {}},
{"R32f", 3, 0x0002, {}},
{"Rgba8", 4, 0x0002, {}},
{"Rgba8Snorm", 5, 0x0002, {}},
{"Rg32f", 6, 0x2000000000000, {}},
{"Rg16f", 7, 0x2000000000000, {}},
{"R11fG11fB10f", 8, 0x2000000000000, {}},
{"R16f", 9, 0x2000000000000, {}},
{"Rgba16", 10, 0x2000000000000, {}},
{"Rgb10A2", 11, 0x2000000000000, {}},
{"Rg16", 12, 0x2000000000000, {}},
{"Rg8", 13, 0x2000000000000, {}},
{"R16", 14, 0x2000000000000, {}},
{"R8", 15, 0x2000000000000, {}},
{"Rgba16Snorm", 16, 0x2000000000000, {}},
{"Rg16Snorm", 17, 0x2000000000000, {}},
{"Rg8Snorm", 18, 0x2000000000000, {}},
{"R16Snorm", 19, 0x2000000000000, {}},
{"R8Snorm", 20, 0x2000000000000, {}},
{"Rgba32i", 21, 0x0002, {}},
{"Rgba16i", 22, 0x0002, {}},
{"Rgba8i", 23, 0x0002, {}},
{"R32i", 24, 0x0002, {}},
{"Rg32i", 25, 0x2000000000000, {}},
{"Rg16i", 26, 0x2000000000000, {}},
{"Rg8i", 27, 0x2000000000000, {}},
{"R16i", 28, 0x2000000000000, {}},
{"R8i", 29, 0x2000000000000, {}},
{"Rgba32ui", 30, 0x0002, {}},
{"Rgba16ui", 31, 0x0002, {}},
{"Rgba8ui", 32, 0x0002, {}},
{"R32ui", 33, 0x0002, {}},
{"Rgb10a2ui", 34, 0x2000000000000, {}},
{"Rg32ui", 35, 0x2000000000000, {}},
{"Rg16ui", 36, 0x2000000000000, {}},
{"Rg8ui", 37, 0x2000000000000, {}},
{"R16ui", 38, 0x2000000000000, {}},
{"R8ui", 39, 0x2000000000000, {}}
};
static const spv_operand_desc_t pygen_variable_ImageChannelOrderEntries[] = {
{"R", 0, 0x0040, {}},
{"A", 1, 0x0040, {}},
{"RG", 2, 0x0040, {}},
{"RA", 3, 0x0040, {}},
{"RGB", 4, 0x0040, {}},
{"RGBA", 5, 0x0040, {}},
{"BGRA", 6, 0x0040, {}},
{"ARGB", 7, 0x0040, {}},
{"Intensity", 8, 0x0040, {}},
{"Luminance", 9, 0x0040, {}},
{"Rx", 10, 0x0040, {}},
{"RGx", 11, 0x0040, {}},
{"RGBx", 12, 0x0040, {}},
{"Depth", 13, 0x0040, {}},
{"DepthStencil", 14, 0x0040, {}},
{"sRGB", 15, 0x0040, {}},
{"sRGBx", 16, 0x0040, {}},
{"sRGBA", 17, 0x0040, {}},
{"sBGRA", 18, 0x0040, {}},
{"ABGR", 19, 0x0040, {}}
};
static const spv_operand_desc_t pygen_variable_ImageChannelDataTypeEntries[] = {
{"SnormInt8", 0, 0x0040, {}},
{"SnormInt16", 1, 0x0040, {}},
{"UnormInt8", 2, 0x0040, {}},
{"UnormInt16", 3, 0x0040, {}},
{"UnormShort565", 4, 0x0040, {}},
{"UnormShort555", 5, 0x0040, {}},
{"UnormInt101010", 6, 0x0040, {}},
{"SignedInt8", 7, 0x0040, {}},
{"SignedInt16", 8, 0x0040, {}},
{"SignedInt32", 9, 0x0040, {}},
{"UnsignedInt8", 10, 0x0040, {}},
{"UnsignedInt16", 11, 0x0040, {}},
{"UnsignedInt32", 12, 0x0040, {}},
{"HalfFloat", 13, 0x0040, {}},
{"Float", 14, 0x0040, {}},
{"UnormInt24", 15, 0x0040, {}},
{"UnormInt101010_2", 16, 0x0040, {}}
};
static const spv_operand_desc_t pygen_variable_FPRoundingModeEntries[] = {
{"RTE", 0, 0x0040, {}},
{"RTZ", 1, 0x0040, {}},
{"RTP", 2, 0x0040, {}},
{"RTN", 3, 0x0040, {}}
};
static const spv_operand_desc_t pygen_variable_LinkageTypeEntries[] = {
{"Export", 0, 0x0020, {}},
{"Import", 1, 0x0020, {}}
};
static const spv_operand_desc_t pygen_variable_AccessQualifierEntries[] = {
{"ReadOnly", 0, 0x0040, {}},
{"WriteOnly", 1, 0x0040, {}},
{"ReadWrite", 2, 0x0040, {}}
};
static const spv_operand_desc_t pygen_variable_FunctionParameterAttributeEntries[] = {
{"Zext", 0, 0x0040, {}},
{"Sext", 1, 0x0040, {}},
{"ByVal", 2, 0x0040, {}},
{"Sret", 3, 0x0040, {}},
{"NoAlias", 4, 0x0040, {}},
{"NoCapture", 5, 0x0040, {}},
{"NoWrite", 6, 0x0040, {}},
{"NoReadWrite", 7, 0x0040, {}}
};
static const spv_operand_desc_t pygen_variable_DecorationEntries[] = {
{"RelaxedPrecision", 0, 0x0002, {}},
{"SpecId", 1, 0x0042, {SPV_OPERAND_TYPE_LITERAL_INTEGER}},
{"Block", 2, 0x0002, {}},
{"BufferBlock", 3, 0x0002, {}},
{"RowMajor", 4, 0x0001, {}},
{"ColMajor", 5, 0x0001, {}},
{"ArrayStride", 6, 0x0002, {SPV_OPERAND_TYPE_LITERAL_INTEGER}},
{"MatrixStride", 7, 0x0001, {SPV_OPERAND_TYPE_LITERAL_INTEGER}},
{"GLSLShared", 8, 0x0002, {}},
{"GLSLPacked", 9, 0x0002, {}},
{"CPacked", 10, 0x0040, {}},
{"BuiltIn", 11, 0x0000, {SPV_OPERAND_TYPE_BUILT_IN}},
{"NoPerspective", 13, 0x0002, {}},
{"Flat", 14, 0x0002, {}},
{"Patch", 15, 0x0008, {}},
{"Centroid", 16, 0x0002, {}},
{"Sample", 17, 0x800000000, {}},
{"Invariant", 18, 0x0002, {}},
{"Restrict", 19, 0x0000, {}},
{"Aliased", 20, 0x0000, {}},
{"Volatile", 21, 0x0000, {}},
{"Constant", 22, 0x0040, {}},
{"Coherent", 23, 0x0000, {}},
{"NonWritable", 24, 0x0000, {}},
{"NonReadable", 25, 0x0000, {}},
{"Uniform", 26, 0x0002, {}},
{"SaturatedConversion", 28, 0x0040, {}},
{"Stream", 29, 0x40000000000000, {SPV_OPERAND_TYPE_LITERAL_INTEGER}},
{"Location", 30, 0x0002, {SPV_OPERAND_TYPE_LITERAL_INTEGER}},
{"Component", 31, 0x0002, {SPV_OPERAND_TYPE_LITERAL_INTEGER}},
{"Index", 32, 0x0002, {SPV_OPERAND_TYPE_LITERAL_INTEGER}},
{"Binding", 33, 0x0002, {SPV_OPERAND_TYPE_LITERAL_INTEGER}},
{"DescriptorSet", 34, 0x0002, {SPV_OPERAND_TYPE_LITERAL_INTEGER}},
{"Offset", 35, 0x0002, {SPV_OPERAND_TYPE_LITERAL_INTEGER}},
{"XfbBuffer", 36, 0x20000000000000, {SPV_OPERAND_TYPE_LITERAL_INTEGER}},
{"XfbStride", 37, 0x20000000000000, {SPV_OPERAND_TYPE_LITERAL_INTEGER}},
{"FuncParamAttr", 38, 0x0040, {SPV_OPERAND_TYPE_FUNCTION_PARAMETER_ATTRIBUTE}},
{"FPRoundingMode", 39, 0x0040, {SPV_OPERAND_TYPE_FP_ROUNDING_MODE}},
{"FPFastMathMode", 40, 0x0040, {SPV_OPERAND_TYPE_FP_FAST_MATH_MODE}},
{"LinkageAttributes", 41, 0x0020, {SPV_OPERAND_TYPE_LITERAL_STRING, SPV_OPERAND_TYPE_LINKAGE_TYPE}},
{"NoContraction", 42, 0x0002, {}},
{"InputAttachmentIndex", 43, 0x10000000000, {SPV_OPERAND_TYPE_LITERAL_INTEGER}},
{"Alignment", 44, 0x0040, {SPV_OPERAND_TYPE_LITERAL_INTEGER}},
{"MaxByteOffset", 45, 0x0010, {SPV_OPERAND_TYPE_LITERAL_INTEGER}}
};
static const spv_operand_desc_t pygen_variable_BuiltInEntries[] = {
{"Position", 0, 0x0002, {}},
{"PointSize", 1, 0x0002, {}},
{"ClipDistance", 3, 0x100000000, {}},
{"CullDistance", 4, 0x200000000, {}},
{"VertexId", 5, 0x0002, {}},
{"InstanceId", 6, 0x0002, {}},
{"PrimitiveId", 7, 0x000c, {}},
{"InvocationId", 8, 0x000c, {}},
{"Layer", 9, 0x0004, {}},
{"ViewportIndex", 10, 0x200000000000000, {}},
{"TessLevelOuter", 11, 0x0008, {}},
{"TessLevelInner", 12, 0x0008, {}},
{"TessCoord", 13, 0x0008, {}},
{"PatchVertices", 14, 0x0008, {}},
{"FragCoord", 15, 0x0002, {}},
{"PointCoord", 16, 0x0002, {}},
{"FrontFacing", 17, 0x0002, {}},
{"SampleId", 18, 0x800000000, {}},
{"SamplePosition", 19, 0x800000000, {}},
{"SampleMask", 20, 0x800000000, {}},
{"FragDepth", 22, 0x0002, {}},
{"HelperInvocation", 23, 0x0002, {}},
{"NumWorkgroups", 24, 0x0000, {}},
{"WorkgroupSize", 25, 0x0000, {}},
{"WorkgroupId", 26, 0x0000, {}},
{"LocalInvocationId", 27, 0x0000, {}},
{"GlobalInvocationId", 28, 0x0000, {}},
{"LocalInvocationIndex", 29, 0x0000, {}},
{"WorkDim", 30, 0x0040, {}},
{"GlobalSize", 31, 0x0040, {}},
{"EnqueuedWorkgroupSize", 32, 0x0040, {}},
{"GlobalOffset", 33, 0x0040, {}},
{"GlobalLinearId", 34, 0x0040, {}},
{"SubgroupSize", 36, 0x0040, {}},
{"SubgroupMaxSize", 37, 0x0040, {}},
{"NumSubgroups", 38, 0x0040, {}},
{"NumEnqueuedSubgroups", 39, 0x0040, {}},
{"SubgroupId", 40, 0x0040, {}},
{"SubgroupLocalInvocationId", 41, 0x0040, {}},
{"VertexIndex", 42, 0x0002, {}},
{"InstanceIndex", 43, 0x0002, {}}
};
static const spv_operand_desc_t pygen_variable_ScopeEntries[] = {
{"CrossDevice", 0, 0x0000, {}},
{"Device", 1, 0x0000, {}},
{"Workgroup", 2, 0x0000, {}},
{"Subgroup", 3, 0x0000, {}},
{"Invocation", 4, 0x0000, {}}
};
static const spv_operand_desc_t pygen_variable_GroupOperationEntries[] = {
{"Reduce", 0, 0x0040, {}},
{"InclusiveScan", 1, 0x0040, {}},
{"ExclusiveScan", 2, 0x0040, {}}
};
static const spv_operand_desc_t pygen_variable_KernelEnqueueFlagsEntries[] = {
{"NoWait", 0, 0x0040, {}},
{"WaitKernel", 1, 0x0040, {}},
{"WaitWorkGroup", 2, 0x0040, {}}
};
static const spv_operand_desc_t pygen_variable_CapabilityEntries[] = {
{"Matrix", 0, 0x0000, {}},
{"Shader", 1, 0x0001, {}},
{"Geometry", 2, 0x0002, {}},
{"Tessellation", 3, 0x0002, {}},
{"Addresses", 4, 0x0000, {}},
{"Linkage", 5, 0x0000, {}},
{"Kernel", 6, 0x0000, {}},
{"Vector16", 7, 0x0040, {}},
{"Float16Buffer", 8, 0x0040, {}},
{"Float16", 9, 0x0000, {}},
{"Float64", 10, 0x0000, {}},
{"Int64", 11, 0x0000, {}},
{"Int64Atomics", 12, 0x0800, {}},
{"ImageBasic", 13, 0x0040, {}},
{"ImageReadWrite", 14, 0x2000, {}},
{"ImageMipmap", 15, 0x2000, {}},
{"Pipes", 17, 0x0040, {}},
{"Groups", 18, 0x0000, {}},
{"DeviceEnqueue", 19, 0x0040, {}},
{"LiteralSampler", 20, 0x0040, {}},
{"AtomicStorage", 21, 0x0002, {}},
{"Int16", 22, 0x0000, {}},
{"TessellationPointSize", 23, 0x0008, {}},
{"GeometryPointSize", 24, 0x0004, {}},
{"ImageGatherExtended", 25, 0x0002, {}},
{"StorageImageMultisample", 27, 0x0002, {}},
{"UniformBufferArrayDynamicIndexing", 28, 0x0002, {}},
{"SampledImageArrayDynamicIndexing", 29, 0x0002, {}},
{"StorageBufferArrayDynamicIndexing", 30, 0x0002, {}},
{"StorageImageArrayDynamicIndexing", 31, 0x0002, {}},
{"ClipDistance", 32, 0x0002, {}},
{"CullDistance", 33, 0x0002, {}},
{"ImageCubeArray", 34, 0x200000000000, {}},
{"SampleRateShading", 35, 0x0002, {}},
{"ImageRect", 36, 0x2000000000, {}},
{"SampledRect", 37, 0x0002, {}},
{"GenericPointer", 38, 0x0010, {}},
{"Int8", 39, 0x0040, {}},
{"InputAttachment", 40, 0x0002, {}},
{"SparseResidency", 41, 0x0002, {}},
{"MinLod", 42, 0x0002, {}},
{"Sampled1D", 43, 0x0002, {}},
{"Image1D", 44, 0x80000000000, {}},
{"SampledCubeArray", 45, 0x0002, {}},
{"SampledBuffer", 46, 0x0002, {}},
{"ImageBuffer", 47, 0x400000000000, {}},
{"ImageMSArray", 48, 0x0002, {}},
{"StorageImageExtendedFormats", 49, 0x0002, {}},
{"ImageQuery", 50, 0x0002, {}},
{"DerivativeControl", 51, 0x0002, {}},
{"InterpolationFunction", 52, 0x0002, {}},
{"TransformFeedback", 53, 0x0002, {}},
{"GeometryStreams", 54, 0x0004, {}},
{"StorageImageReadWithoutFormat", 55, 0x0002, {}},
{"StorageImageWriteWithoutFormat", 56, 0x0002, {}},
{"MultiViewport", 57, 0x0004, {}},
{"SubgroupDispatch", 58, 0x80000, {}},
{"NamedBarrier", 59, 0x0040, {}},
{"PipeStorage", 60, 0x20000, {}}
};
static const spv_operand_desc_group_t pygen_variable_OperandInfoTable[] = {
{SPV_OPERAND_TYPE_IMAGE, ARRAY_SIZE(pygen_variable_ImageOperandsEntries), pygen_variable_ImageOperandsEntries},
{SPV_OPERAND_TYPE_FP_FAST_MATH_MODE, ARRAY_SIZE(pygen_variable_FPFastMathModeEntries), pygen_variable_FPFastMathModeEntries},
{SPV_OPERAND_TYPE_SELECTION_CONTROL, ARRAY_SIZE(pygen_variable_SelectionControlEntries), pygen_variable_SelectionControlEntries},
{SPV_OPERAND_TYPE_LOOP_CONTROL, ARRAY_SIZE(pygen_variable_LoopControlEntries), pygen_variable_LoopControlEntries},
{SPV_OPERAND_TYPE_FUNCTION_CONTROL, ARRAY_SIZE(pygen_variable_FunctionControlEntries), pygen_variable_FunctionControlEntries},
{SPV_OPERAND_TYPE_MEMORY_SEMANTICS_ID, ARRAY_SIZE(pygen_variable_MemorySemanticsEntries), pygen_variable_MemorySemanticsEntries},
{SPV_OPERAND_TYPE_MEMORY_ACCESS, ARRAY_SIZE(pygen_variable_MemoryAccessEntries), pygen_variable_MemoryAccessEntries},
{SPV_OPERAND_TYPE_KERNEL_PROFILING_INFO, ARRAY_SIZE(pygen_variable_KernelProfilingInfoEntries), pygen_variable_KernelProfilingInfoEntries},
{SPV_OPERAND_TYPE_SOURCE_LANGUAGE, ARRAY_SIZE(pygen_variable_SourceLanguageEntries), pygen_variable_SourceLanguageEntries},
{SPV_OPERAND_TYPE_EXECUTION_MODEL, ARRAY_SIZE(pygen_variable_ExecutionModelEntries), pygen_variable_ExecutionModelEntries},
{SPV_OPERAND_TYPE_ADDRESSING_MODEL, ARRAY_SIZE(pygen_variable_AddressingModelEntries), pygen_variable_AddressingModelEntries},
{SPV_OPERAND_TYPE_MEMORY_MODEL, ARRAY_SIZE(pygen_variable_MemoryModelEntries), pygen_variable_MemoryModelEntries},
{SPV_OPERAND_TYPE_EXECUTION_MODE, ARRAY_SIZE(pygen_variable_ExecutionModeEntries), pygen_variable_ExecutionModeEntries},
{SPV_OPERAND_TYPE_STORAGE_CLASS, ARRAY_SIZE(pygen_variable_StorageClassEntries), pygen_variable_StorageClassEntries},
{SPV_OPERAND_TYPE_DIMENSIONALITY, ARRAY_SIZE(pygen_variable_DimEntries), pygen_variable_DimEntries},
{SPV_OPERAND_TYPE_SAMPLER_ADDRESSING_MODE, ARRAY_SIZE(pygen_variable_SamplerAddressingModeEntries), pygen_variable_SamplerAddressingModeEntries},
{SPV_OPERAND_TYPE_SAMPLER_FILTER_MODE, ARRAY_SIZE(pygen_variable_SamplerFilterModeEntries), pygen_variable_SamplerFilterModeEntries},
{SPV_OPERAND_TYPE_SAMPLER_IMAGE_FORMAT, ARRAY_SIZE(pygen_variable_ImageFormatEntries), pygen_variable_ImageFormatEntries},
{SPV_OPERAND_TYPE_IMAGE_CHANNEL_ORDER, ARRAY_SIZE(pygen_variable_ImageChannelOrderEntries), pygen_variable_ImageChannelOrderEntries},
{SPV_OPERAND_TYPE_IMAGE_CHANNEL_DATA_TYPE, ARRAY_SIZE(pygen_variable_ImageChannelDataTypeEntries), pygen_variable_ImageChannelDataTypeEntries},
{SPV_OPERAND_TYPE_FP_ROUNDING_MODE, ARRAY_SIZE(pygen_variable_FPRoundingModeEntries), pygen_variable_FPRoundingModeEntries},
{SPV_OPERAND_TYPE_LINKAGE_TYPE, ARRAY_SIZE(pygen_variable_LinkageTypeEntries), pygen_variable_LinkageTypeEntries},
{SPV_OPERAND_TYPE_ACCESS_QUALIFIER, ARRAY_SIZE(pygen_variable_AccessQualifierEntries), pygen_variable_AccessQualifierEntries},
{SPV_OPERAND_TYPE_FUNCTION_PARAMETER_ATTRIBUTE, ARRAY_SIZE(pygen_variable_FunctionParameterAttributeEntries), pygen_variable_FunctionParameterAttributeEntries},
{SPV_OPERAND_TYPE_DECORATION, ARRAY_SIZE(pygen_variable_DecorationEntries), pygen_variable_DecorationEntries},
{SPV_OPERAND_TYPE_BUILT_IN, ARRAY_SIZE(pygen_variable_BuiltInEntries), pygen_variable_BuiltInEntries},
{SPV_OPERAND_TYPE_SCOPE_ID, ARRAY_SIZE(pygen_variable_ScopeEntries), pygen_variable_ScopeEntries},
{SPV_OPERAND_TYPE_GROUP_OPERATION, ARRAY_SIZE(pygen_variable_GroupOperationEntries), pygen_variable_GroupOperationEntries},
{SPV_OPERAND_TYPE_KERNEL_ENQ_FLAGS, ARRAY_SIZE(pygen_variable_KernelEnqueueFlagsEntries), pygen_variable_KernelEnqueueFlagsEntries},
{SPV_OPERAND_TYPE_CAPABILITY, ARRAY_SIZE(pygen_variable_CapabilityEntries), pygen_variable_CapabilityEntries},
{SPV_OPERAND_TYPE_OPTIONAL_IMAGE, ARRAY_SIZE(pygen_variable_ImageOperandsEntries), pygen_variable_ImageOperandsEntries},
{SPV_OPERAND_TYPE_OPTIONAL_MEMORY_ACCESS, ARRAY_SIZE(pygen_variable_MemoryAccessEntries), pygen_variable_MemoryAccessEntries},
{SPV_OPERAND_TYPE_OPTIONAL_ACCESS_QUALIFIER, ARRAY_SIZE(pygen_variable_AccessQualifierEntries), pygen_variable_AccessQualifierEntries}
};