diff --git a/core/rexcode/ir/spirv/module.odin b/core/rexcode/ir/spirv/module.odin new file mode 100644 index 000000000..f51c80871 --- /dev/null +++ b/core/rexcode/ir/spirv/module.odin @@ -0,0 +1,127 @@ +// rexcode · Brendan Punsky (dotbmp@github), original author + +package rexcode_spirv + +import "core:rexcode/ir" + +// ============================================================================= +// SECTION: Module (the SPIR-V module -- ir core + SPIR-V's own sections) +// ============================================================================= +// +// `spirv.Module` is the `ir.Module` SSA core (types / globals / functions / +// symbols, dataflow = .SSA) plus the SPIR-V module-level sections the shared core +// has no slot for. A concrete IR carries those "alongside the core" per +// docs/ir_design.md §3; here that is literal -- `using base: ir.Module` embeds +// the core so `m.types`, `m.functions`, ... read straight through. +// +// SPIR-V is a *flat* stream of OpXxx, each defining an . `decode` lowers it +// into this structure -- OpTypeXxx -> base.types, OpVariable(global) -> +// base.globals, OpFunction -> base.functions, OpConstant* -> the constant pool, +// and the preamble / debug / annotations -> the sections below -- and `encode` +// flattens it back in the spec's required section order. +Module :: struct { + using base: ir.Module, // types, globals, functions, symbols, dataflow, target + + // --- Header --- + version: u32, // see version(); a default is supplied on encode if 0 + generator: u32, // GENERATOR if 0 + bound: u32, // exclusive upper bound on every ; recomputed on encode + + // --- Preamble (in spec section order) --- + capabilities: []Capability, + extensions: []string, + ext_imports: []Ext_Import, + addressing: Addressing_Model, + memory: Memory_Model, + entry_points: []Entry_Point, + exec_modes: []Exec_Mode, + + // --- Constant pool --- + // SPIR-V constants are module-level value definitions, each a result + // referenced like any other value (an op_value / .CONSTANT ref). + constants: []Constant, + + // --- Debug + annotations --- + debug: Debug, + decorations: []Decoration_Inst, +} + +// Member index sentinel: a whole-target decoration / name (OpDecorate / OpName) +// rather than a struct member one (OpMemberDecorate / OpMemberName). +MEMBER_NONE :: u32(0xFFFF_FFFF) + +// ----------------------------------------------------------------------------- +// Section element types +// ----------------------------------------------------------------------------- + +// OpExtInstImport: an extended instruction set, e.g. "GLSL.std.450". +Ext_Import :: struct { + result: Id, + name: string, +} + +// OpEntryPoint: an execution entry into the module. +Entry_Point :: struct { + model: Execution_Model, + function: Id, + name: string, + interface: []Id, // the OpVariable s forming the entry's interface +} + +// OpExecutionMode / OpExecutionModeId: a mode set on an entry point. +Exec_Mode :: struct { + entry: Id, + mode: Execution_Mode, + operands: []u32, // literal operands (e.g. LocalSize x, y, z) + is_id: bool, // OpExecutionModeId: `operands` are s, not literals +} + +// A module-level constant: OpConstant / OpConstant{True,False,Null} / OpConstantComposite. +Constant :: struct { + result: Result, // + type + opcode: Opcode, // which OpConstant* form produced it + value: u64, // scalar bit pattern (OpConstant); width comes from the type + elements: []Id, // OpConstantComposite member s +} + +// OpDecorate / OpMemberDecorate: an annotation on an (or one of its members). +Decoration_Inst :: struct { + target: Id, + decoration: Decoration, + member: u32, // OpMemberDecorate member index; MEMBER_NONE for OpDecorate + operands: []u32, // decoration literal operands (Location = N, Binding = N, ...) +} + +// The debug section. +Debug :: struct { + source_language: u32, + source_version: u32, + source_file: Id, // an OpString , or ID_NONE + names: []Name, // OpName / OpMemberName + strings: []Str, // OpString +} + +// OpName / OpMemberName. +Name :: struct { + target: Id, + member: u32, // OpMemberName member index; MEMBER_NONE for OpName + text: string, +} + +// OpString. +Str :: struct { + result: Id, + text: string, +} + +// SPIR-V is always SSA; a freshly-made module declares it so the shared verbs +// and printer pick the SSA path. +@(require_results) +make_module :: proc "contextless" () -> Module { + m: Module + m.base.dataflow = .SSA + m.version = VERSION_1_5 + m.addressing = .Logical + m.memory = .GLSL450 + return m +} diff --git a/core/rexcode/ir/spirv/opcodes.odin b/core/rexcode/ir/spirv/opcodes.odin new file mode 100644 index 000000000..bf07e3f44 --- /dev/null +++ b/core/rexcode/ir/spirv/opcodes.odin @@ -0,0 +1,884 @@ +// rexcode · Brendan Punsky (dotbmp@github), original author + +package rexcode_spirv + +// GENERATED from spirv.core.grammar.json (SPIRV-Headers unified1) by tablegen/gen.odin. +// DO NOT EDIT -- regenerate with `odin run core/rexcode/ir/spirv/tablegen`. + +// SPIR-V operation opcodes. The values ARE the wire opcodes; the codec writes +// them directly. OpNop = 0 doubles as the zero value (a benign no-op). +Opcode :: enum u16 { + OpNop = 0, + OpUndef = 1, + OpSourceContinued = 2, + OpSource = 3, + OpSourceExtension = 4, + OpName = 5, + OpMemberName = 6, + OpString = 7, + OpLine = 8, + OpExtension = 10, + OpExtInstImport = 11, + OpExtInst = 12, + OpMemoryModel = 14, + OpEntryPoint = 15, + OpExecutionMode = 16, + OpCapability = 17, + OpTypeVoid = 19, + OpTypeBool = 20, + OpTypeInt = 21, + OpTypeFloat = 22, + OpTypeVector = 23, + OpTypeMatrix = 24, + OpTypeImage = 25, + OpTypeSampler = 26, + OpTypeSampledImage = 27, + OpTypeArray = 28, + OpTypeRuntimeArray = 29, + OpTypeStruct = 30, + OpTypeOpaque = 31, + OpTypePointer = 32, + OpTypeFunction = 33, + OpTypeEvent = 34, + OpTypeDeviceEvent = 35, + OpTypeReserveId = 36, + OpTypeQueue = 37, + OpTypePipe = 38, + OpTypeForwardPointer = 39, + OpConstantTrue = 41, + OpConstantFalse = 42, + OpConstant = 43, + OpConstantComposite = 44, + OpConstantSampler = 45, + OpConstantNull = 46, + OpSpecConstantTrue = 48, + OpSpecConstantFalse = 49, + OpSpecConstant = 50, + OpSpecConstantComposite = 51, + OpSpecConstantOp = 52, + OpFunction = 54, + OpFunctionParameter = 55, + OpFunctionEnd = 56, + OpFunctionCall = 57, + OpVariable = 59, + OpImageTexelPointer = 60, + OpLoad = 61, + OpStore = 62, + OpCopyMemory = 63, + OpCopyMemorySized = 64, + OpAccessChain = 65, + OpInBoundsAccessChain = 66, + OpPtrAccessChain = 67, + OpArrayLength = 68, + OpGenericPtrMemSemantics = 69, + OpInBoundsPtrAccessChain = 70, + OpDecorate = 71, + OpMemberDecorate = 72, + OpDecorationGroup = 73, + OpGroupDecorate = 74, + OpGroupMemberDecorate = 75, + OpVectorExtractDynamic = 77, + OpVectorInsertDynamic = 78, + OpVectorShuffle = 79, + OpCompositeConstruct = 80, + OpCompositeExtract = 81, + OpCompositeInsert = 82, + OpCopyObject = 83, + OpTranspose = 84, + OpSampledImage = 86, + OpImageSampleImplicitLod = 87, + OpImageSampleExplicitLod = 88, + OpImageSampleDrefImplicitLod = 89, + OpImageSampleDrefExplicitLod = 90, + OpImageSampleProjImplicitLod = 91, + OpImageSampleProjExplicitLod = 92, + OpImageSampleProjDrefImplicitLod = 93, + OpImageSampleProjDrefExplicitLod = 94, + OpImageFetch = 95, + OpImageGather = 96, + OpImageDrefGather = 97, + OpImageRead = 98, + OpImageWrite = 99, + OpImage = 100, + OpImageQueryFormat = 101, + OpImageQueryOrder = 102, + OpImageQuerySizeLod = 103, + OpImageQuerySize = 104, + OpImageQueryLod = 105, + OpImageQueryLevels = 106, + OpImageQuerySamples = 107, + OpConvertFToU = 109, + OpConvertFToS = 110, + OpConvertSToF = 111, + OpConvertUToF = 112, + OpUConvert = 113, + OpSConvert = 114, + OpFConvert = 115, + OpQuantizeToF16 = 116, + OpConvertPtrToU = 117, + OpSatConvertSToU = 118, + OpSatConvertUToS = 119, + OpConvertUToPtr = 120, + OpPtrCastToGeneric = 121, + OpGenericCastToPtr = 122, + OpGenericCastToPtrExplicit = 123, + OpBitcast = 124, + OpSNegate = 126, + OpFNegate = 127, + OpIAdd = 128, + OpFAdd = 129, + OpISub = 130, + OpFSub = 131, + OpIMul = 132, + OpFMul = 133, + OpUDiv = 134, + OpSDiv = 135, + OpFDiv = 136, + OpUMod = 137, + OpSRem = 138, + OpSMod = 139, + OpFRem = 140, + OpFMod = 141, + OpVectorTimesScalar = 142, + OpMatrixTimesScalar = 143, + OpVectorTimesMatrix = 144, + OpMatrixTimesVector = 145, + OpMatrixTimesMatrix = 146, + OpOuterProduct = 147, + OpDot = 148, + OpIAddCarry = 149, + OpISubBorrow = 150, + OpUMulExtended = 151, + OpSMulExtended = 152, + OpAny = 154, + OpAll = 155, + OpIsNan = 156, + OpIsInf = 157, + OpIsFinite = 158, + OpIsNormal = 159, + OpSignBitSet = 160, + OpLessOrGreater = 161, + OpOrdered = 162, + OpUnordered = 163, + OpLogicalEqual = 164, + OpLogicalNotEqual = 165, + OpLogicalOr = 166, + OpLogicalAnd = 167, + OpLogicalNot = 168, + OpSelect = 169, + OpIEqual = 170, + OpINotEqual = 171, + OpUGreaterThan = 172, + OpSGreaterThan = 173, + OpUGreaterThanEqual = 174, + OpSGreaterThanEqual = 175, + OpULessThan = 176, + OpSLessThan = 177, + OpULessThanEqual = 178, + OpSLessThanEqual = 179, + OpFOrdEqual = 180, + OpFUnordEqual = 181, + OpFOrdNotEqual = 182, + OpFUnordNotEqual = 183, + OpFOrdLessThan = 184, + OpFUnordLessThan = 185, + OpFOrdGreaterThan = 186, + OpFUnordGreaterThan = 187, + OpFOrdLessThanEqual = 188, + OpFUnordLessThanEqual = 189, + OpFOrdGreaterThanEqual = 190, + OpFUnordGreaterThanEqual = 191, + OpShiftRightLogical = 194, + OpShiftRightArithmetic = 195, + OpShiftLeftLogical = 196, + OpBitwiseOr = 197, + OpBitwiseXor = 198, + OpBitwiseAnd = 199, + OpNot = 200, + OpBitFieldInsert = 201, + OpBitFieldSExtract = 202, + OpBitFieldUExtract = 203, + OpBitReverse = 204, + OpBitCount = 205, + OpDPdx = 207, + OpDPdy = 208, + OpFwidth = 209, + OpDPdxFine = 210, + OpDPdyFine = 211, + OpFwidthFine = 212, + OpDPdxCoarse = 213, + OpDPdyCoarse = 214, + OpFwidthCoarse = 215, + OpEmitVertex = 218, + OpEndPrimitive = 219, + OpEmitStreamVertex = 220, + OpEndStreamPrimitive = 221, + OpControlBarrier = 224, + OpMemoryBarrier = 225, + OpAtomicLoad = 227, + OpAtomicStore = 228, + OpAtomicExchange = 229, + OpAtomicCompareExchange = 230, + OpAtomicCompareExchangeWeak = 231, + OpAtomicIIncrement = 232, + OpAtomicIDecrement = 233, + OpAtomicIAdd = 234, + OpAtomicISub = 235, + OpAtomicSMin = 236, + OpAtomicUMin = 237, + OpAtomicSMax = 238, + OpAtomicUMax = 239, + OpAtomicAnd = 240, + OpAtomicOr = 241, + OpAtomicXor = 242, + OpPhi = 245, + OpLoopMerge = 246, + OpSelectionMerge = 247, + OpLabel = 248, + OpBranch = 249, + OpBranchConditional = 250, + OpSwitch = 251, + OpKill = 252, + OpReturn = 253, + OpReturnValue = 254, + OpUnreachable = 255, + OpLifetimeStart = 256, + OpLifetimeStop = 257, + OpGroupAsyncCopy = 259, + OpGroupWaitEvents = 260, + OpGroupAll = 261, + OpGroupAny = 262, + OpGroupBroadcast = 263, + OpGroupIAdd = 264, + OpGroupFAdd = 265, + OpGroupFMin = 266, + OpGroupUMin = 267, + OpGroupSMin = 268, + OpGroupFMax = 269, + OpGroupUMax = 270, + OpGroupSMax = 271, + OpReadPipe = 274, + OpWritePipe = 275, + OpReservedReadPipe = 276, + OpReservedWritePipe = 277, + OpReserveReadPipePackets = 278, + OpReserveWritePipePackets = 279, + OpCommitReadPipe = 280, + OpCommitWritePipe = 281, + OpIsValidReserveId = 282, + OpGetNumPipePackets = 283, + OpGetMaxPipePackets = 284, + OpGroupReserveReadPipePackets = 285, + OpGroupReserveWritePipePackets = 286, + OpGroupCommitReadPipe = 287, + OpGroupCommitWritePipe = 288, + OpEnqueueMarker = 291, + OpEnqueueKernel = 292, + OpGetKernelNDrangeSubGroupCount = 293, + OpGetKernelNDrangeMaxSubGroupSize = 294, + OpGetKernelWorkGroupSize = 295, + OpGetKernelPreferredWorkGroupSizeMultiple = 296, + OpRetainEvent = 297, + OpReleaseEvent = 298, + OpCreateUserEvent = 299, + OpIsValidEvent = 300, + OpSetUserEventStatus = 301, + OpCaptureEventProfilingInfo = 302, + OpGetDefaultQueue = 303, + OpBuildNDRange = 304, + OpImageSparseSampleImplicitLod = 305, + OpImageSparseSampleExplicitLod = 306, + OpImageSparseSampleDrefImplicitLod = 307, + OpImageSparseSampleDrefExplicitLod = 308, + OpImageSparseSampleProjImplicitLod = 309, + OpImageSparseSampleProjExplicitLod = 310, + OpImageSparseSampleProjDrefImplicitLod = 311, + OpImageSparseSampleProjDrefExplicitLod = 312, + OpImageSparseFetch = 313, + OpImageSparseGather = 314, + OpImageSparseDrefGather = 315, + OpImageSparseTexelsResident = 316, + OpNoLine = 317, + OpAtomicFlagTestAndSet = 318, + OpAtomicFlagClear = 319, + OpImageSparseRead = 320, + OpSizeOf = 321, + OpTypePipeStorage = 322, + OpConstantPipeStorage = 323, + OpCreatePipeFromPipeStorage = 324, + OpGetKernelLocalSizeForSubgroupCount = 325, + OpGetKernelMaxNumSubgroups = 326, + OpTypeNamedBarrier = 327, + OpNamedBarrierInitialize = 328, + OpMemoryNamedBarrier = 329, + OpModuleProcessed = 330, + OpExecutionModeId = 331, + OpDecorateId = 332, + OpGroupNonUniformElect = 333, + OpGroupNonUniformAll = 334, + OpGroupNonUniformAny = 335, + OpGroupNonUniformAllEqual = 336, + OpGroupNonUniformBroadcast = 337, + OpGroupNonUniformBroadcastFirst = 338, + OpGroupNonUniformBallot = 339, + OpGroupNonUniformInverseBallot = 340, + OpGroupNonUniformBallotBitExtract = 341, + OpGroupNonUniformBallotBitCount = 342, + OpGroupNonUniformBallotFindLSB = 343, + OpGroupNonUniformBallotFindMSB = 344, + OpGroupNonUniformShuffle = 345, + OpGroupNonUniformShuffleXor = 346, + OpGroupNonUniformShuffleUp = 347, + OpGroupNonUniformShuffleDown = 348, + OpGroupNonUniformIAdd = 349, + OpGroupNonUniformFAdd = 350, + OpGroupNonUniformIMul = 351, + OpGroupNonUniformFMul = 352, + OpGroupNonUniformSMin = 353, + OpGroupNonUniformUMin = 354, + OpGroupNonUniformFMin = 355, + OpGroupNonUniformSMax = 356, + OpGroupNonUniformUMax = 357, + OpGroupNonUniformFMax = 358, + OpGroupNonUniformBitwiseAnd = 359, + OpGroupNonUniformBitwiseOr = 360, + OpGroupNonUniformBitwiseXor = 361, + OpGroupNonUniformLogicalAnd = 362, + OpGroupNonUniformLogicalOr = 363, + OpGroupNonUniformLogicalXor = 364, + OpGroupNonUniformQuadBroadcast = 365, + OpGroupNonUniformQuadSwap = 366, + OpCopyLogical = 400, + OpPtrEqual = 401, + OpPtrNotEqual = 402, + OpPtrDiff = 403, + OpColorAttachmentReadEXT = 4160, + OpDepthAttachmentReadEXT = 4161, + OpStencilAttachmentReadEXT = 4162, + OpTypeTensorARM = 4163, + OpTensorReadARM = 4164, + OpTensorWriteARM = 4165, + OpTensorQuerySizeARM = 4166, + OpGraphConstantARM = 4181, + OpGraphEntryPointARM = 4182, + OpGraphARM = 4183, + OpGraphInputARM = 4184, + OpGraphSetOutputARM = 4185, + OpGraphEndARM = 4186, + OpTypeGraphARM = 4190, + OpTerminateInvocation = 4416, + OpTypeUntypedPointerKHR = 4417, + OpUntypedVariableKHR = 4418, + OpUntypedAccessChainKHR = 4419, + OpUntypedInBoundsAccessChainKHR = 4420, + OpSubgroupBallotKHR = 4421, + OpSubgroupFirstInvocationKHR = 4422, + OpUntypedPtrAccessChainKHR = 4423, + OpUntypedInBoundsPtrAccessChainKHR = 4424, + OpUntypedArrayLengthKHR = 4425, + OpUntypedPrefetchKHR = 4426, + OpFmaKHR = 4427, + OpSubgroupAllKHR = 4428, + OpSubgroupAnyKHR = 4429, + OpSubgroupAllEqualKHR = 4430, + OpGroupNonUniformRotateKHR = 4431, + OpSubgroupReadInvocationKHR = 4432, + OpExtInstWithForwardRefsKHR = 4433, + OpUntypedGroupAsyncCopyKHR = 4434, + OpTraceRayKHR = 4445, + OpExecuteCallableKHR = 4446, + OpConvertUToAccelerationStructureKHR = 4447, + OpIgnoreIntersectionKHR = 4448, + OpTerminateRayKHR = 4449, + OpSDot = 4450, + OpUDot = 4451, + OpSUDot = 4452, + OpSDotAccSat = 4453, + OpUDotAccSat = 4454, + OpSUDotAccSat = 4455, + OpTypeCooperativeMatrixKHR = 4456, + OpCooperativeMatrixLoadKHR = 4457, + OpCooperativeMatrixStoreKHR = 4458, + OpCooperativeMatrixMulAddKHR = 4459, + OpCooperativeMatrixLengthKHR = 4460, + OpConstantCompositeReplicateEXT = 4461, + OpSpecConstantCompositeReplicateEXT = 4462, + OpCompositeConstructReplicateEXT = 4463, + OpTypeRayQueryKHR = 4472, + OpRayQueryInitializeKHR = 4473, + OpRayQueryTerminateKHR = 4474, + OpRayQueryGenerateIntersectionKHR = 4475, + OpRayQueryConfirmIntersectionKHR = 4476, + OpRayQueryProceedKHR = 4477, + OpRayQueryGetIntersectionTypeKHR = 4479, + OpImageSampleWeightedQCOM = 4480, + OpImageBoxFilterQCOM = 4481, + OpImageBlockMatchSSDQCOM = 4482, + OpImageBlockMatchSADQCOM = 4483, + OpBitCastArrayQCOM = 4497, + OpImageBlockMatchWindowSSDQCOM = 4500, + OpImageBlockMatchWindowSADQCOM = 4501, + OpImageBlockMatchGatherSSDQCOM = 4502, + OpImageBlockMatchGatherSADQCOM = 4503, + OpCompositeConstructCoopMatQCOM = 4540, + OpCompositeExtractCoopMatQCOM = 4541, + OpExtractSubArrayQCOM = 4542, + OpGroupIAddNonUniformAMD = 5000, + OpGroupFAddNonUniformAMD = 5001, + OpGroupFMinNonUniformAMD = 5002, + OpGroupUMinNonUniformAMD = 5003, + OpGroupSMinNonUniformAMD = 5004, + OpGroupFMaxNonUniformAMD = 5005, + OpGroupUMaxNonUniformAMD = 5006, + OpGroupSMaxNonUniformAMD = 5007, + OpFragmentMaskFetchAMD = 5011, + OpFragmentFetchAMD = 5012, + OpReadClockKHR = 5056, + OpAllocateNodePayloadsAMDX = 5074, + OpEnqueueNodePayloadsAMDX = 5075, + OpTypeNodePayloadArrayAMDX = 5076, + OpFinishWritingNodePayloadAMDX = 5078, + OpNodePayloadArrayLengthAMDX = 5090, + OpIsNodePayloadValidAMDX = 5101, + OpConstantStringAMDX = 5103, + OpSpecConstantStringAMDX = 5104, + OpGroupNonUniformQuadAllKHR = 5110, + OpGroupNonUniformQuadAnyKHR = 5111, + OpTypeBufferEXT = 5115, + OpBufferPointerEXT = 5119, + OpAbortKHR = 5121, + OpUntypedImageTexelPointerEXT = 5126, + OpMemberDecorateIdEXT = 5127, + OpConstantSizeOfEXT = 5129, + OpConstantDataKHR = 5147, + OpSpecConstantDataKHR = 5148, + OpPoisonKHR = 5158, + OpFreezeKHR = 5159, + OpHitObjectRecordHitMotionNV = 5249, + OpHitObjectRecordHitWithIndexMotionNV = 5250, + OpHitObjectRecordMissMotionNV = 5251, + OpHitObjectGetWorldToObjectNV = 5252, + OpHitObjectGetObjectToWorldNV = 5253, + OpHitObjectGetObjectRayDirectionNV = 5254, + OpHitObjectGetObjectRayOriginNV = 5255, + OpHitObjectTraceRayMotionNV = 5256, + OpHitObjectGetShaderRecordBufferHandleNV = 5257, + OpHitObjectGetShaderBindingTableRecordIndexNV = 5258, + OpHitObjectRecordEmptyNV = 5259, + OpHitObjectTraceRayNV = 5260, + OpHitObjectRecordHitNV = 5261, + OpHitObjectRecordHitWithIndexNV = 5262, + OpHitObjectRecordMissNV = 5263, + OpHitObjectExecuteShaderNV = 5264, + OpHitObjectGetCurrentTimeNV = 5265, + OpHitObjectGetAttributesNV = 5266, + OpHitObjectGetHitKindNV = 5267, + OpHitObjectGetPrimitiveIndexNV = 5268, + OpHitObjectGetGeometryIndexNV = 5269, + OpHitObjectGetInstanceIdNV = 5270, + OpHitObjectGetInstanceCustomIndexNV = 5271, + OpHitObjectGetWorldRayDirectionNV = 5272, + OpHitObjectGetWorldRayOriginNV = 5273, + OpHitObjectGetRayTMaxNV = 5274, + OpHitObjectGetRayTMinNV = 5275, + OpHitObjectIsEmptyNV = 5276, + OpHitObjectIsHitNV = 5277, + OpHitObjectIsMissNV = 5278, + OpReorderThreadWithHitObjectNV = 5279, + OpReorderThreadWithHintNV = 5280, + OpTypeHitObjectNV = 5281, + OpImageSampleFootprintNV = 5283, + OpTypeVectorIdEXT = 5288, + OpCooperativeVectorMatrixMulNV = 5289, + OpCooperativeVectorOuterProductAccumulateNV = 5290, + OpCooperativeVectorReduceSumAccumulateNV = 5291, + OpCooperativeVectorMatrixMulAddNV = 5292, + OpCooperativeMatrixConvertNV = 5293, + OpEmitMeshTasksEXT = 5294, + OpSetMeshOutputsEXT = 5295, + OpGroupNonUniformPartitionEXT = 5296, + OpWritePackedPrimitiveIndices4x8NV = 5299, + OpFetchMicroTriangleVertexPositionNV = 5300, + OpFetchMicroTriangleVertexBarycentricNV = 5301, + OpCooperativeVectorLoadNV = 5302, + OpCooperativeVectorStoreNV = 5303, + OpHitObjectRecordFromQueryEXT = 5304, + OpHitObjectRecordMissEXT = 5305, + OpHitObjectRecordMissMotionEXT = 5306, + OpHitObjectGetIntersectionTriangleVertexPositionsEXT = 5307, + OpHitObjectGetRayFlagsEXT = 5308, + OpHitObjectSetShaderBindingTableRecordIndexEXT = 5309, + OpHitObjectReorderExecuteShaderEXT = 5310, + OpHitObjectTraceReorderExecuteEXT = 5311, + OpHitObjectTraceMotionReorderExecuteEXT = 5312, + OpTypeHitObjectEXT = 5313, + OpReorderThreadWithHintEXT = 5314, + OpReorderThreadWithHitObjectEXT = 5315, + OpHitObjectTraceRayEXT = 5316, + OpHitObjectTraceRayMotionEXT = 5317, + OpHitObjectRecordEmptyEXT = 5318, + OpHitObjectExecuteShaderEXT = 5319, + OpHitObjectGetCurrentTimeEXT = 5320, + OpHitObjectGetAttributesEXT = 5321, + OpHitObjectGetHitKindEXT = 5322, + OpHitObjectGetPrimitiveIndexEXT = 5323, + OpHitObjectGetGeometryIndexEXT = 5324, + OpHitObjectGetInstanceIdEXT = 5325, + OpHitObjectGetInstanceCustomIndexEXT = 5326, + OpHitObjectGetObjectRayOriginEXT = 5327, + OpHitObjectGetObjectRayDirectionEXT = 5328, + OpHitObjectGetWorldRayDirectionEXT = 5329, + OpHitObjectGetWorldRayOriginEXT = 5330, + OpHitObjectGetObjectToWorldEXT = 5331, + OpHitObjectGetWorldToObjectEXT = 5332, + OpHitObjectGetRayTMaxEXT = 5333, + OpReportIntersectionKHR = 5334, + OpIgnoreIntersectionNV = 5335, + OpTerminateRayNV = 5336, + OpTraceNV = 5337, + OpTraceMotionNV = 5338, + OpTraceRayMotionNV = 5339, + OpRayQueryGetIntersectionTriangleVertexPositionsKHR = 5340, + OpTypeAccelerationStructureKHR = 5341, + OpExecuteCallableNV = 5344, + OpRayQueryGetIntersectionClusterIdNV = 5345, + OpHitObjectGetClusterIdNV = 5346, + OpHitObjectGetRayTMinEXT = 5347, + OpHitObjectGetShaderBindingTableRecordIndexEXT = 5348, + OpHitObjectGetShaderRecordBufferHandleEXT = 5349, + OpHitObjectIsEmptyEXT = 5350, + OpHitObjectIsHitEXT = 5351, + OpHitObjectIsMissEXT = 5352, + OpTypeCooperativeMatrixNV = 5358, + OpCooperativeMatrixLoadNV = 5359, + OpCooperativeMatrixStoreNV = 5360, + OpCooperativeMatrixMulAddNV = 5361, + OpCooperativeMatrixLengthNV = 5362, + OpBeginInvocationInterlockEXT = 5364, + OpEndInvocationInterlockEXT = 5365, + OpCooperativeMatrixReduceNV = 5366, + OpCooperativeMatrixLoadTensorNV = 5367, + OpCooperativeMatrixStoreTensorNV = 5368, + OpCooperativeMatrixPerElementOpNV = 5369, + OpTypeTensorLayoutNV = 5370, + OpTypeTensorViewNV = 5371, + OpCreateTensorLayoutNV = 5372, + OpTensorLayoutSetDimensionNV = 5373, + OpTensorLayoutSetStrideNV = 5374, + OpTensorLayoutSliceNV = 5375, + OpTensorLayoutSetClampValueNV = 5376, + OpCreateTensorViewNV = 5377, + OpTensorViewSetDimensionNV = 5378, + OpTensorViewSetStrideNV = 5379, + OpDemoteToHelperInvocation = 5380, + OpIsHelperInvocationEXT = 5381, + OpTensorViewSetClipNV = 5382, + OpTensorLayoutSetBlockSizeNV = 5384, + OpCooperativeMatrixTransposeNV = 5390, + OpConvertUToImageNV = 5391, + OpConvertUToSamplerNV = 5392, + OpConvertImageToUNV = 5393, + OpConvertSamplerToUNV = 5394, + OpConvertUToSampledImageNV = 5395, + OpConvertSampledImageToUNV = 5396, + OpSamplerImageAddressingModeNV = 5397, + OpRawAccessChainNV = 5398, + OpRayQueryGetIntersectionSpherePositionNV = 5427, + OpRayQueryGetIntersectionSphereRadiusNV = 5428, + OpRayQueryGetIntersectionLSSPositionsNV = 5429, + OpRayQueryGetIntersectionLSSRadiiNV = 5430, + OpRayQueryGetIntersectionLSSHitValueNV = 5431, + OpHitObjectGetSpherePositionNV = 5432, + OpHitObjectGetSphereRadiusNV = 5433, + OpHitObjectGetLSSPositionsNV = 5434, + OpHitObjectGetLSSRadiiNV = 5435, + OpHitObjectIsSphereHitNV = 5436, + OpHitObjectIsLSSHitNV = 5437, + OpRayQueryIsSphereHitNV = 5438, + OpRayQueryIsLSSHitNV = 5439, + OpSubgroupShuffleINTEL = 5571, + OpSubgroupShuffleDownINTEL = 5572, + OpSubgroupShuffleUpINTEL = 5573, + OpSubgroupShuffleXorINTEL = 5574, + OpSubgroupBlockReadINTEL = 5575, + OpSubgroupBlockWriteINTEL = 5576, + OpSubgroupImageBlockReadINTEL = 5577, + OpSubgroupImageBlockWriteINTEL = 5578, + OpSubgroupImageMediaBlockReadINTEL = 5580, + OpSubgroupImageMediaBlockWriteINTEL = 5581, + OpUCountLeadingZerosINTEL = 5585, + OpUCountTrailingZerosINTEL = 5586, + OpAbsISubINTEL = 5587, + OpAbsUSubINTEL = 5588, + OpIAddSatINTEL = 5589, + OpUAddSatINTEL = 5590, + OpIAverageINTEL = 5591, + OpUAverageINTEL = 5592, + OpIAverageRoundedINTEL = 5593, + OpUAverageRoundedINTEL = 5594, + OpISubSatINTEL = 5595, + OpUSubSatINTEL = 5596, + OpIMul32x16INTEL = 5597, + OpUMul32x16INTEL = 5598, + OpConstantFunctionPointerINTEL = 5600, + OpFunctionPointerCallINTEL = 5601, + OpAsmTargetINTEL = 5609, + OpAsmINTEL = 5610, + OpAsmCallINTEL = 5611, + OpAtomicFMinEXT = 5614, + OpAtomicFMaxEXT = 5615, + OpAssumeTrueKHR = 5630, + OpExpectKHR = 5631, + OpDecorateString = 5632, + OpMemberDecorateString = 5633, + OpVmeImageINTEL = 5699, + OpTypeVmeImageINTEL = 5700, + OpTypeAvcImePayloadINTEL = 5701, + OpTypeAvcRefPayloadINTEL = 5702, + OpTypeAvcSicPayloadINTEL = 5703, + OpTypeAvcMcePayloadINTEL = 5704, + OpTypeAvcMceResultINTEL = 5705, + OpTypeAvcImeResultINTEL = 5706, + OpTypeAvcImeResultSingleReferenceStreamoutINTEL = 5707, + OpTypeAvcImeResultDualReferenceStreamoutINTEL = 5708, + OpTypeAvcImeSingleReferenceStreaminINTEL = 5709, + OpTypeAvcImeDualReferenceStreaminINTEL = 5710, + OpTypeAvcRefResultINTEL = 5711, + OpTypeAvcSicResultINTEL = 5712, + OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL = 5713, + OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL = 5714, + OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL = 5715, + OpSubgroupAvcMceSetInterShapePenaltyINTEL = 5716, + OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL = 5717, + OpSubgroupAvcMceSetInterDirectionPenaltyINTEL = 5718, + OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL = 5719, + OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL = 5720, + OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL = 5721, + OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL = 5722, + OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL = 5723, + OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL = 5724, + OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL = 5725, + OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL = 5726, + OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL = 5727, + OpSubgroupAvcMceSetAcOnlyHaarINTEL = 5728, + OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL = 5729, + OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL = 5730, + OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL = 5731, + OpSubgroupAvcMceConvertToImePayloadINTEL = 5732, + OpSubgroupAvcMceConvertToImeResultINTEL = 5733, + OpSubgroupAvcMceConvertToRefPayloadINTEL = 5734, + OpSubgroupAvcMceConvertToRefResultINTEL = 5735, + OpSubgroupAvcMceConvertToSicPayloadINTEL = 5736, + OpSubgroupAvcMceConvertToSicResultINTEL = 5737, + OpSubgroupAvcMceGetMotionVectorsINTEL = 5738, + OpSubgroupAvcMceGetInterDistortionsINTEL = 5739, + OpSubgroupAvcMceGetBestInterDistortionsINTEL = 5740, + OpSubgroupAvcMceGetInterMajorShapeINTEL = 5741, + OpSubgroupAvcMceGetInterMinorShapeINTEL = 5742, + OpSubgroupAvcMceGetInterDirectionsINTEL = 5743, + OpSubgroupAvcMceGetInterMotionVectorCountINTEL = 5744, + OpSubgroupAvcMceGetInterReferenceIdsINTEL = 5745, + OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL = 5746, + OpSubgroupAvcImeInitializeINTEL = 5747, + OpSubgroupAvcImeSetSingleReferenceINTEL = 5748, + OpSubgroupAvcImeSetDualReferenceINTEL = 5749, + OpSubgroupAvcImeRefWindowSizeINTEL = 5750, + OpSubgroupAvcImeAdjustRefOffsetINTEL = 5751, + OpSubgroupAvcImeConvertToMcePayloadINTEL = 5752, + OpSubgroupAvcImeSetMaxMotionVectorCountINTEL = 5753, + OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL = 5754, + OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL = 5755, + OpSubgroupAvcImeSetWeightedSadINTEL = 5756, + OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL = 5757, + OpSubgroupAvcImeEvaluateWithDualReferenceINTEL = 5758, + OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL = 5759, + OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL = 5760, + OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL = 5761, + OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL = 5762, + OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL = 5763, + OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL = 5764, + OpSubgroupAvcImeConvertToMceResultINTEL = 5765, + OpSubgroupAvcImeGetSingleReferenceStreaminINTEL = 5766, + OpSubgroupAvcImeGetDualReferenceStreaminINTEL = 5767, + OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL = 5768, + OpSubgroupAvcImeStripDualReferenceStreamoutINTEL = 5769, + OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL = 5770, + OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL = 5771, + OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL = 5772, + OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL = 5773, + OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL = 5774, + OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL = 5775, + OpSubgroupAvcImeGetBorderReachedINTEL = 5776, + OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL = 5777, + OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL = 5778, + OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL = 5779, + OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL = 5780, + OpSubgroupAvcFmeInitializeINTEL = 5781, + OpSubgroupAvcBmeInitializeINTEL = 5782, + OpSubgroupAvcRefConvertToMcePayloadINTEL = 5783, + OpSubgroupAvcRefSetBidirectionalMixDisableINTEL = 5784, + OpSubgroupAvcRefSetBilinearFilterEnableINTEL = 5785, + OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL = 5786, + OpSubgroupAvcRefEvaluateWithDualReferenceINTEL = 5787, + OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL = 5788, + OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL = 5789, + OpSubgroupAvcRefConvertToMceResultINTEL = 5790, + OpSubgroupAvcSicInitializeINTEL = 5791, + OpSubgroupAvcSicConfigureSkcINTEL = 5792, + OpSubgroupAvcSicConfigureIpeLumaINTEL = 5793, + OpSubgroupAvcSicConfigureIpeLumaChromaINTEL = 5794, + OpSubgroupAvcSicGetMotionVectorMaskINTEL = 5795, + OpSubgroupAvcSicConvertToMcePayloadINTEL = 5796, + OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL = 5797, + OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL = 5798, + OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL = 5799, + OpSubgroupAvcSicSetBilinearFilterEnableINTEL = 5800, + OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL = 5801, + OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL = 5802, + OpSubgroupAvcSicEvaluateIpeINTEL = 5803, + OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL = 5804, + OpSubgroupAvcSicEvaluateWithDualReferenceINTEL = 5805, + OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL = 5806, + OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL = 5807, + OpSubgroupAvcSicConvertToMceResultINTEL = 5808, + OpSubgroupAvcSicGetIpeLumaShapeINTEL = 5809, + OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL = 5810, + OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL = 5811, + OpSubgroupAvcSicGetPackedIpeLumaModesINTEL = 5812, + OpSubgroupAvcSicGetIpeChromaModeINTEL = 5813, + OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814, + OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815, + OpSubgroupAvcSicGetInterRawSadsINTEL = 5816, + OpVariableLengthArrayINTEL = 5818, + OpSaveMemoryINTEL = 5819, + OpRestoreMemoryINTEL = 5820, + OpArbitraryFloatSinCosPiALTERA = 5840, + OpArbitraryFloatCastALTERA = 5841, + OpArbitraryFloatCastFromIntALTERA = 5842, + OpArbitraryFloatCastToIntALTERA = 5843, + OpArbitraryFloatAddALTERA = 5846, + OpArbitraryFloatSubALTERA = 5847, + OpArbitraryFloatMulALTERA = 5848, + OpArbitraryFloatDivALTERA = 5849, + OpArbitraryFloatGTALTERA = 5850, + OpArbitraryFloatGEALTERA = 5851, + OpArbitraryFloatLTALTERA = 5852, + OpArbitraryFloatLEALTERA = 5853, + OpArbitraryFloatEQALTERA = 5854, + OpArbitraryFloatRecipALTERA = 5855, + OpArbitraryFloatRSqrtALTERA = 5856, + OpArbitraryFloatCbrtALTERA = 5857, + OpArbitraryFloatHypotALTERA = 5858, + OpArbitraryFloatSqrtALTERA = 5859, + OpArbitraryFloatLogINTEL = 5860, + OpArbitraryFloatLog2INTEL = 5861, + OpArbitraryFloatLog10INTEL = 5862, + OpArbitraryFloatLog1pINTEL = 5863, + OpArbitraryFloatExpINTEL = 5864, + OpArbitraryFloatExp2INTEL = 5865, + OpArbitraryFloatExp10INTEL = 5866, + OpArbitraryFloatExpm1INTEL = 5867, + OpArbitraryFloatSinINTEL = 5868, + OpArbitraryFloatCosINTEL = 5869, + OpArbitraryFloatSinCosINTEL = 5870, + OpArbitraryFloatSinPiINTEL = 5871, + OpArbitraryFloatCosPiINTEL = 5872, + OpArbitraryFloatASinINTEL = 5873, + OpArbitraryFloatASinPiINTEL = 5874, + OpArbitraryFloatACosINTEL = 5875, + OpArbitraryFloatACosPiINTEL = 5876, + OpArbitraryFloatATanINTEL = 5877, + OpArbitraryFloatATanPiINTEL = 5878, + OpArbitraryFloatATan2INTEL = 5879, + OpArbitraryFloatPowINTEL = 5880, + OpArbitraryFloatPowRINTEL = 5881, + OpArbitraryFloatPowNINTEL = 5882, + OpLoopControlINTEL = 5887, + OpAliasDomainDeclINTEL = 5911, + OpAliasScopeDeclINTEL = 5912, + OpAliasScopeListDeclINTEL = 5913, + OpFixedSqrtALTERA = 5923, + OpFixedRecipALTERA = 5924, + OpFixedRsqrtALTERA = 5925, + OpFixedSinALTERA = 5926, + OpFixedCosALTERA = 5927, + OpFixedSinCosALTERA = 5928, + OpFixedSinPiALTERA = 5929, + OpFixedCosPiALTERA = 5930, + OpFixedSinCosPiALTERA = 5931, + OpFixedLogALTERA = 5932, + OpFixedExpALTERA = 5933, + OpPtrCastToCrossWorkgroupALTERA = 5934, + OpCrossWorkgroupCastToPtrALTERA = 5938, + OpReadPipeBlockingALTERA = 5946, + OpWritePipeBlockingALTERA = 5947, + OpFPGARegALTERA = 5949, + OpRayQueryGetRayTMinKHR = 6016, + OpRayQueryGetRayFlagsKHR = 6017, + OpRayQueryGetIntersectionTKHR = 6018, + OpRayQueryGetIntersectionInstanceCustomIndexKHR = 6019, + OpRayQueryGetIntersectionInstanceIdKHR = 6020, + OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR = 6021, + OpRayQueryGetIntersectionGeometryIndexKHR = 6022, + OpRayQueryGetIntersectionPrimitiveIndexKHR = 6023, + OpRayQueryGetIntersectionBarycentricsKHR = 6024, + OpRayQueryGetIntersectionFrontFaceKHR = 6025, + OpRayQueryGetIntersectionCandidateAABBOpaqueKHR = 6026, + OpRayQueryGetIntersectionObjectRayDirectionKHR = 6027, + OpRayQueryGetIntersectionObjectRayOriginKHR = 6028, + OpRayQueryGetWorldRayDirectionKHR = 6029, + OpRayQueryGetWorldRayOriginKHR = 6030, + OpRayQueryGetIntersectionObjectToWorldKHR = 6031, + OpRayQueryGetIntersectionWorldToObjectKHR = 6032, + OpAtomicFAddEXT = 6035, + OpTypeBufferSurfaceINTEL = 6086, + OpTypeStructContinuedINTEL = 6090, + OpConstantCompositeContinuedINTEL = 6091, + OpSpecConstantCompositeContinuedINTEL = 6092, + OpCompositeConstructContinuedINTEL = 6096, + OpConvertFToBF16INTEL = 6116, + OpConvertBF16ToFINTEL = 6117, + OpControlBarrierArriveEXT = 6142, + OpControlBarrierWaitEXT = 6143, + OpArithmeticFenceEXT = 6145, + OpTaskSequenceCreateALTERA = 6163, + OpTaskSequenceAsyncALTERA = 6164, + OpTaskSequenceGetALTERA = 6165, + OpTaskSequenceReleaseALTERA = 6166, + OpTypeTaskSequenceALTERA = 6199, + OpSubgroupBlockPrefetchINTEL = 6221, + OpSubgroup2DBlockLoadINTEL = 6231, + OpSubgroup2DBlockLoadTransformINTEL = 6232, + OpSubgroup2DBlockLoadTransposeINTEL = 6233, + OpSubgroup2DBlockPrefetchINTEL = 6234, + OpSubgroup2DBlockStoreINTEL = 6235, + OpSubgroupMatrixMultiplyAccumulateINTEL = 6237, + OpBitwiseFunctionINTEL = 6242, + OpUntypedVariableLengthArrayINTEL = 6244, + OpConditionalExtensionINTEL = 6248, + OpConditionalEntryPointINTEL = 6249, + OpConditionalCapabilityINTEL = 6250, + OpSpecConstantTargetINTEL = 6251, + OpSpecConstantArchitectureINTEL = 6252, + OpSpecConstantCapabilitiesINTEL = 6253, + OpConditionalCopyObjectINTEL = 6254, + OpPredicatedLoadINTEL = 6258, + OpPredicatedStoreINTEL = 6259, + OpGroupIMulKHR = 6401, + OpGroupFMulKHR = 6402, + OpGroupBitwiseAndKHR = 6403, + OpGroupBitwiseOrKHR = 6404, + OpGroupBitwiseXorKHR = 6405, + OpGroupLogicalAndKHR = 6406, + OpGroupLogicalOrKHR = 6407, + OpGroupLogicalXorKHR = 6408, + OpRoundFToTF32INTEL = 6426, + OpMaskedGatherINTEL = 6428, + OpMaskedScatterINTEL = 6429, + OpConvertHandleToImageINTEL = 6529, + OpConvertHandleToSamplerINTEL = 6530, + OpConvertHandleToSampledImageINTEL = 6531, + OpFDot2MixAcc32VALVE = 6916, + OpFDot2MixAcc16VALVE = 6917, + OpFDot4MixAcc32VALVE = 6918, +} diff --git a/core/rexcode/ir/spirv/operand_kinds.odin b/core/rexcode/ir/spirv/operand_kinds.odin new file mode 100644 index 000000000..afdd06565 --- /dev/null +++ b/core/rexcode/ir/spirv/operand_kinds.odin @@ -0,0 +1,1345 @@ +// rexcode · Brendan Punsky (dotbmp@github), original author + +package rexcode_spirv + +// GENERATED from spirv.core.grammar.json (SPIRV-Headers unified1) by tablegen/gen.odin. +// DO NOT EDIT -- regenerate with `odin run core/rexcode/ir/spirv/tablegen`. + +// Every operand kind the codec dispatches on (Id / Literal / Composite / each +// ValueEnum / each BitEnum), in grammar order. Named Spec_Kind to avoid colliding +// with the re-exported ir.Operand_Kind; the operand-layout table tags each +// operand with one of these. +Spec_Kind :: enum u8 { + NONE = 0, + ImageOperands, + FPFastMathMode, + SelectionControl, + LoopControl, + FunctionControl, + MemorySemantics, + MemoryAccess, + KernelProfilingInfo, + RayFlags, + FragmentShadingRate, + RawAccessChainOperands, + SourceLanguage, + ExecutionModel, + AddressingModel, + MemoryModel, + ExecutionMode, + StorageClass, + Dim, + SamplerAddressingMode, + SamplerFilterMode, + ImageFormat, + ImageChannelOrder, + ImageChannelDataType, + FPRoundingMode, + FPDenormMode, + QuantizationModes, + FPOperationMode, + OverflowModes, + LinkageType, + AccessQualifier, + HostAccessQualifier, + FunctionParameterAttribute, + Decoration, + BuiltIn, + Scope, + GroupOperation, + KernelEnqueueFlags, + Capability, + RayQueryIntersection, + RayQueryCommittedIntersectionType, + RayQueryCandidateIntersectionType, + PackedVectorFormat, + CooperativeMatrixOperands, + CooperativeMatrixLayout, + CooperativeMatrixUse, + CooperativeMatrixReduce, + TensorClampMode, + TensorAddressingOperands, + InitializationModeQualifier, + LoadCacheControl, + StoreCacheControl, + NamedMaximumNumberOfRegisters, + MatrixMultiplyAccumulateOperands, + FPEncoding, + CooperativeVectorMatrixLayout, + ComponentType, + IdResultType, + IdResult, + IdMemorySemantics, + IdScope, + IdRef, + LiteralInteger, + LiteralString, + LiteralFloat, + LiteralContextDependentNumber, + LiteralExtInstInteger, + LiteralSpecConstantOpInteger, + PairLiteralIntegerIdRef, + PairIdRefLiteralInteger, + PairIdRefIdRef, + TensorOperands, +} + +Image_Operands :: bit_set[Image_Operands_Bit; u32] +Image_Operands_Bit :: enum u32 { + Bias = 0, + Lod = 1, + Grad = 2, + ConstOffset = 3, + Offset = 4, + ConstOffsets = 5, + Sample = 6, + MinLod = 7, + MakeTexelAvailable = 8, + MakeTexelVisible = 9, + NonPrivateTexel = 10, + VolatileTexel = 11, + SignExtend = 12, + ZeroExtend = 13, + Nontemporal = 14, + Offsets = 16, +} + +FP_Fast_Math_Mode :: bit_set[FP_Fast_Math_Mode_Bit; u32] +FP_Fast_Math_Mode_Bit :: enum u32 { + NotNaN = 0, + NotInf = 1, + NSZ = 2, + AllowRecip = 3, + Fast = 4, + AllowContract = 16, + AllowReassoc = 17, + AllowTransform = 18, +} + +Selection_Control :: bit_set[Selection_Control_Bit; u32] +Selection_Control_Bit :: enum u32 { + Flatten = 0, + DontFlatten = 1, +} + +Loop_Control :: bit_set[Loop_Control_Bit; u32] +Loop_Control_Bit :: enum u32 { + Unroll = 0, + DontUnroll = 1, + DependencyInfinite = 2, + DependencyLength = 3, + MinIterations = 4, + MaxIterations = 5, + IterationMultiple = 6, + PeelCount = 7, + PartialCount = 8, + InitiationIntervalALTERA = 16, + MaxConcurrencyALTERA = 17, + DependencyArrayALTERA = 18, + PipelineEnableALTERA = 19, + LoopCoalesceALTERA = 20, + MaxInterleavingALTERA = 21, + SpeculatedIterationsALTERA = 22, + NoFusionALTERA = 23, + LoopCountALTERA = 24, + MaxReinvocationDelayALTERA = 25, +} + +Function_Control :: bit_set[Function_Control_Bit; u32] +Function_Control_Bit :: enum u32 { + Inline = 0, + DontInline = 1, + Pure = 2, + Const = 3, + OptNoneEXT = 16, +} + +Memory_Semantics :: bit_set[Memory_Semantics_Bit; u32] +Memory_Semantics_Bit :: enum u32 { + Acquire = 1, + Release = 2, + AcquireRelease = 3, + SequentiallyConsistent = 4, + UniformMemory = 6, + SubgroupMemory = 7, + WorkgroupMemory = 8, + CrossWorkgroupMemory = 9, + AtomicCounterMemory = 10, + ImageMemory = 11, + OutputMemory = 12, + MakeAvailable = 13, + MakeVisible = 14, + Volatile = 15, +} + +Memory_Access :: bit_set[Memory_Access_Bit; u32] +Memory_Access_Bit :: enum u32 { + Volatile = 0, + Aligned = 1, + Nontemporal = 2, + MakePointerAvailable = 3, + MakePointerVisible = 4, + NonPrivatePointer = 5, + AliasScopeINTELMask = 16, + NoAliasINTELMask = 17, +} + +Kernel_Profiling_Info :: bit_set[Kernel_Profiling_Info_Bit; u32] +Kernel_Profiling_Info_Bit :: enum u32 { + CmdExecTime = 0, +} + +Ray_Flags :: bit_set[Ray_Flags_Bit; u32] +Ray_Flags_Bit :: enum u32 { + OpaqueKHR = 0, + NoOpaqueKHR = 1, + TerminateOnFirstHitKHR = 2, + SkipClosestHitShaderKHR = 3, + CullBackFacingTrianglesKHR = 4, + CullFrontFacingTrianglesKHR = 5, + CullOpaqueKHR = 6, + CullNoOpaqueKHR = 7, + SkipTrianglesKHR = 8, + SkipAABBsKHR = 9, + ForceOpacityMicromap2StateKHR = 10, +} + +Fragment_Shading_Rate :: bit_set[Fragment_Shading_Rate_Bit; u32] +Fragment_Shading_Rate_Bit :: enum u32 { + Vertical2Pixels = 0, + Vertical4Pixels = 1, + Horizontal2Pixels = 2, + Horizontal4Pixels = 3, +} + +Raw_Access_Chain_Operands :: bit_set[Raw_Access_Chain_Operands_Bit; u32] +Raw_Access_Chain_Operands_Bit :: enum u32 { + RobustnessPerComponentNV = 0, + RobustnessPerElementNV = 1, +} + +Source_Language :: enum u32 { + Unknown = 0, + ESSL = 1, + GLSL = 2, + OpenCL_C = 3, + OpenCL_CPP = 4, + HLSL = 5, + CPP_for_OpenCL = 6, + SYCL = 7, + HERO_C = 8, + NZSL = 9, + WGSL = 10, + Slang = 11, + Zig = 12, + Rust = 13, + Pred = 14, + ApilaJai = 15, +} + +Execution_Model :: enum u32 { + Vertex = 0, + TessellationControl = 1, + TessellationEvaluation = 2, + Geometry = 3, + Fragment = 4, + GLCompute = 5, + Kernel = 6, + TaskNV = 5267, + MeshNV = 5268, + RayGenerationKHR = 5313, + IntersectionKHR = 5314, + AnyHitKHR = 5315, + ClosestHitKHR = 5316, + MissKHR = 5317, + CallableKHR = 5318, + TaskEXT = 5364, + MeshEXT = 5365, +} + +Addressing_Model :: enum u32 { + Logical = 0, + Physical32 = 1, + Physical64 = 2, + PhysicalStorageBuffer64 = 5348, +} + +Memory_Model :: enum u32 { + Simple = 0, + GLSL450 = 1, + OpenCL = 2, + Vulkan = 3, +} + +Execution_Mode :: enum u32 { + Invocations = 0, + SpacingEqual = 1, + SpacingFractionalEven = 2, + SpacingFractionalOdd = 3, + VertexOrderCw = 4, + VertexOrderCcw = 5, + PixelCenterInteger = 6, + OriginUpperLeft = 7, + OriginLowerLeft = 8, + EarlyFragmentTests = 9, + PointMode = 10, + Xfb = 11, + DepthReplacing = 12, + DepthGreater = 14, + DepthLess = 15, + DepthUnchanged = 16, + LocalSize = 17, + LocalSizeHint = 18, + InputPoints = 19, + InputLines = 20, + InputLinesAdjacency = 21, + Triangles = 22, + InputTrianglesAdjacency = 23, + Quads = 24, + Isolines = 25, + OutputVertices = 26, + OutputPoints = 27, + OutputLineStrip = 28, + OutputTriangleStrip = 29, + VecTypeHint = 30, + ContractionOff = 31, + Initializer = 33, + Finalizer = 34, + SubgroupSize = 35, + SubgroupsPerWorkgroup = 36, + SubgroupsPerWorkgroupId = 37, + LocalSizeId = 38, + LocalSizeHintId = 39, + NonCoherentColorAttachmentReadEXT = 4169, + NonCoherentDepthAttachmentReadEXT = 4170, + NonCoherentStencilAttachmentReadEXT = 4171, + SubgroupUniformControlFlowKHR = 4421, + PostDepthCoverage = 4446, + DenormPreserve = 4459, + DenormFlushToZero = 4460, + SignedZeroInfNanPreserve = 4461, + RoundingModeRTE = 4462, + RoundingModeRTZ = 4463, + NonCoherentTileAttachmentReadQCOM = 4489, + TileShadingRateQCOM = 4490, + EarlyAndLateFragmentTestsAMD = 5017, + StencilRefReplacingEXT = 5027, + CoalescingAMDX = 5069, + IsApiEntryAMDX = 5070, + MaxNodeRecursionAMDX = 5071, + StaticNumWorkgroupsAMDX = 5072, + ShaderIndexAMDX = 5073, + MaxNumWorkgroupsAMDX = 5077, + StencilRefUnchangedFrontAMD = 5079, + StencilRefGreaterFrontAMD = 5080, + StencilRefLessFrontAMD = 5081, + StencilRefUnchangedBackAMD = 5082, + StencilRefGreaterBackAMD = 5083, + StencilRefLessBackAMD = 5084, + QuadDerivativesKHR = 5088, + RequireFullQuadsKHR = 5089, + SharesInputWithAMDX = 5102, + ArithmeticPoisonKHR = 5157, + OutputLinesEXT = 5269, + OutputPrimitivesEXT = 5270, + DerivativeGroupQuadsKHR = 5289, + DerivativeGroupLinearKHR = 5290, + OutputTrianglesEXT = 5298, + PixelInterlockOrderedEXT = 5366, + PixelInterlockUnorderedEXT = 5367, + SampleInterlockOrderedEXT = 5368, + SampleInterlockUnorderedEXT = 5369, + ShadingRateInterlockOrderedEXT = 5370, + ShadingRateInterlockUnorderedEXT = 5371, + Shader64BitIndexingEXT = 5427, + SharedLocalMemorySizeINTEL = 5618, + RoundingModeRTPINTEL = 5620, + RoundingModeRTNINTEL = 5621, + FloatingPointModeALTINTEL = 5622, + FloatingPointModeIEEEINTEL = 5623, + MaxWorkgroupSizeINTEL = 5893, + MaxWorkDimINTEL = 5894, + NoGlobalOffsetINTEL = 5895, + NumSIMDWorkitemsINTEL = 5896, + SchedulerTargetFmaxMhzINTEL = 5903, + MaximallyReconvergesKHR = 6023, + FPFastMathDefault = 6028, + OpacityMicromapIdKHR = 6031, + StreamingInterfaceINTEL = 6154, + RegisterMapInterfaceINTEL = 6160, + NamedBarrierCountINTEL = 6417, + MaximumRegistersINTEL = 6461, + MaximumRegistersIdINTEL = 6462, + NamedMaximumRegistersINTEL = 6463, +} + +Storage_Class :: enum u32 { + UniformConstant = 0, + Input = 1, + Uniform = 2, + Output = 3, + Workgroup = 4, + CrossWorkgroup = 5, + Private = 6, + Function = 7, + Generic = 8, + PushConstant = 9, + AtomicCounter = 10, + Image = 11, + StorageBuffer = 12, + TileImageEXT = 4172, + TileAttachmentQCOM = 4491, + NodePayloadAMDX = 5068, + CallableDataKHR = 5328, + IncomingCallableDataKHR = 5329, + RayPayloadKHR = 5338, + HitAttributeKHR = 5339, + IncomingRayPayloadKHR = 5342, + ShaderRecordBufferKHR = 5343, + PhysicalStorageBuffer = 5349, + HitObjectAttributeNV = 5385, + TaskPayloadWorkgroupEXT = 5402, + HitObjectAttributeEXT = 5411, + CodeSectionINTEL = 5605, + DeviceOnlyALTERA = 5936, + HostOnlyALTERA = 5937, +} + +Dim :: enum u32 { + _1D = 0, + _2D = 1, + _3D = 2, + Cube = 3, + Rect = 4, + Buffer = 5, + SubpassData = 6, + TileImageDataEXT = 4173, +} + +Sampler_Addressing_Mode :: enum u32 { + None = 0, + ClampToEdge = 1, + Clamp = 2, + Repeat = 3, + RepeatMirrored = 4, +} + +Sampler_Filter_Mode :: enum u32 { + Nearest = 0, + Linear = 1, +} + +Image_Format :: enum u32 { + Unknown = 0, + Rgba32f = 1, + Rgba16f = 2, + R32f = 3, + Rgba8 = 4, + Rgba8Snorm = 5, + Rg32f = 6, + Rg16f = 7, + R11fG11fB10f = 8, + R16f = 9, + Rgba16 = 10, + Rgb10A2 = 11, + Rg16 = 12, + Rg8 = 13, + R16 = 14, + R8 = 15, + Rgba16Snorm = 16, + Rg16Snorm = 17, + Rg8Snorm = 18, + R16Snorm = 19, + R8Snorm = 20, + Rgba32i = 21, + Rgba16i = 22, + Rgba8i = 23, + R32i = 24, + Rg32i = 25, + Rg16i = 26, + Rg8i = 27, + R16i = 28, + R8i = 29, + Rgba32ui = 30, + Rgba16ui = 31, + Rgba8ui = 32, + R32ui = 33, + Rgb10a2ui = 34, + Rg32ui = 35, + Rg16ui = 36, + Rg8ui = 37, + R16ui = 38, + R8ui = 39, + R64ui = 40, + R64i = 41, +} + +Image_Channel_Order :: enum u32 { + R = 0, + A = 1, + RG = 2, + RA = 3, + RGB = 4, + RGBA = 5, + BGRA = 6, + ARGB = 7, + Intensity = 8, + Luminance = 9, + Rx = 10, + RGx = 11, + RGBx = 12, + Depth = 13, + DepthStencil = 14, + sRGB = 15, + sRGBx = 16, + sRGBA = 17, + sBGRA = 18, + ABGR = 19, +} + +Image_Channel_Data_Type :: enum u32 { + SnormInt8 = 0, + SnormInt16 = 1, + UnormInt8 = 2, + UnormInt16 = 3, + UnormShort565 = 4, + UnormShort555 = 5, + UnormInt101010 = 6, + SignedInt8 = 7, + SignedInt16 = 8, + SignedInt32 = 9, + UnsignedInt8 = 10, + UnsignedInt16 = 11, + UnsignedInt32 = 12, + HalfFloat = 13, + Float = 14, + UnormInt24 = 15, + UnormInt101010_2 = 16, + UnormInt10X6EXT = 17, + UnsignedIntRaw10EXT = 19, + UnsignedIntRaw12EXT = 20, + UnormInt2_101010EXT = 21, + UnsignedInt10X6EXT = 22, + UnsignedInt12X4EXT = 23, + UnsignedInt14X2EXT = 24, + UnormInt12X4EXT = 25, + UnormInt14X2EXT = 26, +} + +FP_Rounding_Mode :: enum u32 { + RTE = 0, + RTZ = 1, + RTP = 2, + RTN = 3, +} + +FP_Denorm_Mode :: enum u32 { + Preserve = 0, + FlushToZero = 1, +} + +Quantization_Modes :: enum u32 { + TRN = 0, + TRN_ZERO = 1, + RND = 2, + RND_ZERO = 3, + RND_INF = 4, + RND_MIN_INF = 5, + RND_CONV = 6, + RND_CONV_ODD = 7, +} + +FP_Operation_Mode :: enum u32 { + IEEE = 0, + ALT = 1, +} + +Overflow_Modes :: enum u32 { + WRAP = 0, + SAT = 1, + SAT_ZERO = 2, + SAT_SYM = 3, +} + +Linkage_Type :: enum u32 { + Export = 0, + Import = 1, + LinkOnceODR = 2, + WeakAMD = 3, +} + +Access_Qualifier :: enum u32 { + ReadOnly = 0, + WriteOnly = 1, + ReadWrite = 2, +} + +Host_Access_Qualifier :: enum u32 { + NoneINTEL = 0, + ReadINTEL = 1, + WriteINTEL = 2, + ReadWriteINTEL = 3, +} + +Function_Parameter_Attribute :: enum u32 { + Zext = 0, + Sext = 1, + ByVal = 2, + Sret = 3, + NoAlias = 4, + NoCapture = 5, + NoWrite = 6, + NoReadWrite = 7, + RuntimeAlignedALTERA = 5940, +} + +Decoration :: enum u32 { + RelaxedPrecision = 0, + SpecId = 1, + Block = 2, + BufferBlock = 3, + RowMajor = 4, + ColMajor = 5, + ArrayStride = 6, + MatrixStride = 7, + GLSLShared = 8, + GLSLPacked = 9, + CPacked = 10, + BuiltIn = 11, + NoPerspective = 13, + Flat = 14, + Patch = 15, + Centroid = 16, + Sample = 17, + Invariant = 18, + Restrict = 19, + Aliased = 20, + Volatile = 21, + Constant = 22, + Coherent = 23, + NonWritable = 24, + NonReadable = 25, + Uniform = 26, + UniformId = 27, + SaturatedConversion = 28, + Stream = 29, + Location = 30, + Component = 31, + Index = 32, + Binding = 33, + DescriptorSet = 34, + Offset = 35, + XfbBuffer = 36, + XfbStride = 37, + FuncParamAttr = 38, + FPRoundingMode = 39, + FPFastMathMode = 40, + LinkageAttributes = 41, + NoContraction = 42, + InputAttachmentIndex = 43, + Alignment = 44, + MaxByteOffset = 45, + AlignmentId = 46, + MaxByteOffsetId = 47, + SaturatedToLargestFloat8NormalConversionEXT = 4216, + NoSignedWrap = 4469, + NoUnsignedWrap = 4470, + WeightTextureQCOM = 4487, + BlockMatchTextureQCOM = 4488, + BlockMatchSamplerQCOM = 4499, + ExplicitInterpAMD = 4999, + NodeSharesPayloadLimitsWithAMDX = 5019, + NodeMaxPayloadsAMDX = 5020, + TrackFinishWritingAMDX = 5078, + PayloadNodeNameAMDX = 5091, + PayloadNodeBaseIndexAMDX = 5098, + PayloadNodeSparseArrayAMDX = 5099, + PayloadNodeArraySizeAMDX = 5100, + PayloadDispatchIndirectAMDX = 5105, + ArrayStrideIdEXT = 5124, + OffsetIdEXT = 5125, + UTFEncodedKHR = 5145, + OverrideCoverageNV = 5248, + PassthroughNV = 5250, + ViewportRelativeNV = 5252, + SecondaryViewportRelativeNV = 5256, + PerPrimitiveEXT = 5271, + PerViewNV = 5272, + PerTaskNV = 5273, + PerVertexKHR = 5285, + NonUniform = 5300, + RestrictPointer = 5355, + AliasedPointer = 5356, + MemberOffsetNV = 5358, + HitObjectShaderRecordBufferNV = 5386, + HitObjectShaderRecordBufferEXT = 5389, + BankNV = 5397, + BindlessSamplerNV = 5398, + BindlessImageNV = 5399, + BoundSamplerNV = 5400, + BoundImageNV = 5401, + SIMTCallINTEL = 5599, + ReferencedIndirectlyINTEL = 5602, + ClobberINTEL = 5607, + SideEffectsINTEL = 5608, + VectorComputeVariableINTEL = 5624, + FuncParamIOKindINTEL = 5625, + VectorComputeFunctionINTEL = 5626, + StackCallINTEL = 5627, + GlobalVariableOffsetINTEL = 5628, + CounterBuffer = 5634, + UserSemantic = 5635, + UserTypeGOOGLE = 5636, + FunctionRoundingModeINTEL = 5822, + FunctionDenormModeINTEL = 5823, + RegisterALTERA = 5825, + MemoryALTERA = 5826, + NumbanksALTERA = 5827, + BankwidthALTERA = 5828, + MaxPrivateCopiesALTERA = 5829, + SinglepumpALTERA = 5830, + DoublepumpALTERA = 5831, + MaxReplicatesALTERA = 5832, + SimpleDualPortALTERA = 5833, + MergeALTERA = 5834, + BankBitsALTERA = 5835, + ForcePow2DepthALTERA = 5836, + StridesizeALTERA = 5883, + WordsizeALTERA = 5884, + TrueDualPortALTERA = 5885, + BurstCoalesceALTERA = 5899, + CacheSizeALTERA = 5900, + DontStaticallyCoalesceALTERA = 5901, + PrefetchALTERA = 5902, + StallEnableALTERA = 5905, + FuseLoopsInFunctionALTERA = 5907, + MathOpDSPModeALTERA = 5909, + AliasScopeINTEL = 5914, + NoAliasINTEL = 5915, + InitiationIntervalALTERA = 5917, + MaxConcurrencyALTERA = 5918, + PipelineEnableALTERA = 5919, + BufferLocationALTERA = 5921, + IOPipeStorageALTERA = 5944, + FunctionFloatingPointModeINTEL = 6080, + SingleElementVectorINTEL = 6085, + VectorComputeCallableFunctionINTEL = 6087, + MediaBlockIOINTEL = 6140, + StallFreeALTERA = 6151, + FPMaxErrorDecorationINTEL = 6170, + LatencyControlLabelALTERA = 6172, + LatencyControlConstraintALTERA = 6173, + ConduitKernelArgumentALTERA = 6175, + RegisterMapKernelArgumentALTERA = 6176, + MMHostInterfaceAddressWidthALTERA = 6177, + MMHostInterfaceDataWidthALTERA = 6178, + MMHostInterfaceLatencyALTERA = 6179, + MMHostInterfaceReadWriteModeALTERA = 6180, + MMHostInterfaceMaxBurstALTERA = 6181, + MMHostInterfaceWaitRequestALTERA = 6182, + StableKernelArgumentALTERA = 6183, + HostAccessINTEL = 6188, + InitModeALTERA = 6190, + ImplementInRegisterMapALTERA = 6191, + ConditionalINTEL = 6247, + CacheControlLoadINTEL = 6442, + CacheControlStoreINTEL = 6443, +} + +Built_In :: enum u32 { + Position = 0, + PointSize = 1, + ClipDistance = 3, + CullDistance = 4, + VertexId = 5, + InstanceId = 6, + PrimitiveId = 7, + InvocationId = 8, + Layer = 9, + ViewportIndex = 10, + TessLevelOuter = 11, + TessLevelInner = 12, + TessCoord = 13, + PatchVertices = 14, + FragCoord = 15, + PointCoord = 16, + FrontFacing = 17, + SampleId = 18, + SamplePosition = 19, + SampleMask = 20, + FragDepth = 22, + HelperInvocation = 23, + NumWorkgroups = 24, + WorkgroupSize = 25, + WorkgroupId = 26, + LocalInvocationId = 27, + GlobalInvocationId = 28, + LocalInvocationIndex = 29, + WorkDim = 30, + GlobalSize = 31, + EnqueuedWorkgroupSize = 32, + GlobalOffset = 33, + GlobalLinearId = 34, + SubgroupSize = 36, + SubgroupMaxSize = 37, + NumSubgroups = 38, + NumEnqueuedSubgroups = 39, + SubgroupId = 40, + SubgroupLocalInvocationId = 41, + VertexIndex = 42, + InstanceIndex = 43, + CoreIDARM = 4160, + CoreCountARM = 4161, + CoreMaxIDARM = 4162, + WarpIDARM = 4163, + WarpMaxIDARM = 4164, + SubgroupEqMask = 4416, + SubgroupGeMask = 4417, + SubgroupGtMask = 4418, + SubgroupLeMask = 4419, + SubgroupLtMask = 4420, + BaseVertex = 4424, + BaseInstance = 4425, + DrawIndex = 4426, + PrimitiveShadingRateKHR = 4432, + DeviceIndex = 4438, + ViewIndex = 4440, + ShadingRateKHR = 4444, + TileOffsetQCOM = 4492, + TileDimensionQCOM = 4493, + TileApronSizeQCOM = 4494, + BaryCoordNoPerspAMD = 4992, + BaryCoordNoPerspCentroidAMD = 4993, + BaryCoordNoPerspSampleAMD = 4994, + BaryCoordSmoothAMD = 4995, + BaryCoordSmoothCentroidAMD = 4996, + BaryCoordSmoothSampleAMD = 4997, + BaryCoordPullModelAMD = 4998, + FragStencilRefEXT = 5014, + RemainingRecursionLevelsAMDX = 5021, + ShaderIndexAMDX = 5073, + SamplerHeapEXT = 5122, + ResourceHeapEXT = 5123, + ViewportMaskNV = 5253, + SecondaryPositionNV = 5257, + SecondaryViewportMaskNV = 5258, + PositionPerViewNV = 5261, + ViewportMaskPerViewNV = 5262, + FullyCoveredEXT = 5264, + TaskCountNV = 5274, + PrimitiveCountNV = 5275, + PrimitiveIndicesNV = 5276, + ClipDistancePerViewNV = 5277, + CullDistancePerViewNV = 5278, + LayerPerViewNV = 5279, + MeshViewCountNV = 5280, + MeshViewIndicesNV = 5281, + BaryCoordKHR = 5286, + BaryCoordNoPerspKHR = 5287, + FragSizeEXT = 5292, + FragInvocationCountEXT = 5293, + PrimitivePointIndicesEXT = 5294, + PrimitiveLineIndicesEXT = 5295, + PrimitiveTriangleIndicesEXT = 5296, + CullPrimitiveEXT = 5299, + LaunchIdKHR = 5319, + LaunchSizeKHR = 5320, + WorldRayOriginKHR = 5321, + WorldRayDirectionKHR = 5322, + ObjectRayOriginKHR = 5323, + ObjectRayDirectionKHR = 5324, + RayTminKHR = 5325, + RayTmaxKHR = 5326, + InstanceCustomIndexKHR = 5327, + ObjectToWorldKHR = 5330, + WorldToObjectKHR = 5331, + HitTNV = 5332, + HitKindKHR = 5333, + CurrentRayTimeNV = 5334, + HitTriangleVertexPositionsKHR = 5335, + HitMicroTriangleVertexPositionsNV = 5337, + HitMicroTriangleVertexBarycentricsNV = 5344, + IncomingRayFlagsKHR = 5351, + RayGeometryIndexKHR = 5352, + HitIsSphereNV = 5359, + HitIsLSSNV = 5360, + HitSpherePositionNV = 5361, + WarpsPerSMNV = 5374, + SMCountNV = 5375, + WarpIDNV = 5376, + SMIDNV = 5377, + HitLSSPositionsNV = 5396, + HitKindFrontFacingMicroTriangleNV = 5405, + HitKindBackFacingMicroTriangleNV = 5406, + HitSphereRadiusNV = 5420, + HitLSSRadiiNV = 5421, + ClusterIDNV = 5436, + CullMaskKHR = 6021, +} + +Scope :: enum u32 { + CrossDevice = 0, + Device = 1, + Workgroup = 2, + Subgroup = 3, + Invocation = 4, + QueueFamily = 5, + ShaderCallKHR = 6, +} + +Group_Operation :: enum u32 { + Reduce = 0, + InclusiveScan = 1, + ExclusiveScan = 2, + ClusteredReduce = 3, + PartitionedReduceEXT = 6, + PartitionedInclusiveScanEXT = 7, + PartitionedExclusiveScanEXT = 8, +} + +Kernel_Enqueue_Flags :: enum u32 { + NoWait = 0, + WaitKernel = 1, + WaitWorkGroup = 2, +} + +Capability :: enum u32 { + Matrix = 0, + Shader = 1, + Geometry = 2, + Tessellation = 3, + Addresses = 4, + Linkage = 5, + Kernel = 6, + Vector16 = 7, + Float16Buffer = 8, + Float16 = 9, + Float64 = 10, + Int64 = 11, + Int64Atomics = 12, + ImageBasic = 13, + ImageReadWrite = 14, + ImageMipmap = 15, + Pipes = 17, + Groups = 18, + DeviceEnqueue = 19, + LiteralSampler = 20, + AtomicStorage = 21, + Int16 = 22, + TessellationPointSize = 23, + GeometryPointSize = 24, + ImageGatherExtended = 25, + StorageImageMultisample = 27, + UniformBufferArrayDynamicIndexing = 28, + SampledImageArrayDynamicIndexing = 29, + StorageBufferArrayDynamicIndexing = 30, + StorageImageArrayDynamicIndexing = 31, + ClipDistance = 32, + CullDistance = 33, + ImageCubeArray = 34, + SampleRateShading = 35, + ImageRect = 36, + SampledRect = 37, + GenericPointer = 38, + Int8 = 39, + InputAttachment = 40, + SparseResidency = 41, + MinLod = 42, + Sampled1D = 43, + Image1D = 44, + SampledCubeArray = 45, + SampledBuffer = 46, + ImageBuffer = 47, + ImageMSArray = 48, + StorageImageExtendedFormats = 49, + ImageQuery = 50, + DerivativeControl = 51, + InterpolationFunction = 52, + TransformFeedback = 53, + GeometryStreams = 54, + StorageImageReadWithoutFormat = 55, + StorageImageWriteWithoutFormat = 56, + MultiViewport = 57, + SubgroupDispatch = 58, + NamedBarrier = 59, + PipeStorage = 60, + GroupNonUniform = 61, + GroupNonUniformVote = 62, + GroupNonUniformArithmetic = 63, + GroupNonUniformBallot = 64, + GroupNonUniformShuffle = 65, + GroupNonUniformShuffleRelative = 66, + GroupNonUniformClustered = 67, + GroupNonUniformQuad = 68, + ShaderLayer = 69, + ShaderViewportIndex = 70, + UniformDecoration = 71, + CoreBuiltinsARM = 4165, + TileImageColorReadAccessEXT = 4166, + TileImageDepthReadAccessEXT = 4167, + TileImageStencilReadAccessEXT = 4168, + TensorsARM = 4174, + StorageTensorArrayDynamicIndexingARM = 4175, + StorageTensorArrayNonUniformIndexingARM = 4176, + GraphARM = 4191, + CooperativeMatrixLayoutsARM = 4201, + Float8EXT = 4212, + Float8CooperativeMatrixEXT = 4213, + FragmentShadingRateKHR = 4422, + SubgroupBallotKHR = 4423, + DrawParameters = 4427, + WorkgroupMemoryExplicitLayoutKHR = 4428, + WorkgroupMemoryExplicitLayout8BitAccessKHR = 4429, + WorkgroupMemoryExplicitLayout16BitAccessKHR = 4430, + SubgroupVoteKHR = 4431, + StorageBuffer16BitAccess = 4433, + UniformAndStorageBuffer16BitAccess = 4434, + StoragePushConstant16 = 4435, + StorageInputOutput16 = 4436, + DeviceGroup = 4437, + MultiView = 4439, + VariablePointersStorageBuffer = 4441, + VariablePointers = 4442, + AtomicStorageOps = 4445, + SampleMaskPostDepthCoverage = 4447, + StorageBuffer8BitAccess = 4448, + UniformAndStorageBuffer8BitAccess = 4449, + StoragePushConstant8 = 4450, + DenormPreserve = 4464, + DenormFlushToZero = 4465, + SignedZeroInfNanPreserve = 4466, + RoundingModeRTE = 4467, + RoundingModeRTZ = 4468, + RayQueryProvisionalKHR = 4471, + RayQueryKHR = 4472, + UntypedPointersKHR = 4473, + RayTraversalPrimitiveCullingKHR = 4478, + RayTracingKHR = 4479, + TextureSampleWeightedQCOM = 4484, + TextureBoxFilterQCOM = 4485, + TextureBlockMatchQCOM = 4486, + TileShadingQCOM = 4495, + CooperativeMatrixConversionQCOM = 4496, + TextureBlockMatch2QCOM = 4498, + Float16ImageAMD = 5008, + ImageGatherBiasLodAMD = 5009, + FragmentMaskAMD = 5010, + StencilExportEXT = 5013, + ImageReadWriteLodAMD = 5015, + Int64ImageEXT = 5016, + ShaderClockKHR = 5055, + ShaderEnqueueAMDX = 5067, + QuadControlKHR = 5087, + Int4TypeINTEL = 5112, + Int4CooperativeMatrixINTEL = 5114, + BFloat16TypeKHR = 5116, + BFloat16DotProductKHR = 5117, + BFloat16CooperativeMatrixKHR = 5118, + AbortKHR = 5120, + DescriptorHeapEXT = 5128, + ConstantDataKHR = 5146, + PoisonFreezeKHR = 5156, + WeakLinkageAMD = 5181, + SampleMaskOverrideCoverageNV = 5249, + GeometryShaderPassthroughNV = 5251, + ShaderViewportIndexLayerEXT = 5254, + ShaderViewportMaskNV = 5255, + ShaderStereoViewNV = 5259, + PerViewAttributesNV = 5260, + FragmentFullyCoveredEXT = 5265, + MeshShadingNV = 5266, + ImageFootprintNV = 5282, + MeshShadingEXT = 5283, + FragmentBarycentricKHR = 5284, + ComputeDerivativeGroupQuadsKHR = 5288, + FragmentDensityEXT = 5291, + GroupNonUniformPartitionedEXT = 5297, + ShaderNonUniform = 5301, + RuntimeDescriptorArray = 5302, + InputAttachmentArrayDynamicIndexing = 5303, + UniformTexelBufferArrayDynamicIndexing = 5304, + StorageTexelBufferArrayDynamicIndexing = 5305, + UniformBufferArrayNonUniformIndexing = 5306, + SampledImageArrayNonUniformIndexing = 5307, + StorageBufferArrayNonUniformIndexing = 5308, + StorageImageArrayNonUniformIndexing = 5309, + InputAttachmentArrayNonUniformIndexing = 5310, + UniformTexelBufferArrayNonUniformIndexing = 5311, + StorageTexelBufferArrayNonUniformIndexing = 5312, + RayTracingPositionFetchKHR = 5336, + RayTracingNV = 5340, + RayTracingMotionBlurNV = 5341, + VulkanMemoryModel = 5345, + VulkanMemoryModelDeviceScope = 5346, + PhysicalStorageBufferAddresses = 5347, + ComputeDerivativeGroupLinearKHR = 5350, + RayTracingProvisionalKHR = 5353, + CooperativeMatrixNV = 5357, + FragmentShaderSampleInterlockEXT = 5363, + FragmentShaderShadingRateInterlockEXT = 5372, + ShaderSMBuiltinsNV = 5373, + FragmentShaderPixelInterlockEXT = 5378, + DemoteToHelperInvocation = 5379, + DisplacementMicromapNV = 5380, + RayTracingOpacityMicromapKHR = 5381, + ShaderInvocationReorderNV = 5383, + ShaderInvocationReorderEXT = 5388, + BindlessTextureNV = 5390, + RayQueryPositionFetchKHR = 5391, + CooperativeVectorNV = 5394, + AtomicFloat16VectorNV = 5404, + RayTracingDisplacementMicromapNV = 5409, + RawAccessChainsNV = 5414, + RayTracingSpheresGeometryNV = 5418, + RayTracingLinearSweptSpheresGeometryNV = 5419, + PushConstantBanksNV = 5423, + LongVectorEXT = 5425, + Shader64BitIndexingEXT = 5426, + CooperativeMatrixReductionsNV = 5430, + CooperativeMatrixConversionsNV = 5431, + CooperativeMatrixPerElementOperationsNV = 5432, + CooperativeMatrixTensorAddressingNV = 5433, + CooperativeMatrixBlockLoadsNV = 5434, + CooperativeVectorTrainingNV = 5435, + RayTracingClusterAccelerationStructureNV = 5437, + TensorAddressingNV = 5439, + CooperativeMatrixDecodeVectorNV = 5447, + SubgroupShuffleINTEL = 5568, + SubgroupBufferBlockIOINTEL = 5569, + SubgroupImageBlockIOINTEL = 5570, + SubgroupImageMediaBlockIOINTEL = 5579, + RoundToInfinityINTEL = 5582, + FloatingPointModeINTEL = 5583, + IntegerFunctions2INTEL = 5584, + FunctionPointersINTEL = 5603, + IndirectReferencesINTEL = 5604, + AsmINTEL = 5606, + AtomicFloat32MinMaxEXT = 5612, + AtomicFloat64MinMaxEXT = 5613, + AtomicFloat16MinMaxEXT = 5616, + VectorComputeINTEL = 5617, + VectorAnyINTEL = 5619, + ExpectAssumeKHR = 5629, + SubgroupAvcMotionEstimationINTEL = 5696, + SubgroupAvcMotionEstimationIntraINTEL = 5697, + SubgroupAvcMotionEstimationChromaINTEL = 5698, + VariableLengthArrayINTEL = 5817, + FunctionFloatControlINTEL = 5821, + FPGAMemoryAttributesALTERA = 5824, + FPFastMathModeINTEL = 5837, + ArbitraryPrecisionIntegersALTERA = 5844, + ArbitraryPrecisionFloatingPointALTERA = 5845, + UnstructuredLoopControlsINTEL = 5886, + FPGALoopControlsALTERA = 5888, + KernelAttributesINTEL = 5892, + FPGAKernelAttributesINTEL = 5897, + FPGAMemoryAccessesALTERA = 5898, + FPGAClusterAttributesALTERA = 5904, + LoopFuseALTERA = 5906, + FPGADSPControlALTERA = 5908, + MemoryAccessAliasingINTEL = 5910, + FPGAInvocationPipeliningAttributesALTERA = 5916, + FPGABufferLocationALTERA = 5920, + ArbitraryPrecisionFixedPointALTERA = 5922, + USMStorageClassesALTERA = 5935, + RuntimeAlignedAttributeALTERA = 5939, + IOPipesALTERA = 5943, + BlockingPipesALTERA = 5945, + FPGARegALTERA = 5948, + DotProductInputAll = 6016, + DotProductInput4x8Bit = 6017, + DotProductInput4x8BitPacked = 6018, + DotProduct = 6019, + RayCullMaskKHR = 6020, + CooperativeMatrixKHR = 6022, + ReplicatedCompositesEXT = 6024, + BitInstructions = 6025, + GroupNonUniformRotateKHR = 6026, + FloatControls2 = 6029, + FMAKHR = 6030, + RayTracingOpacityMicromapExecutionModeKHR = 6032, + AtomicFloat32AddEXT = 6033, + AtomicFloat64AddEXT = 6034, + LongCompositesINTEL = 6089, + OptNoneEXT = 6094, + AtomicFloat16AddEXT = 6095, + DebugInfoModuleINTEL = 6114, + BFloat16ConversionINTEL = 6115, + SplitBarrierEXT = 6141, + ArithmeticFenceEXT = 6144, + FPGAClusterAttributesV2ALTERA = 6150, + FPGAKernelAttributesv2INTEL = 6161, + TaskSequenceALTERA = 6162, + FPMaxErrorINTEL = 6169, + FPGALatencyControlALTERA = 6171, + FPGAArgumentInterfacesALTERA = 6174, + GlobalVariableHostAccessINTEL = 6187, + GlobalVariableFPGADecorationsALTERA = 6189, + SubgroupBufferPrefetchINTEL = 6220, + Subgroup2DBlockIOINTEL = 6228, + Subgroup2DBlockTransformINTEL = 6229, + Subgroup2DBlockTransposeINTEL = 6230, + SubgroupMatrixMultiplyAccumulateINTEL = 6236, + TernaryBitwiseFunctionINTEL = 6241, + UntypedVariableLengthArrayINTEL = 6243, + SpecConditionalINTEL = 6245, + FunctionVariantsINTEL = 6246, + PredicatedIOINTEL = 6257, + RoundedDivideSqrtINTEL = 6265, + GroupUniformArithmeticKHR = 6400, + TensorFloat32RoundingINTEL = 6425, + MaskedGatherScatterINTEL = 6427, + CacheControlsINTEL = 6441, + RegisterLimitsINTEL = 6460, + BindlessImagesINTEL = 6528, + DotProductFloat16AccFloat32VALVE = 6912, + DotProductFloat16AccFloat16VALVE = 6913, + DotProductBFloat16AccVALVE = 6914, + DotProductFloat8AccFloat32VALVE = 6915, +} + +Ray_Query_Intersection :: enum u32 { + RayQueryCandidateIntersectionKHR = 0, + RayQueryCommittedIntersectionKHR = 1, +} + +Ray_Query_Committed_Intersection_Type :: enum u32 { + RayQueryCommittedIntersectionNoneKHR = 0, + RayQueryCommittedIntersectionTriangleKHR = 1, + RayQueryCommittedIntersectionGeneratedKHR = 2, +} + +Ray_Query_Candidate_Intersection_Type :: enum u32 { + RayQueryCandidateIntersectionTriangleKHR = 0, + RayQueryCandidateIntersectionAABBKHR = 1, +} + +Packed_Vector_Format :: enum u32 { + PackedVectorFormat4x8Bit = 0, +} + +Cooperative_Matrix_Operands :: bit_set[Cooperative_Matrix_Operands_Bit; u32] +Cooperative_Matrix_Operands_Bit :: enum u32 { + MatrixASignedComponentsKHR = 0, + MatrixBSignedComponentsKHR = 1, + MatrixCSignedComponentsKHR = 2, + MatrixResultSignedComponentsKHR = 3, + SaturatingAccumulationKHR = 4, +} + +Cooperative_Matrix_Layout :: enum u32 { + RowMajorKHR = 0, + ColumnMajorKHR = 1, + RowBlockedInterleavedARM = 4202, + ColumnBlockedInterleavedARM = 4203, +} + +Cooperative_Matrix_Use :: enum u32 { + MatrixAKHR = 0, + MatrixBKHR = 1, + MatrixAccumulatorKHR = 2, +} + +Cooperative_Matrix_Reduce :: bit_set[Cooperative_Matrix_Reduce_Bit; u32] +Cooperative_Matrix_Reduce_Bit :: enum u32 { + Row = 0, + Column = 1, + _2x2 = 2, +} + +Tensor_Clamp_Mode :: enum u32 { + Undefined = 0, + Constant = 1, + ClampToEdge = 2, + Repeat = 3, + RepeatMirrored = 4, +} + +Tensor_Addressing_Operands :: bit_set[Tensor_Addressing_Operands_Bit; u32] +Tensor_Addressing_Operands_Bit :: enum u32 { + TensorView = 0, + DecodeFunc = 1, + DecodeVectorFunc = 2, +} + +Initialization_Mode_Qualifier :: enum u32 { + InitOnDeviceReprogramALTERA = 0, + InitOnDeviceResetALTERA = 1, +} + +Load_Cache_Control :: enum u32 { + UncachedINTEL = 0, + CachedINTEL = 1, + StreamingINTEL = 2, + InvalidateAfterReadINTEL = 3, + ConstCachedINTEL = 4, +} + +Store_Cache_Control :: enum u32 { + UncachedINTEL = 0, + WriteThroughINTEL = 1, + WriteBackINTEL = 2, + StreamingINTEL = 3, +} + +Named_Maximum_Number_Of_Registers :: enum u32 { + AutoINTEL = 0, +} + +Matrix_Multiply_Accumulate_Operands :: bit_set[Matrix_Multiply_Accumulate_Operands_Bit; u32] +Matrix_Multiply_Accumulate_Operands_Bit :: enum u32 { + MatrixASignedComponentsINTEL = 0, + MatrixBSignedComponentsINTEL = 1, + MatrixCBFloat16INTEL = 2, + MatrixResultBFloat16INTEL = 3, + MatrixAPackedInt8INTEL = 4, + MatrixBPackedInt8INTEL = 5, + MatrixAPackedInt4INTEL = 6, + MatrixBPackedInt4INTEL = 7, + MatrixATF32INTEL = 8, + MatrixBTF32INTEL = 9, + MatrixAPackedFloat16INTEL = 10, + MatrixBPackedFloat16INTEL = 11, + MatrixAPackedBFloat16INTEL = 12, + MatrixBPackedBFloat16INTEL = 13, +} + +FP_Encoding :: enum u32 { + BFloat16KHR = 0, + Float8E4M3EXT = 4214, + Float8E5M2EXT = 4215, +} + +Cooperative_Vector_Matrix_Layout :: enum u32 { + RowMajorNV = 0, + ColumnMajorNV = 1, + InferencingOptimalNV = 2, + TrainingOptimalNV = 3, +} + +Component_Type :: enum u32 { + Float16NV = 0, + Float32NV = 1, + Float64NV = 2, + SignedInt8NV = 3, + SignedInt16NV = 4, + SignedInt32NV = 5, + SignedInt64NV = 6, + UnsignedInt8NV = 7, + UnsignedInt16NV = 8, + UnsignedInt32NV = 9, + UnsignedInt64NV = 10, + SignedInt8PackedNV = 1000491000, + UnsignedInt8PackedNV = 1000491001, + FloatE4M3NV = 1000491002, + FloatE5M2NV = 1000491003, +} + +Tensor_Operands :: bit_set[Tensor_Operands_Bit; u32] +Tensor_Operands_Bit :: enum u32 { + NontemporalARM = 0, + OutOfBoundsValueARM = 1, + MakeElementAvailableARM = 2, + MakeElementVisibleARM = 3, + NonPrivateElementARM = 4, +} diff --git a/core/rexcode/ir/spirv/reloc.odin b/core/rexcode/ir/spirv/reloc.odin new file mode 100644 index 000000000..42967b990 --- /dev/null +++ b/core/rexcode/ir/spirv/reloc.odin @@ -0,0 +1,29 @@ +// rexcode · Brendan Punsky (dotbmp@github), original author + +package rexcode_spirv + +// ============================================================================= +// SECTION: Relocation (SPIR-V linkage fixups -- the per-IR reloc.odin) +// ============================================================================= +// +// SPIR-V is normally self-contained: operands reference entities by , +// resolved structurally, with no cross-object fixups. The one exception is +// *linkage*: an decorated `LinkageAttributes` with `Import` is defined in +// another module and `Export` is offered to one. A linker matching imports to +// exports by name is the SPIR-V analog of an object-file symbol fixup, so it is +// surfaced as a `Relocation` the way each arch surfaces its own (parallel to an +// arch's reloc.odin), produced by `encode` for EXTERNAL references. +// +// Not #packed (unlike the small ISA Relocation): the linkage name is a string. + +Relocation_Type :: enum u8 { + NONE, + IMPORT, // the is imported (LinkageType Import) -- undefined here + EXPORT, // the is exported (LinkageType Export) -- visible to other modules +} + +Relocation :: struct { + id: Id, // the carrying the LinkageAttributes decoration + name: string, // the external linkage name to match across modules + type: Relocation_Type, +} diff --git a/core/rexcode/ir/spirv/spirv.odin b/core/rexcode/ir/spirv/spirv.odin new file mode 100644 index 000000000..b754b44cc --- /dev/null +++ b/core/rexcode/ir/spirv/spirv.odin @@ -0,0 +1,124 @@ +// rexcode · Brendan Punsky (dotbmp@github), original author + +// rexcode/ir/spirv -- the SPIR-V intermediate representation. +// +// SPIR-V is the Khronos binary IR for shaders and compute kernels: a stream of +// 32-bit words, each instruction headed by a `wordCount<<16 | opcode` word, over +// an SSA value model with a first-class type system (OpTypeInt, OpConstant, +// OpFunction, ...). On the two axes that sort the IR family (docs/ir_design.md +// §2) it is **table-driven** on encoding -- a static `opcode -> operand-layout` +// grammar, exactly the ISA `ENCODING_TABLE` shape -- and **SSA** on dataflow, +// like LLVM and unlike WASM. +// +// So this package is built as a sibling of the ISA arch packages: it re-exports +// the shared `ir` vocabulary (Module / Function / Block / Operation / Operand / +// Type / Id / ...), owns a `u16` `Opcode` (the SPIR-V opcode values), a static +// operand-layout table that drives a word-level codec, the three Module-based +// verbs (`encode` / `decode` / `print`), a `Relocation` for linkage fixups, and +// the SPIR-V <-> `ir.Type` lowering. No PC-relative label pass exists; operands +// reference entities (results, types, functions) by `Id`, resolved structurally. +package rexcode_spirv + +import "core:rexcode/ir" + +// ============================================================================= +// SECTION: Re-exported shared vocabulary (the IR naming contract, ir_design §4) +// ============================================================================= +// +// A consumer sees one namespace -- `spirv.Operation`, `spirv.Type`, ... -- the +// way an arch package re-exports `isa`. These are the IR's leaf model; the +// concrete additions (Opcode, Relocation, the codec) live in the sibling files. + +// `Module` is NOT re-exported -- SPIR-V's module carries dialect sections the +// shared core has no slot for (capabilities, entry points, decorations, ...), so +// it is a superset struct embedding `ir.Module`; see module.odin. +Function :: ir.Function +Block :: ir.Block +Global :: ir.Global +Operation :: ir.Operation +Operation_Flags :: ir.Operation_Flags +Operand :: ir.Operand +Operand_Kind :: ir.Operand_Kind +Result :: ir.Result +Type :: ir.Type +Type_Ref :: ir.Type_Ref +Type_Kind :: ir.Type_Kind +Id :: ir.Id +Ref :: ir.Ref +Ref_Space :: ir.Ref_Space +Symbol_Table :: ir.Symbol_Table +Dataflow :: ir.Dataflow +Error :: ir.Error +Error_Code :: ir.Error_Code +Token :: ir.Token +Token_Kind :: ir.Token_Kind +Print_Options :: ir.Print_Options +Print_Result :: ir.Print_Result + +ID_NONE :: ir.ID_NONE +TYPE_NONE :: ir.TYPE_NONE +DEFAULT_PRINT_OPTIONS :: ir.DEFAULT_PRINT_OPTIONS + +// Operand / type / ref constructors (shared; SSA makes them uniform). +op_int :: ir.op_int +op_float :: ir.op_float +op_type :: ir.op_type +op_ref :: ir.op_ref +op_value :: ir.op_value +op_block :: ir.op_block +operand_id :: ir.operand_id +operand_type :: ir.operand_type +ref :: ir.ref + +type_void :: ir.type_void +type_int :: ir.type_int +type_float :: ir.type_float +type_vector :: ir.type_vector +type_pointer :: ir.type_pointer + +// ============================================================================= +// SECTION: Physical format (SPIR-V spec §2.3 -- the 32-bit word stream) +// ============================================================================= + +// SPIR-V is a stream of 32-bit words in the module's declared endianness. +Word :: u32 + +// The first word of every module. +MAGIC :: u32(0x0723_0203) + +// Version word layout: 0x00 0x00. +@(require_results) +version :: #force_inline proc "contextless" (major, minor: u8) -> u32 { + return (u32(major) << 16) | (u32(minor) << 8) +} + +VERSION_1_0 :: u32(0x0001_0000) +VERSION_1_1 :: u32(0x0001_0100) +VERSION_1_2 :: u32(0x0001_0200) +VERSION_1_3 :: u32(0x0001_0300) +VERSION_1_4 :: u32(0x0001_0400) +VERSION_1_5 :: u32(0x0001_0500) +VERSION_1_6 :: u32(0x0001_0600) + +// Generator's magic number, registered in the SPIR-V Registry. 0 = unregistered. +GENERATOR :: u32(0) + +// The 5-word module header that precedes the instruction stream. +Header :: struct { + magic: u32, // == MAGIC + version: u32, // see version() + generator: u32, + bound: u32, // exclusive upper bound on every (i.e. max id + 1) + schema: u32, // reserved; 0 +} +#assert(size_of(Header) == 20) + +HEADER_WORDS :: 5 + +// An instruction's first word packs its total word count (including this word) +// in the high 16 bits and the opcode in the low 16. +@(require_results) inst_word_count :: #force_inline proc "contextless" (w: u32) -> u32 { return w >> 16 } +@(require_results) inst_opcode :: #force_inline proc "contextless" (w: u32) -> u16 { return u16(w & 0xFFFF) } +@(require_results) inst_head :: #force_inline proc "contextless" (word_count: u32, opcode: Opcode) -> u32 { + return (word_count << 16) | u32(u16(opcode)) +} diff --git a/core/rexcode/ir/spirv/tablegen/gen.odin b/core/rexcode/ir/spirv/tablegen/gen.odin new file mode 100644 index 000000000..622350a5f --- /dev/null +++ b/core/rexcode/ir/spirv/tablegen/gen.odin @@ -0,0 +1,221 @@ +// rexcode · Brendan Punsky (dotbmp@github), original author + +// SPIR-V table generator. Reads the vendored authoritative grammar +// (spirv.core.grammar.json, Khronos SPIRV-Headers unified1) and emits the +// package's generated Odin tables. The SPIR-V analog of an ISA tablegen: the +// grammar JSON is the single source of truth, as an arch's ENCODING_TABLE is. +// +// odin run core/rexcode/ir/spirv/tablegen # regenerate ../opcodes.odin + ../operand_kinds.odin +package rexcode_spirv_tablegen + +import "core:encoding/json" +import "core:os" +import "core:fmt" +import "core:strings" +import "core:strconv" + +GRAMMAR_PATH :: #directory + "/spirv.core.grammar.json" +OPCODES_OUT :: #directory + "/../opcodes.odin" +KINDS_OUT :: #directory + "/../operand_kinds.odin" + +HDR :: +`// rexcode · Brendan Punsky (dotbmp@github), original author + +package rexcode_spirv + +// GENERATED from spirv.core.grammar.json (SPIRV-Headers unified1) by tablegen/gen.odin. +// DO NOT EDIT -- regenerate with ` + "`odin run core/rexcode/ir/spirv/tablegen`" + `. +` + +main :: proc() { + data, rerr := os.read_entire_file(GRAMMAR_PATH, context.allocator) + if rerr != nil { + fmt.eprintln("spirv tablegen: cannot read", GRAMMAR_PATH, rerr) + os.exit(1) + } + defer delete(data) + + root, err := json.parse(data, parse_integers = true) + if err != .None { + fmt.eprintln("spirv tablegen: json parse error:", err) + os.exit(1) + } + defer json.destroy_value(root) + + g := root.(json.Object) + n_op := gen_opcodes(g["instructions"].(json.Array)) + n_k := gen_operand_kinds(g["operand_kinds"].(json.Array)) + fmt.printfln("spirv tablegen: %d opcodes, %d operand kinds", n_op, n_k) +} + +write_file :: proc(path: string, sb: ^strings.Builder) { + if werr := os.write_entire_file(path, sb.buf[:]); werr != nil { + fmt.eprintln("spirv tablegen: write failed:", path, werr) + os.exit(1) + } +} + +// --- opcodes.odin : the Opcode enum (deduped by opcode; the grammar lists +// aliased opnames sharing an opcode, e.g. *GOOGLE == *KHR -- first wins). --- +gen_opcodes :: proc(insts: json.Array) -> int { + Row :: struct { name: string, op: i64 } + rows: [dynamic]Row; defer delete(rows) + seen: map[i64]bool; defer delete(seen) + w := 0 + for v in insts { + inst := v.(json.Object) + op := i64(inst["opcode"].(json.Integer)) + if op in seen { continue } + seen[op] = true + name := string(inst["opname"].(json.String)) + append(&rows, Row{name, op}) + w = max(w, len(name)) + } + + sb := strings.builder_make(); defer strings.builder_destroy(&sb) + strings.write_string(&sb, HDR) + strings.write_string(&sb, "\n// SPIR-V operation opcodes. The values ARE the wire opcodes; the codec writes\n// them directly. OpNop = 0 doubles as the zero value (a benign no-op).\nOpcode :: enum u16 {\n") + for r in rows { + strings.write_byte(&sb, '\t') + strings.write_string(&sb, r.name) + for _ in 0 ..< w - len(r.name) { strings.write_byte(&sb, ' ') } + fmt.sbprintf(&sb, " = %d,\n", r.op) + } + strings.write_string(&sb, "}\n") + write_file(OPCODES_OUT, &sb) + return len(rows) +} + +// --- operand_kinds.odin : the Spec_Kind dispatch enum + every ValueEnum (Odin +// enum) and BitEnum (bit_set + _Bit enum). --- +gen_operand_kinds :: proc(kinds: json.Array) -> int { + sb := strings.builder_make(); defer strings.builder_destroy(&sb) + strings.write_string(&sb, HDR) + + strings.write_string(&sb, "\n// Every operand kind the codec dispatches on (Id / Literal / Composite / each\n// ValueEnum / each BitEnum), in grammar order. Named Spec_Kind to avoid colliding\n// with the re-exported ir.Operand_Kind; the operand-layout table tags each\n// operand with one of these.\nSpec_Kind :: enum u8 {\n\tNONE = 0,\n") + for v in kinds { + k := v.(json.Object) + fmt.sbprintf(&sb, "\t%s,\n", string(k["kind"].(json.String))) + } + strings.write_string(&sb, "}\n") + + for v in kinds { + k := v.(json.Object) + cat := string(k["category"].(json.String)) + kind := string(k["kind"].(json.String)) + switch cat { + case "ValueEnum": gen_value_enum(&sb, snake(kind), k) + case "BitEnum": gen_bit_enum(&sb, snake(kind), k) + } + } + write_file(KINDS_OUT, &sb) + return len(kinds) +} + +gen_value_enum :: proc(sb: ^strings.Builder, name: string, k: json.Object) { + Row :: struct { nm: string, val: i64 } + rows: [dynamic]Row; defer delete(rows) + seen: map[i64]bool; defer delete(seen) + w := 0 + if ens, ok := k["enumerants"]; ok { + for ev in ens.(json.Array) { + e := ev.(json.Object) + val := parse_value(e["value"]) + if val in seen { continue } // dedup aliases (same value, first name) + seen[val] = true + nm := ident(string(e["enumerant"].(json.String))) + append(&rows, Row{nm, val}); w = max(w, len(nm)) + } + } + fmt.sbprintf(sb, "\n%s :: enum u32 {{\n", name) + for r in rows { + strings.write_byte(sb, '\t') + strings.write_string(sb, r.nm) + for _ in 0 ..< w - len(r.nm) { strings.write_byte(sb, ' ') } + fmt.sbprintf(sb, " = %d,\n", r.val) + } + strings.write_string(sb, "}\n") +} + +gen_bit_enum :: proc(sb: ^strings.Builder, name: string, k: json.Object) { + Row :: struct { nm: string, pos: int } + rows: [dynamic]Row; defer delete(rows) + seen: map[int]bool; defer delete(seen) + w, maxpos := 0, 0 + if ens, ok := k["enumerants"]; ok { + for ev in ens.(json.Array) { + e := ev.(json.Object) + mask := parse_value(e["value"]) + if mask == 0 || mask & (mask - 1) != 0 { continue } // skip None / non-single-bit + pos := bit_pos(mask) + if pos in seen { continue } + seen[pos] = true + nm := ident(string(e["enumerant"].(json.String))) + append(&rows, Row{nm, pos}); w = max(w, len(nm)); maxpos = max(maxpos, pos) + } + } + backing := maxpos >= 32 ? "u64" : "u32" + fmt.sbprintf(sb, "\n%s :: bit_set[%s_Bit; %s]\n", name, name, backing) + fmt.sbprintf(sb, "%s_Bit :: enum %s {{\n", name, backing) + for r in rows { + strings.write_byte(sb, '\t') + strings.write_string(sb, r.nm) + for _ in 0 ..< w - len(r.nm) { strings.write_byte(sb, ' ') } + fmt.sbprintf(sb, " = %d,\n", r.pos) + } + strings.write_string(sb, "}\n") +} + +// ----------------------------------------------------------------------------- +// helpers +// ----------------------------------------------------------------------------- + +is_upper :: proc(c: u8) -> bool { return c >= 'A' && c <= 'Z' } +is_lower :: proc(c: u8) -> bool { return c >= 'a' && c <= 'z' } +is_digit :: proc(c: u8) -> bool { return c >= '0' && c <= '9' } +is_alnum :: proc(c: u8) -> bool { return is_upper(c) || is_lower(c) || is_digit(c) } + +// CamelCase grammar kind -> Snake_Case Odin type name (AddressingModel -> +// Addressing_Model, FPRoundingMode -> FP_Rounding_Mode), preserving acronym runs. +snake :: proc(name: string) -> string { + sb := strings.builder_make() + for i in 0 ..< len(name) { + c := name[i] + if i > 0 && is_upper(c) { + prev := name[i - 1] + next_lower := i + 1 < len(name) && is_lower(name[i + 1]) + if is_lower(prev) || is_digit(prev) || (is_upper(prev) && next_lower) { + strings.write_byte(&sb, '_') + } + } + strings.write_byte(&sb, c) + } + return strings.to_string(sb) +} + +// A valid Odin enumerant identifier (SPIR-V enumerants are already valid; guard +// the rare leading digit / stray punctuation anyway). +ident :: proc(name: string) -> string { + sb := strings.builder_make() + if len(name) > 0 && is_digit(name[0]) { strings.write_byte(&sb, '_') } + for i in 0 ..< len(name) { + c := name[i] + strings.write_byte(&sb, (is_alnum(c) || c == '_') ? c : '_') + } + return strings.to_string(sb) +} + +bit_pos :: proc(mask: i64) -> int { + p, m := 0, mask + for m > 1 { m >>= 1; p += 1 } + return p +} + +// An enumerant value is either a JSON integer or a hex string ("0x0001"). +parse_value :: proc(v: json.Value) -> i64 { + #partial switch x in v { + case json.Integer: return i64(x) + case json.String: n, _ := strconv.parse_i64(string(x)); return n + } + return 0 +} diff --git a/core/rexcode/ir/spirv/tablegen/spirv.core.grammar.json b/core/rexcode/ir/spirv/tablegen/spirv.core.grammar.json new file mode 100644 index 000000000..8b5595c58 --- /dev/null +++ b/core/rexcode/ir/spirv/tablegen/spirv.core.grammar.json @@ -0,0 +1,19499 @@ +{ + "copyright" : [ + "Copyright: 2014-2024 The Khronos Group Inc.", + "License: MIT", + "", + "MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS", + "KHRONOS STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS", + "SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT", + "https://www.khronos.org/registry/" + ], + "magic_number" : "0x07230203", + "major_version" : 1, + "minor_version" : 6, + "revision" : 7, + "instruction_printing_class" : [ + { + "tag" : "@exclude" + }, + { + "tag" : "Miscellaneous", + "heading" : "Miscellaneous Instructions" + }, + { + "tag" : "Debug", + "heading" : "Debug Instructions" + }, + { + "tag" : "Annotation", + "heading" : "Annotation Instructions" + }, + { + "tag" : "Extension", + "heading" : "Extension Instructions" + }, + { + "tag" : "Mode-Setting", + "heading" : "Mode-Setting Instructions" + }, + { + "tag" : "Type-Declaration", + "heading" : "Type-Declaration Instructions" + }, + { + "tag" : "Constant-Creation", + "heading" : "Constant-Creation Instructions" + }, + { + "tag" : "Memory", + "heading" : "Memory Instructions" + }, + { + "tag" : "Function", + "heading" : "Function Instructions" + }, + { + "tag" : "Image", + "heading" : "Image Instructions" + }, + { + "tag" : "Conversion", + "heading" : "Conversion Instructions" + }, + { + "tag" : "Composite", + "heading" : "Composite Instructions" + }, + { + "tag" : "Arithmetic", + "heading" : "Arithmetic Instructions" + }, + { + "tag" : "Bit", + "heading" : "Bit Instructions" + }, + { + "tag" : "Relational_and_Logical", + "heading" : "Relational and Logical Instructions" + }, + { + "tag" : "Derivative", + "heading" : "Derivative Instructions" + }, + { + "tag" : "Control-Flow", + "heading" : "Control-Flow Instructions" + }, + { + "tag" : "Atomic", + "heading" : "Atomic Instructions" + }, + { + "tag" : "Primitive", + "heading" : "Primitive Instructions" + }, + { + "tag" : "Barrier", + "heading" : "Barrier Instructions" + }, + { + "tag" : "Group", + "heading" : "Group and Subgroup Instructions" + }, + { + "tag" : "Device-Side_Enqueue", + "heading" : "Device-Side Enqueue Instructions" + }, + { + "tag" : "Pipe", + "heading" : "Pipe Instructions" + }, + { + "tag" : "Non-Uniform", + "heading" : "Non-Uniform Instructions" + }, + { + "tag" : "Tensor", + "heading" : "Tensor Instructions" + }, + { + "tag" : "Graph", + "heading" : "Graph Instructions" + }, + { + "tag" : "Reserved", + "heading" : "Reserved Instructions" + } + ], + "instructions" : [ + { + "opname" : "OpNop", + "class" : "Miscellaneous", + "opcode" : 0, + "version" : "1.0" + }, + { + "opname" : "OpUndef", + "class" : "Miscellaneous", + "opcode" : 1, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" } + ], + "version" : "1.0" + }, + { + "opname" : "OpSourceContinued", + "class" : "Debug", + "opcode" : 2, + "operands" : [ + { "kind" : "LiteralString", "name" : "Continued Source" } + ], + "version": "1.0" + }, + { + "opname" : "OpSource", + "class" : "Debug", + "opcode" : 3, + "operands" : [ + { "kind" : "SourceLanguage" }, + { "kind" : "LiteralInteger", "name" : "Version" }, + { "kind" : "IdRef", "quantifier" : "?", "name" : "File" }, + { "kind" : "LiteralString", "quantifier" : "?", "name" : "Source" } + ], + "version": "1.0" + }, + { + "opname" : "OpSourceExtension", + "class" : "Debug", + "opcode" : 4, + "operands" : [ + { "kind" : "LiteralString", "name" : "Extension" } + ], + "version": "1.0" + }, + { + "opname" : "OpName", + "class" : "Debug", + "opcode" : 5, + "operands" : [ + { "kind" : "IdRef", "name" : "Target" }, + { "kind" : "LiteralString", "name" : "Name" } + ], + "version": "1.0" + }, + { + "opname" : "OpMemberName", + "class" : "Debug", + "opcode" : 6, + "operands" : [ + { "kind" : "IdRef", "name" : "Type" }, + { "kind" : "LiteralInteger", "name" : "Member" }, + { "kind" : "LiteralString", "name" : "Name" } + ], + "version": "1.0" + }, + { + "opname" : "OpString", + "class" : "Debug", + "opcode" : 7, + "operands" : [ + { "kind" : "IdResult" }, + { "kind" : "LiteralString", "name" : "String" } + ], + "version": "1.0" + }, + { + "opname" : "OpLine", + "class" : "Debug", + "opcode" : 8, + "operands" : [ + { "kind" : "IdRef", "name" : "File" }, + { "kind" : "LiteralInteger", "name" : "Line" }, + { "kind" : "LiteralInteger", "name" : "Column" } + ], + "version": "1.0" + }, + { + "opname" : "OpExtension", + "class" : "Extension", + "opcode" : 10, + "operands" : [ + { "kind" : "LiteralString", "name" : "Name" } + ], + "version": "1.0" + }, + { + "opname" : "OpExtInstImport", + "class" : "Extension", + "opcode" : 11, + "operands" : [ + { "kind" : "IdResult" }, + { "kind" : "LiteralString", "name" : "Name" } + ], + "version": "1.0" + }, + { + "opname" : "OpExtInst", + "class" : "Extension", + "opcode" : 12, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Set" }, + { "kind" : "LiteralExtInstInteger", "name" : "Instruction" }, + { "kind" : "IdRef", "quantifier" : "*", "name" : "Operand 1, Operand 2, ..." } + ], + "version": "1.0" + }, + { + "opname" : "OpMemoryModel", + "class" : "Mode-Setting", + "opcode" : 14, + "operands" : [ + { "kind" : "AddressingModel" }, + { "kind" : "MemoryModel" } + ], + "version": "1.0" + }, + { + "opname" : "OpEntryPoint", + "class" : "Mode-Setting", + "opcode" : 15, + "operands" : [ + { "kind" : "ExecutionModel" }, + { "kind" : "IdRef", "name" : "Entry Point" }, + { "kind" : "LiteralString", "name" : "Name" }, + { "kind" : "IdRef", "quantifier" : "*", "name" : "Interface" } + ], + "version": "1.0" + }, + { + "opname" : "OpExecutionMode", + "class" : "Mode-Setting", + "opcode" : 16, + "operands" : [ + { "kind" : "IdRef", "name" : "Entry Point" }, + { "kind" : "ExecutionMode", "name" : "Mode" } + ], + "version": "1.0" + }, + { + "opname" : "OpCapability", + "class" : "Mode-Setting", + "opcode" : 17, + "operands" : [ + { "kind" : "Capability", "name" : "Capability" } + ], + "version": "1.0" + }, + { + "opname" : "OpTypeVoid", + "class" : "Type-Declaration", + "opcode" : 19, + "operands" : [ + { "kind" : "IdResult" } + ], + "version": "1.0" + }, + { + "opname" : "OpTypeBool", + "class" : "Type-Declaration", + "opcode" : 20, + "operands" : [ + { "kind" : "IdResult" } + ], + "version": "1.0" + }, + { + "opname" : "OpTypeInt", + "class" : "Type-Declaration", + "opcode" : 21, + "operands" : [ + { "kind" : "IdResult" }, + { "kind" : "LiteralInteger", "name" : "Width" }, + { "kind" : "LiteralInteger", "name" : "Signedness" } + ], + "version": "1.0" + }, + { + "opname" : "OpTypeFloat", + "class" : "Type-Declaration", + "opcode" : 22, + "operands" : [ + { "kind" : "IdResult" }, + { "kind" : "LiteralInteger", "name" : "Width" }, + { "kind" : "FPEncoding", "quantifier" : "?", "name" : "Floating Point Encoding" } + ], + "version": "1.0" + }, + { + "opname" : "OpTypeVector", + "class" : "Type-Declaration", + "opcode" : 23, + "operands" : [ + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Component Type" }, + { "kind" : "LiteralInteger", "name" : "Component Count" } + ], + "version": "1.0" + }, + { + "opname" : "OpTypeMatrix", + "class" : "Type-Declaration", + "opcode" : 24, + "operands" : [ + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Column Type" }, + { "kind" : "LiteralInteger", "name" : "Column Count" } + ], + "capabilities" : [ "Matrix" ], + "version": "1.0" + }, + { + "opname" : "OpTypeImage", + "class" : "Type-Declaration", + "opcode" : 25, + "operands" : [ + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Sampled Type" }, + { "kind" : "Dim" }, + { "kind" : "LiteralInteger", "name" : "Depth" }, + { "kind" : "LiteralInteger", "name" : "Arrayed" }, + { "kind" : "LiteralInteger", "name" : "MS" }, + { "kind" : "LiteralInteger", "name" : "Sampled" }, + { "kind" : "ImageFormat" }, + { "kind" : "AccessQualifier", "quantifier" : "?" } + ], + "version": "1.0" + }, + { + "opname" : "OpTypeSampler", + "class" : "Type-Declaration", + "opcode" : 26, + "operands" : [ + { "kind" : "IdResult" } + ], + "version": "1.0" + }, + { + "opname" : "OpTypeSampledImage", + "class" : "Type-Declaration", + "opcode" : 27, + "operands" : [ + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Image Type" } + ], + "version": "1.0" + }, + { + "opname" : "OpTypeArray", + "class" : "Type-Declaration", + "opcode" : 28, + "operands" : [ + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Element Type" }, + { "kind" : "IdRef", "name" : "Length" } + ], + "version": "1.0" + }, + { + "opname" : "OpTypeRuntimeArray", + "class" : "Type-Declaration", + "opcode" : 29, + "operands" : [ + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Element Type" } + ], + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "opname" : "OpTypeStruct", + "class" : "Type-Declaration", + "opcode" : 30, + "operands" : [ + { "kind" : "IdResult" }, + { "kind" : "IdRef", "quantifier" : "*", "name" : "Member 0 type, member 1 type, ..." } + ], + "version": "1.0" + }, + { + "opname" : "OpTypeOpaque", + "class" : "Type-Declaration", + "opcode" : 31, + "operands" : [ + { "kind" : "IdResult" }, + { "kind" : "LiteralString", "name" : "The name of the opaque type." } + ], + "capabilities" : [ "Kernel" ], + "version": "1.0" + }, + { + "opname" : "OpTypePointer", + "class" : "Type-Declaration", + "opcode" : 32, + "operands" : [ + { "kind" : "IdResult" }, + { "kind" : "StorageClass" }, + { "kind" : "IdRef", "name" : "Type" } + ], + "version": "1.0" + }, + { + "opname" : "OpTypeFunction", + "class" : "Type-Declaration", + "opcode" : 33, + "operands" : [ + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Return Type" }, + { "kind" : "IdRef", "quantifier" : "*", "name" : "Parameter 0 Type, Parameter 1 Type, ..." } + ], + "version": "1.0" + }, + { + "opname" : "OpTypeEvent", + "class" : "Type-Declaration", + "opcode" : 34, + "operands" : [ + { "kind" : "IdResult" } + ], + "capabilities" : [ "Kernel" ], + "version": "1.0" + }, + { + "opname" : "OpTypeDeviceEvent", + "class" : "Type-Declaration", + "opcode" : 35, + "operands" : [ + { "kind" : "IdResult" } + ], + "capabilities" : [ "DeviceEnqueue" ], + "version": "1.0" + }, + { + "opname" : "OpTypeReserveId", + "class" : "Type-Declaration", + "opcode" : 36, + "operands" : [ + { "kind" : "IdResult" } + ], + "capabilities" : [ "Pipes" ], + "version": "1.0" + }, + { + "opname" : "OpTypeQueue", + "class" : "Type-Declaration", + "opcode" : 37, + "operands" : [ + { "kind" : "IdResult" } + ], + "capabilities" : [ "DeviceEnqueue" ], + "version": "1.0" + }, + { + "opname" : "OpTypePipe", + "class" : "Type-Declaration", + "opcode" : 38, + "operands" : [ + { "kind" : "IdResult" }, + { "kind" : "AccessQualifier", "name" : "Qualifier" } + ], + "capabilities" : [ "Pipes" ], + "version": "1.0" + }, + { + "opname" : "OpTypeForwardPointer", + "class" : "Type-Declaration", + "opcode" : 39, + "operands" : [ + { "kind" : "IdRef", "name" : "Pointer Type" }, + { "kind" : "StorageClass" } + ], + "capabilities" : [ + "Addresses", + "PhysicalStorageBufferAddresses" + ], + "version": "1.0" + }, + { + "opname" : "OpConstantTrue", + "class" : "Constant-Creation", + "opcode" : 41, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" } + ], + "version": "1.0" + }, + { + "opname" : "OpConstantFalse", + "class" : "Constant-Creation", + "opcode" : 42, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" } + ], + "version": "1.0" + }, + { + "opname" : "OpConstant", + "class" : "Constant-Creation", + "opcode" : 43, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "LiteralContextDependentNumber", "name" : "Value" } + ], + "version": "1.0" + }, + { + "opname" : "OpConstantComposite", + "class" : "Constant-Creation", + "opcode" : 44, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "quantifier" : "*", "name" : "Constituents" } + ], + "version": "1.0" + }, + { + "opname" : "OpConstantSampler", + "class" : "Constant-Creation", + "opcode" : 45, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "SamplerAddressingMode" }, + { "kind" : "LiteralInteger", "name" : "Param" }, + { "kind" : "SamplerFilterMode" } + ], + "capabilities" : [ "LiteralSampler" ], + "version": "1.0" + }, + { + "opname" : "OpConstantNull", + "class" : "Constant-Creation", + "opcode" : 46, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" } + ], + "version": "1.0" + }, + { + "opname" : "OpSpecConstantTrue", + "class" : "Constant-Creation", + "opcode" : 48, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" } + ], + "version": "1.0" + }, + { + "opname" : "OpSpecConstantFalse", + "class" : "Constant-Creation", + "opcode" : 49, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" } + ], + "version": "1.0" + }, + { + "opname" : "OpSpecConstant", + "class" : "Constant-Creation", + "opcode" : 50, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "LiteralContextDependentNumber", "name" : "Value" } + ], + "version": "1.0" + }, + { + "opname" : "OpSpecConstantComposite", + "class" : "Constant-Creation", + "opcode" : 51, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "quantifier" : "*", "name" : "Constituents" } + ], + "version": "1.0" + }, + { + "opname" : "OpSpecConstantOp", + "class" : "Constant-Creation", + "opcode" : 52, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "LiteralSpecConstantOpInteger", "name" : "Opcode" } + ], + "version": "1.0" + }, + { + "opname" : "OpFunction", + "class" : "Function", + "opcode" : 54, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "FunctionControl" }, + { "kind" : "IdRef", "name" : "Function Type" } + ], + "version": "1.0" + }, + { + "opname" : "OpFunctionParameter", + "class" : "Function", + "opcode" : 55, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" } + ], + "version": "1.0" + }, + { + "opname" : "OpFunctionEnd", + "class" : "Function", + "opcode" : 56, + "version" : "1.0" + }, + { + "opname" : "OpFunctionCall", + "class" : "Function", + "opcode" : 57, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Function" }, + { "kind" : "IdRef", "quantifier" : "*", "name" : "Argument 0, Argument 1, ..."} + ], + "version": "1.0" + }, + { + "opname" : "OpVariable", + "class" : "Memory", + "opcode" : 59, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "StorageClass" }, + { "kind" : "IdRef", "quantifier" : "?", "name" : "Initializer" } + ], + "version": "1.0" + }, + { + "opname" : "OpImageTexelPointer", + "class" : "Memory", + "opcode" : 60, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Image" }, + { "kind" : "IdRef", "name" : "Coordinate" }, + { "kind" : "IdRef", "name" : "Sample" } + ], + "version": "1.0" + }, + { + "opname" : "OpLoad", + "class" : "Memory", + "opcode" : 61, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Pointer" }, + { "kind" : "MemoryAccess", "quantifier" : "?" } + ], + "version": "1.0" + }, + { + "opname" : "OpStore", + "class" : "Memory", + "opcode" : 62, + "operands" : [ + { "kind" : "IdRef", "name" : "Pointer" }, + { "kind" : "IdRef", "name" : "Object" }, + { "kind" : "MemoryAccess", "quantifier" : "?" } + ], + "version": "1.0" + }, + { + "opname" : "OpCopyMemory", + "class" : "Memory", + "opcode" : 63, + "operands" : [ + { "kind" : "IdRef", "name" : "Target" }, + { "kind" : "IdRef", "name" : "Source" }, + { "kind" : "MemoryAccess", "quantifier" : "?" }, + { "kind" : "MemoryAccess", "quantifier" : "?" } + ], + "version": "1.0" + }, + { + "opname" : "OpCopyMemorySized", + "class" : "Memory", + "opcode" : 64, + "operands" : [ + { "kind" : "IdRef", "name" : "Target" }, + { "kind" : "IdRef", "name" : "Source" }, + { "kind" : "IdRef", "name" : "Size" }, + { "kind" : "MemoryAccess", "quantifier" : "?" }, + { "kind" : "MemoryAccess", "quantifier" : "?" } + ], + "capabilities" : [ + "Addresses", + "UntypedPointersKHR" + ], + "version": "1.0" + }, + { + "opname" : "OpAccessChain", + "class" : "Memory", + "opcode" : 65, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Base" }, + { "kind" : "IdRef", "quantifier" : "*", "name" : "Indexes" } + ], + "version": "1.0" + }, + { + "opname" : "OpInBoundsAccessChain", + "class" : "Memory", + "opcode" : 66, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Base" }, + { "kind" : "IdRef", "quantifier" : "*", "name" : "Indexes" } + ], + "version": "1.0" + }, + { + "opname" : "OpPtrAccessChain", + "class" : "Memory", + "opcode" : 67, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Base" }, + { "kind" : "IdRef", "name" : "Element" }, + { "kind" : "IdRef", "quantifier" : "*", "name" : "Indexes" } + ], + "capabilities" : [ + "Addresses", + "VariablePointers", + "VariablePointersStorageBuffer", + "PhysicalStorageBufferAddresses" + ], + "version": "1.0" + }, + { + "opname" : "OpArrayLength", + "class" : "Memory", + "opcode" : 68, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Structure" }, + { "kind" : "LiteralInteger", "name" : "Array member" } + ], + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "opname" : "OpGenericPtrMemSemantics", + "class" : "Memory", + "opcode" : 69, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Pointer" } + ], + "capabilities" : [ "Kernel" ], + "version": "1.0" + }, + { + "opname" : "OpInBoundsPtrAccessChain", + "class" : "Memory", + "opcode" : 70, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Base" }, + { "kind" : "IdRef", "name" : "Element" }, + { "kind" : "IdRef", "quantifier" : "*", "name" : "Indexes" } + ], + "capabilities" : [ "Addresses" ], + "version": "1.0" + }, + { + "opname" : "OpDecorate", + "class" : "Annotation", + "opcode" : 71, + "operands" : [ + { "kind" : "IdRef", "name" : "Target" }, + { "kind" : "Decoration" } + ], + "version": "1.0" + }, + { + "opname" : "OpMemberDecorate", + "class" : "Annotation", + "opcode" : 72, + "operands" : [ + { "kind" : "IdRef", "name" : "Structure Type" }, + { "kind" : "LiteralInteger", "name" : "Member" }, + { "kind" : "Decoration" } + ], + "version": "1.0" + }, + { + "opname" : "OpDecorationGroup", + "class" : "Annotation", + "opcode" : 73, + "operands" : [ + { "kind" : "IdResult" } + ], + "version": "1.0" + }, + { + "opname" : "OpGroupDecorate", + "class" : "Annotation", + "opcode" : 74, + "operands" : [ + { "kind" : "IdRef", "name" : "Decoration Group" }, + { "kind" : "IdRef", "quantifier" : "*", "name" : "Targets" } + ], + "version": "1.0" + }, + { + "opname" : "OpGroupMemberDecorate", + "class" : "Annotation", + "opcode" : 75, + "operands" : [ + { "kind" : "IdRef", "name" : "Decoration Group" }, + { "kind" : "PairIdRefLiteralInteger", "quantifier" : "*", "name" : "Targets" } + ], + "version": "1.0" + }, + { + "opname" : "OpVectorExtractDynamic", + "class" : "Composite", + "opcode" : 77, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Vector" }, + { "kind" : "IdRef", "name" : "Index" } + ], + "version": "1.0" + }, + { + "opname" : "OpVectorInsertDynamic", + "class" : "Composite", + "opcode" : 78, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Vector" }, + { "kind" : "IdRef", "name" : "Component" }, + { "kind" : "IdRef", "name" : "Index" } + ], + "version": "1.0" + }, + { + "opname" : "OpVectorShuffle", + "class" : "Composite", + "opcode" : 79, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Vector 1" }, + { "kind" : "IdRef", "name" : "Vector 2" }, + { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "Components" } + ], + "version": "1.0" + }, + { + "opname" : "OpCompositeConstruct", + "class" : "Composite", + "opcode" : 80, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "quantifier" : "*", "name" : "Constituents" } + ], + "version": "1.0" + }, + { + "opname" : "OpCompositeExtract", + "class" : "Composite", + "opcode" : 81, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Composite" }, + { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "Indexes" } + ], + "version": "1.0" + }, + { + "opname" : "OpCompositeInsert", + "class" : "Composite", + "opcode" : 82, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Object" }, + { "kind" : "IdRef", "name" : "Composite" }, + { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "Indexes" } + ], + "version": "1.0" + }, + { + "opname" : "OpCopyObject", + "class" : "Composite", + "opcode" : 83, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand" } + ], + "version": "1.0" + }, + { + "opname" : "OpTranspose", + "class" : "Composite", + "opcode" : 84, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Matrix" } + ], + "capabilities" : [ "Matrix" ], + "version": "1.0" + }, + { + "opname" : "OpSampledImage", + "class" : "Image", + "opcode" : 86, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Image" }, + { "kind" : "IdRef", "name" : "Sampler" } + ], + "version": "1.0" + }, + { + "opname" : "OpImageSampleImplicitLod", + "class" : "Image", + "opcode" : 87, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Sampled Image" }, + { "kind" : "IdRef", "name" : "Coordinate" }, + { "kind" : "ImageOperands", "quantifier" : "?" } + ], + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "opname" : "OpImageSampleExplicitLod", + "class" : "Image", + "opcode" : 88, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Sampled Image" }, + { "kind" : "IdRef", "name" : "Coordinate" }, + { "kind" : "ImageOperands" } + ], + "version": "1.0" + }, + { + "opname" : "OpImageSampleDrefImplicitLod", + "class" : "Image", + "opcode" : 89, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Sampled Image" }, + { "kind" : "IdRef", "name" : "Coordinate" }, + { "kind" : "IdRef", "name" : "D~ref~" }, + { "kind" : "ImageOperands", "quantifier" : "?" } + ], + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "opname" : "OpImageSampleDrefExplicitLod", + "class" : "Image", + "opcode" : 90, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Sampled Image" }, + { "kind" : "IdRef", "name" : "Coordinate" }, + { "kind" : "IdRef", "name" : "D~ref~" }, + { "kind" : "ImageOperands" } + ], + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "opname" : "OpImageSampleProjImplicitLod", + "class" : "Image", + "opcode" : 91, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Sampled Image" }, + { "kind" : "IdRef", "name" : "Coordinate" }, + { "kind" : "ImageOperands", "quantifier" : "?" } + ], + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "opname" : "OpImageSampleProjExplicitLod", + "class" : "Image", + "opcode" : 92, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Sampled Image" }, + { "kind" : "IdRef", "name" : "Coordinate" }, + { "kind" : "ImageOperands" } + ], + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "opname" : "OpImageSampleProjDrefImplicitLod", + "class" : "Image", + "opcode" : 93, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Sampled Image" }, + { "kind" : "IdRef", "name" : "Coordinate" }, + { "kind" : "IdRef", "name" : "D~ref~" }, + { "kind" : "ImageOperands", "quantifier" : "?" } + ], + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "opname" : "OpImageSampleProjDrefExplicitLod", + "class" : "Image", + "opcode" : 94, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Sampled Image" }, + { "kind" : "IdRef", "name" : "Coordinate" }, + { "kind" : "IdRef", "name" : "D~ref~" }, + { "kind" : "ImageOperands" } + ], + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "opname" : "OpImageFetch", + "class" : "Image", + "opcode" : 95, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Image" }, + { "kind" : "IdRef", "name" : "Coordinate" }, + { "kind" : "ImageOperands", "quantifier" : "?" } + ], + "version": "1.0" + }, + { + "opname" : "OpImageGather", + "class" : "Image", + "opcode" : 96, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Sampled Image" }, + { "kind" : "IdRef", "name" : "Coordinate" }, + { "kind" : "IdRef", "name" : "Component" }, + { "kind" : "ImageOperands", "quantifier" : "?" } + ], + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "opname" : "OpImageDrefGather", + "class" : "Image", + "opcode" : 97, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Sampled Image" }, + { "kind" : "IdRef", "name" : "Coordinate" }, + { "kind" : "IdRef", "name" : "D~ref~" }, + { "kind" : "ImageOperands", "quantifier" : "?" } + ], + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "opname" : "OpImageRead", + "class" : "Image", + "opcode" : 98, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Image" }, + { "kind" : "IdRef", "name" : "Coordinate" }, + { "kind" : "ImageOperands", "quantifier" : "?" } + ], + "version": "1.0" + }, + { + "opname" : "OpImageWrite", + "class" : "Image", + "opcode" : 99, + "operands" : [ + { "kind" : "IdRef", "name" : "Image" }, + { "kind" : "IdRef", "name" : "Coordinate" }, + { "kind" : "IdRef", "name" : "Texel" }, + { "kind" : "ImageOperands", "quantifier" : "?" } + ], + "version": "1.0" + }, + { + "opname" : "OpImage", + "class" : "Image", + "opcode" : 100, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Sampled Image" } + ], + "version": "1.0" + }, + { + "opname" : "OpImageQueryFormat", + "class" : "Image", + "opcode" : 101, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Image" } + ], + "capabilities" : [ "Kernel" ], + "version": "1.0" + }, + { + "opname" : "OpImageQueryOrder", + "class" : "Image", + "opcode" : 102, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Image" } + ], + "capabilities" : [ "Kernel" ], + "version": "1.0" + }, + { + "opname" : "OpImageQuerySizeLod", + "class" : "Image", + "opcode" : 103, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Image" }, + { "kind" : "IdRef", "name" : "Level of Detail" } + ], + "capabilities" : [ "Kernel", "ImageQuery" ], + "version": "1.0" + }, + { + "opname" : "OpImageQuerySize", + "class" : "Image", + "opcode" : 104, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Image" } + ], + "capabilities" : [ "Kernel", "ImageQuery" ], + "version": "1.0" + }, + { + "opname" : "OpImageQueryLod", + "class" : "Image", + "opcode" : 105, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Sampled Image" }, + { "kind" : "IdRef", "name" : "Coordinate" } + ], + "capabilities" : [ "ImageQuery" ], + "version": "1.0" + }, + { + "opname" : "OpImageQueryLevels", + "class" : "Image", + "opcode" : 106, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Image" } + ], + "capabilities" : [ "Kernel", "ImageQuery" ], + "version": "1.0" + }, + { + "opname" : "OpImageQuerySamples", + "class" : "Image", + "opcode" : 107, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Image" } + ], + "capabilities" : [ "Kernel", "ImageQuery" ], + "version": "1.0" + }, + { + "opname" : "OpConvertFToU", + "class" : "Conversion", + "opcode" : 109, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Float Value" } + ], + "version": "1.0" + }, + { + "opname" : "OpConvertFToS", + "class" : "Conversion", + "opcode" : 110, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Float Value" } + ], + "version": "1.0" + }, + { + "opname" : "OpConvertSToF", + "class" : "Conversion", + "opcode" : 111, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Signed Value" } + ], + "version": "1.0" + }, + { + "opname" : "OpConvertUToF", + "class" : "Conversion", + "opcode" : 112, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Unsigned Value" } + ], + "version": "1.0" + }, + { + "opname" : "OpUConvert", + "class" : "Conversion", + "opcode" : 113, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Unsigned Value" } + ], + "version": "1.0" + }, + { + "opname" : "OpSConvert", + "class" : "Conversion", + "opcode" : 114, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Signed Value" } + ], + "version": "1.0" + }, + { + "opname" : "OpFConvert", + "class" : "Conversion", + "opcode" : 115, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Float Value" } + ], + "version": "1.0" + }, + { + "opname" : "OpQuantizeToF16", + "class" : "Conversion", + "opcode" : 116, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Value" } + ], + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "opname" : "OpConvertPtrToU", + "class" : "Conversion", + "opcode" : 117, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Pointer" } + ], + "capabilities" : [ + "Addresses", + "PhysicalStorageBufferAddresses" + ], + "version": "1.0" + }, + { + "opname" : "OpSatConvertSToU", + "class" : "Conversion", + "opcode" : 118, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Signed Value" } + ], + "capabilities" : [ "Kernel" ], + "version": "1.0" + }, + { + "opname" : "OpSatConvertUToS", + "class" : "Conversion", + "opcode" : 119, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Unsigned Value" } + ], + "capabilities" : [ "Kernel" ], + "version": "1.0" + }, + { + "opname" : "OpConvertUToPtr", + "class" : "Conversion", + "opcode" : 120, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Integer Value" } + ], + "capabilities" : [ + "Addresses", + "PhysicalStorageBufferAddresses" + ], + "version": "1.0" + }, + { + "opname" : "OpPtrCastToGeneric", + "class" : "Conversion", + "opcode" : 121, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Pointer" } + ], + "capabilities" : [ "Kernel" ], + "version": "1.0" + }, + { + "opname" : "OpGenericCastToPtr", + "class" : "Conversion", + "opcode" : 122, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Pointer" } + ], + "capabilities" : [ "Kernel" ], + "version": "1.0" + }, + { + "opname" : "OpGenericCastToPtrExplicit", + "class" : "Conversion", + "opcode" : 123, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Pointer" }, + { "kind" : "StorageClass", "name" : "Storage" } + ], + "capabilities" : [ "Kernel" ], + "version": "1.0" + }, + { + "opname" : "OpBitcast", + "class" : "Conversion", + "opcode" : 124, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand" } + ], + "version": "1.0" + }, + { + "opname" : "OpSNegate", + "class" : "Arithmetic", + "opcode" : 126, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand" } + ], + "version": "1.0" + }, + { + "opname" : "OpFNegate", + "class" : "Arithmetic", + "opcode" : 127, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand" } + ], + "version": "1.0" + }, + { + "opname" : "OpIAdd", + "class" : "Arithmetic", + "opcode" : 128, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "version": "1.0" + }, + { + "opname" : "OpFAdd", + "class" : "Arithmetic", + "opcode" : 129, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "version": "1.0" + }, + { + "opname" : "OpISub", + "class" : "Arithmetic", + "opcode" : 130, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "version": "1.0" + }, + { + "opname" : "OpFSub", + "class" : "Arithmetic", + "opcode" : 131, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "version": "1.0" + }, + { + "opname" : "OpIMul", + "class" : "Arithmetic", + "opcode" : 132, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "version": "1.0" + }, + { + "opname" : "OpFMul", + "class" : "Arithmetic", + "opcode" : 133, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "version": "1.0" + }, + { + "opname" : "OpUDiv", + "class" : "Arithmetic", + "opcode" : 134, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "version": "1.0" + }, + { + "opname" : "OpSDiv", + "class" : "Arithmetic", + "opcode" : 135, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "version": "1.0" + }, + { + "opname" : "OpFDiv", + "class" : "Arithmetic", + "opcode" : 136, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "version": "1.0" + }, + { + "opname" : "OpUMod", + "class" : "Arithmetic", + "opcode" : 137, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "version": "1.0" + }, + { + "opname" : "OpSRem", + "class" : "Arithmetic", + "opcode" : 138, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "version": "1.0" + }, + { + "opname" : "OpSMod", + "class" : "Arithmetic", + "opcode" : 139, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "version": "1.0" + }, + { + "opname" : "OpFRem", + "class" : "Arithmetic", + "opcode" : 140, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "version": "1.0" + }, + { + "opname" : "OpFMod", + "class" : "Arithmetic", + "opcode" : 141, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "version": "1.0" + }, + { + "opname" : "OpVectorTimesScalar", + "class" : "Arithmetic", + "opcode" : 142, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Vector" }, + { "kind" : "IdRef", "name" : "Scalar" } + ], + "version": "1.0" + }, + { + "opname" : "OpMatrixTimesScalar", + "class" : "Arithmetic", + "opcode" : 143, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Matrix" }, + { "kind" : "IdRef", "name" : "Scalar" } + ], + "capabilities" : [ "Matrix" ], + "version": "1.0" + }, + { + "opname" : "OpVectorTimesMatrix", + "class" : "Arithmetic", + "opcode" : 144, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Vector" }, + { "kind" : "IdRef", "name" : "Matrix" } + ], + "capabilities" : [ "Matrix" ], + "version": "1.0" + }, + { + "opname" : "OpMatrixTimesVector", + "class" : "Arithmetic", + "opcode" : 145, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Matrix" }, + { "kind" : "IdRef", "name" : "Vector" } + ], + "capabilities" : [ "Matrix" ], + "version": "1.0" + }, + { + "opname" : "OpMatrixTimesMatrix", + "class" : "Arithmetic", + "opcode" : 146, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "LeftMatrix" }, + { "kind" : "IdRef", "name" : "RightMatrix" } + ], + "capabilities" : [ "Matrix" ], + "version": "1.0" + }, + { + "opname" : "OpOuterProduct", + "class" : "Arithmetic", + "opcode" : 147, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Vector 1" }, + { "kind" : "IdRef", "name" : "Vector 2" } + ], + "capabilities" : [ "Matrix" ], + "version": "1.0" + }, + { + "opname" : "OpDot", + "class" : "Arithmetic", + "opcode" : 148, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Vector 1" }, + { "kind" : "IdRef", "name" : "Vector 2" } + ], + "version": "1.0" + }, + { + "opname" : "OpIAddCarry", + "class" : "Arithmetic", + "opcode" : 149, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "version": "1.0" + }, + { + "opname" : "OpISubBorrow", + "class" : "Arithmetic", + "opcode" : 150, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "version": "1.0" + }, + { + "opname" : "OpUMulExtended", + "class" : "Arithmetic", + "opcode" : 151, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "version": "1.0" + }, + { + "opname" : "OpSMulExtended", + "class" : "Arithmetic", + "opcode" : 152, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "version": "1.0" + }, + { + "opname" : "OpAny", + "class" : "Relational_and_Logical", + "opcode" : 154, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Vector" } + ], + "version": "1.0" + }, + { + "opname" : "OpAll", + "class" : "Relational_and_Logical", + "opcode" : 155, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Vector" } + ], + "version": "1.0" + }, + { + "opname" : "OpIsNan", + "class" : "Relational_and_Logical", + "opcode" : 156, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "x" } + ], + "version": "1.0" + }, + { + "opname" : "OpIsInf", + "class" : "Relational_and_Logical", + "opcode" : 157, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "x" } + ], + "version": "1.0" + }, + { + "opname" : "OpIsFinite", + "class" : "Relational_and_Logical", + "opcode" : 158, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "x" } + ], + "capabilities" : [ "Kernel" ], + "version": "1.0" + }, + { + "opname" : "OpIsNormal", + "class" : "Relational_and_Logical", + "opcode" : 159, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "x" } + ], + "capabilities" : [ "Kernel" ], + "version": "1.0" + }, + { + "opname" : "OpSignBitSet", + "class" : "Relational_and_Logical", + "opcode" : 160, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "x" } + ], + "capabilities" : [ "Kernel" ], + "version": "1.0" + }, + { + "opname" : "OpLessOrGreater", + "class" : "Relational_and_Logical", + "opcode" : 161, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "x" }, + { "kind" : "IdRef", "name" : "y" } + ], + "capabilities" : [ "Kernel" ], + "version" : "1.0", + "lastVersion" : "1.5" + }, + { + "opname" : "OpOrdered", + "class" : "Relational_and_Logical", + "opcode" : 162, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "x" }, + { "kind" : "IdRef", "name" : "y" } + ], + "capabilities" : [ "Kernel" ], + "version": "1.0" + }, + { + "opname" : "OpUnordered", + "class" : "Relational_and_Logical", + "opcode" : 163, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "x" }, + { "kind" : "IdRef", "name" : "y" } + ], + "capabilities" : [ "Kernel" ], + "version": "1.0" + }, + { + "opname" : "OpLogicalEqual", + "class" : "Relational_and_Logical", + "opcode" : 164, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "version": "1.0" + }, + { + "opname" : "OpLogicalNotEqual", + "class" : "Relational_and_Logical", + "opcode" : 165, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "version": "1.0" + }, + { + "opname" : "OpLogicalOr", + "class" : "Relational_and_Logical", + "opcode" : 166, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "version": "1.0" + }, + { + "opname" : "OpLogicalAnd", + "class" : "Relational_and_Logical", + "opcode" : 167, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "version" : "1.0" + }, + { + "opname" : "OpLogicalNot", + "class" : "Relational_and_Logical", + "opcode" : 168, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand" } + ], + "version": "1.0" + }, + { + "opname" : "OpSelect", + "class" : "Relational_and_Logical", + "opcode" : 169, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Condition" }, + { "kind" : "IdRef", "name" : "Object 1" }, + { "kind" : "IdRef", "name" : "Object 2" } + ], + "version": "1.0" + }, + { + "opname" : "OpIEqual", + "class" : "Relational_and_Logical", + "opcode" : 170, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "version": "1.0" + }, + { + "opname" : "OpINotEqual", + "class" : "Relational_and_Logical", + "opcode" : 171, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "version": "1.0" + }, + { + "opname" : "OpUGreaterThan", + "class" : "Relational_and_Logical", + "opcode" : 172, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "version": "1.0" + }, + { + "opname" : "OpSGreaterThan", + "class" : "Relational_and_Logical", + "opcode" : 173, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "version": "1.0" + }, + { + "opname" : "OpUGreaterThanEqual", + "class" : "Relational_and_Logical", + "opcode" : 174, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "version": "1.0" + }, + { + "opname" : "OpSGreaterThanEqual", + "class" : "Relational_and_Logical", + "opcode" : 175, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "version": "1.0" + }, + { + "opname" : "OpULessThan", + "class" : "Relational_and_Logical", + "opcode" : 176, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "version": "1.0" + }, + { + "opname" : "OpSLessThan", + "class" : "Relational_and_Logical", + "opcode" : 177, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "version": "1.0" + }, + { + "opname" : "OpULessThanEqual", + "class" : "Relational_and_Logical", + "opcode" : 178, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "version": "1.0" + }, + { + "opname" : "OpSLessThanEqual", + "class" : "Relational_and_Logical", + "opcode" : 179, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "version": "1.0" + }, + { + "opname" : "OpFOrdEqual", + "class" : "Relational_and_Logical", + "opcode" : 180, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "version": "1.0" + }, + { + "opname" : "OpFUnordEqual", + "class" : "Relational_and_Logical", + "opcode" : 181, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "version": "1.0" + }, + { + "opname" : "OpFOrdNotEqual", + "class" : "Relational_and_Logical", + "opcode" : 182, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "version": "1.0" + }, + { + "opname" : "OpFUnordNotEqual", + "class" : "Relational_and_Logical", + "opcode" : 183, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "version": "1.0" + }, + { + "opname" : "OpFOrdLessThan", + "class" : "Relational_and_Logical", + "opcode" : 184, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "version": "1.0" + }, + { + "opname" : "OpFUnordLessThan", + "class" : "Relational_and_Logical", + "opcode" : 185, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "version": "1.0" + }, + { + "opname" : "OpFOrdGreaterThan", + "class" : "Relational_and_Logical", + "opcode" : 186, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "version": "1.0" + }, + { + "opname" : "OpFUnordGreaterThan", + "class" : "Relational_and_Logical", + "opcode" : 187, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "version": "1.0" + }, + { + "opname" : "OpFOrdLessThanEqual", + "class" : "Relational_and_Logical", + "opcode" : 188, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "version": "1.0" + }, + { + "opname" : "OpFUnordLessThanEqual", + "class" : "Relational_and_Logical", + "opcode" : 189, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "version": "1.0" + }, + { + "opname" : "OpFOrdGreaterThanEqual", + "class" : "Relational_and_Logical", + "opcode" : 190, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "version": "1.0" + }, + { + "opname" : "OpFUnordGreaterThanEqual", + "class" : "Relational_and_Logical", + "opcode" : 191, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "version": "1.0" + }, + { + "opname" : "OpShiftRightLogical", + "class" : "Bit", + "opcode" : 194, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Base" }, + { "kind" : "IdRef", "name" : "Shift" } + ], + "version": "1.0" + }, + { + "opname" : "OpShiftRightArithmetic", + "class" : "Bit", + "opcode" : 195, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Base" }, + { "kind" : "IdRef", "name" : "Shift" } + ], + "version": "1.0" + }, + { + "opname" : "OpShiftLeftLogical", + "class" : "Bit", + "opcode" : 196, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Base" }, + { "kind" : "IdRef", "name" : "Shift" } + ], + "version": "1.0" + }, + { + "opname" : "OpBitwiseOr", + "class" : "Bit", + "opcode" : 197, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "version": "1.0" + }, + { + "opname" : "OpBitwiseXor", + "class" : "Bit", + "opcode" : 198, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "version": "1.0" + }, + { + "opname" : "OpBitwiseAnd", + "class" : "Bit", + "opcode" : 199, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "version": "1.0" + }, + { + "opname" : "OpNot", + "class" : "Bit", + "opcode" : 200, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand" } + ], + "version": "1.0" + }, + { + "opname" : "OpBitFieldInsert", + "class" : "Bit", + "opcode" : 201, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Base" }, + { "kind" : "IdRef", "name" : "Insert" }, + { "kind" : "IdRef", "name" : "Offset" }, + { "kind" : "IdRef", "name" : "Count" } + ], + "capabilities" : [ "Shader", "BitInstructions" ], + "version": "1.0" + }, + { + "opname" : "OpBitFieldSExtract", + "class" : "Bit", + "opcode" : 202, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Base" }, + { "kind" : "IdRef", "name" : "Offset" }, + { "kind" : "IdRef", "name" : "Count" } + ], + "capabilities" : [ "Shader", "BitInstructions" ], + "version": "1.0" + }, + { + "opname" : "OpBitFieldUExtract", + "class" : "Bit", + "opcode" : 203, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Base" }, + { "kind" : "IdRef", "name" : "Offset" }, + { "kind" : "IdRef", "name" : "Count" } + ], + "capabilities" : [ "Shader", "BitInstructions" ], + "version": "1.0" + }, + { + "opname" : "OpBitReverse", + "class" : "Bit", + "opcode" : 204, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Base" } + ], + "capabilities" : [ "Shader", "BitInstructions" ], + "version": "1.0" + }, + { + "opname" : "OpBitCount", + "class" : "Bit", + "opcode" : 205, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Base" } + ], + "version": "1.0" + }, + { + "opname" : "OpDPdx", + "class" : "Derivative", + "opcode" : 207, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "P" } + ], + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "opname" : "OpDPdy", + "class" : "Derivative", + "opcode" : 208, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "P" } + ], + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "opname" : "OpFwidth", + "class" : "Derivative", + "opcode" : 209, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "P" } + ], + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "opname" : "OpDPdxFine", + "class" : "Derivative", + "opcode" : 210, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "P" } + ], + "capabilities" : [ "DerivativeControl" ], + "version": "1.0" + }, + { + "opname" : "OpDPdyFine", + "class" : "Derivative", + "opcode" : 211, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "P" } + ], + "capabilities" : [ "DerivativeControl" ], + "version": "1.0" + }, + { + "opname" : "OpFwidthFine", + "class" : "Derivative", + "opcode" : 212, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "P" } + ], + "capabilities" : [ "DerivativeControl" ], + "version": "1.0" + }, + { + "opname" : "OpDPdxCoarse", + "class" : "Derivative", + "opcode" : 213, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "P" } + ], + "capabilities" : [ "DerivativeControl" ], + "version": "1.0" + }, + { + "opname" : "OpDPdyCoarse", + "class" : "Derivative", + "opcode" : 214, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "P" } + ], + "capabilities" : [ "DerivativeControl" ], + "version": "1.0" + }, + { + "opname" : "OpFwidthCoarse", + "class" : "Derivative", + "opcode" : 215, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "P" } + ], + "capabilities" : [ "DerivativeControl" ], + "version": "1.0" + }, + { + "opname" : "OpEmitVertex", + "class" : "Primitive", + "opcode" : 218, + "capabilities" : [ "Geometry" ], + "version": "1.0" + }, + { + "opname" : "OpEndPrimitive", + "class" : "Primitive", + "opcode" : 219, + "capabilities" : [ "Geometry" ], + "version": "1.0" + }, + { + "opname" : "OpEmitStreamVertex", + "class" : "Primitive", + "opcode" : 220, + "operands" : [ + { "kind" : "IdRef", "name" : "Stream" } + ], + "capabilities" : [ "GeometryStreams" ], + "version": "1.0" + }, + { + "opname" : "OpEndStreamPrimitive", + "class" : "Primitive", + "opcode" : 221, + "operands" : [ + { "kind" : "IdRef", "name" : "Stream" } + ], + "capabilities" : [ "GeometryStreams" ], + "version": "1.0" + }, + { + "opname" : "OpControlBarrier", + "class" : "Barrier", + "opcode" : 224, + "operands" : [ + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "IdScope", "name" : "Memory" }, + { "kind" : "IdMemorySemantics", "name" : "Semantics" } + ], + "version": "1.0" + }, + { + "opname" : "OpMemoryBarrier", + "class" : "Barrier", + "opcode" : 225, + "operands" : [ + { "kind" : "IdScope", "name" : "Memory" }, + { "kind" : "IdMemorySemantics", "name" : "Semantics" } + ], + "version": "1.0" + }, + { + "opname" : "OpAtomicLoad", + "class" : "Atomic", + "opcode" : 227, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Pointer" }, + { "kind" : "IdScope", "name" : "Memory" }, + { "kind" : "IdMemorySemantics", "name" : "Semantics" } + ], + "version": "1.0" + }, + { + "opname" : "OpAtomicStore", + "class" : "Atomic", + "opcode" : 228, + "operands" : [ + { "kind" : "IdRef", "name" : "Pointer" }, + { "kind" : "IdScope", "name" : "Memory" }, + { "kind" : "IdMemorySemantics", "name" : "Semantics" }, + { "kind" : "IdRef", "name" : "Value" } + ], + "version": "1.0" + }, + { + "opname" : "OpAtomicExchange", + "class" : "Atomic", + "opcode" : 229, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Pointer" }, + { "kind" : "IdScope", "name" : "Memory" }, + { "kind" : "IdMemorySemantics", "name" : "Semantics" }, + { "kind" : "IdRef", "name" : "Value" } + ], + "version": "1.0" + }, + { + "opname" : "OpAtomicCompareExchange", + "class" : "Atomic", + "opcode" : 230, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Pointer" }, + { "kind" : "IdScope", "name" : "Memory" }, + { "kind" : "IdMemorySemantics", "name" : "Equal" }, + { "kind" : "IdMemorySemantics", "name" : "Unequal" }, + { "kind" : "IdRef", "name" : "Value" }, + { "kind" : "IdRef", "name" : "Comparator" } + ], + "version": "1.0" + }, + { + "opname" : "OpAtomicCompareExchangeWeak", + "class" : "Atomic", + "opcode" : 231, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Pointer" }, + { "kind" : "IdScope", "name" : "Memory" }, + { "kind" : "IdMemorySemantics", "name" : "Equal" }, + { "kind" : "IdMemorySemantics", "name" : "Unequal" }, + { "kind" : "IdRef", "name" : "Value" }, + { "kind" : "IdRef", "name" : "Comparator" } + ], + "capabilities" : [ "Kernel" ], + "version" : "1.0", + "lastVersion" : "1.3" + }, + { + "opname" : "OpAtomicIIncrement", + "class" : "Atomic", + "opcode" : 232, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Pointer" }, + { "kind" : "IdScope", "name" : "Memory" }, + { "kind" : "IdMemorySemantics", "name" : "Semantics" } + ], + "version": "1.0" + }, + { + "opname" : "OpAtomicIDecrement", + "class" : "Atomic", + "opcode" : 233, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Pointer" }, + { "kind" : "IdScope", "name" : "Memory" }, + { "kind" : "IdMemorySemantics", "name" : "Semantics" } + ], + "version": "1.0" + }, + { + "opname" : "OpAtomicIAdd", + "class" : "Atomic", + "opcode" : 234, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Pointer" }, + { "kind" : "IdScope", "name" : "Memory" }, + { "kind" : "IdMemorySemantics", "name" : "Semantics" }, + { "kind" : "IdRef", "name" : "Value" } + ], + "version": "1.0" + }, + { + "opname" : "OpAtomicISub", + "class" : "Atomic", + "opcode" : 235, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Pointer" }, + { "kind" : "IdScope", "name" : "Memory" }, + { "kind" : "IdMemorySemantics", "name" : "Semantics" }, + { "kind" : "IdRef", "name" : "Value" } + ], + "version": "1.0" + }, + { + "opname" : "OpAtomicSMin", + "class" : "Atomic", + "opcode" : 236, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Pointer" }, + { "kind" : "IdScope", "name" : "Memory" }, + { "kind" : "IdMemorySemantics", "name" : "Semantics" }, + { "kind" : "IdRef", "name" : "Value" } + ], + "version": "1.0" + }, + { + "opname" : "OpAtomicUMin", + "class" : "Atomic", + "opcode" : 237, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Pointer" }, + { "kind" : "IdScope", "name" : "Memory" }, + { "kind" : "IdMemorySemantics", "name" : "Semantics" }, + { "kind" : "IdRef", "name" : "Value" } + ], + "version": "1.0" + }, + { + "opname" : "OpAtomicSMax", + "class" : "Atomic", + "opcode" : 238, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Pointer" }, + { "kind" : "IdScope", "name" : "Memory" }, + { "kind" : "IdMemorySemantics", "name" : "Semantics" }, + { "kind" : "IdRef", "name" : "Value" } + ], + "version": "1.0" + }, + { + "opname" : "OpAtomicUMax", + "class" : "Atomic", + "opcode" : 239, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Pointer" }, + { "kind" : "IdScope", "name" : "Memory" }, + { "kind" : "IdMemorySemantics", "name" : "Semantics" }, + { "kind" : "IdRef", "name" : "Value" } + ], + "version": "1.0" + }, + { + "opname" : "OpAtomicAnd", + "class" : "Atomic", + "opcode" : 240, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Pointer" }, + { "kind" : "IdScope", "name" : "Memory" }, + { "kind" : "IdMemorySemantics", "name" : "Semantics" }, + { "kind" : "IdRef", "name" : "Value" } + ], + "version": "1.0" + }, + { + "opname" : "OpAtomicOr", + "class" : "Atomic", + "opcode" : 241, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Pointer" }, + { "kind" : "IdScope", "name" : "Memory" }, + { "kind" : "IdMemorySemantics", "name" : "Semantics" }, + { "kind" : "IdRef", "name" : "Value" } + ], + "version": "1.0" + }, + { + "opname" : "OpAtomicXor", + "class" : "Atomic", + "opcode" : 242, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Pointer" }, + { "kind" : "IdScope", "name" : "Memory" }, + { "kind" : "IdMemorySemantics", "name" : "Semantics" }, + { "kind" : "IdRef", "name" : "Value" } + ], + "version": "1.0" + }, + { + "opname" : "OpPhi", + "class" : "Control-Flow", + "opcode" : 245, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "PairIdRefIdRef", "quantifier" : "*", "name" : "Variable, Parent, ..." } + ], + "version": "1.0" + }, + { + "opname" : "OpLoopMerge", + "class" : "Control-Flow", + "opcode" : 246, + "operands" : [ + { "kind" : "IdRef", "name" : "Merge Block" }, + { "kind" : "IdRef", "name" : "Continue Target" }, + { "kind" : "LoopControl" } + ], + "version": "1.0" + }, + { + "opname" : "OpSelectionMerge", + "class" : "Control-Flow", + "opcode" : 247, + "operands" : [ + { "kind" : "IdRef", "name" : "Merge Block" }, + { "kind" : "SelectionControl" } + ], + "version": "1.0" + }, + { + "opname" : "OpLabel", + "class" : "Control-Flow", + "opcode" : 248, + "operands" : [ + { "kind" : "IdResult" } + ], + "version": "1.0" + }, + { + "opname" : "OpBranch", + "class" : "Control-Flow", + "opcode" : 249, + "operands" : [ + { "kind" : "IdRef", "name" : "Target Label" } + ], + "version": "1.0" + }, + { + "opname" : "OpBranchConditional", + "class" : "Control-Flow", + "opcode" : 250, + "operands" : [ + { "kind" : "IdRef", "name" : "Condition" }, + { "kind" : "IdRef", "name" : "True Label" }, + { "kind" : "IdRef", "name" : "False Label" }, + { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "Branch weights" } + ], + "version": "1.0" + }, + { + "opname" : "OpSwitch", + "class" : "Control-Flow", + "opcode" : 251, + "operands" : [ + { "kind" : "IdRef", "name" : "Selector" }, + { "kind" : "IdRef", "name" : "Default" }, + { "kind" : "PairLiteralIntegerIdRef", "quantifier" : "*", "name" : "Target" } + ], + "version": "1.0" + }, + { + "opname" : "OpKill", + "class" : "Control-Flow", + "opcode" : 252, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "opname" : "OpReturn", + "class" : "Control-Flow", + "opcode" : 253, + "version" : "1.0" + }, + { + "opname" : "OpReturnValue", + "class" : "Control-Flow", + "opcode" : 254, + "operands" : [ + { "kind" : "IdRef", "name" : "Value" } + ], + "version": "1.0" + }, + { + "opname" : "OpUnreachable", + "class" : "Control-Flow", + "opcode" : 255, + "version" : "1.0" + }, + { + "opname" : "OpLifetimeStart", + "class" : "Control-Flow", + "opcode" : 256, + "operands" : [ + { "kind" : "IdRef", "name" : "Pointer" }, + { "kind" : "LiteralInteger", "name" : "Size" } + ], + "capabilities" : [ "Kernel" ], + "version": "1.0" + }, + { + "opname" : "OpLifetimeStop", + "class" : "Control-Flow", + "opcode" : 257, + "operands" : [ + { "kind" : "IdRef", "name" : "Pointer" }, + { "kind" : "LiteralInteger", "name" : "Size" } + ], + "capabilities" : [ "Kernel" ], + "version": "1.0" + }, + { + "opname" : "OpGroupAsyncCopy", + "class" : "Group", + "opcode" : 259, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "IdRef", "name" : "Destination" }, + { "kind" : "IdRef", "name" : "Source" }, + { "kind" : "IdRef", "name" : "Num Elements" }, + { "kind" : "IdRef", "name" : "Stride" }, + { "kind" : "IdRef", "name" : "Event" } + ], + "capabilities" : [ "Kernel" ], + "version": "1.0" + }, + { + "opname" : "OpGroupWaitEvents", + "class" : "Group", + "opcode" : 260, + "operands" : [ + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "IdRef", "name" : "Num Events" }, + { "kind" : "IdRef", "name" : "Events List" } + ], + "capabilities" : [ "Kernel" ], + "version": "1.0" + }, + { + "opname" : "OpGroupAll", + "class" : "Group", + "opcode" : 261, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "IdRef", "name" : "Predicate" } + ], + "capabilities" : [ "Groups" ], + "version": "1.0" + }, + { + "opname" : "OpGroupAny", + "class" : "Group", + "opcode" : 262, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "IdRef", "name" : "Predicate" } + ], + "capabilities" : [ "Groups" ], + "version": "1.0" + }, + { + "opname" : "OpGroupBroadcast", + "class" : "Group", + "opcode" : 263, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "IdRef", "name" : "Value" }, + { "kind" : "IdRef", "name" : "LocalId" } + ], + "capabilities" : [ "Groups" ], + "version": "1.0" + }, + { + "opname" : "OpGroupIAdd", + "class" : "Group", + "opcode" : 264, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "GroupOperation", "name" : "Operation" }, + { "kind" : "IdRef", "name" : "X" } + ], + "capabilities" : [ "Groups" ], + "version": "1.0" + }, + { + "opname" : "OpGroupFAdd", + "class" : "Group", + "opcode" : 265, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "GroupOperation", "name" : "Operation" }, + { "kind" : "IdRef", "name" : "X" } + ], + "capabilities" : [ "Groups" ], + "version": "1.0" + }, + { + "opname" : "OpGroupFMin", + "class" : "Group", + "opcode" : 266, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "GroupOperation", "name" : "Operation" }, + { "kind" : "IdRef", "name" : "X" } + ], + "capabilities" : [ "Groups" ], + "version": "1.0" + }, + { + "opname" : "OpGroupUMin", + "class" : "Group", + "opcode" : 267, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "GroupOperation", "name" : "Operation" }, + { "kind" : "IdRef", "name" : "X" } + ], + "capabilities" : [ "Groups" ], + "version": "1.0" + }, + { + "opname" : "OpGroupSMin", + "class" : "Group", + "opcode" : 268, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "GroupOperation", "name" : "Operation" }, + { "kind" : "IdRef", "name" : "X" } + ], + "capabilities" : [ "Groups" ], + "version": "1.0" + }, + { + "opname" : "OpGroupFMax", + "class" : "Group", + "opcode" : 269, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "GroupOperation", "name" : "Operation" }, + { "kind" : "IdRef", "name" : "X" } + ], + "capabilities" : [ "Groups" ], + "version": "1.0" + }, + { + "opname" : "OpGroupUMax", + "class" : "Group", + "opcode" : 270, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "GroupOperation", "name" : "Operation" }, + { "kind" : "IdRef", "name" : "X" } + ], + "capabilities" : [ "Groups" ], + "version": "1.0" + }, + { + "opname" : "OpGroupSMax", + "class" : "Group", + "opcode" : 271, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "GroupOperation", "name" : "Operation" }, + { "kind" : "IdRef", "name" : "X" } + ], + "capabilities" : [ "Groups" ], + "version": "1.0" + }, + { + "opname" : "OpReadPipe", + "class" : "Pipe", + "opcode" : 274, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Pipe" }, + { "kind" : "IdRef", "name" : "Pointer" }, + { "kind" : "IdRef", "name" : "Packet Size" }, + { "kind" : "IdRef", "name" : "Packet Alignment" } + ], + "capabilities" : [ "Pipes" ], + "version": "1.0" + }, + { + "opname" : "OpWritePipe", + "class" : "Pipe", + "opcode" : 275, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Pipe" }, + { "kind" : "IdRef", "name" : "Pointer" }, + { "kind" : "IdRef", "name" : "Packet Size" }, + { "kind" : "IdRef", "name" : "Packet Alignment" } + ], + "capabilities" : [ "Pipes" ], + "version": "1.0" + }, + { + "opname" : "OpReservedReadPipe", + "class" : "Pipe", + "opcode" : 276, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Pipe" }, + { "kind" : "IdRef", "name" : "Reserve Id" }, + { "kind" : "IdRef", "name" : "Index" }, + { "kind" : "IdRef", "name" : "Pointer" }, + { "kind" : "IdRef", "name" : "Packet Size" }, + { "kind" : "IdRef", "name" : "Packet Alignment" } + ], + "capabilities" : [ "Pipes" ], + "version": "1.0" + }, + { + "opname" : "OpReservedWritePipe", + "class" : "Pipe", + "opcode" : 277, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Pipe" }, + { "kind" : "IdRef", "name" : "Reserve Id" }, + { "kind" : "IdRef", "name" : "Index" }, + { "kind" : "IdRef", "name" : "Pointer" }, + { "kind" : "IdRef", "name" : "Packet Size" }, + { "kind" : "IdRef", "name" : "Packet Alignment" } + ], + "capabilities" : [ "Pipes" ], + "version": "1.0" + }, + { + "opname" : "OpReserveReadPipePackets", + "class" : "Pipe", + "opcode" : 278, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Pipe" }, + { "kind" : "IdRef", "name" : "Num Packets" }, + { "kind" : "IdRef", "name" : "Packet Size" }, + { "kind" : "IdRef", "name" : "Packet Alignment" } + ], + "capabilities" : [ "Pipes" ], + "version": "1.0" + }, + { + "opname" : "OpReserveWritePipePackets", + "class" : "Pipe", + "opcode" : 279, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Pipe" }, + { "kind" : "IdRef", "name" : "Num Packets" }, + { "kind" : "IdRef", "name" : "Packet Size" }, + { "kind" : "IdRef", "name" : "Packet Alignment" } + ], + "capabilities" : [ "Pipes" ], + "version": "1.0" + }, + { + "opname" : "OpCommitReadPipe", + "class" : "Pipe", + "opcode" : 280, + "operands" : [ + { "kind" : "IdRef", "name" : "Pipe" }, + { "kind" : "IdRef", "name" : "Reserve Id" }, + { "kind" : "IdRef", "name" : "Packet Size" }, + { "kind" : "IdRef", "name" : "Packet Alignment" } + ], + "capabilities" : [ "Pipes" ], + "version": "1.0" + }, + { + "opname" : "OpCommitWritePipe", + "class" : "Pipe", + "opcode" : 281, + "operands" : [ + { "kind" : "IdRef", "name" : "Pipe" }, + { "kind" : "IdRef", "name" : "Reserve Id" }, + { "kind" : "IdRef", "name" : "Packet Size" }, + { "kind" : "IdRef", "name" : "Packet Alignment" } + ], + "capabilities" : [ "Pipes" ], + "version": "1.0" + }, + { + "opname" : "OpIsValidReserveId", + "class" : "Pipe", + "opcode" : 282, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Reserve Id" } + ], + "capabilities" : [ "Pipes" ], + "version": "1.0" + }, + { + "opname" : "OpGetNumPipePackets", + "class" : "Pipe", + "opcode" : 283, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Pipe" }, + { "kind" : "IdRef", "name" : "Packet Size" }, + { "kind" : "IdRef", "name" : "Packet Alignment" } + ], + "capabilities" : [ "Pipes" ], + "version": "1.0" + }, + { + "opname" : "OpGetMaxPipePackets", + "class" : "Pipe", + "opcode" : 284, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Pipe" }, + { "kind" : "IdRef", "name" : "Packet Size" }, + { "kind" : "IdRef", "name" : "Packet Alignment" } + ], + "capabilities" : [ "Pipes" ], + "version": "1.0" + }, + { + "opname" : "OpGroupReserveReadPipePackets", + "class" : "Pipe", + "opcode" : 285, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "IdRef", "name" : "Pipe" }, + { "kind" : "IdRef", "name" : "Num Packets" }, + { "kind" : "IdRef", "name" : "Packet Size" }, + { "kind" : "IdRef", "name" : "Packet Alignment" } + ], + "capabilities" : [ "Pipes" ], + "version": "1.0" + }, + { + "opname" : "OpGroupReserveWritePipePackets", + "class" : "Pipe", + "opcode" : 286, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "IdRef", "name" : "Pipe" }, + { "kind" : "IdRef", "name" : "Num Packets" }, + { "kind" : "IdRef", "name" : "Packet Size" }, + { "kind" : "IdRef", "name" : "Packet Alignment" } + ], + "capabilities" : [ "Pipes" ], + "version": "1.0" + }, + { + "opname" : "OpGroupCommitReadPipe", + "class" : "Pipe", + "opcode" : 287, + "operands" : [ + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "IdRef", "name" : "Pipe" }, + { "kind" : "IdRef", "name" : "Reserve Id" }, + { "kind" : "IdRef", "name" : "Packet Size" }, + { "kind" : "IdRef", "name" : "Packet Alignment" } + ], + "capabilities" : [ "Pipes" ], + "version": "1.0" + }, + { + "opname" : "OpGroupCommitWritePipe", + "class" : "Pipe", + "opcode" : 288, + "operands" : [ + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "IdRef", "name" : "Pipe" }, + { "kind" : "IdRef", "name" : "Reserve Id" }, + { "kind" : "IdRef", "name" : "Packet Size" }, + { "kind" : "IdRef", "name" : "Packet Alignment" } + ], + "capabilities" : [ "Pipes" ], + "version": "1.0" + }, + { + "opname" : "OpEnqueueMarker", + "class" : "Device-Side_Enqueue", + "opcode" : 291, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Queue" }, + { "kind" : "IdRef", "name" : "Num Events" }, + { "kind" : "IdRef", "name" : "Wait Events" }, + { "kind" : "IdRef", "name" : "Ret Event" } + ], + "capabilities" : [ "DeviceEnqueue" ], + "version": "1.0" + }, + { + "opname" : "OpEnqueueKernel", + "class" : "Device-Side_Enqueue", + "opcode" : 292, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Queue" }, + { "kind" : "IdRef", "name" : "Flags" }, + { "kind" : "IdRef", "name" : "ND Range" }, + { "kind" : "IdRef", "name" : "Num Events" }, + { "kind" : "IdRef", "name" : "Wait Events" }, + { "kind" : "IdRef", "name" : "Ret Event" }, + { "kind" : "IdRef", "name" : "Invoke" }, + { "kind" : "IdRef", "name" : "Param" }, + { "kind" : "IdRef", "name" : "Param Size" }, + { "kind" : "IdRef", "name" : "Param Align" }, + { "kind" : "IdRef", "quantifier" : "*", "name" : "Local Size" } + ], + "capabilities" : [ "DeviceEnqueue" ], + "version": "1.0" + }, + { + "opname" : "OpGetKernelNDrangeSubGroupCount", + "class" : "Device-Side_Enqueue", + "opcode" : 293, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "ND Range" }, + { "kind" : "IdRef", "name" : "Invoke" }, + { "kind" : "IdRef", "name" : "Param" }, + { "kind" : "IdRef", "name" : "Param Size" }, + { "kind" : "IdRef", "name" : "Param Align" } + ], + "capabilities" : [ "DeviceEnqueue" ], + "version": "1.0" + }, + { + "opname" : "OpGetKernelNDrangeMaxSubGroupSize", + "class" : "Device-Side_Enqueue", + "opcode" : 294, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "ND Range" }, + { "kind" : "IdRef", "name" : "Invoke" }, + { "kind" : "IdRef", "name" : "Param" }, + { "kind" : "IdRef", "name" : "Param Size" }, + { "kind" : "IdRef", "name" : "Param Align" } + ], + "capabilities" : [ "DeviceEnqueue" ], + "version": "1.0" + }, + { + "opname" : "OpGetKernelWorkGroupSize", + "class" : "Device-Side_Enqueue", + "opcode" : 295, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Invoke" }, + { "kind" : "IdRef", "name" : "Param" }, + { "kind" : "IdRef", "name" : "Param Size" }, + { "kind" : "IdRef", "name" : "Param Align" } + ], + "capabilities" : [ "DeviceEnqueue" ], + "version": "1.0" + }, + { + "opname" : "OpGetKernelPreferredWorkGroupSizeMultiple", + "class" : "Device-Side_Enqueue", + "opcode" : 296, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Invoke" }, + { "kind" : "IdRef", "name" : "Param" }, + { "kind" : "IdRef", "name" : "Param Size" }, + { "kind" : "IdRef", "name" : "Param Align" } + ], + "capabilities" : [ "DeviceEnqueue" ], + "version": "1.0" + }, + { + "opname" : "OpRetainEvent", + "class" : "Device-Side_Enqueue", + "opcode" : 297, + "operands" : [ + { "kind" : "IdRef", "name" : "Event" } + ], + "capabilities" : [ "DeviceEnqueue" ], + "version": "1.0" + }, + { + "opname" : "OpReleaseEvent", + "class" : "Device-Side_Enqueue", + "opcode" : 298, + "operands" : [ + { "kind" : "IdRef", "name" : "Event" } + ], + "capabilities" : [ "DeviceEnqueue" ], + "version": "1.0" + }, + { + "opname" : "OpCreateUserEvent", + "class" : "Device-Side_Enqueue", + "opcode" : 299, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" } + ], + "capabilities" : [ "DeviceEnqueue" ], + "version": "1.0" + }, + { + "opname" : "OpIsValidEvent", + "class" : "Device-Side_Enqueue", + "opcode" : 300, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Event" } + ], + "capabilities" : [ "DeviceEnqueue" ], + "version": "1.0" + }, + { + "opname" : "OpSetUserEventStatus", + "class" : "Device-Side_Enqueue", + "opcode" : 301, + "operands" : [ + { "kind" : "IdRef", "name" : "Event" }, + { "kind" : "IdRef", "name" : "Status" } + ], + "capabilities" : [ "DeviceEnqueue" ], + "version": "1.0" + }, + { + "opname" : "OpCaptureEventProfilingInfo", + "class" : "Device-Side_Enqueue", + "opcode" : 302, + "operands" : [ + { "kind" : "IdRef", "name" : "Event" }, + { "kind" : "IdRef", "name" : "Profiling Info" }, + { "kind" : "IdRef", "name" : "Value" } + ], + "capabilities" : [ "DeviceEnqueue" ], + "version": "1.0" + }, + { + "opname" : "OpGetDefaultQueue", + "class" : "Device-Side_Enqueue", + "opcode" : 303, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" } + ], + "capabilities" : [ "DeviceEnqueue" ], + "version": "1.0" + }, + { + "opname" : "OpBuildNDRange", + "class" : "Device-Side_Enqueue", + "opcode" : 304, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "GlobalWorkSize" }, + { "kind" : "IdRef", "name" : "LocalWorkSize" }, + { "kind" : "IdRef", "name" : "GlobalWorkOffset" } + ], + "capabilities" : [ "DeviceEnqueue" ], + "version": "1.0" + }, + { + "opname" : "OpImageSparseSampleImplicitLod", + "class" : "Image", + "opcode" : 305, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Sampled Image" }, + { "kind" : "IdRef", "name" : "Coordinate" }, + { "kind" : "ImageOperands", "quantifier" : "?" } + ], + "capabilities" : [ "SparseResidency" ], + "version": "1.0" + }, + { + "opname" : "OpImageSparseSampleExplicitLod", + "class" : "Image", + "opcode" : 306, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Sampled Image" }, + { "kind" : "IdRef", "name" : "Coordinate" }, + { "kind" : "ImageOperands" } + ], + "capabilities" : [ "SparseResidency" ], + "version": "1.0" + }, + { + "opname" : "OpImageSparseSampleDrefImplicitLod", + "class" : "Image", + "opcode" : 307, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Sampled Image" }, + { "kind" : "IdRef", "name" : "Coordinate" }, + { "kind" : "IdRef", "name" : "D~ref~" }, + { "kind" : "ImageOperands", "quantifier" : "?" } + ], + "capabilities" : [ "SparseResidency" ], + "version": "1.0" + }, + { + "opname" : "OpImageSparseSampleDrefExplicitLod", + "class" : "Image", + "opcode" : 308, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Sampled Image" }, + { "kind" : "IdRef", "name" : "Coordinate" }, + { "kind" : "IdRef", "name" : "D~ref~" }, + { "kind" : "ImageOperands" } + ], + "capabilities" : [ "SparseResidency" ], + "version": "1.0" + }, + { + "opname" : "OpImageSparseSampleProjImplicitLod", + "class" : "Image", + "opcode" : 309, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Sampled Image" }, + { "kind" : "IdRef", "name" : "Coordinate" }, + { "kind" : "ImageOperands", "quantifier" : "?" } + ], + "capabilities" : [ "SparseResidency" ], + "version" : "None" + }, + { + "opname" : "OpImageSparseSampleProjExplicitLod", + "class" : "Image", + "opcode" : 310, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Sampled Image" }, + { "kind" : "IdRef", "name" : "Coordinate" }, + { "kind" : "ImageOperands" } + ], + "capabilities" : [ "SparseResidency" ], + "version" : "None" + }, + { + "opname" : "OpImageSparseSampleProjDrefImplicitLod", + "class" : "Image", + "opcode" : 311, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Sampled Image" }, + { "kind" : "IdRef", "name" : "Coordinate" }, + { "kind" : "IdRef", "name" : "D~ref~" }, + { "kind" : "ImageOperands", "quantifier" : "?" } + ], + "capabilities" : [ "SparseResidency" ], + "version" : "None" + }, + { + "opname" : "OpImageSparseSampleProjDrefExplicitLod", + "class" : "Image", + "opcode" : 312, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Sampled Image" }, + { "kind" : "IdRef", "name" : "Coordinate" }, + { "kind" : "IdRef", "name" : "D~ref~" }, + { "kind" : "ImageOperands" } + ], + "capabilities" : [ "SparseResidency" ], + "version" : "None" + }, + { + "opname" : "OpImageSparseFetch", + "class" : "Image", + "opcode" : 313, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Image" }, + { "kind" : "IdRef", "name" : "Coordinate" }, + { "kind" : "ImageOperands", "quantifier" : "?" } + ], + "capabilities" : [ "SparseResidency" ], + "version": "1.0" + }, + { + "opname" : "OpImageSparseGather", + "class" : "Image", + "opcode" : 314, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Sampled Image" }, + { "kind" : "IdRef", "name" : "Coordinate" }, + { "kind" : "IdRef", "name" : "Component" }, + { "kind" : "ImageOperands", "quantifier" : "?" } + ], + "capabilities" : [ "SparseResidency" ], + "version": "1.0" + }, + { + "opname" : "OpImageSparseDrefGather", + "class" : "Image", + "opcode" : 315, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Sampled Image" }, + { "kind" : "IdRef", "name" : "Coordinate" }, + { "kind" : "IdRef", "name" : "D~ref~" }, + { "kind" : "ImageOperands", "quantifier" : "?" } + ], + "capabilities" : [ "SparseResidency" ], + "version": "1.0" + }, + { + "opname" : "OpImageSparseTexelsResident", + "class" : "Image", + "opcode" : 316, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Resident Code" } + ], + "capabilities" : [ "SparseResidency" ], + "version": "1.0" + }, + { + "opname" : "OpNoLine", + "class" : "Debug", + "opcode" : 317, + "version" : "1.0" + }, + { + "opname" : "OpAtomicFlagTestAndSet", + "class" : "Atomic", + "opcode" : 318, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Pointer" }, + { "kind" : "IdScope", "name" : "Memory" }, + { "kind" : "IdMemorySemantics", "name" : "Semantics" } + ], + "capabilities" : [ "Kernel" ], + "version": "1.0" + }, + { + "opname" : "OpAtomicFlagClear", + "class" : "Atomic", + "opcode" : 319, + "operands" : [ + { "kind" : "IdRef", "name" : "Pointer" }, + { "kind" : "IdScope", "name" : "Memory" }, + { "kind" : "IdMemorySemantics", "name" : "Semantics" } + ], + "capabilities" : [ "Kernel" ], + "version": "1.0" + }, + { + "opname" : "OpImageSparseRead", + "class" : "Image", + "opcode" : 320, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Image" }, + { "kind" : "IdRef", "name" : "Coordinate" }, + { "kind" : "ImageOperands", "quantifier" : "?" } + ], + "capabilities" : [ "SparseResidency" ], + "version": "1.0" + }, + { + "opname" : "OpSizeOf", + "class" : "Miscellaneous", + "opcode" : 321, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Pointer" } + ], + "capabilities" : [ "Addresses" ], + "version" : "1.1" + }, + { + "opname" : "OpTypePipeStorage", + "class" : "Type-Declaration", + "opcode" : 322, + "operands" : [ + { "kind" : "IdResult" } + ], + "capabilities" : [ "PipeStorage" ], + "version" : "1.1" + }, + { + "opname" : "OpConstantPipeStorage", + "class" : "Pipe", + "opcode" : 323, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "LiteralInteger", "name" : "Packet Size" }, + { "kind" : "LiteralInteger", "name" : "Packet Alignment" }, + { "kind" : "LiteralInteger", "name" : "Capacity" } + ], + "capabilities" : [ "PipeStorage" ], + "version" : "1.1" + }, + { + "opname" : "OpCreatePipeFromPipeStorage", + "class" : "Pipe", + "opcode" : 324, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Pipe Storage" } + ], + "capabilities" : [ "PipeStorage" ], + "version" : "1.1" + }, + { + "opname" : "OpGetKernelLocalSizeForSubgroupCount", + "class" : "Device-Side_Enqueue", + "opcode" : 325, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Subgroup Count" }, + { "kind" : "IdRef", "name" : "Invoke" }, + { "kind" : "IdRef", "name" : "Param" }, + { "kind" : "IdRef", "name" : "Param Size" }, + { "kind" : "IdRef", "name" : "Param Align" } + ], + "capabilities" : [ "SubgroupDispatch" ], + "version" : "1.1" + }, + { + "opname" : "OpGetKernelMaxNumSubgroups", + "class" : "Device-Side_Enqueue", + "opcode" : 326, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Invoke" }, + { "kind" : "IdRef", "name" : "Param" }, + { "kind" : "IdRef", "name" : "Param Size" }, + { "kind" : "IdRef", "name" : "Param Align" } + ], + "capabilities" : [ "SubgroupDispatch" ], + "version" : "1.1" + }, + { + "opname" : "OpTypeNamedBarrier", + "class" : "Type-Declaration", + "opcode" : 327, + "operands" : [ + { "kind" : "IdResult" } + ], + "capabilities" : [ "NamedBarrier" ], + "version" : "1.1" + }, + { + "opname" : "OpNamedBarrierInitialize", + "class" : "Barrier", + "opcode" : 328, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Subgroup Count" } + ], + "capabilities" : [ "NamedBarrier" ], + "version" : "1.1" + }, + { + "opname" : "OpMemoryNamedBarrier", + "class" : "Barrier", + "opcode" : 329, + "operands" : [ + { "kind" : "IdRef", "name" : "Named Barrier" }, + { "kind" : "IdScope", "name" : "Memory" }, + { "kind" : "IdMemorySemantics", "name" : "Semantics" } + ], + "capabilities" : [ "NamedBarrier" ], + "version" : "1.1" + }, + { + "opname" : "OpModuleProcessed", + "class" : "Debug", + "opcode" : 330, + "operands" : [ + { "kind" : "LiteralString", "name" : "Process" } + ], + "version" : "1.1" + }, + { + "opname" : "OpExecutionModeId", + "class" : "Mode-Setting", + "opcode" : 331, + "operands" : [ + { "kind" : "IdRef", "name" : "Entry Point" }, + { "kind" : "ExecutionMode", "name" : "Mode" } + ], + "version" : "1.2" + }, + { + "opname" : "OpDecorateId", + "class" : "Annotation", + "opcode" : 332, + "operands" : [ + { "kind" : "IdRef", "name" : "Target" }, + { "kind" : "Decoration" } + ], + "extensions" : [ "SPV_GOOGLE_hlsl_functionality1" ], + "version" : "1.2" + }, + { + "opname" : "OpGroupNonUniformElect", + "class" : "Non-Uniform", + "opcode" : 333, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" } + ], + "capabilities" : [ "GroupNonUniform" ], + "version" : "1.3" + }, + { + "opname" : "OpGroupNonUniformAll", + "class" : "Non-Uniform", + "opcode" : 334, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "IdRef", "name" : "Predicate" } + ], + "capabilities" : [ "GroupNonUniformVote" ], + "version" : "1.3" + }, + { + "opname" : "OpGroupNonUniformAny", + "class" : "Non-Uniform", + "opcode" : 335, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "IdRef", "name" : "Predicate" } + ], + "capabilities" : [ "GroupNonUniformVote" ], + "version" : "1.3" + }, + { + "opname" : "OpGroupNonUniformAllEqual", + "class" : "Non-Uniform", + "opcode" : 336, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "IdRef", "name" : "Value" } + ], + "capabilities" : [ "GroupNonUniformVote" ], + "version" : "1.3" + }, + { + "opname" : "OpGroupNonUniformBroadcast", + "class" : "Non-Uniform", + "opcode" : 337, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "IdRef", "name" : "Value" }, + { "kind" : "IdRef", "name" : "Invocation Id" } + ], + "capabilities" : [ "GroupNonUniformBallot" ], + "version" : "1.3" + }, + { + "opname" : "OpGroupNonUniformBroadcastFirst", + "class" : "Non-Uniform", + "opcode" : 338, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "IdRef", "name" : "Value" } + ], + "capabilities" : [ "GroupNonUniformBallot" ], + "version" : "1.3" + }, + { + "opname" : "OpGroupNonUniformBallot", + "class" : "Non-Uniform", + "opcode" : 339, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "IdRef", "name" : "Predicate" } + ], + "capabilities" : [ "GroupNonUniformBallot" ], + "version" : "1.3" + }, + { + "opname" : "OpGroupNonUniformInverseBallot", + "class" : "Non-Uniform", + "opcode" : 340, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "IdRef", "name" : "Value" } + ], + "capabilities" : [ "GroupNonUniformBallot" ], + "version" : "1.3" + }, + { + "opname" : "OpGroupNonUniformBallotBitExtract", + "class" : "Non-Uniform", + "opcode" : 341, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "IdRef", "name" : "Value" }, + { "kind" : "IdRef", "name" : "Index" } + ], + "capabilities" : [ "GroupNonUniformBallot" ], + "version" : "1.3" + }, + { + "opname" : "OpGroupNonUniformBallotBitCount", + "class" : "Non-Uniform", + "opcode" : 342, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "GroupOperation", "name" : "Operation" }, + { "kind" : "IdRef", "name" : "Value" } + ], + "capabilities" : [ "GroupNonUniformBallot" ], + "version" : "1.3" + }, + { + "opname" : "OpGroupNonUniformBallotFindLSB", + "class" : "Non-Uniform", + "opcode" : 343, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "IdRef", "name" : "Value" } + ], + "capabilities" : [ "GroupNonUniformBallot" ], + "version" : "1.3" + }, + { + "opname" : "OpGroupNonUniformBallotFindMSB", + "class" : "Non-Uniform", + "opcode" : 344, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "IdRef", "name" : "Value" } + ], + "capabilities" : [ "GroupNonUniformBallot" ], + "version" : "1.3" + }, + { + "opname" : "OpGroupNonUniformShuffle", + "class" : "Non-Uniform", + "opcode" : 345, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "IdRef", "name" : "Value" }, + { "kind" : "IdRef", "name" : "Invocation Id" } + ], + "capabilities" : [ "GroupNonUniformShuffle" ], + "version" : "1.3" + }, + { + "opname" : "OpGroupNonUniformShuffleXor", + "class" : "Non-Uniform", + "opcode" : 346, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "IdRef", "name" : "Value" }, + { "kind" : "IdRef", "name" : "Mask" } + ], + "capabilities" : [ "GroupNonUniformShuffle" ], + "version" : "1.3" + }, + { + "opname" : "OpGroupNonUniformShuffleUp", + "class" : "Non-Uniform", + "opcode" : 347, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "IdRef", "name" : "Value" }, + { "kind" : "IdRef", "name" : "Delta" } + ], + "capabilities" : [ "GroupNonUniformShuffleRelative" ], + "version" : "1.3" + }, + { + "opname" : "OpGroupNonUniformShuffleDown", + "class" : "Non-Uniform", + "opcode" : 348, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "IdRef", "name" : "Value" }, + { "kind" : "IdRef", "name" : "Delta" } + ], + "capabilities" : [ "GroupNonUniformShuffleRelative" ], + "version" : "1.3" + }, + { + "opname" : "OpGroupNonUniformIAdd", + "class" : "Non-Uniform", + "opcode" : 349, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "GroupOperation", "name" : "Operation" }, + { "kind" : "IdRef", "name" : "Value" }, + { "kind" : "IdRef", "name" : "ClusterSize", "quantifier" : "?" } + ], + "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedEXT" ], + "version" : "1.3" + }, + { + "opname" : "OpGroupNonUniformFAdd", + "class" : "Non-Uniform", + "opcode" : 350, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "GroupOperation", "name" : "Operation" }, + { "kind" : "IdRef", "name" : "Value" }, + { "kind" : "IdRef", "name" : "ClusterSize", "quantifier" : "?" } + ], + "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedEXT" ], + "version" : "1.3" + }, + { + "opname" : "OpGroupNonUniformIMul", + "class" : "Non-Uniform", + "opcode" : 351, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "GroupOperation", "name" : "Operation" }, + { "kind" : "IdRef", "name" : "Value" }, + { "kind" : "IdRef", "name" : "ClusterSize", "quantifier" : "?" } + ], + "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedEXT" ], + "version" : "1.3" + }, + { + "opname" : "OpGroupNonUniformFMul", + "class" : "Non-Uniform", + "opcode" : 352, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "GroupOperation", "name" : "Operation" }, + { "kind" : "IdRef", "name" : "Value" }, + { "kind" : "IdRef", "name" : "ClusterSize", "quantifier" : "?" } + ], + "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedEXT" ], + "version" : "1.3" + }, + { + "opname" : "OpGroupNonUniformSMin", + "class" : "Non-Uniform", + "opcode" : 353, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "GroupOperation", "name" : "Operation" }, + { "kind" : "IdRef", "name" : "Value" }, + { "kind" : "IdRef", "name" : "ClusterSize", "quantifier" : "?" } + ], + "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedEXT" ], + "version" : "1.3" + }, + { + "opname" : "OpGroupNonUniformUMin", + "class" : "Non-Uniform", + "opcode" : 354, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "GroupOperation", "name" : "Operation" }, + { "kind" : "IdRef", "name" : "Value" }, + { "kind" : "IdRef", "name" : "ClusterSize", "quantifier" : "?" } + ], + "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedEXT" ], + "version" : "1.3" + }, + { + "opname" : "OpGroupNonUniformFMin", + "class" : "Non-Uniform", + "opcode" : 355, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "GroupOperation", "name" : "Operation" }, + { "kind" : "IdRef", "name" : "Value" }, + { "kind" : "IdRef", "name" : "ClusterSize", "quantifier" : "?" } + ], + "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedEXT" ], + "version" : "1.3" + }, + { + "opname" : "OpGroupNonUniformSMax", + "class" : "Non-Uniform", + "opcode" : 356, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "GroupOperation", "name" : "Operation" }, + { "kind" : "IdRef", "name" : "Value" }, + { "kind" : "IdRef", "name" : "ClusterSize", "quantifier" : "?" } + ], + "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedEXT" ], + "version" : "1.3" + }, + { + "opname" : "OpGroupNonUniformUMax", + "class" : "Non-Uniform", + "opcode" : 357, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "GroupOperation", "name" : "Operation" }, + { "kind" : "IdRef", "name" : "Value" }, + { "kind" : "IdRef", "name" : "ClusterSize", "quantifier" : "?" } + ], + "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedEXT" ], + "version" : "1.3" + }, + { + "opname" : "OpGroupNonUniformFMax", + "class" : "Non-Uniform", + "opcode" : 358, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "GroupOperation", "name" : "Operation" }, + { "kind" : "IdRef", "name" : "Value" }, + { "kind" : "IdRef", "name" : "ClusterSize", "quantifier" : "?" } + ], + "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedEXT" ], + "version" : "1.3" + }, + { + "opname" : "OpGroupNonUniformBitwiseAnd", + "class" : "Non-Uniform", + "opcode" : 359, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "GroupOperation", "name" : "Operation" }, + { "kind" : "IdRef", "name" : "Value" }, + { "kind" : "IdRef", "name" : "ClusterSize", "quantifier" : "?" } + ], + "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedEXT" ], + "version" : "1.3" + }, + { + "opname" : "OpGroupNonUniformBitwiseOr", + "class" : "Non-Uniform", + "opcode" : 360, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "GroupOperation", "name" : "Operation" }, + { "kind" : "IdRef", "name" : "Value" }, + { "kind" : "IdRef", "name" : "ClusterSize", "quantifier" : "?" } + ], + "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedEXT" ], + "version" : "1.3" + }, + { + "opname" : "OpGroupNonUniformBitwiseXor", + "class" : "Non-Uniform", + "opcode" : 361, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "GroupOperation", "name" : "Operation" }, + { "kind" : "IdRef", "name" : "Value" }, + { "kind" : "IdRef", "name" : "ClusterSize", "quantifier" : "?" } + ], + "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedEXT" ], + "version" : "1.3" + }, + { + "opname" : "OpGroupNonUniformLogicalAnd", + "class" : "Non-Uniform", + "opcode" : 362, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "GroupOperation", "name" : "Operation" }, + { "kind" : "IdRef", "name" : "Value" }, + { "kind" : "IdRef", "name" : "ClusterSize", "quantifier" : "?" } + ], + "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedEXT" ], + "version" : "1.3" + }, + { + "opname" : "OpGroupNonUniformLogicalOr", + "class" : "Non-Uniform", + "opcode" : 363, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "GroupOperation", "name" : "Operation" }, + { "kind" : "IdRef", "name" : "Value" }, + { "kind" : "IdRef", "name" : "ClusterSize", "quantifier" : "?" } + ], + "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedEXT" ], + "version" : "1.3" + }, + { + "opname" : "OpGroupNonUniformLogicalXor", + "class" : "Non-Uniform", + "opcode" : 364, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "GroupOperation", "name" : "Operation" }, + { "kind" : "IdRef", "name" : "Value" }, + { "kind" : "IdRef", "name" : "ClusterSize", "quantifier" : "?" } + ], + "capabilities" : [ "GroupNonUniformArithmetic", "GroupNonUniformClustered", "GroupNonUniformPartitionedEXT" ], + "version" : "1.3" + }, + { + "opname" : "OpGroupNonUniformQuadBroadcast", + "class" : "Non-Uniform", + "opcode" : 365, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "IdRef", "name" : "Value" }, + { "kind" : "IdRef", "name" : "Index" } + ], + "capabilities" : [ "GroupNonUniformQuad" ], + "version" : "1.3" + }, + { + "opname" : "OpGroupNonUniformQuadSwap", + "class" : "Non-Uniform", + "opcode" : 366, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "IdRef", "name" : "Value" }, + { "kind" : "IdRef", "name" : "Direction" } + ], + "capabilities" : [ "GroupNonUniformQuad" ], + "version" : "1.3" + }, + { + "opname" : "OpCopyLogical", + "class" : "Composite", + "opcode" : 400, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand" } + ], + "version" : "1.4" + }, + { + "opname" : "OpPtrEqual", + "class" : "Memory", + "opcode" : 401, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "version" : "1.4" + }, + { + "opname" : "OpPtrNotEqual", + "class" : "Memory", + "opcode" : 402, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "version" : "1.4" + }, + { + "opname" : "OpPtrDiff", + "class" : "Memory", + "opcode" : 403, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "capabilities" : [ "Addresses", "VariablePointers", "VariablePointersStorageBuffer" ], + "version" : "1.4" + }, + { + "opname" : "OpColorAttachmentReadEXT", + "class" : "Image", + "opcode" : 4160, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Attachment" }, + { "kind" : "IdRef", "name" : "Sample", "quantifier" : "?" } + ], + "capabilities": [ "TileImageColorReadAccessEXT" ], + "version" : "None" + }, + { + "opname" : "OpDepthAttachmentReadEXT", + "class" : "Image", + "opcode" : 4161, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Sample", "quantifier" : "?" } + ], + "capabilities" : [ "TileImageDepthReadAccessEXT" ], + "version" : "None" + }, + { + "opname" : "OpStencilAttachmentReadEXT", + "class" : "Image", + "opcode" : 4162, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Sample", "quantifier" : "?" } + ], + "capabilities" : [ "TileImageStencilReadAccessEXT" ], + "version" : "None" + }, + { + "opname" : "OpTypeTensorARM", + "class" : "Type-Declaration", + "opcode" : 4163, + "operands" : [ + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Element Type" }, + { "kind" : "IdRef", "name" : "Rank", "quantifier" : "?" }, + { "kind" : "IdRef", "name" : "Shape", "quantifier" : "?" } + ], + "capabilities" : [ "TensorsARM" ], + "version" : "None" + }, + { + "opname" : "OpTensorReadARM", + "class" : "Tensor", + "opcode" : 4164, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Tensor" }, + { "kind" : "IdRef", "name" : "Coordinates" }, + { "kind" : "TensorOperands", "quantifier" : "?" } + ], + "capabilities" : [ "TensorsARM" ], + "version" : "None" + }, + { + "opname" : "OpTensorWriteARM", + "class" : "Tensor", + "opcode" : 4165, + "operands" : [ + { "kind" : "IdRef", "name" : "Tensor" }, + { "kind" : "IdRef", "name" : "Coordinates" }, + { "kind" : "IdRef", "name" : "Object" }, + { "kind" : "TensorOperands", "quantifier" : "?" } + ], + "capabilities" : [ "TensorsARM" ], + "version" : "None" + }, + { + "opname" : "OpTensorQuerySizeARM", + "class" : "Tensor", + "opcode" : 4166, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Tensor" }, + { "kind" : "IdRef", "name" : "Dimension" } + ], + "capabilities" : [ "TensorsARM" ], + "version" : "None" + }, + { + "opname" : "OpGraphConstantARM", + "class" : "Graph", + "opcode" : 4181, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "LiteralInteger", "name" : "GraphConstantID" } + ], + "capabilities" : [ "GraphARM" ], + "version" : "None" + }, + { + "opname" : "OpGraphEntryPointARM", + "class" : "Graph", + "opcode" : 4182, + "operands" : [ + { "kind" : "IdRef", "name" : "Graph" }, + { "kind" : "LiteralString", "name" : "Name" }, + { "kind" : "IdRef", "quantifier" : "*", "name" : "Interface" } + ], + "capabilities" : [ "GraphARM" ], + "version" : "None" + }, + { + "opname" : "OpGraphARM", + "class" : "Graph", + "opcode" : 4183, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" } + ], + "capabilities" : [ "GraphARM" ], + "version" : "None" + }, + { + "opname" : "OpGraphInputARM", + "class" : "Graph", + "opcode" : 4184, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "InputIndex" }, + { "kind" : "IdRef", "quantifier" : "*", "name" : "ElementIndex" } + ], + "capabilities" : [ "GraphARM" ], + "version" : "None" + }, + { + "opname" : "OpGraphSetOutputARM", + "class" : "Graph", + "opcode" : 4185, + "operands" : [ + { "kind" : "IdRef", "name": "Value" }, + { "kind" : "IdRef", "name" : "OutputIndex" }, + { "kind" : "IdRef", "quantifier" : "*", "name" : "ElementIndex" } + ], + "capabilities" : [ "GraphARM" ], + "version" : "None" + }, + { + "opname" : "OpGraphEndARM", + "class" : "Graph", + "opcode" : 4186, + "capabilities" : [ "GraphARM" ], + "version" : "None" + }, + { + "opname" : "OpTypeGraphARM", + "class" : "Type-Declaration", + "opcode" : 4190, + "operands" : [ + { "kind" : "IdResult" }, + { "kind" : "LiteralInteger", "name" : "NumInputs" }, + { "kind" : "IdRef", "quantifier" : "*", "name" : "InOutTypes" } + ], + "capabilities" : [ "GraphARM" ], + "version" : "None" + }, + { + "opname" : "OpTerminateInvocation", + "class" : "Control-Flow", + "opcode" : 4416, + "extensions" : [ + "SPV_KHR_terminate_invocation" + ], + "capabilities" : [ "Shader" ], + "version" : "1.6" + }, + { + "opname" : "OpTypeUntypedPointerKHR", + "class" : "Type-Declaration", + "opcode" : 4417, + "capabilities" : [ + "UntypedPointersKHR" + ], + "version" : "None", + "operands" : [ + { "kind" : "IdResult" }, + { "kind" : "StorageClass" } + ] + }, + { + "opname" : "OpUntypedVariableKHR", + "class" : "Memory", + "opcode" : 4418, + "capabilities" : [ "UntypedPointersKHR" ], + "version" : "None", + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "StorageClass" }, + { "kind" : "IdRef", "quantifier" : "?", "name" : "Data Type" }, + { "kind" : "IdRef", "quantifier" : "?", "name" : "Initializer" } + ] + }, + { + "opname" : "OpUntypedAccessChainKHR", + "class" : "Memory", + "opcode" : 4419, + "capabilities" : [ "UntypedPointersKHR" ], + "version" : "None", + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Base Type" }, + { "kind" : "IdRef", "name" : "Base" }, + { "kind" : "IdRef", "quantifier" : "*", "name" : "Indexes" } + ] + }, + { + "opname" : "OpUntypedInBoundsAccessChainKHR", + "class" : "Memory", + "opcode" : 4420, + "capabilities" : [ "UntypedPointersKHR" ], + "version" : "None", + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Base Type" }, + { "kind" : "IdRef", "name" : "Base" }, + { "kind" : "IdRef", "quantifier" : "*", "name" : "Indexes" } + ] + }, + { + "opname" : "OpSubgroupBallotKHR", + "class" : "Group", + "opcode" : 4421, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Predicate" } + ], + "capabilities" : [ "SubgroupBallotKHR" ], + "extensions" : [ "SPV_KHR_shader_ballot" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupFirstInvocationKHR", + "class" : "Group", + "opcode" : 4422, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Value" } + ], + "capabilities" : [ "SubgroupBallotKHR" ], + "extensions" : [ "SPV_KHR_shader_ballot" ], + "version" : "None" + }, + { + "opname" : "OpUntypedPtrAccessChainKHR", + "class" : "Memory", + "opcode" : 4423, + "capabilities" : [ "UntypedPointersKHR" ], + "version" : "None", + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Base Type" }, + { "kind" : "IdRef", "name" : "Base" }, + { "kind" : "IdRef", "name" : "Element" }, + { "kind" : "IdRef", "quantifier" : "*", "name" : "Indexes" } + ] + }, + { + "opname" : "OpUntypedInBoundsPtrAccessChainKHR", + "class" : "Memory", + "opcode" : 4424, + "capabilities" : [ "UntypedPointersKHR" ], + "version" : "None", + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Base Type" }, + { "kind" : "IdRef", "name" : "Base" }, + { "kind" : "IdRef", "name" : "Element" }, + { "kind" : "IdRef", "quantifier" : "*", "name" : "Indexes" } + ] + }, + { + "opname" : "OpUntypedArrayLengthKHR", + "class" : "Memory", + "opcode" : 4425, + "capabilities" : [ "UntypedPointersKHR" ], + "version" : "None", + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Structure" }, + { "kind" : "IdRef", "name" : "Pointer" }, + { "kind" : "LiteralInteger", "name" : "Array member" } + ] + }, + { + "opname" : "OpUntypedPrefetchKHR", + "class" : "Memory", + "opcode" : 4426, + "capabilities" : [ "UntypedPointersKHR" ], + "version" : "None", + "operands" : [ + { "kind" : "IdRef", "name" : "Pointer Type" }, + { "kind" : "IdRef", "name" : "Num Bytes" }, + { "kind" : "IdRef", "quantifier" : "?", "name" : "RW" }, + { "kind" : "IdRef", "quantifier" : "?", "name" : "Locality" }, + { "kind" : "IdRef", "quantifier" : "?", "name" : "Cache Type" } + ] + }, + { + "opname" : "OpFmaKHR", + "class" : "Arithmetic", + "opcode" : 4427, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" }, + { "kind" : "IdRef", "name" : "Operand 3" } + ], + "capabilities" : [ "FMAKHR" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAllKHR", + "class" : "Group", + "opcode" : 4428, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Predicate" } + ], + "extensions" : [ + "SPV_KHR_subgroup_vote" + ], + "capabilities" : [ "SubgroupVoteKHR" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAnyKHR", + "class" : "Group", + "opcode" : 4429, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Predicate" } + ], + "extensions" : [ + "SPV_KHR_subgroup_vote" + ], + "capabilities" : [ "SubgroupVoteKHR" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAllEqualKHR", + "class" : "Group", + "opcode" : 4430, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Predicate" } + ], + "extensions" : [ + "SPV_KHR_subgroup_vote" + ], + "capabilities" : [ "SubgroupVoteKHR" ], + "version" : "None" + }, + { + "opname" : "OpGroupNonUniformRotateKHR", + "class" : "Group", + "opcode" : 4431, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "IdRef", "name" : "Value" }, + { "kind" : "IdRef", "name" : "Delta" }, + { "kind" : "IdRef", "name" : "ClusterSize", "quantifier" : "?" } + ], + "capabilities" : [ "GroupNonUniformRotateKHR" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupReadInvocationKHR", + "class" : "Group", + "opcode" : 4432, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Value" }, + { "kind" : "IdRef", "name" : "Index" } + ], + "capabilities" : [ "SubgroupBallotKHR" ], + "extensions" : [ "SPV_KHR_shader_ballot" ], + "version" : "None" + }, + { + "opname" : "OpExtInstWithForwardRefsKHR", + "class" : "Extension", + "opcode" : 4433, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Set" }, + { "kind" : "LiteralExtInstInteger", "name" : "Instruction" }, + { "kind" : "IdRef", "quantifier" : "*", "name" : "Operand 1, Operand 2, ..." } + ], + "extensions" : [ "SPV_KHR_relaxed_extended_instruction" ], + "version": "None" + }, + { + "opname" : "OpUntypedGroupAsyncCopyKHR", + "class" : "Group", + "opcode" : 4434, + "capabilities" : [ "UntypedPointersKHR" ], + "version" : "None", + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Execution" }, + { "kind" : "IdRef", "name" : "Destination" }, + { "kind" : "IdRef", "name" : "Source" }, + { "kind" : "IdRef", "name" : "Element Num Bytes" }, + { "kind" : "IdRef", "name" : "Num Elements" }, + { "kind" : "IdRef", "name" : "Stride" }, + { "kind" : "IdRef", "name" : "Event" }, + { "kind" : "MemoryAccess", "quantifier" : "?", "name" : "Destination Memory Operands" }, + { "kind" : "MemoryAccess", "quantifier" : "?", "name" : "Source Memory Operands" } + ] + }, + { + "opname" : "OpTraceRayKHR", + "class" : "Reserved", + "opcode" : 4445, + "operands" : [ + + { "kind" : "IdRef", "name" : "Accel" }, + { "kind" : "IdRef", "name" : "Ray Flags" }, + { "kind" : "IdRef", "name" : "Cull Mask" }, + { "kind" : "IdRef", "name" : "SBT Offset" }, + { "kind" : "IdRef", "name" : "SBT Stride" }, + { "kind" : "IdRef", "name" : "Miss Index" }, + { "kind" : "IdRef", "name" : "Ray Origin" }, + { "kind" : "IdRef", "name" : "Ray Tmin" }, + { "kind" : "IdRef", "name" : "Ray Direction" }, + { "kind" : "IdRef", "name" : "Ray Tmax" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "RayTracingKHR" ], + "extensions" : [ "SPV_KHR_ray_tracing" ], + "version" : "None" + }, + { + "opname" : "OpExecuteCallableKHR", + "class" : "Reserved", + "opcode" : 4446, + "operands" : [ + + { "kind" : "IdRef", "name" : "SBT Index" }, + { "kind" : "IdRef", "name" : "Callable Data" } + ], + "capabilities" : [ "RayTracingKHR" ], + "extensions" : [ "SPV_KHR_ray_tracing" ], + "version" : "None" + }, + { + "opname" : "OpConvertUToAccelerationStructureKHR", + "class" : "Reserved", + "opcode" : 4447, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Accel" } + ], + "capabilities" : [ "RayTracingKHR", "RayQueryKHR" ], + "extensions" : [ "SPV_KHR_ray_tracing", "SPV_KHR_ray_query" ], + "version" : "None" + }, + { + "opname" : "OpIgnoreIntersectionKHR", + "class" : "Reserved", + "opcode" : 4448, + "capabilities" : [ "RayTracingKHR" ], + "extensions" : [ "SPV_KHR_ray_tracing" ], + "version" : "None" + }, + { + "opname" : "OpTerminateRayKHR", + "class" : "Reserved", + "opcode" : 4449, + "capabilities" : [ "RayTracingKHR" ], + "extensions" : [ "SPV_KHR_ray_tracing" ], + "version" : "None" + }, + { + "opname" : "OpSDot", + "class" : "Arithmetic", + "aliases" : ["OpSDotKHR"], + "opcode" : 4450, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Vector 1" }, + { "kind" : "IdRef", "name" : "Vector 2" }, + { "kind" : "PackedVectorFormat", "name" : "Packed Vector Format", "quantifier" : "?" } + ], + "capabilities" : [ "DotProduct" ], + "extensions" : [ "SPV_KHR_integer_dot_product" ], + "version" : "1.6" + }, + { + "opname" : "OpUDot", + "class" : "Arithmetic", + "aliases" : ["OpUDotKHR"], + "opcode" : 4451, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Vector 1" }, + { "kind" : "IdRef", "name" : "Vector 2" }, + { "kind" : "PackedVectorFormat", "name" : "Packed Vector Format", "quantifier" : "?" } + ], + "capabilities" : [ "DotProduct" ], + "extensions" : [ "SPV_KHR_integer_dot_product" ], + "version" : "1.6" + }, + { + "opname" : "OpSUDot", + "class" : "Arithmetic", + "aliases" : ["OpSUDotKHR"], + "opcode" : 4452, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Vector 1" }, + { "kind" : "IdRef", "name" : "Vector 2" }, + { "kind" : "PackedVectorFormat", "name" : "Packed Vector Format", "quantifier" : "?" } + ], + "capabilities" : [ "DotProduct" ], + "extensions" : [ "SPV_KHR_integer_dot_product" ], + "version" : "1.6" + }, + { + "opname" : "OpSDotAccSat", + "class" : "Arithmetic", + "aliases" : ["OpSDotAccSatKHR"], + "opcode" : 4453, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Vector 1" }, + { "kind" : "IdRef", "name" : "Vector 2" }, + { "kind" : "IdRef", "name" : "Accumulator" }, + { "kind" : "PackedVectorFormat", "name" : "Packed Vector Format", "quantifier" : "?" } + ], + "capabilities" : [ "DotProduct" ], + "extensions" : [ "SPV_KHR_integer_dot_product" ], + "version" : "1.6" + }, + { + "opname" : "OpUDotAccSat", + "class" : "Arithmetic", + "aliases" : ["OpUDotAccSatKHR"], + "opcode" : 4454, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Vector 1" }, + { "kind" : "IdRef", "name" : "Vector 2" }, + { "kind" : "IdRef", "name" : "Accumulator" }, + { "kind" : "PackedVectorFormat", "name" : "Packed Vector Format", "quantifier" : "?" } + ], + "capabilities" : [ "DotProduct" ], + "extensions" : [ "SPV_KHR_integer_dot_product" ], + "version" : "1.6" + }, + { + "opname" : "OpSUDotAccSat", + "class" : "Arithmetic", + "aliases" : ["OpSUDotAccSatKHR"], + "opcode" : 4455, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Vector 1" }, + { "kind" : "IdRef", "name" : "Vector 2" }, + { "kind" : "IdRef", "name" : "Accumulator" }, + { "kind" : "PackedVectorFormat", "name" : "Packed Vector Format", "quantifier" : "?" } + ], + "capabilities" : [ "DotProduct" ], + "extensions" : [ "SPV_KHR_integer_dot_product" ], + "version" : "1.6" + }, + { + "opname" : "OpTypeCooperativeMatrixKHR", + "class" : "Type-Declaration", + "opcode" : 4456, + "operands" : [ + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Component Type" }, + { "kind" : "IdScope", "name" : "Scope" }, + { "kind" : "IdRef", "name" : "Rows" }, + { "kind" : "IdRef", "name" : "Columns" }, + { "kind" : "IdRef", "name" : "Use" } + ], + "capabilities" : [ "CooperativeMatrixKHR" ], + "version" : "None" + }, + { + "opname" : "OpCooperativeMatrixLoadKHR", + "class" : "Memory", + "opcode" : 4457, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Pointer" }, + { "kind" : "IdRef", "name" : "MemoryLayout" }, + { "kind" : "IdRef", "name" : "Stride", "quantifier": "?" }, + { "kind" : "MemoryAccess", "name" : "Memory Operand", "quantifier" : "?" } + ], + "capabilities" : [ "CooperativeMatrixKHR" ], + "version" : "None" + }, + { + "opname" : "OpCooperativeMatrixStoreKHR", + "class" : "Memory", + "opcode" : 4458, + "operands" : [ + { "kind" : "IdRef", "name" : "Pointer" }, + { "kind" : "IdRef", "name" : "Object" }, + { "kind" : "IdRef", "name" : "MemoryLayout" }, + { "kind" : "IdRef", "name" : "Stride", "quantifier": "?" }, + { "kind" : "MemoryAccess", "name" : "Memory Operand", "quantifier" : "?" } + ], + "capabilities" : [ "CooperativeMatrixKHR" ], + "version" : "None" + }, + { + "opname" : "OpCooperativeMatrixMulAddKHR", + "class" : "Arithmetic", + "opcode" : 4459, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "A" }, + { "kind" : "IdRef", "name" : "B" }, + { "kind" : "IdRef", "name" : "C" }, + { "kind" : "CooperativeMatrixOperands", "name" : "Cooperative Matrix Operands", "quantifier" : "?" } + ], + "capabilities" : [ "CooperativeMatrixKHR" ], + "version" : "None" + }, + { + "opname" : "OpCooperativeMatrixLengthKHR", + "class" : "Miscellaneous", + "opcode" : 4460, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Type" } + ], + "capabilities" : [ "CooperativeMatrixKHR" ], + "version" : "None" + }, + { + "opname" : "OpConstantCompositeReplicateEXT", + "class" : "Constant-Creation", + "opcode" : 4461, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Value" } + ], + "capabilities" : [ "ReplicatedCompositesEXT" ], + "version" : "None" + }, + { + "opname" : "OpSpecConstantCompositeReplicateEXT", + "class" : "Constant-Creation", + "opcode" : 4462, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Value" } + ], + "capabilities" : [ "ReplicatedCompositesEXT" ], + "version" : "None" + }, + { + "opname" : "OpCompositeConstructReplicateEXT", + "class" : "Composite", + "opcode" : 4463, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Value" } + ], + "capabilities" : [ "ReplicatedCompositesEXT" ], + "version" : "None" + }, + { + "opname" : "OpTypeRayQueryKHR", + "class" : "Type-Declaration", + "opcode" : 4472, + "operands" : [ + { "kind" : "IdResult" } + ], + "capabilities" : [ "RayQueryKHR" ], + "extensions" : [ "SPV_KHR_ray_query" ], + "version" : "None" + }, + { + "opname" : "OpRayQueryInitializeKHR", + "class" : "Reserved", + "opcode" : 4473, + "operands" : [ + { + "kind" : "IdRef", + "name" : "RayQuery" + }, + { + "kind" : "IdRef", + "name" : "Accel" + }, + { + "kind" : "IdRef", + "name" : "RayFlags" + }, + { + "kind" : "IdRef", + "name" : "CullMask" + }, + { + "kind" : "IdRef", + "name" : "RayOrigin" + }, + { + "kind" : "IdRef", + "name" : "RayTMin" + }, + { + "kind" : "IdRef", + "name" : "RayDirection" + }, + { + "kind" : "IdRef", + "name" : "RayTMax" + } + + ], + "capabilities" : [ "RayQueryKHR" ], + "extensions" : [ "SPV_KHR_ray_query" ], + "version" : "None" + }, + { + "opname" : "OpRayQueryTerminateKHR", + "class" : "Reserved", + "opcode" : 4474, + "operands" : [ + { + "kind" : "IdRef", + "name" : "RayQuery" + } + ], + "capabilities" : [ "RayQueryKHR" ], + "extensions" : [ "SPV_KHR_ray_query" ], + "version" : "None" + }, + { + "opname" : "OpRayQueryGenerateIntersectionKHR", + "class" : "Reserved", + "opcode" : 4475, + "operands" : [ + { + "kind" : "IdRef", + "name" : "RayQuery" + }, + { + "kind" : "IdRef", + "name" : "HitT" + } + ], + "capabilities" : [ "RayQueryKHR" ], + "extensions" : [ "SPV_KHR_ray_query" ], + "version" : "None" + }, + { + "opname" : "OpRayQueryConfirmIntersectionKHR", + "class" : "Reserved", + "opcode" : 4476, + "operands" : [ + { + "kind" : "IdRef", + "name" : "RayQuery" + } + ], + "capabilities" : [ "RayQueryKHR" ], + "extensions" : [ "SPV_KHR_ray_query" ], + "version" : "None" + }, + { + "opname" : "OpRayQueryProceedKHR", + "class" : "Reserved", + "opcode" : 4477, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { + "kind" : "IdRef", + "name" : "RayQuery" + } + ], + "capabilities" : [ "RayQueryKHR" ], + "extensions" : [ "SPV_KHR_ray_query" ], + "version" : "None" + }, + { + "opname" : "OpRayQueryGetIntersectionTypeKHR", + "class" : "Reserved", + "opcode" : 4479, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { + "kind" : "IdRef", + "name" : "RayQuery" + }, + { + "kind" : "IdRef", + "name" : "Intersection" + } + ], + "capabilities" : [ "RayQueryKHR" ], + "extensions" : [ "SPV_KHR_ray_query" ], + "version" : "None" + }, + { + "opname" : "OpImageSampleWeightedQCOM", + "class" : "Image", + "opcode" : 4480, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Texture" }, + { "kind" : "IdRef", "name" : "Coordinates" }, + { "kind" : "IdRef", "name" : "Weights" } + ], + "capabilities" : [ "TextureSampleWeightedQCOM" ], + "version" : "None" + }, + { + "opname" : "OpImageBoxFilterQCOM", + "class" : "Image", + "opcode" : 4481, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Texture" }, + { "kind" : "IdRef", "name" : "Coordinates" }, + { "kind" : "IdRef", "name" : "Box Size" } + ], + "capabilities" : [ "TextureBoxFilterQCOM" ], + "version" : "None" + }, + { + "opname" : "OpImageBlockMatchSSDQCOM", + "class" : "Image", + "opcode" : 4482, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Target" }, + { "kind" : "IdRef", "name" : "Target Coordinates" }, + { "kind" : "IdRef", "name" : "Reference" }, + { "kind" : "IdRef", "name" : "Reference Coordinates" }, + { "kind" : "IdRef", "name" : "Block Size" } + ], + "capabilities" : [ "TextureBlockMatchQCOM" ], + "version" : "None" + }, + { + "opname" : "OpImageBlockMatchSADQCOM", + "class" : "Image", + "opcode" : 4483, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Target" }, + { "kind" : "IdRef", "name" : "Target Coordinates" }, + { "kind" : "IdRef", "name" : "Reference" }, + { "kind" : "IdRef", "name" : "Reference Coordinates" }, + { "kind" : "IdRef", "name" : "Block Size" } + ], + "capabilities" : [ "TextureBlockMatchQCOM" ], + "version" : "None" + }, + { + "opname" : "OpBitCastArrayQCOM", + "class" : "Conversion", + "opcode" : 4497, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Source Array" } + ], + "capabilities" : [ "CooperativeMatrixConversionQCOM" ], + "version" : "None" + }, + { + "opname" : "OpImageBlockMatchWindowSSDQCOM", + "class" : "Image", + "opcode" : 4500, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Target Sampled Image" }, + { "kind" : "IdRef", "name" : "Target Coordinates" }, + { "kind" : "IdRef", "name" : "Reference Sampled Image" }, + { "kind" : "IdRef", "name" : "Reference Coordinates" }, + { "kind" : "IdRef", "name" : "Block Size" } + ], + "capabilities" : [ "TextureBlockMatch2QCOM" ], + "version" : "None" + }, + { + "opname" : "OpImageBlockMatchWindowSADQCOM", + "class" : "Image", + "opcode" : 4501, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Target Sampled Image" }, + { "kind" : "IdRef", "name" : "Target Coordinates" }, + { "kind" : "IdRef", "name" : "Reference Sampled Image" }, + { "kind" : "IdRef", "name" : "Reference Coordinates" }, + { "kind" : "IdRef", "name" : "Block Size" } + ], + "capabilities" : [ "TextureBlockMatch2QCOM" ], + "version" : "None" + }, + { + "opname" : "OpImageBlockMatchGatherSSDQCOM", + "class" : "Image", + "opcode" : 4502, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Target Sampled Image" }, + { "kind" : "IdRef", "name" : "Target Coordinates" }, + { "kind" : "IdRef", "name" : "Reference Sampled Image" }, + { "kind" : "IdRef", "name" : "Reference Coordinates" }, + { "kind" : "IdRef", "name" : "Block Size" } + ], + "capabilities" : [ "TextureBlockMatch2QCOM" ], + "version" : "None" + }, + { + "opname" : "OpImageBlockMatchGatherSADQCOM", + "class" : "Image", + "opcode" : 4503, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Target Sampled Image" }, + { "kind" : "IdRef", "name" : "Target Coordinates" }, + { "kind" : "IdRef", "name" : "Reference Sampled Image" }, + { "kind" : "IdRef", "name" : "Reference Coordinates" }, + { "kind" : "IdRef", "name" : "Block Size" } + ], + "capabilities" : [ "TextureBlockMatch2QCOM" ], + "version" : "None" + }, + { + "opname" : "OpCompositeConstructCoopMatQCOM", + "class" : "Composite", + "opcode" : 4540, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Source Array" } + ], + "capabilities" : [ "CooperativeMatrixConversionQCOM" ], + "version" : "None" + }, + { + "opname" : "OpCompositeExtractCoopMatQCOM", + "class" : "Composite", + "opcode" : 4541, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Source Cooperative Matrix" } + ], + "capabilities" : [ "CooperativeMatrixConversionQCOM" ], + "version" : "None" + }, + { + "opname" : "OpExtractSubArrayQCOM", + "class" : "Composite", + "opcode" : 4542, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Source Array" }, + { "kind" : "IdRef", "name" : "index" } + ], + "capabilities" : [ "CooperativeMatrixConversionQCOM" ], + "version" : "None" + }, + { + "opname" : "OpGroupIAddNonUniformAMD", + "class" : "Group", + "opcode" : 5000, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "GroupOperation", "name" : "Operation" }, + { "kind" : "IdRef", "name" : "X" } + ], + "capabilities" : [ "Groups" ], + "extensions" : [ "SPV_AMD_shader_ballot" ], + "version" : "None" + }, + { + "opname" : "OpGroupFAddNonUniformAMD", + "class" : "Group", + "opcode" : 5001, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "GroupOperation", "name" : "Operation" }, + { "kind" : "IdRef", "name" : "X" } + ], + "capabilities" : [ "Groups" ], + "extensions" : [ "SPV_AMD_shader_ballot" ], + "version" : "None" + }, + { + "opname" : "OpGroupFMinNonUniformAMD", + "class" : "Group", + "opcode" : 5002, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "GroupOperation", "name" : "Operation" }, + { "kind" : "IdRef", "name" : "X" } + ], + "capabilities" : [ "Groups" ], + "extensions" : [ "SPV_AMD_shader_ballot" ], + "version" : "None" + }, + { + "opname" : "OpGroupUMinNonUniformAMD", + "class" : "Group", + "opcode" : 5003, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "GroupOperation", "name" : "Operation" }, + { "kind" : "IdRef", "name" : "X" } + ], + "capabilities" : [ "Groups" ], + "extensions" : [ "SPV_AMD_shader_ballot" ], + "version" : "None" + }, + { + "opname" : "OpGroupSMinNonUniformAMD", + "class" : "Group", + "opcode" : 5004, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "GroupOperation", "name" : "Operation" }, + { "kind" : "IdRef", "name" : "X" } + ], + "capabilities" : [ "Groups" ], + "extensions" : [ "SPV_AMD_shader_ballot" ], + "version" : "None" + }, + { + "opname" : "OpGroupFMaxNonUniformAMD", + "class" : "Group", + "opcode" : 5005, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "GroupOperation", "name" : "Operation" }, + { "kind" : "IdRef", "name" : "X" } + ], + "capabilities" : [ "Groups" ], + "extensions" : [ "SPV_AMD_shader_ballot" ], + "version" : "None" + }, + { + "opname" : "OpGroupUMaxNonUniformAMD", + "class" : "Group", + "opcode" : 5006, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "GroupOperation", "name" : "Operation" }, + { "kind" : "IdRef", "name" : "X" } + ], + "capabilities" : [ "Groups" ], + "extensions" : [ "SPV_AMD_shader_ballot" ], + "version" : "None" + }, + { + "opname" : "OpGroupSMaxNonUniformAMD", + "class" : "Group", + "opcode" : 5007, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "GroupOperation", "name" : "Operation" }, + { "kind" : "IdRef", "name" : "X" } + ], + "capabilities" : [ "Groups" ], + "extensions" : [ "SPV_AMD_shader_ballot" ], + "version" : "None" + }, + { + "opname" : "OpFragmentMaskFetchAMD", + "class" : "Reserved", + "opcode" : 5011, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Image" }, + { "kind" : "IdRef", "name" : "Coordinate" } + ], + "capabilities" : [ "FragmentMaskAMD" ], + "extensions" : [ "SPV_AMD_shader_fragment_mask" ], + "version" : "None" + }, + { + "opname" : "OpFragmentFetchAMD", + "class" : "Reserved", + "opcode" : 5012, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Image" }, + { "kind" : "IdRef", "name" : "Coordinate" }, + { "kind" : "IdRef", "name" : "Fragment Index" } + ], + "capabilities" : [ "FragmentMaskAMD" ], + "extensions" : [ "SPV_AMD_shader_fragment_mask" ], + "version" : "None" + }, + { + "opname" : "OpReadClockKHR", + "class" : "Reserved", + "opcode" : 5056, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Scope" } + ], + "capabilities" : [ "ShaderClockKHR" ], + "version" : "None" + }, + { + "opname" : "OpAllocateNodePayloadsAMDX", + "class" : "Reserved", + "opcode" : 5074, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Visibility" }, + { "kind" : "IdRef", "name": "Payload Count" }, + { "kind" : "IdRef", "name": "Node Index" } + ], + "capabilities" : [ "ShaderEnqueueAMDX" ], + "provisional" : true, + "version" : "None" + }, + { + "opname" : "OpEnqueueNodePayloadsAMDX", + "class" : "Reserved", + "opcode" : 5075, + "operands" : [ + { "kind" : "IdRef", "name": "Payload Array" } + ], + "capabilities" : [ "ShaderEnqueueAMDX" ], + "provisional" : true, + "version" : "None" + }, + { + "opname" : "OpTypeNodePayloadArrayAMDX", + "class" : "Reserved", + "opcode" : 5076, + "operands" : [ + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name": "Payload Type" } + ], + "capabilities" : [ "ShaderEnqueueAMDX" ], + "provisional" : true, + "version" : "None" + }, + { + "opname" : "OpFinishWritingNodePayloadAMDX", + "class" : "Reserved", + "opcode" : 5078, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name": "Payload" } + ], + "capabilities" : [ "ShaderEnqueueAMDX" ], + "provisional" : true, + "version" : "None" + }, + { + "opname" : "OpNodePayloadArrayLengthAMDX", + "class" : "Reserved", + "opcode" : 5090, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name": "Payload Array" } + ], + "capabilities" : [ "ShaderEnqueueAMDX" ], + "provisional" : true, + "version" : "None" + }, + { + "opname" : "OpIsNodePayloadValidAMDX", + "class" : "Reserved", + "opcode" : 5101, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name": "Payload Type" }, + { "kind" : "IdRef", "name": "Node Index" } + ], + "capabilities" : [ "ShaderEnqueueAMDX" ], + "provisional" : true, + "version": "None" + }, + { + "opname" : "OpConstantStringAMDX", + "class" : "Reserved", + "opcode" : 5103, + "operands" : [ + { "kind" : "IdResult" }, + { "kind" : "LiteralString", "name": "Literal String" } + ], + "capabilities" : [ "ShaderEnqueueAMDX" ], + "provisional" : true, + "version": "None" + }, + { + "opname" : "OpSpecConstantStringAMDX", + "class" : "Reserved", + "opcode" : 5104, + "operands" : [ + { "kind" : "IdResult" }, + { "kind" : "LiteralString", "name": "Literal String" } + ], + "capabilities" : [ "ShaderEnqueueAMDX" ], + "provisional" : true, + "version": "None" + }, + { + "opname" : "OpGroupNonUniformQuadAllKHR", + "class" : "Non-Uniform", + "opcode" : 5110, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Predicate" } + ], + "capabilities" : [ "QuadControlKHR" ], + "version" : "None" + }, + { + "opname" : "OpGroupNonUniformQuadAnyKHR", + "class" : "Non-Uniform", + "opcode" : 5111, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Predicate" } + ], + "capabilities" : [ "QuadControlKHR" ], + "version" : "None" + }, + { + "opname" : "OpTypeBufferEXT", + "class" : "Type-Declaration", + "opcode" : 5115, + "operands" : [ + { "kind" : "IdResult" }, + { "kind" : "StorageClass" } + ], + "capabilities": [ "DescriptorHeapEXT" ], + "version" : "None" + }, + { + "opname" : "OpBufferPointerEXT", + "class" : "Memory", + "opcode" : 5119, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Buffer" } + ], + "capabilities": [ "DescriptorHeapEXT" ], + "version" : "None" + }, + { + "opname" : "OpAbortKHR", + "class" : "Control-Flow", + "opcode" : 5121, + "operands" : [ + { "kind" : "IdRef", "name" : "Message Type" }, + { "kind" : "IdRef", "name" : "Message'" } + ], + "capabilities" : [ "AbortKHR" ], + "version" : "None" + }, + { + "opname" : "OpUntypedImageTexelPointerEXT", + "class" : "Memory", + "opcode" : 5126, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "ImageType" }, + { "kind" : "IdRef", "name" : "Image" }, + { "kind" : "IdRef", "name" : "Coordinate" }, + { "kind" : "IdRef", "name" : "Sample" } + ], + "capabilities": [ "DescriptorHeapEXT" ], + "version": "None" + }, + { + "opname" : "OpMemberDecorateIdEXT", + "class" : "Annotation", + "opcode" : 5127, + "operands" : [ + { "kind" : "IdRef", "name" : "Structure Type" }, + { "kind" : "LiteralInteger", "name" : "Member" }, + { "kind" : "Decoration" } + ], + "capabilities": [ "DescriptorHeapEXT" ], + "version" : "None" + }, + { + "opname" : "OpConstantSizeOfEXT", + "class" : "Constant-Creation", + "opcode" : 5129, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Type" } + ], + "capabilities": [ "DescriptorHeapEXT" ], + "version" : "None" + }, + { + "opname" : "OpConstantDataKHR", + "class" : "Constant-Creation", + "opcode" : 5147, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "Data" } + ], + "capabilities" : [ "ConstantDataKHR" ], + "version" : "None" + }, + { + "opname" : "OpSpecConstantDataKHR", + "class" : "Constant-Creation", + "opcode" : 5148, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "Data" } + ], + "capabilities" : [ "ConstantDataKHR" ], + "version" : "None" + }, + { + "opname" : "OpPoisonKHR", + "class" : "Miscellaneous", + "opcode" : 5158, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" } + ], + "capabilities" : [ "PoisonFreezeKHR" ], + "provisional" : true, + "version" : "None" + }, + { + "opname" : "OpFreezeKHR", + "class" : "Miscellaneous", + "opcode" : 5159, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Value" } + ], + "capabilities" : [ "PoisonFreezeKHR" ], + "provisional" : true, + "version" : "None" + }, + { + "opname" : "OpHitObjectRecordHitMotionNV", + "class" : "Reserved", + "opcode" : 5249, + "operands" : [ + { "kind" : "IdRef", "name" : "Hit Object" }, + { "kind" : "IdRef", "name" : "Acceleration Structure" }, + { "kind" : "IdRef", "name" : "InstanceId" }, + { "kind" : "IdRef", "name" : "PrimitiveId" }, + { "kind" : "IdRef", "name" : "GeometryIndex" }, + { "kind" : "IdRef", "name" : "Hit Kind" }, + { "kind" : "IdRef", "name" : "SBT Record Offset" }, + { "kind" : "IdRef", "name" : "SBT Record Stride" }, + { "kind" : "IdRef", "name" : "Origin" }, + { "kind" : "IdRef", "name" : "TMin" }, + { "kind" : "IdRef", "name" : "Direction" }, + { "kind" : "IdRef", "name" : "TMax" }, + { "kind" : "IdRef", "name" : "Current Time" }, + { "kind" : "IdRef", "name" : "HitObject Attributes" } + ], + "capabilities" : [ "ShaderInvocationReorderNV", "RayTracingMotionBlurNV" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectRecordHitWithIndexMotionNV", + "class" : "Reserved", + "opcode" : 5250, + "operands" : [ + { "kind" : "IdRef", "name" : "Hit Object" }, + { "kind" : "IdRef", "name" : "Acceleration Structure" }, + { "kind" : "IdRef", "name" : "InstanceId" }, + { "kind" : "IdRef", "name" : "PrimitiveId" }, + { "kind" : "IdRef", "name" : "GeometryIndex" }, + { "kind" : "IdRef", "name" : "Hit Kind" }, + { "kind" : "IdRef", "name" : "SBT Record Index" }, + { "kind" : "IdRef", "name" : "Origin" }, + { "kind" : "IdRef", "name" : "TMin" }, + { "kind" : "IdRef", "name" : "Direction" }, + { "kind" : "IdRef", "name" : "TMax" }, + { "kind" : "IdRef", "name" : "Current Time" }, + { "kind" : "IdRef", "name" : "HitObject Attributes" } + ], + "capabilities" : [ "ShaderInvocationReorderNV", "RayTracingMotionBlurNV" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectRecordMissMotionNV", + "class" : "Reserved", + "opcode" : 5251, + "operands" : [ + { "kind" : "IdRef", "name" : "Hit Object" }, + { "kind" : "IdRef", "name" : "SBT Index" }, + { "kind" : "IdRef", "name" : "Origin" }, + { "kind" : "IdRef", "name" : "TMin" }, + { "kind" : "IdRef", "name" : "Direction" }, + { "kind" : "IdRef", "name" : "TMax" }, + { "kind" : "IdRef", "name" : "Current Time" } + ], + "capabilities" : [ "ShaderInvocationReorderNV", "RayTracingMotionBlurNV" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectGetWorldToObjectNV", + "class" : "Reserved", + "opcode" : 5252, + "operands" : [ + { "kind" : "IdResultType"}, + { "kind" : "IdResult"}, + { "kind" : "IdRef", "name" : "Hit Object" } + ], + "capabilities" : [ "ShaderInvocationReorderNV" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectGetObjectToWorldNV", + "class" : "Reserved", + "opcode" : 5253, + "operands" : [ + { "kind" : "IdResultType"}, + { "kind" : "IdResult"}, + { "kind" : "IdRef", "name" : "Hit Object" } + ], + "capabilities" : [ "ShaderInvocationReorderNV" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectGetObjectRayDirectionNV", + "class" : "Reserved", + "opcode" : 5254, + "operands" : [ + { "kind" : "IdResultType"}, + { "kind" : "IdResult"}, + { "kind" : "IdRef", "name" : "Hit Object" } + ], + "capabilities" : [ "ShaderInvocationReorderNV" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectGetObjectRayOriginNV", + "class" : "Reserved", + "opcode" : 5255, + "operands" : [ + { "kind" : "IdResultType"}, + { "kind" : "IdResult"}, + { "kind" : "IdRef", "name" : "Hit Object" } + ], + "capabilities" : [ "ShaderInvocationReorderNV" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectTraceRayMotionNV", + "class" : "Reserved", + "opcode" : 5256, + "operands" : [ + { "kind" : "IdRef", "name" : "Hit Object" }, + { "kind" : "IdRef", "name" : "Acceleration Structure"}, + { "kind" : "IdRef", "name" : "RayFlags"}, + { "kind" : "IdRef", "name" : "Cullmask"}, + { "kind" : "IdRef", "name" : "SBT Record Offset"}, + { "kind" : "IdRef", "name" : "SBT Record Stride"}, + { "kind" : "IdRef", "name" : "Miss Index"}, + { "kind" : "IdRef", "name" : "Origin"}, + { "kind" : "IdRef", "name" : "TMin"}, + { "kind" : "IdRef", "name" : "Direction"}, + { "kind" : "IdRef", "name" : "TMax"}, + { "kind" : "IdRef", "name" : "Time"}, + { "kind" : "IdRef", "name" : "Payload"} + ], + "capabilities" : [ "ShaderInvocationReorderNV", "RayTracingMotionBlurNV" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectGetShaderRecordBufferHandleNV", + "class" : "Reserved", + "opcode" : 5257, + "operands" : [ + { "kind" : "IdResultType"}, + { "kind" : "IdResult"}, + { "kind" : "IdRef", "name" : "Hit Object" } + ], + "capabilities" : [ "ShaderInvocationReorderNV" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectGetShaderBindingTableRecordIndexNV", + "class" : "Reserved", + "opcode" : 5258, + "operands" : [ + { "kind" : "IdResultType"}, + { "kind" : "IdResult"}, + { "kind" : "IdRef", "name" : "Hit Object" } + ], + "capabilities" : [ "ShaderInvocationReorderNV" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectRecordEmptyNV", + "class" : "Reserved", + "opcode" : 5259, + "operands" : [ + { "kind" : "IdRef", "name" : "Hit Object" } + ], + "capabilities" : [ "ShaderInvocationReorderNV" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectTraceRayNV", + "class" : "Reserved", + "opcode" : 5260, + "operands" : [ + { "kind" : "IdRef", "name" : "Hit Object" }, + { "kind" : "IdRef", "name" : "Acceleration Structure"}, + { "kind" : "IdRef", "name" : "RayFlags"}, + { "kind" : "IdRef", "name" : "Cullmask"}, + { "kind" : "IdRef", "name" : "SBT Record Offset"}, + { "kind" : "IdRef", "name" : "SBT Record Stride"}, + { "kind" : "IdRef", "name" : "Miss Index"}, + { "kind" : "IdRef", "name" : "Origin"}, + { "kind" : "IdRef", "name" : "TMin"}, + { "kind" : "IdRef", "name" : "Direction"}, + { "kind" : "IdRef", "name" : "TMax"}, + { "kind" : "IdRef", "name" : "Payload"} + ], + "capabilities" : [ "ShaderInvocationReorderNV" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectRecordHitNV", + "class" : "Reserved", + "opcode" : 5261, + "operands" : [ + { "kind" : "IdRef", "name" : "Hit Object" }, + { "kind" : "IdRef", "name" : "Acceleration Structure" }, + { "kind" : "IdRef", "name" : "InstanceId" }, + { "kind" : "IdRef", "name" : "PrimitiveId" }, + { "kind" : "IdRef", "name" : "GeometryIndex" }, + { "kind" : "IdRef", "name" : "Hit Kind" }, + { "kind" : "IdRef", "name" : "SBT Record Offset" }, + { "kind" : "IdRef", "name" : "SBT Record Stride" }, + { "kind" : "IdRef", "name" : "Origin" }, + { "kind" : "IdRef", "name" : "TMin" }, + { "kind" : "IdRef", "name" : "Direction" }, + { "kind" : "IdRef", "name" : "TMax" }, + { "kind" : "IdRef", "name" : "HitObject Attributes" } + ], + "capabilities" : [ "ShaderInvocationReorderNV" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectRecordHitWithIndexNV", + "class" : "Reserved", + "opcode" : 5262, + "operands" : [ + { "kind" : "IdRef", "name" : "Hit Object" }, + { "kind" : "IdRef", "name" : "Acceleration Structure" }, + { "kind" : "IdRef", "name" : "InstanceId" }, + { "kind" : "IdRef", "name" : "PrimitiveId" }, + { "kind" : "IdRef", "name" : "GeometryIndex" }, + { "kind" : "IdRef", "name" : "Hit Kind" }, + { "kind" : "IdRef", "name" : "SBT Record Index" }, + { "kind" : "IdRef", "name" : "Origin" }, + { "kind" : "IdRef", "name" : "TMin" }, + { "kind" : "IdRef", "name" : "Direction" }, + { "kind" : "IdRef", "name" : "TMax" }, + { "kind" : "IdRef", "name" : "HitObject Attributes" } + ], + "capabilities" : [ "ShaderInvocationReorderNV" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectRecordMissNV", + "class" : "Reserved", + "opcode" : 5263, + "operands" : [ + { "kind" : "IdRef", "name" : "Hit Object" }, + { "kind" : "IdRef", "name" : "SBT Index" }, + { "kind" : "IdRef", "name" : "Origin" }, + { "kind" : "IdRef", "name" : "TMin" }, + { "kind" : "IdRef", "name" : "Direction" }, + { "kind" : "IdRef", "name" : "TMax" } + ], + "capabilities" : [ "ShaderInvocationReorderNV" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectExecuteShaderNV", + "class" : "Reserved", + "opcode" : 5264, + "operands" : [ + { "kind" : "IdRef", "name" : "Hit Object" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "ShaderInvocationReorderNV" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectGetCurrentTimeNV", + "class" : "Reserved", + "opcode" : 5265, + "operands" : [ + { "kind" : "IdResultType"}, + { "kind" : "IdResult"}, + { "kind" : "IdRef", "name" : "Hit Object" } + ], + "capabilities" : [ "ShaderInvocationReorderNV" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectGetAttributesNV", + "class" : "Reserved", + "opcode" : 5266, + "operands" : [ + { "kind" : "IdRef", "name" : "Hit Object" }, + { "kind" : "IdRef", "name" : "Hit Object Attribute" } + ], + "capabilities" : [ "ShaderInvocationReorderNV" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectGetHitKindNV", + "class" : "Reserved", + "opcode" : 5267, + "operands" : [ + { "kind" : "IdResultType"}, + { "kind" : "IdResult"}, + { "kind" : "IdRef", "name" : "Hit Object" } + ], + "capabilities" : [ "ShaderInvocationReorderNV" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectGetPrimitiveIndexNV", + "class" : "Reserved", + "opcode" : 5268, + "operands" : [ + { "kind" : "IdResultType"}, + { "kind" : "IdResult"}, + { "kind" : "IdRef", "name" : "Hit Object" } + ], + "capabilities" : [ "ShaderInvocationReorderNV" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectGetGeometryIndexNV", + "class" : "Reserved", + "opcode" : 5269, + "operands" : [ + { "kind" : "IdResultType"}, + { "kind" : "IdResult"}, + { "kind" : "IdRef", "name" : "Hit Object" } + ], + "capabilities" : [ "ShaderInvocationReorderNV" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectGetInstanceIdNV", + "class" : "Reserved", + "opcode" : 5270, + "operands" : [ + { "kind" : "IdResultType"}, + { "kind" : "IdResult"}, + { "kind" : "IdRef", "name" : "Hit Object" } + ], + "capabilities" : [ "ShaderInvocationReorderNV" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectGetInstanceCustomIndexNV", + "class" : "Reserved", + "opcode" : 5271, + "operands" : [ + { "kind" : "IdResultType"}, + { "kind" : "IdResult"}, + { "kind" : "IdRef", "name" : "Hit Object" } + ], + "capabilities" : [ "ShaderInvocationReorderNV" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectGetWorldRayDirectionNV", + "class" : "Reserved", + "opcode" : 5272, + "operands" : [ + { "kind" : "IdResultType"}, + { "kind" : "IdResult"}, + { "kind" : "IdRef", "name" : "Hit Object" } + ], + "capabilities" : [ "ShaderInvocationReorderNV" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectGetWorldRayOriginNV", + "class" : "Reserved", + "opcode" : 5273, + "operands" : [ + { "kind" : "IdResultType"}, + { "kind" : "IdResult"}, + { "kind" : "IdRef", "name" : "Hit Object" } + ], + "capabilities" : [ "ShaderInvocationReorderNV" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectGetRayTMaxNV", + "class" : "Reserved", + "opcode" : 5274, + "operands" : [ + { "kind" : "IdResultType"}, + { "kind" : "IdResult"}, + { "kind" : "IdRef", "name" : "Hit Object" } + ], + "capabilities" : [ "ShaderInvocationReorderNV" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectGetRayTMinNV", + "class" : "Reserved", + "opcode" : 5275, + "operands" : [ + { "kind" : "IdResultType"}, + { "kind" : "IdResult"}, + { "kind" : "IdRef", "name" : "Hit Object" } + ], + "capabilities" : [ "ShaderInvocationReorderNV" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectIsEmptyNV", + "class" : "Reserved", + "opcode" : 5276, + "operands" : [ + { "kind" : "IdResultType"}, + { "kind" : "IdResult"}, + { "kind" : "IdRef", "name" : "Hit Object" } + ], + "capabilities" : [ "ShaderInvocationReorderNV" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectIsHitNV", + "class" : "Reserved", + "opcode" : 5277, + "operands" : [ + { "kind" : "IdResultType"}, + { "kind" : "IdResult"}, + { "kind" : "IdRef", "name" : "Hit Object" } + ], + "capabilities" : [ "ShaderInvocationReorderNV" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectIsMissNV", + "class" : "Reserved", + "opcode" : 5278, + "operands" : [ + { "kind" : "IdResultType"}, + { "kind" : "IdResult"}, + { "kind" : "IdRef", "name" : "Hit Object" } + ], + "capabilities" : [ "ShaderInvocationReorderNV" ], + "version" : "None" + }, + { + "opname" : "OpReorderThreadWithHitObjectNV", + "class" : "Reserved", + "opcode" : 5279, + "operands" : [ + { "kind" : "IdRef", "name" : "Hit Object" }, + { "kind" : "IdRef", "quantifier" : "?", "name" : "Hint" }, + { "kind" : "IdRef", "quantifier" : "?", "name" : "Bits" } + ], + "capabilities" : [ "ShaderInvocationReorderNV" ], + "version" : "None" + }, + { + "opname" : "OpReorderThreadWithHintNV", + "class" : "Reserved", + "opcode" : 5280, + "operands" : [ + { "kind" : "IdRef", "name" : "Hint" }, + { "kind" : "IdRef", "name" : "Bits" } + ], + "capabilities" : [ "ShaderInvocationReorderNV" ], + "version" : "None" + }, + { + "opname" : "OpTypeHitObjectNV", + "class" : "Type-Declaration", + "opcode" : 5281, + "operands" : [ + { "kind" : "IdResult" } + ], + "capabilities" : [ "ShaderInvocationReorderNV" ], + "version" : "None" + }, + { + "opname" : "OpImageSampleFootprintNV", + "class" : "Image", + "opcode" : 5283, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Sampled Image" }, + { "kind" : "IdRef", "name" : "Coordinate" }, + { "kind" : "IdRef", "name" : "Granularity" }, + { "kind" : "IdRef", "name" : "Coarse" }, + { "kind" : "ImageOperands", "quantifier" : "?" } + ], + "capabilities" : [ "ImageFootprintNV" ], + "extensions" : [ "SPV_NV_shader_image_footprint" ], + "version" : "None" + }, + { + "opname" : "OpTypeVectorIdEXT", + "class" : "Type-Declaration", + "opcode" : 5288, + "aliases" : ["OpTypeCooperativeVectorNV"], + "operands" : [ + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Component Type" }, + { "kind" : "IdRef", "name" : "Component Count" } + ], + "capabilities" : [ "CooperativeVectorNV", "LongVectorEXT" ], + "version" : "None" + }, + { + "opname" : "OpCooperativeVectorMatrixMulNV", + "class" : "Reserved", + "opcode" : 5289, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Input" }, + { "kind" : "IdRef", "name" : "InputInterpretation" }, + { "kind" : "IdRef", "name" : "Matrix" }, + { "kind" : "IdRef", "name" : "MatrixOffset" }, + { "kind" : "IdRef", "name" : "MatrixInterpretation" }, + { "kind" : "IdRef", "name" : "M" }, + { "kind" : "IdRef", "name" : "K" }, + { "kind" : "IdRef", "name" : "MemoryLayout" }, + { "kind" : "IdRef", "name" : "Transpose" }, + { "kind" : "IdRef", "name" : "MatrixStride", "quantifier": "?" }, + { "kind" : "CooperativeMatrixOperands", "quantifier" : "?" } + ], + "capabilities" : [ "CooperativeVectorNV" ], + "version" : "None" + }, + { + "opname" : "OpCooperativeVectorOuterProductAccumulateNV", + "class" : "Reserved", + "opcode" : 5290, + "operands" : [ + { "kind" : "IdRef", "name" : "Pointer" }, + { "kind" : "IdRef", "name" : "Offset" }, + { "kind" : "IdRef", "name" : "A" }, + { "kind" : "IdRef", "name" : "B" }, + { "kind" : "IdRef", "name" : "MemoryLayout" }, + { "kind" : "IdRef", "name" : "MatrixInterpretation" }, + { "kind" : "IdRef", "name" : "MatrixStride", "quantifier": "?" } + ], + "capabilities" : [ "CooperativeVectorTrainingNV" ], + "version" : "None" + }, + { + "opname" : "OpCooperativeVectorReduceSumAccumulateNV", + "class" : "Reserved", + "opcode" : 5291, + "operands" : [ + { "kind" : "IdRef", "name" : "Pointer" }, + { "kind" : "IdRef", "name" : "Offset" }, + { "kind" : "IdRef", "name" : "V" } + ], + "capabilities" : [ "CooperativeVectorTrainingNV" ], + "version" : "None" + }, + { + "opname" : "OpCooperativeVectorMatrixMulAddNV", + "class" : "Reserved", + "opcode" : 5292, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Input" }, + { "kind" : "IdRef", "name" : "InputInterpretation" }, + { "kind" : "IdRef", "name" : "Matrix" }, + { "kind" : "IdRef", "name" : "MatrixOffset" }, + { "kind" : "IdRef", "name" : "MatrixInterpretation" }, + { "kind" : "IdRef", "name" : "Bias" }, + { "kind" : "IdRef", "name" : "BiasOffset" }, + { "kind" : "IdRef", "name" : "BiasInterpretation" }, + { "kind" : "IdRef", "name" : "M" }, + { "kind" : "IdRef", "name" : "K" }, + { "kind" : "IdRef", "name" : "MemoryLayout" }, + { "kind" : "IdRef", "name" : "Transpose" }, + { "kind" : "IdRef", "name" : "MatrixStride", "quantifier": "?" }, + { "kind" : "CooperativeMatrixOperands", "quantifier" : "?" } + ], + "capabilities" : [ "CooperativeVectorNV" ], + "version" : "None" + }, + { + "opname" : "OpCooperativeMatrixConvertNV", + "class" : "Conversion", + "opcode" : 5293, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Matrix" } + ], + "capabilities" : [ "CooperativeMatrixConversionsNV" ], + "version" : "None" + }, + { + "opname" : "OpEmitMeshTasksEXT", + "class" : "Reserved", + "opcode" : 5294, + "operands" : [ + { "kind" : "IdRef", "name" : "Group Count X" }, + { "kind" : "IdRef", "name" : "Group Count Y" }, + { "kind" : "IdRef", "name" : "Group Count Z" }, + { "kind" : "IdRef", "quantifier" : "?", "name" : "Payload" } + ], + "capabilities" : [ "MeshShadingEXT" ], + "version" : "None" + }, + { + "opname" : "OpSetMeshOutputsEXT", + "class" : "Reserved", + "opcode" : 5295, + "operands" : [ + { "kind" : "IdRef", "name" : "Vertex Count" }, + { "kind" : "IdRef", "name" : "Primitive Count" } + ], + "capabilities" : [ "MeshShadingEXT" ], + "version" : "None" + }, + { + "opname" : "OpGroupNonUniformPartitionEXT", + "class" : "Non-Uniform", + "aliases" : ["OpGroupNonUniformPartitionNV"], + "opcode" : 5296, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Value" } + ], + "capabilities" : [ "GroupNonUniformPartitionedEXT" ], + "version" : "None" + }, + { + "opname" : "OpWritePackedPrimitiveIndices4x8NV", + "class" : "Reserved", + "opcode" : 5299, + "operands" : [ + { "kind" : "IdRef", "name" : "Index Offset" }, + { "kind" : "IdRef", "name" : "Packed Indices" } + ], + "capabilities" : [ "MeshShadingNV" ], + "extensions" : [ "SPV_NV_mesh_shader" ], + "version" : "None" + }, + { + "opname" : "OpFetchMicroTriangleVertexPositionNV", + "class" : "Reserved", + "opcode" : 5300, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Accel" }, + { "kind" : "IdRef", "name" : "Instance Id" }, + { "kind" : "IdRef", "name" : "Geometry Index" }, + { "kind" : "IdRef", "name" : "Primitive Index" }, + { "kind" : "IdRef", "name" : "Barycentric" } + ], + "capabilities" : [ "DisplacementMicromapNV" ], + "version" : "None" + }, + { + "opname" : "OpFetchMicroTriangleVertexBarycentricNV", + "class" : "Reserved", + "opcode" : 5301, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Accel" }, + { "kind" : "IdRef", "name" : "Instance Id" }, + { "kind" : "IdRef", "name" : "Geometry Index" }, + { "kind" : "IdRef", "name" : "Primitive Index" }, + { "kind" : "IdRef", "name" : "Barycentric" } + ], + "capabilities" : [ "DisplacementMicromapNV" ], + "version" : "None" + }, + { + "opname" : "OpCooperativeVectorLoadNV", + "class" : "Memory", + "opcode" : 5302, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Pointer" }, + { "kind" : "IdRef", "name" : "Offset" }, + { "kind" : "MemoryAccess", "quantifier" : "?" } + ], + "capabilities" : [ "CooperativeVectorNV" ], + "version" : "None" + }, + { + "opname" : "OpCooperativeVectorStoreNV", + "class" : "Memory", + "opcode" : 5303, + "operands" : [ + { "kind" : "IdRef", "name" : "Pointer" }, + { "kind" : "IdRef", "name" : "Offset" }, + { "kind" : "IdRef", "name" : "Object" }, + { "kind" : "MemoryAccess", "quantifier" : "?" } + ], + "capabilities" : [ "CooperativeVectorNV" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectRecordFromQueryEXT", + "class" : "Reserved", + "opcode" : 5304, + "operands" : [ + { "kind" : "IdRef", "name" : "Hit Object" }, + { "kind" : "IdRef", "name" : "Ray Query" }, + { "kind" : "IdRef", "name" : "SBT Record Index" }, + { "kind" : "IdRef", "name" : "Hit Object Attributes" }, + { "kind" : "IdRef", "quantifier" : "?", "name" : "Hit Kind" } + ], + "capabilities" : [ "ShaderInvocationReorderEXT" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectRecordMissEXT", + "class" : "Reserved", + "opcode" : 5305, + "operands" : [ + { "kind" : "IdRef", "name" : "Hit Object" }, + { "kind" : "IdRef", "name" : "Ray Flags" }, + { "kind" : "IdRef", "name" : "Miss Index" }, + { "kind" : "IdRef", "name" : "Ray Origin" }, + { "kind" : "IdRef", "name" : "Ray Tmin" }, + { "kind" : "IdRef", "name" : "Ray Direction" }, + { "kind" : "IdRef", "name" : "Ray Tmax" } + ], + "capabilities" : [ "ShaderInvocationReorderEXT" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectRecordMissMotionEXT", + "class" : "Reserved", + "opcode" : 5306, + "operands" : [ + { "kind" : "IdRef", "name" : "Hit Object" }, + { "kind" : "IdRef", "name" : "Ray Flags" }, + { "kind" : "IdRef", "name" : "Miss Index" }, + { "kind" : "IdRef", "name" : "Ray Origin" }, + { "kind" : "IdRef", "name" : "Ray Tmin" }, + { "kind" : "IdRef", "name" : "Ray Direction" }, + { "kind" : "IdRef", "name" : "Ray Tmax" }, + { "kind" : "IdRef", "name" : "Current Time" } + ], + "capabilities" : [ "ShaderInvocationReorderEXT", "RayTracingMotionBlurNV" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectGetIntersectionTriangleVertexPositionsEXT", + "class" : "Reserved", + "opcode" : 5307, + "operands" : [ + { "kind" : "IdResultType"}, + { "kind" : "IdResult"}, + { "kind" : "IdRef", "name" : "Hit Object" } + ], + "capabilities" : [ "ShaderInvocationReorderEXT" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectGetRayFlagsEXT", + "class" : "Reserved", + "opcode" : 5308, + "operands" : [ + { "kind" : "IdResultType"}, + { "kind" : "IdResult"}, + { "kind" : "IdRef", "name" : "Hit Object" } + ], + "capabilities" : [ "ShaderInvocationReorderEXT" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectSetShaderBindingTableRecordIndexEXT", + "class" : "Reserved", + "opcode" : 5309, + "operands" : [ + { "kind" : "IdRef", "name" : "Hit Object" }, + { "kind" : "IdRef", "name" : "SBT Record Index" } + ], + "capabilities" : [ "ShaderInvocationReorderEXT" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectReorderExecuteShaderEXT", + "class" : "Reserved", + "opcode" : 5310, + "operands" : [ + { "kind" : "IdRef", "name" : "Hit Object" }, + { "kind" : "IdRef", "name" : "Payload" }, + { "kind" : "IdRef", "quantifier" : "?", "name" : "Hint" }, + { "kind" : "IdRef", "quantifier" : "?", "name" : "Bits" } + ], + "capabilities" : [ "ShaderInvocationReorderEXT" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectTraceReorderExecuteEXT", + "class" : "Reserved", + "opcode" : 5311, + "operands" : [ + { "kind" : "IdRef", "name" : "Hit Object" }, + { "kind" : "IdRef", "name" : "Acceleration Structure"}, + { "kind" : "IdRef", "name" : "Ray Flags"}, + { "kind" : "IdRef", "name" : "Cull Mask"}, + { "kind" : "IdRef", "name" : "SBT Offset"}, + { "kind" : "IdRef", "name" : "SBT Stride"}, + { "kind" : "IdRef", "name" : "Miss Index"}, + { "kind" : "IdRef", "name" : "Ray Origin"}, + { "kind" : "IdRef", "name" : "Ray Tmin"}, + { "kind" : "IdRef", "name" : "Ray Direction"}, + { "kind" : "IdRef", "name" : "Ray Tmax"}, + { "kind" : "IdRef", "name" : "Payload"}, + { "kind" : "IdRef", "quantifier" : "?", "name" : "Hint" }, + { "kind" : "IdRef", "quantifier" : "?", "name" : "Bits" } + ], + "capabilities" : [ "ShaderInvocationReorderEXT" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectTraceMotionReorderExecuteEXT", + "class" : "Reserved", + "opcode" : 5312, + "operands" : [ + { "kind" : "IdRef", "name" : "Hit Object" }, + { "kind" : "IdRef", "name" : "Acceleration Structure"}, + { "kind" : "IdRef", "name" : "Ray Flags"}, + { "kind" : "IdRef", "name" : "Cull Mask"}, + { "kind" : "IdRef", "name" : "SBT Offset"}, + { "kind" : "IdRef", "name" : "SBT Stride"}, + { "kind" : "IdRef", "name" : "Miss Index"}, + { "kind" : "IdRef", "name" : "Ray Origin"}, + { "kind" : "IdRef", "name" : "Ray Tmin"}, + { "kind" : "IdRef", "name" : "Ray Direction"}, + { "kind" : "IdRef", "name" : "Ray Tmax"}, + { "kind" : "IdRef", "name" : "Current Time"}, + { "kind" : "IdRef", "name" : "Payload"}, + { "kind" : "IdRef", "quantifier" : "?", "name" : "Hint" }, + { "kind" : "IdRef", "quantifier" : "?", "name" : "Bits" } + ], + "capabilities" : [ "ShaderInvocationReorderEXT", "RayTracingMotionBlurNV" ], + "version" : "None" + }, + { + "opname" : "OpTypeHitObjectEXT", + "class" : "Type-Declaration", + "opcode" : 5313, + "operands" : [ + { "kind" : "IdResult" } + ], + "capabilities" : [ "ShaderInvocationReorderEXT" ], + "version" : "None" + }, + { + "opname" : "OpReorderThreadWithHintEXT", + "class" : "Reserved", + "opcode" : 5314, + "operands" : [ + { "kind" : "IdRef", "name" : "Hint" }, + { "kind" : "IdRef", "name" : "Bits" } + ], + "capabilities" : [ "ShaderInvocationReorderEXT" ], + "version" : "None" + }, + { + "opname" : "OpReorderThreadWithHitObjectEXT", + "class" : "Reserved", + "opcode" : 5315, + "operands" : [ + { "kind" : "IdRef", "name" : "Hit Object" }, + { "kind" : "IdRef", "quantifier" : "?", "name" : "Hint" }, + { "kind" : "IdRef", "quantifier" : "?", "name" : "Bits" } + ], + "capabilities" : [ "ShaderInvocationReorderEXT" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectTraceRayEXT", + "class" : "Reserved", + "opcode" : 5316, + "operands" : [ + { "kind" : "IdRef", "name" : "Hit Object" }, + { "kind" : "IdRef", "name" : "Acceleration Structure"}, + { "kind" : "IdRef", "name" : "Ray Flags"}, + { "kind" : "IdRef", "name" : "Cull Mask"}, + { "kind" : "IdRef", "name" : "SBT Offset"}, + { "kind" : "IdRef", "name" : "SBT Stride"}, + { "kind" : "IdRef", "name" : "Miss Index"}, + { "kind" : "IdRef", "name" : "Ray Origin"}, + { "kind" : "IdRef", "name" : "Ray Tmin"}, + { "kind" : "IdRef", "name" : "Ray Direction"}, + { "kind" : "IdRef", "name" : "Ray Tmax"}, + { "kind" : "IdRef", "name" : "Payload"} + ], + "capabilities" : [ "ShaderInvocationReorderEXT" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectTraceRayMotionEXT", + "class" : "Reserved", + "opcode" : 5317, + "operands" : [ + { "kind" : "IdRef", "name" : "Hit Object" }, + { "kind" : "IdRef", "name" : "Acceleration Structure"}, + { "kind" : "IdRef", "name" : "Ray Flags"}, + { "kind" : "IdRef", "name" : "Cull Mask"}, + { "kind" : "IdRef", "name" : "SBT Offset"}, + { "kind" : "IdRef", "name" : "SBT Stride"}, + { "kind" : "IdRef", "name" : "Miss Index"}, + { "kind" : "IdRef", "name" : "Ray Origin"}, + { "kind" : "IdRef", "name" : "Ray Tmin"}, + { "kind" : "IdRef", "name" : "Ray Direction"}, + { "kind" : "IdRef", "name" : "Ray Tmax"}, + { "kind" : "IdRef", "name" : "Current Time"}, + { "kind" : "IdRef", "name" : "Payload"} + ], + "capabilities" : [ "ShaderInvocationReorderEXT", "RayTracingMotionBlurNV" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectRecordEmptyEXT", + "class" : "Reserved", + "opcode" : 5318, + "operands" : [ + { "kind" : "IdRef", "name" : "Hit Object" } + ], + "capabilities" : [ "ShaderInvocationReorderEXT" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectExecuteShaderEXT", + "class" : "Reserved", + "opcode" : 5319, + "operands" : [ + { "kind" : "IdRef", "name" : "Hit Object" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "ShaderInvocationReorderEXT" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectGetCurrentTimeEXT", + "class" : "Reserved", + "opcode" : 5320, + "operands" : [ + { "kind" : "IdResultType"}, + { "kind" : "IdResult"}, + { "kind" : "IdRef", "name" : "Hit Object" } + ], + "capabilities" : [ "ShaderInvocationReorderEXT" , "RayTracingMotionBlurNV" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectGetAttributesEXT", + "class" : "Reserved", + "opcode" : 5321, + "operands" : [ + { "kind" : "IdRef", "name" : "Hit Object" }, + { "kind" : "IdRef", "name" : "Hit Object Attribute" } + ], + "capabilities" : [ "ShaderInvocationReorderEXT" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectGetHitKindEXT", + "class" : "Reserved", + "opcode" : 5322, + "operands" : [ + { "kind" : "IdResultType"}, + { "kind" : "IdResult"}, + { "kind" : "IdRef", "name" : "Hit Object" } + ], + "capabilities" : [ "ShaderInvocationReorderEXT" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectGetPrimitiveIndexEXT", + "class" : "Reserved", + "opcode" : 5323, + "operands" : [ + { "kind" : "IdResultType"}, + { "kind" : "IdResult"}, + { "kind" : "IdRef", "name" : "Hit Object" } + ], + "capabilities" : [ "ShaderInvocationReorderEXT" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectGetGeometryIndexEXT", + "class" : "Reserved", + "opcode" : 5324, + "operands" : [ + { "kind" : "IdResultType"}, + { "kind" : "IdResult"}, + { "kind" : "IdRef", "name" : "Hit Object" } + ], + "capabilities" : [ "ShaderInvocationReorderEXT" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectGetInstanceIdEXT", + "class" : "Reserved", + "opcode" : 5325, + "operands" : [ + { "kind" : "IdResultType"}, + { "kind" : "IdResult"}, + { "kind" : "IdRef", "name" : "Hit Object" } + ], + "capabilities" : [ "ShaderInvocationReorderEXT" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectGetInstanceCustomIndexEXT", + "class" : "Reserved", + "opcode" : 5326, + "operands" : [ + { "kind" : "IdResultType"}, + { "kind" : "IdResult"}, + { "kind" : "IdRef", "name" : "Hit Object" } + ], + "capabilities" : [ "ShaderInvocationReorderEXT" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectGetObjectRayOriginEXT", + "class" : "Reserved", + "opcode" : 5327, + "operands" : [ + { "kind" : "IdResultType"}, + { "kind" : "IdResult"}, + { "kind" : "IdRef", "name" : "Hit Object" } + ], + "capabilities" : [ "ShaderInvocationReorderEXT" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectGetObjectRayDirectionEXT", + "class" : "Reserved", + "opcode" : 5328, + "operands" : [ + { "kind" : "IdResultType"}, + { "kind" : "IdResult"}, + { "kind" : "IdRef", "name" : "Hit Object" } + ], + "capabilities" : [ "ShaderInvocationReorderEXT" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectGetWorldRayDirectionEXT", + "class" : "Reserved", + "opcode" : 5329, + "operands" : [ + { "kind" : "IdResultType"}, + { "kind" : "IdResult"}, + { "kind" : "IdRef", "name" : "Hit Object" } + ], + "capabilities" : [ "ShaderInvocationReorderEXT" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectGetWorldRayOriginEXT", + "class" : "Reserved", + "opcode" : 5330, + "operands" : [ + { "kind" : "IdResultType"}, + { "kind" : "IdResult"}, + { "kind" : "IdRef", "name" : "Hit Object" } + ], + "capabilities" : [ "ShaderInvocationReorderEXT" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectGetObjectToWorldEXT", + "class" : "Reserved", + "opcode" : 5331, + "operands" : [ + { "kind" : "IdResultType"}, + { "kind" : "IdResult"}, + { "kind" : "IdRef", "name" : "Hit Object" } + ], + "capabilities" : [ "ShaderInvocationReorderEXT" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectGetWorldToObjectEXT", + "class" : "Reserved", + "opcode" : 5332, + "operands" : [ + { "kind" : "IdResultType"}, + { "kind" : "IdResult"}, + { "kind" : "IdRef", "name" : "Hit Object" } + ], + "capabilities" : [ "ShaderInvocationReorderEXT" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectGetRayTMaxEXT", + "class" : "Reserved", + "opcode" : 5333, + "operands" : [ + { "kind" : "IdResultType"}, + { "kind" : "IdResult"}, + { "kind" : "IdRef", "name" : "Hit Object" } + ], + "capabilities" : [ "ShaderInvocationReorderEXT" ], + "version" : "None" + }, + { + "opname" : "OpReportIntersectionKHR", + "class" : "Reserved", + "aliases" : ["OpReportIntersectionNV"], + "opcode" : 5334, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Hit" }, + { "kind" : "IdRef", "name" : "HitKind" } + ], + "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ], + "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ], + "version" : "None" + }, + { + "opname" : "OpIgnoreIntersectionNV", + "class" : "Reserved", + "opcode" : 5335, + "capabilities" : [ "RayTracingNV" ], + "extensions" : [ "SPV_NV_ray_tracing" ], + "version" : "None" + }, + { + "opname" : "OpTerminateRayNV", + "class" : "Reserved", + "opcode" : 5336, + "capabilities" : [ "RayTracingNV" ], + "extensions" : [ "SPV_NV_ray_tracing" ], + "version" : "None" + }, + { + "opname" : "OpTraceNV", + "class" : "Reserved", + "opcode" : 5337, + "operands" : [ + + { "kind" : "IdRef", "name" : "Accel" }, + { "kind" : "IdRef", "name" : "Ray Flags" }, + { "kind" : "IdRef", "name" : "Cull Mask" }, + { "kind" : "IdRef", "name" : "SBT Offset" }, + { "kind" : "IdRef", "name" : "SBT Stride" }, + { "kind" : "IdRef", "name" : "Miss Index" }, + { "kind" : "IdRef", "name" : "Ray Origin" }, + { "kind" : "IdRef", "name" : "Ray Tmin" }, + { "kind" : "IdRef", "name" : "Ray Direction" }, + { "kind" : "IdRef", "name" : "Ray Tmax" }, + { "kind" : "IdRef", "name" : "PayloadId" } + ], + "capabilities" : [ "RayTracingNV" ], + "extensions" : [ "SPV_NV_ray_tracing" ], + "version" : "None" + }, + { + "opname" : "OpTraceMotionNV", + "class" : "Reserved", + "opcode" : 5338, + "operands" : [ + + { "kind" : "IdRef", "name" : "Accel" }, + { "kind" : "IdRef", "name" : "Ray Flags" }, + { "kind" : "IdRef", "name" : "Cull Mask" }, + { "kind" : "IdRef", "name" : "SBT Offset" }, + { "kind" : "IdRef", "name" : "SBT Stride" }, + { "kind" : "IdRef", "name" : "Miss Index" }, + { "kind" : "IdRef", "name" : "Ray Origin" }, + { "kind" : "IdRef", "name" : "Ray Tmin" }, + { "kind" : "IdRef", "name" : "Ray Direction" }, + { "kind" : "IdRef", "name" : "Ray Tmax" }, + { "kind" : "IdRef", "name" : "Time" }, + { "kind" : "IdRef", "name" : "PayloadId" } + ], + "capabilities" : [ "RayTracingMotionBlurNV" ], + "extensions" : [ "SPV_NV_ray_tracing_motion_blur" ], + "version" : "None" + }, + { + "opname" : "OpTraceRayMotionNV", + "class" : "Reserved", + "opcode" : 5339, + "operands" : [ + + { "kind" : "IdRef", "name" : "Accel" }, + { "kind" : "IdRef", "name" : "Ray Flags" }, + { "kind" : "IdRef", "name" : "Cull Mask" }, + { "kind" : "IdRef", "name" : "SBT Offset" }, + { "kind" : "IdRef", "name" : "SBT Stride" }, + { "kind" : "IdRef", "name" : "Miss Index" }, + { "kind" : "IdRef", "name" : "Ray Origin" }, + { "kind" : "IdRef", "name" : "Ray Tmin" }, + { "kind" : "IdRef", "name" : "Ray Direction" }, + { "kind" : "IdRef", "name" : "Ray Tmax" }, + { "kind" : "IdRef", "name" : "Time" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "RayTracingMotionBlurNV" ], + "extensions" : [ "SPV_NV_ray_tracing_motion_blur" ], + "version" : "None" + }, + { + "opname" : "OpRayQueryGetIntersectionTriangleVertexPositionsKHR", + "class" : "Reserved", + "opcode" : 5340, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { + "kind" : "IdRef", + "name" : "RayQuery" + }, + { + "kind" : "IdRef", + "name" : "Intersection" + } + ], + "capabilities" : [ "RayQueryPositionFetchKHR" ], + "version" : "None" + }, + { + "opname" : "OpTypeAccelerationStructureKHR", + "class" : "Type-Declaration", + "aliases" : ["OpTypeAccelerationStructureNV"], + "opcode" : 5341, + "operands" : [ + { "kind" : "IdResult" } + ], + "capabilities" : [ "RayTracingNV" , "RayTracingKHR", "RayQueryKHR", "DisplacementMicromapNV" ], + "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing", "SPV_KHR_ray_query", "SPV_NV_displacement_micromap" ], + "version" : "None" + }, + { + "opname" : "OpExecuteCallableNV", + "class" : "Reserved", + "opcode" : 5344, + "operands" : [ + + { "kind" : "IdRef", "name" : "SBT Index" }, + { "kind" : "IdRef", "name" : "Callable DataId" } + ], + "capabilities" : [ "RayTracingNV" ], + "extensions" : [ "SPV_NV_ray_tracing" ], + "version" : "None" + }, + { + "opname" : "OpRayQueryGetIntersectionClusterIdNV", + "class" : "Reserved", + "aliases" : ["OpRayQueryGetClusterIdNV"], + "opcode" : 5345, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { + "kind" : "IdRef", + "name" : "RayQuery" + }, + { + "kind" : "IdRef", + "name" : "Intersection" + } + ], + "capabilities" : [ "RayTracingClusterAccelerationStructureNV" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectGetClusterIdNV", + "class" : "Reserved", + "opcode" : 5346, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Hit Object" } + ], + "capabilities" : [ "RayTracingClusterAccelerationStructureNV" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectGetRayTMinEXT", + "class" : "Reserved", + "opcode" : 5347, + "operands" : [ + { "kind" : "IdResultType"}, + { "kind" : "IdResult"}, + { "kind" : "IdRef", "name" : "Hit Object" } + ], + "capabilities" : [ "ShaderInvocationReorderEXT" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectGetShaderBindingTableRecordIndexEXT", + "class" : "Reserved", + "opcode" : 5348, + "operands" : [ + { "kind" : "IdResultType"}, + { "kind" : "IdResult"}, + { "kind" : "IdRef", "name" : "Hit Object" } + ], + "capabilities" : [ "ShaderInvocationReorderEXT" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectGetShaderRecordBufferHandleEXT", + "class" : "Reserved", + "opcode" : 5349, + "operands" : [ + { "kind" : "IdResultType"}, + { "kind" : "IdResult"}, + { "kind" : "IdRef", "name" : "Hit Object" } + ], + "capabilities" : [ "ShaderInvocationReorderEXT" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectIsEmptyEXT", + "class" : "Reserved", + "opcode" : 5350, + "operands" : [ + { "kind" : "IdResultType"}, + { "kind" : "IdResult"}, + { "kind" : "IdRef", "name" : "Hit Object" } + ], + "capabilities" : [ "ShaderInvocationReorderEXT" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectIsHitEXT", + "class" : "Reserved", + "opcode" : 5351, + "operands" : [ + { "kind" : "IdResultType"}, + { "kind" : "IdResult"}, + { "kind" : "IdRef", "name" : "Hit Object" } + ], + "capabilities" : [ "ShaderInvocationReorderEXT" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectIsMissEXT", + "class" : "Reserved", + "opcode" : 5352, + "operands" : [ + { "kind" : "IdResultType"}, + { "kind" : "IdResult"}, + { "kind" : "IdRef", "name" : "Hit Object" } + ], + "capabilities" : [ "ShaderInvocationReorderEXT" ], + "version" : "None" + }, + { + "opname" : "OpTypeCooperativeMatrixNV", + "class" : "Type-Declaration", + "opcode" : 5358, + "operands" : [ + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Component Type" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "IdRef", "name" : "Rows" }, + { "kind" : "IdRef", "name" : "Columns" } + ], + "capabilities" : [ "CooperativeMatrixNV" ], + "extensions" : [ "SPV_NV_cooperative_matrix" ], + "version" : "None" + }, + { + "opname" : "OpCooperativeMatrixLoadNV", + "class" : "Reserved", + "opcode" : 5359, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Pointer" }, + { "kind" : "IdRef", "name" : "Stride" }, + { "kind" : "IdRef", "name" : "Column Major" }, + { "kind" : "MemoryAccess", "quantifier" : "?" } + ], + "capabilities" : [ "CooperativeMatrixNV" ], + "extensions" : [ "SPV_NV_cooperative_matrix" ], + "version" : "None" + }, + { + "opname" : "OpCooperativeMatrixStoreNV", + "class" : "Reserved", + "opcode" : 5360, + "operands" : [ + { "kind" : "IdRef", "name" : "Pointer" }, + { "kind" : "IdRef", "name" : "Object" }, + { "kind" : "IdRef", "name" : "Stride" }, + { "kind" : "IdRef", "name" : "Column Major" }, + { "kind" : "MemoryAccess", "quantifier" : "?" } + ], + "capabilities" : [ "CooperativeMatrixNV" ], + "extensions" : [ "SPV_NV_cooperative_matrix" ], + "version" : "None" + }, + { + "opname" : "OpCooperativeMatrixMulAddNV", + "class" : "Reserved", + "opcode" : 5361, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "A" }, + { "kind" : "IdRef", "name" : "B" }, + { "kind" : "IdRef", "name" : "C" } + ], + "capabilities" : [ "CooperativeMatrixNV" ], + "extensions" : [ "SPV_NV_cooperative_matrix" ], + "version" : "None" + }, + { + "opname" : "OpCooperativeMatrixLengthNV", + "class" : "Reserved", + "opcode" : 5362, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Type" } + ], + "capabilities" : [ "CooperativeMatrixNV" ], + "extensions" : [ "SPV_NV_cooperative_matrix" ], + "version" : "None" + }, + { + "opname" : "OpBeginInvocationInterlockEXT", + "class" : "Reserved", + "opcode" : 5364, + "capabilities" : [ "FragmentShaderSampleInterlockEXT", "FragmentShaderPixelInterlockEXT", "FragmentShaderShadingRateInterlockEXT" ], + "extensions" : [ "SPV_EXT_fragment_shader_interlock" ], + "version" : "None" + }, + { + "opname" : "OpEndInvocationInterlockEXT", + "class" : "Reserved", + "opcode" : 5365, + "capabilities" : [ "FragmentShaderSampleInterlockEXT", "FragmentShaderPixelInterlockEXT", "FragmentShaderShadingRateInterlockEXT" ], + "extensions" : [ "SPV_EXT_fragment_shader_interlock" ], + "version" : "None" + }, + { + "opname" : "OpCooperativeMatrixReduceNV", + "class" : "Arithmetic", + "opcode" : 5366, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Matrix" }, + { "kind" : "CooperativeMatrixReduce", "name" : "Reduce" }, + { "kind" : "IdRef", "name" : "CombineFunc" } + ], + "capabilities" : [ "CooperativeMatrixReductionsNV" ], + "version" : "None" + }, + { + "opname" : "OpCooperativeMatrixLoadTensorNV", + "class" : "Memory", + "opcode" : 5367, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Pointer" }, + { "kind" : "IdRef", "name" : "Object" }, + { "kind" : "IdRef", "name" : "TensorLayout" }, + { "kind" : "MemoryAccess", "name" : "Memory Operand"}, + { "kind" : "TensorAddressingOperands", "name" : "Tensor Addressing Operands"} + ], + "capabilities" : [ "CooperativeMatrixTensorAddressingNV" ], + "version" : "None" + }, + { + "opname" : "OpCooperativeMatrixStoreTensorNV", + "class" : "Memory", + "opcode" : 5368, + "operands" : [ + { "kind" : "IdRef", "name" : "Pointer" }, + { "kind" : "IdRef", "name" : "Object" }, + { "kind" : "IdRef", "name" : "TensorLayout" }, + { "kind" : "MemoryAccess", "name" : "Memory Operand"}, + { "kind" : "TensorAddressingOperands", "name" : "Tensor Addressing Operands"} + ], + "capabilities" : [ "CooperativeMatrixTensorAddressingNV" ], + "version" : "None" + }, + { + "opname" : "OpCooperativeMatrixPerElementOpNV", + "class" : "Function", + "opcode" : 5369, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Matrix" }, + { "kind" : "IdRef", "name" : "Func" }, + { "kind" : "IdRef", "quantifier" : "*", "name" : "Operands" } + ], + "capabilities" : [ "CooperativeMatrixPerElementOperationsNV" ], + "version" : "None" + }, + { + "opname" : "OpTypeTensorLayoutNV", + "class" : "Type-Declaration", + "opcode" : 5370, + "operands" : [ + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Dim" }, + { "kind" : "IdRef", "name" : "ClampMode" } + ], + "capabilities" : [ "TensorAddressingNV" ], + "version" : "None" + }, + { + "opname" : "OpTypeTensorViewNV", + "class" : "Type-Declaration", + "opcode" : 5371, + "operands" : [ + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Dim" }, + { "kind" : "IdRef", "name" : "HasDimensions" }, + { "kind" : "IdRef", "quantifier" : "*", "name" : "p" } + ], + "capabilities" : [ "TensorAddressingNV" ], + "version" : "None" + }, + { + "opname" : "OpCreateTensorLayoutNV", + "class" : "Reserved", + "opcode" : 5372, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" } + ], + "capabilities" : [ "TensorAddressingNV" ], + "version" : "None" + }, + { + "opname" : "OpTensorLayoutSetDimensionNV", + "class" : "Reserved", + "opcode" : 5373, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "TensorLayout" }, + { "kind" : "IdRef", "quantifier" : "*", "name" : "Dim" } + + ], + "capabilities" : [ "TensorAddressingNV" ], + "version" : "None" + }, + { + "opname" : "OpTensorLayoutSetStrideNV", + "class" : "Reserved", + "opcode" : 5374, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "TensorLayout" }, + { "kind" : "IdRef", "quantifier" : "*", "name" : "Stride" } + + ], + "capabilities" : [ "TensorAddressingNV" ], + "version" : "None" + }, + { + "opname" : "OpTensorLayoutSliceNV", + "class" : "Reserved", + "opcode" : 5375, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "TensorLayout" }, + { "kind" : "IdRef", "quantifier" : "*", "name" : "Operands" } + + ], + "capabilities" : [ "TensorAddressingNV" ], + "version" : "None" + }, + { + "opname" : "OpTensorLayoutSetClampValueNV", + "class" : "Reserved", + "opcode" : 5376, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "TensorLayout" }, + { "kind" : "IdRef", "name" : "Value" } + + ], + "capabilities" : [ "TensorAddressingNV" ], + "version" : "None" + }, + { + "opname" : "OpCreateTensorViewNV", + "class" : "Reserved", + "opcode" : 5377, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" } + ], + "capabilities" : [ "TensorAddressingNV" ], + "version" : "None" + }, + { + "opname" : "OpTensorViewSetDimensionNV", + "class" : "Reserved", + "opcode" : 5378, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "TensorView" }, + { "kind" : "IdRef", "quantifier" : "*", "name" : "Dim" } + + ], + "capabilities" : [ "TensorAddressingNV" ], + "version" : "None" + }, + { + "opname" : "OpTensorViewSetStrideNV", + "class" : "Reserved", + "opcode" : 5379, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "TensorView" }, + { "kind" : "IdRef", "quantifier" : "*", "name" : "Stride" } + + ], + "capabilities" : [ "TensorAddressingNV" ], + "version" : "None" + }, + { + "opname" : "OpDemoteToHelperInvocation", + "class" : "Control-Flow", + "aliases" : ["OpDemoteToHelperInvocationEXT"], + "opcode" : 5380, + "capabilities" : [ "DemoteToHelperInvocation" ], + "version" : "1.6" + }, + { + "opname" : "OpIsHelperInvocationEXT", + "class" : "Reserved", + "opcode" : 5381, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" } + ], + "capabilities" : [ "DemoteToHelperInvocation" ], + "extensions" : [ "SPV_EXT_demote_to_helper_invocation" ], + "version" : "None" + }, + { + "opname" : "OpTensorViewSetClipNV", + "class" : "Reserved", + "opcode" : 5382, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "TensorView" }, + { "kind" : "IdRef", "name" : "ClipRowOffset" }, + { "kind" : "IdRef", "name" : "ClipRowSpan" }, + { "kind" : "IdRef", "name" : "ClipColOffset" }, + { "kind" : "IdRef", "name" : "ClipColSpan" } + ], + "capabilities" : [ "TensorAddressingNV" ], + "version" : "None" + }, + { + "opname" : "OpTensorLayoutSetBlockSizeNV", + "class" : "Reserved", + "opcode" : 5384, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "TensorLayout" }, + { "kind" : "IdRef", "quantifier" : "*", "name" : "BlockSize" } + + ], + "capabilities" : [ "TensorAddressingNV" ], + "version" : "None" + }, + { + "opname" : "OpCooperativeMatrixTransposeNV", + "class" : "Conversion", + "opcode" : 5390, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Matrix" } + ], + "capabilities" : [ "CooperativeMatrixConversionsNV" ], + "version" : "None" + }, + { + "opname" : "OpConvertUToImageNV", + "class" : "Reserved", + "opcode" : 5391, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand" } + ], + "capabilities" : [ "BindlessTextureNV" ], + "version" : "None" + }, + { + "opname" : "OpConvertUToSamplerNV", + "class" : "Reserved", + "opcode" : 5392, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand" } + ], + "capabilities" : [ "BindlessTextureNV" ], + "version" : "None" + }, + { + "opname" : "OpConvertImageToUNV", + "class" : "Reserved", + "opcode" : 5393, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand" } + ], + "capabilities" : [ "BindlessTextureNV" ], + "version" : "None" + }, + { + "opname" : "OpConvertSamplerToUNV", + "class" : "Reserved", + "opcode" : 5394, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand" } + ], + "capabilities" : [ "BindlessTextureNV" ], + "version" : "None" + }, + { + "opname" : "OpConvertUToSampledImageNV", + "class" : "Reserved", + "opcode" : 5395, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand" } + ], + "capabilities" : [ "BindlessTextureNV" ], + "version" : "None" + }, + { + "opname" : "OpConvertSampledImageToUNV", + "class" : "Reserved", + "opcode" : 5396, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand" } + ], + "capabilities" : [ "BindlessTextureNV" ], + "version" : "None" + }, + { + "opname" : "OpSamplerImageAddressingModeNV", + "class" : "Reserved", + "opcode" : 5397, + "operands" : [ + { "kind" : "LiteralInteger", "name" : "Bit Width" } + ], + "capabilities" : [ "BindlessTextureNV" ], + "version" : "None" + }, + { + "opname" : "OpRawAccessChainNV", + "class" : "Memory", + "opcode" : 5398, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Base" }, + { "kind" : "IdRef", "name" : "Byte stride" }, + { "kind" : "IdRef", "name" : "Element index" }, + { "kind" : "IdRef", "name" : "Byte offset" }, + { "kind" : "RawAccessChainOperands", "quantifier" : "?" } + ], + "capabilities" : [ + "RawAccessChainsNV" + ], + "version" : "None" + }, + { + "opname" : "OpRayQueryGetIntersectionSpherePositionNV", + "class" : "Reserved", + "opcode" : 5427, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { + "kind" : "IdRef", + "name" : "RayQuery" + }, + { + "kind" : "IdRef", + "name" : "Intersection" + } + ], + "capabilities" : [ "RayTracingSpheresGeometryNV" ], + "version" : "None" + }, + { + "opname" : "OpRayQueryGetIntersectionSphereRadiusNV", + "class" : "Reserved", + "opcode" : 5428, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { + "kind" : "IdRef", + "name" : "RayQuery" + }, + { + "kind" : "IdRef", + "name" : "Intersection" + } + ], + "capabilities" : [ "RayTracingSpheresGeometryNV" ], + "version" : "None" + }, + { + "opname" : "OpRayQueryGetIntersectionLSSPositionsNV", + "class" : "Reserved", + "opcode" : 5429, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { + "kind" : "IdRef", + "name" : "RayQuery" + }, + { + "kind" : "IdRef", + "name" : "Intersection" + } + ], + "capabilities" : [ "RayTracingLinearSweptSpheresGeometryNV" ], + "version" : "None" + }, + { + "opname" : "OpRayQueryGetIntersectionLSSRadiiNV", + "class" : "Reserved", + "opcode" : 5430, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { + "kind" : "IdRef", + "name" : "RayQuery" + }, + { + "kind" : "IdRef", + "name" : "Intersection" + } + ], + "capabilities" : [ "RayTracingLinearSweptSpheresGeometryNV"], + "version" : "None" + }, + { + "opname" : "OpRayQueryGetIntersectionLSSHitValueNV", + "class" : "Reserved", + "opcode" : 5431, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { + "kind" : "IdRef", + "name" : "RayQuery" + }, + { + "kind" : "IdRef", + "name" : "Intersection" + } + ], + "capabilities" : [ "RayTracingLinearSweptSpheresGeometryNV" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectGetSpherePositionNV", + "class" : "Reserved", + "opcode" : 5432, + "operands" : [ + { "kind" : "IdResultType"}, + { "kind" : "IdResult"}, + { "kind" : "IdRef", "name" : "Hit Object" } + ], + "capabilities" : [ "RayTracingSpheresGeometryNV" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectGetSphereRadiusNV", + "class" : "Reserved", + "opcode" : 5433, + "operands" : [ + { "kind" : "IdResultType"}, + { "kind" : "IdResult"}, + { "kind" : "IdRef", "name" : "Hit Object" } + ], + "capabilities" : [ "RayTracingSpheresGeometryNV" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectGetLSSPositionsNV", + "class" : "Reserved", + "opcode" : 5434, + "operands" : [ + { "kind" : "IdResultType"}, + { "kind" : "IdResult"}, + { "kind" : "IdRef", "name" : "Hit Object" } + ], + "capabilities" : [ "RayTracingLinearSweptSpheresGeometryNV" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectGetLSSRadiiNV", + "class" : "Reserved", + "opcode" : 5435, + "operands" : [ + { "kind" : "IdResultType"}, + { "kind" : "IdResult"}, + { "kind" : "IdRef", "name" : "Hit Object" } + ], + "capabilities" : [ "RayTracingLinearSweptSpheresGeometryNV" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectIsSphereHitNV", + "class" : "Reserved", + "opcode" : 5436, + "operands" : [ + { "kind" : "IdResultType"}, + { "kind" : "IdResult"}, + { "kind" : "IdRef", "name" : "Hit Object" } + ], + "capabilities" : [ "RayTracingSpheresGeometryNV" ], + "version" : "None" + }, + { + "opname" : "OpHitObjectIsLSSHitNV", + "class" : "Reserved", + "opcode" : 5437, + "operands" : [ + { "kind" : "IdResultType"}, + { "kind" : "IdResult"}, + { "kind" : "IdRef", "name" : "Hit Object" } + ], + "capabilities" : [ "RayTracingLinearSweptSpheresGeometryNV" ], + "version" : "None" + }, + { + "opname" : "OpRayQueryIsSphereHitNV", + "class" : "Reserved", + "opcode" : 5438, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { + "kind" : "IdRef", + "name" : "RayQuery" + }, + { + "kind" : "IdRef", + "name" : "Intersection" + } + ], + "capabilities" : [ "RayTracingSpheresGeometryNV" ], + "version" : "None" + }, + { + "opname" : "OpRayQueryIsLSSHitNV", + "class" : "Reserved", + "opcode" : 5439, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { + "kind" : "IdRef", + "name" : "RayQuery" + }, + { + "kind" : "IdRef", + "name" : "Intersection" + } + ], + "capabilities" : [ "RayTracingLinearSweptSpheresGeometryNV" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupShuffleINTEL", + "class" : "Group", + "opcode" : 5571, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Data" }, + { "kind" : "IdRef", "name" : "InvocationId" } + ], + "capabilities" : [ "SubgroupShuffleINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupShuffleDownINTEL", + "class" : "Group", + "opcode" : 5572, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Current" }, + { "kind" : "IdRef", "name" : "Next" }, + { "kind" : "IdRef", "name" : "Delta" } + ], + "capabilities" : [ "SubgroupShuffleINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupShuffleUpINTEL", + "class" : "Group", + "opcode" : 5573, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Previous" }, + { "kind" : "IdRef", "name" : "Current" }, + { "kind" : "IdRef", "name" : "Delta" } + ], + "capabilities" : [ "SubgroupShuffleINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupShuffleXorINTEL", + "class" : "Group", + "opcode" : 5574, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Data" }, + { "kind" : "IdRef", "name" : "Value" } + ], + "capabilities" : [ "SubgroupShuffleINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupBlockReadINTEL", + "class" : "Group", + "opcode" : 5575, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Ptr" } + ], + "capabilities" : [ "SubgroupBufferBlockIOINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupBlockWriteINTEL", + "class" : "Group", + "opcode" : 5576, + "operands" : [ + { "kind" : "IdRef", "name" : "Ptr" }, + { "kind" : "IdRef", "name" : "Data" } + ], + "capabilities" : [ "SubgroupBufferBlockIOINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupImageBlockReadINTEL", + "class" : "Group", + "opcode" : 5577, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Image" }, + { "kind" : "IdRef", "name" : "Coordinate" } + ], + "capabilities" : [ "SubgroupImageBlockIOINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupImageBlockWriteINTEL", + "class" : "Group", + "opcode" : 5578, + "operands" : [ + { "kind" : "IdRef", "name" : "Image" }, + { "kind" : "IdRef", "name" : "Coordinate" }, + { "kind" : "IdRef", "name" : "Data" } + ], + "capabilities" : [ "SubgroupImageBlockIOINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupImageMediaBlockReadINTEL", + "class" : "Group", + "opcode" : 5580, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Image" }, + { "kind" : "IdRef", "name" : "Coordinate" }, + { "kind" : "IdRef", "name" : "Width" }, + { "kind" : "IdRef", "name" : "Height" } + ], + "capabilities" : [ "SubgroupImageMediaBlockIOINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupImageMediaBlockWriteINTEL", + "class" : "Group", + "opcode" : 5581, + "operands" : [ + { "kind" : "IdRef", "name" : "Image" }, + { "kind" : "IdRef", "name" : "Coordinate" }, + { "kind" : "IdRef", "name" : "Width" }, + { "kind" : "IdRef", "name" : "Height" }, + { "kind" : "IdRef", "name" : "Data" } + ], + "capabilities" : [ "SubgroupImageMediaBlockIOINTEL" ], + "version" : "None" + }, + { + "opname" : "OpUCountLeadingZerosINTEL", + "class" : "Reserved", + "opcode" : 5585, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand" } + ], + "capabilities" : [ "IntegerFunctions2INTEL" ], + "version" : "None" + }, + { + "opname" : "OpUCountTrailingZerosINTEL", + "class" : "Reserved", + "opcode" : 5586, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand" } + ], + "capabilities" : [ "IntegerFunctions2INTEL" ], + "version" : "None" + }, + { + "opname" : "OpAbsISubINTEL", + "class" : "Reserved", + "opcode" : 5587, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "capabilities" : [ "IntegerFunctions2INTEL" ], + "version" : "None" + }, + { + "opname" : "OpAbsUSubINTEL", + "class" : "Reserved", + "opcode" : 5588, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "capabilities" : [ "IntegerFunctions2INTEL" ], + "version" : "None" + }, + { + "opname" : "OpIAddSatINTEL", + "class" : "Reserved", + "opcode" : 5589, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "capabilities" : [ "IntegerFunctions2INTEL" ], + "version" : "None" + }, + { + "opname" : "OpUAddSatINTEL", + "class" : "Reserved", + "opcode" : 5590, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "capabilities" : [ "IntegerFunctions2INTEL" ], + "version" : "None" + }, + { + "opname" : "OpIAverageINTEL", + "class" : "Reserved", + "opcode" : 5591, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "capabilities" : [ "IntegerFunctions2INTEL" ], + "version" : "None" + }, + { + "opname" : "OpUAverageINTEL", + "class" : "Reserved", + "opcode" : 5592, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "capabilities" : [ "IntegerFunctions2INTEL" ], + "version" : "None" + }, + { + "opname" : "OpIAverageRoundedINTEL", + "class" : "Reserved", + "opcode" : 5593, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "capabilities" : [ "IntegerFunctions2INTEL" ], + "version" : "None" + }, + { + "opname" : "OpUAverageRoundedINTEL", + "class" : "Reserved", + "opcode" : 5594, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "capabilities" : [ "IntegerFunctions2INTEL" ], + "version" : "None" + }, + { + "opname" : "OpISubSatINTEL", + "class" : "Reserved", + "opcode" : 5595, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "capabilities" : [ "IntegerFunctions2INTEL" ], + "version" : "None" + }, + { + "opname" : "OpUSubSatINTEL", + "class" : "Reserved", + "opcode" : 5596, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "capabilities" : [ "IntegerFunctions2INTEL" ], + "version" : "None" + }, + { + "opname" : "OpIMul32x16INTEL", + "class" : "Reserved", + "opcode" : 5597, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "capabilities" : [ "IntegerFunctions2INTEL" ], + "version" : "None" + }, + { + "opname" : "OpUMul32x16INTEL", + "class" : "Reserved", + "opcode" : 5598, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand 1" }, + { "kind" : "IdRef", "name" : "Operand 2" } + ], + "capabilities" : [ "IntegerFunctions2INTEL" ], + "version" : "None" + }, + { + "opname" : "OpConstantFunctionPointerINTEL", + "class" : "@exclude", + "opcode" : 5600, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Function" } + ], + "capabilities" : [ "FunctionPointersINTEL" ], + "extensions" : [ "SPV_INTEL_function_pointers" ], + "version" : "None" + }, + { + "opname" : "OpFunctionPointerCallINTEL", + "class" : "@exclude", + "opcode" : 5601, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "quantifier" : "*", "name" : "Operand 1" } + ], + "capabilities" : [ "FunctionPointersINTEL" ], + "extensions" : [ "SPV_INTEL_function_pointers" ], + "version" : "None" + }, + { + "opname" : "OpAsmTargetINTEL", + "class" : "@exclude", + "opcode" : 5609, + "operands" : [ + { "kind" : "IdResult" }, + { "kind" : "LiteralString", "name" : "Asm target" } + ], + "capabilities" : [ "AsmINTEL" ], + "version" : "None" + }, + { + "opname" : "OpAsmINTEL", + "class" : "@exclude", + "opcode" : 5610, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Asm type" }, + { "kind" : "IdRef", "name" : "Target" }, + { "kind" : "LiteralString", "name" : "Asm instructions" }, + { "kind" : "LiteralString", "name" : "Constraints" } + ], + "capabilities" : [ "AsmINTEL" ], + "version" : "None" + }, + { + "opname" : "OpAsmCallINTEL", + "class" : "@exclude", + "opcode" : 5611, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Asm" }, + { "kind" : "IdRef", "quantifier" : "*", "name" : "Argument" } + ], + "capabilities" : [ "AsmINTEL" ], + "version" : "None" + }, + { + "opname" : "OpAtomicFMinEXT", + "class" : "Atomic", + "opcode" : 5614, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Pointer" }, + { "kind" : "IdScope", "name" : "Memory" }, + { "kind" : "IdMemorySemantics", "name" : "Semantics" }, + { "kind" : "IdRef", "name" : "Value" } + ], + "capabilities" : [ "AtomicFloat16MinMaxEXT", "AtomicFloat32MinMaxEXT", "AtomicFloat64MinMaxEXT", "AtomicFloat16VectorNV" ], + "version" : "None" + }, + { + "opname" : "OpAtomicFMaxEXT", + "class" : "Atomic", + "opcode" : 5615, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Pointer" }, + { "kind" : "IdScope", "name" : "Memory" }, + { "kind" : "IdMemorySemantics", "name" : "Semantics" }, + { "kind" : "IdRef", "name" : "Value" } + ], + "capabilities" : [ "AtomicFloat16MinMaxEXT", "AtomicFloat32MinMaxEXT", "AtomicFloat64MinMaxEXT", "AtomicFloat16VectorNV" ], + "version" : "None" + }, + { + "opname" : "OpAssumeTrueKHR", + "class" : "Miscellaneous", + "opcode" : 5630, + "operands" : [ + { "kind" : "IdRef", "name" : "Condition" } + ], + "capabilities" : [ "ExpectAssumeKHR" ], + "extensions" : [ "SPV_KHR_expect_assume" ], + "version" : "None" + }, + { + "opname" : "OpExpectKHR", + "class" : "Miscellaneous", + "opcode" : 5631, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Value" }, + { "kind" : "IdRef", "name" : "ExpectedValue" } + ], + "capabilities" : [ "ExpectAssumeKHR" ], + "extensions" : [ "SPV_KHR_expect_assume" ], + "version" : "None" + }, + { + "opname" : "OpDecorateString", + "class" : "Annotation", + "aliases" : ["OpDecorateStringGOOGLE"], + "opcode" : 5632, + "operands" : [ + { "kind" : "IdRef", "name" : "Target" }, + { "kind" : "Decoration" } + ], + "extensions" : [ "SPV_GOOGLE_decorate_string", "SPV_GOOGLE_hlsl_functionality1" ], + "version" : "1.4" + }, + { + "opname" : "OpMemberDecorateString", + "class" : "Annotation", + "aliases" : ["OpMemberDecorateStringGOOGLE"], + "opcode" : 5633, + "operands" : [ + { "kind" : "IdRef", "name" : "Struct Type" }, + { "kind" : "LiteralInteger", "name" : "Member" }, + { "kind" : "Decoration" } + ], + "extensions" : [ "SPV_GOOGLE_decorate_string", "SPV_GOOGLE_hlsl_functionality1" ], + "version" : "1.4" + }, + { + "opname" : "OpVmeImageINTEL", + "class" : "@exclude", + "opcode" : 5699, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Image Type" }, + { "kind" : "IdRef", "name" : "Sampler" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpTypeVmeImageINTEL", + "class" : "@exclude", + "opcode" : 5700, + "operands" : [ + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Image Type" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpTypeAvcImePayloadINTEL", + "class" : "@exclude", + "opcode" : 5701, + "operands" : [ + { "kind" : "IdResult" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpTypeAvcRefPayloadINTEL", + "class" : "@exclude", + "opcode" : 5702, + "operands" : [ + { "kind" : "IdResult" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpTypeAvcSicPayloadINTEL", + "class" : "@exclude", + "opcode" : 5703, + "operands" : [ + { "kind" : "IdResult" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpTypeAvcMcePayloadINTEL", + "class" : "@exclude", + "opcode" : 5704, + "operands" : [ + { "kind" : "IdResult" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpTypeAvcMceResultINTEL", + "class" : "@exclude", + "opcode" : 5705, + "operands" : [ + { "kind" : "IdResult" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpTypeAvcImeResultINTEL", + "class" : "@exclude", + "opcode" : 5706, + "operands" : [ + { "kind" : "IdResult" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpTypeAvcImeResultSingleReferenceStreamoutINTEL", + "class" : "@exclude", + "opcode" : 5707, + "operands" : [ + { "kind" : "IdResult" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpTypeAvcImeResultDualReferenceStreamoutINTEL", + "class" : "@exclude", + "opcode" : 5708, + "operands" : [ + { "kind" : "IdResult" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpTypeAvcImeSingleReferenceStreaminINTEL", + "class" : "@exclude", + "opcode" : 5709, + "operands" : [ + { "kind" : "IdResult" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpTypeAvcImeDualReferenceStreaminINTEL", + "class" : "@exclude", + "opcode" : 5710, + "operands" : [ + { "kind" : "IdResult" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpTypeAvcRefResultINTEL", + "class" : "@exclude", + "opcode" : 5711, + "operands" : [ + { "kind" : "IdResult" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpTypeAvcSicResultINTEL", + "class" : "@exclude", + "opcode" : 5712, + "operands" : [ + { "kind" : "IdResult" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL", + "class" : "@exclude", + "opcode" : 5713, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Slice Type" }, + { "kind" : "IdRef", "name" : "Qp" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL", + "class" : "@exclude", + "opcode" : 5714, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Reference Base Penalty" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL", + "class" : "@exclude", + "opcode" : 5715, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Slice Type" }, + { "kind" : "IdRef", "name" : "Qp" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcMceSetInterShapePenaltyINTEL", + "class" : "@exclude", + "opcode" : 5716, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Packed Shape Penalty" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL", + "class" : "@exclude", + "opcode" : 5717, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Slice Type" }, + { "kind" : "IdRef", "name" : "Qp" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcMceSetInterDirectionPenaltyINTEL", + "class" : "@exclude", + "opcode" : 5718, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Direction Cost" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL", + "class" : "@exclude", + "opcode" : 5719, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Slice Type" }, + { "kind" : "IdRef", "name" : "Qp" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL", + "class" : "@exclude", + "opcode" : 5720, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Slice Type" }, + { "kind" : "IdRef", "name" : "Qp" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL", + "class" : "@exclude", + "opcode" : 5721, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL", + "class" : "@exclude", + "opcode" : 5722, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL", + "class" : "@exclude", + "opcode" : 5723, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL", + "class" : "@exclude", + "opcode" : 5724, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Packed Cost Center Delta" }, + { "kind" : "IdRef", "name" : "Packed Cost Table" }, + { "kind" : "IdRef", "name" : "Cost Precision" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL", + "class" : "@exclude", + "opcode" : 5725, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Slice Type" }, + { "kind" : "IdRef", "name" : "Qp" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL", + "class" : "@exclude", + "opcode" : 5726, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL", + "class" : "@exclude", + "opcode" : 5727, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationChromaINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcMceSetAcOnlyHaarINTEL", + "class" : "@exclude", + "opcode" : 5728, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL", + "class" : "@exclude", + "opcode" : 5729, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Source Field Polarity" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL", + "class" : "@exclude", + "opcode" : 5730, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Reference Field Polarity" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL", + "class" : "@exclude", + "opcode" : 5731, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Forward Reference Field Polarity" }, + { "kind" : "IdRef", "name" : "Backward Reference Field Polarity" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcMceConvertToImePayloadINTEL", + "class" : "@exclude", + "opcode" : 5732, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcMceConvertToImeResultINTEL", + "class" : "@exclude", + "opcode" : 5733, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcMceConvertToRefPayloadINTEL", + "class" : "@exclude", + "opcode" : 5734, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcMceConvertToRefResultINTEL", + "class" : "@exclude", + "opcode" : 5735, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcMceConvertToSicPayloadINTEL", + "class" : "@exclude", + "opcode" : 5736, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcMceConvertToSicResultINTEL", + "class" : "@exclude", + "opcode" : 5737, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcMceGetMotionVectorsINTEL", + "class" : "@exclude", + "opcode" : 5738, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcMceGetInterDistortionsINTEL", + "class" : "@exclude", + "opcode" : 5739, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcMceGetBestInterDistortionsINTEL", + "class" : "@exclude", + "opcode" : 5740, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcMceGetInterMajorShapeINTEL", + "class" : "@exclude", + "opcode" : 5741, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcMceGetInterMinorShapeINTEL", + "class" : "@exclude", + "opcode" : 5742, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcMceGetInterDirectionsINTEL", + "class" : "@exclude", + "opcode" : 5743, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcMceGetInterMotionVectorCountINTEL", + "class" : "@exclude", + "opcode" : 5744, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcMceGetInterReferenceIdsINTEL", + "class" : "@exclude", + "opcode" : 5745, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL", + "class" : "@exclude", + "opcode" : 5746, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Packed Reference Ids" }, + { "kind" : "IdRef", "name" : "Packed Reference Parameter Field Polarities" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcImeInitializeINTEL", + "class" : "@exclude", + "opcode" : 5747, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Src Coord" }, + { "kind" : "IdRef", "name" : "Partition Mask" }, + { "kind" : "IdRef", "name" : "SAD Adjustment" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcImeSetSingleReferenceINTEL", + "class" : "@exclude", + "opcode" : 5748, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Ref Offset" }, + { "kind" : "IdRef", "name" : "Search Window Config" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcImeSetDualReferenceINTEL", + "class" : "@exclude", + "opcode" : 5749, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Fwd Ref Offset" }, + { "kind" : "IdRef", "name" : "Bwd Ref Offset" }, + { "kind" : "IdRef", "name" : "Search Window Config" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcImeRefWindowSizeINTEL", + "class" : "@exclude", + "opcode" : 5750, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Search Window Config" }, + { "kind" : "IdRef", "name" : "Dual Ref" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcImeAdjustRefOffsetINTEL", + "class" : "@exclude", + "opcode" : 5751, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Ref Offset" }, + { "kind" : "IdRef", "name" : "Src Coord" }, + { "kind" : "IdRef", "name" : "Ref Window Size" }, + { "kind" : "IdRef", "name" : "Image Size" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcImeConvertToMcePayloadINTEL", + "class" : "@exclude", + "opcode" : 5752, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcImeSetMaxMotionVectorCountINTEL", + "class" : "@exclude", + "opcode" : 5753, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Max Motion Vector Count" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL", + "class" : "@exclude", + "opcode" : 5754, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL", + "class" : "@exclude", + "opcode" : 5755, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Threshold" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcImeSetWeightedSadINTEL", + "class" : "@exclude", + "opcode" : 5756, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Packed Sad Weights" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL", + "class" : "@exclude", + "opcode" : 5757, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Src Image" }, + { "kind" : "IdRef", "name" : "Ref Image" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcImeEvaluateWithDualReferenceINTEL", + "class" : "@exclude", + "opcode" : 5758, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Src Image" }, + { "kind" : "IdRef", "name" : "Fwd Ref Image" }, + { "kind" : "IdRef", "name" : "Bwd Ref Image" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL", + "class" : "@exclude", + "opcode" : 5759, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Src Image" }, + { "kind" : "IdRef", "name" : "Ref Image" }, + { "kind" : "IdRef", "name" : "Payload" }, + { "kind" : "IdRef", "name" : "Streamin Components" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL", + "class" : "@exclude", + "opcode" : 5760, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Src Image" }, + { "kind" : "IdRef", "name" : "Fwd Ref Image" }, + { "kind" : "IdRef", "name" : "Bwd Ref Image" }, + { "kind" : "IdRef", "name" : "Payload" }, + { "kind" : "IdRef", "name" : "Streamin Components" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL", + "class" : "@exclude", + "opcode" : 5761, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Src Image" }, + { "kind" : "IdRef", "name" : "Ref Image" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL", + "class" : "@exclude", + "opcode" : 5762, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Src Image" }, + { "kind" : "IdRef", "name" : "Fwd Ref Image" }, + { "kind" : "IdRef", "name" : "Bwd Ref Image" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL", + "class" : "@exclude", + "opcode" : 5763, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Src Image" }, + { "kind" : "IdRef", "name" : "Ref Image" }, + { "kind" : "IdRef", "name" : "Payload" }, + { "kind" : "IdRef", "name" : "Streamin Components" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL", + "class" : "@exclude", + "opcode" : 5764, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Src Image" }, + { "kind" : "IdRef", "name" : "Fwd Ref Image" }, + { "kind" : "IdRef", "name" : "Bwd Ref Image" }, + { "kind" : "IdRef", "name" : "Payload" }, + { "kind" : "IdRef", "name" : "Streamin Components" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcImeConvertToMceResultINTEL", + "class" : "@exclude", + "opcode" : 5765, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcImeGetSingleReferenceStreaminINTEL", + "class" : "@exclude", + "opcode" : 5766, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcImeGetDualReferenceStreaminINTEL", + "class" : "@exclude", + "opcode" : 5767, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL", + "class" : "@exclude", + "opcode" : 5768, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcImeStripDualReferenceStreamoutINTEL", + "class" : "@exclude", + "opcode" : 5769, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL", + "class" : "@exclude", + "opcode" : 5770, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Payload" }, + { "kind" : "IdRef", "name" : "Major Shape" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL", + "class" : "@exclude", + "opcode" : 5771, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Payload" }, + { "kind" : "IdRef", "name" : "Major Shape" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL", + "class" : "@exclude", + "opcode" : 5772, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Payload" }, + { "kind" : "IdRef", "name" : "Major Shape" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL", + "class" : "@exclude", + "opcode" : 5773, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Payload" }, + { "kind" : "IdRef", "name" : "Major Shape" }, + { "kind" : "IdRef", "name" : "Direction" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL", + "class" : "@exclude", + "opcode" : 5774, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Payload" }, + { "kind" : "IdRef", "name" : "Major Shape" }, + { "kind" : "IdRef", "name" : "Direction" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL", + "class" : "@exclude", + "opcode" : 5775, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Payload" }, + { "kind" : "IdRef", "name" : "Major Shape" }, + { "kind" : "IdRef", "name" : "Direction" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcImeGetBorderReachedINTEL", + "class" : "@exclude", + "opcode" : 5776, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Image Select" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL", + "class" : "@exclude", + "opcode" : 5777, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL", + "class" : "@exclude", + "opcode" : 5778, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL", + "class" : "@exclude", + "opcode" : 5779, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL", + "class" : "@exclude", + "opcode" : 5780, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcFmeInitializeINTEL", + "class" : "@exclude", + "opcode" : 5781, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Src Coord" }, + { "kind" : "IdRef", "name" : "Motion Vectors" }, + { "kind" : "IdRef", "name" : "Major Shapes" }, + { "kind" : "IdRef", "name" : "Minor Shapes" }, + { "kind" : "IdRef", "name" : "Direction" }, + { "kind" : "IdRef", "name" : "Pixel Resolution" }, + { "kind" : "IdRef", "name" : "Sad Adjustment" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcBmeInitializeINTEL", + "class" : "@exclude", + "opcode" : 5782, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Src Coord" }, + { "kind" : "IdRef", "name" : "Motion Vectors" }, + { "kind" : "IdRef", "name" : "Major Shapes" }, + { "kind" : "IdRef", "name" : "Minor Shapes" }, + { "kind" : "IdRef", "name" : "Direction" }, + { "kind" : "IdRef", "name" : "Pixel Resolution" }, + { "kind" : "IdRef", "name" : "Bidirectional Weight" }, + { "kind" : "IdRef", "name" : "Sad Adjustment" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcRefConvertToMcePayloadINTEL", + "class" : "@exclude", + "opcode" : 5783, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcRefSetBidirectionalMixDisableINTEL", + "class" : "@exclude", + "opcode" : 5784, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcRefSetBilinearFilterEnableINTEL", + "class" : "@exclude", + "opcode" : 5785, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL", + "class" : "@exclude", + "opcode" : 5786, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Src Image" }, + { "kind" : "IdRef", "name" : "Ref Image" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcRefEvaluateWithDualReferenceINTEL", + "class" : "@exclude", + "opcode" : 5787, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Src Image" }, + { "kind" : "IdRef", "name" : "Fwd Ref Image" }, + { "kind" : "IdRef", "name" : "Bwd Ref Image" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL", + "class" : "@exclude", + "opcode" : 5788, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Src Image" }, + { "kind" : "IdRef", "name" : "Packed Reference Ids" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL", + "class" : "@exclude", + "opcode" : 5789, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Src Image" }, + { "kind" : "IdRef", "name" : "Packed Reference Ids" }, + { "kind" : "IdRef", "name" : "Packed Reference Field Polarities" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcRefConvertToMceResultINTEL", + "class" : "@exclude", + "opcode" : 5790, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcSicInitializeINTEL", + "class" : "@exclude", + "opcode" : 5791, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Src Coord" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcSicConfigureSkcINTEL", + "class" : "@exclude", + "opcode" : 5792, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Skip Block Partition Type" }, + { "kind" : "IdRef", "name" : "Skip Motion Vector Mask" }, + { "kind" : "IdRef", "name" : "Motion Vectors" }, + { "kind" : "IdRef", "name" : "Bidirectional Weight" }, + { "kind" : "IdRef", "name" : "Sad Adjustment" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcSicConfigureIpeLumaINTEL", + "class" : "@exclude", + "opcode" : 5793, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Luma Intra Partition Mask" }, + { "kind" : "IdRef", "name" : "Intra Neighbour Availabilty" }, + { "kind" : "IdRef", "name" : "Left Edge Luma Pixels" }, + { "kind" : "IdRef", "name" : "Upper Left Corner Luma Pixel" }, + { "kind" : "IdRef", "name" : "Upper Edge Luma Pixels" }, + { "kind" : "IdRef", "name" : "Upper Right Edge Luma Pixels" }, + { "kind" : "IdRef", "name" : "Sad Adjustment" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcSicConfigureIpeLumaChromaINTEL", + "class" : "@exclude", + "opcode" : 5794, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Luma Intra Partition Mask" }, + { "kind" : "IdRef", "name" : "Intra Neighbour Availabilty" }, + { "kind" : "IdRef", "name" : "Left Edge Luma Pixels" }, + { "kind" : "IdRef", "name" : "Upper Left Corner Luma Pixel" }, + { "kind" : "IdRef", "name" : "Upper Edge Luma Pixels" }, + { "kind" : "IdRef", "name" : "Upper Right Edge Luma Pixels" }, + { "kind" : "IdRef", "name" : "Left Edge Chroma Pixels" }, + { "kind" : "IdRef", "name" : "Upper Left Corner Chroma Pixel" }, + { "kind" : "IdRef", "name" : "Upper Edge Chroma Pixels" }, + { "kind" : "IdRef", "name" : "Sad Adjustment" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationChromaINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcSicGetMotionVectorMaskINTEL", + "class" : "@exclude", + "opcode" : 5795, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Skip Block Partition Type" }, + { "kind" : "IdRef", "name" : "Direction" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcSicConvertToMcePayloadINTEL", + "class" : "@exclude", + "opcode" : 5796, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL", + "class" : "@exclude", + "opcode" : 5797, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Packed Shape Penalty" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL", + "class" : "@exclude", + "opcode" : 5798, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Luma Mode Penalty" }, + { "kind" : "IdRef", "name" : "Luma Packed Neighbor Modes" }, + { "kind" : "IdRef", "name" : "Luma Packed Non Dc Penalty" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL", + "class" : "@exclude", + "opcode" : 5799, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Chroma Mode Base Penalty" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationChromaINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcSicSetBilinearFilterEnableINTEL", + "class" : "@exclude", + "opcode" : 5800, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL", + "class" : "@exclude", + "opcode" : 5801, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Packed Sad Coefficients" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL", + "class" : "@exclude", + "opcode" : 5802, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Block Based Skip Type" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcSicEvaluateIpeINTEL", + "class" : "@exclude", + "opcode" : 5803, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Src Image" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL", + "class" : "@exclude", + "opcode" : 5804, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Src Image" }, + { "kind" : "IdRef", "name" : "Ref Image" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcSicEvaluateWithDualReferenceINTEL", + "class" : "@exclude", + "opcode" : 5805, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Src Image" }, + { "kind" : "IdRef", "name" : "Fwd Ref Image" }, + { "kind" : "IdRef", "name" : "Bwd Ref Image" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL", + "class" : "@exclude", + "opcode" : 5806, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Src Image" }, + { "kind" : "IdRef", "name" : "Packed Reference Ids" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL", + "class" : "@exclude", + "opcode" : 5807, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Src Image" }, + { "kind" : "IdRef", "name" : "Packed Reference Ids" }, + { "kind" : "IdRef", "name" : "Packed Reference Field Polarities" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcSicConvertToMceResultINTEL", + "class" : "@exclude", + "opcode" : 5808, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcSicGetIpeLumaShapeINTEL", + "class" : "@exclude", + "opcode" : 5809, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL", + "class" : "@exclude", + "opcode" : 5810, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL", + "class" : "@exclude", + "opcode" : 5811, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcSicGetPackedIpeLumaModesINTEL", + "class" : "@exclude", + "opcode" : 5812, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcSicGetIpeChromaModeINTEL", + "class" : "@exclude", + "opcode" : 5813, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationChromaINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL", + "class" : "@exclude", + "opcode" : 5814, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL", + "class" : "@exclude", + "opcode" : 5815, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL", "SubgroupAvcMotionEstimationIntraINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupAvcSicGetInterRawSadsINTEL", + "class" : "@exclude", + "opcode" : 5816, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Payload" } + ], + "capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ], + "version" : "None" + }, + { + "opname" : "OpVariableLengthArrayINTEL", + "class" : "Memory", + "opcode" : 5818, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Length" } + ], + "capabilities" : [ "VariableLengthArrayINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSaveMemoryINTEL", + "class" : "Memory", + "opcode" : 5819, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" } + ], + "capabilities" : [ "VariableLengthArrayINTEL" ], + "version" : "None" + }, + { + "opname" : "OpRestoreMemoryINTEL", + "class" : "Memory", + "opcode" : 5820, + "operands" : [ + { "kind" : "IdRef", "name" : "Ptr" } + ], + "capabilities" : [ "VariableLengthArrayINTEL" ], + "version" : "None" + }, + { + "opname" : "OpArbitraryFloatSinCosPiALTERA", + "class" : "@exclude", + "aliases" : [ "OpArbitraryFloatSinCosPiINTEL" ], + "opcode" : 5840, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "A" }, + { "kind" : "LiteralInteger", "name" : "Ma" }, + { "kind" : "LiteralInteger", "name" : "MResult" }, + { "kind" : "LiteralInteger", "name" : "Subnormal" }, + { "kind" : "LiteralInteger", "name" : "Rounding" }, + { "kind" : "LiteralInteger", "name" : "RoundingAccuracy" } + ], + "capabilities" : [ "ArbitraryPrecisionFloatingPointALTERA" ], + "version" : "None" + }, + { + "opname" : "OpArbitraryFloatCastALTERA", + "class" : "@exclude", + "aliases" : [ "OpArbitraryFloatCastINTEL" ], + "opcode" : 5841, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "A" }, + { "kind" : "LiteralInteger", "name" : "Ma" }, + { "kind" : "LiteralInteger", "name" : "Mresult" }, + { "kind" : "LiteralInteger", "name" : "Subnormal" }, + { "kind" : "LiteralInteger", "name" : "Rounding" }, + { "kind" : "LiteralInteger", "name" : "Accuracy" } + ], + "capabilities" : [ "ArbitraryPrecisionFloatingPointALTERA" ], + "version" : "None" + }, + { + "opname" : "OpArbitraryFloatCastFromIntALTERA", + "class" : "@exclude", + "aliases" : [ "OpArbitraryFloatCastFromIntINTEL" ], + "opcode" : 5842, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "A" }, + { "kind" : "LiteralInteger", "name" : "Mresult" }, + { "kind" : "LiteralInteger", "name" : "FromSign" }, + { "kind" : "LiteralInteger", "name" : "Subnormal" }, + { "kind" : "LiteralInteger", "name" : "Rounding" }, + { "kind" : "LiteralInteger", "name" : "Accuracy" } + ], + "capabilities" : [ "ArbitraryPrecisionFloatingPointALTERA" ], + "version" : "None" + }, + { + "opname" : "OpArbitraryFloatCastToIntALTERA", + "class" : "@exclude", + "aliases" : [ "OpArbitraryFloatCastToIntINTEL" ], + "opcode" : 5843, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "A" }, + { "kind" : "LiteralInteger", "name" : "Ma" }, + { "kind" : "LiteralInteger", "name" : "ToSign" }, + { "kind" : "LiteralInteger", "name" : "Subnormal" }, + { "kind" : "LiteralInteger", "name" : "Rounding" }, + { "kind" : "LiteralInteger", "name" : "Accuracy" } + ], + "capabilities" : [ "ArbitraryPrecisionFloatingPointALTERA" ], + "version" : "None" + }, + { + "opname" : "OpArbitraryFloatAddALTERA", + "class" : "@exclude", + "aliases" : [ "OpArbitraryFloatAddINTEL" ], + "opcode" : 5846, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "A" }, + { "kind" : "LiteralInteger", "name" : "Ma" }, + { "kind" : "IdRef", "name" : "B" }, + { "kind" : "LiteralInteger", "name" : "Mb" }, + { "kind" : "LiteralInteger", "name" : "MResult" }, + { "kind" : "LiteralInteger", "name" : "Subnormal" }, + { "kind" : "LiteralInteger", "name" : "Rounding" }, + { "kind" : "LiteralInteger", "name" : "Accuracy" } + ], + "capabilities" : [ "ArbitraryPrecisionFloatingPointALTERA" ], + "version" : "None" + }, + { + "opname" : "OpArbitraryFloatSubALTERA", + "class" : "@exclude", + "aliases" : [ "OpArbitraryFloatSubINTEL" ], + "opcode" : 5847, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "A" }, + { "kind" : "LiteralInteger", "name" : "Ma" }, + { "kind" : "IdRef", "name" : "B" }, + { "kind" : "LiteralInteger", "name" : "Mb" }, + { "kind" : "LiteralInteger", "name" : "Mresult" }, + { "kind" : "LiteralInteger", "name" : "Subnormal" }, + { "kind" : "LiteralInteger", "name" : "Rounding" }, + { "kind" : "LiteralInteger", "name" : "Accuracy" } + ], + "capabilities" : [ "ArbitraryPrecisionFloatingPointALTERA" ], + "version" : "None" + }, + { + "opname" : "OpArbitraryFloatMulALTERA", + "class" : "@exclude", + "aliases" : [ "OpArbitraryFloatMulINTEL" ], + "opcode" : 5848, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "A" }, + { "kind" : "LiteralInteger", "name" : "Ma" }, + { "kind" : "IdRef", "name" : "B" }, + { "kind" : "LiteralInteger", "name" : "Mb" }, + { "kind" : "LiteralInteger", "name" : "Mresult" }, + { "kind" : "LiteralInteger", "name" : "Subnormal" }, + { "kind" : "LiteralInteger", "name" : "Rounding" }, + { "kind" : "LiteralInteger", "name" : "Accuracy" } + ], + "capabilities" : [ "ArbitraryPrecisionFloatingPointALTERA" ], + "version" : "None" + }, + { + "opname" : "OpArbitraryFloatDivALTERA", + "class" : "@exclude", + "aliases" : [ "OpArbitraryFloatDivINTEL" ], + "opcode" : 5849, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "A" }, + { "kind" : "LiteralInteger", "name" : "Ma" }, + { "kind" : "IdRef", "name" : "B" }, + { "kind" : "LiteralInteger", "name" : "Mb" }, + { "kind" : "LiteralInteger", "name" : "Mresult" }, + { "kind" : "LiteralInteger", "name" : "Subnormal" }, + { "kind" : "LiteralInteger", "name" : "Rounding" }, + { "kind" : "LiteralInteger", "name" : "Accuracy" } + ], + "capabilities" : [ "ArbitraryPrecisionFloatingPointALTERA" ], + "version" : "None" + }, + { + "opname" : "OpArbitraryFloatGTALTERA", + "class" : "@exclude", + "aliases" : [ "OpArbitraryFloatGTINTEL" ], + "opcode" : 5850, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "A" }, + { "kind" : "LiteralInteger", "name" : "Ma" }, + { "kind" : "IdRef", "name" : "B" }, + { "kind" : "LiteralInteger", "name" : "Mb" } + ], + "capabilities" : [ "ArbitraryPrecisionFloatingPointALTERA" ], + "version" : "None" + }, + { + "opname" : "OpArbitraryFloatGEALTERA", + "class" : "@exclude", + "aliases" : [ "OpArbitraryFloatGEINTEL" ], + "opcode" : 5851, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "A" }, + { "kind" : "LiteralInteger", "name" : "Ma" }, + { "kind" : "IdRef", "name" : "B" }, + { "kind" : "LiteralInteger", "name" : "Mb" } + ], + "capabilities" : [ "ArbitraryPrecisionFloatingPointALTERA" ], + "version" : "None" + }, + { + "opname" : "OpArbitraryFloatLTALTERA", + "class" : "@exclude", + "aliases" : [ "OpArbitraryFloatLTINTEL" ], + "opcode" : 5852, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "A" }, + { "kind" : "LiteralInteger", "name" : "Ma" }, + { "kind" : "IdRef", "name" : "B" }, + { "kind" : "LiteralInteger", "name" : "Mb" } + ], + "capabilities" : [ "ArbitraryPrecisionFloatingPointALTERA" ], + "version" : "None" + }, + { + "opname" : "OpArbitraryFloatLEALTERA", + "class" : "@exclude", + "aliases" : [ "OpArbitraryFloatLEINTEL" ], + "opcode" : 5853, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "A" }, + { "kind" : "LiteralInteger", "name" : "Ma" }, + { "kind" : "IdRef", "name" : "B" }, + { "kind" : "LiteralInteger", "name" : "Mb" } + ], + "capabilities" : [ "ArbitraryPrecisionFloatingPointALTERA" ], + "version" : "None" + }, + { + "opname" : "OpArbitraryFloatEQALTERA", + "class" : "@exclude", + "aliases" : [ "OpArbitraryFloatEQINTEL" ], + "opcode" : 5854, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "A" }, + { "kind" : "LiteralInteger", "name" : "Ma" }, + { "kind" : "IdRef", "name" : "B" }, + { "kind" : "LiteralInteger", "name" : "Mb" } + ], + "capabilities" : [ "ArbitraryPrecisionFloatingPointALTERA" ], + "version" : "None" + }, + { + "opname" : "OpArbitraryFloatRecipALTERA", + "class" : "@exclude", + "aliases" : [ "OpArbitraryFloatRecipINTEL" ], + "opcode" : 5855, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "A" }, + { "kind" : "LiteralInteger", "name" : "Ma" }, + { "kind" : "LiteralInteger", "name" : "Mresult" }, + { "kind" : "LiteralInteger", "name" : "Subnormal" }, + { "kind" : "LiteralInteger", "name" : "Rounding" }, + { "kind" : "LiteralInteger", "name" : "Accuracy" } + ], + "capabilities" : [ "ArbitraryPrecisionFloatingPointALTERA" ], + "version" : "None" + }, + { + "opname" : "OpArbitraryFloatRSqrtALTERA", + "class" : "@exclude", + "aliases" : [ "OpArbitraryFloatRSqrtINTEL" ], + "opcode" : 5856, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "A" }, + { "kind" : "LiteralInteger", "name" : "Ma" }, + { "kind" : "LiteralInteger", "name" : "Mresult" }, + { "kind" : "LiteralInteger", "name" : "Subnormal" }, + { "kind" : "LiteralInteger", "name" : "Rounding" }, + { "kind" : "LiteralInteger", "name" : "Accuracy" } + ], + "capabilities" : [ "ArbitraryPrecisionFloatingPointALTERA" ], + "version" : "None" + }, + { + "opname" : "OpArbitraryFloatCbrtALTERA", + "class" : "@exclude", + "aliases" : [ "OpArbitraryFloatCbrtINTEL" ], + "opcode" : 5857, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "A" }, + { "kind" : "LiteralInteger", "name" : "Ma" }, + { "kind" : "LiteralInteger", "name" : "Mresult" }, + { "kind" : "LiteralInteger", "name" : "Subnormal" }, + { "kind" : "LiteralInteger", "name" : "Rounding" }, + { "kind" : "LiteralInteger", "name" : "Accuracy" } + ], + "capabilities" : [ "ArbitraryPrecisionFloatingPointALTERA" ], + "version" : "None" + }, + { + "opname" : "OpArbitraryFloatHypotALTERA", + "class" : "@exclude", + "aliases" : [ "OpArbitraryFloatHypotINTEL" ], + "opcode" : 5858, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "A" }, + { "kind" : "LiteralInteger", "name" : "Ma" }, + { "kind" : "IdRef", "name" : "B" }, + { "kind" : "LiteralInteger", "name" : "Mb" }, + { "kind" : "LiteralInteger", "name" : "Mresult" }, + { "kind" : "LiteralInteger", "name" : "Subnormal" }, + { "kind" : "LiteralInteger", "name" : "Rounding" }, + { "kind" : "LiteralInteger", "name" : "Accuracy" } + ], + "capabilities" : [ "ArbitraryPrecisionFloatingPointALTERA" ], + "version" : "None" + }, + { + "opname" : "OpArbitraryFloatSqrtALTERA", + "class" : "@exclude", + "aliases" : [ "OpArbitraryFloatSqrtINTEL" ], + "opcode" : 5859, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "A" }, + { "kind" : "LiteralInteger", "name" : "Ma" }, + { "kind" : "LiteralInteger", "name" : "Mresult" }, + { "kind" : "LiteralInteger", "name" : "Subnormal" }, + { "kind" : "LiteralInteger", "name" : "Rounding" }, + { "kind" : "LiteralInteger", "name" : "Accuracy" } + ], + "capabilities" : [ "ArbitraryPrecisionFloatingPointALTERA" ], + "version" : "None" + }, + { + "opname" : "OpArbitraryFloatLogINTEL", + "class" : "@exclude", + "opcode" : 5860, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "A" }, + { "kind" : "LiteralInteger", "name" : "Ma" }, + { "kind" : "LiteralInteger", "name" : "Mresult" }, + { "kind" : "LiteralInteger", "name" : "Subnormal" }, + { "kind" : "LiteralInteger", "name" : "Rounding" }, + { "kind" : "LiteralInteger", "name" : "Accuracy" } + ], + "capabilities" : [ "ArbitraryPrecisionFloatingPointALTERA" ], + "version" : "None" + }, + { + "opname" : "OpArbitraryFloatLog2INTEL", + "class" : "@exclude", + "opcode" : 5861, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "A" }, + { "kind" : "LiteralInteger", "name" : "Ma" }, + { "kind" : "LiteralInteger", "name" : "Mresult" }, + { "kind" : "LiteralInteger", "name" : "Subnormal" }, + { "kind" : "LiteralInteger", "name" : "Rounding" }, + { "kind" : "LiteralInteger", "name" : "Accuracy" } + ], + "capabilities" : [ "ArbitraryPrecisionFloatingPointALTERA" ], + "version" : "None" + }, + { + "opname" : "OpArbitraryFloatLog10INTEL", + "class" : "@exclude", + "opcode" : 5862, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "A" }, + { "kind" : "LiteralInteger", "name" : "Ma" }, + { "kind" : "LiteralInteger", "name" : "Mresult" }, + { "kind" : "LiteralInteger", "name" : "Subnormal" }, + { "kind" : "LiteralInteger", "name" : "Rounding" }, + { "kind" : "LiteralInteger", "name" : "Accuracy" } + ], + "capabilities" : [ "ArbitraryPrecisionFloatingPointALTERA" ], + "version" : "None" + }, + { + "opname" : "OpArbitraryFloatLog1pINTEL", + "class" : "@exclude", + "opcode" : 5863, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "A" }, + { "kind" : "LiteralInteger", "name" : "Ma" }, + { "kind" : "LiteralInteger", "name" : "Mresult" }, + { "kind" : "LiteralInteger", "name" : "Subnormal" }, + { "kind" : "LiteralInteger", "name" : "Rounding" }, + { "kind" : "LiteralInteger", "name" : "Accuracy" } + ], + "capabilities" : [ "ArbitraryPrecisionFloatingPointALTERA" ], + "version" : "None" + }, + { + "opname" : "OpArbitraryFloatExpINTEL", + "class" : "@exclude", + "opcode" : 5864, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "A" }, + { "kind" : "LiteralInteger", "name" : "Ma" }, + { "kind" : "LiteralInteger", "name" : "Mresult" }, + { "kind" : "LiteralInteger", "name" : "Subnormal" }, + { "kind" : "LiteralInteger", "name" : "Rounding" }, + { "kind" : "LiteralInteger", "name" : "Accuracy" } + ], + "capabilities" : [ "ArbitraryPrecisionFloatingPointALTERA" ], + "version" : "None" + }, + { + "opname" : "OpArbitraryFloatExp2INTEL", + "class" : "@exclude", + "opcode" : 5865, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "A" }, + { "kind" : "LiteralInteger", "name" : "Ma" }, + { "kind" : "LiteralInteger", "name" : "Mresult" }, + { "kind" : "LiteralInteger", "name" : "Subnormal" }, + { "kind" : "LiteralInteger", "name" : "Rounding" }, + { "kind" : "LiteralInteger", "name" : "Accuracy" } + ], + "capabilities" : [ "ArbitraryPrecisionFloatingPointALTERA" ], + "version" : "None" + }, + { + "opname" : "OpArbitraryFloatExp10INTEL", + "class" : "@exclude", + "opcode" : 5866, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "A" }, + { "kind" : "LiteralInteger", "name" : "Ma" }, + { "kind" : "LiteralInteger", "name" : "Mresult" }, + { "kind" : "LiteralInteger", "name" : "Subnormal" }, + { "kind" : "LiteralInteger", "name" : "Rounding" }, + { "kind" : "LiteralInteger", "name" : "Accuracy" } + ], + "capabilities" : [ "ArbitraryPrecisionFloatingPointALTERA" ], + "version" : "None" + }, + { + "opname" : "OpArbitraryFloatExpm1INTEL", + "class" : "@exclude", + "opcode" : 5867, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "A" }, + { "kind" : "LiteralInteger", "name" : "Ma" }, + { "kind" : "LiteralInteger", "name" : "Mresult" }, + { "kind" : "LiteralInteger", "name" : "Subnormal" }, + { "kind" : "LiteralInteger", "name" : "Rounding" }, + { "kind" : "LiteralInteger", "name" : "Accuracy" } + ], + "capabilities" : [ "ArbitraryPrecisionFloatingPointALTERA" ], + "version" : "None" + }, + { + "opname" : "OpArbitraryFloatSinINTEL", + "class" : "@exclude", + "opcode" : 5868, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "A" }, + { "kind" : "LiteralInteger", "name" : "Ma" }, + { "kind" : "LiteralInteger", "name" : "Mresult" }, + { "kind" : "LiteralInteger", "name" : "Subnormal" }, + { "kind" : "LiteralInteger", "name" : "Rounding" }, + { "kind" : "LiteralInteger", "name" : "Accuracy" } + ], + "capabilities" : [ "ArbitraryPrecisionFloatingPointALTERA" ], + "version" : "None" + }, + { + "opname" : "OpArbitraryFloatCosINTEL", + "class" : "@exclude", + "opcode" : 5869, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "A" }, + { "kind" : "LiteralInteger", "name" : "Ma" }, + { "kind" : "LiteralInteger", "name" : "Mresult" }, + { "kind" : "LiteralInteger", "name" : "Subnormal" }, + { "kind" : "LiteralInteger", "name" : "Rounding" }, + { "kind" : "LiteralInteger", "name" : "Accuracy" } + ], + "capabilities" : [ "ArbitraryPrecisionFloatingPointALTERA" ], + "version" : "None" + }, + { + "opname" : "OpArbitraryFloatSinCosINTEL", + "class" : "@exclude", + "opcode" : 5870, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "A" }, + { "kind" : "LiteralInteger", "name" : "Ma" }, + { "kind" : "LiteralInteger", "name" : "Mresult" }, + { "kind" : "LiteralInteger", "name" : "Subnormal" }, + { "kind" : "LiteralInteger", "name" : "Rounding" }, + { "kind" : "LiteralInteger", "name" : "Accuracy" } + ], + "capabilities" : [ "ArbitraryPrecisionFloatingPointALTERA" ], + "version" : "None" + }, + { + "opname" : "OpArbitraryFloatSinPiINTEL", + "class" : "@exclude", + "opcode" : 5871, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "A" }, + { "kind" : "LiteralInteger", "name" : "Ma" }, + { "kind" : "LiteralInteger", "name" : "Mresult" }, + { "kind" : "LiteralInteger", "name" : "Subnormal" }, + { "kind" : "LiteralInteger", "name" : "Rounding" }, + { "kind" : "LiteralInteger", "name" : "Accuracy" } + ], + "capabilities" : [ "ArbitraryPrecisionFloatingPointALTERA" ], + "version" : "None" + }, + { + "opname" : "OpArbitraryFloatCosPiINTEL", + "class" : "@exclude", + "opcode" : 5872, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "A" }, + { "kind" : "LiteralInteger", "name" : "Ma" }, + { "kind" : "LiteralInteger", "name" : "Mresult" }, + { "kind" : "LiteralInteger", "name" : "Subnormal" }, + { "kind" : "LiteralInteger", "name" : "Rounding" }, + { "kind" : "LiteralInteger", "name" : "Accuracy" } + ], + "capabilities" : [ "ArbitraryPrecisionFloatingPointALTERA" ], + "version" : "None" + }, + { + "opname" : "OpArbitraryFloatASinINTEL", + "class" : "@exclude", + "opcode" : 5873, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "A" }, + { "kind" : "LiteralInteger", "name" : "Ma" }, + { "kind" : "LiteralInteger", "name" : "Mresult" }, + { "kind" : "LiteralInteger", "name" : "Subnormal" }, + { "kind" : "LiteralInteger", "name" : "Rounding" }, + { "kind" : "LiteralInteger", "name" : "Accuracy" } + ], + "capabilities" : [ "ArbitraryPrecisionFloatingPointALTERA" ], + "version" : "None" + }, + { + "opname" : "OpArbitraryFloatASinPiINTEL", + "class" : "@exclude", + "opcode" : 5874, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "A" }, + { "kind" : "LiteralInteger", "name" : "Ma" }, + { "kind" : "LiteralInteger", "name" : "Mresult" }, + { "kind" : "LiteralInteger", "name" : "Subnormal" }, + { "kind" : "LiteralInteger", "name" : "Rounding" }, + { "kind" : "LiteralInteger", "name" : "Accuracy" } + ], + "capabilities" : [ "ArbitraryPrecisionFloatingPointALTERA" ], + "version" : "None" + }, + { + "opname" : "OpArbitraryFloatACosINTEL", + "class" : "@exclude", + "opcode" : 5875, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "A" }, + { "kind" : "LiteralInteger", "name" : "M1" }, + { "kind" : "LiteralInteger", "name" : "Mout" }, + { "kind" : "LiteralInteger", "name" : "EnableSubnormals" }, + { "kind" : "LiteralInteger", "name" : "RoundingMode" }, + { "kind" : "LiteralInteger", "name" : "RoundingAccuracy" } + ], + "capabilities" : [ "ArbitraryPrecisionFloatingPointALTERA" ], + "version" : "None" + }, + { + "opname" : "OpArbitraryFloatACosPiINTEL", + "class" : "@exclude", + "opcode" : 5876, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "A" }, + { "kind" : "LiteralInteger", "name" : "Ma" }, + { "kind" : "LiteralInteger", "name" : "Mresult" }, + { "kind" : "LiteralInteger", "name" : "Subnormal" }, + { "kind" : "LiteralInteger", "name" : "Rounding" }, + { "kind" : "LiteralInteger", "name" : "Accuracy" } + ], + "capabilities" : [ "ArbitraryPrecisionFloatingPointALTERA" ], + "version" : "None" + }, + { + "opname" : "OpArbitraryFloatATanINTEL", + "class" : "@exclude", + "opcode" : 5877, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "A" }, + { "kind" : "LiteralInteger", "name" : "Ma" }, + { "kind" : "LiteralInteger", "name" : "Mresult" }, + { "kind" : "LiteralInteger", "name" : "Subnormal" }, + { "kind" : "LiteralInteger", "name" : "Rounding" }, + { "kind" : "LiteralInteger", "name" : "Accuracy" } + ], + "capabilities" : [ "ArbitraryPrecisionFloatingPointALTERA" ], + "version" : "None" + }, + { + "opname" : "OpArbitraryFloatATanPiINTEL", + "class" : "@exclude", + "opcode" : 5878, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "A" }, + { "kind" : "LiteralInteger", "name" : "Ma" }, + { "kind" : "LiteralInteger", "name" : "Mresult" }, + { "kind" : "LiteralInteger", "name" : "Subnormal" }, + { "kind" : "LiteralInteger", "name" : "Rounding" }, + { "kind" : "LiteralInteger", "name" : "Accuracy" } + ], + "capabilities" : [ "ArbitraryPrecisionFloatingPointALTERA" ], + "version" : "None" + }, + { + "opname" : "OpArbitraryFloatATan2INTEL", + "class" : "@exclude", + "opcode" : 5879, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "A" }, + { "kind" : "LiteralInteger", "name" : "Ma" }, + { "kind" : "IdRef", "name" : "B" }, + { "kind" : "LiteralInteger", "name" : "Mb" }, + { "kind" : "LiteralInteger", "name" : "Mresult" }, + { "kind" : "LiteralInteger", "name" : "Subnormal" }, + { "kind" : "LiteralInteger", "name" : "Rounding" }, + { "kind" : "LiteralInteger", "name" : "Accuracy" } + ], + "capabilities" : [ "ArbitraryPrecisionFloatingPointALTERA" ], + "version" : "None" + }, + { + "opname" : "OpArbitraryFloatPowINTEL", + "class" : "@exclude", + "opcode" : 5880, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "A" }, + { "kind" : "LiteralInteger", "name" : "Ma" }, + { "kind" : "IdRef", "name" : "B" }, + { "kind" : "LiteralInteger", "name" : "Mb" }, + { "kind" : "LiteralInteger", "name" : "Mresult" }, + { "kind" : "LiteralInteger", "name" : "Subnormal" }, + { "kind" : "LiteralInteger", "name" : "Rounding" }, + { "kind" : "LiteralInteger", "name" : "Accuracy" } + ], + "capabilities" : [ "ArbitraryPrecisionFloatingPointALTERA" ], + "version" : "None" + }, + { + "opname" : "OpArbitraryFloatPowRINTEL", + "class" : "@exclude", + "opcode" : 5881, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "A" }, + { "kind" : "LiteralInteger", "name" : "Ma" }, + { "kind" : "IdRef", "name" : "B" }, + { "kind" : "LiteralInteger", "name" : "Mb" }, + { "kind" : "LiteralInteger", "name" : "Mresult" }, + { "kind" : "LiteralInteger", "name" : "Subnormal" }, + { "kind" : "LiteralInteger", "name" : "Rounding" }, + { "kind" : "LiteralInteger", "name" : "Accuracy" } + ], + "capabilities" : [ "ArbitraryPrecisionFloatingPointALTERA" ], + "version" : "None" + }, + { + "opname" : "OpArbitraryFloatPowNINTEL", + "class" : "@exclude", + "opcode" : 5882, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "A" }, + { "kind" : "LiteralInteger", "name" : "Ma" }, + { "kind" : "IdRef", "name" : "B" }, + { "kind" : "LiteralInteger", "name" : "SignOfB" }, + { "kind" : "LiteralInteger", "name" : "Mresult" }, + { "kind" : "LiteralInteger", "name" : "Subnormal" }, + { "kind" : "LiteralInteger", "name" : "Rounding" }, + { "kind" : "LiteralInteger", "name" : "Accuracy" } + ], + "capabilities" : [ "ArbitraryPrecisionFloatingPointALTERA" ], + "version" : "None" + }, + { + "opname" : "OpLoopControlINTEL", + "class" : "Reserved", + "opcode" : 5887, + "operands" : [ + { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "Loop Control Parameters" } + ], + "capabilities" : [ "UnstructuredLoopControlsINTEL" ], + "extensions" : [ "SPV_INTEL_unstructured_loop_controls" ], + "version" : "None" + }, + { + "opname" : "OpAliasDomainDeclINTEL", + "class" : "@exclude", + "opcode" : 5911, + "operands" : [ + { "kind" : "IdResult"}, + { "kind" : "IdRef", "quantifier" : "?", "name" : "Name" } + ], + "capabilities" : [ "MemoryAccessAliasingINTEL" ], + "extensions" : [ "SPV_INTEL_memory_access_aliasing" ], + "version" : "None" + }, + { + "opname" : "OpAliasScopeDeclINTEL", + "class" : "@exclude", + "opcode" : 5912, + "operands" : [ + { "kind" : "IdResult"}, + { "kind" : "IdRef", "name" : "Alias Domain"}, + { "kind" : "IdRef", "quantifier" : "?", "name" : "Name" } + ], + "capabilities" : [ "MemoryAccessAliasingINTEL" ], + "extensions" : [ "SPV_INTEL_memory_access_aliasing" ], + "version" : "None" + }, + { + "opname" : "OpAliasScopeListDeclINTEL", + "class" : "@exclude", + "opcode" : 5913, + "operands" : [ + { "kind" : "IdResult"}, + { "kind" : "IdRef", "quantifier" : "*", "name" : "AliasScope 1, AliasScope 2, ..." } + ], + "capabilities" : [ "MemoryAccessAliasingINTEL" ], + "extensions" : [ "SPV_INTEL_memory_access_aliasing" ], + "version" : "None" + }, + { + "opname" : "OpFixedSqrtALTERA", + "class" : "@exclude", + "aliases" : [ "OpFixedSqrtINTEL" ], + "opcode" : 5923, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Input" }, + { "kind" : "LiteralInteger", "name" : "S" }, + { "kind" : "LiteralInteger", "name" : "I" }, + { "kind" : "LiteralInteger", "name" : "rI" }, + { "kind" : "LiteralInteger", "name" : "Q" }, + { "kind" : "LiteralInteger", "name" : "O" } + ], + "capabilities" : [ "ArbitraryPrecisionFixedPointALTERA" ], + "version" : "None" + }, + { + "opname" : "OpFixedRecipALTERA", + "class" : "@exclude", + "aliases" : [ "OpFixedRecipINTEL" ], + "opcode" : 5924, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Input" }, + { "kind" : "LiteralInteger", "name" : "S" }, + { "kind" : "LiteralInteger", "name" : "I" }, + { "kind" : "LiteralInteger", "name" : "rI" }, + { "kind" : "LiteralInteger", "name" : "Q" }, + { "kind" : "LiteralInteger", "name" : "O" } + ], + "capabilities" : [ "ArbitraryPrecisionFixedPointALTERA" ], + "version" : "None" + }, + { + "opname" : "OpFixedRsqrtALTERA", + "class" : "@exclude", + "aliases" : [ "OpFixedRsqrtINTEL" ], + "opcode" : 5925, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Input" }, + { "kind" : "LiteralInteger", "name" : "S" }, + { "kind" : "LiteralInteger", "name" : "I" }, + { "kind" : "LiteralInteger", "name" : "rI" }, + { "kind" : "LiteralInteger", "name" : "Q" }, + { "kind" : "LiteralInteger", "name" : "O" } + ], + "capabilities" : [ "ArbitraryPrecisionFixedPointALTERA" ], + "version" : "None" + }, + { + "opname" : "OpFixedSinALTERA", + "class" : "@exclude", + "aliases" : [ "OpFixedSinINTEL" ], + "opcode" : 5926, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Input" }, + { "kind" : "LiteralInteger", "name" : "S" }, + { "kind" : "LiteralInteger", "name" : "I" }, + { "kind" : "LiteralInteger", "name" : "rI" }, + { "kind" : "LiteralInteger", "name" : "Q" }, + { "kind" : "LiteralInteger", "name" : "O" } + ], + "capabilities" : [ "ArbitraryPrecisionFixedPointALTERA" ], + "version" : "None" + }, + { + "opname" : "OpFixedCosALTERA", + "class" : "@exclude", + "aliases" : [ "OpFixedCosINTEL" ], + "opcode" : 5927, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Input" }, + { "kind" : "LiteralInteger", "name" : "S" }, + { "kind" : "LiteralInteger", "name" : "I" }, + { "kind" : "LiteralInteger", "name" : "rI" }, + { "kind" : "LiteralInteger", "name" : "Q" }, + { "kind" : "LiteralInteger", "name" : "O" } + ], + "capabilities" : [ "ArbitraryPrecisionFixedPointALTERA" ], + "version" : "None" + }, + { + "opname" : "OpFixedSinCosALTERA", + "class" : "@exclude", + "aliases" : [ "OpFixedSinCosINTEL" ], + "opcode" : 5928, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Input" }, + { "kind" : "LiteralInteger", "name" : "S" }, + { "kind" : "LiteralInteger", "name" : "I" }, + { "kind" : "LiteralInteger", "name" : "rI" }, + { "kind" : "LiteralInteger", "name" : "Q" }, + { "kind" : "LiteralInteger", "name" : "O" } + ], + "capabilities" : [ "ArbitraryPrecisionFixedPointALTERA" ], + "version" : "None" + }, + { + "opname" : "OpFixedSinPiALTERA", + "class" : "@exclude", + "aliases" : [ "OpFixedSinPiINTEL" ], + "opcode" : 5929, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Input" }, + { "kind" : "LiteralInteger", "name" : "S" }, + { "kind" : "LiteralInteger", "name" : "I" }, + { "kind" : "LiteralInteger", "name" : "rI" }, + { "kind" : "LiteralInteger", "name" : "Q" }, + { "kind" : "LiteralInteger", "name" : "O" } + ], + "capabilities" : [ "ArbitraryPrecisionFixedPointALTERA" ], + "version" : "None" + }, + { + "opname" : "OpFixedCosPiALTERA", + "class" : "@exclude", + "aliases" : [ "OpFixedCosPiINTEL" ], + "opcode" : 5930, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Input" }, + { "kind" : "LiteralInteger", "name" : "S" }, + { "kind" : "LiteralInteger", "name" : "I" }, + { "kind" : "LiteralInteger", "name" : "rI" }, + { "kind" : "LiteralInteger", "name" : "Q" }, + { "kind" : "LiteralInteger", "name" : "O" } + ], + "capabilities" : [ "ArbitraryPrecisionFixedPointALTERA" ], + "version" : "None" + }, + { + "opname" : "OpFixedSinCosPiALTERA", + "class" : "@exclude", + "aliases" : [ "OpFixedSinCosPiINTEL" ], + "opcode" : 5931, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Input" }, + { "kind" : "LiteralInteger", "name" : "S" }, + { "kind" : "LiteralInteger", "name" : "I" }, + { "kind" : "LiteralInteger", "name" : "rI" }, + { "kind" : "LiteralInteger", "name" : "Q" }, + { "kind" : "LiteralInteger", "name" : "O" } + ], + "capabilities" : [ "ArbitraryPrecisionFixedPointALTERA" ], + "version" : "None" + }, + { + "opname" : "OpFixedLogALTERA", + "class" : "@exclude", + "aliases" : [ "OpFixedLogINTEL" ], + "opcode" : 5932, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Input" }, + { "kind" : "LiteralInteger", "name" : "S" }, + { "kind" : "LiteralInteger", "name" : "I" }, + { "kind" : "LiteralInteger", "name" : "rI" }, + { "kind" : "LiteralInteger", "name" : "Q" }, + { "kind" : "LiteralInteger", "name" : "O" } + ], + "capabilities" : [ "ArbitraryPrecisionFixedPointALTERA" ], + "version" : "None" + }, + { + "opname" : "OpFixedExpALTERA", + "class" : "@exclude", + "aliases" : [ "OpFixedExpINTEL" ], + "opcode" : 5933, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Input" }, + { "kind" : "LiteralInteger", "name" : "S" }, + { "kind" : "LiteralInteger", "name" : "I" }, + { "kind" : "LiteralInteger", "name" : "rI" }, + { "kind" : "LiteralInteger", "name" : "Q" }, + { "kind" : "LiteralInteger", "name" : "O" } + ], + "capabilities" : [ "ArbitraryPrecisionFixedPointALTERA" ], + "version" : "None" + }, + { + "opname" : "OpPtrCastToCrossWorkgroupALTERA", + "class" : "@exclude", + "aliases" : [ "OpPtrCastToCrossWorkgroupINTEL" ], + "opcode" : 5934, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Pointer" } + ], + "capabilities" : [ "USMStorageClassesALTERA" ], + "version" : "None" + }, + { + "opname" : "OpCrossWorkgroupCastToPtrALTERA", + "class" : "@exclude", + "aliases" : [ "OpCrossWorkgroupCastToPtrINTEL" ], + "opcode" : 5938, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Pointer" } + ], + "capabilities" : [ "USMStorageClassesALTERA" ], + "version" : "None" + }, + { + "opname" : "OpReadPipeBlockingALTERA", + "class" : "@exclude", + "aliases" : [ "OpReadPipeBlockingINTEL" ], + "opcode" : 5946, + "operands" : [ + { "kind" : "IdRef", "name" : "Pipe" }, + { "kind" : "IdRef", "name" : "Pointer" }, + { "kind" : "IdRef", "name" : "Packet Size" }, + { "kind" : "IdRef", "name" : "Packet Alignment" } + ], + "capabilities" : [ "BlockingPipesALTERA" ], + "version" : "None" + }, + { + "opname" : "OpWritePipeBlockingALTERA", + "class" : "@exclude", + "aliases" : [ "OpWritePipeBlockingINTEL" ], + "opcode" : 5947, + "operands" : [ + { "kind" : "IdRef", "name" : "Pipe" }, + { "kind" : "IdRef", "name" : "Pointer" }, + { "kind" : "IdRef", "name" : "Packet Size" }, + { "kind" : "IdRef", "name" : "Packet Alignment" } + ], + "capabilities" : [ "BlockingPipesALTERA" ], + "version" : "None" + }, + { + "opname" : "OpFPGARegALTERA", + "class" : "@exclude", + "aliases" : [ "OpFPGARegINTEL" ], + "opcode" : 5949, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Input" } + ], + "capabilities" : [ "FPGARegALTERA" ], + "version" : "None" + }, + { + "opname" : "OpRayQueryGetRayTMinKHR", + "class" : "Reserved", + "opcode" : 6016, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { + "kind" : "IdRef", + "name" : "RayQuery" + } + ], + "capabilities" : [ "RayQueryKHR" ], + "extensions" : [ "SPV_KHR_ray_query" ], + "version" : "None" + }, + { + "opname" : "OpRayQueryGetRayFlagsKHR", + "class" : "Reserved", + "opcode" : 6017, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { + "kind" : "IdRef", + "name" : "RayQuery" + } + ], + "capabilities" : [ "RayQueryKHR" ], + "extensions" : [ "SPV_KHR_ray_query" ], + "version" : "None" + }, + { + "opname" : "OpRayQueryGetIntersectionTKHR", + "class" : "Reserved", + "opcode" : 6018, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { + "kind" : "IdRef", + "name" : "RayQuery" + }, + { + "kind" : "IdRef", + "name" : "Intersection" + } + ], + "capabilities" : [ "RayQueryKHR" ], + "extensions" : [ "SPV_KHR_ray_query" ], + "version" : "None" + }, + { + "opname" : "OpRayQueryGetIntersectionInstanceCustomIndexKHR", + "class" : "Reserved", + "opcode" : 6019, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { + "kind" : "IdRef", + "name" : "RayQuery" + }, + { + "kind" : "IdRef", + "name" : "Intersection" + } + ], + "capabilities" : [ "RayQueryKHR" ], + "extensions" : [ "SPV_KHR_ray_query" ], + "version" : "None" + }, + { + "opname" : "OpRayQueryGetIntersectionInstanceIdKHR", + "class" : "Reserved", + "opcode" : 6020, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { + "kind" : "IdRef", + "name" : "RayQuery" + }, + { + "kind" : "IdRef", + "name" : "Intersection" + } + ], + "capabilities" : [ "RayQueryKHR" ], + "extensions" : [ "SPV_KHR_ray_query" ], + "version" : "None" + }, + { + "opname" : "OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR", + "class" : "Reserved", + "opcode" : 6021, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { + "kind" : "IdRef", + "name" : "RayQuery" + }, + { + "kind" : "IdRef", + "name" : "Intersection" + } + ], + "capabilities" : [ "RayQueryKHR" ], + "extensions" : [ "SPV_KHR_ray_query" ], + "version" : "None" + }, + { + "opname" : "OpRayQueryGetIntersectionGeometryIndexKHR", + "class" : "Reserved", + "opcode" : 6022, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { + "kind" : "IdRef", + "name" : "RayQuery" + }, + { + "kind" : "IdRef", + "name" : "Intersection" + } + ], + "capabilities" : [ "RayQueryKHR" ], + "extensions" : [ "SPV_KHR_ray_query" ], + "version" : "None" + }, + { + "opname" : "OpRayQueryGetIntersectionPrimitiveIndexKHR", + "class" : "Reserved", + "opcode" : 6023, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { + "kind" : "IdRef", + "name" : "RayQuery" + }, + { + "kind" : "IdRef", + "name" : "Intersection" + } + ], + "capabilities" : [ "RayQueryKHR" ], + "extensions" : [ "SPV_KHR_ray_query" ], + "version" : "None" + }, + { + "opname" : "OpRayQueryGetIntersectionBarycentricsKHR", + "class" : "Reserved", + "opcode" : 6024, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { + "kind" : "IdRef", + "name" : "RayQuery" + }, + { + "kind" : "IdRef", + "name" : "Intersection" + } + ], + "capabilities" : [ "RayQueryKHR" ], + "extensions" : [ "SPV_KHR_ray_query" ], + "version" : "None" + }, + { + "opname" : "OpRayQueryGetIntersectionFrontFaceKHR", + "class" : "Reserved", + "opcode" : 6025, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { + "kind" : "IdRef", + "name" : "RayQuery" + }, + { + "kind" : "IdRef", + "name" : "Intersection" + } + ], + "capabilities" : [ "RayQueryKHR" ], + "extensions" : [ "SPV_KHR_ray_query" ], + "version" : "None" + }, + { + "opname" : "OpRayQueryGetIntersectionCandidateAABBOpaqueKHR", + "class" : "Reserved", + "opcode" : 6026, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { + "kind" : "IdRef", + "name" : "RayQuery" + } + ], + "capabilities" : [ "RayQueryKHR" ], + "extensions" : [ "SPV_KHR_ray_query" ], + "version" : "None" + }, + { + "opname" : "OpRayQueryGetIntersectionObjectRayDirectionKHR", + "class" : "Reserved", + "opcode" : 6027, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { + "kind" : "IdRef", + "name" : "RayQuery" + }, + { + "kind" : "IdRef", + "name" : "Intersection" + } + ], + "capabilities" : [ "RayQueryKHR" ], + "extensions" : [ "SPV_KHR_ray_query" ], + "version" : "None" + }, + { + "opname" : "OpRayQueryGetIntersectionObjectRayOriginKHR", + "class" : "Reserved", + "opcode" : 6028, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { + "kind" : "IdRef", + "name" : "RayQuery" + }, + { + "kind" : "IdRef", + "name" : "Intersection" + } + ], + "capabilities" : [ "RayQueryKHR" ], + "extensions" : [ "SPV_KHR_ray_query" ], + "version" : "None" + }, + { + "opname" : "OpRayQueryGetWorldRayDirectionKHR", + "class" : "Reserved", + "opcode" : 6029, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { + "kind" : "IdRef", + "name" : "RayQuery" + } + ], + "capabilities" : [ "RayQueryKHR" ], + "extensions" : [ "SPV_KHR_ray_query" ], + "version" : "None" + }, + { + "opname" : "OpRayQueryGetWorldRayOriginKHR", + "class" : "Reserved", + "opcode" : 6030, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { + "kind" : "IdRef", + "name" : "RayQuery" + } + ], + "capabilities" : [ "RayQueryKHR" ], + "extensions" : [ "SPV_KHR_ray_query" ], + "version" : "None" + }, + { + "opname" : "OpRayQueryGetIntersectionObjectToWorldKHR", + "class" : "Reserved", + "opcode" : 6031, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { + "kind" : "IdRef", + "name" : "RayQuery" + }, + { + "kind" : "IdRef", + "name" : "Intersection" + } + ], + "capabilities" : [ "RayQueryKHR" ], + "extensions" : [ "SPV_KHR_ray_query" ], + "version" : "None" + }, + { + "opname" : "OpRayQueryGetIntersectionWorldToObjectKHR", + "class" : "Reserved", + "opcode" : 6032, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { + "kind" : "IdRef", + "name" : "RayQuery" + }, + { + "kind" : "IdRef", + "name" : "Intersection" + } + ], + "capabilities" : [ "RayQueryKHR" ], + "extensions" : [ "SPV_KHR_ray_query" ], + "version" : "None" + }, + { + "opname" : "OpAtomicFAddEXT", + "class" : "Atomic", + "opcode" : 6035, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Pointer" }, + { "kind" : "IdScope", "name" : "Memory" }, + { "kind" : "IdMemorySemantics", "name" : "Semantics" }, + { "kind" : "IdRef", "name" : "Value" } + ], + "capabilities" : [ "AtomicFloat16AddEXT", "AtomicFloat32AddEXT", "AtomicFloat64AddEXT", "AtomicFloat16VectorNV" ], + "extensions" : [ "SPV_EXT_shader_atomic_float_add" ], + "version" : "None" + }, + { + "opname" : "OpTypeBufferSurfaceINTEL", + "class" : "Type-Declaration", + "opcode" : 6086, + "operands" : [ + { "kind" : "IdResult" }, + { + "kind" : "AccessQualifier", + "name" : "AccessQualifier" + } + ], + "capabilities" : [ "VectorComputeINTEL" ], + "version" : "None" + }, + { + "opname" : "OpTypeStructContinuedINTEL", + "class" : "Type-Declaration", + "opcode" : 6090, + "operands" : [ + { "kind" : "IdRef", "quantifier" : "*", "name" : "Member 0 type, member 1 type, ..." } + ], + "capabilities" : [ "LongCompositesINTEL" ], + "version" : "None" + }, + { + "opname" : "OpConstantCompositeContinuedINTEL", + "class" : "Constant-Creation", + "opcode" : 6091, + "operands" : [ + { "kind" : "IdRef", "quantifier" : "*", "name" : "Constituents" } + ], + "capabilities" : [ "LongCompositesINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSpecConstantCompositeContinuedINTEL", + "class" : "Constant-Creation", + "opcode" : 6092, + "operands" : [ + { "kind" : "IdRef", "quantifier" : "*", "name" : "Constituents" } + ], + "capabilities" : [ "LongCompositesINTEL" ], + "version" : "None" + }, + { + "opname" : "OpCompositeConstructContinuedINTEL", + "class" : "Composite", + "opcode" : 6096, + "operands" : [ + { "kind" : "IdRef", "quantifier" : "*", "name" : "Constituents" } + ], + "capabilities" : [ "LongCompositesINTEL" ], + "version": "None" + }, + { + "opname" : "OpConvertFToBF16INTEL", + "class" : "Conversion", + "opcode" : 6116, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Float Value" } + ], + "capabilities" : [ "BFloat16ConversionINTEL" ], + "version" : "None" + }, + { + "opname" : "OpConvertBF16ToFINTEL", + "class" : "Conversion", + "opcode" : 6117, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "BFloat16 Value" } + ], + "capabilities" : [ "BFloat16ConversionINTEL" ], + "version" : "None" + }, + { + "opname" : "OpControlBarrierArriveEXT", + "class" : "Barrier", + "aliases" : [ "OpControlBarrierArriveINTEL" ], + "opcode" : 6142, + "operands" : [ + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "IdScope", "name" : "Memory" }, + { "kind" : "IdMemorySemantics", "name" : "Semantics" } + ], + "capabilities" : [ "SplitBarrierEXT" ], + "version" : "None" + }, + { + "opname" : "OpControlBarrierWaitEXT", + "class" : "Barrier", + "aliases" : [ "OpControlBarrierWaitINTEL" ], + "opcode" : 6143, + "operands" : [ + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "IdScope", "name" : "Memory" }, + { "kind" : "IdMemorySemantics", "name" : "Semantics" } + ], + "capabilities" : [ "SplitBarrierEXT" ], + "version" : "None" + }, + { + "opname" : "OpArithmeticFenceEXT", + "class" : "Miscellaneous", + "opcode" : 6145, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Target" } + ], + "capabilities" : [ "ArithmeticFenceEXT" ], + "version" : "None" + }, + { + "opname" : "OpTaskSequenceCreateALTERA", + "class" : "@exclude", + "aliases" : [ "OpTaskSequenceCreateINTEL" ], + "opcode" : 6163, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Function" }, + { "kind" : "LiteralInteger", "name" : "Pipelined" }, + { "kind" : "LiteralInteger", "name" : "UseStallEnableClusters" }, + { "kind" : "LiteralInteger", "name" : "GetCapacity" }, + { "kind" : "LiteralInteger", "name" : "AsyncCapacity" } + ], + "capabilities" : [ "TaskSequenceALTERA" ], + "version" : "None" + }, + { + "opname" : "OpTaskSequenceAsyncALTERA", + "class" : "@exclude", + "aliases" : [ "OpTaskSequenceAsyncINTEL" ], + "opcode" : 6164, + "operands" : [ + { "kind" : "IdRef", "name" : "Sequence" }, + { "kind" : "IdRef", "quantifier" : "*", "name" : "Arguments" } + ], + "capabilities" : [ "TaskSequenceALTERA" ], + "version" : "None" + }, + { + "opname" : "OpTaskSequenceGetALTERA", + "class" : "@exclude", + "aliases" : [ "OpTaskSequenceGetINTEL" ], + "opcode" : 6165, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Sequence" } + ], + "capabilities" : [ "TaskSequenceALTERA" ], + "version" : "None" + }, + { + "opname" : "OpTaskSequenceReleaseALTERA", + "class" : "@exclude", + "aliases" : [ "OpTaskSequenceReleaseINTEL" ], + "opcode" : 6166, + "operands" : [ + { "kind" : "IdRef", "name" : "Sequence" } + ], + "capabilities" : [ "TaskSequenceALTERA" ], + "version" : "None" + }, + { + "opname" : "OpTypeTaskSequenceALTERA", + "class" : "@exclude", + "aliases" : [ "OpTypeTaskSequenceINTEL" ], + "opcode" : 6199, + "operands" : [ + { "kind" : "IdResult" } + ], + "capabilities" : [ "TaskSequenceALTERA" ], + "version": "None" + }, + { + "opname" : "OpSubgroupBlockPrefetchINTEL", + "class" : "Group", + "opcode" : 6221, + "operands" : [ + { "kind" : "IdRef", "name" : "Ptr" }, + { "kind" : "IdRef", "name" : "NumBytes" }, + { "kind" : "MemoryAccess", "quantifier" : "?" } + ], + "capabilities" : [ "SubgroupBufferPrefetchINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroup2DBlockLoadINTEL", + "class" : "Group", + "opcode" : 6231, + "operands" : [ + { "kind" : "IdRef", "name" : "Element Size" }, + { "kind" : "IdRef", "name" : "Block Width" }, + { "kind" : "IdRef", "name" : "Block Height" }, + { "kind" : "IdRef", "name" : "Block Count" }, + { "kind" : "IdRef", "name" : "Src Base Pointer" }, + { "kind" : "IdRef", "name" : "Memory Width" }, + { "kind" : "IdRef", "name" : "Memory Height" }, + { "kind" : "IdRef", "name" : "Memory Pitch" }, + { "kind" : "IdRef", "name" : "Coordinate" }, + { "kind" : "IdRef", "name" : "Dst Pointer" } + ], + "capabilities" : [ "Subgroup2DBlockIOINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroup2DBlockLoadTransformINTEL", + "class" : "Group", + "opcode" : 6232, + "operands" : [ + { "kind" : "IdRef", "name" : "Element Size" }, + { "kind" : "IdRef", "name" : "Block Width" }, + { "kind" : "IdRef", "name" : "Block Height" }, + { "kind" : "IdRef", "name" : "Block Count" }, + { "kind" : "IdRef", "name" : "Src Base Pointer" }, + { "kind" : "IdRef", "name" : "Memory Width" }, + { "kind" : "IdRef", "name" : "Memory Height" }, + { "kind" : "IdRef", "name" : "Memory Pitch" }, + { "kind" : "IdRef", "name" : "Coordinate" }, + { "kind" : "IdRef", "name" : "Dst Pointer" } + ], + "capabilities" : [ "Subgroup2DBlockTransformINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroup2DBlockLoadTransposeINTEL", + "class" : "Group", + "opcode" : 6233, + "operands" : [ + { "kind" : "IdRef", "name" : "Element Size" }, + { "kind" : "IdRef", "name" : "Block Width" }, + { "kind" : "IdRef", "name" : "Block Height" }, + { "kind" : "IdRef", "name" : "Block Count" }, + { "kind" : "IdRef", "name" : "Src Base Pointer" }, + { "kind" : "IdRef", "name" : "Memory Width" }, + { "kind" : "IdRef", "name" : "Memory Height" }, + { "kind" : "IdRef", "name" : "Memory Pitch" }, + { "kind" : "IdRef", "name" : "Coordinate" }, + { "kind" : "IdRef", "name" : "Dst Pointer" } + ], + "capabilities" : [ "Subgroup2DBlockTransposeINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroup2DBlockPrefetchINTEL", + "class" : "Group", + "opcode" : 6234, + "operands" : [ + { "kind" : "IdRef", "name" : "Element Size" }, + { "kind" : "IdRef", "name" : "Block Width" }, + { "kind" : "IdRef", "name" : "Block Height" }, + { "kind" : "IdRef", "name" : "Block Count" }, + { "kind" : "IdRef", "name" : "Src Base Pointer" }, + { "kind" : "IdRef", "name" : "Memory Width" }, + { "kind" : "IdRef", "name" : "Memory Height" }, + { "kind" : "IdRef", "name" : "Memory Pitch" }, + { "kind" : "IdRef", "name" : "Coordinate" } + ], + "capabilities" : [ "Subgroup2DBlockIOINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroup2DBlockStoreINTEL", + "class" : "Group", + "opcode" : 6235, + "operands" : [ + { "kind" : "IdRef", "name" : "Element Size" }, + { "kind" : "IdRef", "name" : "Block Width" }, + { "kind" : "IdRef", "name" : "Block Height" }, + { "kind" : "IdRef", "name" : "Block Count" }, + { "kind" : "IdRef", "name" : "Src Pointer" }, + { "kind" : "IdRef", "name" : "Dst Base Pointer" }, + { "kind" : "IdRef", "name" : "Memory Width" }, + { "kind" : "IdRef", "name" : "Memory Height" }, + { "kind" : "IdRef", "name" : "Memory Pitch" }, + { "kind" : "IdRef", "name" : "Coordinate" } + ], + "capabilities" : [ "Subgroup2DBlockIOINTEL" ], + "version" : "None" + }, + { + "opname" : "OpSubgroupMatrixMultiplyAccumulateINTEL", + "class" : "Group", + "opcode" : 6237, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "K Dim" }, + { "kind" : "IdRef", "name" : "Matrix A" }, + { "kind" : "IdRef", "name" : "Matrix B" }, + { "kind" : "IdRef", "name" : "Matrix C" }, + { "kind" : "MatrixMultiplyAccumulateOperands", "quantifier" : "?" } + ], + "capabilities" : [ "SubgroupMatrixMultiplyAccumulateINTEL" ], + "version" : "None" + }, + { + "opname" : "OpBitwiseFunctionINTEL", + "class" : "Bit", + "opcode" : 6242, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "A" }, + { "kind" : "IdRef", "name" : "B" }, + { "kind" : "IdRef", "name" : "C" }, + { "kind" : "IdRef", "name" : "LUTIndex" } + ], + "capabilities" : [ "TernaryBitwiseFunctionINTEL" ], + "version" : "None" + }, + { + "opname" : "OpUntypedVariableLengthArrayINTEL", + "class" : "Memory", + "opcode" : 6244, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Element Type" }, + { "kind" : "IdRef", "name" : "Length" } + ], + "capabilities" : [ "UntypedVariableLengthArrayINTEL" ], + "version" : "None" + }, + { + "opname" : "OpConditionalExtensionINTEL", + "class" : "Extension", + "opcode" : 6248, + "operands" : [ + { "kind" : "IdRef", "name" : "Condition" }, + { "kind" : "LiteralString", "name" : "Name" } + ], + "capabilities" : [ "SpecConditionalINTEL" ], + "provisional" : true, + "version" : "None" + }, + { + "opname" : "OpConditionalEntryPointINTEL", + "class" : "Mode-Setting", + "opcode" : 6249, + "operands" : [ + { "kind" : "IdRef", "name" : "Condition" }, + { "kind" : "ExecutionModel" }, + { "kind" : "IdRef", "name" : "Entry Point" }, + { "kind" : "LiteralString", "name" : "Name" }, + { "kind" : "IdRef", "quantifier" : "*", "name" : "Interface" } + ], + "capabilities" : [ "SpecConditionalINTEL" ], + "provisional" : true, + "version" : "None" + }, + { + "opname" : "OpConditionalCapabilityINTEL", + "class" : "Mode-Setting", + "opcode" : 6250, + "operands" : [ + { "kind" : "IdRef", "name" : "Condition" }, + { "kind" : "Capability", "name" : "Capability" } + ], + "capabilities" : [ "SpecConditionalINTEL" ], + "provisional" : true, + "version" : "None" + }, + { + "opname" : "OpSpecConstantTargetINTEL", + "class" : "Constant-Creation", + "opcode" : 6251, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "LiteralInteger", "name" : "Target" }, + { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "Features" } + ], + "capabilities" : [ "FunctionVariantsINTEL" ], + "provisional" : true, + "version": "None" + }, + { + "opname" : "OpSpecConstantArchitectureINTEL", + "class" : "Constant-Creation", + "opcode" : 6252, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "LiteralInteger", "name" : "Category" }, + { "kind" : "LiteralInteger", "name" : "Family" }, + { "kind" : "LiteralInteger", "name" : "Opcode" }, + { "kind" : "LiteralInteger", "name" : "Architecture" } + ], + "capabilities" : [ "FunctionVariantsINTEL" ], + "provisional" : true, + "version": "None" + }, + { + "opname" : "OpSpecConstantCapabilitiesINTEL", + "class" : "Constant-Creation", + "opcode" : 6253, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "Capability", "quantifier" : "*", "name" : "Capabilities" } + ], + "capabilities" : [ "FunctionVariantsINTEL" ], + "provisional" : true, + "version": "None" + }, + { + "opname" : "OpConditionalCopyObjectINTEL", + "class" : "Composite", + "opcode" : 6254, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "quantifier" : "*", "name" : "Condition 0, Operand 0, +\nCondition 1, Operand 1, +\n..." } + ], + "capabilities" : [ "SpecConditionalINTEL" ], + "provisional" : true, + "version" : "None" + }, + { + "opname" : "OpPredicatedLoadINTEL", + "class" : "Memory", + "opcode" : 6258, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Pointer" }, + { "kind" : "IdRef", "name" : "Predicate" }, + { "kind" : "IdRef", "name" : "Default Value" }, + { "kind" : "MemoryAccess", "quantifier" : "?" } + ], + "capabilities" : [ "PredicatedIOINTEL" ], + "version" : "None" + }, + { + "opname" : "OpPredicatedStoreINTEL", + "class" : "Memory", + "opcode" : 6259, + "operands" : [ + { "kind" : "IdRef", "name" : "Pointer" }, + { "kind" : "IdRef", "name" : "Object" }, + { "kind" : "IdRef", "name" : "Predicate" }, + { "kind" : "MemoryAccess", "quantifier" : "?" } + ], + "capabilities" : [ "PredicatedIOINTEL" ], + "version" : "None" + }, + { + "opname" : "OpGroupIMulKHR", + "class" : "Group", + "opcode" : 6401, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "GroupOperation", "name" : "Operation" }, + { "kind" : "IdRef", "name" : "X" } + ], + "capabilities" : [ "GroupUniformArithmeticKHR" ], + "version" : "None" + }, + { + "opname" : "OpGroupFMulKHR", + "class" : "Group", + "opcode" : 6402, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "GroupOperation", "name" : "Operation" }, + { "kind" : "IdRef", "name" : "X" } + ], + "capabilities" : [ "GroupUniformArithmeticKHR" ], + "version" : "None" + }, + { + "opname" : "OpGroupBitwiseAndKHR", + "class" : "Group", + "opcode" : 6403, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "GroupOperation", "name" : "Operation" }, + { "kind" : "IdRef", "name" : "X" } + ], + "capabilities" : [ "GroupUniformArithmeticKHR" ], + "version" : "None" + }, + { + "opname" : "OpGroupBitwiseOrKHR", + "class" : "Group", + "opcode" : 6404, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "GroupOperation", "name" : "Operation" }, + { "kind" : "IdRef", "name" : "X" } + ], + "capabilities" : [ "GroupUniformArithmeticKHR" ], + "version" : "None" + }, + { + "opname" : "OpGroupBitwiseXorKHR", + "class" : "Group", + "opcode" : 6405, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "GroupOperation", "name" : "Operation" }, + { "kind" : "IdRef", "name" : "X" } + ], + "capabilities" : [ "GroupUniformArithmeticKHR" ], + "version" : "None" + }, + { + "opname" : "OpGroupLogicalAndKHR", + "class" : "Group", + "opcode" : 6406, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "GroupOperation", "name" : "Operation" }, + { "kind" : "IdRef", "name" : "X" } + ], + "capabilities" : [ "GroupUniformArithmeticKHR" ], + "version" : "None" + }, + { + "opname" : "OpGroupLogicalOrKHR", + "class" : "Group", + "opcode" : 6407, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "GroupOperation", "name" : "Operation" }, + { "kind" : "IdRef", "name" : "X" } + ], + "capabilities" : [ "GroupUniformArithmeticKHR" ], + "version" : "None" + }, + { + "opname" : "OpGroupLogicalXorKHR", + "class" : "Group", + "opcode" : 6408, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdScope", "name" : "Execution" }, + { "kind" : "GroupOperation", "name" : "Operation" }, + { "kind" : "IdRef", "name" : "X" } + ], + "capabilities" : [ "GroupUniformArithmeticKHR" ], + "version" : "None" + }, + { + "opname" : "OpRoundFToTF32INTEL", + "class" : "Conversion", + "opcode" : 6426, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Float Value" } + ], + "capabilities" : [ "TensorFloat32RoundingINTEL" ], + "version" : "None" + }, + { + "opname" : "OpMaskedGatherINTEL", + "class" : "Memory", + "opcode" : 6428, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "PtrVector" }, + { "kind" : "LiteralInteger", "name" : "Alignment" }, + { "kind" : "IdRef", "name" : "Mask" }, + { "kind" : "IdRef", "name" : "FillEmpty" } + ], + "capabilities" : [ "MaskedGatherScatterINTEL" ], + "version" : "None" + }, + { + "opname" : "OpMaskedScatterINTEL", + "class" : "Memory", + "opcode" : 6429, + "operands" : [ + { "kind" : "IdRef", "name" : "InputVector" }, + { "kind" : "IdRef", "name" : "PtrVector" }, + { "kind" : "LiteralInteger", "name" : "Alignment" }, + { "kind" : "IdRef", "name" : "Mask" } + ], + "capabilities" : [ "MaskedGatherScatterINTEL" ], + "version" : "None" + }, + { + "opname" : "OpConvertHandleToImageINTEL", + "class" : "Image", + "opcode" : 6529, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand" } + ], + "capabilities" : [ "BindlessImagesINTEL" ], + "provisional" : true, + "version" : "None" + }, + { + "opname" : "OpConvertHandleToSamplerINTEL", + "class" : "Image", + "opcode" : 6530, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand" } + ], + "capabilities" : [ "BindlessImagesINTEL" ], + "provisional" : true, + "version" : "None" + }, + { + "opname" : "OpConvertHandleToSampledImageINTEL", + "class" : "Image", + "opcode" : 6531, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Operand" } + ], + "capabilities" : [ "BindlessImagesINTEL" ], + "provisional" : true, + "version" : "None" + }, + { + "opname" : "OpFDot2MixAcc32VALVE", + "class" : "Reserved", + "opcode" : 6916, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Vector 1" }, + { "kind" : "IdRef", "name" : "Vector 2" }, + { "kind" : "IdRef", "name" : "Accumulator" } + ], + "capabilities" : [ "DotProductFloat16AccFloat32VALVE", "DotProductBFloat16AccVALVE" ], + "version" : "None" + }, + { + "opname" : "OpFDot2MixAcc16VALVE", + "class" : "Reserved", + "opcode" : 6917, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Vector 1" }, + { "kind" : "IdRef", "name" : "Vector 2" }, + { "kind" : "IdRef", "name" : "Accumulator" } + ], + "capabilities" : [ "DotProductFloat16AccFloat16VALVE", "DotProductBFloat16AccVALVE" ], + "version" : "None" + }, + { + "opname" : "OpFDot4MixAcc32VALVE", + "class" : "Reserved", + "opcode" : 6918, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "Vector 1" }, + { "kind" : "IdRef", "name" : "Vector 2" }, + { "kind" : "IdRef", "name" : "Accumulator" } + ], + "capabilities" : [ "DotProductFloat8AccFloat32VALVE" ], + "version" : "None" + } + ], + "operand_kinds" : [ + { + "category" : "BitEnum", + "kind" : "ImageOperands", + "enumerants" : [ + { + "enumerant" : "None", + "value" : "0x0000" + }, + { + "enumerant" : "Bias", + "value" : "0x0001", + "capabilities" : [ "Shader" ], + "parameters" : [ + { "kind" : "IdRef" } + ], + "version": "1.0" + }, + { + "enumerant" : "Lod", + "value" : "0x0002", + "parameters" : [ + { "kind" : "IdRef" } + ], + "version": "1.0" + }, + { + "enumerant" : "Grad", + "value" : "0x0004", + "parameters" : [ + { "kind" : "IdRef" }, + { "kind" : "IdRef" } + ], + "version": "1.0" + }, + { + "enumerant" : "ConstOffset", + "value" : "0x0008", + "parameters" : [ + { "kind" : "IdRef" } + ], + "version": "1.0" + }, + { + "enumerant" : "Offset", + "value" : "0x0010", + "capabilities" : [ "ImageGatherExtended" ], + "parameters" : [ + { "kind" : "IdRef" } + ], + "version": "1.0" + }, + { + "enumerant" : "ConstOffsets", + "value" : "0x0020", + "capabilities" : [ "ImageGatherExtended" ], + "parameters" : [ + { "kind" : "IdRef" } + ], + "version": "1.0" + }, + { + "enumerant" : "Sample", + "value" : "0x0040", + "parameters" : [ + { "kind" : "IdRef" } + ], + "version": "1.0" + }, + { + "enumerant" : "MinLod", + "value" : "0x0080", + "capabilities" : [ "MinLod" ], + "parameters" : [ + { "kind" : "IdRef" } + ], + "version": "1.0" + }, + { + "enumerant" : "MakeTexelAvailable", + "aliases" : [ "MakeTexelAvailableKHR" ], + "value" : "0x0100", + "capabilities" : [ "VulkanMemoryModel" ], + "parameters" : [ + { "kind" : "IdScope" } + ], + "extensions" : [ "SPV_KHR_vulkan_memory_model" ], + "version" : "1.5" + }, + { + "enumerant" : "MakeTexelVisible", + "aliases" : [ "MakeTexelVisibleKHR" ], + "value" : "0x0200", + "capabilities" : [ "VulkanMemoryModel" ], + "parameters" : [ + { "kind" : "IdScope" } + ], + "extensions" : [ "SPV_KHR_vulkan_memory_model" ], + "version" : "1.5" + }, + { + "enumerant" : "NonPrivateTexel", + "aliases" : [ "NonPrivateTexelKHR" ], + "value" : "0x0400", + "capabilities" : [ "VulkanMemoryModel" ], + "extensions" : [ "SPV_KHR_vulkan_memory_model" ], + "version" : "1.5" + }, + { + "enumerant" : "VolatileTexel", + "aliases" : [ "VolatileTexelKHR" ], + "value" : "0x0800", + "capabilities" : [ "VulkanMemoryModel" ], + "extensions" : [ "SPV_KHR_vulkan_memory_model" ], + "version" : "1.5" + }, + { + "enumerant" : "SignExtend", + "value" : "0x1000", + "version" : "1.4" + }, + { + "enumerant" : "ZeroExtend", + "value" : "0x2000", + "version" : "1.4" + }, + { + "enumerant" : "Nontemporal", + "value" : "0x4000", + "version" : "1.6" + }, + { + "enumerant" : "Offsets", + "value" : "0x10000", + "parameters" : [ + { "kind" : "IdRef" } + ], + "version": "1.0" + } + ] + }, + { + "category" : "BitEnum", + "kind" : "FPFastMathMode", + "enumerants" : [ + { + "enumerant" : "None", + "value" : "0x0000", + "version" : "1.0" + }, + { + "enumerant" : "NotNaN", + "value" : "0x0001", + "version" : "1.0" + }, + { + "enumerant" : "NotInf", + "value" : "0x0002", + "version" : "1.0" + }, + { + "enumerant" : "NSZ", + "value" : "0x0004", + "version" : "1.0" + }, + { + "enumerant" : "AllowRecip", + "value" : "0x0008", + "version" : "1.0" + }, + { + "enumerant" : "Fast", + "value" : "0x0010", + "version" : "1.0" + }, + { + "enumerant" : "AllowContract", + "aliases" : ["AllowContractFastINTEL"], + "value" : "0x10000", + "capabilities" : [ "FloatControls2", "FPFastMathModeINTEL" ], + "version" : "None" + }, + { + "enumerant" : "AllowReassoc", + "aliases" : ["AllowReassocINTEL"], + "value" : "0x20000", + "capabilities" : [ "FloatControls2", "FPFastMathModeINTEL" ], + "version" : "None" + }, + { + "enumerant" : "AllowTransform", + "value" : "0x40000", + "capabilities" : [ "FloatControls2" ], + "version" : "None" + } + ] + }, + { + "category" : "BitEnum", + "kind" : "SelectionControl", + "enumerants" : [ + { + "enumerant" : "None", + "value" : "0x0000", + "version" : "1.0" + }, + { + "enumerant" : "Flatten", + "value" : "0x0001", + "version" : "1.0" + }, + { + "enumerant" : "DontFlatten", + "value" : "0x0002", + "version" : "1.0" + } + ] + }, + { + "category" : "BitEnum", + "kind" : "LoopControl", + "enumerants" : [ + { + "enumerant" : "None", + "value" : "0x0000", + "version" : "1.0" + }, + { + "enumerant" : "Unroll", + "value" : "0x0001", + "version" : "1.0" + }, + { + "enumerant" : "DontUnroll", + "value" : "0x0002", + "version" : "1.0" + }, + { + "enumerant" : "DependencyInfinite", + "value" : "0x0004", + "version" : "1.1" + }, + { + "enumerant" : "DependencyLength", + "value" : "0x0008", + "parameters" : [ + { "kind" : "LiteralInteger" } + ], + "version" : "1.1" + }, + { + "enumerant" : "MinIterations", + "value" : "0x0010", + "parameters" : [ + { "kind" : "LiteralInteger" } + ], + "version" : "1.4" + }, + { + "enumerant" : "MaxIterations", + "value" : "0x0020", + "parameters" : [ + { "kind" : "LiteralInteger" } + ], + "version" : "1.4" + }, + { + "enumerant" : "IterationMultiple", + "value" : "0x0040", + "parameters" : [ + { "kind" : "LiteralInteger" } + ], + "version" : "1.4" + }, + { + "enumerant" : "PeelCount", + "value" : "0x0080", + "parameters" : [ + { "kind" : "LiteralInteger" } + ], + "version" : "1.4" + }, + { + "enumerant" : "PartialCount", + "value" : "0x0100", + "parameters" : [ + { "kind" : "LiteralInteger" } + ], + "version" : "1.4" + }, + { + "enumerant" : "InitiationIntervalALTERA", + "aliases" : [ "InitiationIntervalINTEL" ], + "value" : "0x10000", + "parameters" : [ + { "kind" : "LiteralInteger" } + ], + "capabilities" : [ "FPGALoopControlsALTERA" ], + "version" : "None" + }, + { + "enumerant" : "MaxConcurrencyALTERA", + "aliases" : [ "MaxConcurrencyINTEL" ], + "value" : "0x20000", + "parameters" : [ + { "kind" : "LiteralInteger" } + ], + "capabilities" : [ "FPGALoopControlsALTERA" ], + "version" : "None" + }, + { + "enumerant" : "DependencyArrayALTERA", + "aliases" : [ "DependencyArrayINTEL" ], + "value" : "0x40000", + "parameters" : [ + { "kind" : "LiteralInteger" } + ], + "capabilities" : [ "FPGALoopControlsALTERA" ], + "version" : "None" + }, + { + "enumerant" : "PipelineEnableALTERA", + "aliases" : [ "PipelineEnableINTEL" ], + "value" : "0x80000", + "parameters" : [ + { "kind" : "LiteralInteger" } + ], + "capabilities" : [ "FPGALoopControlsALTERA" ], + "version" : "None" + }, + { + "enumerant" : "LoopCoalesceALTERA", + "aliases" : [ "LoopCoalesceINTEL" ], + "value" : "0x100000", + "parameters" : [ + { "kind" : "LiteralInteger" } + ], + "capabilities" : [ "FPGALoopControlsALTERA" ], + "version" : "None" + }, + { + "enumerant" : "MaxInterleavingALTERA", + "aliases" : [ "MaxInterleavingINTEL" ], + "value" : "0x200000", + "parameters" : [ + { "kind" : "LiteralInteger" } + ], + "capabilities" : [ "FPGALoopControlsALTERA" ], + "version" : "None" + }, + { + "enumerant" : "SpeculatedIterationsALTERA", + "aliases" : [ "SpeculatedIterationsINTEL" ], + "value" : "0x400000", + "parameters" : [ + { "kind" : "LiteralInteger" } + ], + "capabilities" : [ "FPGALoopControlsALTERA" ], + "version" : "None" + }, + { + "enumerant" : "NoFusionALTERA", + "aliases" : [ "NoFusionINTEL" ], + "value" : "0x800000", + "capabilities" : [ "FPGALoopControlsALTERA" ], + "version" : "None" + }, + { + "enumerant" : "LoopCountALTERA", + "aliases" : [ "LoopCountINTEL" ], + "value" : "0x1000000", + "parameters" : [ + { "kind" : "LiteralInteger" } + ], + "capabilities" : [ "FPGALoopControlsALTERA" ], + "version" : "None" + }, + { + "enumerant" : "MaxReinvocationDelayALTERA", + "aliases" : [ "MaxReinvocationDelayINTEL" ], + "value" : "0x2000000", + "parameters" : [ + { "kind" : "LiteralInteger" } + ], + "capabilities" : [ "FPGALoopControlsALTERA" ], + "version" : "None" + } + ] + }, + { + "category" : "BitEnum", + "kind" : "FunctionControl", + "enumerants" : [ + { + "enumerant" : "None", + "value" : "0x0000", + "version" : "1.0" + }, + { + "enumerant" : "Inline", + "value" : "0x0001", + "version" : "1.0" + }, + { + "enumerant" : "DontInline", + "value" : "0x0002", + "version" : "1.0" + }, + { + "enumerant" : "Pure", + "value" : "0x0004", + "version" : "1.0" + }, + { + "enumerant" : "Const", + "value" : "0x0008", + "version" : "1.0" + }, + { + "enumerant" : "OptNoneEXT", + "aliases" : ["OptNoneINTEL"], + "value" : "0x10000", + "capabilities" : [ "OptNoneEXT" ], + "version" : "None" + } + ] + }, + { + "category" : "BitEnum", + "kind" : "MemorySemantics", + "enumerants" : [ + { + "enumerant" : "Relaxed", + "aliases" : ["None"], + "value" : "0x0000", + "version" : "1.0" + }, + { + "enumerant" : "Acquire", + "value" : "0x0002", + "version" : "1.0" + }, + { + "enumerant" : "Release", + "value" : "0x0004", + "version" : "1.0" + }, + { + "enumerant" : "AcquireRelease", + "value" : "0x0008", + "version" : "1.0" + }, + { + "enumerant" : "SequentiallyConsistent", + "value" : "0x0010", + "version" : "1.0" + }, + { + "enumerant" : "UniformMemory", + "value" : "0x0040", + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "SubgroupMemory", + "value" : "0x0080", + "version" : "1.0" + }, + { + "enumerant" : "WorkgroupMemory", + "value" : "0x0100", + "version" : "1.0" + }, + { + "enumerant" : "CrossWorkgroupMemory", + "value" : "0x0200", + "version" : "1.0" + }, + { + "enumerant" : "AtomicCounterMemory", + "value" : "0x0400", + "capabilities" : [ "AtomicStorage" ], + "version": "1.0" + }, + { + "enumerant" : "ImageMemory", + "value" : "0x0800", + "version" : "1.0" + }, + { + "enumerant" : "OutputMemory", + "aliases" : ["OutputMemoryKHR"], + "value" : "0x1000", + "capabilities" : [ "VulkanMemoryModel" ], + "extensions" : [ "SPV_KHR_vulkan_memory_model" ], + "version" : "1.5" + }, + { + "enumerant" : "MakeAvailable", + "aliases" : ["MakeAvailableKHR"], + "value" : "0x2000", + "capabilities" : [ "VulkanMemoryModel" ], + "extensions" : [ "SPV_KHR_vulkan_memory_model" ], + "version" : "1.5" + }, + { + "enumerant" : "MakeVisible", + "aliases" : ["MakeVisibleKHR"], + "value" : "0x4000", + "capabilities" : [ "VulkanMemoryModel" ], + "extensions" : [ "SPV_KHR_vulkan_memory_model" ], + "version" : "1.5" + }, + { + "enumerant" : "Volatile", + "value" : "0x8000", + "capabilities" : [ "VulkanMemoryModel" ], + "extensions" : [ "SPV_KHR_vulkan_memory_model" ], + "version" : "1.5" + } + ] + }, + { + "category" : "BitEnum", + "kind" : "MemoryAccess", + "enumerants" : [ + { + "enumerant" : "None", + "value" : "0x0000", + "version" : "1.0" + }, + { + "enumerant" : "Volatile", + "value" : "0x0001", + "version" : "1.0" + }, + { + "enumerant" : "Aligned", + "value" : "0x0002", + "parameters" : [ + { "kind" : "LiteralInteger" } + ], + "version" : "1.0" + }, + { + "enumerant" : "Nontemporal", + "value" : "0x0004", + "version" : "1.0" + }, + { + "enumerant" : "MakePointerAvailable", + "aliases" : ["MakePointerAvailableKHR"], + "value" : "0x0008", + "parameters" : [ + { "kind" : "IdScope" } + ], + "capabilities" : [ "VulkanMemoryModel" ], + "extensions" : [ "SPV_KHR_vulkan_memory_model" ], + "version" : "1.5" + }, + { + "enumerant" : "MakePointerVisible", + "aliases" : ["MakePointerVisibleKHR"], + "value" : "0x0010", + "parameters" : [ + { "kind" : "IdScope" } + ], + "capabilities" : [ "VulkanMemoryModel" ], + "extensions" : [ "SPV_KHR_vulkan_memory_model" ], + "version" : "1.5" + }, + { + "enumerant" : "NonPrivatePointer", + "aliases" : ["NonPrivatePointerKHR"], + "value" : "0x0020", + "capabilities" : [ "VulkanMemoryModel" ], + "extensions" : [ "SPV_KHR_vulkan_memory_model" ], + "version" : "1.5" + }, + { + "enumerant" : "AliasScopeINTELMask", + "value" : "0x10000", + "parameters" : [ + { "kind" : "IdRef" } + ], + "capabilities" : [ "MemoryAccessAliasingINTEL" ], + "extensions" : [ "SPV_INTEL_memory_access_aliasing" ], + "version" : "None" + }, + { + "enumerant" : "NoAliasINTELMask", + "parameters" : [ + { "kind" : "IdRef" } + ], + "value" : "0x20000", + "capabilities" : [ "MemoryAccessAliasingINTEL" ], + "extensions" : [ "SPV_INTEL_memory_access_aliasing" ], + "version" : "None" + } + ] + }, + { + "category" : "BitEnum", + "kind" : "KernelProfilingInfo", + "enumerants" : [ + { + "enumerant" : "None", + "value" : "0x0000", + "version" : "1.0" + }, + { + "enumerant" : "CmdExecTime", + "value" : "0x0001", + "capabilities" : [ "Kernel" ], + "version": "1.0" + } + ] + }, + { + "category" : "BitEnum", + "kind" : "RayFlags", + "enumerants" : [ + { + "enumerant" : "NoneKHR", + "value" : "0x0000", + "capabilities" : [ "RayQueryKHR","RayTracingKHR" ], + "version" : "None" + }, + { + "enumerant" : "OpaqueKHR", + "value" : "0x0001", + "capabilities" : [ "RayQueryKHR","RayTracingKHR" ], + "version" : "None" + }, + { + "enumerant" : "NoOpaqueKHR", + "value" : "0x0002", + "capabilities" : [ "RayQueryKHR","RayTracingKHR" ], + "version" : "None" + }, + { + "enumerant" : "TerminateOnFirstHitKHR", + "value" : "0x0004", + "capabilities" : [ "RayQueryKHR","RayTracingKHR" ], + "version" : "None" + }, + { + "enumerant" : "SkipClosestHitShaderKHR", + "value" : "0x0008", + "capabilities" : [ "RayQueryKHR","RayTracingKHR" ], + "version" : "None" + }, + { + "enumerant" : "CullBackFacingTrianglesKHR", + "value" : "0x0010", + "capabilities" : [ "RayQueryKHR","RayTracingKHR" ], + "version" : "None" + }, + { + "enumerant" : "CullFrontFacingTrianglesKHR", + "value" : "0x0020", + "capabilities" : [ "RayQueryKHR","RayTracingKHR" ], + "version" : "None" + }, + { + "enumerant" : "CullOpaqueKHR", + "value" : "0x0040", + "capabilities" : [ "RayQueryKHR","RayTracingKHR" ], + "version" : "None" + }, + { + "enumerant" : "CullNoOpaqueKHR", + "value" : "0x0080", + "capabilities" : [ "RayQueryKHR","RayTracingKHR" ], + "version" : "None" + }, + { + "enumerant" : "SkipTrianglesKHR", + "aliases" : ["SkipBuiltinPrimitivesNV"], + "value" : "0x0100", + "capabilities" : [ "RayTraversalPrimitiveCullingKHR" ], + "version" : "None" + }, + { + "enumerant" : "SkipAABBsKHR", + "value" : "0x0200", + "capabilities" : [ "RayTraversalPrimitiveCullingKHR" ], + "version" : "None" + }, + { + "enumerant" : "ForceOpacityMicromap2StateKHR", + "aliases" : [ "ForceOpacityMicromap2StateEXT" ], + "value" : "0x0400", + "capabilities" : [ "RayTracingOpacityMicromapKHR" ], + "version" : "None" + } + ] + }, + { + "category" : "BitEnum", + "kind" : "FragmentShadingRate", + "enumerants" : [ + { + "enumerant" : "Vertical2Pixels", + "value" : "0x0001", + "capabilities" : [ "FragmentShadingRateKHR" ], + "version" : "None" + }, + { + "enumerant" : "Vertical4Pixels", + "value" : "0x0002", + "capabilities" : [ "FragmentShadingRateKHR" ], + "version" : "None" + }, + { + "enumerant" : "Horizontal2Pixels", + "value" : "0x0004", + "capabilities" : [ "FragmentShadingRateKHR" ], + "version" : "None" + }, + { + "enumerant" : "Horizontal4Pixels", + "value" : "0x0008", + "capabilities" : [ "FragmentShadingRateKHR" ], + "version" : "None" + } + ] + }, + { + "category" : "BitEnum", + "kind" : "RawAccessChainOperands", + "enumerants" : [ + { + "enumerant" : "None", + "value" : "0x0000" + }, + { + "enumerant" : "RobustnessPerComponentNV", + "value" : "0x0001", + "capabilities" : [ "RawAccessChainsNV" ], + "version" : "None" + }, + { + "enumerant" : "RobustnessPerElementNV", + "value" : "0x0002", + "capabilities" : [ "RawAccessChainsNV" ], + "version" : "None" + } + ] + }, + { + "category" : "ValueEnum", + "kind" : "SourceLanguage", + "enumerants" : [ + { + "enumerant" : "Unknown", + "value" : 0, + "version" : "1.0" + }, + { + "enumerant" : "ESSL", + "value" : 1, + "version" : "1.0" + }, + { + "enumerant" : "GLSL", + "value" : 2, + "version" : "1.0" + }, + { + "enumerant" : "OpenCL_C", + "value" : 3, + "version" : "1.0" + }, + { + "enumerant" : "OpenCL_CPP", + "value" : 4, + "version" : "1.0" + }, + { + "enumerant" : "HLSL", + "value" : 5, + "version" : "1.0" + }, + { + "enumerant" : "CPP_for_OpenCL", + "value" : 6, + "version" : "1.0" + }, + { + "enumerant" : "SYCL", + "value" : 7, + "version" : "1.0" + }, + { + "enumerant" : "HERO_C", + "value" : 8, + "version" : "1.0" + }, + { + "enumerant" : "NZSL", + "value" : 9, + "version" : "1.0" + }, + { + "enumerant" : "WGSL", + "value" : 10, + "version" : "1.0" + }, + { + "enumerant" : "Slang", + "value" : 11, + "version" : "1.0" + }, + { + "enumerant" : "Zig", + "value" : 12, + "version" : "1.0" + }, + { + "enumerant" : "Rust", + "value" : 13, + "version" : "1.0" + }, + { + "enumerant" : "Pred", + "value" : 14, + "version" : "1.0" + }, + { + "enumerant" : "ApilaJai", + "value" : 15, + "version" : "1.0" + } + ] + }, + { + "category" : "ValueEnum", + "kind" : "ExecutionModel", + "enumerants" : [ + { + "enumerant" : "Vertex", + "value" : 0, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "TessellationControl", + "value" : 1, + "capabilities" : [ "Tessellation" ], + "version": "1.0" + }, + { + "enumerant" : "TessellationEvaluation", + "value" : 2, + "capabilities" : [ "Tessellation" ], + "version": "1.0" + }, + { + "enumerant" : "Geometry", + "value" : 3, + "capabilities" : [ "Geometry" ], + "version": "1.0" + }, + { + "enumerant" : "Fragment", + "value" : 4, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "GLCompute", + "value" : 5, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "Kernel", + "value" : 6, + "capabilities" : [ "Kernel" ], + "version": "1.0" + }, + { + "enumerant" : "TaskNV", + "value" : 5267, + "capabilities" : [ "MeshShadingNV" ], + "version" : "None" + }, + { + "enumerant" : "MeshNV", + "value" : 5268, + "capabilities" : [ "MeshShadingNV" ], + "version" : "None" + }, + { + "enumerant" : "RayGenerationKHR", + "aliases" : ["RayGenerationNV"], + "value" : 5313, + "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ], + "version" : "None" + }, + { + "enumerant" : "IntersectionKHR", + "aliases" : ["IntersectionNV"], + "value" : 5314, + "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ], + "version" : "None" + }, + { + "enumerant" : "AnyHitKHR", + "aliases" : ["AnyHitNV"], + "value" : 5315, + "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ], + "version" : "None" + }, + { + "enumerant" : "ClosestHitKHR", + "aliases" : ["ClosestHitNV"], + "value" : 5316, + "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ], + "version" : "None" + }, + { + "enumerant" : "MissKHR", + "aliases" : ["MissNV"], + "value" : 5317, + "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ], + "version" : "None" + }, + { + "enumerant" : "CallableKHR", + "aliases" : ["CallableNV"], + "value" : 5318, + "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ], + "version" : "None" + }, + { + "enumerant" : "TaskEXT", + "value" : 5364, + "capabilities" : [ "MeshShadingEXT" ], + "version" : "None" + }, + { + "enumerant" : "MeshEXT", + "value" : 5365, + "capabilities" : [ "MeshShadingEXT" ], + "version" : "None" + } + ] + }, + { + "category" : "ValueEnum", + "kind" : "AddressingModel", + "enumerants" : [ + { + "enumerant" : "Logical", + "value" : 0, + "version" : "1.0" + }, + { + "enumerant" : "Physical32", + "value" : 1, + "capabilities" : [ "Addresses" ], + "version": "1.0" + }, + { + "enumerant" : "Physical64", + "value" : 2, + "capabilities" : [ "Addresses" ], + "version": "1.0" + }, + { + "enumerant" : "PhysicalStorageBuffer64", + "aliases" : ["PhysicalStorageBuffer64EXT"], + "value" : 5348, + "extensions" : [ "SPV_EXT_physical_storage_buffer", "SPV_KHR_physical_storage_buffer" ], + "capabilities" : [ "PhysicalStorageBufferAddresses" ], + "version" : "1.5" + } + ] + }, + { + "category" : "ValueEnum", + "kind" : "MemoryModel", + "enumerants" : [ + { + "enumerant" : "Simple", + "value" : 0, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "GLSL450", + "value" : 1, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "OpenCL", + "value" : 2, + "capabilities" : [ "Kernel" ], + "version": "1.0" + }, + { + "enumerant" : "Vulkan", + "aliases" : ["VulkanKHR"], + "value" : 3, + "capabilities" : [ "VulkanMemoryModel" ], + "extensions" : [ "SPV_KHR_vulkan_memory_model" ], + "version" : "1.5" + } + ] + }, + { + "category" : "ValueEnum", + "kind" : "ExecutionMode", + "enumerants" : [ + { + "enumerant" : "Invocations", + "value" : 0, + "capabilities" : [ "Geometry" ], + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Number of <>" } + ], + "version": "1.0" + }, + { + "enumerant" : "SpacingEqual", + "value" : 1, + "capabilities" : [ "Tessellation" ], + "version": "1.0" + }, + { + "enumerant" : "SpacingFractionalEven", + "value" : 2, + "capabilities" : [ "Tessellation" ], + "version": "1.0" + }, + { + "enumerant" : "SpacingFractionalOdd", + "value" : 3, + "capabilities" : [ "Tessellation" ], + "version": "1.0" + }, + { + "enumerant" : "VertexOrderCw", + "value" : 4, + "capabilities" : [ "Tessellation" ], + "version": "1.0" + }, + { + "enumerant" : "VertexOrderCcw", + "value" : 5, + "capabilities" : [ "Tessellation" ], + "version": "1.0" + }, + { + "enumerant" : "PixelCenterInteger", + "value" : 6, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "OriginUpperLeft", + "value" : 7, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "OriginLowerLeft", + "value" : 8, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "EarlyFragmentTests", + "value" : 9, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "PointMode", + "value" : 10, + "capabilities" : [ "Tessellation" ], + "version": "1.0" + }, + { + "enumerant" : "Xfb", + "value" : 11, + "capabilities" : [ "TransformFeedback" ], + "version": "1.0" + }, + { + "enumerant" : "DepthReplacing", + "value" : 12, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "DepthGreater", + "value" : 14, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "DepthLess", + "value" : 15, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "DepthUnchanged", + "value" : 16, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "LocalSize", + "value" : 17, + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "x size" }, + { "kind" : "LiteralInteger", "name" : "y size" }, + { "kind" : "LiteralInteger", "name" : "z size" } + ], + "version": "1.0" + }, + { + "enumerant" : "LocalSizeHint", + "value" : 18, + "capabilities" : [ "Kernel" ], + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "x size" }, + { "kind" : "LiteralInteger", "name" : "y size" }, + { "kind" : "LiteralInteger", "name" : "z size" } + ], + "version": "1.0" + }, + { + "enumerant" : "InputPoints", + "value" : 19, + "capabilities" : [ "Geometry" ], + "version": "1.0" + }, + { + "enumerant" : "InputLines", + "value" : 20, + "capabilities" : [ "Geometry" ], + "version": "1.0" + }, + { + "enumerant" : "InputLinesAdjacency", + "value" : 21, + "capabilities" : [ "Geometry" ], + "version": "1.0" + }, + { + "enumerant" : "Triangles", + "value" : 22, + "capabilities" : [ "Geometry", "Tessellation" ], + "version": "1.0" + }, + { + "enumerant" : "InputTrianglesAdjacency", + "value" : 23, + "capabilities" : [ "Geometry" ], + "version": "1.0" + }, + { + "enumerant" : "Quads", + "value" : 24, + "capabilities" : [ "Tessellation" ], + "version": "1.0" + }, + { + "enumerant" : "Isolines", + "value" : 25, + "capabilities" : [ "Tessellation" ], + "version": "1.0" + }, + { + "enumerant" : "OutputVertices", + "value" : 26, + "capabilities" : [ "Geometry", "Tessellation", "MeshShadingNV", "MeshShadingEXT" ], + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Vertex count" } + ], + "version": "1.0" + }, + { + "enumerant" : "OutputPoints", + "value" : 27, + "capabilities" : [ "Geometry", "MeshShadingNV", "MeshShadingEXT" ], + "version": "1.0" + }, + { + "enumerant" : "OutputLineStrip", + "value" : 28, + "capabilities" : [ "Geometry" ], + "version": "1.0" + }, + { + "enumerant" : "OutputTriangleStrip", + "value" : 29, + "capabilities" : [ "Geometry" ], + "version": "1.0" + }, + { + "enumerant" : "VecTypeHint", + "value" : 30, + "capabilities" : [ "Kernel" ], + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Vector type" } + ], + "version": "1.0" + }, + { + "enumerant" : "ContractionOff", + "value" : 31, + "capabilities" : [ "Kernel" ], + "version": "1.0" + }, + { + "enumerant" : "Initializer", + "value" : 33, + "capabilities" : [ "Kernel" ], + "version" : "1.1" + }, + { + "enumerant" : "Finalizer", + "value" : 34, + "capabilities" : [ "Kernel" ], + "version" : "1.1" + }, + { + "enumerant" : "SubgroupSize", + "value" : 35, + "capabilities" : [ "SubgroupDispatch" ], + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Subgroup Size" } + ], + "version" : "1.1" + }, + { + "enumerant" : "SubgroupsPerWorkgroup", + "value" : 36, + "capabilities" : [ "SubgroupDispatch" ], + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Subgroups Per Workgroup" } + ], + "version" : "1.1" + }, + { + "enumerant" : "SubgroupsPerWorkgroupId", + "value" : 37, + "capabilities" : [ "SubgroupDispatch" ], + "parameters" : [ + { "kind" : "IdRef", "name" : "Subgroups Per Workgroup" } + ], + "version" : "1.2" + }, + { + "enumerant" : "LocalSizeId", + "value" : 38, + "parameters" : [ + { "kind" : "IdRef", "name" : "x size" }, + { "kind" : "IdRef", "name" : "y size" }, + { "kind" : "IdRef", "name" : "z size" } + ], + "version" : "1.2" + }, + { + "enumerant" : "LocalSizeHintId", + "value" : 39, + "capabilities" : [ "Kernel" ], + "parameters" : [ + { "kind" : "IdRef", "name" : "x size hint" }, + { "kind" : "IdRef", "name" : "y size hint" }, + { "kind" : "IdRef", "name" : "z size hint" } + ], + "version" : "1.2" + }, + { + "enumerant" : "NonCoherentColorAttachmentReadEXT", + "value" : 4169, + "capabilities" : [ "TileImageColorReadAccessEXT" ], + "version" : "None" + }, + { + "enumerant" : "NonCoherentDepthAttachmentReadEXT", + "value" : 4170, + "capabilities" : [ "TileImageDepthReadAccessEXT" ], + "version" : "None" + }, + { + "enumerant" : "NonCoherentStencilAttachmentReadEXT", + "value" : 4171, + "capabilities" : [ "TileImageStencilReadAccessEXT" ], + "version" : "None" + }, + { + "enumerant" : "SubgroupUniformControlFlowKHR", + "value" : 4421, + "capabilities" : [ "Shader" ], + "extensions" : [ "SPV_KHR_subgroup_uniform_control_flow" ], + "version" : "None" + }, + { + "enumerant" : "PostDepthCoverage", + "value" : 4446, + "capabilities" : [ "SampleMaskPostDepthCoverage" ], + "extensions" : [ "SPV_KHR_post_depth_coverage" ], + "version" : "None" + }, + { + "enumerant" : "DenormPreserve", + "value" : 4459, + "capabilities" : [ "DenormPreserve" ], + "extensions" : [ "SPV_KHR_float_controls" ], + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Target Width" } + ], + "version" : "1.4" + }, + { + "enumerant" : "DenormFlushToZero", + "value" : 4460, + "capabilities" : [ "DenormFlushToZero" ], + "extensions" : [ "SPV_KHR_float_controls" ], + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Target Width" } + ], + "version" : "1.4" + }, + { + "enumerant" : "SignedZeroInfNanPreserve", + "value" : 4461, + "capabilities" : [ "SignedZeroInfNanPreserve" ], + "extensions" : [ "SPV_KHR_float_controls" ], + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Target Width" } + ], + "version" : "1.4" + }, + { + "enumerant" : "RoundingModeRTE", + "value" : 4462, + "capabilities" : [ "RoundingModeRTE" ], + "extensions" : [ "SPV_KHR_float_controls" ], + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Target Width" } + ], + "version" : "1.4" + }, + { + "enumerant" : "RoundingModeRTZ", + "value" : 4463, + "capabilities" : [ "RoundingModeRTZ" ], + "extensions" : [ "SPV_KHR_float_controls" ], + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Target Width" } + ], + "version" : "1.4" + }, + { + "enumerant" : "NonCoherentTileAttachmentReadQCOM", + "value" : 4489, + "capabilities" : [ "TileShadingQCOM" ], + "version" : "None" + }, + { + "enumerant" : "TileShadingRateQCOM", + "value" : 4490, + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "x rate" }, + { "kind" : "LiteralInteger", "name" : "y rate" }, + { "kind" : "LiteralInteger", "name" : "z rate" } + ], + "capabilities" : [ "TileShadingQCOM" ], + "version": "None" + }, + { + "enumerant": "EarlyAndLateFragmentTestsAMD", + "value": 5017, + "capabilities": [ "Shader" ], + "extensions": [ "SPV_AMD_shader_early_and_late_fragment_tests" ], + "version": "None" + }, + { + "enumerant" : "StencilRefReplacingEXT", + "value" : 5027, + "capabilities" : [ "StencilExportEXT" ], + "extensions" : [ "SPV_EXT_shader_stencil_export" ], + "version" : "None" + }, + { + "enumerant" : "CoalescingAMDX", + "value" : 5069, + "capabilities" : [ "ShaderEnqueueAMDX" ], + "provisional" : true, + "version" : "None" + }, + { + "enumerant" : "IsApiEntryAMDX", + "value" : 5070, + "capabilities" : [ "ShaderEnqueueAMDX" ], + "parameters" : [ + { "kind" : "IdRef", "name" : "Is Entry" } + ], + "provisional" : true, + "version" : "None" + }, + { + "enumerant" : "MaxNodeRecursionAMDX", + "value" : 5071, + "capabilities" : [ "ShaderEnqueueAMDX" ], + "parameters" : [ + { "kind" : "IdRef", "name" : "Number of recursions" } + ], + "provisional" : true, + "version" : "None" + }, + { + "enumerant" : "StaticNumWorkgroupsAMDX", + "value" : 5072, + "capabilities" : [ "ShaderEnqueueAMDX" ], + "parameters" : [ + { "kind" : "IdRef", "name" : "x size" }, + { "kind" : "IdRef", "name" : "y size" }, + { "kind" : "IdRef", "name" : "z size" } + ], + "provisional" : true, + "version" : "None" + }, + { + "enumerant" : "ShaderIndexAMDX", + "value" : 5073, + "capabilities" : [ "ShaderEnqueueAMDX" ], + "parameters" : [ + { "kind" : "IdRef", "name" : "Shader Index" } + ], + "provisional" : true, + "version" : "None" + }, + { + "enumerant" : "MaxNumWorkgroupsAMDX", + "value" : 5077, + "capabilities" : [ "ShaderEnqueueAMDX" ], + "parameters" : [ + { "kind" : "IdRef", "name" : "x size" }, + { "kind" : "IdRef", "name" : "y size" }, + { "kind" : "IdRef", "name" : "z size" } + ], + "provisional" : true, + "version" : "None" + }, + { + "enumerant": "StencilRefUnchangedFrontAMD", + "value": 5079, + "capabilities": [ "StencilExportEXT" ], + "extensions": [ "SPV_AMD_shader_early_and_late_fragment_tests", "SPV_EXT_shader_stencil_export" ], + "version": "None" + }, + { + "enumerant": "StencilRefGreaterFrontAMD", + "value": 5080, + "capabilities": [ "StencilExportEXT" ], + "extensions": [ "SPV_AMD_shader_early_and_late_fragment_tests", "SPV_EXT_shader_stencil_export" ], + "version": "None" + }, + { + "enumerant": "StencilRefLessFrontAMD", + "value": 5081, + "capabilities": [ "StencilExportEXT" ], + "extensions": [ "SPV_AMD_shader_early_and_late_fragment_tests", "SPV_EXT_shader_stencil_export" ], + "version": "None" + }, + { + "enumerant": "StencilRefUnchangedBackAMD", + "value": 5082, + "capabilities": [ "StencilExportEXT" ], + "extensions": [ "SPV_AMD_shader_early_and_late_fragment_tests", "SPV_EXT_shader_stencil_export" ], + "version": "None" + }, + { + "enumerant": "StencilRefGreaterBackAMD", + "value": 5083, + "capabilities": [ "StencilExportEXT" ], + "extensions": [ "SPV_AMD_shader_early_and_late_fragment_tests", "SPV_EXT_shader_stencil_export" ], + "version": "None" + }, + { + "enumerant": "StencilRefLessBackAMD", + "value": 5084, + "capabilities": [ "StencilExportEXT" ], + "extensions": [ "SPV_AMD_shader_early_and_late_fragment_tests", "SPV_EXT_shader_stencil_export" ], + "version": "None" + }, + { + "enumerant": "QuadDerivativesKHR", + "value": 5088, + "capabilities": [ "QuadControlKHR" ], + "version": "None" + }, + { + "enumerant" : "RequireFullQuadsKHR", + "value" : 5089, + "capabilities" : [ "QuadControlKHR" ], + "version" : "None" + }, + { + "enumerant" : "SharesInputWithAMDX", + "value" : 5102, + "capabilities" : [ "ShaderEnqueueAMDX" ], + "parameters" : [ + { "kind" : "IdRef", "name" : "Node Name" }, + { "kind" : "IdRef", "name" : "Shader Index" } + ], + "provisional" : true, + "version" : "None" + }, + { + "enumerant" : "ArithmeticPoisonKHR", + "value" : 5157, + "capabilities" : [ "PoisonFreezeKHR" ], + "provisional" : true, + "version" : "None" + }, + { + "enumerant" : "OutputLinesEXT", + "aliases" : ["OutputLinesNV"], + "value" : 5269, + "capabilities" : [ "MeshShadingNV", "MeshShadingEXT" ], + "extensions" : [ "SPV_NV_mesh_shader", "SPV_EXT_mesh_shader" ], + "version" : "None" + }, + { + "enumerant" : "OutputPrimitivesEXT", + "aliases" : ["OutputPrimitivesNV"], + "value" : 5270, + "capabilities" : [ "MeshShadingNV", "MeshShadingEXT" ], + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Primitive count" } + ], + "extensions" : [ "SPV_NV_mesh_shader", "SPV_EXT_mesh_shader" ], + "version" : "None" + }, + { + "enumerant" : "DerivativeGroupQuadsKHR", + "aliases" : ["DerivativeGroupQuadsNV"], + "value" : 5289, + "capabilities" : [ "ComputeDerivativeGroupQuadsKHR" ], + "extensions" : [ "SPV_NV_compute_shader_derivatives", "SPV_KHR_compute_shader_derivatives" ], + "version" : "None" + }, + { + "enumerant" : "DerivativeGroupLinearKHR", + "aliases" : ["DerivativeGroupLinearNV"], + "value" : 5290, + "capabilities" : [ "ComputeDerivativeGroupLinearKHR" ], + "extensions" : [ "SPV_NV_compute_shader_derivatives", "SPV_KHR_compute_shader_derivatives" ], + "version" : "None" + }, + { + "enumerant" : "OutputTrianglesEXT", + "aliases" : ["OutputTrianglesNV"], + "value" : 5298, + "capabilities" : [ "MeshShadingNV", "MeshShadingEXT" ], + "extensions" : [ "SPV_NV_mesh_shader", "SPV_EXT_mesh_shader" ], + "version" : "None" + }, + { + "enumerant" : "PixelInterlockOrderedEXT", + "value" : 5366, + "capabilities" : [ "FragmentShaderPixelInterlockEXT" ], + "extensions" : [ "SPV_EXT_fragment_shader_interlock" ], + "version" : "None" + }, + { + "enumerant" : "PixelInterlockUnorderedEXT", + "value" : 5367, + "capabilities" : [ "FragmentShaderPixelInterlockEXT" ], + "extensions" : [ "SPV_EXT_fragment_shader_interlock" ], + "version" : "None" + }, + { + "enumerant" : "SampleInterlockOrderedEXT", + "value" : 5368, + "capabilities" : [ "FragmentShaderSampleInterlockEXT" ], + "extensions" : [ "SPV_EXT_fragment_shader_interlock" ], + "version" : "None" + }, + { + "enumerant" : "SampleInterlockUnorderedEXT", + "value" : 5369, + "capabilities" : [ "FragmentShaderSampleInterlockEXT" ], + "extensions" : [ "SPV_EXT_fragment_shader_interlock" ], + "version" : "None" + }, + { + "enumerant" : "ShadingRateInterlockOrderedEXT", + "value" : 5370, + "capabilities" : [ "FragmentShaderShadingRateInterlockEXT" ], + "extensions" : [ "SPV_EXT_fragment_shader_interlock" ], + "version" : "None" + }, + { + "enumerant" : "ShadingRateInterlockUnorderedEXT", + "value" : 5371, + "capabilities" : [ "FragmentShaderShadingRateInterlockEXT" ], + "extensions" : [ "SPV_EXT_fragment_shader_interlock" ], + "version" : "None" + }, + { + "enumerant" : "Shader64BitIndexingEXT", + "value" : 5427, + "capabilities" : [ "Shader64BitIndexingEXT" ], + "version" : "None" + }, + { + "enumerant" : "SharedLocalMemorySizeINTEL", + "value" : 5618, + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Size" } + ], + "capabilities" : [ "VectorComputeINTEL" ], + "version" : "None" + }, + { + "enumerant" : "RoundingModeRTPINTEL", + "value" : 5620, + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Target Width" } + ], + "capabilities" : [ "RoundToInfinityINTEL" ], + "version" : "None" + }, + { + "enumerant" : "RoundingModeRTNINTEL", + "value" : 5621, + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Target Width" } + ], + "capabilities" : [ "RoundToInfinityINTEL" ], + "version" : "None" + }, + { + "enumerant" : "FloatingPointModeALTINTEL", + "value" : 5622, + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Target Width" } + ], + "capabilities" : [ "RoundToInfinityINTEL" ], + "version" : "None" + }, + { + "enumerant" : "FloatingPointModeIEEEINTEL", + "value" : 5623, + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Target Width" } + ], + "capabilities" : [ "RoundToInfinityINTEL" ], + "version" : "None" + }, + { + "enumerant" : "MaxWorkgroupSizeINTEL", + "value" : 5893, + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "max_x_size" }, + { "kind" : "LiteralInteger", "name" : "max_y_size" }, + { "kind" : "LiteralInteger", "name" : "max_z_size" } + ], + "capabilities" : [ "KernelAttributesINTEL" ], + "extensions" : [ "SPV_INTEL_kernel_attributes" ], + "version" : "None" + }, + { + "enumerant" : "MaxWorkDimINTEL", + "value" : 5894, + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "max_dimensions" } + ], + "capabilities" : [ "KernelAttributesINTEL" ], + "extensions" : [ "SPV_INTEL_kernel_attributes" ], + "version" : "None" + }, + { + "enumerant" : "NoGlobalOffsetINTEL", + "value" : 5895, + "capabilities" : [ "KernelAttributesINTEL" ], + "extensions" : [ "SPV_INTEL_kernel_attributes" ], + "version" : "None" + }, + { + "enumerant" : "NumSIMDWorkitemsINTEL", + "value" : 5896, + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "vector_width" } + ], + "capabilities" : [ "FPGAKernelAttributesINTEL" ], + "extensions" : [ "SPV_INTEL_kernel_attributes" ], + "version" : "None" + }, + { + "enumerant" : "SchedulerTargetFmaxMhzINTEL", + "value" : 5903, + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "target_fmax" } + ], + "capabilities" : [ "FPGAKernelAttributesINTEL" ], + "version" : "None" + }, + { + "enumerant" : "MaximallyReconvergesKHR", + "value" : 6023, + "capabilities" : [ "Shader" ], + "extensions" : [ "SPV_KHR_maximal_reconvergence" ], + "version" : "None" + }, + { + "enumerant" : "FPFastMathDefault", + "value" : 6028, + "parameters" : [ + { "kind" : "IdRef", "name" : "Target Type" }, + { "kind" : "IdRef", "name" : "Fast-Math Mode" } + ], + "capabilities" : [ "FloatControls2" ], + "version" : "None" + }, + { + "enumerant" : "OpacityMicromapIdKHR", + "value" : 6031, + "capabilities" : [ "RayTracingOpacityMicromapExecutionModeKHR" ], + "parameters" : [ + { "kind" : "IdRef", "name" : "Enable" } + ], + "version" : "None" + }, + { + "enumerant" : "StreamingInterfaceINTEL", + "value" : 6154, + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "StallFreeReturn" } + ], + "capabilities" : [ "FPGAKernelAttributesINTEL" ], + "version" : "None" + }, + { + "enumerant" : "RegisterMapInterfaceINTEL", + "value" : 6160, + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "WaitForDoneWrite" } + ], + "capabilities" : [ "FPGAKernelAttributesv2INTEL" ], + "version" : "None" + }, + { + "enumerant" : "NamedBarrierCountINTEL", + "value" : 6417, + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Barrier Count" } + ], + "capabilities" : [ "VectorComputeINTEL" ], + "version" : "None" + }, + { + "enumerant" : "MaximumRegistersINTEL", + "value" : 6461, + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Number of Registers" } + ], + "capabilities" : [ "RegisterLimitsINTEL" ], + "version" : "None" + }, + { + "enumerant" : "MaximumRegistersIdINTEL", + "value" : 6462, + "parameters" : [ + { "kind" : "IdRef", "name" : "Number of Registers" } + ], + "capabilities" : [ "RegisterLimitsINTEL" ], + "version" : "None" + }, + { + "enumerant" : "NamedMaximumRegistersINTEL", + "value" : 6463, + "parameters" : [ + { "kind" : "NamedMaximumNumberOfRegisters", "name" : "Named Maximum Number of Registers" } + ], + "capabilities" : [ "RegisterLimitsINTEL" ], + "version" : "None" + } + ] + }, + { + "category" : "ValueEnum", + "kind" : "StorageClass", + "enumerants" : [ + { + "enumerant" : "UniformConstant", + "value" : 0, + "version" : "1.0" + }, + { + "enumerant" : "Input", + "value" : 1, + "version" : "1.0" + }, + { + "enumerant" : "Uniform", + "value" : 2, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "Output", + "value" : 3, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "Workgroup", + "value" : 4, + "version" : "1.0" + }, + { + "enumerant" : "CrossWorkgroup", + "value" : 5, + "version" : "1.0" + }, + { + "enumerant" : "Private", + "value" : 6, + "capabilities" : [ "Shader", "VectorComputeINTEL" ], + "version": "1.0" + }, + { + "enumerant" : "Function", + "value" : 7, + "version" : "1.0" + }, + { + "enumerant" : "Generic", + "value" : 8, + "capabilities" : [ "GenericPointer" ], + "version": "1.0" + }, + { + "enumerant" : "PushConstant", + "value" : 9, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "AtomicCounter", + "value" : 10, + "capabilities" : [ "AtomicStorage" ], + "version": "1.0" + }, + { + "enumerant" : "Image", + "value" : 11, + "version" : "1.0" + }, + { + "enumerant" : "StorageBuffer", + "value" : 12, + "extensions" : [ + "SPV_KHR_storage_buffer_storage_class", + "SPV_KHR_variable_pointers" + ], + "capabilities" : [ "Shader" ], + "version" : "1.3" + }, + { + "enumerant" : "TileImageEXT", + "value" : 4172, + "capabilities" : [ "TileImageColorReadAccessEXT" ], + "version" : "None" + }, + { + "enumerant" : "TileAttachmentQCOM", + "value" : 4491, + "capabilities" : [ "TileShadingQCOM" ], + "version" : "None" + }, + { + "enumerant" : "NodePayloadAMDX", + "value" : 5068, + "capabilities" : [ "ShaderEnqueueAMDX" ], + "provisional" : true, + "version" : "None" + }, + { + "enumerant" : "CallableDataKHR", + "aliases" : ["CallableDataNV"], + "value" : 5328, + "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ], + "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ], + "version" : "None" + }, + { + "enumerant" : "IncomingCallableDataKHR", + "aliases" : ["IncomingCallableDataNV"], + "value" : 5329, + "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ], + "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ], + "version" : "None" + }, + { + "enumerant" : "RayPayloadKHR", + "aliases" : ["RayPayloadNV"], + "value" : 5338, + "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ], + "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ], + "version" : "None" + }, + { + "enumerant" : "HitAttributeKHR", + "aliases" : ["HitAttributeNV"], + "value" : 5339, + "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ], + "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ], + "version" : "None" + }, + { + "enumerant" : "IncomingRayPayloadKHR", + "aliases" : ["IncomingRayPayloadNV"], + "value" : 5342, + "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ], + "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ], + "version" : "None" + }, + { + "enumerant" : "ShaderRecordBufferKHR", + "aliases" : ["ShaderRecordBufferNV"], + "value" : 5343, + "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ], + "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ], + "version" : "None" + }, + { + "enumerant" : "PhysicalStorageBuffer", + "aliases" : ["PhysicalStorageBufferEXT"], + "value" : 5349, + "extensions" : [ "SPV_EXT_physical_storage_buffer", "SPV_KHR_physical_storage_buffer" ], + "capabilities" : [ "PhysicalStorageBufferAddresses" ], + "version" : "1.5" + }, + { + "enumerant" : "HitObjectAttributeNV", + "value" : 5385, + "capabilities" : [ "ShaderInvocationReorderNV" ], + "version" : "None" + }, + { + "enumerant" : "TaskPayloadWorkgroupEXT", + "value" : 5402, + "extensions" : [ "SPV_EXT_mesh_shader" ], + "capabilities" : [ "MeshShadingEXT" ], + "version" : "1.4" + }, + { + "enumerant" : "HitObjectAttributeEXT", + "value" : 5411, + "capabilities" : [ "ShaderInvocationReorderEXT" ], + "version" : "None" + }, + { + "enumerant" : "CodeSectionINTEL", + "value" : 5605, + "extensions" : [ "SPV_INTEL_function_pointers" ], + "capabilities" : [ "FunctionPointersINTEL" ], + "version" : "None" + }, + { + "enumerant" : "DeviceOnlyALTERA", + "aliases" : [ "DeviceOnlyINTEL" ], + "value" : 5936, + "capabilities" : [ "USMStorageClassesALTERA" ], + "version" : "None" + }, + { + "enumerant" : "HostOnlyALTERA", + "aliases" : [ "HostOnlyINTEL" ], + "value" : 5937, + "capabilities" : [ "USMStorageClassesALTERA" ], + "version" : "None" + } + ] + }, + { + "category" : "ValueEnum", + "kind" : "Dim", + "enumerants" : [ + { + "enumerant" : "1D", + "value" : 0, + "capabilities" : [ "Sampled1D" ], + "version": "1.0" + }, + { + "enumerant" : "2D", + "value" : 1, + "version" : "1.0" + }, + { + "enumerant" : "3D", + "value" : 2, + "version" : "1.0" + }, + { + "enumerant" : "Cube", + "value" : 3, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "Rect", + "value" : 4, + "capabilities" : [ "SampledRect" ], + "version": "1.0" + }, + { + "enumerant" : "Buffer", + "value" : 5, + "capabilities" : [ "SampledBuffer" ], + "version": "1.0" + }, + { + "enumerant" : "SubpassData", + "value" : 6, + "capabilities" : [ "InputAttachment" ], + "version": "1.0" + }, + { + "enumerant" : "TileImageDataEXT", + "value" : 4173, + "capabilities" : [ "TileImageColorReadAccessEXT" ], + "version" : "None" + } + ] + }, + { + "category" : "ValueEnum", + "kind" : "SamplerAddressingMode", + "enumerants" : [ + { + "enumerant" : "None", + "value" : 0, + "version": "1.0" + }, + { + "enumerant" : "ClampToEdge", + "value" : 1, + "version": "1.0" + }, + { + "enumerant" : "Clamp", + "value" : 2, + "version": "1.0" + }, + { + "enumerant" : "Repeat", + "value" : 3, + "version": "1.0" + }, + { + "enumerant" : "RepeatMirrored", + "value" : 4, + "version": "1.0" + } + ] + }, + { + "category" : "ValueEnum", + "kind" : "SamplerFilterMode", + "enumerants" : [ + { + "enumerant" : "Nearest", + "value" : 0, + "version": "1.0" + }, + { + "enumerant" : "Linear", + "value" : 1, + "version": "1.0" + } + ] + }, + { + "category" : "ValueEnum", + "kind" : "ImageFormat", + "enumerants" : [ + { + "enumerant" : "Unknown", + "value" : 0, + "version" : "1.0" + }, + { + "enumerant" : "Rgba32f", + "value" : 1, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "Rgba16f", + "value" : 2, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "R32f", + "value" : 3, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "Rgba8", + "value" : 4, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "Rgba8Snorm", + "value" : 5, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "Rg32f", + "value" : 6, + "capabilities" : [ "StorageImageExtendedFormats" ], + "version": "1.0" + }, + { + "enumerant" : "Rg16f", + "value" : 7, + "capabilities" : [ "StorageImageExtendedFormats" ], + "version": "1.0" + }, + { + "enumerant" : "R11fG11fB10f", + "value" : 8, + "capabilities" : [ "StorageImageExtendedFormats" ], + "version": "1.0" + }, + { + "enumerant" : "R16f", + "value" : 9, + "capabilities" : [ "StorageImageExtendedFormats" ], + "version": "1.0" + }, + { + "enumerant" : "Rgba16", + "value" : 10, + "capabilities" : [ "StorageImageExtendedFormats" ], + "version": "1.0" + }, + { + "enumerant" : "Rgb10A2", + "value" : 11, + "capabilities" : [ "StorageImageExtendedFormats" ], + "version": "1.0" + }, + { + "enumerant" : "Rg16", + "value" : 12, + "capabilities" : [ "StorageImageExtendedFormats" ], + "version": "1.0" + }, + { + "enumerant" : "Rg8", + "value" : 13, + "capabilities" : [ "StorageImageExtendedFormats" ], + "version": "1.0" + }, + { + "enumerant" : "R16", + "value" : 14, + "capabilities" : [ "StorageImageExtendedFormats" ], + "version": "1.0" + }, + { + "enumerant" : "R8", + "value" : 15, + "capabilities" : [ "StorageImageExtendedFormats" ], + "version": "1.0" + }, + { + "enumerant" : "Rgba16Snorm", + "value" : 16, + "capabilities" : [ "StorageImageExtendedFormats" ], + "version": "1.0" + }, + { + "enumerant" : "Rg16Snorm", + "value" : 17, + "capabilities" : [ "StorageImageExtendedFormats" ], + "version": "1.0" + }, + { + "enumerant" : "Rg8Snorm", + "value" : 18, + "capabilities" : [ "StorageImageExtendedFormats" ], + "version": "1.0" + }, + { + "enumerant" : "R16Snorm", + "value" : 19, + "capabilities" : [ "StorageImageExtendedFormats" ], + "version": "1.0" + }, + { + "enumerant" : "R8Snorm", + "value" : 20, + "capabilities" : [ "StorageImageExtendedFormats" ], + "version": "1.0" + }, + { + "enumerant" : "Rgba32i", + "value" : 21, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "Rgba16i", + "value" : 22, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "Rgba8i", + "value" : 23, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "R32i", + "value" : 24, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "Rg32i", + "value" : 25, + "capabilities" : [ "StorageImageExtendedFormats" ], + "version": "1.0" + }, + { + "enumerant" : "Rg16i", + "value" : 26, + "capabilities" : [ "StorageImageExtendedFormats" ], + "version": "1.0" + }, + { + "enumerant" : "Rg8i", + "value" : 27, + "capabilities" : [ "StorageImageExtendedFormats" ], + "version": "1.0" + }, + { + "enumerant" : "R16i", + "value" : 28, + "capabilities" : [ "StorageImageExtendedFormats" ], + "version": "1.0" + }, + { + "enumerant" : "R8i", + "value" : 29, + "capabilities" : [ "StorageImageExtendedFormats" ], + "version": "1.0" + }, + { + "enumerant" : "Rgba32ui", + "value" : 30, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "Rgba16ui", + "value" : 31, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "Rgba8ui", + "value" : 32, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "R32ui", + "value" : 33, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "Rgb10a2ui", + "value" : 34, + "capabilities" : [ "StorageImageExtendedFormats" ], + "version": "1.0" + }, + { + "enumerant" : "Rg32ui", + "value" : 35, + "capabilities" : [ "StorageImageExtendedFormats" ], + "version": "1.0" + }, + { + "enumerant" : "Rg16ui", + "value" : 36, + "capabilities" : [ "StorageImageExtendedFormats" ], + "version": "1.0" + }, + { + "enumerant" : "Rg8ui", + "value" : 37, + "capabilities" : [ "StorageImageExtendedFormats" ], + "version": "1.0" + }, + { + "enumerant" : "R16ui", + "value" : 38, + "capabilities" : [ "StorageImageExtendedFormats" ], + "version": "1.0" + }, + { + "enumerant" : "R8ui", + "value" : 39, + "capabilities" : [ "StorageImageExtendedFormats" ], + "version": "1.0" + }, + { + "enumerant" : "R64ui", + "value" : 40, + "capabilities" : [ "Int64ImageEXT" ], + "version": "1.0" + }, + { + "enumerant" : "R64i", + "value" : 41, + "capabilities" : [ "Int64ImageEXT" ], + "version": "1.0" + } + ] + }, + { + "category" : "ValueEnum", + "kind" : "ImageChannelOrder", + "enumerants" : [ + { + "enumerant" : "R", + "value" : 0, + "version": "1.0" + }, + { + "enumerant" : "A", + "value" : 1, + "version": "1.0" + }, + { + "enumerant" : "RG", + "value" : 2, + "version": "1.0" + }, + { + "enumerant" : "RA", + "value" : 3, + "version": "1.0" + }, + { + "enumerant" : "RGB", + "value" : 4, + "version": "1.0" + }, + { + "enumerant" : "RGBA", + "value" : 5, + "version": "1.0" + }, + { + "enumerant" : "BGRA", + "value" : 6, + "version": "1.0" + }, + { + "enumerant" : "ARGB", + "value" : 7, + "version": "1.0" + }, + { + "enumerant" : "Intensity", + "value" : 8, + "version": "1.0" + }, + { + "enumerant" : "Luminance", + "value" : 9, + "version": "1.0" + }, + { + "enumerant" : "Rx", + "value" : 10, + "version": "1.0" + }, + { + "enumerant" : "RGx", + "value" : 11, + "version": "1.0" + }, + { + "enumerant" : "RGBx", + "value" : 12, + "version": "1.0" + }, + { + "enumerant" : "Depth", + "value" : 13, + "version": "1.0" + }, + { + "enumerant" : "DepthStencil", + "value" : 14, + "version": "1.0" + }, + { + "enumerant" : "sRGB", + "value" : 15, + "version": "1.0" + }, + { + "enumerant" : "sRGBx", + "value" : 16, + "version": "1.0" + }, + { + "enumerant" : "sRGBA", + "value" : 17, + "version": "1.0" + }, + { + "enumerant" : "sBGRA", + "value" : 18, + "version": "1.0" + }, + { + "enumerant" : "ABGR", + "value" : 19, + "version": "1.0" + } + ] + }, + { + "category" : "ValueEnum", + "kind" : "ImageChannelDataType", + "enumerants" : [ + { + "enumerant" : "SnormInt8", + "value" : 0, + "version": "1.0" + }, + { + "enumerant" : "SnormInt16", + "value" : 1, + "version": "1.0" + }, + { + "enumerant" : "UnormInt8", + "value" : 2, + "version": "1.0" + }, + { + "enumerant" : "UnormInt16", + "value" : 3, + "version": "1.0" + }, + { + "enumerant" : "UnormShort565", + "value" : 4, + "version": "1.0" + }, + { + "enumerant" : "UnormShort555", + "value" : 5, + "version": "1.0" + }, + { + "enumerant" : "UnormInt101010", + "value" : 6, + "version": "1.0" + }, + { + "enumerant" : "SignedInt8", + "value" : 7, + "version": "1.0" + }, + { + "enumerant" : "SignedInt16", + "value" : 8, + "version": "1.0" + }, + { + "enumerant" : "SignedInt32", + "value" : 9, + "version": "1.0" + }, + { + "enumerant" : "UnsignedInt8", + "value" : 10, + "version": "1.0" + }, + { + "enumerant" : "UnsignedInt16", + "value" : 11, + "version": "1.0" + }, + { + "enumerant" : "UnsignedInt32", + "value" : 12, + "version": "1.0" + }, + { + "enumerant" : "HalfFloat", + "value" : 13, + "version": "1.0" + }, + { + "enumerant" : "Float", + "value" : 14, + "version": "1.0" + }, + { + "enumerant" : "UnormInt24", + "value" : 15, + "version": "1.0" + }, + { + "enumerant" : "UnormInt101010_2", + "value" : 16, + "version": "1.0" + }, + { + "enumerant" : "UnormInt10X6EXT", + "value" : 17, + "version": "1.0" + }, + { + "enumerant" : "UnsignedIntRaw10EXT", + "value" : 19, + "version": "1.0" + }, + { + "enumerant" : "UnsignedIntRaw12EXT", + "value" : 20, + "version": "1.0" + }, + { + "enumerant" : "UnormInt2_101010EXT", + "value" : 21, + "version": "1.0" + }, + { + "enumerant" : "UnsignedInt10X6EXT", + "value" : 22, + "version": "1.0" + }, + { + "enumerant" : "UnsignedInt12X4EXT", + "value" : 23, + "version": "1.0" + }, + { + "enumerant" : "UnsignedInt14X2EXT", + "value" : 24, + "version": "1.0" + }, + { + "enumerant" : "UnormInt12X4EXT", + "value" : 25, + "version": "1.0" + }, + { + "enumerant" : "UnormInt14X2EXT", + "value" : 26, + "version": "1.0" + } + ] + }, + { + "category" : "ValueEnum", + "kind" : "FPRoundingMode", + "enumerants" : [ + { + "enumerant" : "RTE", + "value" : 0, + "version" : "1.0" + }, + { + "enumerant" : "RTZ", + "value" : 1, + "version" : "1.0" + }, + { + "enumerant" : "RTP", + "value" : 2, + "version" : "1.0" + }, + { + "enumerant" : "RTN", + "value" : 3, + "version" : "1.0" + } + ] + }, + { + "category" : "ValueEnum", + "kind" : "FPDenormMode", + "enumerants" : [ + { + "enumerant" : "Preserve", + "value" : 0, + "capabilities" : [ "FunctionFloatControlINTEL" ], + "version" : "None" + }, + { + "enumerant" : "FlushToZero", + "value" : 1, + "capabilities" : [ "FunctionFloatControlINTEL" ], + "version" : "None" + } + ] + }, + { + "category" : "ValueEnum", + "kind" : "QuantizationModes", + "enumerants" : [ + { + "enumerant" : "TRN", + "value" : 0, + "capabilities" : [ "ArbitraryPrecisionFixedPointALTERA"], + "version" : "None" + }, + { + "enumerant" : "TRN_ZERO", + "value" : 1, + "capabilities" : [ "ArbitraryPrecisionFixedPointALTERA"], + "version" : "None" + }, + { + "enumerant" : "RND", + "value" : 2, + "capabilities" : [ "ArbitraryPrecisionFixedPointALTERA"], + "version" : "None" + }, + { + "enumerant" : "RND_ZERO", + "value" : 3, + "capabilities" : [ "ArbitraryPrecisionFixedPointALTERA"], + "version" : "None" + }, + { + "enumerant" : "RND_INF", + "value" : 4, + "capabilities" : [ "ArbitraryPrecisionFixedPointALTERA"], + "version" : "None" + }, + { + "enumerant" : "RND_MIN_INF", + "value" : 5, + "capabilities" : [ "ArbitraryPrecisionFixedPointALTERA"], + "version" : "None" + }, + { + "enumerant" : "RND_CONV", + "value" : 6, + "capabilities" : [ "ArbitraryPrecisionFixedPointALTERA"], + "version" : "None" + }, + { + "enumerant" : "RND_CONV_ODD", + "value" : 7, + "capabilities" : [ "ArbitraryPrecisionFixedPointALTERA"], + "version" : "None" + } + ] + }, + { + "category" : "ValueEnum", + "kind" : "FPOperationMode", + "enumerants" : [ + { + "enumerant" : "IEEE", + "value" : 0, + "capabilities" : [ "FunctionFloatControlINTEL" ], + "version" : "None" + }, + { + "enumerant" : "ALT", + "value" : 1, + "capabilities" : [ "FunctionFloatControlINTEL" ], + "version" : "None" + } + ] + }, + { + "category" : "ValueEnum", + "kind" : "OverflowModes", + "enumerants" : [ + { + "enumerant" : "WRAP", + "value" : 0, + "capabilities" : [ "ArbitraryPrecisionFixedPointALTERA"], + "version" : "None" + }, + { + "enumerant" : "SAT", + "value" : 1, + "capabilities" : [ "ArbitraryPrecisionFixedPointALTERA"], + "version" : "None" + }, + { + "enumerant" : "SAT_ZERO", + "value" : 2, + "capabilities" : [ "ArbitraryPrecisionFixedPointALTERA"], + "version" : "None" + }, + { + "enumerant" : "SAT_SYM", + "value" : 3, + "capabilities" : [ "ArbitraryPrecisionFixedPointALTERA"], + "version" : "None" + } + ] + }, + { + "category" : "ValueEnum", + "kind" : "LinkageType", + "enumerants" : [ + { + "enumerant" : "Export", + "value" : 0, + "capabilities" : [ "Linkage" ], + "version": "1.0" + }, + { + "enumerant" : "Import", + "value" : 1, + "capabilities" : [ "Linkage" ], + "version": "1.0" + }, + { + "enumerant" : "LinkOnceODR", + "value" : 2, + "capabilities" : [ "Linkage" ], + "extensions" : [ "SPV_KHR_linkonce_odr" ], + "version" : "None" + }, + { + "enumerant" : "WeakAMD", + "value" : 3, + "capabilities" : [ "WeakLinkageAMD" ], + "version" : "None" + } + ] + }, + { + "category" : "ValueEnum", + "kind" : "AccessQualifier", + "enumerants" : [ + { + "enumerant" : "ReadOnly", + "value" : 0, + "capabilities" : [ "Kernel" ], + "version": "1.0" + }, + { + "enumerant" : "WriteOnly", + "value" : 1, + "capabilities" : [ "Kernel" ], + "version": "1.0" + }, + { + "enumerant" : "ReadWrite", + "value" : 2, + "capabilities" : [ "Kernel" ], + "version": "1.0" + } + ] + }, + { + "category" : "ValueEnum", + "kind" : "HostAccessQualifier", + "enumerants" : [ + { + "enumerant" : "NoneINTEL", + "value" : 0, + "capabilities" : [ "GlobalVariableHostAccessINTEL" ], + "version" : "None" + }, + { + "enumerant" : "ReadINTEL", + "value" : 1, + "capabilities" : [ "GlobalVariableHostAccessINTEL" ], + "version" : "None" + }, + { + "enumerant" : "WriteINTEL", + "value" : 2, + "capabilities" : [ "GlobalVariableHostAccessINTEL" ], + "version" : "None" + }, + { + "enumerant" : "ReadWriteINTEL", + "value" : 3, + "capabilities" : [ "GlobalVariableHostAccessINTEL" ], + "version" : "None" + } + ] + }, + { + "category" : "ValueEnum", + "kind" : "FunctionParameterAttribute", + "enumerants" : [ + { + "enumerant" : "Zext", + "value" : 0, + "capabilities" : [ "Kernel" ], + "version": "1.0" + }, + { + "enumerant" : "Sext", + "value" : 1, + "capabilities" : [ "Kernel" ], + "version": "1.0" + }, + { + "enumerant" : "ByVal", + "value" : 2, + "capabilities" : [ "Kernel" ], + "version": "1.0" + }, + { + "enumerant" : "Sret", + "value" : 3, + "capabilities" : [ "Kernel" ], + "version": "1.0" + }, + { + "enumerant" : "NoAlias", + "value" : 4, + "capabilities" : [ "Kernel" ], + "version": "1.0" + }, + { + "enumerant" : "NoCapture", + "value" : 5, + "capabilities" : [ "Kernel" ], + "version": "1.0" + }, + { + "enumerant" : "NoWrite", + "value" : 6, + "capabilities" : [ "Kernel" ], + "version": "1.0" + }, + { + "enumerant" : "NoReadWrite", + "value" : 7, + "capabilities" : [ "Kernel" ], + "version": "1.0" + }, + { + "enumerant" : "RuntimeAlignedALTERA", + "aliases" : [ "RuntimeAlignedINTEL" ], + "value" : 5940, + "capabilities" : [ "RuntimeAlignedAttributeALTERA" ], + "version": "1.0" + } + ] + }, + { + "category" : "ValueEnum", + "kind" : "Decoration", + "enumerants" : [ + { + "enumerant" : "RelaxedPrecision", + "value" : 0, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "SpecId", + "value" : 1, + "capabilities" : [ "Shader", "Kernel" ], + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Specialization Constant ID" } + ], + "version": "1.0" + }, + { + "enumerant" : "Block", + "value" : 2, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "BufferBlock", + "value" : 3, + "capabilities" : [ "Shader" ], + "version": "1.0", + "lastVersion" : "1.3" + }, + { + "enumerant" : "RowMajor", + "value" : 4, + "capabilities" : [ "Matrix" ], + "version": "1.0" + }, + { + "enumerant" : "ColMajor", + "value" : 5, + "capabilities" : [ "Matrix" ], + "version": "1.0" + }, + { + "enumerant" : "ArrayStride", + "value" : 6, + "capabilities" : [ "Shader" ], + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Array Stride" } + ], + "version": "1.0" + }, + { + "enumerant" : "MatrixStride", + "value" : 7, + "capabilities" : [ "Matrix" ], + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Matrix Stride" } + ], + "version": "1.0" + }, + { + "enumerant" : "GLSLShared", + "value" : 8, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "GLSLPacked", + "value" : 9, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "CPacked", + "value" : 10, + "capabilities" : [ "Kernel" ], + "version": "1.0" + }, + { + "enumerant" : "BuiltIn", + "value" : 11, + "parameters" : [ + { "kind" : "BuiltIn" } + ], + "version": "1.0" + }, + { + "enumerant" : "NoPerspective", + "value" : 13, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "Flat", + "value" : 14, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "Patch", + "value" : 15, + "capabilities" : [ "Tessellation" ], + "version": "1.0" + }, + { + "enumerant" : "Centroid", + "value" : 16, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "Sample", + "value" : 17, + "capabilities" : [ "SampleRateShading" ], + "version": "1.0" + }, + { + "enumerant" : "Invariant", + "value" : 18, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "Restrict", + "value" : 19, + "version" : "1.0" + }, + { + "enumerant" : "Aliased", + "value" : 20, + "version" : "1.0" + }, + { + "enumerant" : "Volatile", + "value" : 21, + "version" : "1.0" + }, + { + "enumerant" : "Constant", + "value" : 22, + "capabilities" : [ "Kernel" ], + "version": "1.0" + }, + { + "enumerant" : "Coherent", + "value" : 23, + "version": "1.0" + }, + { + "enumerant" : "NonWritable", + "value" : 24, + "version": "1.0" + }, + { + "enumerant" : "NonReadable", + "value" : 25, + "version": "1.0" + }, + { + "enumerant" : "Uniform", + "value" : 26, + "capabilities" : [ "Shader", "UniformDecoration" ], + "version": "1.0" + }, + { + "enumerant" : "UniformId", + "value" : 27, + "capabilities" : [ "Shader", "UniformDecoration" ], + "parameters" : [ + { "kind" : "IdScope", "name" : "Execution" } + ], + "version" : "1.4" + }, + { + "enumerant" : "SaturatedConversion", + "value" : 28, + "capabilities" : [ "Kernel" ], + "version": "1.0" + }, + { + "enumerant" : "Stream", + "value" : 29, + "capabilities" : [ "GeometryStreams" ], + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Stream Number" } + ], + "version": "1.0" + }, + { + "enumerant" : "Location", + "value" : 30, + "capabilities" : [ "Shader" ], + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Location" } + ], + "version": "1.0" + }, + { + "enumerant" : "Component", + "value" : 31, + "capabilities" : [ "Shader" ], + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Component" } + ], + "version": "1.0" + }, + { + "enumerant" : "Index", + "value" : 32, + "capabilities" : [ "Shader" ], + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Index" } + ], + "version": "1.0" + }, + { + "enumerant" : "Binding", + "value" : 33, + "capabilities" : [ "Shader" ], + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Binding Point" } + ], + "version": "1.0" + }, + { + "enumerant" : "DescriptorSet", + "value" : 34, + "capabilities" : [ "Shader" ], + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Descriptor Set" } + ], + "version": "1.0" + }, + { + "enumerant" : "Offset", + "value" : 35, + "capabilities" : [ "Shader" ], + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Byte Offset" } + ], + "version": "1.0" + }, + { + "enumerant" : "XfbBuffer", + "value" : 36, + "capabilities" : [ "TransformFeedback" ], + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "XFB Buffer Number" } + ], + "version": "1.0" + }, + { + "enumerant" : "XfbStride", + "value" : 37, + "capabilities" : [ "TransformFeedback" ], + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "XFB Stride" } + ], + "version": "1.0" + }, + { + "enumerant" : "FuncParamAttr", + "value" : 38, + "capabilities" : [ "Kernel" ], + "parameters" : [ + { "kind" : "FunctionParameterAttribute", "name" : "Function Parameter Attribute" } + ], + "version": "1.0" + }, + { + "enumerant" : "FPRoundingMode", + "value" : 39, + "parameters" : [ + { "kind" : "FPRoundingMode", "name" : "Floating-Point Rounding Mode" } + ], + "version": "1.0" + }, + { + "enumerant" : "FPFastMathMode", + "value" : 40, + "capabilities" : [ "Kernel", "FloatControls2" ], + "parameters" : [ + { "kind" : "FPFastMathMode", "name" : "Fast-Math Mode" } + ], + "version": "1.0" + }, + { + "enumerant" : "LinkageAttributes", + "value" : 41, + "capabilities" : [ "Linkage" ], + "parameters" : [ + { "kind" : "LiteralString", "name" : "Name" }, + { "kind" : "LinkageType", "name" : "Linkage Type" } + ], + "version": "1.0" + }, + { + "enumerant" : "NoContraction", + "value" : 42, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "InputAttachmentIndex", + "value" : 43, + "capabilities" : [ "InputAttachment" ], + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Attachment Index" } + ], + "version": "1.0" + }, + { + "enumerant" : "Alignment", + "value" : 44, + "capabilities" : [ "Kernel" ], + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Alignment" } + ], + "version": "1.0" + }, + { + "enumerant" : "MaxByteOffset", + "value" : 45, + "capabilities" : [ "Addresses" ], + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Max Byte Offset" } + ], + "version" : "1.1" + }, + { + "enumerant" : "AlignmentId", + "value" : 46, + "capabilities" : [ "Kernel" ], + "parameters" : [ + { "kind" : "IdRef", "name" : "Alignment" } + ], + "version" : "1.2" + }, + { + "enumerant" : "MaxByteOffsetId", + "value" : 47, + "capabilities" : [ "Addresses" ], + "parameters" : [ + { "kind" : "IdRef", "name" : "Max Byte Offset" } + ], + "version" : "1.2" + }, + { + "enumerant" : "SaturatedToLargestFloat8NormalConversionEXT", + "value" : 4216, + "capabilities" : [ "Float8EXT" ], + "version": "None" + }, + { + "enumerant" : "NoSignedWrap", + "value" : 4469, + "extensions" : [ "SPV_KHR_no_integer_wrap_decoration" ], + "version" : "1.4" + }, + { + "enumerant" : "NoUnsignedWrap", + "value" : 4470, + "extensions" : [ "SPV_KHR_no_integer_wrap_decoration" ], + "version" : "1.4" + }, + { + "enumerant" : "WeightTextureQCOM", + "value" : 4487, + "extensions" : [ "SPV_QCOM_image_processing" ], + "version" : "None" + }, + { + "enumerant" : "BlockMatchTextureQCOM", + "value" : 4488, + "extensions" : [ "SPV_QCOM_image_processing" ], + "version" : "None" + }, + { + "enumerant" : "BlockMatchSamplerQCOM", + "value" : 4499, + "extensions" : [ "SPV_QCOM_image_processing2" ], + "version" : "None" + }, + { + "enumerant" : "ExplicitInterpAMD", + "value" : 4999, + "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ], + "version" : "None" + }, + { + "enumerant" : "NodeSharesPayloadLimitsWithAMDX", + "value" : 5019, + "capabilities" : [ "ShaderEnqueueAMDX" ], + "parameters" : [ + { "kind" : "IdRef", "name" : "Payload Type" } + ], + "provisional" : true, + "version" : "None" + }, + { + "enumerant" : "NodeMaxPayloadsAMDX", + "value" : 5020, + "capabilities" : [ "ShaderEnqueueAMDX" ], + "parameters" : [ + { "kind" : "IdRef", "name" : "Max number of payloads" } + ], + "provisional" : true, + "version" : "None" + }, + { + "enumerant" : "TrackFinishWritingAMDX", + "value" : 5078, + "capabilities" : [ "ShaderEnqueueAMDX" ], + "provisional" : true, + "version" : "None" + }, + { + "enumerant" : "PayloadNodeNameAMDX", + "value" : 5091, + "capabilities" : [ "ShaderEnqueueAMDX" ], + "parameters" : [ + { "kind" : "IdRef", "name" : "Node Name" } + ], + "provisional" : true, + "version" : "None" + }, + { + "enumerant" : "PayloadNodeBaseIndexAMDX", + "value" : 5098, + "capabilities" : [ "ShaderEnqueueAMDX" ], + "parameters" : [ + { "kind" : "IdRef", "name" : "Base Index" } + ], + "provisional" : true, + "version" : "None" + }, + { + "enumerant" : "PayloadNodeSparseArrayAMDX", + "value" : 5099, + "capabilities" : [ "ShaderEnqueueAMDX" ], + "provisional" : true, + "version" : "None" + }, + { + "enumerant" : "PayloadNodeArraySizeAMDX", + "value" : 5100, + "capabilities" : [ "ShaderEnqueueAMDX" ], + "parameters" : [ + { "kind" : "IdRef", "name" : "Array Size" } + ], + "provisional" : true, + "version" : "None" + }, + { + "enumerant" : "PayloadDispatchIndirectAMDX", + "value" : 5105, + "capabilities" : [ "ShaderEnqueueAMDX" ], + "provisional" : true, + "version" : "None" + }, + { + "enumerant" : "ArrayStrideIdEXT", + "value" : 5124, + "capabilities": [ "DescriptorHeapEXT" ], + "parameters" : [ + { "kind" : "IdRef", "name" : "Array Stride" } + ], + "version" : "None" + }, + { + "enumerant" : "OffsetIdEXT", + "value" : 5125, + "capabilities": [ "DescriptorHeapEXT" ], + "parameters" : [ + { "kind" : "IdRef", "name" : "Byte Offset" } + ], + "version" : "None" + }, + { + "enumerant" : "UTFEncodedKHR", + "value" : 5145, + "capabilities" : [ "ConstantDataKHR" ], + "version" : "None" + }, + { + "enumerant" : "OverrideCoverageNV", + "value" : 5248, + "capabilities" : [ "SampleMaskOverrideCoverageNV" ], + "extensions" : [ "SPV_NV_sample_mask_override_coverage" ], + "version" : "None" + }, + { + "enumerant" : "PassthroughNV", + "value" : 5250, + "capabilities" : [ "GeometryShaderPassthroughNV" ], + "extensions" : [ "SPV_NV_geometry_shader_passthrough" ], + "version" : "None" + }, + { + "enumerant" : "ViewportRelativeNV", + "value" : 5252, + "capabilities" : [ "ShaderViewportMaskNV" ], + "version" : "None" + }, + { + "enumerant" : "SecondaryViewportRelativeNV", + "value" : 5256, + "capabilities" : [ "ShaderStereoViewNV" ], + "extensions" : [ "SPV_NV_stereo_view_rendering" ], + "version" : "None", + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Offset" } + ] + }, + { + "enumerant" : "PerPrimitiveEXT", + "aliases" : ["PerPrimitiveNV"], + "value" : 5271, + "capabilities" : [ "MeshShadingNV", "MeshShadingEXT" ], + "extensions" : [ "SPV_NV_mesh_shader", "SPV_EXT_mesh_shader" ], + "version" : "None" + }, + { + "enumerant" : "PerViewNV", + "value" : 5272, + "capabilities" : [ "MeshShadingNV" ], + "extensions" : [ "SPV_NV_mesh_shader" ], + "version" : "None" + }, + { + "enumerant" : "PerTaskNV", + "value" : 5273, + "capabilities" : [ "MeshShadingNV" ], + "extensions" : [ "SPV_NV_mesh_shader" ], + "version" : "None" + }, + { + "enumerant" : "PerVertexKHR", + "aliases" : ["PerVertexNV"], + "value" : 5285, + "capabilities" : [ "FragmentBarycentricKHR" ], + "extensions" : [ "SPV_NV_fragment_shader_barycentric", "SPV_KHR_fragment_shader_barycentric" ], + "version" : "None" + }, + { + "enumerant" : "NonUniform", + "aliases" : ["NonUniformEXT"], + "value" : 5300, + "capabilities" : [ "ShaderNonUniform" ], + "extensions" : [ "SPV_EXT_descriptor_indexing" ], + "version" : "1.5" + }, + { + "enumerant" : "RestrictPointer", + "aliases" : ["RestrictPointerEXT"], + "value" : 5355, + "capabilities" : [ "PhysicalStorageBufferAddresses" ], + "extensions" : [ "SPV_EXT_physical_storage_buffer", "SPV_KHR_physical_storage_buffer" ], + "version" : "1.5" + }, + { + "enumerant" : "AliasedPointer", + "aliases" : ["AliasedPointerEXT"], + "value" : 5356, + "capabilities" : [ "PhysicalStorageBufferAddresses" ], + "extensions" : [ "SPV_EXT_physical_storage_buffer", "SPV_KHR_physical_storage_buffer" ], + "version" : "1.5" + }, + { + "enumerant": "MemberOffsetNV", + "value": 5358, + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "memberOffset" } + ], + "capabilities": [ "PushConstantBanksNV" ], + "version": "None" + }, + { + "enumerant" : "HitObjectShaderRecordBufferNV", + "value" : 5386, + "capabilities" : [ "ShaderInvocationReorderNV" ], + "version" : "None" + }, + { + "enumerant" : "HitObjectShaderRecordBufferEXT", + "value" : 5389, + "capabilities" : [ "ShaderInvocationReorderEXT" ], + "version" : "None" + }, + { + "enumerant" : "BankNV", + "value" : 5397, + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Bank" } + ], + "capabilities" : [ "PushConstantBanksNV" ], + "version" : "None" + }, + { + "enumerant" : "BindlessSamplerNV", + "value" : 5398, + "capabilities" : [ "BindlessTextureNV" ], + "version" : "None" + }, + { + "enumerant" : "BindlessImageNV", + "value" : 5399, + "capabilities" : [ "BindlessTextureNV" ], + "version" : "None" + }, + { + "enumerant" : "BoundSamplerNV", + "value" : 5400, + "capabilities" : [ "BindlessTextureNV" ], + "version" : "None" + }, + { + "enumerant" : "BoundImageNV", + "value" : 5401, + "capabilities" : [ "BindlessTextureNV" ], + "version" : "None" + }, + { + "enumerant" : "SIMTCallINTEL", + "value" : 5599, + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "N" } + ], + "capabilities" : [ "VectorComputeINTEL" ], + "version" : "None" + }, + { + "enumerant" : "ReferencedIndirectlyINTEL", + "value" : 5602, + "capabilities" : [ "IndirectReferencesINTEL" ], + "extensions" : [ "SPV_INTEL_function_pointers" ], + "version" : "None" + }, + { + "enumerant" : "ClobberINTEL", + "value" : 5607, + "parameters" : [ + { "kind" : "LiteralString", "name" : "Register" } + ], + "capabilities" : [ "AsmINTEL" ], + "version" : "None" + }, + { + "enumerant" : "SideEffectsINTEL", + "value" : 5608, + "capabilities" : [ "AsmINTEL" ], + "version" : "None" + }, + { + "enumerant" : "VectorComputeVariableINTEL", + "value" : 5624, + "capabilities" : [ "VectorComputeINTEL" ], + "version" : "None" + }, + { + "enumerant" : "FuncParamIOKindINTEL", + "value" : 5625, + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Kind" } + ], + "capabilities" : [ "VectorComputeINTEL" ], + "version" : "None" + }, + { + "enumerant" : "VectorComputeFunctionINTEL", + "value" : 5626, + "capabilities" : [ "VectorComputeINTEL" ], + "version" : "None" + }, + { + "enumerant" : "StackCallINTEL", + "value" : 5627, + "capabilities" : [ "VectorComputeINTEL" ], + "version" : "None" + }, + { + "enumerant" : "GlobalVariableOffsetINTEL", + "value" : 5628, + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Offset" } + ], + "capabilities" : [ "VectorComputeINTEL" ], + "version" : "None" + }, + { + "enumerant" : "CounterBuffer", + "aliases" : ["HlslCounterBufferGOOGLE"], + "value" : 5634, + "parameters" : [ + { "kind" : "IdRef", "name" : "Counter Buffer" } + ], + "extensions" : [ "SPV_GOOGLE_hlsl_functionality1" ], + "version" : "1.4" + }, + { + "enumerant" : "UserSemantic", + "aliases" : ["HlslSemanticGOOGLE"], + "value" : 5635, + "parameters" : [ + { "kind" : "LiteralString", "name" : "Semantic" } + ], + "extensions" : [ "SPV_GOOGLE_hlsl_functionality1" ], + "version" : "1.4" + }, + { + "enumerant" : "UserTypeGOOGLE", + "value" : 5636, + "parameters" : [ + { "kind" : "LiteralString", "name" : "User Type" } + ], + "extensions" : [ "SPV_GOOGLE_user_type" ], + "version" : "None" + }, + { + "enumerant" : "FunctionRoundingModeINTEL", + "value" : 5822, + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Target Width" }, + { "kind" : "FPRoundingMode", "name" : "FP Rounding Mode" } + ], + "capabilities" : [ "FunctionFloatControlINTEL" ], + "version" : "None" + }, + { + "enumerant" : "FunctionDenormModeINTEL", + "value" : 5823, + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Target Width" }, + { "kind" : "FPDenormMode", "name" : "FP Denorm Mode" } + ], + "capabilities" : [ "FunctionFloatControlINTEL" ], + "version" : "None" + }, + { + "enumerant" : "RegisterALTERA", + "aliases" : [ "RegisterINTEL" ], + "value" : 5825, + "capabilities" : [ "FPGAMemoryAttributesALTERA" ], + "version" : "None" + }, + { + "enumerant" : "MemoryALTERA", + "aliases" : [ "MemoryINTEL" ], + "value" : 5826, + "parameters" : [ + { "kind" : "LiteralString", "name" : "Memory Type" } + ], + "capabilities" : [ "FPGAMemoryAttributesALTERA" ], + "version" : "None" + }, + { + "enumerant" : "NumbanksALTERA", + "aliases" : [ "NumbanksINTEL" ], + "value" : 5827, + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Banks" } + ], + "capabilities" : [ "FPGAMemoryAttributesALTERA" ], + "version" : "None" + }, + { + "enumerant" : "BankwidthALTERA", + "aliases" : [ "BankwidthINTEL" ], + "value" : 5828, + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Bank Width" } + ], + "capabilities" : [ "FPGAMemoryAttributesALTERA" ], + "version" : "None" + }, + { + "enumerant" : "MaxPrivateCopiesALTERA", + "aliases" : [ "MaxPrivateCopiesINTEL" ], + "value" : 5829, + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Maximum Copies" } + ], + "capabilities" : [ "FPGAMemoryAttributesALTERA" ], + "version" : "None" + }, + { + "enumerant" : "SinglepumpALTERA", + "aliases" : [ "SinglepumpINTEL" ], + "value" : 5830, + "capabilities" : [ "FPGAMemoryAttributesALTERA" ], + "version" : "None" + }, + { + "enumerant" : "DoublepumpALTERA", + "aliases" : [ "DoublepumpINTEL" ], + "value" : 5831, + "capabilities" : [ "FPGAMemoryAttributesALTERA" ], + "version" : "None" + }, + { + "enumerant" : "MaxReplicatesALTERA", + "aliases" : [ "MaxReplicatesINTEL" ], + "value" : 5832, + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Maximum Replicates" } + ], + "capabilities" : [ "FPGAMemoryAttributesALTERA" ], + "version" : "None" + }, + { + "enumerant" : "SimpleDualPortALTERA", + "aliases" : [ "SimpleDualPortINTEL" ], + "value" : 5833, + "capabilities" : [ "FPGAMemoryAttributesALTERA" ], + "version" : "None" + }, + { + "enumerant" : "MergeALTERA", + "aliases" : [ "MergeINTEL" ], + "value" : 5834, + "parameters" : [ + { "kind" : "LiteralString", "name" : "Merge Key" }, + { "kind" : "LiteralString", "name" : "Merge Type" } + ], + "capabilities" : [ "FPGAMemoryAttributesALTERA" ], + "version" : "None" + }, + { + "enumerant" : "BankBitsALTERA", + "aliases" : [ "BankBitsINTEL" ], + "value" : 5835, + "parameters" : [ + { "kind" : "LiteralInteger", "quantifier" : "*", "name" : "Bank Bits" } + ], + "capabilities" : [ "FPGAMemoryAttributesALTERA" ], + "version" : "None" + }, + { + "enumerant" : "ForcePow2DepthALTERA", + "aliases" : [ "ForcePow2DepthINTEL" ], + "value" : 5836, + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Force Key" } + ], + "capabilities" : [ "FPGAMemoryAttributesALTERA" ], + "version" : "None" + }, + { + "enumerant" : "StridesizeALTERA", + "aliases" : [ "StridesizeINTEL" ], + "value" : 5883, + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Stride Size" } + ], + "capabilities" : [ "FPGAMemoryAttributesALTERA" ], + "version" : "None" + }, + { + "enumerant" : "WordsizeALTERA", + "aliases" : [ "WordsizeINTEL" ], + "value" : 5884, + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Word Size" } + ], + "capabilities" : [ "FPGAMemoryAttributesALTERA" ], + "version" : "None" + }, + { + "enumerant" : "TrueDualPortALTERA", + "aliases" : [ "TrueDualPortINTEL" ], + "value" : 5885, + "capabilities" : [ "FPGAMemoryAttributesALTERA" ], + "version" : "None" + }, + { + "enumerant" : "BurstCoalesceALTERA", + "aliases" : [ "BurstCoalesceINTEL" ], + "value" : 5899, + "capabilities" : [ "FPGAMemoryAccessesALTERA" ], + "version" : "None" + }, + { + "enumerant" : "CacheSizeALTERA", + "aliases" : [ "CacheSizeINTEL" ], + "value" : 5900, + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Cache Size in bytes" } + ], + "capabilities" : [ "FPGAMemoryAccessesALTERA" ], + "version" : "None" + }, + { + "enumerant" : "DontStaticallyCoalesceALTERA", + "aliases" : [ "DontStaticallyCoalesceINTEL" ], + "value" : 5901, + "capabilities" : [ "FPGAMemoryAccessesALTERA" ], + "version" : "None" + }, + { + "enumerant" : "PrefetchALTERA", + "aliases" : [ "PrefetchINTEL" ], + "value" : 5902, + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Prefetcher Size in bytes" } + ], + "capabilities" : [ "FPGAMemoryAccessesALTERA" ], + "version" : "None" + }, + { + "enumerant" : "StallEnableALTERA", + "aliases" : [ "StallEnableINTEL" ], + "value" : 5905, + "capabilities" : [ "FPGAClusterAttributesALTERA" ], + "version" : "None" + }, + { + "enumerant" : "FuseLoopsInFunctionALTERA", + "aliases" : [ "FuseLoopsInFunctionINTEL" ], + "value" : 5907, + "capabilities" : [ "LoopFuseALTERA" ], + "version" : "None" + }, + { + "enumerant" : "MathOpDSPModeALTERA", + "aliases" : [ "MathOpDSPModeINTEL" ], + "value" : 5909, + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Mode" }, + { "kind" : "LiteralInteger", "name" : "Propagate" } + ], + "capabilities" : [ "FPGADSPControlALTERA" ], + "version" : "None" + }, + { + "enumerant" : "AliasScopeINTEL", + "value" : 5914, + "parameters" : [ + { "kind" : "IdRef", "name" : "Aliasing Scopes List" } + ], + "capabilities" : [ "MemoryAccessAliasingINTEL" ], + "version" : "None" + }, + { + "enumerant" : "NoAliasINTEL", + "value" : 5915, + "parameters" : [ + { "kind" : "IdRef", "name" : "Aliasing Scopes List" } + ], + "capabilities" : [ "MemoryAccessAliasingINTEL" ], + "version" : "None" + }, + { + "enumerant" : "InitiationIntervalALTERA", + "aliases" : [ "InitiationIntervalINTEL" ], + "value" : 5917, + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Cycles" } + ], + "capabilities" : [ "FPGAInvocationPipeliningAttributesALTERA" ], + "version" : "None" + }, + { + "enumerant" : "MaxConcurrencyALTERA", + "aliases" : [ "MaxConcurrencyINTEL" ], + "value" : 5918, + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Invocations" } + ], + "capabilities" : [ "FPGAInvocationPipeliningAttributesALTERA" ], + "version" : "None" + }, + { + "enumerant" : "PipelineEnableALTERA", + "aliases" : [ "PipelineEnableINTEL" ], + "value" : 5919, + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Enable" } + ], + "capabilities" : [ "FPGAInvocationPipeliningAttributesALTERA" ], + "version" : "None" + }, + { + "enumerant" : "BufferLocationALTERA", + "aliases" : [ "BufferLocationINTEL" ], + "value" : 5921, + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Buffer Location ID" } + ], + "capabilities" : [ "FPGABufferLocationALTERA" ], + "version" : "None" + }, + { + "enumerant" : "IOPipeStorageALTERA", + "aliases" : [ "IOPipeStorageINTEL" ], + "value" : 5944, + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "IO Pipe ID" } + ], + "capabilities" : [ "IOPipesALTERA" ], + "version" : "None" + }, + { + "enumerant" : "FunctionFloatingPointModeINTEL", + "value" : 6080, + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Target Width" }, + { "kind" : "FPOperationMode", "name" : "FP Operation Mode" } + ], + "capabilities" : [ "FunctionFloatControlINTEL" ], + "version" : "None" + }, + { + "enumerant" : "SingleElementVectorINTEL", + "value" : 6085, + "capabilities" : [ "VectorComputeINTEL" ], + "version" : "None" + }, + { + "enumerant" : "VectorComputeCallableFunctionINTEL", + "value" : 6087, + "capabilities" : [ "VectorComputeINTEL" ], + "version" : "None" + }, + { + "enumerant" : "MediaBlockIOINTEL", + "value" : 6140, + "capabilities" : [ "VectorComputeINTEL" ], + "version" : "None" + }, + { + "enumerant" : "StallFreeALTERA", + "aliases" : [ "StallFreeINTEL" ], + "value" : 6151, + "capabilities" : [ "FPGAClusterAttributesV2ALTERA" ], + "version" : "None" + }, + { + "enumerant" : "FPMaxErrorDecorationINTEL", + "value" : 6170, + "parameters" : [ + { "kind" : "LiteralFloat", "name" : "Max Error" } + ], + "capabilities" : [ "FPMaxErrorINTEL" ], + "version" : "None" + }, + { + "enumerant" : "LatencyControlLabelALTERA", + "aliases" : [ "LatencyControlLabelINTEL" ], + "value" : 6172, + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Latency Label" } + ], + "capabilities" : [ "FPGALatencyControlALTERA" ], + "version" : "None" + }, + { + "enumerant" : "LatencyControlConstraintALTERA", + "aliases" : [ "LatencyControlConstraintINTEL" ], + "value" : 6173, + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Relative To" }, + { "kind" : "LiteralInteger", "name" : "Control Type" }, + { "kind" : "LiteralInteger", "name" : "Relative Cycle" } + ], + "capabilities" : [ "FPGALatencyControlALTERA" ], + "version" : "None" + }, + { + "enumerant" : "ConduitKernelArgumentALTERA", + "aliases" : [ "ConduitKernelArgumentINTEL" ], + "value" : 6175, + "capabilities" : [ "FPGAArgumentInterfacesALTERA" ], + "version" : "None" + }, + { + "enumerant" : "RegisterMapKernelArgumentALTERA", + "aliases" : [ "RegisterMapKernelArgumentINTEL" ], + "value" : 6176, + "capabilities" : [ "FPGAArgumentInterfacesALTERA" ], + "version" : "None" + }, + { + "enumerant" : "MMHostInterfaceAddressWidthALTERA", + "aliases" : [ "MMHostInterfaceAddressWidthINTEL" ], + "value" : 6177, + "capabilities" : [ "FPGAArgumentInterfacesALTERA" ], + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "AddressWidth" } + ], + "version" : "None" + }, + { + "enumerant" : "MMHostInterfaceDataWidthALTERA", + "aliases" : [ "MMHostInterfaceDataWidthINTEL" ], + "value" : 6178, + "capabilities" : [ "FPGAArgumentInterfacesALTERA" ], + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "DataWidth" } + ], + "version" : "None" + }, + { + "enumerant" : "MMHostInterfaceLatencyALTERA", + "aliases" : [ "MMHostInterfaceLatencyINTEL" ], + "value" : 6179, + "capabilities" : [ "FPGAArgumentInterfacesALTERA" ], + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Latency" } + ], + "version" : "None" + }, + { + "enumerant" : "MMHostInterfaceReadWriteModeALTERA", + "aliases" : [ "MMHostInterfaceReadWriteModeINTEL" ], + "value" : 6180, + "capabilities" : [ "FPGAArgumentInterfacesALTERA" ], + "parameters" : [ + { "kind" : "AccessQualifier", "name" : "ReadWriteMode" } + ], + "version" : "None" + }, + { + "enumerant" : "MMHostInterfaceMaxBurstALTERA", + "aliases" : [ "MMHostInterfaceMaxBurstINTEL" ], + "value" : 6181, + "capabilities" : [ "FPGAArgumentInterfacesALTERA" ], + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "MaxBurstCount" } + ], + "version" : "None" + }, + { + "enumerant" : "MMHostInterfaceWaitRequestALTERA", + "aliases" : [ "MMHostInterfaceWaitRequestINTEL" ], + "value" : 6182, + "capabilities" : [ "FPGAArgumentInterfacesALTERA" ], + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Waitrequest" } + ], + "version" : "None" + }, + { + "enumerant" : "StableKernelArgumentALTERA", + "aliases" : [ "StableKernelArgumentINTEL" ], + "value" : 6183, + "capabilities" : [ "FPGAArgumentInterfacesALTERA" ], + "version" : "None" + }, + { + "enumerant" : "HostAccessINTEL", + "value" : 6188, + "parameters": [ + { "kind" : "HostAccessQualifier", "name" : "Access" }, + { "kind" : "LiteralString", "name" : "Name" } + ], + "capabilities" : [ "GlobalVariableHostAccessINTEL" ], + "version" : "None" + }, + { + "enumerant" : "InitModeALTERA", + "aliases" : [ "InitModeINTEL" ], + "value" : 6190, + "parameters": [ + { "kind" : "InitializationModeQualifier", "name" : "Trigger" } + ], + "capabilities" : [ "GlobalVariableFPGADecorationsALTERA" ], + "version" : "None" + }, + { + "enumerant" : "ImplementInRegisterMapALTERA", + "aliases" : [ "ImplementInRegisterMapINTEL" ], + "value" : 6191, + "parameters": [ + { "kind" : "LiteralInteger", "name" : "Value" } + ], + "capabilities" : [ "GlobalVariableFPGADecorationsALTERA" ], + "version" : "None" + }, + { + "enumerant" : "ConditionalINTEL", + "value" : 6247, + "parameters": [ + { "kind" : "IdRef", "name" : "Condition" } + ], + "capabilities" : [ "SpecConditionalINTEL" ], + "provisional" : true, + "version" : "None" + }, + { + "enumerant" : "CacheControlLoadINTEL", + "value" : 6442, + "capabilities" : [ "CacheControlsINTEL" ], + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Cache Level" }, + { "kind" : "LoadCacheControl", "name" : "Cache Control" } + ], + "version" : "None" + }, + { + "enumerant" : "CacheControlStoreINTEL", + "value" : 6443, + "capabilities" : [ "CacheControlsINTEL" ], + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "Cache Level" }, + { "kind" : "StoreCacheControl", "name" : "Cache Control" } + ], + "version" : "None" + } + ] + }, + { + "category" : "ValueEnum", + "kind" : "BuiltIn", + "enumerants" : [ + { + "enumerant" : "Position", + "value" : 0, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "PointSize", + "value" : 1, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "ClipDistance", + "value" : 3, + "capabilities" : [ "ClipDistance" ], + "version": "1.0" + }, + { + "enumerant" : "CullDistance", + "value" : 4, + "capabilities" : [ "CullDistance" ], + "version": "1.0" + }, + { + "enumerant" : "VertexId", + "value" : 5, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "InstanceId", + "value" : 6, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "PrimitiveId", + "value" : 7, + "capabilities" : [ "Geometry", "Tessellation", "RayTracingNV", "RayTracingKHR", "MeshShadingNV", "MeshShadingEXT" ], + "version": "1.0" + }, + { + "enumerant" : "InvocationId", + "value" : 8, + "capabilities" : [ "Geometry", "Tessellation" ], + "version": "1.0" + }, + { + "enumerant" : "Layer", + "value" : 9, + "capabilities" : [ "Geometry", "ShaderLayer", "ShaderViewportIndexLayerEXT", "MeshShadingNV", "MeshShadingEXT" ], + "version": "1.0" + }, + { + "enumerant" : "ViewportIndex", + "value" : 10, + "capabilities" : [ "MultiViewport", "ShaderViewportIndex", "ShaderViewportIndexLayerEXT", "MeshShadingNV", "MeshShadingEXT" ], + "version": "1.0" + }, + { + "enumerant" : "TessLevelOuter", + "value" : 11, + "capabilities" : [ "Tessellation" ], + "version": "1.0" + }, + { + "enumerant" : "TessLevelInner", + "value" : 12, + "capabilities" : [ "Tessellation" ], + "version": "1.0" + }, + { + "enumerant" : "TessCoord", + "value" : 13, + "capabilities" : [ "Tessellation" ], + "version": "1.0" + }, + { + "enumerant" : "PatchVertices", + "value" : 14, + "capabilities" : [ "Tessellation" ], + "version": "1.0" + }, + { + "enumerant" : "FragCoord", + "value" : 15, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "PointCoord", + "value" : 16, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "FrontFacing", + "value" : 17, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "SampleId", + "value" : 18, + "capabilities" : [ "SampleRateShading" ], + "version": "1.0" + }, + { + "enumerant" : "SamplePosition", + "value" : 19, + "capabilities" : [ "SampleRateShading" ], + "version": "1.0" + }, + { + "enumerant" : "SampleMask", + "value" : 20, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "FragDepth", + "value" : 22, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "HelperInvocation", + "value" : 23, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "NumWorkgroups", + "value" : 24, + "version" : "1.0" + }, + { + "enumerant" : "WorkgroupSize", + "value" : 25, + "version" : "1.0" + }, + { + "enumerant" : "WorkgroupId", + "value" : 26, + "version" : "1.0" + }, + { + "enumerant" : "LocalInvocationId", + "value" : 27, + "version" : "1.0" + }, + { + "enumerant" : "GlobalInvocationId", + "value" : 28, + "version" : "1.0" + }, + { + "enumerant" : "LocalInvocationIndex", + "value" : 29, + "version" : "1.0" + }, + { + "enumerant" : "WorkDim", + "value" : 30, + "capabilities" : [ "Kernel" ], + "version": "1.0" + }, + { + "enumerant" : "GlobalSize", + "value" : 31, + "capabilities" : [ "Kernel" ], + "version": "1.0" + }, + { + "enumerant" : "EnqueuedWorkgroupSize", + "value" : 32, + "capabilities" : [ "Kernel" ], + "version": "1.0" + }, + { + "enumerant" : "GlobalOffset", + "value" : 33, + "capabilities" : [ "Kernel" ], + "version": "1.0" + }, + { + "enumerant" : "GlobalLinearId", + "value" : 34, + "capabilities" : [ "Kernel" ], + "version": "1.0" + }, + { + "enumerant" : "SubgroupSize", + "value" : 36, + "capabilities" : [ "Kernel", "GroupNonUniform", "SubgroupBallotKHR" ], + "version": "1.0" + }, + { + "enumerant" : "SubgroupMaxSize", + "value" : 37, + "capabilities" : [ "Kernel" ], + "version": "1.0" + }, + { + "enumerant" : "NumSubgroups", + "value" : 38, + "capabilities" : [ "Kernel", "GroupNonUniform" ], + "version": "1.0" + }, + { + "enumerant" : "NumEnqueuedSubgroups", + "value" : 39, + "capabilities" : [ "Kernel" ], + "version": "1.0" + }, + { + "enumerant" : "SubgroupId", + "value" : 40, + "capabilities" : [ "Kernel", "GroupNonUniform" ], + "version": "1.0" + }, + { + "enumerant" : "SubgroupLocalInvocationId", + "value" : 41, + "capabilities" : [ "Kernel", "GroupNonUniform", "SubgroupBallotKHR" ], + "version": "1.0" + }, + { + "enumerant" : "VertexIndex", + "value" : 42, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "InstanceIndex", + "value" : 43, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "CoreIDARM", + "value" : 4160, + "capabilities" : [ "CoreBuiltinsARM" ], + "version": "1.0" + }, + { + "enumerant" : "CoreCountARM", + "value" : 4161, + "capabilities" : [ "CoreBuiltinsARM" ], + "version": "1.0" + }, + { + "enumerant" : "CoreMaxIDARM", + "value" : 4162, + "capabilities" : [ "CoreBuiltinsARM" ], + "version": "1.0" + }, + { + "enumerant" : "WarpIDARM", + "value" : 4163, + "capabilities" : [ "CoreBuiltinsARM" ], + "version": "1.0" + }, + { + "enumerant" : "WarpMaxIDARM", + "value" : 4164, + "capabilities" : [ "CoreBuiltinsARM" ], + "version": "1.0" + }, + { + "enumerant" : "SubgroupEqMask", + "aliases" : ["SubgroupEqMaskKHR"], + "value" : 4416, + "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ], + "extensions" : [ "SPV_KHR_shader_ballot" ], + "version" : "1.3" + }, + { + "enumerant" : "SubgroupGeMask", + "aliases" : ["SubgroupGeMaskKHR"], + "value" : 4417, + "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ], + "extensions" : [ "SPV_KHR_shader_ballot" ], + "version" : "1.3" + }, + { + "enumerant" : "SubgroupGtMask", + "aliases" : ["SubgroupGtMaskKHR"], + "value" : 4418, + "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ], + "extensions" : [ "SPV_KHR_shader_ballot" ], + "version" : "1.3" + }, + { + "enumerant" : "SubgroupLeMask", + "aliases" : ["SubgroupLeMaskKHR"], + "value" : 4419, + "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ], + "extensions" : [ "SPV_KHR_shader_ballot" ], + "version" : "1.3" + }, + { + "enumerant" : "SubgroupLtMask", + "aliases" : ["SubgroupLtMaskKHR"], + "value" : 4420, + "capabilities" : [ "SubgroupBallotKHR", "GroupNonUniformBallot" ], + "extensions" : [ "SPV_KHR_shader_ballot" ], + "version" : "1.3" + }, + { + "enumerant" : "BaseVertex", + "value" : 4424, + "capabilities" : [ "DrawParameters" ], + "extensions" : [ "SPV_KHR_shader_draw_parameters" ], + "version" : "1.3" + }, + { + "enumerant" : "BaseInstance", + "value" : 4425, + "capabilities" : [ "DrawParameters" ], + "extensions" : [ "SPV_KHR_shader_draw_parameters" ], + "version" : "1.3" + }, + { + "enumerant" : "DrawIndex", + "value" : 4426, + "capabilities" : [ "DrawParameters", "MeshShadingNV", "MeshShadingEXT" ], + "extensions" : [ "SPV_KHR_shader_draw_parameters", "SPV_NV_mesh_shader", "SPV_EXT_mesh_shader" ], + "version" : "1.3" + }, + { + "enumerant" : "PrimitiveShadingRateKHR", + "value" : 4432, + "capabilities" : [ "FragmentShadingRateKHR" ], + "extensions" : [ "SPV_KHR_fragment_shading_rate" ], + "version" : "None" + }, + { + "enumerant" : "DeviceIndex", + "value" : 4438, + "capabilities" : [ "DeviceGroup" ], + "extensions" : [ "SPV_KHR_device_group" ], + "version" : "1.3" + }, + { + "enumerant" : "ViewIndex", + "value" : 4440, + "capabilities" : [ "MultiView" ], + "extensions" : [ "SPV_KHR_multiview" ], + "version" : "1.3" + }, + { + "enumerant" : "ShadingRateKHR", + "value" : 4444, + "capabilities" : [ "FragmentShadingRateKHR" ], + "extensions" : [ "SPV_KHR_fragment_shading_rate" ], + "version" : "None" + }, + { + "enumerant" : "TileOffsetQCOM", + "value" : 4492, + "capabilities" : [ "TileShadingQCOM" ], + "version" : "None" + }, + { + "enumerant" : "TileDimensionQCOM", + "value" : 4493, + "capabilities" : [ "TileShadingQCOM" ], + "version" : "None" + }, + { + "enumerant" : "TileApronSizeQCOM", + "value" : 4494, + "capabilities" : [ "TileShadingQCOM" ], + "version" : "None" + }, + { + "enumerant" : "BaryCoordNoPerspAMD", + "value" : 4992, + "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ], + "version" : "None" + }, + { + "enumerant" : "BaryCoordNoPerspCentroidAMD", + "value" : 4993, + "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ], + "version" : "None" + }, + { + "enumerant" : "BaryCoordNoPerspSampleAMD", + "value" : 4994, + "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ], + "version" : "None" + }, + { + "enumerant" : "BaryCoordSmoothAMD", + "value" : 4995, + "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ], + "version" : "None" + }, + { + "enumerant" : "BaryCoordSmoothCentroidAMD", + "value" : 4996, + "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ], + "version" : "None" + }, + { + "enumerant" : "BaryCoordSmoothSampleAMD", + "value" : 4997, + "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ], + "version" : "None" + }, + { + "enumerant" : "BaryCoordPullModelAMD", + "value" : 4998, + "extensions" : [ "SPV_AMD_shader_explicit_vertex_parameter" ], + "version" : "None" + }, + { + "enumerant" : "FragStencilRefEXT", + "value" : 5014, + "capabilities" : [ "StencilExportEXT" ], + "extensions" : [ "SPV_EXT_shader_stencil_export" ], + "version" : "None" + }, + { + "enumerant" : "RemainingRecursionLevelsAMDX", + "value" : 5021, + "capabilities" : [ "ShaderEnqueueAMDX" ], + "provisional" : true, + "version" : "None" + }, + { + "enumerant" : "ShaderIndexAMDX", + "value" : 5073, + "capabilities" : [ "ShaderEnqueueAMDX" ], + "provisional" : true, + "version" : "None" + }, + { + "enumerant" : "SamplerHeapEXT", + "value" : 5122, + "capabilities" : [ "DescriptorHeapEXT" ], + "version" : "None" + }, + { + "enumerant" : "ResourceHeapEXT", + "value" : 5123, + "capabilities" : [ "DescriptorHeapEXT" ], + "version" : "None" + }, + { + "enumerant" : "ViewportMaskNV", + "value" : 5253, + "capabilities" : [ "ShaderViewportMaskNV", "MeshShadingNV" ], + "extensions" : [ "SPV_NV_viewport_array2", "SPV_NV_mesh_shader" ], + "version" : "None" + }, + { + "enumerant" : "SecondaryPositionNV", + "value" : 5257, + "capabilities" : [ "ShaderStereoViewNV" ], + "extensions" : [ "SPV_NV_stereo_view_rendering" ], + "version" : "None" + }, + { + "enumerant" : "SecondaryViewportMaskNV", + "value" : 5258, + "capabilities" : [ "ShaderStereoViewNV" ], + "extensions" : [ "SPV_NV_stereo_view_rendering" ], + "version" : "None" + }, + { + "enumerant" : "PositionPerViewNV", + "value" : 5261, + "capabilities" : [ "PerViewAttributesNV", "MeshShadingNV" ], + "extensions" : [ "SPV_NVX_multiview_per_view_attributes", "SPV_NV_mesh_shader" ], + "version" : "None" + }, + { + "enumerant" : "ViewportMaskPerViewNV", + "value" : 5262, + "capabilities" : [ "PerViewAttributesNV", "MeshShadingNV" ], + "extensions" : [ "SPV_NVX_multiview_per_view_attributes", "SPV_NV_mesh_shader" ], + "version" : "None" + }, + { + "enumerant" : "FullyCoveredEXT", + "value" : 5264, + "capabilities" : [ "FragmentFullyCoveredEXT" ], + "extensions" : [ "SPV_EXT_fragment_fully_covered" ], + "version" : "None" + }, + { + "enumerant" : "TaskCountNV", + "value" : 5274, + "capabilities" : [ "MeshShadingNV" ], + "extensions" : [ "SPV_NV_mesh_shader" ], + "version" : "None" + }, + { + "enumerant" : "PrimitiveCountNV", + "value" : 5275, + "capabilities" : [ "MeshShadingNV" ], + "extensions" : [ "SPV_NV_mesh_shader" ], + "version" : "None" + }, + { + "enumerant" : "PrimitiveIndicesNV", + "value" : 5276, + "capabilities" : [ "MeshShadingNV" ], + "extensions" : [ "SPV_NV_mesh_shader" ], + "version" : "None" + }, + { + "enumerant" : "ClipDistancePerViewNV", + "value" : 5277, + "capabilities" : [ "MeshShadingNV" ], + "extensions" : [ "SPV_NV_mesh_shader" ], + "version" : "None" + }, + { + "enumerant" : "CullDistancePerViewNV", + "value" : 5278, + "capabilities" : [ "MeshShadingNV" ], + "extensions" : [ "SPV_NV_mesh_shader" ], + "version" : "None" + }, + { + "enumerant" : "LayerPerViewNV", + "value" : 5279, + "capabilities" : [ "MeshShadingNV" ], + "extensions" : [ "SPV_NV_mesh_shader" ], + "version" : "None" + }, + { + "enumerant" : "MeshViewCountNV", + "value" : 5280, + "capabilities" : [ "MeshShadingNV" ], + "extensions" : [ "SPV_NV_mesh_shader" ], + "version" : "None" + }, + { + "enumerant" : "MeshViewIndicesNV", + "value" : 5281, + "capabilities" : [ "MeshShadingNV" ], + "extensions" : [ "SPV_NV_mesh_shader" ], + "version" : "None" + }, + { + "enumerant" : "BaryCoordKHR", + "aliases" : ["BaryCoordNV"], + "value" : 5286, + "capabilities" : [ "FragmentBarycentricKHR" ], + "extensions" : [ "SPV_NV_fragment_shader_barycentric", "SPV_KHR_fragment_shader_barycentric" ], + "version" : "None" + }, + { + "enumerant" : "BaryCoordNoPerspKHR", + "aliases" : ["BaryCoordNoPerspNV"], + "value" : 5287, + "capabilities" : [ "FragmentBarycentricKHR" ], + "extensions" : [ "SPV_NV_fragment_shader_barycentric", "SPV_KHR_fragment_shader_barycentric" ], + "version" : "None" + }, + { + "enumerant" : "FragSizeEXT", + "aliases" : ["FragmentSizeNV"], + "value" : 5292 , + "capabilities" : [ "FragmentDensityEXT" ], + "extensions" : [ "SPV_EXT_fragment_invocation_density", "SPV_NV_shading_rate" ], + "version" : "None" + }, + { + "enumerant" : "FragInvocationCountEXT", + "aliases" : ["InvocationsPerPixelNV"], + "value" : 5293, + "capabilities" : [ "FragmentDensityEXT" ], + "extensions" : [ "SPV_EXT_fragment_invocation_density", "SPV_NV_shading_rate" ], + "version" : "None" + }, + { + "enumerant" : "PrimitivePointIndicesEXT", + "value" : 5294, + "capabilities" : [ "MeshShadingEXT" ], + "extensions" : [ "SPV_EXT_mesh_shader" ], + "version" : "None" + }, + { + "enumerant" : "PrimitiveLineIndicesEXT", + "value" : 5295, + "capabilities" : [ "MeshShadingEXT" ], + "extensions" : [ "SPV_EXT_mesh_shader" ], + "version" : "None" + }, + { + "enumerant" : "PrimitiveTriangleIndicesEXT", + "value" : 5296, + "capabilities" : [ "MeshShadingEXT" ], + "extensions" : [ "SPV_EXT_mesh_shader" ], + "version" : "None" + }, + { + "enumerant" : "CullPrimitiveEXT", + "value" : 5299, + "capabilities" : [ "MeshShadingEXT" ], + "extensions" : [ "SPV_EXT_mesh_shader" ], + "version" : "None" + }, + { + "enumerant" : "LaunchIdKHR", + "aliases" : ["LaunchIdNV"], + "value" : 5319, + "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ], + "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ], + "version" : "None" + }, + { + "enumerant" : "LaunchSizeKHR", + "aliases" : ["LaunchSizeNV"], + "value" : 5320, + "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ], + "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ], + "version" : "None" + }, + { + "enumerant" : "WorldRayOriginKHR", + "aliases" : ["WorldRayOriginNV"], + "value" : 5321, + "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ], + "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ], + "version" : "None" + }, + { + "enumerant" : "WorldRayDirectionKHR", + "aliases" : ["WorldRayDirectionNV"], + "value" : 5322, + "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ], + "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ], + "version" : "None" + }, + { + "enumerant" : "ObjectRayOriginKHR", + "aliases" : ["ObjectRayOriginNV"], + "value" : 5323, + "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ], + "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ], + "version" : "None" + }, + { + "enumerant" : "ObjectRayDirectionKHR", + "aliases" : ["ObjectRayDirectionNV"], + "value" : 5324, + "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ], + "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ], + "version" : "None" + }, + { + "enumerant" : "RayTminKHR", + "aliases" : ["RayTminNV"], + "value" : 5325, + "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ], + "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ], + "version" : "None" + }, + { + "enumerant" : "RayTmaxKHR", + "aliases" : ["RayTmaxNV"], + "value" : 5326, + "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ], + "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ], + "version" : "None" + }, + { + "enumerant" : "InstanceCustomIndexKHR", + "aliases" : ["InstanceCustomIndexNV"], + "value" : 5327, + "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ], + "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ], + "version" : "None" + }, + { + "enumerant" : "ObjectToWorldKHR", + "aliases" : ["ObjectToWorldNV"], + "value" : 5330, + "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ], + "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ], + "version" : "None" + }, + { + "enumerant" : "WorldToObjectKHR", + "aliases" : ["WorldToObjectNV"], + "value" : 5331, + "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ], + "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ], + "version" : "None" + }, + { + "enumerant" : "HitTNV", + "value" : 5332, + "capabilities" : [ "RayTracingNV" ], + "extensions" : [ "SPV_NV_ray_tracing" ], + "version" : "None" + }, + { + "enumerant" : "HitKindKHR", + "aliases" : ["HitKindNV"], + "value" : 5333, + "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ], + "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ], + "version" : "None" + }, + { + "enumerant" : "CurrentRayTimeNV", + "value" : 5334, + "capabilities" : [ "RayTracingMotionBlurNV" ], + "extensions" : [ "SPV_NV_ray_tracing_motion_blur" ], + "version" : "None" + }, + { + "enumerant" : "HitTriangleVertexPositionsKHR", + "value" : 5335, + "capabilities" : [ "RayTracingPositionFetchKHR" ], + "version" : "None" + }, + { + "enumerant" : "HitMicroTriangleVertexPositionsNV", + "value" : 5337, + "capabilities" : [ "RayTracingDisplacementMicromapNV" ], + "version" : "None" + }, + { + "enumerant" : "HitMicroTriangleVertexBarycentricsNV", + "value" : 5344, + "capabilities" : [ "RayTracingDisplacementMicromapNV" ], + "version" : "None" + }, + { + "enumerant" : "IncomingRayFlagsKHR", + "aliases" : ["IncomingRayFlagsNV"], + "value" : 5351, + "capabilities" : [ "RayTracingNV" , "RayTracingKHR" ], + "extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ], + "version" : "None" + }, + { + "enumerant" : "RayGeometryIndexKHR", + "value" : 5352, + "capabilities" : [ "RayTracingKHR" ], + "extensions" : [ "SPV_KHR_ray_tracing" ], + "version" : "None" + }, + { + "enumerant" : "HitIsSphereNV", + "value" : 5359, + "capabilities" : [ "RayTracingSpheresGeometryNV" ], + "extensions" : [ "SPV_NV_linear_swept_spheres" ], + "version" : "None" + }, + { + "enumerant" : "HitIsLSSNV", + "value" : 5360, + "capabilities" : [ "RayTracingLinearSweptSpheresGeometryNV" ], + "extensions" : [ "SPV_NV_linear_swept_spheres" ], + "version" : "None" + }, + { + "enumerant" : "HitSpherePositionNV", + "value" : 5361, + "capabilities" : [ "RayTracingSpheresGeometryNV" ], + "extensions" : [ "SPV_NV_linear_swept_spheres" ], + "version" : "None" + }, + { + "enumerant" : "WarpsPerSMNV", + "value" : 5374, + "capabilities" : [ "ShaderSMBuiltinsNV" ], + "extensions" : [ "SPV_NV_shader_sm_builtins" ], + "version" : "None" + }, + { + "enumerant" : "SMCountNV", + "value" : 5375, + "capabilities" : [ "ShaderSMBuiltinsNV" ], + "extensions" : [ "SPV_NV_shader_sm_builtins" ], + "version" : "None" + }, + { + "enumerant" : "WarpIDNV", + "value" : 5376, + "capabilities" : [ "ShaderSMBuiltinsNV" ], + "extensions" : [ "SPV_NV_shader_sm_builtins" ], + "version" : "None" + }, + { + "enumerant" : "SMIDNV", + "value" : 5377, + "capabilities" : [ "ShaderSMBuiltinsNV" ], + "extensions" : [ "SPV_NV_shader_sm_builtins" ], + "version" : "None" + }, + { + "enumerant" : "HitLSSPositionsNV", + "value" : 5396, + "capabilities" : [ "RayTracingLinearSweptSpheresGeometryNV" ], + "extensions" : [ "SPV_NV_linear_swept_spheres" ], + "version" : "None" + }, + { + "enumerant" : "HitKindFrontFacingMicroTriangleNV", + "value" : 5405, + "capabilities" : [ "RayTracingDisplacementMicromapNV" ], + "version" : "None" + }, + { + "enumerant" : "HitKindBackFacingMicroTriangleNV", + "value" : 5406, + "capabilities" : [ "RayTracingDisplacementMicromapNV" ], + "version" : "None" + }, + { + "enumerant" : "HitSphereRadiusNV", + "value" : 5420, + "capabilities" : [ "RayTracingSpheresGeometryNV" ], + "extensions" : [ "SPV_NV_linear_swept_spheres" ], + "version" : "None" + }, + { + "enumerant" : "HitLSSRadiiNV", + "value" : 5421, + "capabilities" : [ "RayTracingLinearSweptSpheresGeometryNV" ], + "extensions" : [ "SPV_NV_linear_swept_spheres" ], + "version" : "None" + }, + { + "enumerant" : "ClusterIDNV", + "value" : 5436, + "capabilities" : [ "RayTracingClusterAccelerationStructureNV" ], + "extensions" : [ "SPV_NV_cluster_acceleration_structure" ], + "version" : "None" + }, + { + "enumerant" : "CullMaskKHR", + "value" : 6021, + "capabilities" : [ "RayCullMaskKHR" ], + "extensions" : [ "SPV_KHR_ray_cull_mask" ], + "version" : "None" + } + ] + }, + { + "category" : "ValueEnum", + "kind" : "Scope", + "enumerants" : [ + { + "enumerant" : "CrossDevice", + "value" : 0, + "version" : "1.0" + }, + { + "enumerant" : "Device", + "value" : 1, + "version" : "1.0" + }, + { + "enumerant" : "Workgroup", + "value" : 2, + "version" : "1.0" + }, + { + "enumerant" : "Subgroup", + "value" : 3, + "version" : "1.0" + }, + { + "enumerant" : "Invocation", + "value" : 4, + "version" : "1.0" + }, + { + "enumerant" : "QueueFamily", + "aliases" : ["QueueFamilyKHR"], + "value" : 5, + "capabilities" : [ "VulkanMemoryModel" ], + "version" : "1.5" + }, + { + "enumerant" : "ShaderCallKHR", + "value" : 6, + "capabilities" : [ "RayTracingKHR" ], + "version" : "None" + } + ] + }, + { + "category" : "ValueEnum", + "kind" : "GroupOperation", + "enumerants" : [ + { + "enumerant" : "Reduce", + "value" : 0, + "capabilities" : [ "Kernel", "GroupNonUniformArithmetic", "GroupNonUniformBallot" ], + "version": "1.0" + }, + { + "enumerant" : "InclusiveScan", + "value" : 1, + "capabilities" : [ "Kernel", "GroupNonUniformArithmetic", "GroupNonUniformBallot" ], + "version": "1.0" + }, + { + "enumerant" : "ExclusiveScan", + "value" : 2, + "capabilities" : [ "Kernel", "GroupNonUniformArithmetic", "GroupNonUniformBallot" ], + "version": "1.0" + }, + { + "enumerant" : "ClusteredReduce", + "value" : 3, + "capabilities" : [ "GroupNonUniformClustered" ], + "version" : "1.3" + }, + { + "enumerant" : "PartitionedReduceEXT", + "aliases" : ["PartitionedReduceNV"], + "value" : 6, + "capabilities" : [ "GroupNonUniformPartitionedEXT" ], + "version" : "None" + }, + { + "enumerant" : "PartitionedInclusiveScanEXT", + "aliases" : ["PartitionedInclusiveScanNV"], + "value" : 7, + "capabilities" : [ "GroupNonUniformPartitionedEXT" ], + "version" : "None" + }, + { + "enumerant" : "PartitionedExclusiveScanEXT", + "aliases" : ["PartitionedExclusiveScanNV"], + "value" : 8, + "capabilities" : [ "GroupNonUniformPartitionedEXT" ], + "version" : "None" + } + ] + }, + { + "category" : "ValueEnum", + "kind" : "KernelEnqueueFlags", + "enumerants" : [ + { + "enumerant" : "NoWait", + "value" : 0, + "capabilities" : [ "Kernel" ], + "version": "1.0" + }, + { + "enumerant" : "WaitKernel", + "value" : 1, + "capabilities" : [ "Kernel" ], + "version": "1.0" + }, + { + "enumerant" : "WaitWorkGroup", + "value" : 2, + "capabilities" : [ "Kernel" ], + "version": "1.0" + } + ] + }, + { + "category" : "ValueEnum", + "kind" : "Capability", + "enumerants" : [ + { + "enumerant" : "Matrix", + "value" : 0, + "version" : "1.0" + }, + { + "enumerant" : "Shader", + "value" : 1, + "capabilities" : [ "Matrix" ], + "version": "1.0" + }, + { + "enumerant" : "Geometry", + "value" : 2, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "Tessellation", + "value" : 3, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "Addresses", + "value" : 4, + "version" : "1.0" + }, + { + "enumerant" : "Linkage", + "value" : 5, + "version" : "1.0" + }, + { + "enumerant" : "Kernel", + "value" : 6, + "version" : "1.0" + }, + { + "enumerant" : "Vector16", + "value" : 7, + "capabilities" : [ "Kernel" ], + "version": "1.0" + }, + { + "enumerant" : "Float16Buffer", + "value" : 8, + "capabilities" : [ "Kernel" ], + "version": "1.0" + }, + { + "enumerant" : "Float16", + "value" : 9, + "version" : "1.0" + }, + { + "enumerant" : "Float64", + "value" : 10, + "version" : "1.0" + }, + { + "enumerant" : "Int64", + "value" : 11, + "version" : "1.0" + }, + { + "enumerant" : "Int64Atomics", + "value" : 12, + "capabilities" : [ "Int64" ], + "version": "1.0" + }, + { + "enumerant" : "ImageBasic", + "value" : 13, + "capabilities" : [ "Kernel" ], + "version": "1.0" + }, + { + "enumerant" : "ImageReadWrite", + "value" : 14, + "capabilities" : [ "ImageBasic" ], + "version": "1.0" + }, + { + "enumerant" : "ImageMipmap", + "value" : 15, + "capabilities" : [ "ImageBasic" ], + "version": "1.0" + }, + { + "enumerant" : "Pipes", + "value" : 17, + "capabilities" : [ "Kernel" ], + "version": "1.0" + }, + { + "enumerant" : "Groups", + "value" : 18, + "extensions" : [ "SPV_AMD_shader_ballot" ], + "version": "1.0" + }, + { + "enumerant" : "DeviceEnqueue", + "value" : 19, + "capabilities" : [ "Kernel" ], + "version": "1.0" + }, + { + "enumerant" : "LiteralSampler", + "value" : 20, + "capabilities" : [ "Kernel" ], + "version": "1.0" + }, + { + "enumerant" : "AtomicStorage", + "value" : 21, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "Int16", + "value" : 22, + "version" : "1.0" + }, + { + "enumerant" : "TessellationPointSize", + "value" : 23, + "capabilities" : [ "Tessellation" ], + "version": "1.0" + }, + { + "enumerant" : "GeometryPointSize", + "value" : 24, + "capabilities" : [ "Geometry" ], + "version": "1.0" + }, + { + "enumerant" : "ImageGatherExtended", + "value" : 25, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "StorageImageMultisample", + "value" : 27, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "UniformBufferArrayDynamicIndexing", + "value" : 28, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "SampledImageArrayDynamicIndexing", + "value" : 29, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "StorageBufferArrayDynamicIndexing", + "value" : 30, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "StorageImageArrayDynamicIndexing", + "value" : 31, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "ClipDistance", + "value" : 32, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "CullDistance", + "value" : 33, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "ImageCubeArray", + "value" : 34, + "capabilities" : [ "SampledCubeArray" ], + "version": "1.0" + }, + { + "enumerant" : "SampleRateShading", + "value" : 35, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "ImageRect", + "value" : 36, + "capabilities" : [ "SampledRect" ], + "version": "1.0" + }, + { + "enumerant" : "SampledRect", + "value" : 37, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "GenericPointer", + "value" : 38, + "capabilities" : [ "Addresses" ], + "version": "1.0" + }, + { + "enumerant" : "Int8", + "value" : 39, + "version" : "1.0" + }, + { + "enumerant" : "InputAttachment", + "value" : 40, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "SparseResidency", + "value" : 41, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "MinLod", + "value" : 42, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "Sampled1D", + "value" : 43, + "version" : "1.0" + }, + { + "enumerant" : "Image1D", + "value" : 44, + "capabilities" : [ "Sampled1D" ], + "version": "1.0" + }, + { + "enumerant" : "SampledCubeArray", + "value" : 45, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "SampledBuffer", + "value" : 46, + "version" : "1.0" + }, + { + "enumerant" : "ImageBuffer", + "value" : 47, + "capabilities" : [ "SampledBuffer" ], + "version": "1.0" + }, + { + "enumerant" : "ImageMSArray", + "value" : 48, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "StorageImageExtendedFormats", + "value" : 49, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "ImageQuery", + "value" : 50, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "DerivativeControl", + "value" : 51, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "InterpolationFunction", + "value" : 52, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "TransformFeedback", + "value" : 53, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "GeometryStreams", + "value" : 54, + "capabilities" : [ "Geometry" ], + "version": "1.0" + }, + { + "enumerant" : "StorageImageReadWithoutFormat", + "value" : 55, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "StorageImageWriteWithoutFormat", + "value" : 56, + "capabilities" : [ "Shader" ], + "version": "1.0" + }, + { + "enumerant" : "MultiViewport", + "value" : 57, + "capabilities" : [ "Geometry" ], + "version": "1.0" + }, + { + "enumerant" : "SubgroupDispatch", + "value" : 58, + "capabilities" : [ "DeviceEnqueue" ], + "version" : "1.1" + }, + { + "enumerant" : "NamedBarrier", + "value" : 59, + "capabilities" : [ "Kernel" ], + "version" : "1.1" + }, + { + "enumerant" : "PipeStorage", + "value" : 60, + "capabilities" : [ "Pipes" ], + "version" : "1.1" + }, + { + "enumerant" : "GroupNonUniform", + "value" : 61, + "version" : "1.3" + }, + { + "enumerant" : "GroupNonUniformVote", + "value" : 62, + "capabilities" : [ "GroupNonUniform" ], + "version" : "1.3" + }, + { + "enumerant" : "GroupNonUniformArithmetic", + "value" : 63, + "capabilities" : [ "GroupNonUniform" ], + "version" : "1.3" + }, + { + "enumerant" : "GroupNonUniformBallot", + "value" : 64, + "capabilities" : [ "GroupNonUniform" ], + "version" : "1.3" + }, + { + "enumerant" : "GroupNonUniformShuffle", + "value" : 65, + "capabilities" : [ "GroupNonUniform" ], + "version" : "1.3" + }, + { + "enumerant" : "GroupNonUniformShuffleRelative", + "value" : 66, + "capabilities" : [ "GroupNonUniform" ], + "version" : "1.3" + }, + { + "enumerant" : "GroupNonUniformClustered", + "value" : 67, + "capabilities" : [ "GroupNonUniform" ], + "version" : "1.3" + }, + { + "enumerant" : "GroupNonUniformQuad", + "value" : 68, + "capabilities" : [ "GroupNonUniform" ], + "version" : "1.3" + }, + { + "enumerant" : "ShaderLayer", + "value" : 69, + "version" : "1.5" + }, + { + "enumerant" : "ShaderViewportIndex", + "value" : 70, + "version" : "1.5" + }, + { + "enumerant" : "UniformDecoration", + "value" : 71, + "version" : "1.6" + }, + { + "enumerant" : "CoreBuiltinsARM", + "value" : 4165, + "extensions" : [ "SPV_ARM_core_builtins" ], + "version": "None" + }, + { + "enumerant" : "TileImageColorReadAccessEXT", + "value" : 4166, + "extensions" : [ "SPV_EXT_shader_tile_image" ], + "version" : "None" + }, + { + "enumerant" : "TileImageDepthReadAccessEXT", + "value" : 4167, + "extensions" : [ "SPV_EXT_shader_tile_image" ], + "version" : "None" + }, + { + "enumerant" : "TileImageStencilReadAccessEXT", + "value" : 4168, + "extensions" : [ "SPV_EXT_shader_tile_image" ], + "version" : "None" + }, + { + "enumerant" : "TensorsARM", + "value" : 4174, + "extensions" : [ "SPV_ARM_tensors"], + "version" : "None" + }, + { + "enumerant" : "StorageTensorArrayDynamicIndexingARM", + "value" : 4175, + "extensions" : [ "SPV_ARM_tensors"], + "version" : "None" + }, + { + "enumerant" : "StorageTensorArrayNonUniformIndexingARM", + "value" : 4176, + "extensions" : [ "SPV_ARM_tensors"], + "version" : "None" + }, + { + "enumerant" : "GraphARM", + "value" : 4191, + "extensions" : [ "SPV_ARM_graph"], + "version" : "None" + }, + { + "enumerant" : "CooperativeMatrixLayoutsARM", + "value" : 4201, + "extensions" : [ "SPV_ARM_cooperative_matrix_layouts" ], + "version" : "None" + }, + { + "enumerant" : "Float8EXT", + "value" : 4212, + "extensions" : [ "SPV_EXT_float8"], + "version" : "None" + }, + { + "enumerant" : "Float8CooperativeMatrixEXT", + "value" : 4213, + "capabilities" : [ "Float8EXT", "CooperativeMatrixKHR" ], + "extensions" : [ "SPV_EXT_float8"], + "version" : "None" + }, + { + "enumerant" : "FragmentShadingRateKHR", + "value" : 4422, + "capabilities" : [ "Shader" ], + "extensions" : [ "SPV_KHR_fragment_shading_rate" ], + "version" : "None" + }, + { + "enumerant" : "SubgroupBallotKHR", + "value" : 4423, + "extensions" : [ "SPV_KHR_shader_ballot" ], + "version" : "None" + }, + { + "enumerant" : "DrawParameters", + "value" : 4427, + "capabilities" : [ "Shader" ], + "extensions" : [ "SPV_KHR_shader_draw_parameters" ], + "version" : "1.3" + }, + { + "enumerant" : "WorkgroupMemoryExplicitLayoutKHR", + "value" : 4428, + "capabilities" : [ "Shader" ], + "extensions" : [ "SPV_KHR_workgroup_memory_explicit_layout" ], + "version" : "None" + }, + { + "enumerant" : "WorkgroupMemoryExplicitLayout8BitAccessKHR", + "value" : 4429, + "capabilities" : [ "WorkgroupMemoryExplicitLayoutKHR" ], + "extensions" : [ "SPV_KHR_workgroup_memory_explicit_layout" ], + "version" : "None" + }, + { + "enumerant" : "WorkgroupMemoryExplicitLayout16BitAccessKHR", + "value" : 4430, + "capabilities" : [ "WorkgroupMemoryExplicitLayoutKHR" ], + "extensions" : [ "SPV_KHR_workgroup_memory_explicit_layout" ], + "version" : "None" + }, + { + "enumerant" : "SubgroupVoteKHR", + "value" : 4431, + "extensions" : [ "SPV_KHR_subgroup_vote" ], + "version" : "None" + }, + { + "enumerant" : "StorageBuffer16BitAccess", + "aliases" : ["StorageUniformBufferBlock16"], + "value" : 4433, + "extensions" : [ "SPV_KHR_16bit_storage" ], + "version" : "1.3" + }, + { + "enumerant" : "UniformAndStorageBuffer16BitAccess", + "aliases" : ["StorageUniform16"], + "value" : 4434, + "capabilities" : [ "StorageBuffer16BitAccess" ], + "extensions" : [ "SPV_KHR_16bit_storage" ], + "version" : "1.3" + }, + { + "enumerant" : "StoragePushConstant16", + "value" : 4435, + "extensions" : [ "SPV_KHR_16bit_storage" ], + "version" : "1.3" + }, + { + "enumerant" : "StorageInputOutput16", + "value" : 4436, + "extensions" : [ "SPV_KHR_16bit_storage" ], + "version" : "1.3" + }, + { + "enumerant" : "DeviceGroup", + "value" : 4437, + "extensions" : [ "SPV_KHR_device_group" ], + "version" : "1.3" + }, + { + "enumerant" : "MultiView", + "value" : 4439, + "capabilities" : [ "Shader" ], + "extensions" : [ "SPV_KHR_multiview" ], + "version" : "1.3" + }, + { + "enumerant" : "VariablePointersStorageBuffer", + "value" : 4441, + "capabilities" : [ "Shader" ], + "extensions" : [ "SPV_KHR_variable_pointers" ], + "version" : "1.3" + }, + { + "enumerant" : "VariablePointers", + "value" : 4442, + "capabilities" : [ "VariablePointersStorageBuffer" ], + "extensions" : [ "SPV_KHR_variable_pointers" ], + "version" : "1.3" + }, + { + "enumerant" : "AtomicStorageOps", + "value" : 4445, + "capabilities" : [ "AtomicStorage" ], + "extensions" : [ "SPV_KHR_shader_atomic_counter_ops" ], + "version" : "None" + }, + { + "enumerant" : "SampleMaskPostDepthCoverage", + "value" : 4447, + "extensions" : [ "SPV_KHR_post_depth_coverage" ], + "version" : "None" + }, + { + "enumerant" : "StorageBuffer8BitAccess", + "value" : 4448, + "extensions" : [ "SPV_KHR_8bit_storage" ], + "version" : "1.5" + }, + { + "enumerant" : "UniformAndStorageBuffer8BitAccess", + "value" : 4449, + "capabilities" : [ "StorageBuffer8BitAccess" ], + "extensions" : [ "SPV_KHR_8bit_storage" ], + "version" : "1.5" + }, + { + "enumerant" : "StoragePushConstant8", + "value" : 4450, + "extensions" : [ "SPV_KHR_8bit_storage" ], + "version" : "1.5" + }, + { + "enumerant" : "DenormPreserve", + "value" : 4464, + "extensions" : [ "SPV_KHR_float_controls" ], + "version" : "1.4" + }, + { + "enumerant" : "DenormFlushToZero", + "value" : 4465, + "extensions" : [ "SPV_KHR_float_controls" ], + "version" : "1.4" + }, + { + "enumerant" : "SignedZeroInfNanPreserve", + "value" : 4466, + "extensions" : [ "SPV_KHR_float_controls" ], + "version" : "1.4" + }, + { + "enumerant" : "RoundingModeRTE", + "value" : 4467, + "extensions" : [ "SPV_KHR_float_controls" ], + "version" : "1.4" + }, + { + "enumerant" : "RoundingModeRTZ", + "value" : 4468, + "extensions" : [ "SPV_KHR_float_controls" ], + "version" : "1.4" + }, + { + "enumerant" : "RayQueryProvisionalKHR", + "value" : 4471, + "capabilities" : [ "Shader" ], + "extensions" : [ "SPV_KHR_ray_query" ], + "version" : "None" + }, + { + "enumerant" : "RayQueryKHR", + "value" : 4472, + "capabilities" : [ "Shader" ], + "extensions" : [ "SPV_KHR_ray_query" ], + "version" : "None" + }, + { + "enumerant" : "UntypedPointersKHR", + "value" : 4473, + "extensions" : [ "SPV_KHR_untyped_pointers" ], + "version" : "None" + }, + { + "enumerant" : "RayTraversalPrimitiveCullingKHR", + "value" : 4478, + "capabilities" : [ "RayQueryKHR","RayTracingKHR" ], + "extensions" : [ "SPV_KHR_ray_query","SPV_KHR_ray_tracing" ], + "version" : "None" + }, + { + "enumerant" : "RayTracingKHR", + "value" : 4479, + "capabilities" : [ "Shader" ], + "extensions" : [ "SPV_KHR_ray_tracing" ], + "version" : "None" + }, + { + "enumerant" : "TextureSampleWeightedQCOM", + "value" : 4484, + "extensions" : [ "SPV_QCOM_image_processing" ], + "version" : "None" + }, + { + "enumerant" : "TextureBoxFilterQCOM", + "value" : 4485, + "extensions" : [ "SPV_QCOM_image_processing" ], + "version" : "None" + }, + { + "enumerant" : "TextureBlockMatchQCOM", + "value" : 4486, + "extensions" : [ "SPV_QCOM_image_processing" ], + "version" : "None" + }, + { + "enumerant" : "TileShadingQCOM", + "value" : 4495, + "capabilities" : [ "Shader" ], + "extensions" : [ "SPV_QCOM_tile_shading" ], + "version" : "None" + }, + { + "enumerant" : "CooperativeMatrixConversionQCOM", + "value" : 4496, + "capabilities" : [ "CooperativeMatrixKHR" ], + "extensions" : [ "SPV_QCOM_cooperative_matrix_conversion" ], + "version" : "None" + }, + { + "enumerant" : "TextureBlockMatch2QCOM", + "value" : 4498, + "extensions" : [ "SPV_QCOM_image_processing2" ], + "version" : "None" + }, + { + "enumerant" : "Float16ImageAMD", + "value" : 5008, + "capabilities" : [ "Shader" ], + "extensions" : [ "SPV_AMD_gpu_shader_half_float_fetch" ], + "version" : "None" + }, + { + "enumerant" : "ImageGatherBiasLodAMD", + "value" : 5009, + "capabilities" : [ "Shader" ], + "extensions" : [ "SPV_AMD_texture_gather_bias_lod" ], + "version" : "None" + }, + { + "enumerant" : "FragmentMaskAMD", + "value" : 5010, + "capabilities" : [ "Shader" ], + "extensions" : [ "SPV_AMD_shader_fragment_mask" ], + "version" : "None" + }, + { + "enumerant" : "StencilExportEXT", + "value" : 5013, + "capabilities" : [ "Shader" ], + "extensions" : [ "SPV_EXT_shader_stencil_export" ], + "version" : "None" + }, + { + "enumerant" : "ImageReadWriteLodAMD", + "value" : 5015, + "capabilities" : [ "Shader" ], + "extensions" : [ "SPV_AMD_shader_image_load_store_lod" ], + "version" : "None" + }, + { + "enumerant" : "Int64ImageEXT", + "value" : 5016, + "capabilities" : [ "Shader" ], + "extensions" : [ "SPV_EXT_shader_image_int64" ], + "version" : "None" + }, + { + "enumerant" : "ShaderClockKHR", + "value" : 5055, + "extensions" : [ "SPV_KHR_shader_clock" ], + "version" : "None" + }, + { + "enumerant" : "ShaderEnqueueAMDX", + "value" : 5067, + "capabilities" : [ "Shader" ], + "extensions" : [ "SPV_AMDX_shader_enqueue" ], + "provisional" : true, + "version" : "None" + }, + { + "enumerant" : "QuadControlKHR", + "value" : 5087, + "extensions" : [ "SPV_KHR_quad_control" ], + "version" : "None" + }, + { + "enumerant" : "Int4TypeINTEL", + "value" : 5112, + "extensions" : [ "SPV_INTEL_int4" ], + "version" : "None" + }, + { + "enumerant" : "Int4CooperativeMatrixINTEL", + "value" : 5114, + "capabilities" : [ "Int4TypeINTEL", "CooperativeMatrixKHR" ], + "extensions" : [ "SPV_INTEL_int4" ], + "version" : "None" + }, + { + "enumerant" : "BFloat16TypeKHR", + "value" : 5116, + "extensions" : [ "SPV_KHR_bfloat16" ], + "version" : "None" + }, + { + "enumerant" : "BFloat16DotProductKHR", + "value" : 5117, + "capabilities" : [ "BFloat16TypeKHR" ], + "extensions" : [ "SPV_KHR_bfloat16" ], + "version" : "None" + }, + { + "enumerant" : "BFloat16CooperativeMatrixKHR", + "value" : 5118, + "capabilities" : [ "BFloat16TypeKHR", "CooperativeMatrixKHR" ], + "extensions" : [ "SPV_KHR_bfloat16" ], + "version" : "None" + }, + { + "enumerant" : "AbortKHR", + "value" : 5120, + "extensions" : [ "SPV_KHR_abort" ], + "version" : "None" + }, + { + "enumerant" : "DescriptorHeapEXT", + "value": 5128, + "capabilities" : [ "UntypedPointersKHR" ], + "extensions" : [ "SPV_EXT_descriptor_heap" ], + "version" : "None" + }, + { + "enumerant" : "ConstantDataKHR", + "value" : 5146, + "extensions" : [ "SPV_KHR_constant_data" ], + "version" : "None" + }, + { + "enumerant" : "PoisonFreezeKHR", + "value" : 5156, + "extensions" : [ "SPV_KHR_poison_freeze" ], + "provisional" : true, + "version" : "None" + }, + { + "enumerant" : "WeakLinkageAMD", + "value" : 5181, + "capabilities" : [ "Linkage" ], + "extensions" : [ "SPV_AMD_weak_linkage" ], + "version" : "None" + }, + { + "enumerant" : "SampleMaskOverrideCoverageNV", + "value" : 5249, + "capabilities" : [ "SampleRateShading" ], + "extensions" : [ "SPV_NV_sample_mask_override_coverage" ], + "version" : "None" + }, + { + "enumerant" : "GeometryShaderPassthroughNV", + "value" : 5251, + "capabilities" : [ "Geometry" ], + "extensions" : [ "SPV_NV_geometry_shader_passthrough" ], + "version" : "None" + }, + { + "enumerant" : "ShaderViewportIndexLayerEXT", + "aliases" : ["ShaderViewportIndexLayerNV"], + "value" : 5254, + "capabilities" : [ "MultiViewport" ], + "extensions" : [ "SPV_EXT_shader_viewport_index_layer", "SPV_NV_viewport_array2" ], + "version" : "None" + }, + { + "enumerant" : "ShaderViewportMaskNV", + "value" : 5255, + "capabilities" : [ "ShaderViewportIndexLayerEXT" ], + "extensions" : [ "SPV_NV_viewport_array2" ], + "version" : "None" + }, + { + "enumerant" : "ShaderStereoViewNV", + "value" : 5259, + "capabilities" : [ "ShaderViewportMaskNV" ], + "extensions" : [ "SPV_NV_stereo_view_rendering" ], + "version" : "None" + }, + { + "enumerant" : "PerViewAttributesNV", + "value" : 5260, + "capabilities" : [ "MultiView" ], + "extensions" : [ "SPV_NVX_multiview_per_view_attributes" ], + "version" : "None" + }, + { + "enumerant" : "FragmentFullyCoveredEXT", + "value" : 5265, + "capabilities" : [ "Shader" ], + "extensions" : [ "SPV_EXT_fragment_fully_covered" ], + "version" : "None" + }, + { + "enumerant" : "MeshShadingNV", + "value" : 5266, + "capabilities" : [ "Shader" ], + "extensions" : [ "SPV_NV_mesh_shader" ], + "version" : "None" + }, + { + "enumerant" : "ImageFootprintNV", + "value" : 5282, + "extensions" : [ "SPV_NV_shader_image_footprint" ], + "version" : "None" + }, + { + "enumerant" : "MeshShadingEXT", + "value" : 5283, + "capabilities" : [ "Shader" ], + "extensions" : [ "SPV_EXT_mesh_shader" ], + "version" : "None" + }, + { + "enumerant" : "FragmentBarycentricKHR", + "aliases" : ["FragmentBarycentricNV"], + "value" : 5284, + "extensions" : [ "SPV_NV_fragment_shader_barycentric", "SPV_KHR_fragment_shader_barycentric" ], + "version" : "None" + }, + { + "enumerant" : "ComputeDerivativeGroupQuadsKHR", + "aliases" : ["ComputeDerivativeGroupQuadsNV"], + "value" : 5288, + "capabilities" : [ "Shader" ], + "extensions" : [ "SPV_NV_compute_shader_derivatives", "SPV_KHR_compute_shader_derivatives" ], + "version" : "None" + }, + { + "enumerant" : "FragmentDensityEXT", + "aliases" : ["ShadingRateNV"], + "value" : 5291, + "capabilities" : [ "Shader" ], + "extensions" : [ "SPV_EXT_fragment_invocation_density", "SPV_NV_shading_rate" ], + "version" : "None" + }, + { + "enumerant" : "GroupNonUniformPartitionedEXT", + "aliases" : ["GroupNonUniformPartitionedNV"], + "value" : 5297, + "extensions" : [ "SPV_NV_shader_subgroup_partitioned", "SPV_EXT_shader_subgroup_partitioned" ], + "version" : "None" + }, + { + "enumerant" : "ShaderNonUniform", + "aliases" : ["ShaderNonUniformEXT"], + "value" : 5301, + "capabilities" : [ "Shader" ], + "extensions" : [ "SPV_EXT_descriptor_indexing" ], + "version" : "1.5" + }, + { + "enumerant" : "RuntimeDescriptorArray", + "aliases" : ["RuntimeDescriptorArrayEXT"], + "value" : 5302, + "capabilities" : [ "Shader" ], + "extensions" : [ "SPV_EXT_descriptor_indexing" ], + "version" : "1.5" + }, + { + "enumerant" : "InputAttachmentArrayDynamicIndexing", + "aliases" : ["InputAttachmentArrayDynamicIndexingEXT"], + "value" : 5303, + "capabilities" : [ "InputAttachment" ], + "extensions" : [ "SPV_EXT_descriptor_indexing" ], + "version" : "1.5" + }, + { + "enumerant" : "UniformTexelBufferArrayDynamicIndexing", + "aliases" : ["UniformTexelBufferArrayDynamicIndexingEXT"], + "value" : 5304, + "capabilities" : [ "SampledBuffer" ], + "extensions" : [ "SPV_EXT_descriptor_indexing" ], + "version" : "1.5" + }, + { + "enumerant" : "StorageTexelBufferArrayDynamicIndexing", + "aliases" : ["StorageTexelBufferArrayDynamicIndexingEXT"], + "value" : 5305, + "capabilities" : [ "ImageBuffer" ], + "extensions" : [ "SPV_EXT_descriptor_indexing" ], + "version" : "1.5" + }, + { + "enumerant" : "UniformBufferArrayNonUniformIndexing", + "aliases" : ["UniformBufferArrayNonUniformIndexingEXT"], + "value" : 5306, + "capabilities" : [ "ShaderNonUniform" ], + "extensions" : [ "SPV_EXT_descriptor_indexing" ], + "version" : "1.5" + }, + { + "enumerant" : "SampledImageArrayNonUniformIndexing", + "aliases" : ["SampledImageArrayNonUniformIndexingEXT"], + "value" : 5307, + "capabilities" : [ "ShaderNonUniform" ], + "extensions" : [ "SPV_EXT_descriptor_indexing" ], + "version" : "1.5" + }, + { + "enumerant" : "StorageBufferArrayNonUniformIndexing", + "aliases" : ["StorageBufferArrayNonUniformIndexingEXT"], + "value" : 5308, + "capabilities" : [ "ShaderNonUniform" ], + "extensions" : [ "SPV_EXT_descriptor_indexing" ], + "version" : "1.5" + }, + { + "enumerant" : "StorageImageArrayNonUniformIndexing", + "aliases" : ["StorageImageArrayNonUniformIndexingEXT"], + "value" : 5309, + "capabilities" : [ "ShaderNonUniform" ], + "extensions" : [ "SPV_EXT_descriptor_indexing" ], + "version" : "1.5" + }, + { + "enumerant" : "InputAttachmentArrayNonUniformIndexing", + "aliases" : ["InputAttachmentArrayNonUniformIndexingEXT"], + "value" : 5310, + "capabilities" : [ "InputAttachment", "ShaderNonUniform" ], + "extensions" : [ "SPV_EXT_descriptor_indexing" ], + "version" : "1.5" + }, + { + "enumerant" : "UniformTexelBufferArrayNonUniformIndexing", + "aliases" : ["UniformTexelBufferArrayNonUniformIndexingEXT"], + "value" : 5311, + "capabilities" : [ "SampledBuffer", "ShaderNonUniform" ], + "extensions" : [ "SPV_EXT_descriptor_indexing" ], + "version" : "1.5" + }, + { + "enumerant" : "StorageTexelBufferArrayNonUniformIndexing", + "aliases" : ["StorageTexelBufferArrayNonUniformIndexingEXT"], + "value" : 5312, + "capabilities" : [ "ImageBuffer", "ShaderNonUniform" ], + "extensions" : [ "SPV_EXT_descriptor_indexing" ], + "version" : "1.5" + }, + { + "enumerant" : "RayTracingPositionFetchKHR", + "value" : 5336, + "capabilities" : [ "Shader" ], + "extensions" : [ "SPV_KHR_ray_tracing_position_fetch" ], + "version" : "None" + }, + { + "enumerant" : "RayTracingNV", + "value" : 5340, + "capabilities" : [ "Shader" ], + "extensions" : [ "SPV_NV_ray_tracing" ], + "version" : "None" + }, + { + "enumerant" : "RayTracingMotionBlurNV", + "value" : 5341, + "capabilities" : [ "Shader" ], + "extensions" : [ "SPV_NV_ray_tracing_motion_blur" ], + "version" : "None" + }, + { + "enumerant" : "VulkanMemoryModel", + "aliases" : ["VulkanMemoryModelKHR"], + "value" : 5345, + "extensions" : [ "SPV_KHR_vulkan_memory_model" ], + "version" : "1.5" + }, + { + "enumerant" : "VulkanMemoryModelDeviceScope", + "aliases" : ["VulkanMemoryModelDeviceScopeKHR"], + "value" : 5346, + "extensions" : [ "SPV_KHR_vulkan_memory_model" ], + "version" : "1.5" + }, + { + "enumerant" : "PhysicalStorageBufferAddresses", + "aliases" : ["PhysicalStorageBufferAddressesEXT"], + "value" : 5347, + "capabilities" : [ "Shader" ], + "extensions" : [ "SPV_EXT_physical_storage_buffer", "SPV_KHR_physical_storage_buffer" ], + "version" : "1.5" + }, + { + "enumerant" : "ComputeDerivativeGroupLinearKHR", + "aliases" : ["ComputeDerivativeGroupLinearNV"], + "value" : 5350, + "capabilities" : [ "Shader" ], + "extensions" : [ "SPV_NV_compute_shader_derivatives", "SPV_KHR_compute_shader_derivatives" ], + "version" : "None" + }, + { + "enumerant" : "RayTracingProvisionalKHR", + "value" : 5353, + "capabilities" : [ "Shader" ], + "extensions" : [ "SPV_KHR_ray_tracing" ], + "version" : "None" + }, + { + "enumerant" : "CooperativeMatrixNV", + "value" : 5357, + "capabilities" : [ "Shader" ], + "extensions" : [ "SPV_NV_cooperative_matrix" ], + "version" : "None" + }, + { + "enumerant" : "FragmentShaderSampleInterlockEXT", + "value" : 5363, + "capabilities" : [ "Shader" ], + "extensions" : [ "SPV_EXT_fragment_shader_interlock" ], + "version" : "None" + }, + { + "enumerant" : "FragmentShaderShadingRateInterlockEXT", + "value" : 5372, + "capabilities" : [ "Shader" ], + "extensions" : [ "SPV_EXT_fragment_shader_interlock" ], + "version" : "None" + }, + { + "enumerant" : "ShaderSMBuiltinsNV", + "value" : 5373, + "capabilities" : [ "Shader" ], + "extensions" : [ "SPV_NV_shader_sm_builtins" ], + "version" : "None" + }, + { + "enumerant" : "FragmentShaderPixelInterlockEXT", + "value" : 5378, + "capabilities" : [ "Shader" ], + "extensions" : [ "SPV_EXT_fragment_shader_interlock" ], + "version" : "None" + }, + { + "enumerant" : "DemoteToHelperInvocation", + "aliases" : ["DemoteToHelperInvocationEXT"], + "value" : 5379, + "capabilities" : [ "Shader" ], + "extensions" : [ "SPV_EXT_demote_to_helper_invocation" ], + "version" : "1.6" + }, + { + "enumerant" : "DisplacementMicromapNV", + "value" : 5380, + "capabilities" : [ "Shader" ], + "extensions" : [ "SPV_NV_displacement_micromap" ], + "version" : "None" + }, + { + "enumerant" : "RayTracingOpacityMicromapKHR", + "aliases" : ["RayTracingOpacityMicromapEXT"], + "value" : 5381, + "capabilities" : [ "Shader" ], + "extensions" : ["SPV_KHR_opacity_micromap", "SPV_EXT_opacity_micromap"], + "version" : "None" + }, + { + "enumerant" : "ShaderInvocationReorderNV", + "value" : 5383, + "capabilities" : [ "RayTracingKHR" ], + "extensions" : [ "SPV_NV_shader_invocation_reorder" ], + "version" : "None" + }, + { + "enumerant" : "ShaderInvocationReorderEXT", + "value" : 5388, + "capabilities" : [ "RayTracingKHR" ], + "extensions" : [ "SPV_EXT_shader_invocation_reorder" ], + "version" : "None" + }, + { + "enumerant" : "BindlessTextureNV", + "value" : 5390, + "extensions" : [ "SPV_NV_bindless_texture" ], + "version" : "None" + }, + { + "enumerant" : "RayQueryPositionFetchKHR", + "value" : 5391, + "capabilities" : [ "Shader" ], + "extensions" : [ "SPV_KHR_ray_tracing_position_fetch" ], + "version" : "None" + }, + { + "enumerant" : "CooperativeVectorNV", + "value" : 5394, + "extensions" : [ "SPV_NV_cooperative_vector" ], + "version" : "None" + }, + { + "enumerant" : "AtomicFloat16VectorNV", + "value" : 5404, + "extensions" : [ "SPV_NV_shader_atomic_fp16_vector" ], + "version" : "None" + }, + { + "enumerant" : "RayTracingDisplacementMicromapNV", + "value" : 5409, + "capabilities" : [ "RayTracingKHR" ], + "extensions" : [ "SPV_NV_displacement_micromap" ], + "version" : "None" + }, + { + "enumerant" : "RawAccessChainsNV", + "value" : 5414, + "extensions" : [ "SPV_NV_raw_access_chains" ], + "version" : "None" + }, + { + "enumerant" : "RayTracingSpheresGeometryNV", + "value" : 5418, + "extensions" : [ "SPV_NV_linear_swept_spheres" ], + "version" : "None" + }, + { + "enumerant" : "RayTracingLinearSweptSpheresGeometryNV", + "value" : 5419, + "extensions" : [ "SPV_NV_linear_swept_spheres" ], + "version" : "None" + }, + { + "enumerant" : "PushConstantBanksNV", + "value" : 5423, + "capabilities" : [ "Shader" ], + "extensions" : [ "SPV_NV_push_constant_bank" ], + "version" : "None" + }, + { + "enumerant" : "LongVectorEXT", + "value" : 5425, + "extensions" : [ "SPV_EXT_long_vector" ], + "version" : "None" + }, + { + "enumerant" : "Shader64BitIndexingEXT", + "value" : 5426, + "extensions" : [ "SPV_EXT_shader_64bit_indexing" ], + "version" : "None" + }, + { + "enumerant" : "CooperativeMatrixReductionsNV", + "value" : 5430, + "extensions" : [ "SPV_NV_cooperative_matrix2" ], + "version" : "None" + }, + { + "enumerant" : "CooperativeMatrixConversionsNV", + "value" : 5431, + "extensions" : [ "SPV_NV_cooperative_matrix2" ], + "version" : "None" + }, + { + "enumerant" : "CooperativeMatrixPerElementOperationsNV", + "value" : 5432, + "extensions" : [ "SPV_NV_cooperative_matrix2" ], + "version" : "None" + }, + { + "enumerant" : "CooperativeMatrixTensorAddressingNV", + "value" : 5433, + "extensions" : [ "SPV_NV_cooperative_matrix2" ], + "version" : "None" + }, + { + "enumerant" : "CooperativeMatrixBlockLoadsNV", + "value" : 5434, + "extensions" : [ "SPV_NV_cooperative_matrix2" ], + "version" : "None" + }, + { + "enumerant" : "CooperativeVectorTrainingNV", + "value" : 5435, + "extensions" : [ "SPV_NV_cooperative_vector" ], + "version" : "None" + }, + { + "enumerant" : "RayTracingClusterAccelerationStructureNV", + "value" : 5437, + "capabilities" : [ "RayTracingKHR" ], + "extensions" : [ "SPV_NV_cluster_acceleration_structure" ], + "version" : "None" + }, + { + "enumerant" : "TensorAddressingNV", + "value" : 5439, + "extensions" : [ "SPV_NV_tensor_addressing" ], + "version" : "None" + }, + { + "enumerant" : "CooperativeMatrixDecodeVectorNV", + "value" : 5447, + "capabilities" : [ "CooperativeMatrixBlockLoadsNV" ], + "extensions" : [ "SPV_NV_cooperative_matrix_decode_vector" ], + "version" : "None" + }, + { + "enumerant" : "SubgroupShuffleINTEL", + "value" : 5568, + "extensions" : [ "SPV_INTEL_subgroups" ], + "version" : "None" + }, + { + "enumerant" : "SubgroupBufferBlockIOINTEL", + "value" : 5569, + "extensions" : [ "SPV_INTEL_subgroups" ], + "version" : "None" + }, + { + "enumerant" : "SubgroupImageBlockIOINTEL", + "value" : 5570, + "extensions" : [ "SPV_INTEL_subgroups" ], + "version" : "None" + }, + { + "enumerant" : "SubgroupImageMediaBlockIOINTEL", + "value" : 5579, + "extensions" : [ "SPV_INTEL_media_block_io" ], + "version" : "None" + }, + { + "enumerant" : "RoundToInfinityINTEL", + "value" : 5582, + "extensions" : [ "SPV_INTEL_float_controls2" ], + "version" : "None" + }, + { + "enumerant" : "FloatingPointModeINTEL", + "value" : 5583, + "extensions" : [ "SPV_INTEL_float_controls2" ], + "version" : "None" + }, + { + "enumerant" : "IntegerFunctions2INTEL", + "value" : 5584, + "extensions" : [ "SPV_INTEL_shader_integer_functions2" ], + "version" : "None" + }, + { + "enumerant" : "FunctionPointersINTEL", + "value" : 5603, + "extensions" : [ "SPV_INTEL_function_pointers" ], + "version" : "None" + }, + { + "enumerant" : "IndirectReferencesINTEL", + "value" : 5604, + "extensions" : [ "SPV_INTEL_function_pointers" ], + "version" : "None" + }, + { + "enumerant" : "AsmINTEL", + "value" : 5606, + "extensions" : [ "SPV_INTEL_inline_assembly" ], + "version" : "None" + }, + { + "enumerant" : "AtomicFloat32MinMaxEXT", + "value" : 5612, + "extensions" : [ "SPV_EXT_shader_atomic_float_min_max" ], + "version" : "None" + }, + { + "enumerant" : "AtomicFloat64MinMaxEXT", + "value" : 5613, + "extensions" : [ "SPV_EXT_shader_atomic_float_min_max" ], + "version" : "None" + }, + { + "enumerant" : "AtomicFloat16MinMaxEXT", + "value" : 5616, + "extensions" : [ "SPV_EXT_shader_atomic_float_min_max" ], + "version" : "None" + }, + { + "enumerant" : "VectorComputeINTEL", + "value" : 5617, + "capabilities" : [ "VectorAnyINTEL" ], + "extensions" : [ "SPV_INTEL_vector_compute" ], + "version" : "None" + }, + { + "enumerant" : "VectorAnyINTEL", + "value" : 5619, + "extensions" : [ "SPV_INTEL_vector_compute" ], + "version" : "None" + }, + { + "enumerant" : "ExpectAssumeKHR", + "value" : 5629, + "extensions" : [ "SPV_KHR_expect_assume" ], + "version" : "None" + }, + { + "enumerant" : "SubgroupAvcMotionEstimationINTEL", + "value" : 5696, + "extensions" : [ "SPV_INTEL_device_side_avc_motion_estimation" ], + "version" : "None" + }, + { + "enumerant" : "SubgroupAvcMotionEstimationIntraINTEL", + "value" : 5697, + "extensions" : [ "SPV_INTEL_device_side_avc_motion_estimation" ], + "version" : "None" + }, + { + "enumerant" : "SubgroupAvcMotionEstimationChromaINTEL", + "value" : 5698, + "extensions" : [ "SPV_INTEL_device_side_avc_motion_estimation" ], + "version" : "None" + }, + { + "enumerant" : "VariableLengthArrayINTEL", + "value" : 5817, + "extensions" : [ "SPV_INTEL_variable_length_array" ], + "version" : "None" + }, + { + "enumerant" : "FunctionFloatControlINTEL", + "value" : 5821, + "extensions" : [ "SPV_INTEL_float_controls2" ], + "version" : "None" + }, + { + "enumerant" : "FPGAMemoryAttributesALTERA", + "aliases" : [ "FPGAMemoryAttributesINTEL" ], + "value" : 5824, + "extensions" : [ "SPV_ALTERA_fpga_memory_attributes", "SPV_INTEL_fpga_memory_attributes" ], + "version" : "None" + }, + { + "enumerant" : "FPFastMathModeINTEL", + "value" : 5837, + "capabilities" : [ "Kernel" ], + "extensions" : [ "SPV_INTEL_fp_fast_math_mode" ], + "version" : "None" + }, + { + "enumerant" : "ArbitraryPrecisionIntegersALTERA", + "aliases" : [ "ArbitraryPrecisionIntegersINTEL" ], + "value" : 5844, + "extensions" : [ "SPV_ALTERA_arbitrary_precision_integers", "SPV_INTEL_arbitrary_precision_integers" ], + "version" : "None" + }, + { + "enumerant" : "ArbitraryPrecisionFloatingPointALTERA", + "aliases" : [ "ArbitraryPrecisionFloatingPointINTEL" ], + "value" : 5845, + "extensions" : [ "SPV_ALTERA_arbitrary_precision_floating_point", "SPV_INTEL_arbitrary_precision_floating_point" ], + "version" : "None" + }, + { + "enumerant" : "UnstructuredLoopControlsINTEL", + "value" : 5886, + "extensions" : [ "SPV_INTEL_unstructured_loop_controls" ], + "version" : "None" + }, + { + "enumerant" : "FPGALoopControlsALTERA", + "aliases" : [ "FPGALoopControlsINTEL" ], + "value" : 5888, + "extensions" : [ "SPV_ALTERA_fpga_loop_controls", "SPV_INTEL_fpga_loop_controls" ], + "version" : "None" + }, + { + "enumerant" : "KernelAttributesINTEL", + "value" : 5892, + "extensions" : [ "SPV_INTEL_kernel_attributes" ], + "version" : "None" + }, + { + "enumerant" : "FPGAKernelAttributesINTEL", + "value" : 5897, + "extensions" : [ "SPV_INTEL_kernel_attributes" ], + "version" : "None" + }, + { + "enumerant" : "FPGAMemoryAccessesALTERA", + "aliases" : [ "FPGAMemoryAccessesINTEL" ], + "value" : 5898, + "extensions" : [ "SPV_ALTERA_fpga_memory_accesses", "SPV_INTEL_fpga_memory_accesses" ], + "version" : "None" + }, + { + "enumerant" : "FPGAClusterAttributesALTERA", + "aliases" : [ "FPGAClusterAttributesINTEL" ], + "value" : 5904, + "extensions" : [ "SPV_ALTERA_fpga_cluster_attributes", "SPV_INTEL_fpga_cluster_attributes" ], + "version" : "None" + }, + { + "enumerant" : "LoopFuseALTERA", + "aliases" : [ "LoopFuseINTEL" ], + "value" : 5906, + "extensions" : [ "SPV_ALTERA_loop_fuse", "SPV_INTEL_loop_fuse" ], + "version" : "None" + }, + { + "enumerant" : "FPGADSPControlALTERA", + "aliases" : [ "FPGADSPControlINTEL" ], + "value" : 5908, + "extensions" : [ "SPV_ALTERA_fpga_dsp_control", "SPV_INTEL_fpga_dsp_control" ], + "version" : "None" + }, + { + "enumerant" : "MemoryAccessAliasingINTEL", + "value" : 5910, + "extensions" : [ "SPV_INTEL_memory_access_aliasing" ], + "version" : "None" + }, + { + "enumerant" : "FPGAInvocationPipeliningAttributesALTERA", + "aliases" : [ "FPGAInvocationPipeliningAttributesINTEL" ], + "value" : 5916, + "extensions" : [ "SPV_ALTERA_fpga_invocation_pipelining_attributes", "SPV_INTEL_fpga_invocation_pipelining_attributes" ], + "version" : "None" + }, + { + "enumerant" : "FPGABufferLocationALTERA", + "aliases" : [ "FPGABufferLocationINTEL" ], + "value" : 5920, + "extensions" : [ "SPV_ALTERA_fpga_buffer_location", "SPV_INTEL_fpga_buffer_location" ], + "version" : "None" + }, + { + "enumerant" : "ArbitraryPrecisionFixedPointALTERA", + "aliases" : [ "ArbitraryPrecisionFixedPointINTEL" ], + "value" : 5922, + "extensions" : [ "SPV_ALTERA_arbitrary_precision_fixed_point", "SPV_INTEL_arbitrary_precision_fixed_point" ], + "version" : "None" + }, + { + "enumerant" : "USMStorageClassesALTERA", + "aliases" : [ "USMStorageClassesINTEL" ], + "value" : 5935, + "extensions" : [ "SPV_ALTERA_usm_storage_classes", "SPV_INTEL_usm_storage_classes" ], + "version" : "None" + }, + { + "enumerant" : "RuntimeAlignedAttributeALTERA", + "aliases" : [ "RuntimeAlignedAttributeINTEL" ], + "value" : 5939, + "extensions" : [ "SPV_ALTERA_runtime_aligned", "SPV_INTEL_runtime_aligned" ], + "version" : "None" + }, + { + "enumerant" : "IOPipesALTERA", + "aliases" : [ "IOPipesINTEL" ], + "value" : 5943, + "extensions" : [ "SPV_ALTERA_io_pipes", "SPV_INTEL_io_pipes" ], + "version" : "None" + }, + { + "enumerant" : "BlockingPipesALTERA", + "aliases" : [ "BlockingPipesINTEL" ], + "value" : 5945, + "extensions" : [ "SPV_ALTERA_blocking_pipes", "SPV_INTEL_blocking_pipes" ], + "version" : "None" + }, + { + "enumerant" : "FPGARegALTERA", + "aliases" : [ "FPGARegINTEL" ], + "value" : 5948, + "extensions" : [ "SPV_ALTERA_fpga_reg", "SPV_INTEL_fpga_reg" ], + "version" : "None" + }, + { + "enumerant" : "DotProductInputAll", + "aliases" : ["DotProductInputAllKHR"], + "value" : 6016, + "extensions" : [ "SPV_KHR_integer_dot_product" ], + "version" : "1.6" + }, + { + "enumerant" : "DotProductInput4x8Bit", + "aliases" : ["DotProductInput4x8BitKHR"], + "value" : 6017, + "capabilities" : [ "Int8" ], + "extensions" : [ "SPV_KHR_integer_dot_product" ], + "version" : "1.6" + }, + { + "enumerant" : "DotProductInput4x8BitPacked", + "aliases" : ["DotProductInput4x8BitPackedKHR"], + "value" : 6018, + "extensions" : [ "SPV_KHR_integer_dot_product" ], + "version" : "1.6" + }, + { + "enumerant" : "DotProduct", + "aliases" : ["DotProductKHR"], + "value" : 6019, + "extensions" : [ "SPV_KHR_integer_dot_product" ], + "version" : "1.6" + }, + { + "enumerant" : "RayCullMaskKHR", + "value" : 6020, + "extensions" : [ "SPV_KHR_ray_cull_mask" ], + "version" : "None" + }, + { + "enumerant" : "CooperativeMatrixKHR", + "value" : 6022, + "extensions" : [ "SPV_KHR_cooperative_matrix" ], + "version" : "None" + }, + { + "enumerant" : "ReplicatedCompositesEXT", + "value" : 6024, + "extensions" : [ "SPV_EXT_replicated_composites" ], + "version" : "None" + }, + { + "enumerant" : "BitInstructions", + "value" : 6025, + "extensions" : [ "SPV_KHR_bit_instructions" ], + "version" : "None" + }, + { + "enumerant" : "GroupNonUniformRotateKHR", + "value" : 6026, + "capabilities" : [ "GroupNonUniform" ], + "extensions" : [ "SPV_KHR_subgroup_rotate" ], + "version" : "None" + }, + { + "enumerant" : "FloatControls2", + "value" : 6029, + "extensions" : [ "SPV_KHR_float_controls2" ], + "version" : "None" + }, + { + "enumerant" : "FMAKHR", + "value" : 6030, + "extensions" : [ "SPV_KHR_fma" ], + "version" : "None" + }, + { + "enumerant" : "RayTracingOpacityMicromapExecutionModeKHR", + "value" : 6032, + "capabilities" : [ "Shader" ], + "extensions" : [ "SPV_KHR_opacity_micromap" ], + "version" : "None" + }, + { + "enumerant" : "AtomicFloat32AddEXT", + "value" : 6033, + "extensions" : [ "SPV_EXT_shader_atomic_float_add" ], + "version" : "None" + }, + { + "enumerant" : "AtomicFloat64AddEXT", + "value" : 6034, + "extensions" : [ "SPV_EXT_shader_atomic_float_add" ], + "version" : "None" + }, + { + "enumerant" : "LongCompositesINTEL", + "value" : 6089, + "extensions" : [ "SPV_INTEL_long_composites" ], + "version" : "None" + }, + { + "enumerant" : "OptNoneEXT", + "aliases" : ["OptNoneINTEL"], + "value" : 6094, + "extensions" : [ "SPV_EXT_optnone", "SPV_INTEL_optnone" ], + "version" : "None" + }, + { + "enumerant" : "AtomicFloat16AddEXT", + "value" : 6095, + "extensions" : [ "SPV_EXT_shader_atomic_float16_add" ], + "version" : "None" + }, + { + "enumerant" : "DebugInfoModuleINTEL", + "value" : 6114, + "extensions" : [ "SPV_INTEL_debug_module" ], + "version" : "None" + }, + { + "enumerant" : "BFloat16ConversionINTEL", + "value" : 6115, + "extensions" : [ "SPV_INTEL_bfloat16_conversion" ], + "version" : "None" + }, + { + "enumerant" : "SplitBarrierEXT", + "aliases" : [ "SplitBarrierINTEL" ], + "value" : 6141, + "extensions" : [ "SPV_EXT_split_barrier", "SPV_INTEL_split_barrier" ], + "version" : "None" + }, + { + "enumerant" : "ArithmeticFenceEXT", + "value" : 6144, + "extensions" : [ "SPV_EXT_arithmetic_fence" ], + "version" : "None" + }, + { + "enumerant" : "FPGAClusterAttributesV2ALTERA", + "aliases" : [ "FPGAClusterAttributesV2INTEL" ], + "value" : 6150, + "capabilities" : [ "FPGAClusterAttributesALTERA" ], + "extensions" : [ "SPV_ALTERA_fpga_cluster_attributes", "SPV_INTEL_fpga_cluster_attributes" ], + "version" : "None" + }, + { + "enumerant" : "FPGAKernelAttributesv2INTEL", + "value" : 6161, + "capabilities" : [ "FPGAKernelAttributesINTEL" ], + "extensions" : [ "SPV_INTEL_kernel_attributes" ], + "version" : "None" + }, + { + "enumerant" : "TaskSequenceALTERA", + "aliases" : [ "TaskSequenceINTEL" ], + "value" : 6162, + "extensions" : [ "SPV_ALTERA_task_sequence", "SPV_INTEL_task_sequence" ], + "version" : "None" + }, + { + "enumerant" : "FPMaxErrorINTEL", + "value" : 6169, + "extensions" : [ "SPV_INTEL_fp_max_error" ], + "version" : "None" + }, + { + "enumerant" : "FPGALatencyControlALTERA", + "aliases" : [ "FPGALatencyControlINTEL" ], + "value" : 6171, + "extensions" : [ "SPV_ALTERA_fpga_latency_control", "SPV_INTEL_fpga_latency_control" ], + "version" : "None" + }, + { + "enumerant" : "FPGAArgumentInterfacesALTERA", + "aliases" : [ "FPGAArgumentInterfacesINTEL" ], + "value" : 6174, + "extensions" : [ "SPV_ALTERA_fpga_argument_interfaces", "SPV_INTEL_fpga_argument_interfaces" ], + "version" : "None" + }, + { + "enumerant" : "GlobalVariableHostAccessINTEL", + "value" : 6187, + "extensions": [ "SPV_INTEL_global_variable_host_access" ], + "version" : "None" + }, + { + "enumerant" : "GlobalVariableFPGADecorationsALTERA", + "aliases" : [ "GlobalVariableFPGADecorationsINTEL" ], + "value" : 6189, + "extensions" : [ "SPV_ALTERA_global_variable_fpga_decorations", "SPV_INTEL_global_variable_fpga_decorations" ], + "version" : "None" + }, + { + "enumerant" : "SubgroupBufferPrefetchINTEL", + "value" : 6220, + "extensions": [ "SPV_INTEL_subgroup_buffer_prefetch" ], + "version" : "None" + }, + { + "enumerant" : "Subgroup2DBlockIOINTEL", + "value" : 6228, + "extensions": [ "SPV_INTEL_2d_block_io" ], + "version" : "None" + }, + { + "enumerant" : "Subgroup2DBlockTransformINTEL", + "value" : 6229, + "capabilities" : [ "Subgroup2DBlockIOINTEL" ], + "extensions": [ "SPV_INTEL_2d_block_io" ], + "version" : "None" + }, + { + "enumerant" : "Subgroup2DBlockTransposeINTEL", + "value" : 6230, + "capabilities" : [ "Subgroup2DBlockIOINTEL" ], + "extensions": [ "SPV_INTEL_2d_block_io" ], + "version" : "None" + }, + { + "enumerant" : "SubgroupMatrixMultiplyAccumulateINTEL", + "value" : 6236, + "extensions": [ "SPV_INTEL_subgroup_matrix_multiply_accumulate" ], + "version" : "None" + }, + { + "enumerant" : "TernaryBitwiseFunctionINTEL", + "value" : 6241, + "extensions" : [ "SPV_INTEL_ternary_bitwise_function"], + "version" : "None" + }, + { + "enumerant" : "UntypedVariableLengthArrayINTEL", + "value" : 6243, + "capabilities" : [ "VariableLengthArrayINTEL", "UntypedPointersKHR" ], + "extensions" : [ "SPV_INTEL_variable_length_array" ], + "version" : "None" + }, + { + "enumerant" : "SpecConditionalINTEL", + "value" : 6245, + "extensions" : [ "SPV_INTEL_function_variants" ], + "provisional" : true, + "version": "None" + }, + { + "enumerant" : "FunctionVariantsINTEL", + "value" : 6246, + "capabilities" : [ "SpecConditionalINTEL" ], + "extensions" : [ "SPV_INTEL_function_variants" ], + "provisional" : true, + "version": "None" + }, + { + "enumerant" : "PredicatedIOINTEL", + "value" : 6257, + "extensions" : [ "SPV_INTEL_predicated_io" ], + "version" : "None" + }, + { + "enumerant" : "RoundedDivideSqrtINTEL", + "value" : 6265, + "extensions" : [ "SPV_INTEL_rounded_divide_sqrt" ], + "version": "None" + }, + { + "enumerant" : "GroupUniformArithmeticKHR", + "value" : 6400, + "extensions" : [ "SPV_KHR_uniform_group_instructions"], + "version" : "None" + }, + { + "enumerant" : "TensorFloat32RoundingINTEL", + "value" : 6425, + "extensions" : [ "SPV_INTEL_tensor_float32_conversion" ], + "version" : "None" + }, + { + "enumerant" : "MaskedGatherScatterINTEL", + "value" : 6427, + "extensions" : [ "SPV_INTEL_masked_gather_scatter"], + "version" : "None" + }, + { + "enumerant" : "CacheControlsINTEL", + "value" : 6441, + "extensions" : [ "SPV_INTEL_cache_controls" ], + "version" : "None" + }, + { + "enumerant" : "RegisterLimitsINTEL", + "value" : 6460, + "extensions" : [ "SPV_INTEL_maximum_registers" ], + "version" : "None" + }, + { + "enumerant" : "BindlessImagesINTEL", + "value" : 6528, + "extensions" : [ "SPV_INTEL_bindless_images" ], + "provisional" : true, + "version" : "None" + }, + { + "enumerant" : "DotProductFloat16AccFloat32VALVE", + "value" : 6912, + "capabilities" : [ "Float16" ], + "extensions" : [ "SPV_VALVE_mixed_float_dot_product" ], + "version" : "None" + }, + { + "enumerant" : "DotProductFloat16AccFloat16VALVE", + "value" : 6913, + "capabilities" : [ "Float16" ], + "extensions" : [ "SPV_VALVE_mixed_float_dot_product" ], + "version" : "None" + }, + { + "enumerant" : "DotProductBFloat16AccVALVE", + "value" : 6914, + "capabilities" : [ "BFloat16TypeKHR" ], + "extensions" : [ "SPV_VALVE_mixed_float_dot_product" ], + "version" : "None" + }, + { + "enumerant" : "DotProductFloat8AccFloat32VALVE", + "value" : 6915, + "capabilities" : [ "Float8EXT" ], + "extensions" : [ "SPV_VALVE_mixed_float_dot_product" ], + "version" : "None" + } + ] + }, + { + "category" : "ValueEnum", + "kind" : "RayQueryIntersection", + "enumerants" : [ + { + "enumerant" : "RayQueryCandidateIntersectionKHR", + "value" : 0, + "capabilities" : [ "RayQueryKHR" ], + "version" : "None" + }, + { + "enumerant" : "RayQueryCommittedIntersectionKHR", + "value" : 1, + "capabilities" : [ "RayQueryKHR" ], + "version" : "None" + } + ] + }, + { + "category" : "ValueEnum", + "kind" : "RayQueryCommittedIntersectionType", + "enumerants" : [ + { + "enumerant" : "RayQueryCommittedIntersectionNoneKHR", + "value" : 0, + "capabilities" : [ "RayQueryKHR" ], + "version" : "None" + }, + { + "enumerant" : "RayQueryCommittedIntersectionTriangleKHR", + "value" : 1, + "capabilities" : [ "RayQueryKHR" ], + "version" : "None" + }, + { + "enumerant" : "RayQueryCommittedIntersectionGeneratedKHR", + "value" : 2, + "capabilities" : [ "RayQueryKHR" ], + "version" : "None" + } + ] + }, + { + "category" : "ValueEnum", + "kind" : "RayQueryCandidateIntersectionType", + "enumerants" : [ + { + "enumerant" : "RayQueryCandidateIntersectionTriangleKHR", + "value" : 0, + "capabilities" : [ "RayQueryKHR" ], + "version" : "None" + }, + { + "enumerant" : "RayQueryCandidateIntersectionAABBKHR", + "value" : 1, + "capabilities" : [ "RayQueryKHR" ], + "version" : "None" + } + ] + }, + { + "category" : "ValueEnum", + "kind" : "PackedVectorFormat", + "enumerants" : [ + { + "enumerant" : "PackedVectorFormat4x8Bit", + "aliases" : ["PackedVectorFormat4x8BitKHR"], + "value" : 0, + "extensions" : [ "SPV_KHR_integer_dot_product" ], + "version" : "1.6" + } + ] + }, + { + "category" : "BitEnum", + "kind" : "CooperativeMatrixOperands", + "enumerants" : [ + { + "enumerant" : "NoneKHR", + "value" : "0x0000", + "version" : "None" + }, + { + "enumerant" : "MatrixASignedComponentsKHR", + "value" : "0x0001", + "version" : "None" + }, + { + "enumerant" : "MatrixBSignedComponentsKHR", + "value" : "0x0002", + "version" : "None" + }, + { + "enumerant" : "MatrixCSignedComponentsKHR", + "value" : "0x0004", + "version" : "None" + }, + { + "enumerant" : "MatrixResultSignedComponentsKHR", + "value" : "0x0008", + "version" : "None" + }, + { + "enumerant" : "SaturatingAccumulationKHR", + "value" : "0x0010", + "version" : "None" + } + ] + }, + { + "category" : "ValueEnum", + "kind" : "CooperativeMatrixLayout", + "enumerants" : [ + { + "enumerant" : "RowMajorKHR", + "value" : 0, + "version" : "None" + }, + { + "enumerant" : "ColumnMajorKHR", + "value" : 1, + "version" : "None" + }, + { + "enumerant" : "RowBlockedInterleavedARM", + "value" : 4202, + "capabilities" : [ "CooperativeMatrixLayoutsARM" ], + "version" : "None" + }, + { + "enumerant" : "ColumnBlockedInterleavedARM", + "value" : 4203, + "capabilities" : [ "CooperativeMatrixLayoutsARM" ], + "version" : "None" + } + ] + }, + { + "category" : "ValueEnum", + "kind" : "CooperativeMatrixUse", + "enumerants" : [ + { + "enumerant" : "MatrixAKHR", + "value" : 0, + "version" : "None" + }, + { + "enumerant" : "MatrixBKHR", + "value" : 1, + "version" : "None" + }, + { + "enumerant" : "MatrixAccumulatorKHR", + "value" : 2, + "version" : "None" + } + ] + }, + { + "category" : "BitEnum", + "kind" : "CooperativeMatrixReduce", + "enumerants" : [ + { + "enumerant" : "Row", + "value" : "0x0001", + "version" : "None" + }, + { + "enumerant" : "Column", + "value" : "0x0002", + "version" : "None" + }, + { + "enumerant" : "2x2", + "value" : "0x0004", + "version" : "None" + } + ] + }, + { + "category" : "ValueEnum", + "kind" : "TensorClampMode", + "enumerants" : [ + { + "enumerant" : "Undefined", + "value" : 0, + "version": "None" + }, + { + "enumerant" : "Constant", + "value" : 1, + "version": "None" + }, + { + "enumerant" : "ClampToEdge", + "value" : 2, + "version": "None" + }, + { + "enumerant" : "Repeat", + "value" : 3, + "version": "None" + }, + { + "enumerant" : "RepeatMirrored", + "value" : 4, + "version": "None" + } + ] + }, + { + "category" : "BitEnum", + "kind" : "TensorAddressingOperands", + "enumerants" : [ + { + "enumerant" : "None", + "value" : "0x0000", + "version" : "None" + }, + { + "enumerant" : "TensorView", + "value" : "0x0001", + "parameters" : [ + { "kind" : "IdRef" } + ], + "capabilities" : [ "CooperativeMatrixTensorAddressingNV" ], + "version" : "None" + }, + { + "enumerant" : "DecodeFunc", + "value" : "0x0002", + "parameters" : [ + { "kind" : "IdRef" } + ], + "capabilities" : [ "CooperativeMatrixBlockLoadsNV" ], + "version" : "None" + }, + { + "enumerant" : "DecodeVectorFunc", + "value" : "0x0004", + "parameters" : [ + { "kind" : "IdRef" } + ], + "capabilities" : [ "CooperativeMatrixDecodeVectorNV" ], + "version" : "None" + } + ] + }, + { + "category" : "ValueEnum", + "kind" : "InitializationModeQualifier", + "enumerants" : [ + { + "enumerant" : "InitOnDeviceReprogramALTERA", + "aliases" : [ "InitOnDeviceReprogramINTEL" ], + "value" : 0, + "capabilities" : [ "GlobalVariableFPGADecorationsALTERA" ], + "version" : "None" + }, + { + "enumerant" : "InitOnDeviceResetALTERA", + "aliases" : [ "InitOnDeviceResetINTEL" ], + "value" : 1, + "capabilities" : [ "GlobalVariableFPGADecorationsALTERA" ], + "version" : "None" + } + ] + }, + { + "category" : "ValueEnum", + "kind" : "LoadCacheControl", + "enumerants" : [ + { + "enumerant" : "UncachedINTEL", + "value" : 0, + "capabilities" : [ "CacheControlsINTEL" ], + "version" : "None" + }, + { + "enumerant" : "CachedINTEL", + "value" : 1, + "capabilities" : [ "CacheControlsINTEL" ], + "version" : "None" + }, + { + "enumerant" : "StreamingINTEL", + "value" : 2, + "capabilities" : [ "CacheControlsINTEL" ], + "version" : "None" + }, + { + "enumerant" : "InvalidateAfterReadINTEL", + "value" : 3, + "capabilities" : [ "CacheControlsINTEL" ], + "version" : "None" + }, + { + "enumerant" : "ConstCachedINTEL", + "value" : 4, + "capabilities" : [ "CacheControlsINTEL" ], + "version" : "None" + } + ] + }, + { + "category" : "ValueEnum", + "kind" : "StoreCacheControl", + "enumerants" : [ + { + "enumerant" : "UncachedINTEL", + "value" : 0, + "capabilities" : [ "CacheControlsINTEL" ], + "version" : "None" + }, + { + "enumerant" : "WriteThroughINTEL", + "value" : 1, + "capabilities" : [ "CacheControlsINTEL" ], + "version" : "None" + }, + { + "enumerant" : "WriteBackINTEL", + "value" : 2, + "capabilities" : [ "CacheControlsINTEL" ], + "version" : "None" + }, + { + "enumerant" : "StreamingINTEL", + "value" : 3, + "capabilities" : [ "CacheControlsINTEL" ], + "version" : "None" + } + ] + }, + { + "category" : "ValueEnum", + "kind" : "NamedMaximumNumberOfRegisters", + "enumerants" : [ + { + "enumerant" : "AutoINTEL", + "value" : 0, + "capabilities" : [ "RegisterLimitsINTEL" ], + "version" : "None" + } + ] + }, + { + "category" : "BitEnum", + "kind" : "MatrixMultiplyAccumulateOperands", + "enumerants" : [ + { + "enumerant" : "None", + "value" : "0x0", + "version" : "None" + }, + { + "enumerant" : "MatrixASignedComponentsINTEL", + "value" : "0x1", + "version" : "None" + }, + { + "enumerant" : "MatrixBSignedComponentsINTEL", + "value" : "0x2", + "version" : "None" + }, + { + "enumerant" : "MatrixCBFloat16INTEL", + "value" : "0x4", + "version" : "None" + }, + { + "enumerant" : "MatrixResultBFloat16INTEL", + "value" : "0x8", + "version" : "None" + }, + { + "enumerant" : "MatrixAPackedInt8INTEL", + "value" : "0x10", + "version" : "None" + }, + { + "enumerant" : "MatrixBPackedInt8INTEL", + "value" : "0x20", + "version" : "None" + }, + { + "enumerant" : "MatrixAPackedInt4INTEL", + "value" : "0x40", + "version" : "None" + }, + { + "enumerant" : "MatrixBPackedInt4INTEL", + "value" : "0x80", + "version" : "None" + }, + { + "enumerant" : "MatrixATF32INTEL", + "value" : "0x100", + "version" : "None" + }, + { + "enumerant" : "MatrixBTF32INTEL", + "value" : "0x200", + "version" : "None" + }, + { + "enumerant" : "MatrixAPackedFloat16INTEL", + "value" : "0x400", + "version" : "None" + }, + { + "enumerant" : "MatrixBPackedFloat16INTEL", + "value" : "0x800", + "version" : "None" + }, + { + "enumerant" : "MatrixAPackedBFloat16INTEL", + "value" : "0x1000", + "version" : "None" + }, + { + "enumerant" : "MatrixBPackedBFloat16INTEL", + "value" : "0x2000", + "version" : "None" + } + ] + }, + { + "category" : "ValueEnum", + "kind" : "FPEncoding", + "enumerants" : [ + { + "enumerant" : "BFloat16KHR", + "value" : 0, + "capabilities" : [ "BFloat16TypeKHR" ], + "version" : "None" + }, + { + "enumerant" : "Float8E4M3EXT", + "value" : 4214, + "capabilities" : [ "Float8EXT" ], + "version" : "None" + }, + { + "enumerant" : "Float8E5M2EXT", + "value" : 4215, + "capabilities" : [ "Float8EXT" ], + "version" : "None" + } + ] + }, + { + "category" : "ValueEnum", + "kind" : "CooperativeVectorMatrixLayout", + "enumerants" : [ + { + "enumerant" : "RowMajorNV", + "value" : 0, + "version" : "None" + }, + { + "enumerant" : "ColumnMajorNV", + "value" : 1, + "version" : "None" + }, + { + "enumerant" : "InferencingOptimalNV", + "value" : 2, + "version" : "None" + }, + { + "enumerant" : "TrainingOptimalNV", + "value" : 3, + "version" : "None" + } + ] + }, + { + "category" : "ValueEnum", + "kind" : "ComponentType", + "enumerants" : [ + { + "enumerant" : "Float16NV", + "value" : 0, + "version" : "None" + }, + { + "enumerant" : "Float32NV", + "value" : 1, + "version" : "None" + }, + { + "enumerant" : "Float64NV", + "value" : 2, + "version" : "None" + }, + { + "enumerant" : "SignedInt8NV", + "value" : 3, + "version" : "None" + }, + { + "enumerant" : "SignedInt16NV", + "value" : 4, + "version" : "None" + }, + { + "enumerant" : "SignedInt32NV", + "value" : 5, + "version" : "None" + }, + { + "enumerant" : "SignedInt64NV", + "value" : 6, + "version" : "None" + }, + { + "enumerant" : "UnsignedInt8NV", + "value" : 7, + "version" : "None" + }, + { + "enumerant" : "UnsignedInt16NV", + "value" : 8, + "version" : "None" + }, + { + "enumerant" : "UnsignedInt32NV", + "value" : 9, + "version" : "None" + }, + { + "enumerant" : "UnsignedInt64NV", + "value" : 10, + "version" : "None" + }, + { + "enumerant" : "SignedInt8PackedNV", + "value" : 1000491000, + "version" : "None" + }, + { + "enumerant" : "UnsignedInt8PackedNV", + "value" : 1000491001, + "version" : "None" + }, + { + "enumerant" : "FloatE4M3NV", + "value" : 1000491002, + "version" : "None" + }, + { + "enumerant" : "FloatE5M2NV", + "value" : 1000491003, + "version" : "None" + } + ] + }, + { + "category" : "Id", + "kind" : "IdResultType", + "doc" : "Reference to an representing the result's type of the enclosing instruction" + }, + { + "category" : "Id", + "kind" : "IdResult", + "doc" : "Definition of an representing the result of the enclosing instruction" + }, + { + "category" : "Id", + "kind" : "IdMemorySemantics", + "doc" : "Reference to an representing a 32-bit integer that is a mask from the MemorySemantics operand kind" + }, + { + "category" : "Id", + "kind" : "IdScope", + "doc" : "Reference to an representing a 32-bit integer that is a mask from the Scope operand kind" + }, + { + "category" : "Id", + "kind" : "IdRef", + "doc" : "Reference to an " + }, + { + "category" : "Literal", + "kind" : "LiteralInteger", + "doc" : "An integer consuming one or more words" + }, + { + "category" : "Literal", + "kind" : "LiteralString", + "doc" : "A null-terminated stream of characters consuming an integral number of words" + }, + { + "category" : "Literal", + "kind" : "LiteralFloat", + "doc" : "A float consuming one word" + }, + { + "category" : "Literal", + "kind" : "LiteralContextDependentNumber", + "doc" : "A literal number whose size and format are determined by a previous operand in the enclosing instruction" + }, + { + "category" : "Literal", + "kind" : "LiteralExtInstInteger", + "doc" : "A 32-bit unsigned integer indicating which instruction to use and determining the layout of following operands (for OpExtInst)" + }, + { + "category" : "Literal", + "kind" : "LiteralSpecConstantOpInteger", + "doc" : "An opcode indicating the operation to be performed and determining the layout of following operands (for OpSpecConstantOp)" + }, + { + "category" : "Composite", + "kind" : "PairLiteralIntegerIdRef", + "bases" : [ "LiteralInteger", "IdRef" ] + }, + { + "category" : "Composite", + "kind" : "PairIdRefLiteralInteger", + "bases" : [ "IdRef", "LiteralInteger" ] + }, + { + "category" : "Composite", + "kind" : "PairIdRefIdRef", + "bases" : [ "IdRef", "IdRef" ] + }, + { + "category" : "BitEnum", + "kind" : "TensorOperands", + "enumerants" : [ + { + "enumerant" : "NoneARM", + "value" : "0x0000", + "capabilities" : [ "TensorsARM" ], + "version" : "None" + }, + { + "enumerant" : "NontemporalARM", + "value" : "0x0001", + "capabilities" : [ "TensorsARM" ], + "version" : "None" + }, + { + "enumerant" : "OutOfBoundsValueARM", + "value" : "0x0002", + "capabilities" : [ "TensorsARM" ], + "parameters" : [ + { "kind" : "IdRef" } + ], + "version" : "None" + }, + { + "enumerant" : "MakeElementAvailableARM", + "value" : "0x0004", + "capabilities" : [ "TensorsARM" ], + "parameters" : [ + { "kind" : "IdRef" } + ], + "version" : "None" + }, + { + "enumerant" : "MakeElementVisibleARM", + "value" : "0x0008", + "capabilities" : [ "TensorsARM" ], + "parameters" : [ + { "kind" : "IdRef" } + ], + "version" : "None" + }, + { + "enumerant" : "NonPrivateElementARM", + "value" : "0x0010", + "capabilities" : [ "TensorsARM" ], + "version" : "None" + } + ] + } + ] +}