/*
* * Copyright ( c ) 2014 - 2016 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 .
*/
/*
* * Enumeration tokens for SPIR - V , in various styles :
* * C , C + + , C + + 11 , JSON , Lua , Python
* *
* * - C will have tokens with a " Spv " prefix , e . g . : SpvSourceLanguageGLSL
* * - C + + will have tokens in the " spv " name space , e . g . : spv : : SourceLanguageGLSL
* * - C + + 11 will use enum classes in the spv namespace , e . g . : spv : : SourceLanguage : : GLSL
* * - Lua will use tables , e . g . : spv . SourceLanguage . GLSL
* * - Python will use dictionaries , e . g . : spv [ ' SourceLanguage ' ] [ ' GLSL ' ]
* *
* * 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
typedef unsigned int SpvId;
#define SPV_VERSION 0 x10000
#define SPV_REVISION 4
static const unsigned int SpvMagicNumber = 0 x07230203;
static const unsigned int SpvVersion = 0 x00010000;
static const unsigned int SpvRevision = 4 ;
static const unsigned int SpvOpCodeMask = 0 xffff;
static const unsigned int SpvWordCountShift = 16 ;
typedef enum SpvSourceLanguage_ {
SpvSourceLanguageUnknown = 0 ,
SpvSourceLanguageESSL = 1 ,
SpvSourceLanguageGLSL = 2 ,
SpvSourceLanguageOpenCL_C = 3 ,
SpvSourceLanguageOpenCL_CPP = 4 ,
} 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 ,
SpvMemoryModelOpenCL = 2 ,
} SpvMemoryModel;
typedef enum SpvExecutionMode_ {
SpvExecutionModeInvocations = 0 ,
SpvExecutionModeSpacingEqual = 1 ,
SpvExecutionModeSpacingFractionalEven = 2 ,
SpvExecutionModeSpacingFractionalOdd = 3 ,
SpvExecutionModeVertexOrderCw = 4 ,
SpvExecutionModeVertexOrderCcw = 5 ,
SpvExecutionModePixelCenterInteger = 6 ,
SpvExecutionModeOriginUpperLeft = 7 ,
SpvExecutionModeOriginLowerLeft = 8 ,
SpvExecutionModeEarlyFragmentTests = 9 ,
SpvExecutionModePointMode = 10 ,
SpvExecutionModeXfb = 11 ,
SpvExecutionModeDepthReplacing = 12 ,
SpvExecutionModeDepthGreater = 14 ,
SpvExecutionModeDepthLess = 15 ,
SpvExecutionModeDepthUnchanged = 16 ,
SpvExecutionModeLocalSize = 17 ,
SpvExecutionModeLocalSizeHint = 18 ,
SpvExecutionModeInputPoints = 19 ,
SpvExecutionModeInputLines = 20 ,
SpvExecutionModeInputLinesAdjacency = 21 ,
SpvExecutionModeTriangles = 22 ,
SpvExecutionModeInputTrianglesAdjacency = 23 ,
SpvExecutionModeQuads = 24 ,
SpvExecutionModeIsolines = 25 ,
SpvExecutionModeOutputVertices = 26 ,
SpvExecutionModeOutputPoints = 27 ,
SpvExecutionModeOutputLineStrip = 28 ,
SpvExecutionModeOutputTriangleStrip = 29 ,
SpvExecutionModeVecTypeHint = 30 ,
SpvExecutionModeContractionOff = 31 ,
} SpvExecutionMode;
typedef enum SpvStorageClass_ {
SpvStorageClassUniformConstant = 0 ,
SpvStorageClassInput = 1 ,
SpvStorageClassUniform = 2 ,
SpvStorageClassOutput = 3 ,
SpvStorageClassWorkgroup = 4 ,
SpvStorageClassCrossWorkgroup = 5 ,
SpvStorageClassPrivate = 6 ,
SpvStorageClassFunction = 7 ,
SpvStorageClassGeneric = 8 ,
SpvStorageClassPushConstant = 9 ,
SpvStorageClassAtomicCounter = 10 ,
SpvStorageClassImage = 11 ,
} SpvStorageClass;
typedef enum SpvDim_ {
SpvDim1D = 0 ,
SpvDim2D = 1 ,
SpvDim3D = 2 ,
SpvDimCube = 3 ,
SpvDimRect = 4 ,
SpvDimBuffer = 5 ,
SpvDimSubpassData = 6 ,
} 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 SpvImageFormat_ {
SpvImageFormatUnknown = 0 ,
SpvImageFormatRgba32f = 1 ,
SpvImageFormatRgba16f = 2 ,
SpvImageFormatR32f = 3 ,
SpvImageFormatRgba8 = 4 ,
SpvImageFormatRgba8Snorm = 5 ,
SpvImageFormatRg32f = 6 ,
SpvImageFormatRg16f = 7 ,
SpvImageFormatR11fG11fB10f = 8 ,
SpvImageFormatR16f = 9 ,
SpvImageFormatRgba16 = 10 ,
SpvImageFormatRgb10A2 = 11 ,
SpvImageFormatRg16 = 12 ,
SpvImageFormatRg8 = 13 ,
SpvImageFormatR16 = 14 ,
SpvImageFormatR8 = 15 ,
SpvImageFormatRgba16Snorm = 16 ,
SpvImageFormatRg16Snorm = 17 ,
SpvImageFormatRg8Snorm = 18 ,
SpvImageFormatR16Snorm = 19 ,
SpvImageFormatR8Snorm = 20 ,
SpvImageFormatRgba32i = 21 ,
SpvImageFormatRgba16i = 22 ,
SpvImageFormatRgba8i = 23 ,
SpvImageFormatR32i = 24 ,
SpvImageFormatRg32i = 25 ,
SpvImageFormatRg16i = 26 ,
SpvImageFormatRg8i = 27 ,
SpvImageFormatR16i = 28 ,
SpvImageFormatR8i = 29 ,
SpvImageFormatRgba32ui = 30 ,
SpvImageFormatRgba16ui = 31 ,
SpvImageFormatRgba8ui = 32 ,
SpvImageFormatR32ui = 33 ,
SpvImageFormatRgb10a2ui = 34 ,
SpvImageFormatRg32ui = 35 ,
SpvImageFormatRg16ui = 36 ,
SpvImageFormatRg8ui = 37 ,
SpvImageFormatR16ui = 38 ,
SpvImageFormatR8ui = 39 ,
} SpvImageFormat;
typedef enum SpvImageChannelOrder_ {
SpvImageChannelOrderR = 0 ,
SpvImageChannelOrderA = 1 ,
SpvImageChannelOrderRG = 2 ,
SpvImageChannelOrderRA = 3 ,
SpvImageChannelOrderRGB = 4 ,
SpvImageChannelOrderRGBA = 5 ,
SpvImageChannelOrderBGRA = 6 ,
SpvImageChannelOrderARGB = 7 ,
SpvImageChannelOrderIntensity = 8 ,
SpvImageChannelOrderLuminance = 9 ,
SpvImageChannelOrderRx = 10 ,
SpvImageChannelOrderRGx = 11 ,
SpvImageChannelOrderRGBx = 12 ,
SpvImageChannelOrderDepth = 13 ,
SpvImageChannelOrderDepthStencil = 14 ,
SpvImageChannelOrdersRGB = 15 ,
SpvImageChannelOrdersRGBx = 16 ,
SpvImageChannelOrdersRGBA = 17 ,
SpvImageChannelOrdersBGRA = 18 ,
} SpvImageChannelOrder;
typedef enum SpvImageChannelDataType_ {
SpvImageChannelDataTypeSnormInt8 = 0 ,
SpvImageChannelDataTypeSnormInt16 = 1 ,
SpvImageChannelDataTypeUnormInt8 = 2 ,
SpvImageChannelDataTypeUnormInt16 = 3 ,
SpvImageChannelDataTypeUnormShort565 = 4 ,
SpvImageChannelDataTypeUnormShort555 = 5 ,
SpvImageChannelDataTypeUnormInt101010 = 6 ,
SpvImageChannelDataTypeSignedInt8 = 7 ,
SpvImageChannelDataTypeSignedInt16 = 8 ,
SpvImageChannelDataTypeSignedInt32 = 9 ,
SpvImageChannelDataTypeUnsignedInt8 = 10 ,
SpvImageChannelDataTypeUnsignedInt16 = 11 ,
SpvImageChannelDataTypeUnsignedInt32 = 12 ,
SpvImageChannelDataTypeHalfFloat = 13 ,
SpvImageChannelDataTypeFloat = 14 ,
SpvImageChannelDataTypeUnormInt24 = 15 ,
SpvImageChannelDataTypeUnormInt101010_2 = 16 ,
} SpvImageChannelDataType;
typedef enum SpvImageOperandsShift_ {
SpvImageOperandsBiasShift = 0 ,
SpvImageOperandsLodShift = 1 ,
SpvImageOperandsGradShift = 2 ,
SpvImageOperandsConstOffsetShift = 3 ,
SpvImageOperandsOffsetShift = 4 ,
SpvImageOperandsConstOffsetsShift = 5 ,
SpvImageOperandsSampleShift = 6 ,
SpvImageOperandsMinLodShift = 7 ,
} SpvImageOperandsShift;
typedef enum SpvImageOperandsMask_ {
SpvImageOperandsMaskNone = 0 ,
SpvImageOperandsBiasMask = 0 x00000001,
SpvImageOperandsLodMask = 0 x00000002,
SpvImageOperandsGradMask = 0 x00000004,
SpvImageOperandsConstOffsetMask = 0 x00000008,
SpvImageOperandsOffsetMask = 0 x00000010,
SpvImageOperandsConstOffsetsMask = 0 x00000020,
SpvImageOperandsSampleMask = 0 x00000040,
SpvImageOperandsMinLodMask = 0 x00000080,
} SpvImageOperandsMask;
typedef enum SpvFPFastMathModeShift_ {
SpvFPFastMathModeNotNaNShift = 0 ,
SpvFPFastMathModeNotInfShift = 1 ,
SpvFPFastMathModeNSZShift = 2 ,
SpvFPFastMathModeAllowRecipShift = 3 ,
SpvFPFastMathModeFastShift = 4 ,
} SpvFPFastMathModeShift;
typedef enum SpvFPFastMathModeMask_ {
SpvFPFastMathModeMaskNone = 0 ,
SpvFPFastMathModeNotNaNMask = 0 x00000001,
SpvFPFastMathModeNotInfMask = 0 x00000002,
SpvFPFastMathModeNSZMask = 0 x00000004,
SpvFPFastMathModeAllowRecipMask = 0 x00000008,
SpvFPFastMathModeFastMask = 0 x00000010,
} 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 ,
SpvFunctionParameterAttributeNoWrite = 6 ,
SpvFunctionParameterAttributeNoReadWrite = 7 ,
} SpvFunctionParameterAttribute;
typedef enum SpvDecoration_ {
SpvDecorationRelaxedPrecision = 0 ,
SpvDecorationSpecId = 1 ,
SpvDecorationBlock = 2 ,
SpvDecorationBufferBlock = 3 ,
SpvDecorationRowMajor = 4 ,
SpvDecorationColMajor = 5 ,
SpvDecorationArrayStride = 6 ,
SpvDecorationMatrixStride = 7 ,
SpvDecorationGLSLShared = 8 ,
SpvDecorationGLSLPacked = 9 ,
SpvDecorationCPacked = 10 ,
SpvDecorationBuiltIn = 11 ,
SpvDecorationNoPerspective = 13 ,
SpvDecorationFlat = 14 ,
SpvDecorationPatch = 15 ,
SpvDecorationCentroid = 16 ,
SpvDecorationSample = 17 ,
SpvDecorationInvariant = 18 ,
SpvDecorationRestrict = 19 ,
SpvDecorationAliased = 20 ,
SpvDecorationVolatile = 21 ,
SpvDecorationConstant = 22 ,
SpvDecorationCoherent = 23 ,
SpvDecorationNonWritable = 24 ,
SpvDecorationNonReadable = 25 ,
SpvDecorationUniform = 26 ,
SpvDecorationSaturatedConversion = 28 ,
SpvDecorationStream = 29 ,
SpvDecorationLocation = 30 ,
SpvDecorationComponent = 31 ,
SpvDecorationIndex = 32 ,
SpvDecorationBinding = 33 ,
SpvDecorationDescriptorSet = 34 ,
SpvDecorationOffset = 35 ,
SpvDecorationXfbBuffer = 36 ,
SpvDecorationXfbStride = 37 ,
SpvDecorationFuncParamAttr = 38 ,
SpvDecorationFPRoundingMode = 39 ,
SpvDecorationFPFastMathMode = 40 ,
SpvDecorationLinkageAttributes = 41 ,
SpvDecorationNoContraction = 42 ,
SpvDecorationInputAttachmentIndex = 43 ,
SpvDecorationAlignment = 44 ,
} SpvDecoration;
typedef enum SpvBuiltIn_ {
SpvBuiltInPosition = 0 ,
SpvBuiltInPointSize = 1 ,
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 ,
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 ,
SpvBuiltInSubgroupSize = 36 ,
SpvBuiltInSubgroupMaxSize = 37 ,
SpvBuiltInNumSubgroups = 38 ,
SpvBuiltInNumEnqueuedSubgroups = 39 ,
SpvBuiltInSubgroupId = 40 ,
SpvBuiltInSubgroupLocalInvocationId = 41 ,
SpvBuiltInVertexIndex = 42 ,
SpvBuiltInInstanceIndex = 43 ,
} SpvBuiltIn;
typedef enum SpvSelectionControlShift_ {
SpvSelectionControlFlattenShift = 0 ,
SpvSelectionControlDontFlattenShift = 1 ,
} SpvSelectionControlShift;
typedef enum SpvSelectionControlMask_ {
SpvSelectionControlMaskNone = 0 ,
SpvSelectionControlFlattenMask = 0 x00000001,
SpvSelectionControlDontFlattenMask = 0 x00000002,
} SpvSelectionControlMask;
typedef enum SpvLoopControlShift_ {
SpvLoopControlUnrollShift = 0 ,
SpvLoopControlDontUnrollShift = 1 ,
} SpvLoopControlShift;
typedef enum SpvLoopControlMask_ {
SpvLoopControlMaskNone = 0 ,
SpvLoopControlUnrollMask = 0 x00000001,
SpvLoopControlDontUnrollMask = 0 x00000002,
} SpvLoopControlMask;
typedef enum SpvFunctionControlShift_ {
SpvFunctionControlInlineShift = 0 ,
SpvFunctionControlDontInlineShift = 1 ,
SpvFunctionControlPureShift = 2 ,
SpvFunctionControlConstShift = 3 ,
} SpvFunctionControlShift;
typedef enum SpvFunctionControlMask_ {
SpvFunctionControlMaskNone = 0 ,
SpvFunctionControlInlineMask = 0 x00000001,
SpvFunctionControlDontInlineMask = 0 x00000002,
SpvFunctionControlPureMask = 0 x00000004,
SpvFunctionControlConstMask = 0 x00000008,
} SpvFunctionControlMask;
typedef enum SpvMemorySemanticsShift_ {
SpvMemorySemanticsAcquireShift = 1 ,
SpvMemorySemanticsReleaseShift = 2 ,
SpvMemorySemanticsAcquireReleaseShift = 3 ,
SpvMemorySemanticsSequentiallyConsistentShift = 4 ,
SpvMemorySemanticsUniformMemoryShift = 6 ,
SpvMemorySemanticsSubgroupMemoryShift = 7 ,
SpvMemorySemanticsWorkgroupMemoryShift = 8 ,
SpvMemorySemanticsCrossWorkgroupMemoryShift = 9 ,
SpvMemorySemanticsAtomicCounterMemoryShift = 10 ,
SpvMemorySemanticsImageMemoryShift = 11 ,
} SpvMemorySemanticsShift;
typedef enum SpvMemorySemanticsMask_ {
SpvMemorySemanticsMaskNone = 0 ,
SpvMemorySemanticsAcquireMask = 0 x00000002,
SpvMemorySemanticsReleaseMask = 0 x00000004,
SpvMemorySemanticsAcquireReleaseMask = 0 x00000008,
SpvMemorySemanticsSequentiallyConsistentMask = 0 x00000010,
SpvMemorySemanticsUniformMemoryMask = 0 x00000040,
SpvMemorySemanticsSubgroupMemoryMask = 0 x00000080,
SpvMemorySemanticsWorkgroupMemoryMask = 0 x00000100,
SpvMemorySemanticsCrossWorkgroupMemoryMask = 0 x00000200,
SpvMemorySemanticsAtomicCounterMemoryMask = 0 x00000400,
SpvMemorySemanticsImageMemoryMask = 0 x00000800,
} SpvMemorySemanticsMask;
typedef enum SpvMemoryAccessShift_ {
SpvMemoryAccessVolatileShift = 0 ,
SpvMemoryAccessAlignedShift = 1 ,
SpvMemoryAccessNontemporalShift = 2 ,
} SpvMemoryAccessShift;
typedef enum SpvMemoryAccessMask_ {
SpvMemoryAccessMaskNone = 0 ,
SpvMemoryAccessVolatileMask = 0 x00000001,
SpvMemoryAccessAlignedMask = 0 x00000002,
SpvMemoryAccessNontemporalMask = 0 x00000004,
} SpvMemoryAccessMask;
typedef enum SpvScope_ {
SpvScopeCrossDevice = 0 ,
SpvScopeDevice = 1 ,
SpvScopeWorkgroup = 2 ,
SpvScopeSubgroup = 3 ,
SpvScopeInvocation = 4 ,
} SpvScope;
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 = 0 x00000001,
} SpvKernelProfilingInfoMask;
typedef enum SpvCapability_ {
SpvCapabilityMatrix = 0 ,
SpvCapabilityShader = 1 ,
SpvCapabilityGeometry = 2 ,
SpvCapabilityTessellation = 3 ,
SpvCapabilityAddresses = 4 ,
SpvCapabilityLinkage = 5 ,
SpvCapabilityKernel = 6 ,
SpvCapabilityVector16 = 7 ,
SpvCapabilityFloat16Buffer = 8 ,
SpvCapabilityFloat16 = 9 ,
SpvCapabilityFloat64 = 10 ,
SpvCapabilityInt64 = 11 ,
SpvCapabilityInt64Atomics = 12 ,
SpvCapabilityImageBasic = 13 ,
SpvCapabilityImageReadWrite = 14 ,
SpvCapabilityImageMipmap = 15 ,
SpvCapabilityPipes = 17 ,
SpvCapabilityGroups = 18 ,
SpvCapabilityDeviceEnqueue = 19 ,
SpvCapabilityLiteralSampler = 20 ,
SpvCapabilityAtomicStorage = 21 ,
SpvCapabilityInt16 = 22 ,
SpvCapabilityTessellationPointSize = 23 ,
SpvCapabilityGeometryPointSize = 24 ,
SpvCapabilityImageGatherExtended = 25 ,
SpvCapabilityStorageImageMultisample = 27 ,
SpvCapabilityUniformBufferArrayDynamicIndexing = 28 ,
SpvCapabilitySampledImageArrayDynamicIndexing = 29 ,
SpvCapabilityStorageBufferArrayDynamicIndexing = 30 ,
SpvCapabilityStorageImageArrayDynamicIndexing = 31 ,
SpvCapabilityClipDistance = 32 ,
SpvCapabilityCullDistance = 33 ,
SpvCapabilityImageCubeArray = 34 ,
SpvCapabilitySampleRateShading = 35 ,
SpvCapabilityImageRect = 36 ,
SpvCapabilitySampledRect = 37 ,
SpvCapabilityGenericPointer = 38 ,
SpvCapabilityInt8 = 39 ,
SpvCapabilityInputAttachment = 40 ,
SpvCapabilitySparseResidency = 41 ,
SpvCapabilityMinLod = 42 ,
SpvCapabilitySampled1D = 43 ,
SpvCapabilityImage1D = 44 ,
SpvCapabilitySampledCubeArray = 45 ,
SpvCapabilitySampledBuffer = 46 ,
SpvCapabilityImageBuffer = 47 ,
SpvCapabilityImageMSArray = 48 ,
SpvCapabilityStorageImageExtendedFormats = 49 ,
SpvCapabilityImageQuery = 50 ,
SpvCapabilityDerivativeControl = 51 ,
SpvCapabilityInterpolationFunction = 52 ,
SpvCapabilityTransformFeedback = 53 ,
SpvCapabilityGeometryStreams = 54 ,
SpvCapabilityStorageImageReadWithoutFormat = 55 ,
SpvCapabilityStorageImageWriteWithoutFormat = 56 ,
SpvCapabilityMultiViewport = 57 ,
} SpvCapability;
typedef enum SpvOp_ {
SpvOpNop = 0 ,
SpvOpUndef = 1 ,
SpvOpSourceContinued = 2 ,
SpvOpSource = 3 ,
SpvOpSourceExtension = 4 ,
SpvOpName = 5 ,
SpvOpMemberName = 6 ,
SpvOpString = 7 ,
SpvOpLine = 8 ,
SpvOpExtension = 10 ,
SpvOpExtInstImport = 11 ,
SpvOpExtInst = 12 ,
SpvOpMemoryModel = 14 ,
SpvOpEntryPoint = 15 ,
SpvOpExecutionMode = 16 ,
SpvOpCapability = 17 ,
SpvOpTypeVoid = 19 ,
SpvOpTypeBool = 20 ,
SpvOpTypeInt = 21 ,
SpvOpTypeFloat = 22 ,
SpvOpTypeVector = 23 ,
SpvOpTypeMatrix = 24 ,
SpvOpTypeImage = 25 ,
SpvOpTypeSampler = 26 ,
SpvOpTypeSampledImage = 27 ,
SpvOpTypeArray = 28 ,
SpvOpTypeRuntimeArray = 29 ,
SpvOpTypeStruct = 30 ,
SpvOpTypeOpaque = 31 ,
SpvOpTypePointer = 32 ,
SpvOpTypeFunction = 33 ,
SpvOpTypeEvent = 34 ,
SpvOpTypeDeviceEvent = 35 ,
SpvOpTypeReserveId = 36 ,
SpvOpTypeQueue = 37 ,
SpvOpTypePipe = 38 ,
SpvOpTypeForwardPointer = 39 ,
SpvOpConstantTrue = 41 ,
SpvOpConstantFalse = 42 ,
SpvOpConstant = 43 ,
SpvOpConstantComposite = 44 ,
SpvOpConstantSampler = 45 ,
SpvOpConstantNull = 46 ,
SpvOpSpecConstantTrue = 48 ,
SpvOpSpecConstantFalse = 49 ,
SpvOpSpecConstant = 50 ,
SpvOpSpecConstantComposite = 51 ,
SpvOpSpecConstantOp = 52 ,
SpvOpFunction = 54 ,
SpvOpFunctionParameter = 55 ,
SpvOpFunctionEnd = 56 ,
SpvOpFunctionCall = 57 ,
SpvOpVariable = 59 ,
SpvOpImageTexelPointer = 60 ,
SpvOpLoad = 61 ,
SpvOpStore = 62 ,
SpvOpCopyMemory = 63 ,
SpvOpCopyMemorySized = 64 ,
SpvOpAccessChain = 65 ,
SpvOpInBoundsAccessChain = 66 ,
SpvOpPtrAccessChain = 67 ,
SpvOpArrayLength = 68 ,
SpvOpGenericPtrMemSemantics = 69 ,
SpvOpInBoundsPtrAccessChain = 70 ,
SpvOpDecorate = 71 ,
SpvOpMemberDecorate = 72 ,
SpvOpDecorationGroup = 73 ,
SpvOpGroupDecorate = 74 ,
SpvOpGroupMemberDecorate = 75 ,
SpvOpVectorExtractDynamic = 77 ,
SpvOpVectorInsertDynamic = 78 ,
SpvOpVectorShuffle = 79 ,
SpvOpCompositeConstruct = 80 ,
SpvOpCompositeExtract = 81 ,
SpvOpCompositeInsert = 82 ,
SpvOpCopyObject = 83 ,
SpvOpTranspose = 84 ,
SpvOpSampledImage = 86 ,
SpvOpImageSampleImplicitLod = 87 ,
SpvOpImageSampleExplicitLod = 88 ,
SpvOpImageSampleDrefImplicitLod = 89 ,
SpvOpImageSampleDrefExplicitLod = 90 ,
SpvOpImageSampleProjImplicitLod = 91 ,
SpvOpImageSampleProjExplicitLod = 92 ,
SpvOpImageSampleProjDrefImplicitLod = 93 ,
SpvOpImageSampleProjDrefExplicitLod = 94 ,
SpvOpImageFetch = 95 ,
SpvOpImageGather = 96 ,
SpvOpImageDrefGather = 97 ,
SpvOpImageRead = 98 ,
SpvOpImageWrite = 99 ,
SpvOpImage = 100 ,
SpvOpImageQueryFormat = 101 ,
SpvOpImageQueryOrder = 102 ,
SpvOpImageQuerySizeLod = 103 ,
SpvOpImageQuerySize = 104 ,
SpvOpImageQueryLod = 105 ,
SpvOpImageQueryLevels = 106 ,
SpvOpImageQuerySamples = 107 ,
SpvOpConvertFToU = 109 ,
SpvOpConvertFToS = 110 ,
SpvOpConvertSToF = 111 ,
SpvOpConvertUToF = 112 ,
SpvOpUConvert = 113 ,
SpvOpSConvert = 114 ,
SpvOpFConvert = 115 ,
SpvOpQuantizeToF16 = 116 ,
SpvOpConvertPtrToU = 117 ,
SpvOpSatConvertSToU = 118 ,
SpvOpSatConvertUToS = 119 ,
SpvOpConvertUToPtr = 120 ,
SpvOpPtrCastToGeneric = 121 ,
SpvOpGenericCastToPtr = 122 ,
SpvOpGenericCastToPtrExplicit = 123 ,
SpvOpBitcast = 124 ,
SpvOpSNegate = 126 ,
SpvOpFNegate = 127 ,
SpvOpIAdd = 128 ,
SpvOpFAdd = 129 ,
SpvOpISub = 130 ,
SpvOpFSub = 131 ,
SpvOpIMul = 132 ,
SpvOpFMul = 133 ,
SpvOpUDiv = 134 ,
SpvOpSDiv = 135 ,
SpvOpFDiv = 136 ,
SpvOpUMod = 137 ,
SpvOpSRem = 138 ,
SpvOpSMod = 139 ,
SpvOpFRem = 140 ,
SpvOpFMod = 141 ,
SpvOpVectorTimesScalar = 142 ,
SpvOpMatrixTimesScalar = 143 ,
SpvOpVectorTimesMatrix = 144 ,
SpvOpMatrixTimesVector = 145 ,
SpvOpMatrixTimesMatrix = 146 ,
SpvOpOuterProduct = 147 ,
SpvOpDot = 148 ,
SpvOpIAddCarry = 149 ,
SpvOpISubBorrow = 150 ,
SpvOpUMulExtended = 151 ,
SpvOpSMulExtended = 152 ,
SpvOpAny = 154 ,
SpvOpAll = 155 ,
SpvOpIsNan = 156 ,
SpvOpIsInf = 157 ,
SpvOpIsFinite = 158 ,
SpvOpIsNormal = 159 ,
SpvOpSignBitSet = 160 ,
SpvOpLessOrGreater = 161 ,
SpvOpOrdered = 162 ,
SpvOpUnordered = 163 ,
SpvOpLogicalEqual = 164 ,
SpvOpLogicalNotEqual = 165 ,
SpvOpLogicalOr = 166 ,
SpvOpLogicalAnd = 167 ,
SpvOpLogicalNot = 168 ,
SpvOpSelect = 169 ,
SpvOpIEqual = 170 ,
SpvOpINotEqual = 171 ,
SpvOpUGreaterThan = 172 ,
SpvOpSGreaterThan = 173 ,
SpvOpUGreaterThanEqual = 174 ,
SpvOpSGreaterThanEqual = 175 ,
SpvOpULessThan = 176 ,
SpvOpSLessThan = 177 ,
SpvOpULessThanEqual = 178 ,
SpvOpSLessThanEqual = 179 ,
SpvOpFOrdEqual = 180 ,
SpvOpFUnordEqual = 181 ,
SpvOpFOrdNotEqual = 182 ,
SpvOpFUnordNotEqual = 183 ,
SpvOpFOrdLessThan = 184 ,
SpvOpFUnordLessThan = 185 ,
SpvOpFOrdGreaterThan = 186 ,
SpvOpFUnordGreaterThan = 187 ,
SpvOpFOrdLessThanEqual = 188 ,
SpvOpFUnordLessThanEqual = 189 ,
SpvOpFOrdGreaterThanEqual = 190 ,
SpvOpFUnordGreaterThanEqual = 191 ,
SpvOpShiftRightLogical = 194 ,
SpvOpShiftRightArithmetic = 195 ,
SpvOpShiftLeftLogical = 196 ,
SpvOpBitwiseOr = 197 ,
SpvOpBitwiseXor = 198 ,
SpvOpBitwiseAnd = 199 ,
SpvOpNot = 200 ,
SpvOpBitFieldInsert = 201 ,
SpvOpBitFieldSExtract = 202 ,
SpvOpBitFieldUExtract = 203 ,
SpvOpBitReverse = 204 ,
SpvOpBitCount = 205 ,
SpvOpDPdx = 207 ,
SpvOpDPdy = 208 ,
SpvOpFwidth = 209 ,
SpvOpDPdxFine = 210 ,
SpvOpDPdyFine = 211 ,
SpvOpFwidthFine = 212 ,
SpvOpDPdxCoarse = 213 ,
SpvOpDPdyCoarse = 214 ,
SpvOpFwidthCoarse = 215 ,
SpvOpEmitVertex = 218 ,
SpvOpEndPrimitive = 219 ,
SpvOpEmitStreamVertex = 220 ,
SpvOpEndStreamPrimitive = 221 ,
SpvOpControlBarrier = 224 ,
SpvOpMemoryBarrier = 225 ,
SpvOpAtomicLoad = 227 ,
SpvOpAtomicStore = 228 ,
SpvOpAtomicExchange = 229 ,
SpvOpAtomicCompareExchange = 230 ,
SpvOpAtomicCompareExchangeWeak = 231 ,
SpvOpAtomicIIncrement = 232 ,
SpvOpAtomicIDecrement = 233 ,
SpvOpAtomicIAdd = 234 ,
SpvOpAtomicISub = 235 ,
SpvOpAtomicSMin = 236 ,
SpvOpAtomicUMin = 237 ,
SpvOpAtomicSMax = 238 ,
SpvOpAtomicUMax = 239 ,
SpvOpAtomicAnd = 240 ,
SpvOpAtomicOr = 241 ,
SpvOpAtomicXor = 242 ,
SpvOpPhi = 245 ,
SpvOpLoopMerge = 246 ,
SpvOpSelectionMerge = 247 ,
SpvOpLabel = 248 ,
SpvOpBranch = 249 ,
SpvOpBranchConditional = 250 ,
SpvOpSwitch = 251 ,
SpvOpKill = 252 ,
SpvOpReturn = 253 ,
SpvOpReturnValue = 254 ,
SpvOpUnreachable = 255 ,
SpvOpLifetimeStart = 256 ,
SpvOpLifetimeStop = 257 ,
SpvOpGroupAsyncCopy = 259 ,
SpvOpGroupWaitEvents = 260 ,
SpvOpGroupAll = 261 ,
SpvOpGroupAny = 262 ,
SpvOpGroupBroadcast = 263 ,
SpvOpGroupIAdd = 264 ,
SpvOpGroupFAdd = 265 ,
SpvOpGroupFMin = 266 ,
SpvOpGroupUMin = 267 ,
SpvOpGroupSMin = 268 ,
SpvOpGroupFMax = 269 ,
SpvOpGroupUMax = 270 ,
SpvOpGroupSMax = 271 ,
SpvOpReadPipe = 274 ,
SpvOpWritePipe = 275 ,
SpvOpReservedReadPipe = 276 ,
SpvOpReservedWritePipe = 277 ,
SpvOpReserveReadPipePackets = 278 ,
SpvOpReserveWritePipePackets = 279 ,
SpvOpCommitReadPipe = 280 ,
SpvOpCommitWritePipe = 281 ,
SpvOpIsValidReserveId = 282 ,
SpvOpGetNumPipePackets = 283 ,
SpvOpGetMaxPipePackets = 284 ,
SpvOpGroupReserveReadPipePackets = 285 ,
SpvOpGroupReserveWritePipePackets = 286 ,
SpvOpGroupCommitReadPipe = 287 ,
SpvOpGroupCommitWritePipe = 288 ,
SpvOpEnqueueMarker = 291 ,
SpvOpEnqueueKernel = 292 ,
SpvOpGetKernelNDrangeSubGroupCount = 293 ,
SpvOpGetKernelNDrangeMaxSubGroupSize = 294 ,
SpvOpGetKernelWorkGroupSize = 295 ,
SpvOpGetKernelPreferredWorkGroupSizeMultiple = 296 ,
SpvOpRetainEvent = 297 ,
SpvOpReleaseEvent = 298 ,
SpvOpCreateUserEvent = 299 ,
SpvOpIsValidEvent = 300 ,
SpvOpSetUserEventStatus = 301 ,
SpvOpCaptureEventProfilingInfo = 302 ,
SpvOpGetDefaultQueue = 303 ,
SpvOpBuildNDRange = 304 ,
SpvOpImageSparseSampleImplicitLod = 305 ,
SpvOpImageSparseSampleExplicitLod = 306 ,
SpvOpImageSparseSampleDrefImplicitLod = 307 ,
SpvOpImageSparseSampleDrefExplicitLod = 308 ,
SpvOpImageSparseSampleProjImplicitLod = 309 ,
SpvOpImageSparseSampleProjExplicitLod = 310 ,
SpvOpImageSparseSampleProjDrefImplicitLod = 311 ,
SpvOpImageSparseSampleProjDrefExplicitLod = 312 ,
SpvOpImageSparseFetch = 313 ,
SpvOpImageSparseGather = 314 ,
SpvOpImageSparseDrefGather = 315 ,
SpvOpImageSparseTexelsResident = 316 ,
SpvOpNoLine = 317 ,
SpvOpAtomicFlagTestAndSet = 318 ,
SpvOpAtomicFlagClear = 319 ,
SpvOpImageSparseRead = 320 ,
} SpvOp;
#endif // #ifndef spirv_H
Messung V0.5 in Prozent C=97 H=100 G=98
¤ Dauer der Verarbeitung: 0.13 Sekunden
(vorverarbeitet am 2026-08-26)
¤
*© Formatika GbR, Deutschland