Ian Elliott | e671777 | 2015-04-16 18:31:46 -0600 | [diff] [blame] | 1 | /*
|
Courtney Goeltzenleuchter | e1f48b0 | 2015-05-08 15:46:40 -0600 | [diff] [blame] | 2 | ** Copyright (c) 2015 The Khronos Group Inc.
|
Ian Elliott | e671777 | 2015-04-16 18:31:46 -0600 | [diff] [blame] | 3 | **
|
Courtney Goeltzenleuchter | e1f48b0 | 2015-05-08 15:46:40 -0600 | [diff] [blame] | 4 | ** Permission is hereby granted, free of charge, to any person obtaining a copy
|
| 5 | ** of this software and/or associated documentation files (the "Materials"),
|
| 6 | ** to deal in the Materials without restriction, including without limitation
|
| 7 | ** the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
| 8 | ** and/or sell copies of the Materials, and to permit persons to whom the
|
| 9 | ** Materials are furnished to do so, subject to the following conditions:
|
Ian Elliott | e671777 | 2015-04-16 18:31:46 -0600 | [diff] [blame] | 10 | **
|
Courtney Goeltzenleuchter | e1f48b0 | 2015-05-08 15:46:40 -0600 | [diff] [blame] | 11 | ** The above copyright notice and this permission notice shall be included in
|
| 12 | ** all copies or substantial portions of the Materials.
|
Ian Elliott | e671777 | 2015-04-16 18:31:46 -0600 | [diff] [blame] | 13 | **
|
Courtney Goeltzenleuchter | e1f48b0 | 2015-05-08 15:46:40 -0600 | [diff] [blame] | 14 | ** MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS
|
| 15 | ** STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND
|
| 16 | ** HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/
|
| 17 | **
|
| 18 | ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
| 19 | ** OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
| 20 | ** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
| 21 | ** THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
| 22 | ** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
| 23 | ** FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS
|
| 24 | ** IN THE MATERIALS.
|
Ian Elliott | e671777 | 2015-04-16 18:31:46 -0600 | [diff] [blame] | 25 | */
|
| 26 |
|
Courtney Goeltzenleuchter | e1f48b0 | 2015-05-08 15:46:40 -0600 | [diff] [blame] | 27 | /*
|
| 28 | ** This header is automatically generated by the same tool that creates
|
| 29 | ** the Binary Section of the SPIR-V specification.
|
| 30 | */
|
Ian Elliott | e671777 | 2015-04-16 18:31:46 -0600 | [diff] [blame] | 31 |
|
Courtney Goeltzenleuchter | e1f48b0 | 2015-05-08 15:46:40 -0600 | [diff] [blame] | 32 | /*
|
| 33 | ** Specification revision 30.
|
| 34 | ** Enumeration tokens for SPIR-V, in three styles: C, C++, generic.
|
| 35 | ** - C++ will have the tokens in the "spv" name space, with no prefix.
|
| 36 | ** - C will have tokens with as "Spv" prefix.
|
| 37 | **
|
| 38 | ** Some tokens act like mask values, which can be OR'd together,
|
| 39 | ** while others are mutually exclusive. The mask-like ones have
|
| 40 | ** "Mask" in their name, and a parallel enum that has the shift
|
| 41 | ** amount (1 << x) for each corresponding enumerant.
|
| 42 | */
|
| 43 |
|
Ian Elliott | e671777 | 2015-04-16 18:31:46 -0600 | [diff] [blame] | 44 | #ifndef spirv_H
|
| 45 | #define spirv_H
|
| 46 |
|
| 47 | #ifdef __cplusplus
|
Courtney Goeltzenleuchter | e1f48b0 | 2015-05-08 15:46:40 -0600 | [diff] [blame] | 48 |
|
| 49 | namespace spv {
|
Ian Elliott | e671777 | 2015-04-16 18:31:46 -0600 | [diff] [blame] | 50 |
|
| 51 | const int MagicNumber = 0x07230203;
|
| 52 | const int Version = 99;
|
| 53 |
|
| 54 | typedef unsigned int Id;
|
| 55 |
|
Ian Elliott | e671777 | 2015-04-16 18:31:46 -0600 | [diff] [blame] | 56 | const unsigned int OpCodeMask = 0xFFFF;
|
| 57 | const unsigned int WordCountShift = 16;
|
| 58 |
|
Ian Elliott | e671777 | 2015-04-16 18:31:46 -0600 | [diff] [blame] | 59 | enum SourceLanguage {
|
Courtney Goeltzenleuchter | e1f48b0 | 2015-05-08 15:46:40 -0600 | [diff] [blame] | 60 | SourceLanguageUnknown = 0,
|
| 61 | SourceLanguageESSL = 1,
|
| 62 | SourceLanguageGLSL = 2,
|
| 63 | SourceLanguageOpenCL = 3,
|
Ian Elliott | e671777 | 2015-04-16 18:31:46 -0600 | [diff] [blame] | 64 | };
|
| 65 |
|
Ian Elliott | e671777 | 2015-04-16 18:31:46 -0600 | [diff] [blame] | 66 | enum ExecutionModel {
|
Courtney Goeltzenleuchter | e1f48b0 | 2015-05-08 15:46:40 -0600 | [diff] [blame] | 67 | ExecutionModelVertex = 0,
|
| 68 | ExecutionModelTessellationControl = 1,
|
| 69 | ExecutionModelTessellationEvaluation = 2,
|
| 70 | ExecutionModelGeometry = 3,
|
| 71 | ExecutionModelFragment = 4,
|
| 72 | ExecutionModelGLCompute = 5,
|
| 73 | ExecutionModelKernel = 6,
|
Ian Elliott | e671777 | 2015-04-16 18:31:46 -0600 | [diff] [blame] | 74 | };
|
| 75 |
|
Ian Elliott | e671777 | 2015-04-16 18:31:46 -0600 | [diff] [blame] | 76 | enum AddressingModel {
|
Courtney Goeltzenleuchter | e1f48b0 | 2015-05-08 15:46:40 -0600 | [diff] [blame] | 77 | AddressingModelLogical = 0,
|
| 78 | AddressingModelPhysical32 = 1,
|
| 79 | AddressingModelPhysical64 = 2,
|
Ian Elliott | e671777 | 2015-04-16 18:31:46 -0600 | [diff] [blame] | 80 | };
|
| 81 |
|
Ian Elliott | e671777 | 2015-04-16 18:31:46 -0600 | [diff] [blame] | 82 | enum MemoryModel {
|
Courtney Goeltzenleuchter | e1f48b0 | 2015-05-08 15:46:40 -0600 | [diff] [blame] | 83 | MemoryModelSimple = 0,
|
| 84 | MemoryModelGLSL450 = 1,
|
| 85 | MemoryModelOpenCL12 = 2,
|
| 86 | MemoryModelOpenCL20 = 3,
|
| 87 | MemoryModelOpenCL21 = 4,
|
Ian Elliott | e671777 | 2015-04-16 18:31:46 -0600 | [diff] [blame] | 88 | };
|
| 89 |
|
Ian Elliott | e671777 | 2015-04-16 18:31:46 -0600 | [diff] [blame] | 90 | enum ExecutionMode {
|
Courtney Goeltzenleuchter | e1f48b0 | 2015-05-08 15:46:40 -0600 | [diff] [blame] | 91 | ExecutionModeInvocations = 0,
|
| 92 | ExecutionModeSpacingEqual = 1,
|
| 93 | ExecutionModeSpacingFractionalEven = 2,
|
| 94 | ExecutionModeSpacingFractionalOdd = 3,
|
| 95 | ExecutionModeVertexOrderCw = 4,
|
| 96 | ExecutionModeVertexOrderCcw = 5,
|
| 97 | ExecutionModePixelCenterInteger = 6,
|
| 98 | ExecutionModeOriginUpperLeft = 7,
|
| 99 | ExecutionModeEarlyFragmentTests = 8,
|
| 100 | ExecutionModePointMode = 9,
|
| 101 | ExecutionModeXfb = 10,
|
| 102 | ExecutionModeDepthReplacing = 11,
|
| 103 | ExecutionModeDepthAny = 12,
|
| 104 | ExecutionModeDepthGreater = 13,
|
| 105 | ExecutionModeDepthLess = 14,
|
| 106 | ExecutionModeDepthUnchanged = 15,
|
| 107 | ExecutionModeLocalSize = 16,
|
| 108 | ExecutionModeLocalSizeHint = 17,
|
| 109 | ExecutionModeInputPoints = 18,
|
| 110 | ExecutionModeInputLines = 19,
|
| 111 | ExecutionModeInputLinesAdjacency = 20,
|
| 112 | ExecutionModeInputTriangles = 21,
|
| 113 | ExecutionModeInputTrianglesAdjacency = 22,
|
| 114 | ExecutionModeInputQuads = 23,
|
| 115 | ExecutionModeInputIsolines = 24,
|
| 116 | ExecutionModeOutputVertices = 25,
|
| 117 | ExecutionModeOutputPoints = 26,
|
| 118 | ExecutionModeOutputLineStrip = 27,
|
| 119 | ExecutionModeOutputTriangleStrip = 28,
|
| 120 | ExecutionModeVecTypeHint = 29,
|
| 121 | ExecutionModeContractionOff = 30,
|
Ian Elliott | e671777 | 2015-04-16 18:31:46 -0600 | [diff] [blame] | 122 | };
|
| 123 |
|
| 124 | enum StorageClass {
|
Courtney Goeltzenleuchter | e1f48b0 | 2015-05-08 15:46:40 -0600 | [diff] [blame] | 125 | StorageClassUniformConstant = 0,
|
| 126 | StorageClassInput = 1,
|
| 127 | StorageClassUniform = 2,
|
| 128 | StorageClassOutput = 3,
|
| 129 | StorageClassWorkgroupLocal = 4,
|
| 130 | StorageClassWorkgroupGlobal = 5,
|
| 131 | StorageClassPrivateGlobal = 6,
|
| 132 | StorageClassFunction = 7,
|
| 133 | StorageClassGeneric = 8,
|
| 134 | StorageClassPrivate = 9,
|
| 135 | StorageClassAtomicCounter = 10,
|
Ian Elliott | e671777 | 2015-04-16 18:31:46 -0600 | [diff] [blame] | 136 | };
|
| 137 |
|
Courtney Goeltzenleuchter | e1f48b0 | 2015-05-08 15:46:40 -0600 | [diff] [blame] | 138 | enum Dim {
|
| 139 | Dim1D = 0,
|
| 140 | Dim2D = 1,
|
| 141 | Dim3D = 2,
|
| 142 | DimCube = 3,
|
| 143 | DimRect = 4,
|
| 144 | DimBuffer = 5,
|
Ian Elliott | e671777 | 2015-04-16 18:31:46 -0600 | [diff] [blame] | 145 | };
|
| 146 |
|
Ian Elliott | e671777 | 2015-04-16 18:31:46 -0600 | [diff] [blame] | 147 | enum SamplerAddressingMode {
|
Courtney Goeltzenleuchter | e1f48b0 | 2015-05-08 15:46:40 -0600 | [diff] [blame] | 148 | SamplerAddressingModeNone = 0,
|
| 149 | SamplerAddressingModeClampToEdge = 1,
|
| 150 | SamplerAddressingModeClamp = 2,
|
| 151 | SamplerAddressingModeRepeat = 3,
|
| 152 | SamplerAddressingModeRepeatMirrored = 4,
|
Ian Elliott | e671777 | 2015-04-16 18:31:46 -0600 | [diff] [blame] | 153 | };
|
| 154 |
|
Ian Elliott | e671777 | 2015-04-16 18:31:46 -0600 | [diff] [blame] | 155 | enum SamplerFilterMode {
|
Courtney Goeltzenleuchter | e1f48b0 | 2015-05-08 15:46:40 -0600 | [diff] [blame] | 156 | SamplerFilterModeNearest = 0,
|
| 157 | SamplerFilterModeLinear = 1,
|
Ian Elliott | e671777 | 2015-04-16 18:31:46 -0600 | [diff] [blame] | 158 | };
|
| 159 |
|
Courtney Goeltzenleuchter | e1f48b0 | 2015-05-08 15:46:40 -0600 | [diff] [blame] | 160 | enum FPFastMathModeShift {
|
| 161 | FPFastMathModeNotNaNShift = 0,
|
| 162 | FPFastMathModeNotInfShift = 1,
|
| 163 | FPFastMathModeNSZShift = 2,
|
| 164 | FPFastMathModeAllowRecipShift = 3,
|
| 165 | FPFastMathModeFastShift = 4,
|
Ian Elliott | e671777 | 2015-04-16 18:31:46 -0600 | [diff] [blame] | 166 | };
|
| 167 |
|
Courtney Goeltzenleuchter | e1f48b0 | 2015-05-08 15:46:40 -0600 | [diff] [blame] | 168 | enum FPFastMathModeMask {
|
| 169 | FPFastMathModeMaskNone = 0,
|
| 170 | FPFastMathModeNotNaNMask = 0x00000001,
|
| 171 | FPFastMathModeNotInfMask = 0x00000002,
|
| 172 | FPFastMathModeNSZMask = 0x00000004,
|
| 173 | FPFastMathModeAllowRecipMask = 0x00000008,
|
| 174 | FPFastMathModeFastMask = 0x00000010,
|
| 175 | };
|
| 176 |
|
Ian Elliott | e671777 | 2015-04-16 18:31:46 -0600 | [diff] [blame] | 177 | enum FPRoundingMode {
|
Courtney Goeltzenleuchter | e1f48b0 | 2015-05-08 15:46:40 -0600 | [diff] [blame] | 178 | FPRoundingModeRTE = 0,
|
| 179 | FPRoundingModeRTZ = 1,
|
| 180 | FPRoundingModeRTP = 2,
|
| 181 | FPRoundingModeRTN = 3,
|
Ian Elliott | e671777 | 2015-04-16 18:31:46 -0600 | [diff] [blame] | 182 | };
|
| 183 |
|
Ian Elliott | e671777 | 2015-04-16 18:31:46 -0600 | [diff] [blame] | 184 | enum LinkageType {
|
Courtney Goeltzenleuchter | e1f48b0 | 2015-05-08 15:46:40 -0600 | [diff] [blame] | 185 | LinkageTypeExport = 0,
|
| 186 | LinkageTypeImport = 1,
|
Ian Elliott | e671777 | 2015-04-16 18:31:46 -0600 | [diff] [blame] | 187 | };
|
| 188 |
|
Ian Elliott | e671777 | 2015-04-16 18:31:46 -0600 | [diff] [blame] | 189 | enum AccessQualifier {
|
Courtney Goeltzenleuchter | e1f48b0 | 2015-05-08 15:46:40 -0600 | [diff] [blame] | 190 | AccessQualifierReadOnly = 0,
|
| 191 | AccessQualifierWriteOnly = 1,
|
| 192 | AccessQualifierReadWrite = 2,
|
Ian Elliott | e671777 | 2015-04-16 18:31:46 -0600 | [diff] [blame] | 193 | };
|
| 194 |
|
Ian Elliott | e671777 | 2015-04-16 18:31:46 -0600 | [diff] [blame] | 195 | enum FunctionParameterAttribute {
|
Courtney Goeltzenleuchter | e1f48b0 | 2015-05-08 15:46:40 -0600 | [diff] [blame] | 196 | FunctionParameterAttributeZext = 0,
|
| 197 | FunctionParameterAttributeSext = 1,
|
| 198 | FunctionParameterAttributeByVal = 2,
|
| 199 | FunctionParameterAttributeSret = 3,
|
| 200 | FunctionParameterAttributeNoAlias = 4,
|
| 201 | FunctionParameterAttributeNoCapture = 5,
|
| 202 | FunctionParameterAttributeSVM = 6,
|
| 203 | FunctionParameterAttributeNoWrite = 7,
|
| 204 | FunctionParameterAttributeNoReadWrite = 8,
|
Ian Elliott | e671777 | 2015-04-16 18:31:46 -0600 | [diff] [blame] | 205 | };
|
| 206 |
|
Ian Elliott | e671777 | 2015-04-16 18:31:46 -0600 | [diff] [blame] | 207 | enum Decoration {
|
Courtney Goeltzenleuchter | e1f48b0 | 2015-05-08 15:46:40 -0600 | [diff] [blame] | 208 | DecorationPrecisionLow = 0,
|
| 209 | DecorationPrecisionMedium = 1,
|
| 210 | DecorationPrecisionHigh = 2,
|
| 211 | DecorationBlock = 3,
|
| 212 | DecorationBufferBlock = 4,
|
| 213 | DecorationRowMajor = 5,
|
| 214 | DecorationColMajor = 6,
|
| 215 | DecorationGLSLShared = 7,
|
| 216 | DecorationGLSLStd140 = 8,
|
| 217 | DecorationGLSLStd430 = 9,
|
| 218 | DecorationGLSLPacked = 10,
|
| 219 | DecorationSmooth = 11,
|
| 220 | DecorationNoperspective = 12,
|
| 221 | DecorationFlat = 13,
|
| 222 | DecorationPatch = 14,
|
| 223 | DecorationCentroid = 15,
|
| 224 | DecorationSample = 16,
|
| 225 | DecorationInvariant = 17,
|
| 226 | DecorationRestrict = 18,
|
| 227 | DecorationAliased = 19,
|
| 228 | DecorationVolatile = 20,
|
| 229 | DecorationConstant = 21,
|
| 230 | DecorationCoherent = 22,
|
| 231 | DecorationNonwritable = 23,
|
| 232 | DecorationNonreadable = 24,
|
| 233 | DecorationUniform = 25,
|
| 234 | DecorationNoStaticUse = 26,
|
| 235 | DecorationCPacked = 27,
|
| 236 | DecorationSaturatedConversion = 28,
|
| 237 | DecorationStream = 29,
|
| 238 | DecorationLocation = 30,
|
| 239 | DecorationComponent = 31,
|
| 240 | DecorationIndex = 32,
|
| 241 | DecorationBinding = 33,
|
| 242 | DecorationDescriptorSet = 34,
|
| 243 | DecorationOffset = 35,
|
| 244 | DecorationAlignment = 36,
|
| 245 | DecorationXfbBuffer = 37,
|
| 246 | DecorationStride = 38,
|
| 247 | DecorationBuiltIn = 39,
|
| 248 | DecorationFuncParamAttr = 40,
|
| 249 | DecorationFPRoundingMode = 41,
|
| 250 | DecorationFPFastMathMode = 42,
|
| 251 | DecorationLinkageAttributes = 43,
|
| 252 | DecorationSpecId = 44,
|
Ian Elliott | e671777 | 2015-04-16 18:31:46 -0600 | [diff] [blame] | 253 | };
|
| 254 |
|
| 255 | enum BuiltIn {
|
Courtney Goeltzenleuchter | e1f48b0 | 2015-05-08 15:46:40 -0600 | [diff] [blame] | 256 | BuiltInPosition = 0,
|
| 257 | BuiltInPointSize = 1,
|
| 258 | BuiltInClipVertex = 2,
|
| 259 | BuiltInClipDistance = 3,
|
| 260 | BuiltInCullDistance = 4,
|
| 261 | BuiltInVertexId = 5,
|
| 262 | BuiltInInstanceId = 6,
|
| 263 | BuiltInPrimitiveId = 7,
|
| 264 | BuiltInInvocationId = 8,
|
| 265 | BuiltInLayer = 9,
|
| 266 | BuiltInViewportIndex = 10,
|
| 267 | BuiltInTessLevelOuter = 11,
|
| 268 | BuiltInTessLevelInner = 12,
|
| 269 | BuiltInTessCoord = 13,
|
| 270 | BuiltInPatchVertices = 14,
|
| 271 | BuiltInFragCoord = 15,
|
| 272 | BuiltInPointCoord = 16,
|
| 273 | BuiltInFrontFacing = 17,
|
| 274 | BuiltInSampleId = 18,
|
| 275 | BuiltInSamplePosition = 19,
|
| 276 | BuiltInSampleMask = 20,
|
| 277 | BuiltInFragColor = 21,
|
| 278 | BuiltInFragDepth = 22,
|
| 279 | BuiltInHelperInvocation = 23,
|
| 280 | BuiltInNumWorkgroups = 24,
|
| 281 | BuiltInWorkgroupSize = 25,
|
| 282 | BuiltInWorkgroupId = 26,
|
| 283 | BuiltInLocalInvocationId = 27,
|
| 284 | BuiltInGlobalInvocationId = 28,
|
| 285 | BuiltInLocalInvocationIndex = 29,
|
| 286 | BuiltInWorkDim = 30,
|
| 287 | BuiltInGlobalSize = 31,
|
| 288 | BuiltInEnqueuedWorkgroupSize = 32,
|
| 289 | BuiltInGlobalOffset = 33,
|
| 290 | BuiltInGlobalLinearId = 34,
|
| 291 | BuiltInWorkgroupLinearId = 35,
|
| 292 | BuiltInSubgroupSize = 36,
|
| 293 | BuiltInSubgroupMaxSize = 37,
|
| 294 | BuiltInNumSubgroups = 38,
|
| 295 | BuiltInNumEnqueuedSubgroups = 39,
|
| 296 | BuiltInSubgroupId = 40,
|
| 297 | BuiltInSubgroupLocalInvocationId = 41,
|
Ian Elliott | e671777 | 2015-04-16 18:31:46 -0600 | [diff] [blame] | 298 | };
|
| 299 |
|
Courtney Goeltzenleuchter | e1f48b0 | 2015-05-08 15:46:40 -0600 | [diff] [blame] | 300 | enum SelectionControlShift {
|
| 301 | SelectionControlFlattenShift = 0,
|
| 302 | SelectionControlDontFlattenShift = 1,
|
Ian Elliott | e671777 | 2015-04-16 18:31:46 -0600 | [diff] [blame] | 303 | };
|
| 304 |
|
Courtney Goeltzenleuchter | e1f48b0 | 2015-05-08 15:46:40 -0600 | [diff] [blame] | 305 | enum SelectionControlMask {
|
| 306 | SelectionControlMaskNone = 0,
|
| 307 | SelectionControlFlattenMask = 0x00000001,
|
| 308 | SelectionControlDontFlattenMask = 0x00000002,
|
| 309 | };
|
Ian Elliott | e671777 | 2015-04-16 18:31:46 -0600 | [diff] [blame] | 310 |
|
Courtney Goeltzenleuchter | e1f48b0 | 2015-05-08 15:46:40 -0600 | [diff] [blame] | 311 | enum LoopControlShift {
|
| 312 | LoopControlUnrollShift = 0,
|
| 313 | LoopControlDontUnrollShift = 1,
|
| 314 | };
|
| 315 |
|
| 316 | enum LoopControlMask {
|
| 317 | LoopControlMaskNone = 0,
|
| 318 | LoopControlUnrollMask = 0x00000001,
|
| 319 | LoopControlDontUnrollMask = 0x00000002,
|
| 320 | };
|
| 321 |
|
| 322 | enum FunctionControlShift {
|
| 323 | FunctionControlInlineShift = 0,
|
| 324 | FunctionControlDontInlineShift = 1,
|
| 325 | FunctionControlPureShift = 2,
|
| 326 | FunctionControlConstShift = 3,
|
Ian Elliott | e671777 | 2015-04-16 18:31:46 -0600 | [diff] [blame] | 327 | };
|
| 328 |
|
| 329 | enum FunctionControlMask {
|
Courtney Goeltzenleuchter | e1f48b0 | 2015-05-08 15:46:40 -0600 | [diff] [blame] | 330 | FunctionControlMaskNone = 0,
|
| 331 | FunctionControlInlineMask = 0x00000001,
|
| 332 | FunctionControlDontInlineMask = 0x00000002,
|
| 333 | FunctionControlPureMask = 0x00000004,
|
| 334 | FunctionControlConstMask = 0x00000008,
|
| 335 | };
|
Ian Elliott | e671777 | 2015-04-16 18:31:46 -0600 | [diff] [blame] | 336 |
|
Courtney Goeltzenleuchter | e1f48b0 | 2015-05-08 15:46:40 -0600 | [diff] [blame] | 337 | enum MemorySemanticsShift {
|
| 338 | MemorySemanticsRelaxedShift = 0,
|
| 339 | MemorySemanticsSequentiallyConsistentShift = 1,
|
| 340 | MemorySemanticsAcquireShift = 2,
|
| 341 | MemorySemanticsReleaseShift = 3,
|
| 342 | MemorySemanticsUniformMemoryShift = 4,
|
| 343 | MemorySemanticsSubgroupMemoryShift = 5,
|
| 344 | MemorySemanticsWorkgroupLocalMemoryShift = 6,
|
| 345 | MemorySemanticsWorkgroupGlobalMemoryShift = 7,
|
| 346 | MemorySemanticsAtomicCounterMemoryShift = 8,
|
| 347 | MemorySemanticsImageMemoryShift = 9,
|
Ian Elliott | e671777 | 2015-04-16 18:31:46 -0600 | [diff] [blame] | 348 | };
|
| 349 |
|
| 350 | enum MemorySemanticsMask {
|
Courtney Goeltzenleuchter | e1f48b0 | 2015-05-08 15:46:40 -0600 | [diff] [blame] | 351 | MemorySemanticsMaskNone = 0,
|
| 352 | MemorySemanticsRelaxedMask = 0x00000001,
|
| 353 | MemorySemanticsSequentiallyConsistentMask = 0x00000002,
|
| 354 | MemorySemanticsAcquireMask = 0x00000004,
|
| 355 | MemorySemanticsReleaseMask = 0x00000008,
|
| 356 | MemorySemanticsUniformMemoryMask = 0x00000010,
|
| 357 | MemorySemanticsSubgroupMemoryMask = 0x00000020,
|
| 358 | MemorySemanticsWorkgroupLocalMemoryMask = 0x00000040,
|
| 359 | MemorySemanticsWorkgroupGlobalMemoryMask = 0x00000080,
|
| 360 | MemorySemanticsAtomicCounterMemoryMask = 0x00000100,
|
| 361 | MemorySemanticsImageMemoryMask = 0x00000200,
|
| 362 | };
|
Ian Elliott | e671777 | 2015-04-16 18:31:46 -0600 | [diff] [blame] | 363 |
|
Courtney Goeltzenleuchter | e1f48b0 | 2015-05-08 15:46:40 -0600 | [diff] [blame] | 364 | enum MemoryAccessShift {
|
| 365 | MemoryAccessVolatileShift = 0,
|
| 366 | MemoryAccessAlignedShift = 1,
|
Ian Elliott | e671777 | 2015-04-16 18:31:46 -0600 | [diff] [blame] | 367 | };
|
| 368 |
|
| 369 | enum MemoryAccessMask {
|
Courtney Goeltzenleuchter | e1f48b0 | 2015-05-08 15:46:40 -0600 | [diff] [blame] | 370 | MemoryAccessMaskNone = 0,
|
| 371 | MemoryAccessVolatileMask = 0x00000001,
|
| 372 | MemoryAccessAlignedMask = 0x00000002,
|
Ian Elliott | e671777 | 2015-04-16 18:31:46 -0600 | [diff] [blame] | 373 | };
|
| 374 |
|
| 375 | enum ExecutionScope {
|
Courtney Goeltzenleuchter | e1f48b0 | 2015-05-08 15:46:40 -0600 | [diff] [blame] | 376 | ExecutionScopeCrossDevice = 0,
|
| 377 | ExecutionScopeDevice = 1,
|
| 378 | ExecutionScopeWorkgroup = 2,
|
| 379 | ExecutionScopeSubgroup = 3,
|
Ian Elliott | e671777 | 2015-04-16 18:31:46 -0600 | [diff] [blame] | 380 | };
|
| 381 |
|
| 382 | enum GroupOperation {
|
Courtney Goeltzenleuchter | e1f48b0 | 2015-05-08 15:46:40 -0600 | [diff] [blame] | 383 | GroupOperationReduce = 0,
|
| 384 | GroupOperationInclusiveScan = 1,
|
| 385 | GroupOperationExclusiveScan = 2,
|
Ian Elliott | e671777 | 2015-04-16 18:31:46 -0600 | [diff] [blame] | 386 | };
|
| 387 |
|
| 388 | enum KernelEnqueueFlags {
|
Courtney Goeltzenleuchter | e1f48b0 | 2015-05-08 15:46:40 -0600 | [diff] [blame] | 389 | KernelEnqueueFlagsNoWait = 0,
|
| 390 | KernelEnqueueFlagsWaitKernel = 1,
|
| 391 | KernelEnqueueFlagsWaitWorkGroup = 2,
|
Ian Elliott | e671777 | 2015-04-16 18:31:46 -0600 | [diff] [blame] | 392 | };
|
| 393 |
|
Courtney Goeltzenleuchter | e1f48b0 | 2015-05-08 15:46:40 -0600 | [diff] [blame] | 394 | enum KernelProfilingInfoShift {
|
| 395 | KernelProfilingInfoCmdExecTimeShift = 0,
|
Ian Elliott | e671777 | 2015-04-16 18:31:46 -0600 | [diff] [blame] | 396 | };
|
| 397 |
|
Courtney Goeltzenleuchter | e1f48b0 | 2015-05-08 15:46:40 -0600 | [diff] [blame] | 398 | enum KernelProfilingInfoMask {
|
| 399 | KernelProfilingInfoMaskNone = 0,
|
| 400 | KernelProfilingInfoCmdExecTimeMask = 0x00000001,
|
Ian Elliott | e671777 | 2015-04-16 18:31:46 -0600 | [diff] [blame] | 401 | };
|
| 402 |
|
Courtney Goeltzenleuchter | e1f48b0 | 2015-05-08 15:46:40 -0600 | [diff] [blame] | 403 | enum Op {
|
| 404 | OpNop = 0,
|
| 405 | OpSource = 1,
|
| 406 | OpSourceExtension = 2,
|
| 407 | OpExtension = 3,
|
| 408 | OpExtInstImport = 4,
|
| 409 | OpMemoryModel = 5,
|
| 410 | OpEntryPoint = 6,
|
| 411 | OpExecutionMode = 7,
|
| 412 | OpTypeVoid = 8,
|
| 413 | OpTypeBool = 9,
|
| 414 | OpTypeInt = 10,
|
| 415 | OpTypeFloat = 11,
|
| 416 | OpTypeVector = 12,
|
| 417 | OpTypeMatrix = 13,
|
| 418 | OpTypeSampler = 14,
|
| 419 | OpTypeFilter = 15,
|
| 420 | OpTypeArray = 16,
|
| 421 | OpTypeRuntimeArray = 17,
|
| 422 | OpTypeStruct = 18,
|
| 423 | OpTypeOpaque = 19,
|
| 424 | OpTypePointer = 20,
|
| 425 | OpTypeFunction = 21,
|
| 426 | OpTypeEvent = 22,
|
| 427 | OpTypeDeviceEvent = 23,
|
| 428 | OpTypeReserveId = 24,
|
| 429 | OpTypeQueue = 25,
|
| 430 | OpTypePipe = 26,
|
| 431 | OpConstantTrue = 27,
|
| 432 | OpConstantFalse = 28,
|
| 433 | OpConstant = 29,
|
| 434 | OpConstantComposite = 30,
|
| 435 | OpConstantSampler = 31,
|
| 436 | OpConstantNullPointer = 32,
|
| 437 | OpConstantNullObject = 33,
|
| 438 | OpSpecConstantTrue = 34,
|
| 439 | OpSpecConstantFalse = 35,
|
| 440 | OpSpecConstant = 36,
|
| 441 | OpSpecConstantComposite = 37,
|
| 442 | OpVariable = 38,
|
| 443 | OpVariableArray = 39,
|
| 444 | OpFunction = 40,
|
| 445 | OpFunctionParameter = 41,
|
| 446 | OpFunctionEnd = 42,
|
| 447 | OpFunctionCall = 43,
|
| 448 | OpExtInst = 44,
|
| 449 | OpUndef = 45,
|
| 450 | OpLoad = 46,
|
| 451 | OpStore = 47,
|
| 452 | OpPhi = 48,
|
| 453 | OpDecorationGroup = 49,
|
| 454 | OpDecorate = 50,
|
| 455 | OpMemberDecorate = 51,
|
| 456 | OpGroupDecorate = 52,
|
| 457 | OpGroupMemberDecorate = 53,
|
| 458 | OpName = 54,
|
| 459 | OpMemberName = 55,
|
| 460 | OpString = 56,
|
| 461 | OpLine = 57,
|
| 462 | OpVectorExtractDynamic = 58,
|
| 463 | OpVectorInsertDynamic = 59,
|
| 464 | OpVectorShuffle = 60,
|
| 465 | OpCompositeConstruct = 61,
|
| 466 | OpCompositeExtract = 62,
|
| 467 | OpCompositeInsert = 63,
|
| 468 | OpCopyObject = 64,
|
| 469 | OpCopyMemory = 65,
|
| 470 | OpCopyMemorySized = 66,
|
| 471 | OpSampler = 67,
|
| 472 | OpTextureSample = 68,
|
| 473 | OpTextureSampleDref = 69,
|
| 474 | OpTextureSampleLod = 70,
|
| 475 | OpTextureSampleProj = 71,
|
| 476 | OpTextureSampleGrad = 72,
|
| 477 | OpTextureSampleOffset = 73,
|
| 478 | OpTextureSampleProjLod = 74,
|
| 479 | OpTextureSampleProjGrad = 75,
|
| 480 | OpTextureSampleLodOffset = 76,
|
| 481 | OpTextureSampleProjOffset = 77,
|
| 482 | OpTextureSampleGradOffset = 78,
|
| 483 | OpTextureSampleProjLodOffset = 79,
|
| 484 | OpTextureSampleProjGradOffset = 80,
|
| 485 | OpTextureFetchTexelLod = 81,
|
| 486 | OpTextureFetchTexelOffset = 82,
|
| 487 | OpTextureFetchSample = 83,
|
| 488 | OpTextureFetchTexel = 84,
|
| 489 | OpTextureGather = 85,
|
| 490 | OpTextureGatherOffset = 86,
|
| 491 | OpTextureGatherOffsets = 87,
|
| 492 | OpTextureQuerySizeLod = 88,
|
| 493 | OpTextureQuerySize = 89,
|
| 494 | OpTextureQueryLod = 90,
|
| 495 | OpTextureQueryLevels = 91,
|
| 496 | OpTextureQuerySamples = 92,
|
| 497 | OpAccessChain = 93,
|
| 498 | OpInBoundsAccessChain = 94,
|
| 499 | OpSNegate = 95,
|
| 500 | OpFNegate = 96,
|
| 501 | OpNot = 97,
|
| 502 | OpAny = 98,
|
| 503 | OpAll = 99,
|
| 504 | OpConvertFToU = 100,
|
| 505 | OpConvertFToS = 101,
|
| 506 | OpConvertSToF = 102,
|
| 507 | OpConvertUToF = 103,
|
| 508 | OpUConvert = 104,
|
| 509 | OpSConvert = 105,
|
| 510 | OpFConvert = 106,
|
| 511 | OpConvertPtrToU = 107,
|
| 512 | OpConvertUToPtr = 108,
|
| 513 | OpPtrCastToGeneric = 109,
|
| 514 | OpGenericCastToPtr = 110,
|
| 515 | OpBitcast = 111,
|
| 516 | OpTranspose = 112,
|
| 517 | OpIsNan = 113,
|
| 518 | OpIsInf = 114,
|
| 519 | OpIsFinite = 115,
|
| 520 | OpIsNormal = 116,
|
| 521 | OpSignBitSet = 117,
|
| 522 | OpLessOrGreater = 118,
|
| 523 | OpOrdered = 119,
|
| 524 | OpUnordered = 120,
|
| 525 | OpArrayLength = 121,
|
| 526 | OpIAdd = 122,
|
| 527 | OpFAdd = 123,
|
| 528 | OpISub = 124,
|
| 529 | OpFSub = 125,
|
| 530 | OpIMul = 126,
|
| 531 | OpFMul = 127,
|
| 532 | OpUDiv = 128,
|
| 533 | OpSDiv = 129,
|
| 534 | OpFDiv = 130,
|
| 535 | OpUMod = 131,
|
| 536 | OpSRem = 132,
|
| 537 | OpSMod = 133,
|
| 538 | OpFRem = 134,
|
| 539 | OpFMod = 135,
|
| 540 | OpVectorTimesScalar = 136,
|
| 541 | OpMatrixTimesScalar = 137,
|
| 542 | OpVectorTimesMatrix = 138,
|
| 543 | OpMatrixTimesVector = 139,
|
| 544 | OpMatrixTimesMatrix = 140,
|
| 545 | OpOuterProduct = 141,
|
| 546 | OpDot = 142,
|
| 547 | OpShiftRightLogical = 143,
|
| 548 | OpShiftRightArithmetic = 144,
|
| 549 | OpShiftLeftLogical = 145,
|
| 550 | OpLogicalOr = 146,
|
| 551 | OpLogicalXor = 147,
|
| 552 | OpLogicalAnd = 148,
|
| 553 | OpBitwiseOr = 149,
|
| 554 | OpBitwiseXor = 150,
|
| 555 | OpBitwiseAnd = 151,
|
| 556 | OpSelect = 152,
|
| 557 | OpIEqual = 153,
|
| 558 | OpFOrdEqual = 154,
|
| 559 | OpFUnordEqual = 155,
|
| 560 | OpINotEqual = 156,
|
| 561 | OpFOrdNotEqual = 157,
|
| 562 | OpFUnordNotEqual = 158,
|
| 563 | OpULessThan = 159,
|
| 564 | OpSLessThan = 160,
|
| 565 | OpFOrdLessThan = 161,
|
| 566 | OpFUnordLessThan = 162,
|
| 567 | OpUGreaterThan = 163,
|
| 568 | OpSGreaterThan = 164,
|
| 569 | OpFOrdGreaterThan = 165,
|
| 570 | OpFUnordGreaterThan = 166,
|
| 571 | OpULessThanEqual = 167,
|
| 572 | OpSLessThanEqual = 168,
|
| 573 | OpFOrdLessThanEqual = 169,
|
| 574 | OpFUnordLessThanEqual = 170,
|
| 575 | OpUGreaterThanEqual = 171,
|
| 576 | OpSGreaterThanEqual = 172,
|
| 577 | OpFOrdGreaterThanEqual = 173,
|
| 578 | OpFUnordGreaterThanEqual = 174,
|
| 579 | OpDPdx = 175,
|
| 580 | OpDPdy = 176,
|
| 581 | OpFwidth = 177,
|
| 582 | OpDPdxFine = 178,
|
| 583 | OpDPdyFine = 179,
|
| 584 | OpFwidthFine = 180,
|
| 585 | OpDPdxCoarse = 181,
|
| 586 | OpDPdyCoarse = 182,
|
| 587 | OpFwidthCoarse = 183,
|
| 588 | OpEmitVertex = 184,
|
| 589 | OpEndPrimitive = 185,
|
| 590 | OpEmitStreamVertex = 186,
|
| 591 | OpEndStreamPrimitive = 187,
|
| 592 | OpControlBarrier = 188,
|
| 593 | OpMemoryBarrier = 189,
|
| 594 | OpImagePointer = 190,
|
| 595 | OpAtomicInit = 191,
|
| 596 | OpAtomicLoad = 192,
|
| 597 | OpAtomicStore = 193,
|
| 598 | OpAtomicExchange = 194,
|
| 599 | OpAtomicCompareExchange = 195,
|
| 600 | OpAtomicCompareExchangeWeak = 196,
|
| 601 | OpAtomicIIncrement = 197,
|
| 602 | OpAtomicIDecrement = 198,
|
| 603 | OpAtomicIAdd = 199,
|
| 604 | OpAtomicISub = 200,
|
| 605 | OpAtomicUMin = 201,
|
| 606 | OpAtomicUMax = 202,
|
| 607 | OpAtomicAnd = 203,
|
| 608 | OpAtomicOr = 204,
|
| 609 | OpAtomicXor = 205,
|
| 610 | OpLoopMerge = 206,
|
| 611 | OpSelectionMerge = 207,
|
| 612 | OpLabel = 208,
|
| 613 | OpBranch = 209,
|
| 614 | OpBranchConditional = 210,
|
| 615 | OpSwitch = 211,
|
| 616 | OpKill = 212,
|
| 617 | OpReturn = 213,
|
| 618 | OpReturnValue = 214,
|
| 619 | OpUnreachable = 215,
|
| 620 | OpLifetimeStart = 216,
|
| 621 | OpLifetimeStop = 217,
|
| 622 | OpCompileFlag = 218,
|
| 623 | OpAsyncGroupCopy = 219,
|
| 624 | OpWaitGroupEvents = 220,
|
| 625 | OpGroupAll = 221,
|
| 626 | OpGroupAny = 222,
|
| 627 | OpGroupBroadcast = 223,
|
| 628 | OpGroupIAdd = 224,
|
| 629 | OpGroupFAdd = 225,
|
| 630 | OpGroupFMin = 226,
|
| 631 | OpGroupUMin = 227,
|
| 632 | OpGroupSMin = 228,
|
| 633 | OpGroupFMax = 229,
|
| 634 | OpGroupUMax = 230,
|
| 635 | OpGroupSMax = 231,
|
| 636 | OpGenericCastToPtrExplicit = 232,
|
| 637 | OpGenericPtrMemSemantics = 233,
|
| 638 | OpReadPipe = 234,
|
| 639 | OpWritePipe = 235,
|
| 640 | OpReservedReadPipe = 236,
|
| 641 | OpReservedWritePipe = 237,
|
| 642 | OpReserveReadPipePackets = 238,
|
| 643 | OpReserveWritePipePackets = 239,
|
| 644 | OpCommitReadPipe = 240,
|
| 645 | OpCommitWritePipe = 241,
|
| 646 | OpIsValidReserveId = 242,
|
| 647 | OpGetNumPipePackets = 243,
|
| 648 | OpGetMaxPipePackets = 244,
|
| 649 | OpGroupReserveReadPipePackets = 245,
|
| 650 | OpGroupReserveWritePipePackets = 246,
|
| 651 | OpGroupCommitReadPipe = 247,
|
| 652 | OpGroupCommitWritePipe = 248,
|
| 653 | OpEnqueueMarker = 249,
|
| 654 | OpEnqueueKernel = 250,
|
| 655 | OpGetKernelNDrangeSubGroupCount = 251,
|
| 656 | OpGetKernelNDrangeMaxSubGroupSize = 252,
|
| 657 | OpGetKernelWorkGroupSize = 253,
|
| 658 | OpGetKernelPreferredWorkGroupSizeMultiple = 254,
|
| 659 | OpRetainEvent = 255,
|
| 660 | OpReleaseEvent = 256,
|
| 661 | OpCreateUserEvent = 257,
|
| 662 | OpIsValidEvent = 258,
|
| 663 | OpSetUserEventStatus = 259,
|
| 664 | OpCaptureEventProfilingInfo = 260,
|
| 665 | OpGetDefaultQueue = 261,
|
| 666 | OpBuildNDRange = 262,
|
| 667 | OpSatConvertSToU = 263,
|
| 668 | OpSatConvertUToS = 264,
|
| 669 | OpAtomicIMin = 265,
|
| 670 | OpAtomicIMax = 266,
|
| 671 | };
|
| 672 |
|
Ian Elliott | e671777 | 2015-04-16 18:31:46 -0600 | [diff] [blame] | 673 | }; // end namespace spv
|
Ian Elliott | e671777 | 2015-04-16 18:31:46 -0600 | [diff] [blame] | 674 |
|
Courtney Goeltzenleuchter | e1f48b0 | 2015-05-08 15:46:40 -0600 | [diff] [blame] | 675 | #endif // #ifdef __cplusplus
|
| 676 |
|
| 677 |
|
| 678 | #ifndef __cplusplus
|
| 679 |
|
| 680 | const int SpvMagicNumber = 0x07230203;
|
| 681 | const int SpvVersion = 99;
|
| 682 |
|
| 683 | typedef unsigned int SpvId;
|
| 684 |
|
| 685 | const unsigned int SpvOpCodeMask = 0xFFFF;
|
| 686 | const unsigned int SpvWordCountShift = 16;
|
| 687 |
|
| 688 | typedef enum SpvSourceLanguage_ {
|
| 689 | SpvSourceLanguageUnknown = 0,
|
| 690 | SpvSourceLanguageESSL = 1,
|
| 691 | SpvSourceLanguageGLSL = 2,
|
| 692 | SpvSourceLanguageOpenCL = 3,
|
| 693 | } SpvSourceLanguage;
|
| 694 |
|
| 695 | typedef enum SpvExecutionModel_ {
|
| 696 | SpvExecutionModelVertex = 0,
|
| 697 | SpvExecutionModelTessellationControl = 1,
|
| 698 | SpvExecutionModelTessellationEvaluation = 2,
|
| 699 | SpvExecutionModelGeometry = 3,
|
| 700 | SpvExecutionModelFragment = 4,
|
| 701 | SpvExecutionModelGLCompute = 5,
|
| 702 | SpvExecutionModelKernel = 6,
|
| 703 | } SpvExecutionModel;
|
| 704 |
|
| 705 | typedef enum SpvAddressingModel_ {
|
| 706 | SpvAddressingModelLogical = 0,
|
| 707 | SpvAddressingModelPhysical32 = 1,
|
| 708 | SpvAddressingModelPhysical64 = 2,
|
| 709 | } SpvAddressingModel;
|
| 710 |
|
| 711 | typedef enum SpvMemoryModel_ {
|
| 712 | SpvMemoryModelSimple = 0,
|
| 713 | SpvMemoryModelGLSL450 = 1,
|
| 714 | SpvMemoryModelOpenCL12 = 2,
|
| 715 | SpvMemoryModelOpenCL20 = 3,
|
| 716 | SpvMemoryModelOpenCL21 = 4,
|
| 717 | } SpvMemoryModel;
|
| 718 |
|
| 719 | typedef enum SpvExecutionMode_ {
|
| 720 | SpvExecutionModeInvocations = 0,
|
| 721 | SpvExecutionModeSpacingEqual = 1,
|
| 722 | SpvExecutionModeSpacingFractionalEven = 2,
|
| 723 | SpvExecutionModeSpacingFractionalOdd = 3,
|
| 724 | SpvExecutionModeVertexOrderCw = 4,
|
| 725 | SpvExecutionModeVertexOrderCcw = 5,
|
| 726 | SpvExecutionModePixelCenterInteger = 6,
|
| 727 | SpvExecutionModeOriginUpperLeft = 7,
|
| 728 | SpvExecutionModeEarlyFragmentTests = 8,
|
| 729 | SpvExecutionModePointMode = 9,
|
| 730 | SpvExecutionModeXfb = 10,
|
| 731 | SpvExecutionModeDepthReplacing = 11,
|
| 732 | SpvExecutionModeDepthAny = 12,
|
| 733 | SpvExecutionModeDepthGreater = 13,
|
| 734 | SpvExecutionModeDepthLess = 14,
|
| 735 | SpvExecutionModeDepthUnchanged = 15,
|
| 736 | SpvExecutionModeLocalSize = 16,
|
| 737 | SpvExecutionModeLocalSizeHint = 17,
|
| 738 | SpvExecutionModeInputPoints = 18,
|
| 739 | SpvExecutionModeInputLines = 19,
|
| 740 | SpvExecutionModeInputLinesAdjacency = 20,
|
| 741 | SpvExecutionModeInputTriangles = 21,
|
| 742 | SpvExecutionModeInputTrianglesAdjacency = 22,
|
| 743 | SpvExecutionModeInputQuads = 23,
|
| 744 | SpvExecutionModeInputIsolines = 24,
|
| 745 | SpvExecutionModeOutputVertices = 25,
|
| 746 | SpvExecutionModeOutputPoints = 26,
|
| 747 | SpvExecutionModeOutputLineStrip = 27,
|
| 748 | SpvExecutionModeOutputTriangleStrip = 28,
|
| 749 | SpvExecutionModeVecTypeHint = 29,
|
| 750 | SpvExecutionModeContractionOff = 30,
|
| 751 | } SpvExecutionMode;
|
| 752 |
|
| 753 | typedef enum SpvStorageClass_ {
|
| 754 | SpvStorageClassUniformConstant = 0,
|
| 755 | SpvStorageClassInput = 1,
|
| 756 | SpvStorageClassUniform = 2,
|
| 757 | SpvStorageClassOutput = 3,
|
| 758 | SpvStorageClassWorkgroupLocal = 4,
|
| 759 | SpvStorageClassWorkgroupGlobal = 5,
|
| 760 | SpvStorageClassPrivateGlobal = 6,
|
| 761 | SpvStorageClassFunction = 7,
|
| 762 | SpvStorageClassGeneric = 8,
|
| 763 | SpvStorageClassPrivate = 9,
|
| 764 | SpvStorageClassAtomicCounter = 10,
|
| 765 | } SpvStorageClass;
|
| 766 |
|
| 767 | typedef enum SpvDim_ {
|
| 768 | SpvDim1D = 0,
|
| 769 | SpvDim2D = 1,
|
| 770 | SpvDim3D = 2,
|
| 771 | SpvDimCube = 3,
|
| 772 | SpvDimRect = 4,
|
| 773 | SpvDimBuffer = 5,
|
| 774 | } SpvDim;
|
| 775 |
|
| 776 | typedef enum SpvSamplerAddressingMode_ {
|
| 777 | SpvSamplerAddressingModeNone = 0,
|
| 778 | SpvSamplerAddressingModeClampToEdge = 1,
|
| 779 | SpvSamplerAddressingModeClamp = 2,
|
| 780 | SpvSamplerAddressingModeRepeat = 3,
|
| 781 | SpvSamplerAddressingModeRepeatMirrored = 4,
|
| 782 | } SpvSamplerAddressingMode;
|
| 783 |
|
| 784 | typedef enum SpvSamplerFilterMode_ {
|
| 785 | SpvSamplerFilterModeNearest = 0,
|
| 786 | SpvSamplerFilterModeLinear = 1,
|
| 787 | } SpvSamplerFilterMode;
|
| 788 |
|
| 789 | typedef enum SpvFPFastMathModeShift_ {
|
| 790 | SpvFPFastMathModeNotNaNShift = 0,
|
| 791 | SpvFPFastMathModeNotInfShift = 1,
|
| 792 | SpvFPFastMathModeNSZShift = 2,
|
| 793 | SpvFPFastMathModeAllowRecipShift = 3,
|
| 794 | SpvFPFastMathModeFastShift = 4,
|
| 795 | } SpvFPFastMathModeShift;
|
| 796 |
|
| 797 | typedef enum SpvFPFastMathModeMask_ {
|
| 798 | SpvFPFastMathModeMaskNone = 0,
|
| 799 | SpvFPFastMathModeNotNaNMask = 0x00000001,
|
| 800 | SpvFPFastMathModeNotInfMask = 0x00000002,
|
| 801 | SpvFPFastMathModeNSZMask = 0x00000004,
|
| 802 | SpvFPFastMathModeAllowRecipMask = 0x00000008,
|
| 803 | SpvFPFastMathModeFastMask = 0x00000010,
|
| 804 | } SpvFPFastMathModeMask;
|
| 805 |
|
| 806 | typedef enum SpvFPRoundingMode_ {
|
| 807 | SpvFPRoundingModeRTE = 0,
|
| 808 | SpvFPRoundingModeRTZ = 1,
|
| 809 | SpvFPRoundingModeRTP = 2,
|
| 810 | SpvFPRoundingModeRTN = 3,
|
| 811 | } SpvFPRoundingMode;
|
| 812 |
|
| 813 | typedef enum SpvLinkageType_ {
|
| 814 | SpvLinkageTypeExport = 0,
|
| 815 | SpvLinkageTypeImport = 1,
|
| 816 | } SpvLinkageType;
|
| 817 |
|
| 818 | typedef enum SpvAccessQualifier_ {
|
| 819 | SpvAccessQualifierReadOnly = 0,
|
| 820 | SpvAccessQualifierWriteOnly = 1,
|
| 821 | SpvAccessQualifierReadWrite = 2,
|
| 822 | } SpvAccessQualifier;
|
| 823 |
|
| 824 | typedef enum SpvFunctionParameterAttribute_ {
|
| 825 | SpvFunctionParameterAttributeZext = 0,
|
| 826 | SpvFunctionParameterAttributeSext = 1,
|
| 827 | SpvFunctionParameterAttributeByVal = 2,
|
| 828 | SpvFunctionParameterAttributeSret = 3,
|
| 829 | SpvFunctionParameterAttributeNoAlias = 4,
|
| 830 | SpvFunctionParameterAttributeNoCapture = 5,
|
| 831 | SpvFunctionParameterAttributeSVM = 6,
|
| 832 | SpvFunctionParameterAttributeNoWrite = 7,
|
| 833 | SpvFunctionParameterAttributeNoReadWrite = 8,
|
| 834 | } SpvFunctionParameterAttribute;
|
| 835 |
|
| 836 | typedef enum SpvDecoration_ {
|
| 837 | SpvDecorationPrecisionLow = 0,
|
| 838 | SpvDecorationPrecisionMedium = 1,
|
| 839 | SpvDecorationPrecisionHigh = 2,
|
| 840 | SpvDecorationBlock = 3,
|
| 841 | SpvDecorationBufferBlock = 4,
|
| 842 | SpvDecorationRowMajor = 5,
|
| 843 | SpvDecorationColMajor = 6,
|
| 844 | SpvDecorationGLSLShared = 7,
|
| 845 | SpvDecorationGLSLStd140 = 8,
|
| 846 | SpvDecorationGLSLStd430 = 9,
|
| 847 | SpvDecorationGLSLPacked = 10,
|
| 848 | SpvDecorationSmooth = 11,
|
| 849 | SpvDecorationNoperspective = 12,
|
| 850 | SpvDecorationFlat = 13,
|
| 851 | SpvDecorationPatch = 14,
|
| 852 | SpvDecorationCentroid = 15,
|
| 853 | SpvDecorationSample = 16,
|
| 854 | SpvDecorationInvariant = 17,
|
| 855 | SpvDecorationRestrict = 18,
|
| 856 | SpvDecorationAliased = 19,
|
| 857 | SpvDecorationVolatile = 20,
|
| 858 | SpvDecorationConstant = 21,
|
| 859 | SpvDecorationCoherent = 22,
|
| 860 | SpvDecorationNonwritable = 23,
|
| 861 | SpvDecorationNonreadable = 24,
|
| 862 | SpvDecorationUniform = 25,
|
| 863 | SpvDecorationNoStaticUse = 26,
|
| 864 | SpvDecorationCPacked = 27,
|
| 865 | SpvDecorationSaturatedConversion = 28,
|
| 866 | SpvDecorationStream = 29,
|
| 867 | SpvDecorationLocation = 30,
|
| 868 | SpvDecorationComponent = 31,
|
| 869 | SpvDecorationIndex = 32,
|
| 870 | SpvDecorationBinding = 33,
|
| 871 | SpvDecorationDescriptorSet = 34,
|
| 872 | SpvDecorationOffset = 35,
|
| 873 | SpvDecorationAlignment = 36,
|
| 874 | SpvDecorationXfbBuffer = 37,
|
| 875 | SpvDecorationStride = 38,
|
| 876 | SpvDecorationBuiltIn = 39,
|
| 877 | SpvDecorationFuncParamAttr = 40,
|
| 878 | SpvDecorationFPRoundingMode = 41,
|
| 879 | SpvDecorationFPFastMathMode = 42,
|
| 880 | SpvDecorationLinkageAttributes = 43,
|
| 881 | SpvDecorationSpecId = 44,
|
| 882 | } SpvDecoration;
|
| 883 |
|
| 884 | typedef enum SpvBuiltIn_ {
|
| 885 | SpvBuiltInPosition = 0,
|
| 886 | SpvBuiltInPointSize = 1,
|
| 887 | SpvBuiltInClipVertex = 2,
|
| 888 | SpvBuiltInClipDistance = 3,
|
| 889 | SpvBuiltInCullDistance = 4,
|
| 890 | SpvBuiltInVertexId = 5,
|
| 891 | SpvBuiltInInstanceId = 6,
|
| 892 | SpvBuiltInPrimitiveId = 7,
|
| 893 | SpvBuiltInInvocationId = 8,
|
| 894 | SpvBuiltInLayer = 9,
|
| 895 | SpvBuiltInViewportIndex = 10,
|
| 896 | SpvBuiltInTessLevelOuter = 11,
|
| 897 | SpvBuiltInTessLevelInner = 12,
|
| 898 | SpvBuiltInTessCoord = 13,
|
| 899 | SpvBuiltInPatchVertices = 14,
|
| 900 | SpvBuiltInFragCoord = 15,
|
| 901 | SpvBuiltInPointCoord = 16,
|
| 902 | SpvBuiltInFrontFacing = 17,
|
| 903 | SpvBuiltInSampleId = 18,
|
| 904 | SpvBuiltInSamplePosition = 19,
|
| 905 | SpvBuiltInSampleMask = 20,
|
| 906 | SpvBuiltInFragColor = 21,
|
| 907 | SpvBuiltInFragDepth = 22,
|
| 908 | SpvBuiltInHelperInvocation = 23,
|
| 909 | SpvBuiltInNumWorkgroups = 24,
|
| 910 | SpvBuiltInWorkgroupSize = 25,
|
| 911 | SpvBuiltInWorkgroupId = 26,
|
| 912 | SpvBuiltInLocalInvocationId = 27,
|
| 913 | SpvBuiltInGlobalInvocationId = 28,
|
| 914 | SpvBuiltInLocalInvocationIndex = 29,
|
| 915 | SpvBuiltInWorkDim = 30,
|
| 916 | SpvBuiltInGlobalSize = 31,
|
| 917 | SpvBuiltInEnqueuedWorkgroupSize = 32,
|
| 918 | SpvBuiltInGlobalOffset = 33,
|
| 919 | SpvBuiltInGlobalLinearId = 34,
|
| 920 | SpvBuiltInWorkgroupLinearId = 35,
|
| 921 | SpvBuiltInSubgroupSize = 36,
|
| 922 | SpvBuiltInSubgroupMaxSize = 37,
|
| 923 | SpvBuiltInNumSubgroups = 38,
|
| 924 | SpvBuiltInNumEnqueuedSubgroups = 39,
|
| 925 | SpvBuiltInSubgroupId = 40,
|
| 926 | SpvBuiltInSubgroupLocalInvocationId = 41,
|
| 927 | } SpvBuiltIn;
|
| 928 |
|
| 929 | typedef enum SpvSelectionControlShift_ {
|
| 930 | SpvSelectionControlFlattenShift = 0,
|
| 931 | SpvSelectionControlDontFlattenShift = 1,
|
| 932 | } SpvSelectionControlShift;
|
| 933 |
|
| 934 | typedef enum SpvSelectionControlMask_ {
|
| 935 | SpvSelectionControlMaskNone = 0,
|
| 936 | SpvSelectionControlFlattenMask = 0x00000001,
|
| 937 | SpvSelectionControlDontFlattenMask = 0x00000002,
|
| 938 | } SpvSelectionControlMask;
|
| 939 |
|
| 940 | typedef enum SpvLoopControlShift_ {
|
| 941 | SpvLoopControlUnrollShift = 0,
|
| 942 | SpvLoopControlDontUnrollShift = 1,
|
| 943 | } SpvLoopControlShift;
|
| 944 |
|
| 945 | typedef enum SpvLoopControlMask_ {
|
| 946 | SpvLoopControlMaskNone = 0,
|
| 947 | SpvLoopControlUnrollMask = 0x00000001,
|
| 948 | SpvLoopControlDontUnrollMask = 0x00000002,
|
| 949 | } SpvLoopControlMask;
|
| 950 |
|
| 951 | typedef enum SpvFunctionControlShift_ {
|
| 952 | SpvFunctionControlInlineShift = 0,
|
| 953 | SpvFunctionControlDontInlineShift = 1,
|
| 954 | SpvFunctionControlPureShift = 2,
|
| 955 | SpvFunctionControlConstShift = 3,
|
| 956 | } SpvFunctionControlShift;
|
| 957 |
|
| 958 | typedef enum SpvFunctionControlMask_ {
|
| 959 | SpvFunctionControlMaskNone = 0,
|
| 960 | SpvFunctionControlInlineMask = 0x00000001,
|
| 961 | SpvFunctionControlDontInlineMask = 0x00000002,
|
| 962 | SpvFunctionControlPureMask = 0x00000004,
|
| 963 | SpvFunctionControlConstMask = 0x00000008,
|
| 964 | } SpvFunctionControlMask;
|
| 965 |
|
| 966 | typedef enum SpvMemorySemanticsShift_ {
|
| 967 | SpvMemorySemanticsRelaxedShift = 0,
|
| 968 | SpvMemorySemanticsSequentiallyConsistentShift = 1,
|
| 969 | SpvMemorySemanticsAcquireShift = 2,
|
| 970 | SpvMemorySemanticsReleaseShift = 3,
|
| 971 | SpvMemorySemanticsUniformMemoryShift = 4,
|
| 972 | SpvMemorySemanticsSubgroupMemoryShift = 5,
|
| 973 | SpvMemorySemanticsWorkgroupLocalMemoryShift = 6,
|
| 974 | SpvMemorySemanticsWorkgroupGlobalMemoryShift = 7,
|
| 975 | SpvMemorySemanticsAtomicCounterMemoryShift = 8,
|
| 976 | SpvMemorySemanticsImageMemoryShift = 9,
|
| 977 | } SpvMemorySemanticsShift;
|
| 978 |
|
| 979 | typedef enum SpvMemorySemanticsMask_ {
|
| 980 | SpvMemorySemanticsMaskNone = 0,
|
| 981 | SpvMemorySemanticsRelaxedMask = 0x00000001,
|
| 982 | SpvMemorySemanticsSequentiallyConsistentMask = 0x00000002,
|
| 983 | SpvMemorySemanticsAcquireMask = 0x00000004,
|
| 984 | SpvMemorySemanticsReleaseMask = 0x00000008,
|
| 985 | SpvMemorySemanticsUniformMemoryMask = 0x00000010,
|
| 986 | SpvMemorySemanticsSubgroupMemoryMask = 0x00000020,
|
| 987 | SpvMemorySemanticsWorkgroupLocalMemoryMask = 0x00000040,
|
| 988 | SpvMemorySemanticsWorkgroupGlobalMemoryMask = 0x00000080,
|
| 989 | SpvMemorySemanticsAtomicCounterMemoryMask = 0x00000100,
|
| 990 | SpvMemorySemanticsImageMemoryMask = 0x00000200,
|
| 991 | } SpvMemorySemanticsMask;
|
| 992 |
|
| 993 | typedef enum SpvMemoryAccessShift_ {
|
| 994 | SpvMemoryAccessVolatileShift = 0,
|
| 995 | SpvMemoryAccessAlignedShift = 1,
|
| 996 | } SpvMemoryAccessShift;
|
| 997 |
|
| 998 | typedef enum SpvMemoryAccessMask_ {
|
| 999 | SpvMemoryAccessMaskNone = 0,
|
| 1000 | SpvMemoryAccessVolatileMask = 0x00000001,
|
| 1001 | SpvMemoryAccessAlignedMask = 0x00000002,
|
| 1002 | } SpvMemoryAccessMask;
|
| 1003 |
|
| 1004 | typedef enum SpvExecutionScope_ {
|
| 1005 | SpvExecutionScopeCrossDevice = 0,
|
| 1006 | SpvExecutionScopeDevice = 1,
|
| 1007 | SpvExecutionScopeWorkgroup = 2,
|
| 1008 | SpvExecutionScopeSubgroup = 3,
|
| 1009 | } SpvExecutionScope;
|
| 1010 |
|
| 1011 | typedef enum SpvGroupOperation_ {
|
| 1012 | SpvGroupOperationReduce = 0,
|
| 1013 | SpvGroupOperationInclusiveScan = 1,
|
| 1014 | SpvGroupOperationExclusiveScan = 2,
|
| 1015 | } SpvGroupOperation;
|
| 1016 |
|
| 1017 | typedef enum SpvKernelEnqueueFlags_ {
|
| 1018 | SpvKernelEnqueueFlagsNoWait = 0,
|
| 1019 | SpvKernelEnqueueFlagsWaitKernel = 1,
|
| 1020 | SpvKernelEnqueueFlagsWaitWorkGroup = 2,
|
| 1021 | } SpvKernelEnqueueFlags;
|
| 1022 |
|
| 1023 | typedef enum SpvKernelProfilingInfoShift_ {
|
| 1024 | SpvKernelProfilingInfoCmdExecTimeShift = 0,
|
| 1025 | } SpvKernelProfilingInfoShift;
|
| 1026 |
|
| 1027 | typedef enum SpvKernelProfilingInfoMask_ {
|
| 1028 | SpvKernelProfilingInfoMaskNone = 0,
|
| 1029 | SpvKernelProfilingInfoCmdExecTimeMask = 0x00000001,
|
| 1030 | } SpvKernelProfilingInfoMask;
|
| 1031 |
|
| 1032 | typedef enum SpvOp_ {
|
| 1033 | SpvOpNop = 0,
|
| 1034 | SpvOpSource = 1,
|
| 1035 | SpvOpSourceExtension = 2,
|
| 1036 | SpvOpExtension = 3,
|
| 1037 | SpvOpExtInstImport = 4,
|
| 1038 | SpvOpMemoryModel = 5,
|
| 1039 | SpvOpEntryPoint = 6,
|
| 1040 | SpvOpExecutionMode = 7,
|
| 1041 | SpvOpTypeVoid = 8,
|
| 1042 | SpvOpTypeBool = 9,
|
| 1043 | SpvOpTypeInt = 10,
|
| 1044 | SpvOpTypeFloat = 11,
|
| 1045 | SpvOpTypeVector = 12,
|
| 1046 | SpvOpTypeMatrix = 13,
|
| 1047 | SpvOpTypeSampler = 14,
|
| 1048 | SpvOpTypeFilter = 15,
|
| 1049 | SpvOpTypeArray = 16,
|
| 1050 | SpvOpTypeRuntimeArray = 17,
|
| 1051 | SpvOpTypeStruct = 18,
|
| 1052 | SpvOpTypeOpaque = 19,
|
| 1053 | SpvOpTypePointer = 20,
|
| 1054 | SpvOpTypeFunction = 21,
|
| 1055 | SpvOpTypeEvent = 22,
|
| 1056 | SpvOpTypeDeviceEvent = 23,
|
| 1057 | SpvOpTypeReserveId = 24,
|
| 1058 | SpvOpTypeQueue = 25,
|
| 1059 | SpvOpTypePipe = 26,
|
| 1060 | SpvOpConstantTrue = 27,
|
| 1061 | SpvOpConstantFalse = 28,
|
| 1062 | SpvOpConstant = 29,
|
| 1063 | SpvOpConstantComposite = 30,
|
| 1064 | SpvOpConstantSampler = 31,
|
| 1065 | SpvOpConstantNullPointer = 32,
|
| 1066 | SpvOpConstantNullObject = 33,
|
| 1067 | SpvOpSpecConstantTrue = 34,
|
| 1068 | SpvOpSpecConstantFalse = 35,
|
| 1069 | SpvOpSpecConstant = 36,
|
| 1070 | SpvOpSpecConstantComposite = 37,
|
| 1071 | SpvOpVariable = 38,
|
| 1072 | SpvOpVariableArray = 39,
|
| 1073 | SpvOpFunction = 40,
|
| 1074 | SpvOpFunctionParameter = 41,
|
| 1075 | SpvOpFunctionEnd = 42,
|
| 1076 | SpvOpFunctionCall = 43,
|
| 1077 | SpvOpExtInst = 44,
|
| 1078 | SpvOpUndef = 45,
|
| 1079 | SpvOpLoad = 46,
|
| 1080 | SpvOpStore = 47,
|
| 1081 | SpvOpPhi = 48,
|
| 1082 | SpvOpDecorationGroup = 49,
|
| 1083 | SpvOpDecorate = 50,
|
| 1084 | SpvOpMemberDecorate = 51,
|
| 1085 | SpvOpGroupDecorate = 52,
|
| 1086 | SpvOpGroupMemberDecorate = 53,
|
| 1087 | SpvOpName = 54,
|
| 1088 | SpvOpMemberName = 55,
|
| 1089 | SpvOpString = 56,
|
| 1090 | SpvOpLine = 57,
|
| 1091 | SpvOpVectorExtractDynamic = 58,
|
| 1092 | SpvOpVectorInsertDynamic = 59,
|
| 1093 | SpvOpVectorShuffle = 60,
|
| 1094 | SpvOpCompositeConstruct = 61,
|
| 1095 | SpvOpCompositeExtract = 62,
|
| 1096 | SpvOpCompositeInsert = 63,
|
| 1097 | SpvOpCopyObject = 64,
|
| 1098 | SpvOpCopyMemory = 65,
|
| 1099 | SpvOpCopyMemorySized = 66,
|
| 1100 | SpvOpSampler = 67,
|
| 1101 | SpvOpTextureSample = 68,
|
| 1102 | SpvOpTextureSampleDref = 69,
|
| 1103 | SpvOpTextureSampleLod = 70,
|
| 1104 | SpvOpTextureSampleProj = 71,
|
| 1105 | SpvOpTextureSampleGrad = 72,
|
| 1106 | SpvOpTextureSampleOffset = 73,
|
| 1107 | SpvOpTextureSampleProjLod = 74,
|
| 1108 | SpvOpTextureSampleProjGrad = 75,
|
| 1109 | SpvOpTextureSampleLodOffset = 76,
|
| 1110 | SpvOpTextureSampleProjOffset = 77,
|
| 1111 | SpvOpTextureSampleGradOffset = 78,
|
| 1112 | SpvOpTextureSampleProjLodOffset = 79,
|
| 1113 | SpvOpTextureSampleProjGradOffset = 80,
|
| 1114 | SpvOpTextureFetchTexelLod = 81,
|
| 1115 | SpvOpTextureFetchTexelOffset = 82,
|
| 1116 | SpvOpTextureFetchSample = 83,
|
| 1117 | SpvOpTextureFetchTexel = 84,
|
| 1118 | SpvOpTextureGather = 85,
|
| 1119 | SpvOpTextureGatherOffset = 86,
|
| 1120 | SpvOpTextureGatherOffsets = 87,
|
| 1121 | SpvOpTextureQuerySizeLod = 88,
|
| 1122 | SpvOpTextureQuerySize = 89,
|
| 1123 | SpvOpTextureQueryLod = 90,
|
| 1124 | SpvOpTextureQueryLevels = 91,
|
| 1125 | SpvOpTextureQuerySamples = 92,
|
| 1126 | SpvOpAccessChain = 93,
|
| 1127 | SpvOpInBoundsAccessChain = 94,
|
| 1128 | SpvOpSNegate = 95,
|
| 1129 | SpvOpFNegate = 96,
|
| 1130 | SpvOpNot = 97,
|
| 1131 | SpvOpAny = 98,
|
| 1132 | SpvOpAll = 99,
|
| 1133 | SpvOpConvertFToU = 100,
|
| 1134 | SpvOpConvertFToS = 101,
|
| 1135 | SpvOpConvertSToF = 102,
|
| 1136 | SpvOpConvertUToF = 103,
|
| 1137 | SpvOpUConvert = 104,
|
| 1138 | SpvOpSConvert = 105,
|
| 1139 | SpvOpFConvert = 106,
|
| 1140 | SpvOpConvertPtrToU = 107,
|
| 1141 | SpvOpConvertUToPtr = 108,
|
| 1142 | SpvOpPtrCastToGeneric = 109,
|
| 1143 | SpvOpGenericCastToPtr = 110,
|
| 1144 | SpvOpBitcast = 111,
|
| 1145 | SpvOpTranspose = 112,
|
| 1146 | SpvOpIsNan = 113,
|
| 1147 | SpvOpIsInf = 114,
|
| 1148 | SpvOpIsFinite = 115,
|
| 1149 | SpvOpIsNormal = 116,
|
| 1150 | SpvOpSignBitSet = 117,
|
| 1151 | SpvOpLessOrGreater = 118,
|
| 1152 | SpvOpOrdered = 119,
|
| 1153 | SpvOpUnordered = 120,
|
| 1154 | SpvOpArrayLength = 121,
|
| 1155 | SpvOpIAdd = 122,
|
| 1156 | SpvOpFAdd = 123,
|
| 1157 | SpvOpISub = 124,
|
| 1158 | SpvOpFSub = 125,
|
| 1159 | SpvOpIMul = 126,
|
| 1160 | SpvOpFMul = 127,
|
| 1161 | SpvOpUDiv = 128,
|
| 1162 | SpvOpSDiv = 129,
|
| 1163 | SpvOpFDiv = 130,
|
| 1164 | SpvOpUMod = 131,
|
| 1165 | SpvOpSRem = 132,
|
| 1166 | SpvOpSMod = 133,
|
| 1167 | SpvOpFRem = 134,
|
| 1168 | SpvOpFMod = 135,
|
| 1169 | SpvOpVectorTimesScalar = 136,
|
| 1170 | SpvOpMatrixTimesScalar = 137,
|
| 1171 | SpvOpVectorTimesMatrix = 138,
|
| 1172 | SpvOpMatrixTimesVector = 139,
|
| 1173 | SpvOpMatrixTimesMatrix = 140,
|
| 1174 | SpvOpOuterProduct = 141,
|
| 1175 | SpvOpDot = 142,
|
| 1176 | SpvOpShiftRightLogical = 143,
|
| 1177 | SpvOpShiftRightArithmetic = 144,
|
| 1178 | SpvOpShiftLeftLogical = 145,
|
| 1179 | SpvOpLogicalOr = 146,
|
| 1180 | SpvOpLogicalXor = 147,
|
| 1181 | SpvOpLogicalAnd = 148,
|
| 1182 | SpvOpBitwiseOr = 149,
|
| 1183 | SpvOpBitwiseXor = 150,
|
| 1184 | SpvOpBitwiseAnd = 151,
|
| 1185 | SpvOpSelect = 152,
|
| 1186 | SpvOpIEqual = 153,
|
| 1187 | SpvOpFOrdEqual = 154,
|
| 1188 | SpvOpFUnordEqual = 155,
|
| 1189 | SpvOpINotEqual = 156,
|
| 1190 | SpvOpFOrdNotEqual = 157,
|
| 1191 | SpvOpFUnordNotEqual = 158,
|
| 1192 | SpvOpULessThan = 159,
|
| 1193 | SpvOpSLessThan = 160,
|
| 1194 | SpvOpFOrdLessThan = 161,
|
| 1195 | SpvOpFUnordLessThan = 162,
|
| 1196 | SpvOpUGreaterThan = 163,
|
| 1197 | SpvOpSGreaterThan = 164,
|
| 1198 | SpvOpFOrdGreaterThan = 165,
|
| 1199 | SpvOpFUnordGreaterThan = 166,
|
| 1200 | SpvOpULessThanEqual = 167,
|
| 1201 | SpvOpSLessThanEqual = 168,
|
| 1202 | SpvOpFOrdLessThanEqual = 169,
|
| 1203 | SpvOpFUnordLessThanEqual = 170,
|
| 1204 | SpvOpUGreaterThanEqual = 171,
|
| 1205 | SpvOpSGreaterThanEqual = 172,
|
| 1206 | SpvOpFOrdGreaterThanEqual = 173,
|
| 1207 | SpvOpFUnordGreaterThanEqual = 174,
|
| 1208 | SpvOpDPdx = 175,
|
| 1209 | SpvOpDPdy = 176,
|
| 1210 | SpvOpFwidth = 177,
|
| 1211 | SpvOpDPdxFine = 178,
|
| 1212 | SpvOpDPdyFine = 179,
|
| 1213 | SpvOpFwidthFine = 180,
|
| 1214 | SpvOpDPdxCoarse = 181,
|
| 1215 | SpvOpDPdyCoarse = 182,
|
| 1216 | SpvOpFwidthCoarse = 183,
|
| 1217 | SpvOpEmitVertex = 184,
|
| 1218 | SpvOpEndPrimitive = 185,
|
| 1219 | SpvOpEmitStreamVertex = 186,
|
| 1220 | SpvOpEndStreamPrimitive = 187,
|
| 1221 | SpvOpControlBarrier = 188,
|
| 1222 | SpvOpMemoryBarrier = 189,
|
| 1223 | SpvOpImagePointer = 190,
|
| 1224 | SpvOpAtomicInit = 191,
|
| 1225 | SpvOpAtomicLoad = 192,
|
| 1226 | SpvOpAtomicStore = 193,
|
| 1227 | SpvOpAtomicExchange = 194,
|
| 1228 | SpvOpAtomicCompareExchange = 195,
|
| 1229 | SpvOpAtomicCompareExchangeWeak = 196,
|
| 1230 | SpvOpAtomicIIncrement = 197,
|
| 1231 | SpvOpAtomicIDecrement = 198,
|
| 1232 | SpvOpAtomicIAdd = 199,
|
| 1233 | SpvOpAtomicISub = 200,
|
| 1234 | SpvOpAtomicUMin = 201,
|
| 1235 | SpvOpAtomicUMax = 202,
|
| 1236 | SpvOpAtomicAnd = 203,
|
| 1237 | SpvOpAtomicOr = 204,
|
| 1238 | SpvOpAtomicXor = 205,
|
| 1239 | SpvOpLoopMerge = 206,
|
| 1240 | SpvOpSelectionMerge = 207,
|
| 1241 | SpvOpLabel = 208,
|
| 1242 | SpvOpBranch = 209,
|
| 1243 | SpvOpBranchConditional = 210,
|
| 1244 | SpvOpSwitch = 211,
|
| 1245 | SpvOpKill = 212,
|
| 1246 | SpvOpReturn = 213,
|
| 1247 | SpvOpReturnValue = 214,
|
| 1248 | SpvOpUnreachable = 215,
|
| 1249 | SpvOpLifetimeStart = 216,
|
| 1250 | SpvOpLifetimeStop = 217,
|
| 1251 | SpvOpCompileFlag = 218,
|
| 1252 | SpvOpAsyncGroupCopy = 219,
|
| 1253 | SpvOpWaitGroupEvents = 220,
|
| 1254 | SpvOpGroupAll = 221,
|
| 1255 | SpvOpGroupAny = 222,
|
| 1256 | SpvOpGroupBroadcast = 223,
|
| 1257 | SpvOpGroupIAdd = 224,
|
| 1258 | SpvOpGroupFAdd = 225,
|
| 1259 | SpvOpGroupFMin = 226,
|
| 1260 | SpvOpGroupUMin = 227,
|
| 1261 | SpvOpGroupSMin = 228,
|
| 1262 | SpvOpGroupFMax = 229,
|
| 1263 | SpvOpGroupUMax = 230,
|
| 1264 | SpvOpGroupSMax = 231,
|
| 1265 | SpvOpGenericCastToPtrExplicit = 232,
|
| 1266 | SpvOpGenericPtrMemSemantics = 233,
|
| 1267 | SpvOpReadPipe = 234,
|
| 1268 | SpvOpWritePipe = 235,
|
| 1269 | SpvOpReservedReadPipe = 236,
|
| 1270 | SpvOpReservedWritePipe = 237,
|
| 1271 | SpvOpReserveReadPipePackets = 238,
|
| 1272 | SpvOpReserveWritePipePackets = 239,
|
| 1273 | SpvOpCommitReadPipe = 240,
|
| 1274 | SpvOpCommitWritePipe = 241,
|
| 1275 | SpvOpIsValidReserveId = 242,
|
| 1276 | SpvOpGetNumPipePackets = 243,
|
| 1277 | SpvOpGetMaxPipePackets = 244,
|
| 1278 | SpvOpGroupReserveReadPipePackets = 245,
|
| 1279 | SpvOpGroupReserveWritePipePackets = 246,
|
| 1280 | SpvOpGroupCommitReadPipe = 247,
|
| 1281 | SpvOpGroupCommitWritePipe = 248,
|
| 1282 | SpvOpEnqueueMarker = 249,
|
| 1283 | SpvOpEnqueueKernel = 250,
|
| 1284 | SpvOpGetKernelNDrangeSubGroupCount = 251,
|
| 1285 | SpvOpGetKernelNDrangeMaxSubGroupSize = 252,
|
| 1286 | SpvOpGetKernelWorkGroupSize = 253,
|
| 1287 | SpvOpGetKernelPreferredWorkGroupSizeMultiple = 254,
|
| 1288 | SpvOpRetainEvent = 255,
|
| 1289 | SpvOpReleaseEvent = 256,
|
| 1290 | SpvOpCreateUserEvent = 257,
|
| 1291 | SpvOpIsValidEvent = 258,
|
| 1292 | SpvOpSetUserEventStatus = 259,
|
| 1293 | SpvOpCaptureEventProfilingInfo = 260,
|
| 1294 | SpvOpGetDefaultQueue = 261,
|
| 1295 | SpvOpBuildNDRange = 262,
|
| 1296 | SpvOpSatConvertSToU = 263,
|
| 1297 | SpvOpSatConvertUToS = 264,
|
| 1298 | SpvOpAtomicIMin = 265,
|
| 1299 | SpvOpAtomicIMax = 266,
|
| 1300 | } SpvOp;
|
| 1301 |
|
| 1302 | #endif // #ifndef __cplusplus
|
| 1303 |
|
| 1304 | #endif // #ifndef spirv_H
|