| /* |
| ** Copyright (c) 2015 The Khronos Group Inc. |
| ** |
| ** Permission is hereby granted, free of charge, to any person obtaining a copy |
| ** of this software and/or associated documentation files (the "Materials"), |
| ** to deal in the Materials without restriction, including without limitation |
| ** the rights to use, copy, modify, merge, publish, distribute, sublicense, |
| ** and/or sell copies of the Materials, and to permit persons to whom the |
| ** Materials are furnished to do so, subject to the following conditions: |
| ** |
| ** The above copyright notice and this permission notice shall be included in |
| ** all copies or substantial portions of the Materials. |
| ** |
| ** 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/ |
| ** |
| ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS |
| ** OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
| ** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL |
| ** THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
| ** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
| ** FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS |
| ** IN THE MATERIALS. |
| */ |
| |
| /* |
| ** This header is automatically generated by the same tool that creates |
| ** the Binary Section of the SPIR-V specification. |
| */ |
| |
| /* |
| ** Specification revision 30. |
| ** Enumeration tokens for SPIR-V, in three styles: C, C++, generic. |
| ** - C++ will have the tokens in the "spv" name space, with no prefix. |
| ** - C will have tokens with as "Spv" prefix. |
| ** |
| ** Some tokens act like mask values, which can be OR'd together, |
| ** while others are mutually exclusive. The mask-like ones have |
| ** "Mask" in their name, and a parallel enum that has the shift |
| ** amount (1 << x) for each corresponding enumerant. |
| */ |
| |
| #ifndef spirv_H |
| #define spirv_H |
| |
| #ifdef __cplusplus |
| |
| namespace spv { |
| |
| const int MagicNumber = 0x07230203; |
| const int Version = 99; |
| const int Revision = 30; |
| |
| typedef unsigned int Id; |
| |
| const unsigned int OpCodeMask = 0xFFFF; |
| const unsigned int WordCountShift = 16; |
| |
| enum SourceLanguage { |
| SourceLanguageUnknown = 0, |
| SourceLanguageESSL = 1, |
| SourceLanguageGLSL = 2, |
| SourceLanguageOpenCL = 3, |
| }; |
| |
| enum ExecutionModel { |
| ExecutionModelVertex = 0, |
| ExecutionModelTessellationControl = 1, |
| ExecutionModelTessellationEvaluation = 2, |
| ExecutionModelGeometry = 3, |
| ExecutionModelFragment = 4, |
| ExecutionModelGLCompute = 5, |
| ExecutionModelKernel = 6, |
| }; |
| |
| enum AddressingModel { |
| AddressingModelLogical = 0, |
| AddressingModelPhysical32 = 1, |
| AddressingModelPhysical64 = 2, |
| }; |
| |
| enum MemoryModel { |
| MemoryModelSimple = 0, |
| MemoryModelGLSL450 = 1, |
| MemoryModelOpenCL12 = 2, |
| MemoryModelOpenCL20 = 3, |
| MemoryModelOpenCL21 = 4, |
| }; |
| |
| enum ExecutionMode { |
| ExecutionModeInvocations = 0, |
| ExecutionModeSpacingEqual = 1, |
| ExecutionModeSpacingFractionalEven = 2, |
| ExecutionModeSpacingFractionalOdd = 3, |
| ExecutionModeVertexOrderCw = 4, |
| ExecutionModeVertexOrderCcw = 5, |
| ExecutionModePixelCenterInteger = 6, |
| ExecutionModeOriginUpperLeft = 7, |
| ExecutionModeEarlyFragmentTests = 8, |
| ExecutionModePointMode = 9, |
| ExecutionModeXfb = 10, |
| ExecutionModeDepthReplacing = 11, |
| ExecutionModeDepthAny = 12, |
| ExecutionModeDepthGreater = 13, |
| ExecutionModeDepthLess = 14, |
| ExecutionModeDepthUnchanged = 15, |
| ExecutionModeLocalSize = 16, |
| ExecutionModeLocalSizeHint = 17, |
| ExecutionModeInputPoints = 18, |
| ExecutionModeInputLines = 19, |
| ExecutionModeInputLinesAdjacency = 20, |
| ExecutionModeInputTriangles = 21, |
| ExecutionModeInputTrianglesAdjacency = 22, |
| ExecutionModeInputQuads = 23, |
| ExecutionModeInputIsolines = 24, |
| ExecutionModeOutputVertices = 25, |
| ExecutionModeOutputPoints = 26, |
| ExecutionModeOutputLineStrip = 27, |
| ExecutionModeOutputTriangleStrip = 28, |
| ExecutionModeVecTypeHint = 29, |
| ExecutionModeContractionOff = 30, |
| }; |
| |
| enum StorageClass { |
| StorageClassUniformConstant = 0, |
| StorageClassInput = 1, |
| StorageClassUniform = 2, |
| StorageClassOutput = 3, |
| StorageClassWorkgroupLocal = 4, |
| StorageClassWorkgroupGlobal = 5, |
| StorageClassPrivateGlobal = 6, |
| StorageClassFunction = 7, |
| StorageClassGeneric = 8, |
| StorageClassPrivate = 9, |
| StorageClassAtomicCounter = 10, |
| }; |
| |
| enum Dim { |
| Dim1D = 0, |
| Dim2D = 1, |
| Dim3D = 2, |
| DimCube = 3, |
| DimRect = 4, |
| DimBuffer = 5, |
| }; |
| |
| enum SamplerAddressingMode { |
| SamplerAddressingModeNone = 0, |
| SamplerAddressingModeClampToEdge = 1, |
| SamplerAddressingModeClamp = 2, |
| SamplerAddressingModeRepeat = 3, |
| SamplerAddressingModeRepeatMirrored = 4, |
| }; |
| |
| enum SamplerFilterMode { |
| SamplerFilterModeNearest = 0, |
| SamplerFilterModeLinear = 1, |
| }; |
| |
| enum FPFastMathModeShift { |
| FPFastMathModeNotNaNShift = 0, |
| FPFastMathModeNotInfShift = 1, |
| FPFastMathModeNSZShift = 2, |
| FPFastMathModeAllowRecipShift = 3, |
| FPFastMathModeFastShift = 4, |
| }; |
| |
| enum FPFastMathModeMask { |
| FPFastMathModeMaskNone = 0, |
| FPFastMathModeNotNaNMask = 0x00000001, |
| FPFastMathModeNotInfMask = 0x00000002, |
| FPFastMathModeNSZMask = 0x00000004, |
| FPFastMathModeAllowRecipMask = 0x00000008, |
| FPFastMathModeFastMask = 0x00000010, |
| }; |
| |
| enum FPRoundingMode { |
| FPRoundingModeRTE = 0, |
| FPRoundingModeRTZ = 1, |
| FPRoundingModeRTP = 2, |
| FPRoundingModeRTN = 3, |
| }; |
| |
| enum LinkageType { |
| LinkageTypeExport = 0, |
| LinkageTypeImport = 1, |
| }; |
| |
| enum AccessQualifier { |
| AccessQualifierReadOnly = 0, |
| AccessQualifierWriteOnly = 1, |
| AccessQualifierReadWrite = 2, |
| }; |
| |
| enum FunctionParameterAttribute { |
| FunctionParameterAttributeZext = 0, |
| FunctionParameterAttributeSext = 1, |
| FunctionParameterAttributeByVal = 2, |
| FunctionParameterAttributeSret = 3, |
| FunctionParameterAttributeNoAlias = 4, |
| FunctionParameterAttributeNoCapture = 5, |
| FunctionParameterAttributeSVM = 6, |
| FunctionParameterAttributeNoWrite = 7, |
| FunctionParameterAttributeNoReadWrite = 8, |
| }; |
| |
| enum Decoration { |
| DecorationPrecisionLow = 0, |
| DecorationPrecisionMedium = 1, |
| DecorationPrecisionHigh = 2, |
| DecorationBlock = 3, |
| DecorationBufferBlock = 4, |
| DecorationRowMajor = 5, |
| DecorationColMajor = 6, |
| DecorationGLSLShared = 7, |
| DecorationGLSLStd140 = 8, |
| DecorationGLSLStd430 = 9, |
| DecorationGLSLPacked = 10, |
| DecorationSmooth = 11, |
| DecorationNoperspective = 12, |
| DecorationFlat = 13, |
| DecorationPatch = 14, |
| DecorationCentroid = 15, |
| DecorationSample = 16, |
| DecorationInvariant = 17, |
| DecorationRestrict = 18, |
| DecorationAliased = 19, |
| DecorationVolatile = 20, |
| DecorationConstant = 21, |
| DecorationCoherent = 22, |
| DecorationNonwritable = 23, |
| DecorationNonreadable = 24, |
| DecorationUniform = 25, |
| DecorationNoStaticUse = 26, |
| DecorationCPacked = 27, |
| DecorationSaturatedConversion = 28, |
| DecorationStream = 29, |
| DecorationLocation = 30, |
| DecorationComponent = 31, |
| DecorationIndex = 32, |
| DecorationBinding = 33, |
| DecorationDescriptorSet = 34, |
| DecorationOffset = 35, |
| DecorationAlignment = 36, |
| DecorationXfbBuffer = 37, |
| DecorationStride = 38, |
| DecorationBuiltIn = 39, |
| DecorationFuncParamAttr = 40, |
| DecorationFPRoundingMode = 41, |
| DecorationFPFastMathMode = 42, |
| DecorationLinkageAttributes = 43, |
| DecorationSpecId = 44, |
| }; |
| |
| enum BuiltIn { |
| BuiltInPosition = 0, |
| BuiltInPointSize = 1, |
| BuiltInClipVertex = 2, |
| BuiltInClipDistance = 3, |
| BuiltInCullDistance = 4, |
| BuiltInVertexId = 5, |
| BuiltInInstanceId = 6, |
| BuiltInPrimitiveId = 7, |
| BuiltInInvocationId = 8, |
| BuiltInLayer = 9, |
| BuiltInViewportIndex = 10, |
| BuiltInTessLevelOuter = 11, |
| BuiltInTessLevelInner = 12, |
| BuiltInTessCoord = 13, |
| BuiltInPatchVertices = 14, |
| BuiltInFragCoord = 15, |
| BuiltInPointCoord = 16, |
| BuiltInFrontFacing = 17, |
| BuiltInSampleId = 18, |
| BuiltInSamplePosition = 19, |
| BuiltInSampleMask = 20, |
| BuiltInFragColor = 21, |
| BuiltInFragDepth = 22, |
| BuiltInHelperInvocation = 23, |
| BuiltInNumWorkgroups = 24, |
| BuiltInWorkgroupSize = 25, |
| BuiltInWorkgroupId = 26, |
| BuiltInLocalInvocationId = 27, |
| BuiltInGlobalInvocationId = 28, |
| BuiltInLocalInvocationIndex = 29, |
| BuiltInWorkDim = 30, |
| BuiltInGlobalSize = 31, |
| BuiltInEnqueuedWorkgroupSize = 32, |
| BuiltInGlobalOffset = 33, |
| BuiltInGlobalLinearId = 34, |
| BuiltInWorkgroupLinearId = 35, |
| BuiltInSubgroupSize = 36, |
| BuiltInSubgroupMaxSize = 37, |
| BuiltInNumSubgroups = 38, |
| BuiltInNumEnqueuedSubgroups = 39, |
| BuiltInSubgroupId = 40, |
| BuiltInSubgroupLocalInvocationId = 41, |
| }; |
| |
| enum SelectionControlShift { |
| SelectionControlFlattenShift = 0, |
| SelectionControlDontFlattenShift = 1, |
| }; |
| |
| enum SelectionControlMask { |
| SelectionControlMaskNone = 0, |
| SelectionControlFlattenMask = 0x00000001, |
| SelectionControlDontFlattenMask = 0x00000002, |
| }; |
| |
| enum LoopControlShift { |
| LoopControlUnrollShift = 0, |
| LoopControlDontUnrollShift = 1, |
| }; |
| |
| enum LoopControlMask { |
| LoopControlMaskNone = 0, |
| LoopControlUnrollMask = 0x00000001, |
| LoopControlDontUnrollMask = 0x00000002, |
| }; |
| |
| enum FunctionControlShift { |
| FunctionControlInlineShift = 0, |
| FunctionControlDontInlineShift = 1, |
| FunctionControlPureShift = 2, |
| FunctionControlConstShift = 3, |
| }; |
| |
| enum FunctionControlMask { |
| FunctionControlMaskNone = 0, |
| FunctionControlInlineMask = 0x00000001, |
| FunctionControlDontInlineMask = 0x00000002, |
| FunctionControlPureMask = 0x00000004, |
| FunctionControlConstMask = 0x00000008, |
| }; |
| |
| enum MemorySemanticsShift { |
| MemorySemanticsRelaxedShift = 0, |
| MemorySemanticsSequentiallyConsistentShift = 1, |
| MemorySemanticsAcquireShift = 2, |
| MemorySemanticsReleaseShift = 3, |
| MemorySemanticsUniformMemoryShift = 4, |
| MemorySemanticsSubgroupMemoryShift = 5, |
| MemorySemanticsWorkgroupLocalMemoryShift = 6, |
| MemorySemanticsWorkgroupGlobalMemoryShift = 7, |
| MemorySemanticsAtomicCounterMemoryShift = 8, |
| MemorySemanticsImageMemoryShift = 9, |
| }; |
| |
| enum MemorySemanticsMask { |
| MemorySemanticsMaskNone = 0, |
| MemorySemanticsRelaxedMask = 0x00000001, |
| MemorySemanticsSequentiallyConsistentMask = 0x00000002, |
| MemorySemanticsAcquireMask = 0x00000004, |
| MemorySemanticsReleaseMask = 0x00000008, |
| MemorySemanticsUniformMemoryMask = 0x00000010, |
| MemorySemanticsSubgroupMemoryMask = 0x00000020, |
| MemorySemanticsWorkgroupLocalMemoryMask = 0x00000040, |
| MemorySemanticsWorkgroupGlobalMemoryMask = 0x00000080, |
| MemorySemanticsAtomicCounterMemoryMask = 0x00000100, |
| MemorySemanticsImageMemoryMask = 0x00000200, |
| }; |
| |
| enum MemoryAccessShift { |
| MemoryAccessVolatileShift = 0, |
| MemoryAccessAlignedShift = 1, |
| }; |
| |
| enum MemoryAccessMask { |
| MemoryAccessMaskNone = 0, |
| MemoryAccessVolatileMask = 0x00000001, |
| MemoryAccessAlignedMask = 0x00000002, |
| }; |
| |
| enum ExecutionScope { |
| ExecutionScopeCrossDevice = 0, |
| ExecutionScopeDevice = 1, |
| ExecutionScopeWorkgroup = 2, |
| ExecutionScopeSubgroup = 3, |
| }; |
| |
| enum GroupOperation { |
| GroupOperationReduce = 0, |
| GroupOperationInclusiveScan = 1, |
| GroupOperationExclusiveScan = 2, |
| }; |
| |
| enum KernelEnqueueFlags { |
| KernelEnqueueFlagsNoWait = 0, |
| KernelEnqueueFlagsWaitKernel = 1, |
| KernelEnqueueFlagsWaitWorkGroup = 2, |
| }; |
| |
| enum KernelProfilingInfoShift { |
| KernelProfilingInfoCmdExecTimeShift = 0, |
| }; |
| |
| enum KernelProfilingInfoMask { |
| KernelProfilingInfoMaskNone = 0, |
| KernelProfilingInfoCmdExecTimeMask = 0x00000001, |
| }; |
| |
| enum Op { |
| OpNop = 0, |
| OpSource = 1, |
| OpSourceExtension = 2, |
| OpExtension = 3, |
| OpExtInstImport = 4, |
| OpMemoryModel = 5, |
| OpEntryPoint = 6, |
| OpExecutionMode = 7, |
| OpTypeVoid = 8, |
| OpTypeBool = 9, |
| OpTypeInt = 10, |
| OpTypeFloat = 11, |
| OpTypeVector = 12, |
| OpTypeMatrix = 13, |
| OpTypeSampler = 14, |
| OpTypeFilter = 15, |
| OpTypeArray = 16, |
| OpTypeRuntimeArray = 17, |
| OpTypeStruct = 18, |
| OpTypeOpaque = 19, |
| OpTypePointer = 20, |
| OpTypeFunction = 21, |
| OpTypeEvent = 22, |
| OpTypeDeviceEvent = 23, |
| OpTypeReserveId = 24, |
| OpTypeQueue = 25, |
| OpTypePipe = 26, |
| OpConstantTrue = 27, |
| OpConstantFalse = 28, |
| OpConstant = 29, |
| OpConstantComposite = 30, |
| OpConstantSampler = 31, |
| OpConstantNullPointer = 32, |
| OpConstantNullObject = 33, |
| OpSpecConstantTrue = 34, |
| OpSpecConstantFalse = 35, |
| OpSpecConstant = 36, |
| OpSpecConstantComposite = 37, |
| OpVariable = 38, |
| OpVariableArray = 39, |
| OpFunction = 40, |
| OpFunctionParameter = 41, |
| OpFunctionEnd = 42, |
| OpFunctionCall = 43, |
| OpExtInst = 44, |
| OpUndef = 45, |
| OpLoad = 46, |
| OpStore = 47, |
| OpPhi = 48, |
| OpDecorationGroup = 49, |
| OpDecorate = 50, |
| OpMemberDecorate = 51, |
| OpGroupDecorate = 52, |
| OpGroupMemberDecorate = 53, |
| OpName = 54, |
| OpMemberName = 55, |
| OpString = 56, |
| OpLine = 57, |
| OpVectorExtractDynamic = 58, |
| OpVectorInsertDynamic = 59, |
| OpVectorShuffle = 60, |
| OpCompositeConstruct = 61, |
| OpCompositeExtract = 62, |
| OpCompositeInsert = 63, |
| OpCopyObject = 64, |
| OpCopyMemory = 65, |
| OpCopyMemorySized = 66, |
| OpSampler = 67, |
| OpTextureSample = 68, |
| OpTextureSampleDref = 69, |
| OpTextureSampleLod = 70, |
| OpTextureSampleProj = 71, |
| OpTextureSampleGrad = 72, |
| OpTextureSampleOffset = 73, |
| OpTextureSampleProjLod = 74, |
| OpTextureSampleProjGrad = 75, |
| OpTextureSampleLodOffset = 76, |
| OpTextureSampleProjOffset = 77, |
| OpTextureSampleGradOffset = 78, |
| OpTextureSampleProjLodOffset = 79, |
| OpTextureSampleProjGradOffset = 80, |
| OpTextureFetchTexelLod = 81, |
| OpTextureFetchTexelOffset = 82, |
| OpTextureFetchSample = 83, |
| OpTextureFetchTexel = 84, |
| OpTextureGather = 85, |
| OpTextureGatherOffset = 86, |
| OpTextureGatherOffsets = 87, |
| OpTextureQuerySizeLod = 88, |
| OpTextureQuerySize = 89, |
| OpTextureQueryLod = 90, |
| OpTextureQueryLevels = 91, |
| OpTextureQuerySamples = 92, |
| OpAccessChain = 93, |
| OpInBoundsAccessChain = 94, |
| OpSNegate = 95, |
| OpFNegate = 96, |
| OpNot = 97, |
| OpAny = 98, |
| OpAll = 99, |
| OpConvertFToU = 100, |
| OpConvertFToS = 101, |
| OpConvertSToF = 102, |
| OpConvertUToF = 103, |
| OpUConvert = 104, |
| OpSConvert = 105, |
| OpFConvert = 106, |
| OpConvertPtrToU = 107, |
| OpConvertUToPtr = 108, |
| OpPtrCastToGeneric = 109, |
| OpGenericCastToPtr = 110, |
| OpBitcast = 111, |
| OpTranspose = 112, |
| OpIsNan = 113, |
| OpIsInf = 114, |
| OpIsFinite = 115, |
| OpIsNormal = 116, |
| OpSignBitSet = 117, |
| OpLessOrGreater = 118, |
| OpOrdered = 119, |
| OpUnordered = 120, |
| OpArrayLength = 121, |
| OpIAdd = 122, |
| OpFAdd = 123, |
| OpISub = 124, |
| OpFSub = 125, |
| OpIMul = 126, |
| OpFMul = 127, |
| OpUDiv = 128, |
| OpSDiv = 129, |
| OpFDiv = 130, |
| OpUMod = 131, |
| OpSRem = 132, |
| OpSMod = 133, |
| OpFRem = 134, |
| OpFMod = 135, |
| OpVectorTimesScalar = 136, |
| OpMatrixTimesScalar = 137, |
| OpVectorTimesMatrix = 138, |
| OpMatrixTimesVector = 139, |
| OpMatrixTimesMatrix = 140, |
| OpOuterProduct = 141, |
| OpDot = 142, |
| OpShiftRightLogical = 143, |
| OpShiftRightArithmetic = 144, |
| OpShiftLeftLogical = 145, |
| OpLogicalOr = 146, |
| OpLogicalXor = 147, |
| OpLogicalAnd = 148, |
| OpBitwiseOr = 149, |
| OpBitwiseXor = 150, |
| OpBitwiseAnd = 151, |
| OpSelect = 152, |
| OpIEqual = 153, |
| OpFOrdEqual = 154, |
| OpFUnordEqual = 155, |
| OpINotEqual = 156, |
| OpFOrdNotEqual = 157, |
| OpFUnordNotEqual = 158, |
| OpULessThan = 159, |
| OpSLessThan = 160, |
| OpFOrdLessThan = 161, |
| OpFUnordLessThan = 162, |
| OpUGreaterThan = 163, |
| OpSGreaterThan = 164, |
| OpFOrdGreaterThan = 165, |
| OpFUnordGreaterThan = 166, |
| OpULessThanEqual = 167, |
| OpSLessThanEqual = 168, |
| OpFOrdLessThanEqual = 169, |
| OpFUnordLessThanEqual = 170, |
| OpUGreaterThanEqual = 171, |
| OpSGreaterThanEqual = 172, |
| OpFOrdGreaterThanEqual = 173, |
| OpFUnordGreaterThanEqual = 174, |
| OpDPdx = 175, |
| OpDPdy = 176, |
| OpFwidth = 177, |
| OpDPdxFine = 178, |
| OpDPdyFine = 179, |
| OpFwidthFine = 180, |
| OpDPdxCoarse = 181, |
| OpDPdyCoarse = 182, |
| OpFwidthCoarse = 183, |
| OpEmitVertex = 184, |
| OpEndPrimitive = 185, |
| OpEmitStreamVertex = 186, |
| OpEndStreamPrimitive = 187, |
| OpControlBarrier = 188, |
| OpMemoryBarrier = 189, |
| OpImagePointer = 190, |
| OpAtomicInit = 191, |
| OpAtomicLoad = 192, |
| OpAtomicStore = 193, |
| OpAtomicExchange = 194, |
| OpAtomicCompareExchange = 195, |
| OpAtomicCompareExchangeWeak = 196, |
| OpAtomicIIncrement = 197, |
| OpAtomicIDecrement = 198, |
| OpAtomicIAdd = 199, |
| OpAtomicISub = 200, |
| OpAtomicUMin = 201, |
| OpAtomicUMax = 202, |
| OpAtomicAnd = 203, |
| OpAtomicOr = 204, |
| OpAtomicXor = 205, |
| OpLoopMerge = 206, |
| OpSelectionMerge = 207, |
| OpLabel = 208, |
| OpBranch = 209, |
| OpBranchConditional = 210, |
| OpSwitch = 211, |
| OpKill = 212, |
| OpReturn = 213, |
| OpReturnValue = 214, |
| OpUnreachable = 215, |
| OpLifetimeStart = 216, |
| OpLifetimeStop = 217, |
| OpCompileFlag = 218, |
| OpAsyncGroupCopy = 219, |
| OpWaitGroupEvents = 220, |
| OpGroupAll = 221, |
| OpGroupAny = 222, |
| OpGroupBroadcast = 223, |
| OpGroupIAdd = 224, |
| OpGroupFAdd = 225, |
| OpGroupFMin = 226, |
| OpGroupUMin = 227, |
| OpGroupSMin = 228, |
| OpGroupFMax = 229, |
| OpGroupUMax = 230, |
| OpGroupSMax = 231, |
| OpGenericCastToPtrExplicit = 232, |
| OpGenericPtrMemSemantics = 233, |
| OpReadPipe = 234, |
| OpWritePipe = 235, |
| OpReservedReadPipe = 236, |
| OpReservedWritePipe = 237, |
| OpReserveReadPipePackets = 238, |
| OpReserveWritePipePackets = 239, |
| OpCommitReadPipe = 240, |
| OpCommitWritePipe = 241, |
| OpIsValidReserveId = 242, |
| OpGetNumPipePackets = 243, |
| OpGetMaxPipePackets = 244, |
| OpGroupReserveReadPipePackets = 245, |
| OpGroupReserveWritePipePackets = 246, |
| OpGroupCommitReadPipe = 247, |
| OpGroupCommitWritePipe = 248, |
| OpEnqueueMarker = 249, |
| OpEnqueueKernel = 250, |
| OpGetKernelNDrangeSubGroupCount = 251, |
| OpGetKernelNDrangeMaxSubGroupSize = 252, |
| OpGetKernelWorkGroupSize = 253, |
| OpGetKernelPreferredWorkGroupSizeMultiple = 254, |
| OpRetainEvent = 255, |
| OpReleaseEvent = 256, |
| OpCreateUserEvent = 257, |
| OpIsValidEvent = 258, |
| OpSetUserEventStatus = 259, |
| OpCaptureEventProfilingInfo = 260, |
| OpGetDefaultQueue = 261, |
| OpBuildNDRange = 262, |
| OpSatConvertSToU = 263, |
| OpSatConvertUToS = 264, |
| OpAtomicIMin = 265, |
| OpAtomicIMax = 266, |
| }; |
| |
| }; // end namespace spv |
| |
| #endif // #ifdef __cplusplus |
| |
| |
| #ifndef __cplusplus |
| |
| const int SpvMagicNumber = 0x07230203; |
| const int SpvVersion = 99; |
| const int SpvRevision = 30; |
| |
| typedef unsigned int SpvId; |
| |
| const unsigned int SpvOpCodeMask = 0xFFFF; |
| const unsigned int SpvWordCountShift = 16; |
| |
| typedef enum SpvSourceLanguage_ { |
| SpvSourceLanguageUnknown = 0, |
| SpvSourceLanguageESSL = 1, |
| SpvSourceLanguageGLSL = 2, |
| SpvSourceLanguageOpenCL = 3, |
| } SpvSourceLanguage; |
| |
| typedef enum SpvExecutionModel_ { |
| SpvExecutionModelVertex = 0, |
| SpvExecutionModelTessellationControl = 1, |
| SpvExecutionModelTessellationEvaluation = 2, |
| SpvExecutionModelGeometry = 3, |
| SpvExecutionModelFragment = 4, |
| SpvExecutionModelGLCompute = 5, |
| SpvExecutionModelKernel = 6, |
| } SpvExecutionModel; |
| |
| typedef enum SpvAddressingModel_ { |
| SpvAddressingModelLogical = 0, |
| SpvAddressingModelPhysical32 = 1, |
| SpvAddressingModelPhysical64 = 2, |
| } SpvAddressingModel; |
| |
| typedef enum SpvMemoryModel_ { |
| SpvMemoryModelSimple = 0, |
| SpvMemoryModelGLSL450 = 1, |
| SpvMemoryModelOpenCL12 = 2, |
| SpvMemoryModelOpenCL20 = 3, |
| SpvMemoryModelOpenCL21 = 4, |
| } SpvMemoryModel; |
| |
| typedef enum SpvExecutionMode_ { |
| SpvExecutionModeInvocations = 0, |
| SpvExecutionModeSpacingEqual = 1, |
| SpvExecutionModeSpacingFractionalEven = 2, |
| SpvExecutionModeSpacingFractionalOdd = 3, |
| SpvExecutionModeVertexOrderCw = 4, |
| SpvExecutionModeVertexOrderCcw = 5, |
| SpvExecutionModePixelCenterInteger = 6, |
| SpvExecutionModeOriginUpperLeft = 7, |
| SpvExecutionModeEarlyFragmentTests = 8, |
| SpvExecutionModePointMode = 9, |
| SpvExecutionModeXfb = 10, |
| SpvExecutionModeDepthReplacing = 11, |
| SpvExecutionModeDepthAny = 12, |
| SpvExecutionModeDepthGreater = 13, |
| SpvExecutionModeDepthLess = 14, |
| SpvExecutionModeDepthUnchanged = 15, |
| SpvExecutionModeLocalSize = 16, |
| SpvExecutionModeLocalSizeHint = 17, |
| SpvExecutionModeInputPoints = 18, |
| SpvExecutionModeInputLines = 19, |
| SpvExecutionModeInputLinesAdjacency = 20, |
| SpvExecutionModeInputTriangles = 21, |
| SpvExecutionModeInputTrianglesAdjacency = 22, |
| SpvExecutionModeInputQuads = 23, |
| SpvExecutionModeInputIsolines = 24, |
| SpvExecutionModeOutputVertices = 25, |
| SpvExecutionModeOutputPoints = 26, |
| SpvExecutionModeOutputLineStrip = 27, |
| SpvExecutionModeOutputTriangleStrip = 28, |
| SpvExecutionModeVecTypeHint = 29, |
| SpvExecutionModeContractionOff = 30, |
| } SpvExecutionMode; |
| |
| typedef enum SpvStorageClass_ { |
| SpvStorageClassUniformConstant = 0, |
| SpvStorageClassInput = 1, |
| SpvStorageClassUniform = 2, |
| SpvStorageClassOutput = 3, |
| SpvStorageClassWorkgroupLocal = 4, |
| SpvStorageClassWorkgroupGlobal = 5, |
| SpvStorageClassPrivateGlobal = 6, |
| SpvStorageClassFunction = 7, |
| SpvStorageClassGeneric = 8, |
| SpvStorageClassPrivate = 9, |
| SpvStorageClassAtomicCounter = 10, |
| } SpvStorageClass; |
| |
| typedef enum SpvDim_ { |
| SpvDim1D = 0, |
| SpvDim2D = 1, |
| SpvDim3D = 2, |
| SpvDimCube = 3, |
| SpvDimRect = 4, |
| SpvDimBuffer = 5, |
| } SpvDim; |
| |
| typedef enum SpvSamplerAddressingMode_ { |
| SpvSamplerAddressingModeNone = 0, |
| SpvSamplerAddressingModeClampToEdge = 1, |
| SpvSamplerAddressingModeClamp = 2, |
| SpvSamplerAddressingModeRepeat = 3, |
| SpvSamplerAddressingModeRepeatMirrored = 4, |
| } SpvSamplerAddressingMode; |
| |
| typedef enum SpvSamplerFilterMode_ { |
| SpvSamplerFilterModeNearest = 0, |
| SpvSamplerFilterModeLinear = 1, |
| } SpvSamplerFilterMode; |
| |
| typedef enum SpvFPFastMathModeShift_ { |
| SpvFPFastMathModeNotNaNShift = 0, |
| SpvFPFastMathModeNotInfShift = 1, |
| SpvFPFastMathModeNSZShift = 2, |
| SpvFPFastMathModeAllowRecipShift = 3, |
| SpvFPFastMathModeFastShift = 4, |
| } SpvFPFastMathModeShift; |
| |
| typedef enum SpvFPFastMathModeMask_ { |
| SpvFPFastMathModeMaskNone = 0, |
| SpvFPFastMathModeNotNaNMask = 0x00000001, |
| SpvFPFastMathModeNotInfMask = 0x00000002, |
| SpvFPFastMathModeNSZMask = 0x00000004, |
| SpvFPFastMathModeAllowRecipMask = 0x00000008, |
| SpvFPFastMathModeFastMask = 0x00000010, |
| } SpvFPFastMathModeMask; |
| |
| typedef enum SpvFPRoundingMode_ { |
| SpvFPRoundingModeRTE = 0, |
| SpvFPRoundingModeRTZ = 1, |
| SpvFPRoundingModeRTP = 2, |
| SpvFPRoundingModeRTN = 3, |
| } SpvFPRoundingMode; |
| |
| typedef enum SpvLinkageType_ { |
| SpvLinkageTypeExport = 0, |
| SpvLinkageTypeImport = 1, |
| } SpvLinkageType; |
| |
| typedef enum SpvAccessQualifier_ { |
| SpvAccessQualifierReadOnly = 0, |
| SpvAccessQualifierWriteOnly = 1, |
| SpvAccessQualifierReadWrite = 2, |
| } SpvAccessQualifier; |
| |
| typedef enum SpvFunctionParameterAttribute_ { |
| SpvFunctionParameterAttributeZext = 0, |
| SpvFunctionParameterAttributeSext = 1, |
| SpvFunctionParameterAttributeByVal = 2, |
| SpvFunctionParameterAttributeSret = 3, |
| SpvFunctionParameterAttributeNoAlias = 4, |
| SpvFunctionParameterAttributeNoCapture = 5, |
| SpvFunctionParameterAttributeSVM = 6, |
| SpvFunctionParameterAttributeNoWrite = 7, |
| SpvFunctionParameterAttributeNoReadWrite = 8, |
| } SpvFunctionParameterAttribute; |
| |
| typedef enum SpvDecoration_ { |
| SpvDecorationPrecisionLow = 0, |
| SpvDecorationPrecisionMedium = 1, |
| SpvDecorationPrecisionHigh = 2, |
| SpvDecorationBlock = 3, |
| SpvDecorationBufferBlock = 4, |
| SpvDecorationRowMajor = 5, |
| SpvDecorationColMajor = 6, |
| SpvDecorationGLSLShared = 7, |
| SpvDecorationGLSLStd140 = 8, |
| SpvDecorationGLSLStd430 = 9, |
| SpvDecorationGLSLPacked = 10, |
| SpvDecorationSmooth = 11, |
| SpvDecorationNoperspective = 12, |
| SpvDecorationFlat = 13, |
| SpvDecorationPatch = 14, |
| SpvDecorationCentroid = 15, |
| SpvDecorationSample = 16, |
| SpvDecorationInvariant = 17, |
| SpvDecorationRestrict = 18, |
| SpvDecorationAliased = 19, |
| SpvDecorationVolatile = 20, |
| SpvDecorationConstant = 21, |
| SpvDecorationCoherent = 22, |
| SpvDecorationNonwritable = 23, |
| SpvDecorationNonreadable = 24, |
| SpvDecorationUniform = 25, |
| SpvDecorationNoStaticUse = 26, |
| SpvDecorationCPacked = 27, |
| SpvDecorationSaturatedConversion = 28, |
| SpvDecorationStream = 29, |
| SpvDecorationLocation = 30, |
| SpvDecorationComponent = 31, |
| SpvDecorationIndex = 32, |
| SpvDecorationBinding = 33, |
| SpvDecorationDescriptorSet = 34, |
| SpvDecorationOffset = 35, |
| SpvDecorationAlignment = 36, |
| SpvDecorationXfbBuffer = 37, |
| SpvDecorationStride = 38, |
| SpvDecorationBuiltIn = 39, |
| SpvDecorationFuncParamAttr = 40, |
| SpvDecorationFPRoundingMode = 41, |
| SpvDecorationFPFastMathMode = 42, |
| SpvDecorationLinkageAttributes = 43, |
| SpvDecorationSpecId = 44, |
| } SpvDecoration; |
| |
| typedef enum SpvBuiltIn_ { |
| SpvBuiltInPosition = 0, |
| SpvBuiltInPointSize = 1, |
| SpvBuiltInClipVertex = 2, |
| SpvBuiltInClipDistance = 3, |
| SpvBuiltInCullDistance = 4, |
| SpvBuiltInVertexId = 5, |
| SpvBuiltInInstanceId = 6, |
| SpvBuiltInPrimitiveId = 7, |
| SpvBuiltInInvocationId = 8, |
| SpvBuiltInLayer = 9, |
| SpvBuiltInViewportIndex = 10, |
| SpvBuiltInTessLevelOuter = 11, |
| SpvBuiltInTessLevelInner = 12, |
| SpvBuiltInTessCoord = 13, |
| SpvBuiltInPatchVertices = 14, |
| SpvBuiltInFragCoord = 15, |
| SpvBuiltInPointCoord = 16, |
| SpvBuiltInFrontFacing = 17, |
| SpvBuiltInSampleId = 18, |
| SpvBuiltInSamplePosition = 19, |
| SpvBuiltInSampleMask = 20, |
| SpvBuiltInFragColor = 21, |
| SpvBuiltInFragDepth = 22, |
| SpvBuiltInHelperInvocation = 23, |
| SpvBuiltInNumWorkgroups = 24, |
| SpvBuiltInWorkgroupSize = 25, |
| SpvBuiltInWorkgroupId = 26, |
| SpvBuiltInLocalInvocationId = 27, |
| SpvBuiltInGlobalInvocationId = 28, |
| SpvBuiltInLocalInvocationIndex = 29, |
| SpvBuiltInWorkDim = 30, |
| SpvBuiltInGlobalSize = 31, |
| SpvBuiltInEnqueuedWorkgroupSize = 32, |
| SpvBuiltInGlobalOffset = 33, |
| SpvBuiltInGlobalLinearId = 34, |
| SpvBuiltInWorkgroupLinearId = 35, |
| SpvBuiltInSubgroupSize = 36, |
| SpvBuiltInSubgroupMaxSize = 37, |
| SpvBuiltInNumSubgroups = 38, |
| SpvBuiltInNumEnqueuedSubgroups = 39, |
| SpvBuiltInSubgroupId = 40, |
| SpvBuiltInSubgroupLocalInvocationId = 41, |
| } SpvBuiltIn; |
| |
| typedef enum SpvSelectionControlShift_ { |
| SpvSelectionControlFlattenShift = 0, |
| SpvSelectionControlDontFlattenShift = 1, |
| } SpvSelectionControlShift; |
| |
| typedef enum SpvSelectionControlMask_ { |
| SpvSelectionControlMaskNone = 0, |
| SpvSelectionControlFlattenMask = 0x00000001, |
| SpvSelectionControlDontFlattenMask = 0x00000002, |
| } SpvSelectionControlMask; |
| |
| typedef enum SpvLoopControlShift_ { |
| SpvLoopControlUnrollShift = 0, |
| SpvLoopControlDontUnrollShift = 1, |
| } SpvLoopControlShift; |
| |
| typedef enum SpvLoopControlMask_ { |
| SpvLoopControlMaskNone = 0, |
| SpvLoopControlUnrollMask = 0x00000001, |
| SpvLoopControlDontUnrollMask = 0x00000002, |
| } SpvLoopControlMask; |
| |
| typedef enum SpvFunctionControlShift_ { |
| SpvFunctionControlInlineShift = 0, |
| SpvFunctionControlDontInlineShift = 1, |
| SpvFunctionControlPureShift = 2, |
| SpvFunctionControlConstShift = 3, |
| } SpvFunctionControlShift; |
| |
| typedef enum SpvFunctionControlMask_ { |
| SpvFunctionControlMaskNone = 0, |
| SpvFunctionControlInlineMask = 0x00000001, |
| SpvFunctionControlDontInlineMask = 0x00000002, |
| SpvFunctionControlPureMask = 0x00000004, |
| SpvFunctionControlConstMask = 0x00000008, |
| } SpvFunctionControlMask; |
| |
| typedef enum SpvMemorySemanticsShift_ { |
| SpvMemorySemanticsRelaxedShift = 0, |
| SpvMemorySemanticsSequentiallyConsistentShift = 1, |
| SpvMemorySemanticsAcquireShift = 2, |
| SpvMemorySemanticsReleaseShift = 3, |
| SpvMemorySemanticsUniformMemoryShift = 4, |
| SpvMemorySemanticsSubgroupMemoryShift = 5, |
| SpvMemorySemanticsWorkgroupLocalMemoryShift = 6, |
| SpvMemorySemanticsWorkgroupGlobalMemoryShift = 7, |
| SpvMemorySemanticsAtomicCounterMemoryShift = 8, |
| SpvMemorySemanticsImageMemoryShift = 9, |
| } SpvMemorySemanticsShift; |
| |
| typedef enum SpvMemorySemanticsMask_ { |
| SpvMemorySemanticsMaskNone = 0, |
| SpvMemorySemanticsRelaxedMask = 0x00000001, |
| SpvMemorySemanticsSequentiallyConsistentMask = 0x00000002, |
| SpvMemorySemanticsAcquireMask = 0x00000004, |
| SpvMemorySemanticsReleaseMask = 0x00000008, |
| SpvMemorySemanticsUniformMemoryMask = 0x00000010, |
| SpvMemorySemanticsSubgroupMemoryMask = 0x00000020, |
| SpvMemorySemanticsWorkgroupLocalMemoryMask = 0x00000040, |
| SpvMemorySemanticsWorkgroupGlobalMemoryMask = 0x00000080, |
| SpvMemorySemanticsAtomicCounterMemoryMask = 0x00000100, |
| SpvMemorySemanticsImageMemoryMask = 0x00000200, |
| } SpvMemorySemanticsMask; |
| |
| typedef enum SpvMemoryAccessShift_ { |
| SpvMemoryAccessVolatileShift = 0, |
| SpvMemoryAccessAlignedShift = 1, |
| } SpvMemoryAccessShift; |
| |
| typedef enum SpvMemoryAccessMask_ { |
| SpvMemoryAccessMaskNone = 0, |
| SpvMemoryAccessVolatileMask = 0x00000001, |
| SpvMemoryAccessAlignedMask = 0x00000002, |
| } SpvMemoryAccessMask; |
| |
| typedef enum SpvExecutionScope_ { |
| SpvExecutionScopeCrossDevice = 0, |
| SpvExecutionScopeDevice = 1, |
| SpvExecutionScopeWorkgroup = 2, |
| SpvExecutionScopeSubgroup = 3, |
| } SpvExecutionScope; |
| |
| typedef enum SpvGroupOperation_ { |
| SpvGroupOperationReduce = 0, |
| SpvGroupOperationInclusiveScan = 1, |
| SpvGroupOperationExclusiveScan = 2, |
| } SpvGroupOperation; |
| |
| typedef enum SpvKernelEnqueueFlags_ { |
| SpvKernelEnqueueFlagsNoWait = 0, |
| SpvKernelEnqueueFlagsWaitKernel = 1, |
| SpvKernelEnqueueFlagsWaitWorkGroup = 2, |
| } SpvKernelEnqueueFlags; |
| |
| typedef enum SpvKernelProfilingInfoShift_ { |
| SpvKernelProfilingInfoCmdExecTimeShift = 0, |
| } SpvKernelProfilingInfoShift; |
| |
| typedef enum SpvKernelProfilingInfoMask_ { |
| SpvKernelProfilingInfoMaskNone = 0, |
| SpvKernelProfilingInfoCmdExecTimeMask = 0x00000001, |
| } SpvKernelProfilingInfoMask; |
| |
| typedef enum SpvOp_ { |
| SpvOpNop = 0, |
| SpvOpSource = 1, |
| SpvOpSourceExtension = 2, |
| SpvOpExtension = 3, |
| SpvOpExtInstImport = 4, |
| SpvOpMemoryModel = 5, |
| SpvOpEntryPoint = 6, |
| SpvOpExecutionMode = 7, |
| SpvOpTypeVoid = 8, |
| SpvOpTypeBool = 9, |
| SpvOpTypeInt = 10, |
| SpvOpTypeFloat = 11, |
| SpvOpTypeVector = 12, |
| SpvOpTypeMatrix = 13, |
| SpvOpTypeSampler = 14, |
| SpvOpTypeFilter = 15, |
| SpvOpTypeArray = 16, |
| SpvOpTypeRuntimeArray = 17, |
| SpvOpTypeStruct = 18, |
| SpvOpTypeOpaque = 19, |
| SpvOpTypePointer = 20, |
| SpvOpTypeFunction = 21, |
| SpvOpTypeEvent = 22, |
| SpvOpTypeDeviceEvent = 23, |
| SpvOpTypeReserveId = 24, |
| SpvOpTypeQueue = 25, |
| SpvOpTypePipe = 26, |
| SpvOpConstantTrue = 27, |
| SpvOpConstantFalse = 28, |
| SpvOpConstant = 29, |
| SpvOpConstantComposite = 30, |
| SpvOpConstantSampler = 31, |
| SpvOpConstantNullPointer = 32, |
| SpvOpConstantNullObject = 33, |
| SpvOpSpecConstantTrue = 34, |
| SpvOpSpecConstantFalse = 35, |
| SpvOpSpecConstant = 36, |
| SpvOpSpecConstantComposite = 37, |
| SpvOpVariable = 38, |
| SpvOpVariableArray = 39, |
| SpvOpFunction = 40, |
| SpvOpFunctionParameter = 41, |
| SpvOpFunctionEnd = 42, |
| SpvOpFunctionCall = 43, |
| SpvOpExtInst = 44, |
| SpvOpUndef = 45, |
| SpvOpLoad = 46, |
| SpvOpStore = 47, |
| SpvOpPhi = 48, |
| SpvOpDecorationGroup = 49, |
| SpvOpDecorate = 50, |
| SpvOpMemberDecorate = 51, |
| SpvOpGroupDecorate = 52, |
| SpvOpGroupMemberDecorate = 53, |
| SpvOpName = 54, |
| SpvOpMemberName = 55, |
| SpvOpString = 56, |
| SpvOpLine = 57, |
| SpvOpVectorExtractDynamic = 58, |
| SpvOpVectorInsertDynamic = 59, |
| SpvOpVectorShuffle = 60, |
| SpvOpCompositeConstruct = 61, |
| SpvOpCompositeExtract = 62, |
| SpvOpCompositeInsert = 63, |
| SpvOpCopyObject = 64, |
| SpvOpCopyMemory = 65, |
| SpvOpCopyMemorySized = 66, |
| SpvOpSampler = 67, |
| SpvOpTextureSample = 68, |
| SpvOpTextureSampleDref = 69, |
| SpvOpTextureSampleLod = 70, |
| SpvOpTextureSampleProj = 71, |
| SpvOpTextureSampleGrad = 72, |
| SpvOpTextureSampleOffset = 73, |
| SpvOpTextureSampleProjLod = 74, |
| SpvOpTextureSampleProjGrad = 75, |
| SpvOpTextureSampleLodOffset = 76, |
| SpvOpTextureSampleProjOffset = 77, |
| SpvOpTextureSampleGradOffset = 78, |
| SpvOpTextureSampleProjLodOffset = 79, |
| SpvOpTextureSampleProjGradOffset = 80, |
| SpvOpTextureFetchTexelLod = 81, |
| SpvOpTextureFetchTexelOffset = 82, |
| SpvOpTextureFetchSample = 83, |
| SpvOpTextureFetchTexel = 84, |
| SpvOpTextureGather = 85, |
| SpvOpTextureGatherOffset = 86, |
| SpvOpTextureGatherOffsets = 87, |
| SpvOpTextureQuerySizeLod = 88, |
| SpvOpTextureQuerySize = 89, |
| SpvOpTextureQueryLod = 90, |
| SpvOpTextureQueryLevels = 91, |
| SpvOpTextureQuerySamples = 92, |
| SpvOpAccessChain = 93, |
| SpvOpInBoundsAccessChain = 94, |
| SpvOpSNegate = 95, |
| SpvOpFNegate = 96, |
| SpvOpNot = 97, |
| SpvOpAny = 98, |
| SpvOpAll = 99, |
| SpvOpConvertFToU = 100, |
| SpvOpConvertFToS = 101, |
| SpvOpConvertSToF = 102, |
| SpvOpConvertUToF = 103, |
| SpvOpUConvert = 104, |
| SpvOpSConvert = 105, |
| SpvOpFConvert = 106, |
| SpvOpConvertPtrToU = 107, |
| SpvOpConvertUToPtr = 108, |
| SpvOpPtrCastToGeneric = 109, |
| SpvOpGenericCastToPtr = 110, |
| SpvOpBitcast = 111, |
| SpvOpTranspose = 112, |
| SpvOpIsNan = 113, |
| SpvOpIsInf = 114, |
| SpvOpIsFinite = 115, |
| SpvOpIsNormal = 116, |
| SpvOpSignBitSet = 117, |
| SpvOpLessOrGreater = 118, |
| SpvOpOrdered = 119, |
| SpvOpUnordered = 120, |
| SpvOpArrayLength = 121, |
| SpvOpIAdd = 122, |
| SpvOpFAdd = 123, |
| SpvOpISub = 124, |
| SpvOpFSub = 125, |
| SpvOpIMul = 126, |
| SpvOpFMul = 127, |
| SpvOpUDiv = 128, |
| SpvOpSDiv = 129, |
| SpvOpFDiv = 130, |
| SpvOpUMod = 131, |
| SpvOpSRem = 132, |
| SpvOpSMod = 133, |
| SpvOpFRem = 134, |
| SpvOpFMod = 135, |
| SpvOpVectorTimesScalar = 136, |
| SpvOpMatrixTimesScalar = 137, |
| SpvOpVectorTimesMatrix = 138, |
| SpvOpMatrixTimesVector = 139, |
| SpvOpMatrixTimesMatrix = 140, |
| SpvOpOuterProduct = 141, |
| SpvOpDot = 142, |
| SpvOpShiftRightLogical = 143, |
| SpvOpShiftRightArithmetic = 144, |
| SpvOpShiftLeftLogical = 145, |
| SpvOpLogicalOr = 146, |
| SpvOpLogicalXor = 147, |
| SpvOpLogicalAnd = 148, |
| SpvOpBitwiseOr = 149, |
| SpvOpBitwiseXor = 150, |
| SpvOpBitwiseAnd = 151, |
| SpvOpSelect = 152, |
| SpvOpIEqual = 153, |
| SpvOpFOrdEqual = 154, |
| SpvOpFUnordEqual = 155, |
| SpvOpINotEqual = 156, |
| SpvOpFOrdNotEqual = 157, |
| SpvOpFUnordNotEqual = 158, |
| SpvOpULessThan = 159, |
| SpvOpSLessThan = 160, |
| SpvOpFOrdLessThan = 161, |
| SpvOpFUnordLessThan = 162, |
| SpvOpUGreaterThan = 163, |
| SpvOpSGreaterThan = 164, |
| SpvOpFOrdGreaterThan = 165, |
| SpvOpFUnordGreaterThan = 166, |
| SpvOpULessThanEqual = 167, |
| SpvOpSLessThanEqual = 168, |
| SpvOpFOrdLessThanEqual = 169, |
| SpvOpFUnordLessThanEqual = 170, |
| SpvOpUGreaterThanEqual = 171, |
| SpvOpSGreaterThanEqual = 172, |
| SpvOpFOrdGreaterThanEqual = 173, |
| SpvOpFUnordGreaterThanEqual = 174, |
| SpvOpDPdx = 175, |
| SpvOpDPdy = 176, |
| SpvOpFwidth = 177, |
| SpvOpDPdxFine = 178, |
| SpvOpDPdyFine = 179, |
| SpvOpFwidthFine = 180, |
| SpvOpDPdxCoarse = 181, |
| SpvOpDPdyCoarse = 182, |
| SpvOpFwidthCoarse = 183, |
| SpvOpEmitVertex = 184, |
| SpvOpEndPrimitive = 185, |
| SpvOpEmitStreamVertex = 186, |
| SpvOpEndStreamPrimitive = 187, |
| SpvOpControlBarrier = 188, |
| SpvOpMemoryBarrier = 189, |
| SpvOpImagePointer = 190, |
| SpvOpAtomicInit = 191, |
| SpvOpAtomicLoad = 192, |
| SpvOpAtomicStore = 193, |
| SpvOpAtomicExchange = 194, |
| SpvOpAtomicCompareExchange = 195, |
| SpvOpAtomicCompareExchangeWeak = 196, |
| SpvOpAtomicIIncrement = 197, |
| SpvOpAtomicIDecrement = 198, |
| SpvOpAtomicIAdd = 199, |
| SpvOpAtomicISub = 200, |
| SpvOpAtomicUMin = 201, |
| SpvOpAtomicUMax = 202, |
| SpvOpAtomicAnd = 203, |
| SpvOpAtomicOr = 204, |
| SpvOpAtomicXor = 205, |
| SpvOpLoopMerge = 206, |
| SpvOpSelectionMerge = 207, |
| SpvOpLabel = 208, |
| SpvOpBranch = 209, |
| SpvOpBranchConditional = 210, |
| SpvOpSwitch = 211, |
| SpvOpKill = 212, |
| SpvOpReturn = 213, |
| SpvOpReturnValue = 214, |
| SpvOpUnreachable = 215, |
| SpvOpLifetimeStart = 216, |
| SpvOpLifetimeStop = 217, |
| SpvOpCompileFlag = 218, |
| SpvOpAsyncGroupCopy = 219, |
| SpvOpWaitGroupEvents = 220, |
| SpvOpGroupAll = 221, |
| SpvOpGroupAny = 222, |
| SpvOpGroupBroadcast = 223, |
| SpvOpGroupIAdd = 224, |
| SpvOpGroupFAdd = 225, |
| SpvOpGroupFMin = 226, |
| SpvOpGroupUMin = 227, |
| SpvOpGroupSMin = 228, |
| SpvOpGroupFMax = 229, |
| SpvOpGroupUMax = 230, |
| SpvOpGroupSMax = 231, |
| SpvOpGenericCastToPtrExplicit = 232, |
| SpvOpGenericPtrMemSemantics = 233, |
| SpvOpReadPipe = 234, |
| SpvOpWritePipe = 235, |
| SpvOpReservedReadPipe = 236, |
| SpvOpReservedWritePipe = 237, |
| SpvOpReserveReadPipePackets = 238, |
| SpvOpReserveWritePipePackets = 239, |
| SpvOpCommitReadPipe = 240, |
| SpvOpCommitWritePipe = 241, |
| SpvOpIsValidReserveId = 242, |
| SpvOpGetNumPipePackets = 243, |
| SpvOpGetMaxPipePackets = 244, |
| SpvOpGroupReserveReadPipePackets = 245, |
| SpvOpGroupReserveWritePipePackets = 246, |
| SpvOpGroupCommitReadPipe = 247, |
| SpvOpGroupCommitWritePipe = 248, |
| SpvOpEnqueueMarker = 249, |
| SpvOpEnqueueKernel = 250, |
| SpvOpGetKernelNDrangeSubGroupCount = 251, |
| SpvOpGetKernelNDrangeMaxSubGroupSize = 252, |
| SpvOpGetKernelWorkGroupSize = 253, |
| SpvOpGetKernelPreferredWorkGroupSizeMultiple = 254, |
| SpvOpRetainEvent = 255, |
| SpvOpReleaseEvent = 256, |
| SpvOpCreateUserEvent = 257, |
| SpvOpIsValidEvent = 258, |
| SpvOpSetUserEventStatus = 259, |
| SpvOpCaptureEventProfilingInfo = 260, |
| SpvOpGetDefaultQueue = 261, |
| SpvOpBuildNDRange = 262, |
| SpvOpSatConvertSToU = 263, |
| SpvOpSatConvertUToS = 264, |
| SpvOpAtomicIMin = 265, |
| SpvOpAtomicIMax = 266, |
| } SpvOp; |
| |
| #endif // #ifndef __cplusplus |
| |
| #endif // #ifndef spirv_H |