spirv.h revision 7e102996
101e04c3fSmrg/*
27e102996Smaya** Copyright (c) 2014-2019 The Khronos Group Inc.
301e04c3fSmrg**
401e04c3fSmrg** Permission is hereby granted, free of charge, to any person obtaining a copy
501e04c3fSmrg** of this software and/or associated documentation files (the "Materials"),
601e04c3fSmrg** to deal in the Materials without restriction, including without limitation
701e04c3fSmrg** the rights to use, copy, modify, merge, publish, distribute, sublicense,
801e04c3fSmrg** and/or sell copies of the Materials, and to permit persons to whom the
901e04c3fSmrg** Materials are furnished to do so, subject to the following conditions:
1001e04c3fSmrg**
1101e04c3fSmrg** The above copyright notice and this permission notice shall be included in
1201e04c3fSmrg** all copies or substantial portions of the Materials.
1301e04c3fSmrg**
1401e04c3fSmrg** MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS
1501e04c3fSmrg** STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND
1601e04c3fSmrg** HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/
1701e04c3fSmrg**
1801e04c3fSmrg** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
1901e04c3fSmrg** OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
2001e04c3fSmrg** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
2101e04c3fSmrg** THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
2201e04c3fSmrg** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
2301e04c3fSmrg** FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS
2401e04c3fSmrg** IN THE MATERIALS.
2501e04c3fSmrg*/
2601e04c3fSmrg
2701e04c3fSmrg/*
2801e04c3fSmrg** This header is automatically generated by the same tool that creates
2901e04c3fSmrg** the Binary Section of the SPIR-V specification.
3001e04c3fSmrg*/
3101e04c3fSmrg
3201e04c3fSmrg/*
3301e04c3fSmrg** Enumeration tokens for SPIR-V, in various styles:
347e102996Smaya**   C, C++, C++11, JSON, Lua, Python, C#, D
3501e04c3fSmrg**
3601e04c3fSmrg** - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
3701e04c3fSmrg** - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
3801e04c3fSmrg** - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL
3901e04c3fSmrg** - Lua will use tables, e.g.: spv.SourceLanguage.GLSL
4001e04c3fSmrg** - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']
417e102996Smaya** - C# will use enum classes in the Specification class located in the "Spv" namespace,
427e102996Smaya**     e.g.: Spv.Specification.SourceLanguage.GLSL
437e102996Smaya** - D will have tokens under the "spv" module, e.g: spv.SourceLanguage.GLSL
4401e04c3fSmrg**
4501e04c3fSmrg** Some tokens act like mask values, which can be OR'd together,
4601e04c3fSmrg** while others are mutually exclusive.  The mask-like ones have
4701e04c3fSmrg** "Mask" in their name, and a parallel enum that has the shift
4801e04c3fSmrg** amount (1 << x) for each corresponding enumerant.
4901e04c3fSmrg*/
5001e04c3fSmrg
5101e04c3fSmrg#ifndef spirv_H
5201e04c3fSmrg#define spirv_H
5301e04c3fSmrg
5401e04c3fSmrgtypedef unsigned int SpvId;
5501e04c3fSmrg
5601e04c3fSmrg#define SPV_VERSION 0x10300
577e102996Smaya#define SPV_REVISION 6
5801e04c3fSmrg
5901e04c3fSmrgstatic const unsigned int SpvMagicNumber = 0x07230203;
6001e04c3fSmrgstatic const unsigned int SpvVersion = 0x00010300;
617e102996Smayastatic const unsigned int SpvRevision = 6;
6201e04c3fSmrgstatic const unsigned int SpvOpCodeMask = 0xffff;
6301e04c3fSmrgstatic const unsigned int SpvWordCountShift = 16;
6401e04c3fSmrg
6501e04c3fSmrgtypedef enum SpvSourceLanguage_ {
6601e04c3fSmrg    SpvSourceLanguageUnknown = 0,
6701e04c3fSmrg    SpvSourceLanguageESSL = 1,
6801e04c3fSmrg    SpvSourceLanguageGLSL = 2,
6901e04c3fSmrg    SpvSourceLanguageOpenCL_C = 3,
7001e04c3fSmrg    SpvSourceLanguageOpenCL_CPP = 4,
7101e04c3fSmrg    SpvSourceLanguageHLSL = 5,
7201e04c3fSmrg    SpvSourceLanguageMax = 0x7fffffff,
7301e04c3fSmrg} SpvSourceLanguage;
7401e04c3fSmrg
7501e04c3fSmrgtypedef enum SpvExecutionModel_ {
7601e04c3fSmrg    SpvExecutionModelVertex = 0,
7701e04c3fSmrg    SpvExecutionModelTessellationControl = 1,
7801e04c3fSmrg    SpvExecutionModelTessellationEvaluation = 2,
7901e04c3fSmrg    SpvExecutionModelGeometry = 3,
8001e04c3fSmrg    SpvExecutionModelFragment = 4,
8101e04c3fSmrg    SpvExecutionModelGLCompute = 5,
8201e04c3fSmrg    SpvExecutionModelKernel = 6,
8301e04c3fSmrg    SpvExecutionModelTaskNV = 5267,
8401e04c3fSmrg    SpvExecutionModelMeshNV = 5268,
857e102996Smaya    SpvExecutionModelRayGenerationNV = 5313,
867e102996Smaya    SpvExecutionModelIntersectionNV = 5314,
877e102996Smaya    SpvExecutionModelAnyHitNV = 5315,
887e102996Smaya    SpvExecutionModelClosestHitNV = 5316,
897e102996Smaya    SpvExecutionModelMissNV = 5317,
907e102996Smaya    SpvExecutionModelCallableNV = 5318,
9101e04c3fSmrg    SpvExecutionModelMax = 0x7fffffff,
9201e04c3fSmrg} SpvExecutionModel;
9301e04c3fSmrg
9401e04c3fSmrgtypedef enum SpvAddressingModel_ {
9501e04c3fSmrg    SpvAddressingModelLogical = 0,
9601e04c3fSmrg    SpvAddressingModelPhysical32 = 1,
9701e04c3fSmrg    SpvAddressingModelPhysical64 = 2,
987e102996Smaya    SpvAddressingModelPhysicalStorageBuffer64EXT = 5348,
9901e04c3fSmrg    SpvAddressingModelMax = 0x7fffffff,
10001e04c3fSmrg} SpvAddressingModel;
10101e04c3fSmrg
10201e04c3fSmrgtypedef enum SpvMemoryModel_ {
10301e04c3fSmrg    SpvMemoryModelSimple = 0,
10401e04c3fSmrg    SpvMemoryModelGLSL450 = 1,
10501e04c3fSmrg    SpvMemoryModelOpenCL = 2,
10601e04c3fSmrg    SpvMemoryModelVulkanKHR = 3,
10701e04c3fSmrg    SpvMemoryModelMax = 0x7fffffff,
10801e04c3fSmrg} SpvMemoryModel;
10901e04c3fSmrg
11001e04c3fSmrgtypedef enum SpvExecutionMode_ {
11101e04c3fSmrg    SpvExecutionModeInvocations = 0,
11201e04c3fSmrg    SpvExecutionModeSpacingEqual = 1,
11301e04c3fSmrg    SpvExecutionModeSpacingFractionalEven = 2,
11401e04c3fSmrg    SpvExecutionModeSpacingFractionalOdd = 3,
11501e04c3fSmrg    SpvExecutionModeVertexOrderCw = 4,
11601e04c3fSmrg    SpvExecutionModeVertexOrderCcw = 5,
11701e04c3fSmrg    SpvExecutionModePixelCenterInteger = 6,
11801e04c3fSmrg    SpvExecutionModeOriginUpperLeft = 7,
11901e04c3fSmrg    SpvExecutionModeOriginLowerLeft = 8,
12001e04c3fSmrg    SpvExecutionModeEarlyFragmentTests = 9,
12101e04c3fSmrg    SpvExecutionModePointMode = 10,
12201e04c3fSmrg    SpvExecutionModeXfb = 11,
12301e04c3fSmrg    SpvExecutionModeDepthReplacing = 12,
12401e04c3fSmrg    SpvExecutionModeDepthGreater = 14,
12501e04c3fSmrg    SpvExecutionModeDepthLess = 15,
12601e04c3fSmrg    SpvExecutionModeDepthUnchanged = 16,
12701e04c3fSmrg    SpvExecutionModeLocalSize = 17,
12801e04c3fSmrg    SpvExecutionModeLocalSizeHint = 18,
12901e04c3fSmrg    SpvExecutionModeInputPoints = 19,
13001e04c3fSmrg    SpvExecutionModeInputLines = 20,
13101e04c3fSmrg    SpvExecutionModeInputLinesAdjacency = 21,
13201e04c3fSmrg    SpvExecutionModeTriangles = 22,
13301e04c3fSmrg    SpvExecutionModeInputTrianglesAdjacency = 23,
13401e04c3fSmrg    SpvExecutionModeQuads = 24,
13501e04c3fSmrg    SpvExecutionModeIsolines = 25,
13601e04c3fSmrg    SpvExecutionModeOutputVertices = 26,
13701e04c3fSmrg    SpvExecutionModeOutputPoints = 27,
13801e04c3fSmrg    SpvExecutionModeOutputLineStrip = 28,
13901e04c3fSmrg    SpvExecutionModeOutputTriangleStrip = 29,
14001e04c3fSmrg    SpvExecutionModeVecTypeHint = 30,
14101e04c3fSmrg    SpvExecutionModeContractionOff = 31,
14201e04c3fSmrg    SpvExecutionModeInitializer = 33,
14301e04c3fSmrg    SpvExecutionModeFinalizer = 34,
14401e04c3fSmrg    SpvExecutionModeSubgroupSize = 35,
14501e04c3fSmrg    SpvExecutionModeSubgroupsPerWorkgroup = 36,
14601e04c3fSmrg    SpvExecutionModeSubgroupsPerWorkgroupId = 37,
14701e04c3fSmrg    SpvExecutionModeLocalSizeId = 38,
14801e04c3fSmrg    SpvExecutionModeLocalSizeHintId = 39,
14901e04c3fSmrg    SpvExecutionModePostDepthCoverage = 4446,
1507e102996Smaya    SpvExecutionModeDenormPreserve = 4459,
1517e102996Smaya    SpvExecutionModeDenormFlushToZero = 4460,
1527e102996Smaya    SpvExecutionModeSignedZeroInfNanPreserve = 4461,
1537e102996Smaya    SpvExecutionModeRoundingModeRTE = 4462,
1547e102996Smaya    SpvExecutionModeRoundingModeRTZ = 4463,
15501e04c3fSmrg    SpvExecutionModeStencilRefReplacingEXT = 5027,
15601e04c3fSmrg    SpvExecutionModeOutputLinesNV = 5269,
15701e04c3fSmrg    SpvExecutionModeOutputPrimitivesNV = 5270,
15801e04c3fSmrg    SpvExecutionModeDerivativeGroupQuadsNV = 5289,
15901e04c3fSmrg    SpvExecutionModeDerivativeGroupLinearNV = 5290,
16001e04c3fSmrg    SpvExecutionModeOutputTrianglesNV = 5298,
16101e04c3fSmrg    SpvExecutionModeMax = 0x7fffffff,
16201e04c3fSmrg} SpvExecutionMode;
16301e04c3fSmrg
16401e04c3fSmrgtypedef enum SpvStorageClass_ {
16501e04c3fSmrg    SpvStorageClassUniformConstant = 0,
16601e04c3fSmrg    SpvStorageClassInput = 1,
16701e04c3fSmrg    SpvStorageClassUniform = 2,
16801e04c3fSmrg    SpvStorageClassOutput = 3,
16901e04c3fSmrg    SpvStorageClassWorkgroup = 4,
17001e04c3fSmrg    SpvStorageClassCrossWorkgroup = 5,
17101e04c3fSmrg    SpvStorageClassPrivate = 6,
17201e04c3fSmrg    SpvStorageClassFunction = 7,
17301e04c3fSmrg    SpvStorageClassGeneric = 8,
17401e04c3fSmrg    SpvStorageClassPushConstant = 9,
17501e04c3fSmrg    SpvStorageClassAtomicCounter = 10,
17601e04c3fSmrg    SpvStorageClassImage = 11,
17701e04c3fSmrg    SpvStorageClassStorageBuffer = 12,
1787e102996Smaya    SpvStorageClassCallableDataNV = 5328,
1797e102996Smaya    SpvStorageClassIncomingCallableDataNV = 5329,
1807e102996Smaya    SpvStorageClassRayPayloadNV = 5338,
1817e102996Smaya    SpvStorageClassHitAttributeNV = 5339,
1827e102996Smaya    SpvStorageClassIncomingRayPayloadNV = 5342,
1837e102996Smaya    SpvStorageClassShaderRecordBufferNV = 5343,
1847e102996Smaya    SpvStorageClassPhysicalStorageBufferEXT = 5349,
18501e04c3fSmrg    SpvStorageClassMax = 0x7fffffff,
18601e04c3fSmrg} SpvStorageClass;
18701e04c3fSmrg
18801e04c3fSmrgtypedef enum SpvDim_ {
18901e04c3fSmrg    SpvDim1D = 0,
19001e04c3fSmrg    SpvDim2D = 1,
19101e04c3fSmrg    SpvDim3D = 2,
19201e04c3fSmrg    SpvDimCube = 3,
19301e04c3fSmrg    SpvDimRect = 4,
19401e04c3fSmrg    SpvDimBuffer = 5,
19501e04c3fSmrg    SpvDimSubpassData = 6,
19601e04c3fSmrg    SpvDimMax = 0x7fffffff,
19701e04c3fSmrg} SpvDim;
19801e04c3fSmrg
19901e04c3fSmrgtypedef enum SpvSamplerAddressingMode_ {
20001e04c3fSmrg    SpvSamplerAddressingModeNone = 0,
20101e04c3fSmrg    SpvSamplerAddressingModeClampToEdge = 1,
20201e04c3fSmrg    SpvSamplerAddressingModeClamp = 2,
20301e04c3fSmrg    SpvSamplerAddressingModeRepeat = 3,
20401e04c3fSmrg    SpvSamplerAddressingModeRepeatMirrored = 4,
20501e04c3fSmrg    SpvSamplerAddressingModeMax = 0x7fffffff,
20601e04c3fSmrg} SpvSamplerAddressingMode;
20701e04c3fSmrg
20801e04c3fSmrgtypedef enum SpvSamplerFilterMode_ {
20901e04c3fSmrg    SpvSamplerFilterModeNearest = 0,
21001e04c3fSmrg    SpvSamplerFilterModeLinear = 1,
21101e04c3fSmrg    SpvSamplerFilterModeMax = 0x7fffffff,
21201e04c3fSmrg} SpvSamplerFilterMode;
21301e04c3fSmrg
21401e04c3fSmrgtypedef enum SpvImageFormat_ {
21501e04c3fSmrg    SpvImageFormatUnknown = 0,
21601e04c3fSmrg    SpvImageFormatRgba32f = 1,
21701e04c3fSmrg    SpvImageFormatRgba16f = 2,
21801e04c3fSmrg    SpvImageFormatR32f = 3,
21901e04c3fSmrg    SpvImageFormatRgba8 = 4,
22001e04c3fSmrg    SpvImageFormatRgba8Snorm = 5,
22101e04c3fSmrg    SpvImageFormatRg32f = 6,
22201e04c3fSmrg    SpvImageFormatRg16f = 7,
22301e04c3fSmrg    SpvImageFormatR11fG11fB10f = 8,
22401e04c3fSmrg    SpvImageFormatR16f = 9,
22501e04c3fSmrg    SpvImageFormatRgba16 = 10,
22601e04c3fSmrg    SpvImageFormatRgb10A2 = 11,
22701e04c3fSmrg    SpvImageFormatRg16 = 12,
22801e04c3fSmrg    SpvImageFormatRg8 = 13,
22901e04c3fSmrg    SpvImageFormatR16 = 14,
23001e04c3fSmrg    SpvImageFormatR8 = 15,
23101e04c3fSmrg    SpvImageFormatRgba16Snorm = 16,
23201e04c3fSmrg    SpvImageFormatRg16Snorm = 17,
23301e04c3fSmrg    SpvImageFormatRg8Snorm = 18,
23401e04c3fSmrg    SpvImageFormatR16Snorm = 19,
23501e04c3fSmrg    SpvImageFormatR8Snorm = 20,
23601e04c3fSmrg    SpvImageFormatRgba32i = 21,
23701e04c3fSmrg    SpvImageFormatRgba16i = 22,
23801e04c3fSmrg    SpvImageFormatRgba8i = 23,
23901e04c3fSmrg    SpvImageFormatR32i = 24,
24001e04c3fSmrg    SpvImageFormatRg32i = 25,
24101e04c3fSmrg    SpvImageFormatRg16i = 26,
24201e04c3fSmrg    SpvImageFormatRg8i = 27,
24301e04c3fSmrg    SpvImageFormatR16i = 28,
24401e04c3fSmrg    SpvImageFormatR8i = 29,
24501e04c3fSmrg    SpvImageFormatRgba32ui = 30,
24601e04c3fSmrg    SpvImageFormatRgba16ui = 31,
24701e04c3fSmrg    SpvImageFormatRgba8ui = 32,
24801e04c3fSmrg    SpvImageFormatR32ui = 33,
24901e04c3fSmrg    SpvImageFormatRgb10a2ui = 34,
25001e04c3fSmrg    SpvImageFormatRg32ui = 35,
25101e04c3fSmrg    SpvImageFormatRg16ui = 36,
25201e04c3fSmrg    SpvImageFormatRg8ui = 37,
25301e04c3fSmrg    SpvImageFormatR16ui = 38,
25401e04c3fSmrg    SpvImageFormatR8ui = 39,
25501e04c3fSmrg    SpvImageFormatMax = 0x7fffffff,
25601e04c3fSmrg} SpvImageFormat;
25701e04c3fSmrg
25801e04c3fSmrgtypedef enum SpvImageChannelOrder_ {
25901e04c3fSmrg    SpvImageChannelOrderR = 0,
26001e04c3fSmrg    SpvImageChannelOrderA = 1,
26101e04c3fSmrg    SpvImageChannelOrderRG = 2,
26201e04c3fSmrg    SpvImageChannelOrderRA = 3,
26301e04c3fSmrg    SpvImageChannelOrderRGB = 4,
26401e04c3fSmrg    SpvImageChannelOrderRGBA = 5,
26501e04c3fSmrg    SpvImageChannelOrderBGRA = 6,
26601e04c3fSmrg    SpvImageChannelOrderARGB = 7,
26701e04c3fSmrg    SpvImageChannelOrderIntensity = 8,
26801e04c3fSmrg    SpvImageChannelOrderLuminance = 9,
26901e04c3fSmrg    SpvImageChannelOrderRx = 10,
27001e04c3fSmrg    SpvImageChannelOrderRGx = 11,
27101e04c3fSmrg    SpvImageChannelOrderRGBx = 12,
27201e04c3fSmrg    SpvImageChannelOrderDepth = 13,
27301e04c3fSmrg    SpvImageChannelOrderDepthStencil = 14,
27401e04c3fSmrg    SpvImageChannelOrdersRGB = 15,
27501e04c3fSmrg    SpvImageChannelOrdersRGBx = 16,
27601e04c3fSmrg    SpvImageChannelOrdersRGBA = 17,
27701e04c3fSmrg    SpvImageChannelOrdersBGRA = 18,
27801e04c3fSmrg    SpvImageChannelOrderABGR = 19,
27901e04c3fSmrg    SpvImageChannelOrderMax = 0x7fffffff,
28001e04c3fSmrg} SpvImageChannelOrder;
28101e04c3fSmrg
28201e04c3fSmrgtypedef enum SpvImageChannelDataType_ {
28301e04c3fSmrg    SpvImageChannelDataTypeSnormInt8 = 0,
28401e04c3fSmrg    SpvImageChannelDataTypeSnormInt16 = 1,
28501e04c3fSmrg    SpvImageChannelDataTypeUnormInt8 = 2,
28601e04c3fSmrg    SpvImageChannelDataTypeUnormInt16 = 3,
28701e04c3fSmrg    SpvImageChannelDataTypeUnormShort565 = 4,
28801e04c3fSmrg    SpvImageChannelDataTypeUnormShort555 = 5,
28901e04c3fSmrg    SpvImageChannelDataTypeUnormInt101010 = 6,
29001e04c3fSmrg    SpvImageChannelDataTypeSignedInt8 = 7,
29101e04c3fSmrg    SpvImageChannelDataTypeSignedInt16 = 8,
29201e04c3fSmrg    SpvImageChannelDataTypeSignedInt32 = 9,
29301e04c3fSmrg    SpvImageChannelDataTypeUnsignedInt8 = 10,
29401e04c3fSmrg    SpvImageChannelDataTypeUnsignedInt16 = 11,
29501e04c3fSmrg    SpvImageChannelDataTypeUnsignedInt32 = 12,
29601e04c3fSmrg    SpvImageChannelDataTypeHalfFloat = 13,
29701e04c3fSmrg    SpvImageChannelDataTypeFloat = 14,
29801e04c3fSmrg    SpvImageChannelDataTypeUnormInt24 = 15,
29901e04c3fSmrg    SpvImageChannelDataTypeUnormInt101010_2 = 16,
30001e04c3fSmrg    SpvImageChannelDataTypeMax = 0x7fffffff,
30101e04c3fSmrg} SpvImageChannelDataType;
30201e04c3fSmrg
30301e04c3fSmrgtypedef enum SpvImageOperandsShift_ {
30401e04c3fSmrg    SpvImageOperandsBiasShift = 0,
30501e04c3fSmrg    SpvImageOperandsLodShift = 1,
30601e04c3fSmrg    SpvImageOperandsGradShift = 2,
30701e04c3fSmrg    SpvImageOperandsConstOffsetShift = 3,
30801e04c3fSmrg    SpvImageOperandsOffsetShift = 4,
30901e04c3fSmrg    SpvImageOperandsConstOffsetsShift = 5,
31001e04c3fSmrg    SpvImageOperandsSampleShift = 6,
31101e04c3fSmrg    SpvImageOperandsMinLodShift = 7,
31201e04c3fSmrg    SpvImageOperandsMakeTexelAvailableKHRShift = 8,
31301e04c3fSmrg    SpvImageOperandsMakeTexelVisibleKHRShift = 9,
31401e04c3fSmrg    SpvImageOperandsNonPrivateTexelKHRShift = 10,
31501e04c3fSmrg    SpvImageOperandsVolatileTexelKHRShift = 11,
31601e04c3fSmrg    SpvImageOperandsMax = 0x7fffffff,
31701e04c3fSmrg} SpvImageOperandsShift;
31801e04c3fSmrg
31901e04c3fSmrgtypedef enum SpvImageOperandsMask_ {
32001e04c3fSmrg    SpvImageOperandsMaskNone = 0,
32101e04c3fSmrg    SpvImageOperandsBiasMask = 0x00000001,
32201e04c3fSmrg    SpvImageOperandsLodMask = 0x00000002,
32301e04c3fSmrg    SpvImageOperandsGradMask = 0x00000004,
32401e04c3fSmrg    SpvImageOperandsConstOffsetMask = 0x00000008,
32501e04c3fSmrg    SpvImageOperandsOffsetMask = 0x00000010,
32601e04c3fSmrg    SpvImageOperandsConstOffsetsMask = 0x00000020,
32701e04c3fSmrg    SpvImageOperandsSampleMask = 0x00000040,
32801e04c3fSmrg    SpvImageOperandsMinLodMask = 0x00000080,
32901e04c3fSmrg    SpvImageOperandsMakeTexelAvailableKHRMask = 0x00000100,
33001e04c3fSmrg    SpvImageOperandsMakeTexelVisibleKHRMask = 0x00000200,
33101e04c3fSmrg    SpvImageOperandsNonPrivateTexelKHRMask = 0x00000400,
33201e04c3fSmrg    SpvImageOperandsVolatileTexelKHRMask = 0x00000800,
33301e04c3fSmrg} SpvImageOperandsMask;
33401e04c3fSmrg
33501e04c3fSmrgtypedef enum SpvFPFastMathModeShift_ {
33601e04c3fSmrg    SpvFPFastMathModeNotNaNShift = 0,
33701e04c3fSmrg    SpvFPFastMathModeNotInfShift = 1,
33801e04c3fSmrg    SpvFPFastMathModeNSZShift = 2,
33901e04c3fSmrg    SpvFPFastMathModeAllowRecipShift = 3,
34001e04c3fSmrg    SpvFPFastMathModeFastShift = 4,
34101e04c3fSmrg    SpvFPFastMathModeMax = 0x7fffffff,
34201e04c3fSmrg} SpvFPFastMathModeShift;
34301e04c3fSmrg
34401e04c3fSmrgtypedef enum SpvFPFastMathModeMask_ {
34501e04c3fSmrg    SpvFPFastMathModeMaskNone = 0,
34601e04c3fSmrg    SpvFPFastMathModeNotNaNMask = 0x00000001,
34701e04c3fSmrg    SpvFPFastMathModeNotInfMask = 0x00000002,
34801e04c3fSmrg    SpvFPFastMathModeNSZMask = 0x00000004,
34901e04c3fSmrg    SpvFPFastMathModeAllowRecipMask = 0x00000008,
35001e04c3fSmrg    SpvFPFastMathModeFastMask = 0x00000010,
35101e04c3fSmrg} SpvFPFastMathModeMask;
35201e04c3fSmrg
35301e04c3fSmrgtypedef enum SpvFPRoundingMode_ {
35401e04c3fSmrg    SpvFPRoundingModeRTE = 0,
35501e04c3fSmrg    SpvFPRoundingModeRTZ = 1,
35601e04c3fSmrg    SpvFPRoundingModeRTP = 2,
35701e04c3fSmrg    SpvFPRoundingModeRTN = 3,
35801e04c3fSmrg    SpvFPRoundingModeMax = 0x7fffffff,
35901e04c3fSmrg} SpvFPRoundingMode;
36001e04c3fSmrg
36101e04c3fSmrgtypedef enum SpvLinkageType_ {
36201e04c3fSmrg    SpvLinkageTypeExport = 0,
36301e04c3fSmrg    SpvLinkageTypeImport = 1,
36401e04c3fSmrg    SpvLinkageTypeMax = 0x7fffffff,
36501e04c3fSmrg} SpvLinkageType;
36601e04c3fSmrg
36701e04c3fSmrgtypedef enum SpvAccessQualifier_ {
36801e04c3fSmrg    SpvAccessQualifierReadOnly = 0,
36901e04c3fSmrg    SpvAccessQualifierWriteOnly = 1,
37001e04c3fSmrg    SpvAccessQualifierReadWrite = 2,
37101e04c3fSmrg    SpvAccessQualifierMax = 0x7fffffff,
37201e04c3fSmrg} SpvAccessQualifier;
37301e04c3fSmrg
37401e04c3fSmrgtypedef enum SpvFunctionParameterAttribute_ {
37501e04c3fSmrg    SpvFunctionParameterAttributeZext = 0,
37601e04c3fSmrg    SpvFunctionParameterAttributeSext = 1,
37701e04c3fSmrg    SpvFunctionParameterAttributeByVal = 2,
37801e04c3fSmrg    SpvFunctionParameterAttributeSret = 3,
37901e04c3fSmrg    SpvFunctionParameterAttributeNoAlias = 4,
38001e04c3fSmrg    SpvFunctionParameterAttributeNoCapture = 5,
38101e04c3fSmrg    SpvFunctionParameterAttributeNoWrite = 6,
38201e04c3fSmrg    SpvFunctionParameterAttributeNoReadWrite = 7,
38301e04c3fSmrg    SpvFunctionParameterAttributeMax = 0x7fffffff,
38401e04c3fSmrg} SpvFunctionParameterAttribute;
38501e04c3fSmrg
38601e04c3fSmrgtypedef enum SpvDecoration_ {
38701e04c3fSmrg    SpvDecorationRelaxedPrecision = 0,
38801e04c3fSmrg    SpvDecorationSpecId = 1,
38901e04c3fSmrg    SpvDecorationBlock = 2,
39001e04c3fSmrg    SpvDecorationBufferBlock = 3,
39101e04c3fSmrg    SpvDecorationRowMajor = 4,
39201e04c3fSmrg    SpvDecorationColMajor = 5,
39301e04c3fSmrg    SpvDecorationArrayStride = 6,
39401e04c3fSmrg    SpvDecorationMatrixStride = 7,
39501e04c3fSmrg    SpvDecorationGLSLShared = 8,
39601e04c3fSmrg    SpvDecorationGLSLPacked = 9,
39701e04c3fSmrg    SpvDecorationCPacked = 10,
39801e04c3fSmrg    SpvDecorationBuiltIn = 11,
39901e04c3fSmrg    SpvDecorationNoPerspective = 13,
40001e04c3fSmrg    SpvDecorationFlat = 14,
40101e04c3fSmrg    SpvDecorationPatch = 15,
40201e04c3fSmrg    SpvDecorationCentroid = 16,
40301e04c3fSmrg    SpvDecorationSample = 17,
40401e04c3fSmrg    SpvDecorationInvariant = 18,
40501e04c3fSmrg    SpvDecorationRestrict = 19,
40601e04c3fSmrg    SpvDecorationAliased = 20,
40701e04c3fSmrg    SpvDecorationVolatile = 21,
40801e04c3fSmrg    SpvDecorationConstant = 22,
40901e04c3fSmrg    SpvDecorationCoherent = 23,
41001e04c3fSmrg    SpvDecorationNonWritable = 24,
41101e04c3fSmrg    SpvDecorationNonReadable = 25,
41201e04c3fSmrg    SpvDecorationUniform = 26,
41301e04c3fSmrg    SpvDecorationSaturatedConversion = 28,
41401e04c3fSmrg    SpvDecorationStream = 29,
41501e04c3fSmrg    SpvDecorationLocation = 30,
41601e04c3fSmrg    SpvDecorationComponent = 31,
41701e04c3fSmrg    SpvDecorationIndex = 32,
41801e04c3fSmrg    SpvDecorationBinding = 33,
41901e04c3fSmrg    SpvDecorationDescriptorSet = 34,
42001e04c3fSmrg    SpvDecorationOffset = 35,
42101e04c3fSmrg    SpvDecorationXfbBuffer = 36,
42201e04c3fSmrg    SpvDecorationXfbStride = 37,
42301e04c3fSmrg    SpvDecorationFuncParamAttr = 38,
42401e04c3fSmrg    SpvDecorationFPRoundingMode = 39,
42501e04c3fSmrg    SpvDecorationFPFastMathMode = 40,
42601e04c3fSmrg    SpvDecorationLinkageAttributes = 41,
42701e04c3fSmrg    SpvDecorationNoContraction = 42,
42801e04c3fSmrg    SpvDecorationInputAttachmentIndex = 43,
42901e04c3fSmrg    SpvDecorationAlignment = 44,
43001e04c3fSmrg    SpvDecorationMaxByteOffset = 45,
43101e04c3fSmrg    SpvDecorationAlignmentId = 46,
43201e04c3fSmrg    SpvDecorationMaxByteOffsetId = 47,
4337e102996Smaya    SpvDecorationNoSignedWrap = 4469,
4347e102996Smaya    SpvDecorationNoUnsignedWrap = 4470,
43501e04c3fSmrg    SpvDecorationExplicitInterpAMD = 4999,
43601e04c3fSmrg    SpvDecorationOverrideCoverageNV = 5248,
43701e04c3fSmrg    SpvDecorationPassthroughNV = 5250,
43801e04c3fSmrg    SpvDecorationViewportRelativeNV = 5252,
43901e04c3fSmrg    SpvDecorationSecondaryViewportRelativeNV = 5256,
44001e04c3fSmrg    SpvDecorationPerPrimitiveNV = 5271,
44101e04c3fSmrg    SpvDecorationPerViewNV = 5272,
44201e04c3fSmrg    SpvDecorationPerTaskNV = 5273,
44301e04c3fSmrg    SpvDecorationPerVertexNV = 5285,
44401e04c3fSmrg    SpvDecorationNonUniformEXT = 5300,
4457e102996Smaya    SpvDecorationRestrictPointerEXT = 5355,
4467e102996Smaya    SpvDecorationAliasedPointerEXT = 5356,
44701e04c3fSmrg    SpvDecorationHlslCounterBufferGOOGLE = 5634,
44801e04c3fSmrg    SpvDecorationHlslSemanticGOOGLE = 5635,
44901e04c3fSmrg    SpvDecorationMax = 0x7fffffff,
45001e04c3fSmrg} SpvDecoration;
45101e04c3fSmrg
45201e04c3fSmrgtypedef enum SpvBuiltIn_ {
45301e04c3fSmrg    SpvBuiltInPosition = 0,
45401e04c3fSmrg    SpvBuiltInPointSize = 1,
45501e04c3fSmrg    SpvBuiltInClipDistance = 3,
45601e04c3fSmrg    SpvBuiltInCullDistance = 4,
45701e04c3fSmrg    SpvBuiltInVertexId = 5,
45801e04c3fSmrg    SpvBuiltInInstanceId = 6,
45901e04c3fSmrg    SpvBuiltInPrimitiveId = 7,
46001e04c3fSmrg    SpvBuiltInInvocationId = 8,
46101e04c3fSmrg    SpvBuiltInLayer = 9,
46201e04c3fSmrg    SpvBuiltInViewportIndex = 10,
46301e04c3fSmrg    SpvBuiltInTessLevelOuter = 11,
46401e04c3fSmrg    SpvBuiltInTessLevelInner = 12,
46501e04c3fSmrg    SpvBuiltInTessCoord = 13,
46601e04c3fSmrg    SpvBuiltInPatchVertices = 14,
46701e04c3fSmrg    SpvBuiltInFragCoord = 15,
46801e04c3fSmrg    SpvBuiltInPointCoord = 16,
46901e04c3fSmrg    SpvBuiltInFrontFacing = 17,
47001e04c3fSmrg    SpvBuiltInSampleId = 18,
47101e04c3fSmrg    SpvBuiltInSamplePosition = 19,
47201e04c3fSmrg    SpvBuiltInSampleMask = 20,
47301e04c3fSmrg    SpvBuiltInFragDepth = 22,
47401e04c3fSmrg    SpvBuiltInHelperInvocation = 23,
47501e04c3fSmrg    SpvBuiltInNumWorkgroups = 24,
47601e04c3fSmrg    SpvBuiltInWorkgroupSize = 25,
47701e04c3fSmrg    SpvBuiltInWorkgroupId = 26,
47801e04c3fSmrg    SpvBuiltInLocalInvocationId = 27,
47901e04c3fSmrg    SpvBuiltInGlobalInvocationId = 28,
48001e04c3fSmrg    SpvBuiltInLocalInvocationIndex = 29,
48101e04c3fSmrg    SpvBuiltInWorkDim = 30,
48201e04c3fSmrg    SpvBuiltInGlobalSize = 31,
48301e04c3fSmrg    SpvBuiltInEnqueuedWorkgroupSize = 32,
48401e04c3fSmrg    SpvBuiltInGlobalOffset = 33,
48501e04c3fSmrg    SpvBuiltInGlobalLinearId = 34,
48601e04c3fSmrg    SpvBuiltInSubgroupSize = 36,
48701e04c3fSmrg    SpvBuiltInSubgroupMaxSize = 37,
48801e04c3fSmrg    SpvBuiltInNumSubgroups = 38,
48901e04c3fSmrg    SpvBuiltInNumEnqueuedSubgroups = 39,
49001e04c3fSmrg    SpvBuiltInSubgroupId = 40,
49101e04c3fSmrg    SpvBuiltInSubgroupLocalInvocationId = 41,
49201e04c3fSmrg    SpvBuiltInVertexIndex = 42,
49301e04c3fSmrg    SpvBuiltInInstanceIndex = 43,
49401e04c3fSmrg    SpvBuiltInSubgroupEqMask = 4416,
49501e04c3fSmrg    SpvBuiltInSubgroupEqMaskKHR = 4416,
49601e04c3fSmrg    SpvBuiltInSubgroupGeMask = 4417,
49701e04c3fSmrg    SpvBuiltInSubgroupGeMaskKHR = 4417,
49801e04c3fSmrg    SpvBuiltInSubgroupGtMask = 4418,
49901e04c3fSmrg    SpvBuiltInSubgroupGtMaskKHR = 4418,
50001e04c3fSmrg    SpvBuiltInSubgroupLeMask = 4419,
50101e04c3fSmrg    SpvBuiltInSubgroupLeMaskKHR = 4419,
50201e04c3fSmrg    SpvBuiltInSubgroupLtMask = 4420,
50301e04c3fSmrg    SpvBuiltInSubgroupLtMaskKHR = 4420,
50401e04c3fSmrg    SpvBuiltInBaseVertex = 4424,
50501e04c3fSmrg    SpvBuiltInBaseInstance = 4425,
50601e04c3fSmrg    SpvBuiltInDrawIndex = 4426,
50701e04c3fSmrg    SpvBuiltInDeviceIndex = 4438,
50801e04c3fSmrg    SpvBuiltInViewIndex = 4440,
50901e04c3fSmrg    SpvBuiltInBaryCoordNoPerspAMD = 4992,
51001e04c3fSmrg    SpvBuiltInBaryCoordNoPerspCentroidAMD = 4993,
51101e04c3fSmrg    SpvBuiltInBaryCoordNoPerspSampleAMD = 4994,
51201e04c3fSmrg    SpvBuiltInBaryCoordSmoothAMD = 4995,
51301e04c3fSmrg    SpvBuiltInBaryCoordSmoothCentroidAMD = 4996,
51401e04c3fSmrg    SpvBuiltInBaryCoordSmoothSampleAMD = 4997,
51501e04c3fSmrg    SpvBuiltInBaryCoordPullModelAMD = 4998,
51601e04c3fSmrg    SpvBuiltInFragStencilRefEXT = 5014,
51701e04c3fSmrg    SpvBuiltInViewportMaskNV = 5253,
51801e04c3fSmrg    SpvBuiltInSecondaryPositionNV = 5257,
51901e04c3fSmrg    SpvBuiltInSecondaryViewportMaskNV = 5258,
52001e04c3fSmrg    SpvBuiltInPositionPerViewNV = 5261,
52101e04c3fSmrg    SpvBuiltInViewportMaskPerViewNV = 5262,
52201e04c3fSmrg    SpvBuiltInFullyCoveredEXT = 5264,
52301e04c3fSmrg    SpvBuiltInTaskCountNV = 5274,
52401e04c3fSmrg    SpvBuiltInPrimitiveCountNV = 5275,
52501e04c3fSmrg    SpvBuiltInPrimitiveIndicesNV = 5276,
52601e04c3fSmrg    SpvBuiltInClipDistancePerViewNV = 5277,
52701e04c3fSmrg    SpvBuiltInCullDistancePerViewNV = 5278,
52801e04c3fSmrg    SpvBuiltInLayerPerViewNV = 5279,
52901e04c3fSmrg    SpvBuiltInMeshViewCountNV = 5280,
53001e04c3fSmrg    SpvBuiltInMeshViewIndicesNV = 5281,
53101e04c3fSmrg    SpvBuiltInBaryCoordNV = 5286,
53201e04c3fSmrg    SpvBuiltInBaryCoordNoPerspNV = 5287,
5337e102996Smaya    SpvBuiltInFragSizeEXT = 5292,
53401e04c3fSmrg    SpvBuiltInFragmentSizeNV = 5292,
5357e102996Smaya    SpvBuiltInFragInvocationCountEXT = 5293,
53601e04c3fSmrg    SpvBuiltInInvocationsPerPixelNV = 5293,
5377e102996Smaya    SpvBuiltInLaunchIdNV = 5319,
5387e102996Smaya    SpvBuiltInLaunchSizeNV = 5320,
5397e102996Smaya    SpvBuiltInWorldRayOriginNV = 5321,
5407e102996Smaya    SpvBuiltInWorldRayDirectionNV = 5322,
5417e102996Smaya    SpvBuiltInObjectRayOriginNV = 5323,
5427e102996Smaya    SpvBuiltInObjectRayDirectionNV = 5324,
5437e102996Smaya    SpvBuiltInRayTminNV = 5325,
5447e102996Smaya    SpvBuiltInRayTmaxNV = 5326,
5457e102996Smaya    SpvBuiltInInstanceCustomIndexNV = 5327,
5467e102996Smaya    SpvBuiltInObjectToWorldNV = 5330,
5477e102996Smaya    SpvBuiltInWorldToObjectNV = 5331,
5487e102996Smaya    SpvBuiltInHitTNV = 5332,
5497e102996Smaya    SpvBuiltInHitKindNV = 5333,
5507e102996Smaya    SpvBuiltInIncomingRayFlagsNV = 5351,
55101e04c3fSmrg    SpvBuiltInMax = 0x7fffffff,
55201e04c3fSmrg} SpvBuiltIn;
55301e04c3fSmrg
55401e04c3fSmrgtypedef enum SpvSelectionControlShift_ {
55501e04c3fSmrg    SpvSelectionControlFlattenShift = 0,
55601e04c3fSmrg    SpvSelectionControlDontFlattenShift = 1,
55701e04c3fSmrg    SpvSelectionControlMax = 0x7fffffff,
55801e04c3fSmrg} SpvSelectionControlShift;
55901e04c3fSmrg
56001e04c3fSmrgtypedef enum SpvSelectionControlMask_ {
56101e04c3fSmrg    SpvSelectionControlMaskNone = 0,
56201e04c3fSmrg    SpvSelectionControlFlattenMask = 0x00000001,
56301e04c3fSmrg    SpvSelectionControlDontFlattenMask = 0x00000002,
56401e04c3fSmrg} SpvSelectionControlMask;
56501e04c3fSmrg
56601e04c3fSmrgtypedef enum SpvLoopControlShift_ {
56701e04c3fSmrg    SpvLoopControlUnrollShift = 0,
56801e04c3fSmrg    SpvLoopControlDontUnrollShift = 1,
56901e04c3fSmrg    SpvLoopControlDependencyInfiniteShift = 2,
57001e04c3fSmrg    SpvLoopControlDependencyLengthShift = 3,
57101e04c3fSmrg    SpvLoopControlMax = 0x7fffffff,
57201e04c3fSmrg} SpvLoopControlShift;
57301e04c3fSmrg
57401e04c3fSmrgtypedef enum SpvLoopControlMask_ {
57501e04c3fSmrg    SpvLoopControlMaskNone = 0,
57601e04c3fSmrg    SpvLoopControlUnrollMask = 0x00000001,
57701e04c3fSmrg    SpvLoopControlDontUnrollMask = 0x00000002,
57801e04c3fSmrg    SpvLoopControlDependencyInfiniteMask = 0x00000004,
57901e04c3fSmrg    SpvLoopControlDependencyLengthMask = 0x00000008,
58001e04c3fSmrg} SpvLoopControlMask;
58101e04c3fSmrg
58201e04c3fSmrgtypedef enum SpvFunctionControlShift_ {
58301e04c3fSmrg    SpvFunctionControlInlineShift = 0,
58401e04c3fSmrg    SpvFunctionControlDontInlineShift = 1,
58501e04c3fSmrg    SpvFunctionControlPureShift = 2,
58601e04c3fSmrg    SpvFunctionControlConstShift = 3,
58701e04c3fSmrg    SpvFunctionControlMax = 0x7fffffff,
58801e04c3fSmrg} SpvFunctionControlShift;
58901e04c3fSmrg
59001e04c3fSmrgtypedef enum SpvFunctionControlMask_ {
59101e04c3fSmrg    SpvFunctionControlMaskNone = 0,
59201e04c3fSmrg    SpvFunctionControlInlineMask = 0x00000001,
59301e04c3fSmrg    SpvFunctionControlDontInlineMask = 0x00000002,
59401e04c3fSmrg    SpvFunctionControlPureMask = 0x00000004,
59501e04c3fSmrg    SpvFunctionControlConstMask = 0x00000008,
59601e04c3fSmrg} SpvFunctionControlMask;
59701e04c3fSmrg
59801e04c3fSmrgtypedef enum SpvMemorySemanticsShift_ {
59901e04c3fSmrg    SpvMemorySemanticsAcquireShift = 1,
60001e04c3fSmrg    SpvMemorySemanticsReleaseShift = 2,
60101e04c3fSmrg    SpvMemorySemanticsAcquireReleaseShift = 3,
60201e04c3fSmrg    SpvMemorySemanticsSequentiallyConsistentShift = 4,
60301e04c3fSmrg    SpvMemorySemanticsUniformMemoryShift = 6,
60401e04c3fSmrg    SpvMemorySemanticsSubgroupMemoryShift = 7,
60501e04c3fSmrg    SpvMemorySemanticsWorkgroupMemoryShift = 8,
60601e04c3fSmrg    SpvMemorySemanticsCrossWorkgroupMemoryShift = 9,
60701e04c3fSmrg    SpvMemorySemanticsAtomicCounterMemoryShift = 10,
60801e04c3fSmrg    SpvMemorySemanticsImageMemoryShift = 11,
60901e04c3fSmrg    SpvMemorySemanticsOutputMemoryKHRShift = 12,
61001e04c3fSmrg    SpvMemorySemanticsMakeAvailableKHRShift = 13,
61101e04c3fSmrg    SpvMemorySemanticsMakeVisibleKHRShift = 14,
61201e04c3fSmrg    SpvMemorySemanticsMax = 0x7fffffff,
61301e04c3fSmrg} SpvMemorySemanticsShift;
61401e04c3fSmrg
61501e04c3fSmrgtypedef enum SpvMemorySemanticsMask_ {
61601e04c3fSmrg    SpvMemorySemanticsMaskNone = 0,
61701e04c3fSmrg    SpvMemorySemanticsAcquireMask = 0x00000002,
61801e04c3fSmrg    SpvMemorySemanticsReleaseMask = 0x00000004,
61901e04c3fSmrg    SpvMemorySemanticsAcquireReleaseMask = 0x00000008,
62001e04c3fSmrg    SpvMemorySemanticsSequentiallyConsistentMask = 0x00000010,
62101e04c3fSmrg    SpvMemorySemanticsUniformMemoryMask = 0x00000040,
62201e04c3fSmrg    SpvMemorySemanticsSubgroupMemoryMask = 0x00000080,
62301e04c3fSmrg    SpvMemorySemanticsWorkgroupMemoryMask = 0x00000100,
62401e04c3fSmrg    SpvMemorySemanticsCrossWorkgroupMemoryMask = 0x00000200,
62501e04c3fSmrg    SpvMemorySemanticsAtomicCounterMemoryMask = 0x00000400,
62601e04c3fSmrg    SpvMemorySemanticsImageMemoryMask = 0x00000800,
62701e04c3fSmrg    SpvMemorySemanticsOutputMemoryKHRMask = 0x00001000,
62801e04c3fSmrg    SpvMemorySemanticsMakeAvailableKHRMask = 0x00002000,
62901e04c3fSmrg    SpvMemorySemanticsMakeVisibleKHRMask = 0x00004000,
63001e04c3fSmrg} SpvMemorySemanticsMask;
63101e04c3fSmrg
63201e04c3fSmrgtypedef enum SpvMemoryAccessShift_ {
63301e04c3fSmrg    SpvMemoryAccessVolatileShift = 0,
63401e04c3fSmrg    SpvMemoryAccessAlignedShift = 1,
63501e04c3fSmrg    SpvMemoryAccessNontemporalShift = 2,
63601e04c3fSmrg    SpvMemoryAccessMakePointerAvailableKHRShift = 3,
63701e04c3fSmrg    SpvMemoryAccessMakePointerVisibleKHRShift = 4,
63801e04c3fSmrg    SpvMemoryAccessNonPrivatePointerKHRShift = 5,
63901e04c3fSmrg    SpvMemoryAccessMax = 0x7fffffff,
64001e04c3fSmrg} SpvMemoryAccessShift;
64101e04c3fSmrg
64201e04c3fSmrgtypedef enum SpvMemoryAccessMask_ {
64301e04c3fSmrg    SpvMemoryAccessMaskNone = 0,
64401e04c3fSmrg    SpvMemoryAccessVolatileMask = 0x00000001,
64501e04c3fSmrg    SpvMemoryAccessAlignedMask = 0x00000002,
64601e04c3fSmrg    SpvMemoryAccessNontemporalMask = 0x00000004,
64701e04c3fSmrg    SpvMemoryAccessMakePointerAvailableKHRMask = 0x00000008,
64801e04c3fSmrg    SpvMemoryAccessMakePointerVisibleKHRMask = 0x00000010,
64901e04c3fSmrg    SpvMemoryAccessNonPrivatePointerKHRMask = 0x00000020,
65001e04c3fSmrg} SpvMemoryAccessMask;
65101e04c3fSmrg
65201e04c3fSmrgtypedef enum SpvScope_ {
65301e04c3fSmrg    SpvScopeCrossDevice = 0,
65401e04c3fSmrg    SpvScopeDevice = 1,
65501e04c3fSmrg    SpvScopeWorkgroup = 2,
65601e04c3fSmrg    SpvScopeSubgroup = 3,
65701e04c3fSmrg    SpvScopeInvocation = 4,
65801e04c3fSmrg    SpvScopeQueueFamilyKHR = 5,
65901e04c3fSmrg    SpvScopeMax = 0x7fffffff,
66001e04c3fSmrg} SpvScope;
66101e04c3fSmrg
66201e04c3fSmrgtypedef enum SpvGroupOperation_ {
66301e04c3fSmrg    SpvGroupOperationReduce = 0,
66401e04c3fSmrg    SpvGroupOperationInclusiveScan = 1,
66501e04c3fSmrg    SpvGroupOperationExclusiveScan = 2,
66601e04c3fSmrg    SpvGroupOperationClusteredReduce = 3,
66701e04c3fSmrg    SpvGroupOperationPartitionedReduceNV = 6,
66801e04c3fSmrg    SpvGroupOperationPartitionedInclusiveScanNV = 7,
66901e04c3fSmrg    SpvGroupOperationPartitionedExclusiveScanNV = 8,
67001e04c3fSmrg    SpvGroupOperationMax = 0x7fffffff,
67101e04c3fSmrg} SpvGroupOperation;
67201e04c3fSmrg
67301e04c3fSmrgtypedef enum SpvKernelEnqueueFlags_ {
67401e04c3fSmrg    SpvKernelEnqueueFlagsNoWait = 0,
67501e04c3fSmrg    SpvKernelEnqueueFlagsWaitKernel = 1,
67601e04c3fSmrg    SpvKernelEnqueueFlagsWaitWorkGroup = 2,
67701e04c3fSmrg    SpvKernelEnqueueFlagsMax = 0x7fffffff,
67801e04c3fSmrg} SpvKernelEnqueueFlags;
67901e04c3fSmrg
68001e04c3fSmrgtypedef enum SpvKernelProfilingInfoShift_ {
68101e04c3fSmrg    SpvKernelProfilingInfoCmdExecTimeShift = 0,
68201e04c3fSmrg    SpvKernelProfilingInfoMax = 0x7fffffff,
68301e04c3fSmrg} SpvKernelProfilingInfoShift;
68401e04c3fSmrg
68501e04c3fSmrgtypedef enum SpvKernelProfilingInfoMask_ {
68601e04c3fSmrg    SpvKernelProfilingInfoMaskNone = 0,
68701e04c3fSmrg    SpvKernelProfilingInfoCmdExecTimeMask = 0x00000001,
68801e04c3fSmrg} SpvKernelProfilingInfoMask;
68901e04c3fSmrg
69001e04c3fSmrgtypedef enum SpvCapability_ {
69101e04c3fSmrg    SpvCapabilityMatrix = 0,
69201e04c3fSmrg    SpvCapabilityShader = 1,
69301e04c3fSmrg    SpvCapabilityGeometry = 2,
69401e04c3fSmrg    SpvCapabilityTessellation = 3,
69501e04c3fSmrg    SpvCapabilityAddresses = 4,
69601e04c3fSmrg    SpvCapabilityLinkage = 5,
69701e04c3fSmrg    SpvCapabilityKernel = 6,
69801e04c3fSmrg    SpvCapabilityVector16 = 7,
69901e04c3fSmrg    SpvCapabilityFloat16Buffer = 8,
70001e04c3fSmrg    SpvCapabilityFloat16 = 9,
70101e04c3fSmrg    SpvCapabilityFloat64 = 10,
70201e04c3fSmrg    SpvCapabilityInt64 = 11,
70301e04c3fSmrg    SpvCapabilityInt64Atomics = 12,
70401e04c3fSmrg    SpvCapabilityImageBasic = 13,
70501e04c3fSmrg    SpvCapabilityImageReadWrite = 14,
70601e04c3fSmrg    SpvCapabilityImageMipmap = 15,
70701e04c3fSmrg    SpvCapabilityPipes = 17,
70801e04c3fSmrg    SpvCapabilityGroups = 18,
70901e04c3fSmrg    SpvCapabilityDeviceEnqueue = 19,
71001e04c3fSmrg    SpvCapabilityLiteralSampler = 20,
71101e04c3fSmrg    SpvCapabilityAtomicStorage = 21,
71201e04c3fSmrg    SpvCapabilityInt16 = 22,
71301e04c3fSmrg    SpvCapabilityTessellationPointSize = 23,
71401e04c3fSmrg    SpvCapabilityGeometryPointSize = 24,
71501e04c3fSmrg    SpvCapabilityImageGatherExtended = 25,
71601e04c3fSmrg    SpvCapabilityStorageImageMultisample = 27,
71701e04c3fSmrg    SpvCapabilityUniformBufferArrayDynamicIndexing = 28,
71801e04c3fSmrg    SpvCapabilitySampledImageArrayDynamicIndexing = 29,
71901e04c3fSmrg    SpvCapabilityStorageBufferArrayDynamicIndexing = 30,
72001e04c3fSmrg    SpvCapabilityStorageImageArrayDynamicIndexing = 31,
72101e04c3fSmrg    SpvCapabilityClipDistance = 32,
72201e04c3fSmrg    SpvCapabilityCullDistance = 33,
72301e04c3fSmrg    SpvCapabilityImageCubeArray = 34,
72401e04c3fSmrg    SpvCapabilitySampleRateShading = 35,
72501e04c3fSmrg    SpvCapabilityImageRect = 36,
72601e04c3fSmrg    SpvCapabilitySampledRect = 37,
72701e04c3fSmrg    SpvCapabilityGenericPointer = 38,
72801e04c3fSmrg    SpvCapabilityInt8 = 39,
72901e04c3fSmrg    SpvCapabilityInputAttachment = 40,
73001e04c3fSmrg    SpvCapabilitySparseResidency = 41,
73101e04c3fSmrg    SpvCapabilityMinLod = 42,
73201e04c3fSmrg    SpvCapabilitySampled1D = 43,
73301e04c3fSmrg    SpvCapabilityImage1D = 44,
73401e04c3fSmrg    SpvCapabilitySampledCubeArray = 45,
73501e04c3fSmrg    SpvCapabilitySampledBuffer = 46,
73601e04c3fSmrg    SpvCapabilityImageBuffer = 47,
73701e04c3fSmrg    SpvCapabilityImageMSArray = 48,
73801e04c3fSmrg    SpvCapabilityStorageImageExtendedFormats = 49,
73901e04c3fSmrg    SpvCapabilityImageQuery = 50,
74001e04c3fSmrg    SpvCapabilityDerivativeControl = 51,
74101e04c3fSmrg    SpvCapabilityInterpolationFunction = 52,
74201e04c3fSmrg    SpvCapabilityTransformFeedback = 53,
74301e04c3fSmrg    SpvCapabilityGeometryStreams = 54,
74401e04c3fSmrg    SpvCapabilityStorageImageReadWithoutFormat = 55,
74501e04c3fSmrg    SpvCapabilityStorageImageWriteWithoutFormat = 56,
74601e04c3fSmrg    SpvCapabilityMultiViewport = 57,
74701e04c3fSmrg    SpvCapabilitySubgroupDispatch = 58,
74801e04c3fSmrg    SpvCapabilityNamedBarrier = 59,
74901e04c3fSmrg    SpvCapabilityPipeStorage = 60,
75001e04c3fSmrg    SpvCapabilityGroupNonUniform = 61,
75101e04c3fSmrg    SpvCapabilityGroupNonUniformVote = 62,
75201e04c3fSmrg    SpvCapabilityGroupNonUniformArithmetic = 63,
75301e04c3fSmrg    SpvCapabilityGroupNonUniformBallot = 64,
75401e04c3fSmrg    SpvCapabilityGroupNonUniformShuffle = 65,
75501e04c3fSmrg    SpvCapabilityGroupNonUniformShuffleRelative = 66,
75601e04c3fSmrg    SpvCapabilityGroupNonUniformClustered = 67,
75701e04c3fSmrg    SpvCapabilityGroupNonUniformQuad = 68,
75801e04c3fSmrg    SpvCapabilitySubgroupBallotKHR = 4423,
75901e04c3fSmrg    SpvCapabilityDrawParameters = 4427,
76001e04c3fSmrg    SpvCapabilitySubgroupVoteKHR = 4431,
76101e04c3fSmrg    SpvCapabilityStorageBuffer16BitAccess = 4433,
76201e04c3fSmrg    SpvCapabilityStorageUniformBufferBlock16 = 4433,
76301e04c3fSmrg    SpvCapabilityStorageUniform16 = 4434,
76401e04c3fSmrg    SpvCapabilityUniformAndStorageBuffer16BitAccess = 4434,
76501e04c3fSmrg    SpvCapabilityStoragePushConstant16 = 4435,
76601e04c3fSmrg    SpvCapabilityStorageInputOutput16 = 4436,
76701e04c3fSmrg    SpvCapabilityDeviceGroup = 4437,
76801e04c3fSmrg    SpvCapabilityMultiView = 4439,
76901e04c3fSmrg    SpvCapabilityVariablePointersStorageBuffer = 4441,
77001e04c3fSmrg    SpvCapabilityVariablePointers = 4442,
77101e04c3fSmrg    SpvCapabilityAtomicStorageOps = 4445,
77201e04c3fSmrg    SpvCapabilitySampleMaskPostDepthCoverage = 4447,
77301e04c3fSmrg    SpvCapabilityStorageBuffer8BitAccess = 4448,
77401e04c3fSmrg    SpvCapabilityUniformAndStorageBuffer8BitAccess = 4449,
77501e04c3fSmrg    SpvCapabilityStoragePushConstant8 = 4450,
7767e102996Smaya    SpvCapabilityDenormPreserve = 4464,
7777e102996Smaya    SpvCapabilityDenormFlushToZero = 4465,
7787e102996Smaya    SpvCapabilitySignedZeroInfNanPreserve = 4466,
7797e102996Smaya    SpvCapabilityRoundingModeRTE = 4467,
7807e102996Smaya    SpvCapabilityRoundingModeRTZ = 4468,
78101e04c3fSmrg    SpvCapabilityFloat16ImageAMD = 5008,
78201e04c3fSmrg    SpvCapabilityImageGatherBiasLodAMD = 5009,
78301e04c3fSmrg    SpvCapabilityFragmentMaskAMD = 5010,
78401e04c3fSmrg    SpvCapabilityStencilExportEXT = 5013,
78501e04c3fSmrg    SpvCapabilityImageReadWriteLodAMD = 5015,
78601e04c3fSmrg    SpvCapabilitySampleMaskOverrideCoverageNV = 5249,
78701e04c3fSmrg    SpvCapabilityGeometryShaderPassthroughNV = 5251,
78801e04c3fSmrg    SpvCapabilityShaderViewportIndexLayerEXT = 5254,
78901e04c3fSmrg    SpvCapabilityShaderViewportIndexLayerNV = 5254,
79001e04c3fSmrg    SpvCapabilityShaderViewportMaskNV = 5255,
79101e04c3fSmrg    SpvCapabilityShaderStereoViewNV = 5259,
79201e04c3fSmrg    SpvCapabilityPerViewAttributesNV = 5260,
79301e04c3fSmrg    SpvCapabilityFragmentFullyCoveredEXT = 5265,
79401e04c3fSmrg    SpvCapabilityMeshShadingNV = 5266,
79501e04c3fSmrg    SpvCapabilityImageFootprintNV = 5282,
79601e04c3fSmrg    SpvCapabilityFragmentBarycentricNV = 5284,
79701e04c3fSmrg    SpvCapabilityComputeDerivativeGroupQuadsNV = 5288,
7987e102996Smaya    SpvCapabilityFragmentDensityEXT = 5291,
79901e04c3fSmrg    SpvCapabilityShadingRateNV = 5291,
80001e04c3fSmrg    SpvCapabilityGroupNonUniformPartitionedNV = 5297,
80101e04c3fSmrg    SpvCapabilityShaderNonUniformEXT = 5301,
80201e04c3fSmrg    SpvCapabilityRuntimeDescriptorArrayEXT = 5302,
80301e04c3fSmrg    SpvCapabilityInputAttachmentArrayDynamicIndexingEXT = 5303,
80401e04c3fSmrg    SpvCapabilityUniformTexelBufferArrayDynamicIndexingEXT = 5304,
80501e04c3fSmrg    SpvCapabilityStorageTexelBufferArrayDynamicIndexingEXT = 5305,
80601e04c3fSmrg    SpvCapabilityUniformBufferArrayNonUniformIndexingEXT = 5306,
80701e04c3fSmrg    SpvCapabilitySampledImageArrayNonUniformIndexingEXT = 5307,
80801e04c3fSmrg    SpvCapabilityStorageBufferArrayNonUniformIndexingEXT = 5308,
80901e04c3fSmrg    SpvCapabilityStorageImageArrayNonUniformIndexingEXT = 5309,
81001e04c3fSmrg    SpvCapabilityInputAttachmentArrayNonUniformIndexingEXT = 5310,
81101e04c3fSmrg    SpvCapabilityUniformTexelBufferArrayNonUniformIndexingEXT = 5311,
81201e04c3fSmrg    SpvCapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312,
8137e102996Smaya    SpvCapabilityRayTracingNV = 5340,
81401e04c3fSmrg    SpvCapabilityVulkanMemoryModelKHR = 5345,
81501e04c3fSmrg    SpvCapabilityVulkanMemoryModelDeviceScopeKHR = 5346,
8167e102996Smaya    SpvCapabilityPhysicalStorageBufferAddressesEXT = 5347,
81701e04c3fSmrg    SpvCapabilityComputeDerivativeGroupLinearNV = 5350,
81801e04c3fSmrg    SpvCapabilitySubgroupShuffleINTEL = 5568,
81901e04c3fSmrg    SpvCapabilitySubgroupBufferBlockIOINTEL = 5569,
82001e04c3fSmrg    SpvCapabilitySubgroupImageBlockIOINTEL = 5570,
82101e04c3fSmrg    SpvCapabilityMax = 0x7fffffff,
82201e04c3fSmrg} SpvCapability;
82301e04c3fSmrg
82401e04c3fSmrgtypedef enum SpvOp_ {
82501e04c3fSmrg    SpvOpNop = 0,
82601e04c3fSmrg    SpvOpUndef = 1,
82701e04c3fSmrg    SpvOpSourceContinued = 2,
82801e04c3fSmrg    SpvOpSource = 3,
82901e04c3fSmrg    SpvOpSourceExtension = 4,
83001e04c3fSmrg    SpvOpName = 5,
83101e04c3fSmrg    SpvOpMemberName = 6,
83201e04c3fSmrg    SpvOpString = 7,
83301e04c3fSmrg    SpvOpLine = 8,
83401e04c3fSmrg    SpvOpExtension = 10,
83501e04c3fSmrg    SpvOpExtInstImport = 11,
83601e04c3fSmrg    SpvOpExtInst = 12,
83701e04c3fSmrg    SpvOpMemoryModel = 14,
83801e04c3fSmrg    SpvOpEntryPoint = 15,
83901e04c3fSmrg    SpvOpExecutionMode = 16,
84001e04c3fSmrg    SpvOpCapability = 17,
84101e04c3fSmrg    SpvOpTypeVoid = 19,
84201e04c3fSmrg    SpvOpTypeBool = 20,
84301e04c3fSmrg    SpvOpTypeInt = 21,
84401e04c3fSmrg    SpvOpTypeFloat = 22,
84501e04c3fSmrg    SpvOpTypeVector = 23,
84601e04c3fSmrg    SpvOpTypeMatrix = 24,
84701e04c3fSmrg    SpvOpTypeImage = 25,
84801e04c3fSmrg    SpvOpTypeSampler = 26,
84901e04c3fSmrg    SpvOpTypeSampledImage = 27,
85001e04c3fSmrg    SpvOpTypeArray = 28,
85101e04c3fSmrg    SpvOpTypeRuntimeArray = 29,
85201e04c3fSmrg    SpvOpTypeStruct = 30,
85301e04c3fSmrg    SpvOpTypeOpaque = 31,
85401e04c3fSmrg    SpvOpTypePointer = 32,
85501e04c3fSmrg    SpvOpTypeFunction = 33,
85601e04c3fSmrg    SpvOpTypeEvent = 34,
85701e04c3fSmrg    SpvOpTypeDeviceEvent = 35,
85801e04c3fSmrg    SpvOpTypeReserveId = 36,
85901e04c3fSmrg    SpvOpTypeQueue = 37,
86001e04c3fSmrg    SpvOpTypePipe = 38,
86101e04c3fSmrg    SpvOpTypeForwardPointer = 39,
86201e04c3fSmrg    SpvOpConstantTrue = 41,
86301e04c3fSmrg    SpvOpConstantFalse = 42,
86401e04c3fSmrg    SpvOpConstant = 43,
86501e04c3fSmrg    SpvOpConstantComposite = 44,
86601e04c3fSmrg    SpvOpConstantSampler = 45,
86701e04c3fSmrg    SpvOpConstantNull = 46,
86801e04c3fSmrg    SpvOpSpecConstantTrue = 48,
86901e04c3fSmrg    SpvOpSpecConstantFalse = 49,
87001e04c3fSmrg    SpvOpSpecConstant = 50,
87101e04c3fSmrg    SpvOpSpecConstantComposite = 51,
87201e04c3fSmrg    SpvOpSpecConstantOp = 52,
87301e04c3fSmrg    SpvOpFunction = 54,
87401e04c3fSmrg    SpvOpFunctionParameter = 55,
87501e04c3fSmrg    SpvOpFunctionEnd = 56,
87601e04c3fSmrg    SpvOpFunctionCall = 57,
87701e04c3fSmrg    SpvOpVariable = 59,
87801e04c3fSmrg    SpvOpImageTexelPointer = 60,
87901e04c3fSmrg    SpvOpLoad = 61,
88001e04c3fSmrg    SpvOpStore = 62,
88101e04c3fSmrg    SpvOpCopyMemory = 63,
88201e04c3fSmrg    SpvOpCopyMemorySized = 64,
88301e04c3fSmrg    SpvOpAccessChain = 65,
88401e04c3fSmrg    SpvOpInBoundsAccessChain = 66,
88501e04c3fSmrg    SpvOpPtrAccessChain = 67,
88601e04c3fSmrg    SpvOpArrayLength = 68,
88701e04c3fSmrg    SpvOpGenericPtrMemSemantics = 69,
88801e04c3fSmrg    SpvOpInBoundsPtrAccessChain = 70,
88901e04c3fSmrg    SpvOpDecorate = 71,
89001e04c3fSmrg    SpvOpMemberDecorate = 72,
89101e04c3fSmrg    SpvOpDecorationGroup = 73,
89201e04c3fSmrg    SpvOpGroupDecorate = 74,
89301e04c3fSmrg    SpvOpGroupMemberDecorate = 75,
89401e04c3fSmrg    SpvOpVectorExtractDynamic = 77,
89501e04c3fSmrg    SpvOpVectorInsertDynamic = 78,
89601e04c3fSmrg    SpvOpVectorShuffle = 79,
89701e04c3fSmrg    SpvOpCompositeConstruct = 80,
89801e04c3fSmrg    SpvOpCompositeExtract = 81,
89901e04c3fSmrg    SpvOpCompositeInsert = 82,
90001e04c3fSmrg    SpvOpCopyObject = 83,
90101e04c3fSmrg    SpvOpTranspose = 84,
90201e04c3fSmrg    SpvOpSampledImage = 86,
90301e04c3fSmrg    SpvOpImageSampleImplicitLod = 87,
90401e04c3fSmrg    SpvOpImageSampleExplicitLod = 88,
90501e04c3fSmrg    SpvOpImageSampleDrefImplicitLod = 89,
90601e04c3fSmrg    SpvOpImageSampleDrefExplicitLod = 90,
90701e04c3fSmrg    SpvOpImageSampleProjImplicitLod = 91,
90801e04c3fSmrg    SpvOpImageSampleProjExplicitLod = 92,
90901e04c3fSmrg    SpvOpImageSampleProjDrefImplicitLod = 93,
91001e04c3fSmrg    SpvOpImageSampleProjDrefExplicitLod = 94,
91101e04c3fSmrg    SpvOpImageFetch = 95,
91201e04c3fSmrg    SpvOpImageGather = 96,
91301e04c3fSmrg    SpvOpImageDrefGather = 97,
91401e04c3fSmrg    SpvOpImageRead = 98,
91501e04c3fSmrg    SpvOpImageWrite = 99,
91601e04c3fSmrg    SpvOpImage = 100,
91701e04c3fSmrg    SpvOpImageQueryFormat = 101,
91801e04c3fSmrg    SpvOpImageQueryOrder = 102,
91901e04c3fSmrg    SpvOpImageQuerySizeLod = 103,
92001e04c3fSmrg    SpvOpImageQuerySize = 104,
92101e04c3fSmrg    SpvOpImageQueryLod = 105,
92201e04c3fSmrg    SpvOpImageQueryLevels = 106,
92301e04c3fSmrg    SpvOpImageQuerySamples = 107,
92401e04c3fSmrg    SpvOpConvertFToU = 109,
92501e04c3fSmrg    SpvOpConvertFToS = 110,
92601e04c3fSmrg    SpvOpConvertSToF = 111,
92701e04c3fSmrg    SpvOpConvertUToF = 112,
92801e04c3fSmrg    SpvOpUConvert = 113,
92901e04c3fSmrg    SpvOpSConvert = 114,
93001e04c3fSmrg    SpvOpFConvert = 115,
93101e04c3fSmrg    SpvOpQuantizeToF16 = 116,
93201e04c3fSmrg    SpvOpConvertPtrToU = 117,
93301e04c3fSmrg    SpvOpSatConvertSToU = 118,
93401e04c3fSmrg    SpvOpSatConvertUToS = 119,
93501e04c3fSmrg    SpvOpConvertUToPtr = 120,
93601e04c3fSmrg    SpvOpPtrCastToGeneric = 121,
93701e04c3fSmrg    SpvOpGenericCastToPtr = 122,
93801e04c3fSmrg    SpvOpGenericCastToPtrExplicit = 123,
93901e04c3fSmrg    SpvOpBitcast = 124,
94001e04c3fSmrg    SpvOpSNegate = 126,
94101e04c3fSmrg    SpvOpFNegate = 127,
94201e04c3fSmrg    SpvOpIAdd = 128,
94301e04c3fSmrg    SpvOpFAdd = 129,
94401e04c3fSmrg    SpvOpISub = 130,
94501e04c3fSmrg    SpvOpFSub = 131,
94601e04c3fSmrg    SpvOpIMul = 132,
94701e04c3fSmrg    SpvOpFMul = 133,
94801e04c3fSmrg    SpvOpUDiv = 134,
94901e04c3fSmrg    SpvOpSDiv = 135,
95001e04c3fSmrg    SpvOpFDiv = 136,
95101e04c3fSmrg    SpvOpUMod = 137,
95201e04c3fSmrg    SpvOpSRem = 138,
95301e04c3fSmrg    SpvOpSMod = 139,
95401e04c3fSmrg    SpvOpFRem = 140,
95501e04c3fSmrg    SpvOpFMod = 141,
95601e04c3fSmrg    SpvOpVectorTimesScalar = 142,
95701e04c3fSmrg    SpvOpMatrixTimesScalar = 143,
95801e04c3fSmrg    SpvOpVectorTimesMatrix = 144,
95901e04c3fSmrg    SpvOpMatrixTimesVector = 145,
96001e04c3fSmrg    SpvOpMatrixTimesMatrix = 146,
96101e04c3fSmrg    SpvOpOuterProduct = 147,
96201e04c3fSmrg    SpvOpDot = 148,
96301e04c3fSmrg    SpvOpIAddCarry = 149,
96401e04c3fSmrg    SpvOpISubBorrow = 150,
96501e04c3fSmrg    SpvOpUMulExtended = 151,
96601e04c3fSmrg    SpvOpSMulExtended = 152,
96701e04c3fSmrg    SpvOpAny = 154,
96801e04c3fSmrg    SpvOpAll = 155,
96901e04c3fSmrg    SpvOpIsNan = 156,
97001e04c3fSmrg    SpvOpIsInf = 157,
97101e04c3fSmrg    SpvOpIsFinite = 158,
97201e04c3fSmrg    SpvOpIsNormal = 159,
97301e04c3fSmrg    SpvOpSignBitSet = 160,
97401e04c3fSmrg    SpvOpLessOrGreater = 161,
97501e04c3fSmrg    SpvOpOrdered = 162,
97601e04c3fSmrg    SpvOpUnordered = 163,
97701e04c3fSmrg    SpvOpLogicalEqual = 164,
97801e04c3fSmrg    SpvOpLogicalNotEqual = 165,
97901e04c3fSmrg    SpvOpLogicalOr = 166,
98001e04c3fSmrg    SpvOpLogicalAnd = 167,
98101e04c3fSmrg    SpvOpLogicalNot = 168,
98201e04c3fSmrg    SpvOpSelect = 169,
98301e04c3fSmrg    SpvOpIEqual = 170,
98401e04c3fSmrg    SpvOpINotEqual = 171,
98501e04c3fSmrg    SpvOpUGreaterThan = 172,
98601e04c3fSmrg    SpvOpSGreaterThan = 173,
98701e04c3fSmrg    SpvOpUGreaterThanEqual = 174,
98801e04c3fSmrg    SpvOpSGreaterThanEqual = 175,
98901e04c3fSmrg    SpvOpULessThan = 176,
99001e04c3fSmrg    SpvOpSLessThan = 177,
99101e04c3fSmrg    SpvOpULessThanEqual = 178,
99201e04c3fSmrg    SpvOpSLessThanEqual = 179,
99301e04c3fSmrg    SpvOpFOrdEqual = 180,
99401e04c3fSmrg    SpvOpFUnordEqual = 181,
99501e04c3fSmrg    SpvOpFOrdNotEqual = 182,
99601e04c3fSmrg    SpvOpFUnordNotEqual = 183,
99701e04c3fSmrg    SpvOpFOrdLessThan = 184,
99801e04c3fSmrg    SpvOpFUnordLessThan = 185,
99901e04c3fSmrg    SpvOpFOrdGreaterThan = 186,
100001e04c3fSmrg    SpvOpFUnordGreaterThan = 187,
100101e04c3fSmrg    SpvOpFOrdLessThanEqual = 188,
100201e04c3fSmrg    SpvOpFUnordLessThanEqual = 189,
100301e04c3fSmrg    SpvOpFOrdGreaterThanEqual = 190,
100401e04c3fSmrg    SpvOpFUnordGreaterThanEqual = 191,
100501e04c3fSmrg    SpvOpShiftRightLogical = 194,
100601e04c3fSmrg    SpvOpShiftRightArithmetic = 195,
100701e04c3fSmrg    SpvOpShiftLeftLogical = 196,
100801e04c3fSmrg    SpvOpBitwiseOr = 197,
100901e04c3fSmrg    SpvOpBitwiseXor = 198,
101001e04c3fSmrg    SpvOpBitwiseAnd = 199,
101101e04c3fSmrg    SpvOpNot = 200,
101201e04c3fSmrg    SpvOpBitFieldInsert = 201,
101301e04c3fSmrg    SpvOpBitFieldSExtract = 202,
101401e04c3fSmrg    SpvOpBitFieldUExtract = 203,
101501e04c3fSmrg    SpvOpBitReverse = 204,
101601e04c3fSmrg    SpvOpBitCount = 205,
101701e04c3fSmrg    SpvOpDPdx = 207,
101801e04c3fSmrg    SpvOpDPdy = 208,
101901e04c3fSmrg    SpvOpFwidth = 209,
102001e04c3fSmrg    SpvOpDPdxFine = 210,
102101e04c3fSmrg    SpvOpDPdyFine = 211,
102201e04c3fSmrg    SpvOpFwidthFine = 212,
102301e04c3fSmrg    SpvOpDPdxCoarse = 213,
102401e04c3fSmrg    SpvOpDPdyCoarse = 214,
102501e04c3fSmrg    SpvOpFwidthCoarse = 215,
102601e04c3fSmrg    SpvOpEmitVertex = 218,
102701e04c3fSmrg    SpvOpEndPrimitive = 219,
102801e04c3fSmrg    SpvOpEmitStreamVertex = 220,
102901e04c3fSmrg    SpvOpEndStreamPrimitive = 221,
103001e04c3fSmrg    SpvOpControlBarrier = 224,
103101e04c3fSmrg    SpvOpMemoryBarrier = 225,
103201e04c3fSmrg    SpvOpAtomicLoad = 227,
103301e04c3fSmrg    SpvOpAtomicStore = 228,
103401e04c3fSmrg    SpvOpAtomicExchange = 229,
103501e04c3fSmrg    SpvOpAtomicCompareExchange = 230,
103601e04c3fSmrg    SpvOpAtomicCompareExchangeWeak = 231,
103701e04c3fSmrg    SpvOpAtomicIIncrement = 232,
103801e04c3fSmrg    SpvOpAtomicIDecrement = 233,
103901e04c3fSmrg    SpvOpAtomicIAdd = 234,
104001e04c3fSmrg    SpvOpAtomicISub = 235,
104101e04c3fSmrg    SpvOpAtomicSMin = 236,
104201e04c3fSmrg    SpvOpAtomicUMin = 237,
104301e04c3fSmrg    SpvOpAtomicSMax = 238,
104401e04c3fSmrg    SpvOpAtomicUMax = 239,
104501e04c3fSmrg    SpvOpAtomicAnd = 240,
104601e04c3fSmrg    SpvOpAtomicOr = 241,
104701e04c3fSmrg    SpvOpAtomicXor = 242,
104801e04c3fSmrg    SpvOpPhi = 245,
104901e04c3fSmrg    SpvOpLoopMerge = 246,
105001e04c3fSmrg    SpvOpSelectionMerge = 247,
105101e04c3fSmrg    SpvOpLabel = 248,
105201e04c3fSmrg    SpvOpBranch = 249,
105301e04c3fSmrg    SpvOpBranchConditional = 250,
105401e04c3fSmrg    SpvOpSwitch = 251,
105501e04c3fSmrg    SpvOpKill = 252,
105601e04c3fSmrg    SpvOpReturn = 253,
105701e04c3fSmrg    SpvOpReturnValue = 254,
105801e04c3fSmrg    SpvOpUnreachable = 255,
105901e04c3fSmrg    SpvOpLifetimeStart = 256,
106001e04c3fSmrg    SpvOpLifetimeStop = 257,
106101e04c3fSmrg    SpvOpGroupAsyncCopy = 259,
106201e04c3fSmrg    SpvOpGroupWaitEvents = 260,
106301e04c3fSmrg    SpvOpGroupAll = 261,
106401e04c3fSmrg    SpvOpGroupAny = 262,
106501e04c3fSmrg    SpvOpGroupBroadcast = 263,
106601e04c3fSmrg    SpvOpGroupIAdd = 264,
106701e04c3fSmrg    SpvOpGroupFAdd = 265,
106801e04c3fSmrg    SpvOpGroupFMin = 266,
106901e04c3fSmrg    SpvOpGroupUMin = 267,
107001e04c3fSmrg    SpvOpGroupSMin = 268,
107101e04c3fSmrg    SpvOpGroupFMax = 269,
107201e04c3fSmrg    SpvOpGroupUMax = 270,
107301e04c3fSmrg    SpvOpGroupSMax = 271,
107401e04c3fSmrg    SpvOpReadPipe = 274,
107501e04c3fSmrg    SpvOpWritePipe = 275,
107601e04c3fSmrg    SpvOpReservedReadPipe = 276,
107701e04c3fSmrg    SpvOpReservedWritePipe = 277,
107801e04c3fSmrg    SpvOpReserveReadPipePackets = 278,
107901e04c3fSmrg    SpvOpReserveWritePipePackets = 279,
108001e04c3fSmrg    SpvOpCommitReadPipe = 280,
108101e04c3fSmrg    SpvOpCommitWritePipe = 281,
108201e04c3fSmrg    SpvOpIsValidReserveId = 282,
108301e04c3fSmrg    SpvOpGetNumPipePackets = 283,
108401e04c3fSmrg    SpvOpGetMaxPipePackets = 284,
108501e04c3fSmrg    SpvOpGroupReserveReadPipePackets = 285,
108601e04c3fSmrg    SpvOpGroupReserveWritePipePackets = 286,
108701e04c3fSmrg    SpvOpGroupCommitReadPipe = 287,
108801e04c3fSmrg    SpvOpGroupCommitWritePipe = 288,
108901e04c3fSmrg    SpvOpEnqueueMarker = 291,
109001e04c3fSmrg    SpvOpEnqueueKernel = 292,
109101e04c3fSmrg    SpvOpGetKernelNDrangeSubGroupCount = 293,
109201e04c3fSmrg    SpvOpGetKernelNDrangeMaxSubGroupSize = 294,
109301e04c3fSmrg    SpvOpGetKernelWorkGroupSize = 295,
109401e04c3fSmrg    SpvOpGetKernelPreferredWorkGroupSizeMultiple = 296,
109501e04c3fSmrg    SpvOpRetainEvent = 297,
109601e04c3fSmrg    SpvOpReleaseEvent = 298,
109701e04c3fSmrg    SpvOpCreateUserEvent = 299,
109801e04c3fSmrg    SpvOpIsValidEvent = 300,
109901e04c3fSmrg    SpvOpSetUserEventStatus = 301,
110001e04c3fSmrg    SpvOpCaptureEventProfilingInfo = 302,
110101e04c3fSmrg    SpvOpGetDefaultQueue = 303,
110201e04c3fSmrg    SpvOpBuildNDRange = 304,
110301e04c3fSmrg    SpvOpImageSparseSampleImplicitLod = 305,
110401e04c3fSmrg    SpvOpImageSparseSampleExplicitLod = 306,
110501e04c3fSmrg    SpvOpImageSparseSampleDrefImplicitLod = 307,
110601e04c3fSmrg    SpvOpImageSparseSampleDrefExplicitLod = 308,
110701e04c3fSmrg    SpvOpImageSparseSampleProjImplicitLod = 309,
110801e04c3fSmrg    SpvOpImageSparseSampleProjExplicitLod = 310,
110901e04c3fSmrg    SpvOpImageSparseSampleProjDrefImplicitLod = 311,
111001e04c3fSmrg    SpvOpImageSparseSampleProjDrefExplicitLod = 312,
111101e04c3fSmrg    SpvOpImageSparseFetch = 313,
111201e04c3fSmrg    SpvOpImageSparseGather = 314,
111301e04c3fSmrg    SpvOpImageSparseDrefGather = 315,
111401e04c3fSmrg    SpvOpImageSparseTexelsResident = 316,
111501e04c3fSmrg    SpvOpNoLine = 317,
111601e04c3fSmrg    SpvOpAtomicFlagTestAndSet = 318,
111701e04c3fSmrg    SpvOpAtomicFlagClear = 319,
111801e04c3fSmrg    SpvOpImageSparseRead = 320,
111901e04c3fSmrg    SpvOpSizeOf = 321,
112001e04c3fSmrg    SpvOpTypePipeStorage = 322,
112101e04c3fSmrg    SpvOpConstantPipeStorage = 323,
112201e04c3fSmrg    SpvOpCreatePipeFromPipeStorage = 324,
112301e04c3fSmrg    SpvOpGetKernelLocalSizeForSubgroupCount = 325,
112401e04c3fSmrg    SpvOpGetKernelMaxNumSubgroups = 326,
112501e04c3fSmrg    SpvOpTypeNamedBarrier = 327,
112601e04c3fSmrg    SpvOpNamedBarrierInitialize = 328,
112701e04c3fSmrg    SpvOpMemoryNamedBarrier = 329,
112801e04c3fSmrg    SpvOpModuleProcessed = 330,
112901e04c3fSmrg    SpvOpExecutionModeId = 331,
113001e04c3fSmrg    SpvOpDecorateId = 332,
113101e04c3fSmrg    SpvOpGroupNonUniformElect = 333,
113201e04c3fSmrg    SpvOpGroupNonUniformAll = 334,
113301e04c3fSmrg    SpvOpGroupNonUniformAny = 335,
113401e04c3fSmrg    SpvOpGroupNonUniformAllEqual = 336,
113501e04c3fSmrg    SpvOpGroupNonUniformBroadcast = 337,
113601e04c3fSmrg    SpvOpGroupNonUniformBroadcastFirst = 338,
113701e04c3fSmrg    SpvOpGroupNonUniformBallot = 339,
113801e04c3fSmrg    SpvOpGroupNonUniformInverseBallot = 340,
113901e04c3fSmrg    SpvOpGroupNonUniformBallotBitExtract = 341,
114001e04c3fSmrg    SpvOpGroupNonUniformBallotBitCount = 342,
114101e04c3fSmrg    SpvOpGroupNonUniformBallotFindLSB = 343,
114201e04c3fSmrg    SpvOpGroupNonUniformBallotFindMSB = 344,
114301e04c3fSmrg    SpvOpGroupNonUniformShuffle = 345,
114401e04c3fSmrg    SpvOpGroupNonUniformShuffleXor = 346,
114501e04c3fSmrg    SpvOpGroupNonUniformShuffleUp = 347,
114601e04c3fSmrg    SpvOpGroupNonUniformShuffleDown = 348,
114701e04c3fSmrg    SpvOpGroupNonUniformIAdd = 349,
114801e04c3fSmrg    SpvOpGroupNonUniformFAdd = 350,
114901e04c3fSmrg    SpvOpGroupNonUniformIMul = 351,
115001e04c3fSmrg    SpvOpGroupNonUniformFMul = 352,
115101e04c3fSmrg    SpvOpGroupNonUniformSMin = 353,
115201e04c3fSmrg    SpvOpGroupNonUniformUMin = 354,
115301e04c3fSmrg    SpvOpGroupNonUniformFMin = 355,
115401e04c3fSmrg    SpvOpGroupNonUniformSMax = 356,
115501e04c3fSmrg    SpvOpGroupNonUniformUMax = 357,
115601e04c3fSmrg    SpvOpGroupNonUniformFMax = 358,
115701e04c3fSmrg    SpvOpGroupNonUniformBitwiseAnd = 359,
115801e04c3fSmrg    SpvOpGroupNonUniformBitwiseOr = 360,
115901e04c3fSmrg    SpvOpGroupNonUniformBitwiseXor = 361,
116001e04c3fSmrg    SpvOpGroupNonUniformLogicalAnd = 362,
116101e04c3fSmrg    SpvOpGroupNonUniformLogicalOr = 363,
116201e04c3fSmrg    SpvOpGroupNonUniformLogicalXor = 364,
116301e04c3fSmrg    SpvOpGroupNonUniformQuadBroadcast = 365,
116401e04c3fSmrg    SpvOpGroupNonUniformQuadSwap = 366,
116501e04c3fSmrg    SpvOpSubgroupBallotKHR = 4421,
116601e04c3fSmrg    SpvOpSubgroupFirstInvocationKHR = 4422,
116701e04c3fSmrg    SpvOpSubgroupAllKHR = 4428,
116801e04c3fSmrg    SpvOpSubgroupAnyKHR = 4429,
116901e04c3fSmrg    SpvOpSubgroupAllEqualKHR = 4430,
117001e04c3fSmrg    SpvOpSubgroupReadInvocationKHR = 4432,
117101e04c3fSmrg    SpvOpGroupIAddNonUniformAMD = 5000,
117201e04c3fSmrg    SpvOpGroupFAddNonUniformAMD = 5001,
117301e04c3fSmrg    SpvOpGroupFMinNonUniformAMD = 5002,
117401e04c3fSmrg    SpvOpGroupUMinNonUniformAMD = 5003,
117501e04c3fSmrg    SpvOpGroupSMinNonUniformAMD = 5004,
117601e04c3fSmrg    SpvOpGroupFMaxNonUniformAMD = 5005,
117701e04c3fSmrg    SpvOpGroupUMaxNonUniformAMD = 5006,
117801e04c3fSmrg    SpvOpGroupSMaxNonUniformAMD = 5007,
117901e04c3fSmrg    SpvOpFragmentMaskFetchAMD = 5011,
118001e04c3fSmrg    SpvOpFragmentFetchAMD = 5012,
118101e04c3fSmrg    SpvOpImageSampleFootprintNV = 5283,
118201e04c3fSmrg    SpvOpGroupNonUniformPartitionNV = 5296,
118301e04c3fSmrg    SpvOpWritePackedPrimitiveIndices4x8NV = 5299,
11847e102996Smaya    SpvOpReportIntersectionNV = 5334,
11857e102996Smaya    SpvOpIgnoreIntersectionNV = 5335,
11867e102996Smaya    SpvOpTerminateRayNV = 5336,
11877e102996Smaya    SpvOpTraceNV = 5337,
11887e102996Smaya    SpvOpTypeAccelerationStructureNV = 5341,
11897e102996Smaya    SpvOpExecuteCallableNV = 5344,
119001e04c3fSmrg    SpvOpSubgroupShuffleINTEL = 5571,
119101e04c3fSmrg    SpvOpSubgroupShuffleDownINTEL = 5572,
119201e04c3fSmrg    SpvOpSubgroupShuffleUpINTEL = 5573,
119301e04c3fSmrg    SpvOpSubgroupShuffleXorINTEL = 5574,
119401e04c3fSmrg    SpvOpSubgroupBlockReadINTEL = 5575,
119501e04c3fSmrg    SpvOpSubgroupBlockWriteINTEL = 5576,
119601e04c3fSmrg    SpvOpSubgroupImageBlockReadINTEL = 5577,
119701e04c3fSmrg    SpvOpSubgroupImageBlockWriteINTEL = 5578,
119801e04c3fSmrg    SpvOpDecorateStringGOOGLE = 5632,
119901e04c3fSmrg    SpvOpMemberDecorateStringGOOGLE = 5633,
120001e04c3fSmrg    SpvOpMax = 0x7fffffff,
120101e04c3fSmrg} SpvOp;
120201e04c3fSmrg
120301e04c3fSmrg#endif  // #ifndef spirv_H
120401e04c3fSmrg
1205