Show More
Commit Description:
Various UI improvements.
Commit Description:
Various UI improvements.
References:
File last commit:
Show/Diff file:
Action:
FNA/lib/MojoShader/spirv/spirv.h
871 lines | 27.7 KiB | text/x-c | CLexer
871 lines | 27.7 KiB | text/x-c | CLexer
r0 | /* | |||
** 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 0x10000 | ||||
#define SPV_REVISION 3 | ||||
static const unsigned int SpvMagicNumber = 0x07230203; | ||||
static const unsigned int SpvVersion = 0x00010000; | ||||
static const unsigned int SpvRevision = 3; | ||||
static const unsigned int SpvOpCodeMask = 0xffff; | ||||
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 = 0x00000001, | ||||
SpvImageOperandsLodMask = 0x00000002, | ||||
SpvImageOperandsGradMask = 0x00000004, | ||||
SpvImageOperandsConstOffsetMask = 0x00000008, | ||||
SpvImageOperandsOffsetMask = 0x00000010, | ||||
SpvImageOperandsConstOffsetsMask = 0x00000020, | ||||
SpvImageOperandsSampleMask = 0x00000040, | ||||
SpvImageOperandsMinLodMask = 0x00000080, | ||||
} SpvImageOperandsMask; | ||||
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, | ||||
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 = 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_ { | ||||
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 = 0x00000002, | ||||
SpvMemorySemanticsReleaseMask = 0x00000004, | ||||
SpvMemorySemanticsAcquireReleaseMask = 0x00000008, | ||||
SpvMemorySemanticsSequentiallyConsistentMask = 0x00000010, | ||||
SpvMemorySemanticsUniformMemoryMask = 0x00000040, | ||||
SpvMemorySemanticsSubgroupMemoryMask = 0x00000080, | ||||
SpvMemorySemanticsWorkgroupMemoryMask = 0x00000100, | ||||
SpvMemorySemanticsCrossWorkgroupMemoryMask = 0x00000200, | ||||
SpvMemorySemanticsAtomicCounterMemoryMask = 0x00000400, | ||||
SpvMemorySemanticsImageMemoryMask = 0x00000800, | ||||
} SpvMemorySemanticsMask; | ||||
typedef enum SpvMemoryAccessShift_ { | ||||
SpvMemoryAccessVolatileShift = 0, | ||||
SpvMemoryAccessAlignedShift = 1, | ||||
SpvMemoryAccessNontemporalShift = 2, | ||||
} SpvMemoryAccessShift; | ||||
typedef enum SpvMemoryAccessMask_ { | ||||
SpvMemoryAccessMaskNone = 0, | ||||
SpvMemoryAccessVolatileMask = 0x00000001, | ||||
SpvMemoryAccessAlignedMask = 0x00000002, | ||||
SpvMemoryAccessNontemporalMask = 0x00000004, | ||||
} 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 = 0x00000001, | ||||
} 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 | ||||