1 /* 2 ** Copyright (c) 2014-2018 The Khronos Group Inc. 3 ** 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: 10 ** 11 ** The above copyright notice and this permission notice shall be included in 12 ** all copies or substantial portions of the Materials. 13 ** 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. 25 */ 26 27 /* 28 ** This header is automatically generated by the same tool that creates 29 ** the Binary Section of the SPIR-V specification. 30 */ 31 32 /* 33 ** Enumeration tokens for SPIR-V, in various styles: 34 ** C, C++, C++11, JSON, Lua, Python 35 ** 36 ** - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL 37 ** - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL 38 ** - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL 39 ** - Lua will use tables, e.g.: spv.SourceLanguage.GLSL 40 ** - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL'] 41 ** 42 ** Some tokens act like mask values, which can be OR'd together, 43 ** while others are mutually exclusive. The mask-like ones have 44 ** "Mask" in their name, and a parallel enum that has the shift 45 ** amount (1 << x) for each corresponding enumerant. 46 */ 47 48 #ifndef spirv_H 49 #define spirv_H 50 51 typedef unsigned int SpvId; 52 53 #define SPV_VERSION 0x10000 54 #define SPV_REVISION 12 55 56 static const unsigned int SpvMagicNumber = 0x07230203; 57 static const unsigned int SpvVersion = 0x00010000; 58 static const unsigned int SpvRevision = 12; 59 static const unsigned int SpvOpCodeMask = 0xffff; 60 static const unsigned int SpvWordCountShift = 16; 61 62 typedef enum SpvSourceLanguage_ { 63 SpvSourceLanguageUnknown = 0, 64 SpvSourceLanguageESSL = 1, 65 SpvSourceLanguageGLSL = 2, 66 SpvSourceLanguageOpenCL_C = 3, 67 SpvSourceLanguageOpenCL_CPP = 4, 68 SpvSourceLanguageHLSL = 5, 69 SpvSourceLanguageMax = 0x7fffffff, 70 } SpvSourceLanguage; 71 72 typedef enum SpvExecutionModel_ { 73 SpvExecutionModelVertex = 0, 74 SpvExecutionModelTessellationControl = 1, 75 SpvExecutionModelTessellationEvaluation = 2, 76 SpvExecutionModelGeometry = 3, 77 SpvExecutionModelFragment = 4, 78 SpvExecutionModelGLCompute = 5, 79 SpvExecutionModelKernel = 6, 80 SpvExecutionModelMax = 0x7fffffff, 81 } SpvExecutionModel; 82 83 typedef enum SpvAddressingModel_ { 84 SpvAddressingModelLogical = 0, 85 SpvAddressingModelPhysical32 = 1, 86 SpvAddressingModelPhysical64 = 2, 87 SpvAddressingModelMax = 0x7fffffff, 88 } SpvAddressingModel; 89 90 typedef enum SpvMemoryModel_ { 91 SpvMemoryModelSimple = 0, 92 SpvMemoryModelGLSL450 = 1, 93 SpvMemoryModelOpenCL = 2, 94 SpvMemoryModelMax = 0x7fffffff, 95 } SpvMemoryModel; 96 97 typedef enum SpvExecutionMode_ { 98 SpvExecutionModeInvocations = 0, 99 SpvExecutionModeSpacingEqual = 1, 100 SpvExecutionModeSpacingFractionalEven = 2, 101 SpvExecutionModeSpacingFractionalOdd = 3, 102 SpvExecutionModeVertexOrderCw = 4, 103 SpvExecutionModeVertexOrderCcw = 5, 104 SpvExecutionModePixelCenterInteger = 6, 105 SpvExecutionModeOriginUpperLeft = 7, 106 SpvExecutionModeOriginLowerLeft = 8, 107 SpvExecutionModeEarlyFragmentTests = 9, 108 SpvExecutionModePointMode = 10, 109 SpvExecutionModeXfb = 11, 110 SpvExecutionModeDepthReplacing = 12, 111 SpvExecutionModeDepthGreater = 14, 112 SpvExecutionModeDepthLess = 15, 113 SpvExecutionModeDepthUnchanged = 16, 114 SpvExecutionModeLocalSize = 17, 115 SpvExecutionModeLocalSizeHint = 18, 116 SpvExecutionModeInputPoints = 19, 117 SpvExecutionModeInputLines = 20, 118 SpvExecutionModeInputLinesAdjacency = 21, 119 SpvExecutionModeTriangles = 22, 120 SpvExecutionModeInputTrianglesAdjacency = 23, 121 SpvExecutionModeQuads = 24, 122 SpvExecutionModeIsolines = 25, 123 SpvExecutionModeOutputVertices = 26, 124 SpvExecutionModeOutputPoints = 27, 125 SpvExecutionModeOutputLineStrip = 28, 126 SpvExecutionModeOutputTriangleStrip = 29, 127 SpvExecutionModeVecTypeHint = 30, 128 SpvExecutionModeContractionOff = 31, 129 SpvExecutionModePostDepthCoverage = 4446, 130 SpvExecutionModeStencilRefReplacingEXT = 5027, 131 SpvExecutionModeMax = 0x7fffffff, 132 } SpvExecutionMode; 133 134 typedef enum SpvStorageClass_ { 135 SpvStorageClassUniformConstant = 0, 136 SpvStorageClassInput = 1, 137 SpvStorageClassUniform = 2, 138 SpvStorageClassOutput = 3, 139 SpvStorageClassWorkgroup = 4, 140 SpvStorageClassCrossWorkgroup = 5, 141 SpvStorageClassPrivate = 6, 142 SpvStorageClassFunction = 7, 143 SpvStorageClassGeneric = 8, 144 SpvStorageClassPushConstant = 9, 145 SpvStorageClassAtomicCounter = 10, 146 SpvStorageClassImage = 11, 147 SpvStorageClassStorageBuffer = 12, 148 SpvStorageClassMax = 0x7fffffff, 149 } SpvStorageClass; 150 151 typedef enum SpvDim_ { 152 SpvDim1D = 0, 153 SpvDim2D = 1, 154 SpvDim3D = 2, 155 SpvDimCube = 3, 156 SpvDimRect = 4, 157 SpvDimBuffer = 5, 158 SpvDimSubpassData = 6, 159 SpvDimMax = 0x7fffffff, 160 } SpvDim; 161 162 typedef enum SpvSamplerAddressingMode_ { 163 SpvSamplerAddressingModeNone = 0, 164 SpvSamplerAddressingModeClampToEdge = 1, 165 SpvSamplerAddressingModeClamp = 2, 166 SpvSamplerAddressingModeRepeat = 3, 167 SpvSamplerAddressingModeRepeatMirrored = 4, 168 SpvSamplerAddressingModeMax = 0x7fffffff, 169 } SpvSamplerAddressingMode; 170 171 typedef enum SpvSamplerFilterMode_ { 172 SpvSamplerFilterModeNearest = 0, 173 SpvSamplerFilterModeLinear = 1, 174 SpvSamplerFilterModeMax = 0x7fffffff, 175 } SpvSamplerFilterMode; 176 177 typedef enum SpvImageFormat_ { 178 SpvImageFormatUnknown = 0, 179 SpvImageFormatRgba32f = 1, 180 SpvImageFormatRgba16f = 2, 181 SpvImageFormatR32f = 3, 182 SpvImageFormatRgba8 = 4, 183 SpvImageFormatRgba8Snorm = 5, 184 SpvImageFormatRg32f = 6, 185 SpvImageFormatRg16f = 7, 186 SpvImageFormatR11fG11fB10f = 8, 187 SpvImageFormatR16f = 9, 188 SpvImageFormatRgba16 = 10, 189 SpvImageFormatRgb10A2 = 11, 190 SpvImageFormatRg16 = 12, 191 SpvImageFormatRg8 = 13, 192 SpvImageFormatR16 = 14, 193 SpvImageFormatR8 = 15, 194 SpvImageFormatRgba16Snorm = 16, 195 SpvImageFormatRg16Snorm = 17, 196 SpvImageFormatRg8Snorm = 18, 197 SpvImageFormatR16Snorm = 19, 198 SpvImageFormatR8Snorm = 20, 199 SpvImageFormatRgba32i = 21, 200 SpvImageFormatRgba16i = 22, 201 SpvImageFormatRgba8i = 23, 202 SpvImageFormatR32i = 24, 203 SpvImageFormatRg32i = 25, 204 SpvImageFormatRg16i = 26, 205 SpvImageFormatRg8i = 27, 206 SpvImageFormatR16i = 28, 207 SpvImageFormatR8i = 29, 208 SpvImageFormatRgba32ui = 30, 209 SpvImageFormatRgba16ui = 31, 210 SpvImageFormatRgba8ui = 32, 211 SpvImageFormatR32ui = 33, 212 SpvImageFormatRgb10a2ui = 34, 213 SpvImageFormatRg32ui = 35, 214 SpvImageFormatRg16ui = 36, 215 SpvImageFormatRg8ui = 37, 216 SpvImageFormatR16ui = 38, 217 SpvImageFormatR8ui = 39, 218 SpvImageFormatMax = 0x7fffffff, 219 } SpvImageFormat; 220 221 typedef enum SpvImageChannelOrder_ { 222 SpvImageChannelOrderR = 0, 223 SpvImageChannelOrderA = 1, 224 SpvImageChannelOrderRG = 2, 225 SpvImageChannelOrderRA = 3, 226 SpvImageChannelOrderRGB = 4, 227 SpvImageChannelOrderRGBA = 5, 228 SpvImageChannelOrderBGRA = 6, 229 SpvImageChannelOrderARGB = 7, 230 SpvImageChannelOrderIntensity = 8, 231 SpvImageChannelOrderLuminance = 9, 232 SpvImageChannelOrderRx = 10, 233 SpvImageChannelOrderRGx = 11, 234 SpvImageChannelOrderRGBx = 12, 235 SpvImageChannelOrderDepth = 13, 236 SpvImageChannelOrderDepthStencil = 14, 237 SpvImageChannelOrdersRGB = 15, 238 SpvImageChannelOrdersRGBx = 16, 239 SpvImageChannelOrdersRGBA = 17, 240 SpvImageChannelOrdersBGRA = 18, 241 SpvImageChannelOrderABGR = 19, 242 SpvImageChannelOrderMax = 0x7fffffff, 243 } SpvImageChannelOrder; 244 245 typedef enum SpvImageChannelDataType_ { 246 SpvImageChannelDataTypeSnormInt8 = 0, 247 SpvImageChannelDataTypeSnormInt16 = 1, 248 SpvImageChannelDataTypeUnormInt8 = 2, 249 SpvImageChannelDataTypeUnormInt16 = 3, 250 SpvImageChannelDataTypeUnormShort565 = 4, 251 SpvImageChannelDataTypeUnormShort555 = 5, 252 SpvImageChannelDataTypeUnormInt101010 = 6, 253 SpvImageChannelDataTypeSignedInt8 = 7, 254 SpvImageChannelDataTypeSignedInt16 = 8, 255 SpvImageChannelDataTypeSignedInt32 = 9, 256 SpvImageChannelDataTypeUnsignedInt8 = 10, 257 SpvImageChannelDataTypeUnsignedInt16 = 11, 258 SpvImageChannelDataTypeUnsignedInt32 = 12, 259 SpvImageChannelDataTypeHalfFloat = 13, 260 SpvImageChannelDataTypeFloat = 14, 261 SpvImageChannelDataTypeUnormInt24 = 15, 262 SpvImageChannelDataTypeUnormInt101010_2 = 16, 263 SpvImageChannelDataTypeMax = 0x7fffffff, 264 } SpvImageChannelDataType; 265 266 typedef enum SpvImageOperandsShift_ { 267 SpvImageOperandsBiasShift = 0, 268 SpvImageOperandsLodShift = 1, 269 SpvImageOperandsGradShift = 2, 270 SpvImageOperandsConstOffsetShift = 3, 271 SpvImageOperandsOffsetShift = 4, 272 SpvImageOperandsConstOffsetsShift = 5, 273 SpvImageOperandsSampleShift = 6, 274 SpvImageOperandsMinLodShift = 7, 275 SpvImageOperandsMax = 0x7fffffff, 276 } SpvImageOperandsShift; 277 278 typedef enum SpvImageOperandsMask_ { 279 SpvImageOperandsMaskNone = 0, 280 SpvImageOperandsBiasMask = 0x00000001, 281 SpvImageOperandsLodMask = 0x00000002, 282 SpvImageOperandsGradMask = 0x00000004, 283 SpvImageOperandsConstOffsetMask = 0x00000008, 284 SpvImageOperandsOffsetMask = 0x00000010, 285 SpvImageOperandsConstOffsetsMask = 0x00000020, 286 SpvImageOperandsSampleMask = 0x00000040, 287 SpvImageOperandsMinLodMask = 0x00000080, 288 } SpvImageOperandsMask; 289 290 typedef enum SpvFPFastMathModeShift_ { 291 SpvFPFastMathModeNotNaNShift = 0, 292 SpvFPFastMathModeNotInfShift = 1, 293 SpvFPFastMathModeNSZShift = 2, 294 SpvFPFastMathModeAllowRecipShift = 3, 295 SpvFPFastMathModeFastShift = 4, 296 SpvFPFastMathModeMax = 0x7fffffff, 297 } SpvFPFastMathModeShift; 298 299 typedef enum SpvFPFastMathModeMask_ { 300 SpvFPFastMathModeMaskNone = 0, 301 SpvFPFastMathModeNotNaNMask = 0x00000001, 302 SpvFPFastMathModeNotInfMask = 0x00000002, 303 SpvFPFastMathModeNSZMask = 0x00000004, 304 SpvFPFastMathModeAllowRecipMask = 0x00000008, 305 SpvFPFastMathModeFastMask = 0x00000010, 306 } SpvFPFastMathModeMask; 307 308 typedef enum SpvFPRoundingMode_ { 309 SpvFPRoundingModeRTE = 0, 310 SpvFPRoundingModeRTZ = 1, 311 SpvFPRoundingModeRTP = 2, 312 SpvFPRoundingModeRTN = 3, 313 SpvFPRoundingModeMax = 0x7fffffff, 314 } SpvFPRoundingMode; 315 316 typedef enum SpvLinkageType_ { 317 SpvLinkageTypeExport = 0, 318 SpvLinkageTypeImport = 1, 319 SpvLinkageTypeMax = 0x7fffffff, 320 } SpvLinkageType; 321 322 typedef enum SpvAccessQualifier_ { 323 SpvAccessQualifierReadOnly = 0, 324 SpvAccessQualifierWriteOnly = 1, 325 SpvAccessQualifierReadWrite = 2, 326 SpvAccessQualifierMax = 0x7fffffff, 327 } SpvAccessQualifier; 328 329 typedef enum SpvFunctionParameterAttribute_ { 330 SpvFunctionParameterAttributeZext = 0, 331 SpvFunctionParameterAttributeSext = 1, 332 SpvFunctionParameterAttributeByVal = 2, 333 SpvFunctionParameterAttributeSret = 3, 334 SpvFunctionParameterAttributeNoAlias = 4, 335 SpvFunctionParameterAttributeNoCapture = 5, 336 SpvFunctionParameterAttributeNoWrite = 6, 337 SpvFunctionParameterAttributeNoReadWrite = 7, 338 SpvFunctionParameterAttributeMax = 0x7fffffff, 339 } SpvFunctionParameterAttribute; 340 341 typedef enum SpvDecoration_ { 342 SpvDecorationRelaxedPrecision = 0, 343 SpvDecorationSpecId = 1, 344 SpvDecorationBlock = 2, 345 SpvDecorationBufferBlock = 3, 346 SpvDecorationRowMajor = 4, 347 SpvDecorationColMajor = 5, 348 SpvDecorationArrayStride = 6, 349 SpvDecorationMatrixStride = 7, 350 SpvDecorationGLSLShared = 8, 351 SpvDecorationGLSLPacked = 9, 352 SpvDecorationCPacked = 10, 353 SpvDecorationBuiltIn = 11, 354 SpvDecorationNoPerspective = 13, 355 SpvDecorationFlat = 14, 356 SpvDecorationPatch = 15, 357 SpvDecorationCentroid = 16, 358 SpvDecorationSample = 17, 359 SpvDecorationInvariant = 18, 360 SpvDecorationRestrict = 19, 361 SpvDecorationAliased = 20, 362 SpvDecorationVolatile = 21, 363 SpvDecorationConstant = 22, 364 SpvDecorationCoherent = 23, 365 SpvDecorationNonWritable = 24, 366 SpvDecorationNonReadable = 25, 367 SpvDecorationUniform = 26, 368 SpvDecorationSaturatedConversion = 28, 369 SpvDecorationStream = 29, 370 SpvDecorationLocation = 30, 371 SpvDecorationComponent = 31, 372 SpvDecorationIndex = 32, 373 SpvDecorationBinding = 33, 374 SpvDecorationDescriptorSet = 34, 375 SpvDecorationOffset = 35, 376 SpvDecorationXfbBuffer = 36, 377 SpvDecorationXfbStride = 37, 378 SpvDecorationFuncParamAttr = 38, 379 SpvDecorationFPRoundingMode = 39, 380 SpvDecorationFPFastMathMode = 40, 381 SpvDecorationLinkageAttributes = 41, 382 SpvDecorationNoContraction = 42, 383 SpvDecorationInputAttachmentIndex = 43, 384 SpvDecorationAlignment = 44, 385 SpvDecorationExplicitInterpAMD = 4999, 386 SpvDecorationOverrideCoverageNV = 5248, 387 SpvDecorationPassthroughNV = 5250, 388 SpvDecorationViewportRelativeNV = 5252, 389 SpvDecorationSecondaryViewportRelativeNV = 5256, 390 SpvDecorationHlslCounterBufferGOOGLE = 5634, 391 SpvDecorationHlslSemanticGOOGLE = 5635, 392 SpvDecorationMax = 0x7fffffff, 393 } SpvDecoration; 394 395 typedef enum SpvBuiltIn_ { 396 SpvBuiltInPosition = 0, 397 SpvBuiltInPointSize = 1, 398 SpvBuiltInClipDistance = 3, 399 SpvBuiltInCullDistance = 4, 400 SpvBuiltInVertexId = 5, 401 SpvBuiltInInstanceId = 6, 402 SpvBuiltInPrimitiveId = 7, 403 SpvBuiltInInvocationId = 8, 404 SpvBuiltInLayer = 9, 405 SpvBuiltInViewportIndex = 10, 406 SpvBuiltInTessLevelOuter = 11, 407 SpvBuiltInTessLevelInner = 12, 408 SpvBuiltInTessCoord = 13, 409 SpvBuiltInPatchVertices = 14, 410 SpvBuiltInFragCoord = 15, 411 SpvBuiltInPointCoord = 16, 412 SpvBuiltInFrontFacing = 17, 413 SpvBuiltInSampleId = 18, 414 SpvBuiltInSamplePosition = 19, 415 SpvBuiltInSampleMask = 20, 416 SpvBuiltInFragDepth = 22, 417 SpvBuiltInHelperInvocation = 23, 418 SpvBuiltInNumWorkgroups = 24, 419 SpvBuiltInWorkgroupSize = 25, 420 SpvBuiltInWorkgroupId = 26, 421 SpvBuiltInLocalInvocationId = 27, 422 SpvBuiltInGlobalInvocationId = 28, 423 SpvBuiltInLocalInvocationIndex = 29, 424 SpvBuiltInWorkDim = 30, 425 SpvBuiltInGlobalSize = 31, 426 SpvBuiltInEnqueuedWorkgroupSize = 32, 427 SpvBuiltInGlobalOffset = 33, 428 SpvBuiltInGlobalLinearId = 34, 429 SpvBuiltInSubgroupSize = 36, 430 SpvBuiltInSubgroupMaxSize = 37, 431 SpvBuiltInNumSubgroups = 38, 432 SpvBuiltInNumEnqueuedSubgroups = 39, 433 SpvBuiltInSubgroupId = 40, 434 SpvBuiltInSubgroupLocalInvocationId = 41, 435 SpvBuiltInVertexIndex = 42, 436 SpvBuiltInInstanceIndex = 43, 437 SpvBuiltInSubgroupEqMaskKHR = 4416, 438 SpvBuiltInSubgroupGeMaskKHR = 4417, 439 SpvBuiltInSubgroupGtMaskKHR = 4418, 440 SpvBuiltInSubgroupLeMaskKHR = 4419, 441 SpvBuiltInSubgroupLtMaskKHR = 4420, 442 SpvBuiltInBaseVertex = 4424, 443 SpvBuiltInBaseInstance = 4425, 444 SpvBuiltInDrawIndex = 4426, 445 SpvBuiltInDeviceIndex = 4438, 446 SpvBuiltInViewIndex = 4440, 447 SpvBuiltInBaryCoordNoPerspAMD = 4992, 448 SpvBuiltInBaryCoordNoPerspCentroidAMD = 4993, 449 SpvBuiltInBaryCoordNoPerspSampleAMD = 4994, 450 SpvBuiltInBaryCoordSmoothAMD = 4995, 451 SpvBuiltInBaryCoordSmoothCentroidAMD = 4996, 452 SpvBuiltInBaryCoordSmoothSampleAMD = 4997, 453 SpvBuiltInBaryCoordPullModelAMD = 4998, 454 SpvBuiltInFragStencilRefEXT = 5014, 455 SpvBuiltInViewportMaskNV = 5253, 456 SpvBuiltInSecondaryPositionNV = 5257, 457 SpvBuiltInSecondaryViewportMaskNV = 5258, 458 SpvBuiltInPositionPerViewNV = 5261, 459 SpvBuiltInViewportMaskPerViewNV = 5262, 460 SpvBuiltInMax = 0x7fffffff, 461 } SpvBuiltIn; 462 463 typedef enum SpvSelectionControlShift_ { 464 SpvSelectionControlFlattenShift = 0, 465 SpvSelectionControlDontFlattenShift = 1, 466 SpvSelectionControlMax = 0x7fffffff, 467 } SpvSelectionControlShift; 468 469 typedef enum SpvSelectionControlMask_ { 470 SpvSelectionControlMaskNone = 0, 471 SpvSelectionControlFlattenMask = 0x00000001, 472 SpvSelectionControlDontFlattenMask = 0x00000002, 473 } SpvSelectionControlMask; 474 475 typedef enum SpvLoopControlShift_ { 476 SpvLoopControlUnrollShift = 0, 477 SpvLoopControlDontUnrollShift = 1, 478 SpvLoopControlMax = 0x7fffffff, 479 } SpvLoopControlShift; 480 481 typedef enum SpvLoopControlMask_ { 482 SpvLoopControlMaskNone = 0, 483 SpvLoopControlUnrollMask = 0x00000001, 484 SpvLoopControlDontUnrollMask = 0x00000002, 485 } SpvLoopControlMask; 486 487 typedef enum SpvFunctionControlShift_ { 488 SpvFunctionControlInlineShift = 0, 489 SpvFunctionControlDontInlineShift = 1, 490 SpvFunctionControlPureShift = 2, 491 SpvFunctionControlConstShift = 3, 492 SpvFunctionControlMax = 0x7fffffff, 493 } SpvFunctionControlShift; 494 495 typedef enum SpvFunctionControlMask_ { 496 SpvFunctionControlMaskNone = 0, 497 SpvFunctionControlInlineMask = 0x00000001, 498 SpvFunctionControlDontInlineMask = 0x00000002, 499 SpvFunctionControlPureMask = 0x00000004, 500 SpvFunctionControlConstMask = 0x00000008, 501 } SpvFunctionControlMask; 502 503 typedef enum SpvMemorySemanticsShift_ { 504 SpvMemorySemanticsAcquireShift = 1, 505 SpvMemorySemanticsReleaseShift = 2, 506 SpvMemorySemanticsAcquireReleaseShift = 3, 507 SpvMemorySemanticsSequentiallyConsistentShift = 4, 508 SpvMemorySemanticsUniformMemoryShift = 6, 509 SpvMemorySemanticsSubgroupMemoryShift = 7, 510 SpvMemorySemanticsWorkgroupMemoryShift = 8, 511 SpvMemorySemanticsCrossWorkgroupMemoryShift = 9, 512 SpvMemorySemanticsAtomicCounterMemoryShift = 10, 513 SpvMemorySemanticsImageMemoryShift = 11, 514 SpvMemorySemanticsMax = 0x7fffffff, 515 } SpvMemorySemanticsShift; 516 517 typedef enum SpvMemorySemanticsMask_ { 518 SpvMemorySemanticsMaskNone = 0, 519 SpvMemorySemanticsAcquireMask = 0x00000002, 520 SpvMemorySemanticsReleaseMask = 0x00000004, 521 SpvMemorySemanticsAcquireReleaseMask = 0x00000008, 522 SpvMemorySemanticsSequentiallyConsistentMask = 0x00000010, 523 SpvMemorySemanticsUniformMemoryMask = 0x00000040, 524 SpvMemorySemanticsSubgroupMemoryMask = 0x00000080, 525 SpvMemorySemanticsWorkgroupMemoryMask = 0x00000100, 526 SpvMemorySemanticsCrossWorkgroupMemoryMask = 0x00000200, 527 SpvMemorySemanticsAtomicCounterMemoryMask = 0x00000400, 528 SpvMemorySemanticsImageMemoryMask = 0x00000800, 529 } SpvMemorySemanticsMask; 530 531 typedef enum SpvMemoryAccessShift_ { 532 SpvMemoryAccessVolatileShift = 0, 533 SpvMemoryAccessAlignedShift = 1, 534 SpvMemoryAccessNontemporalShift = 2, 535 SpvMemoryAccessMax = 0x7fffffff, 536 } SpvMemoryAccessShift; 537 538 typedef enum SpvMemoryAccessMask_ { 539 SpvMemoryAccessMaskNone = 0, 540 SpvMemoryAccessVolatileMask = 0x00000001, 541 SpvMemoryAccessAlignedMask = 0x00000002, 542 SpvMemoryAccessNontemporalMask = 0x00000004, 543 } SpvMemoryAccessMask; 544 545 typedef enum SpvScope_ { 546 SpvScopeCrossDevice = 0, 547 SpvScopeDevice = 1, 548 SpvScopeWorkgroup = 2, 549 SpvScopeSubgroup = 3, 550 SpvScopeInvocation = 4, 551 SpvScopeMax = 0x7fffffff, 552 } SpvScope; 553 554 typedef enum SpvGroupOperation_ { 555 SpvGroupOperationReduce = 0, 556 SpvGroupOperationInclusiveScan = 1, 557 SpvGroupOperationExclusiveScan = 2, 558 SpvGroupOperationMax = 0x7fffffff, 559 } SpvGroupOperation; 560 561 typedef enum SpvKernelEnqueueFlags_ { 562 SpvKernelEnqueueFlagsNoWait = 0, 563 SpvKernelEnqueueFlagsWaitKernel = 1, 564 SpvKernelEnqueueFlagsWaitWorkGroup = 2, 565 SpvKernelEnqueueFlagsMax = 0x7fffffff, 566 } SpvKernelEnqueueFlags; 567 568 typedef enum SpvKernelProfilingInfoShift_ { 569 SpvKernelProfilingInfoCmdExecTimeShift = 0, 570 SpvKernelProfilingInfoMax = 0x7fffffff, 571 } SpvKernelProfilingInfoShift; 572 573 typedef enum SpvKernelProfilingInfoMask_ { 574 SpvKernelProfilingInfoMaskNone = 0, 575 SpvKernelProfilingInfoCmdExecTimeMask = 0x00000001, 576 } SpvKernelProfilingInfoMask; 577 578 typedef enum SpvCapability_ { 579 SpvCapabilityMatrix = 0, 580 SpvCapabilityShader = 1, 581 SpvCapabilityGeometry = 2, 582 SpvCapabilityTessellation = 3, 583 SpvCapabilityAddresses = 4, 584 SpvCapabilityLinkage = 5, 585 SpvCapabilityKernel = 6, 586 SpvCapabilityVector16 = 7, 587 SpvCapabilityFloat16Buffer = 8, 588 SpvCapabilityFloat16 = 9, 589 SpvCapabilityFloat64 = 10, 590 SpvCapabilityInt64 = 11, 591 SpvCapabilityInt64Atomics = 12, 592 SpvCapabilityImageBasic = 13, 593 SpvCapabilityImageReadWrite = 14, 594 SpvCapabilityImageMipmap = 15, 595 SpvCapabilityPipes = 17, 596 SpvCapabilityGroups = 18, 597 SpvCapabilityDeviceEnqueue = 19, 598 SpvCapabilityLiteralSampler = 20, 599 SpvCapabilityAtomicStorage = 21, 600 SpvCapabilityInt16 = 22, 601 SpvCapabilityTessellationPointSize = 23, 602 SpvCapabilityGeometryPointSize = 24, 603 SpvCapabilityImageGatherExtended = 25, 604 SpvCapabilityStorageImageMultisample = 27, 605 SpvCapabilityUniformBufferArrayDynamicIndexing = 28, 606 SpvCapabilitySampledImageArrayDynamicIndexing = 29, 607 SpvCapabilityStorageBufferArrayDynamicIndexing = 30, 608 SpvCapabilityStorageImageArrayDynamicIndexing = 31, 609 SpvCapabilityClipDistance = 32, 610 SpvCapabilityCullDistance = 33, 611 SpvCapabilityImageCubeArray = 34, 612 SpvCapabilitySampleRateShading = 35, 613 SpvCapabilityImageRect = 36, 614 SpvCapabilitySampledRect = 37, 615 SpvCapabilityGenericPointer = 38, 616 SpvCapabilityInt8 = 39, 617 SpvCapabilityInputAttachment = 40, 618 SpvCapabilitySparseResidency = 41, 619 SpvCapabilityMinLod = 42, 620 SpvCapabilitySampled1D = 43, 621 SpvCapabilityImage1D = 44, 622 SpvCapabilitySampledCubeArray = 45, 623 SpvCapabilitySampledBuffer = 46, 624 SpvCapabilityImageBuffer = 47, 625 SpvCapabilityImageMSArray = 48, 626 SpvCapabilityStorageImageExtendedFormats = 49, 627 SpvCapabilityImageQuery = 50, 628 SpvCapabilityDerivativeControl = 51, 629 SpvCapabilityInterpolationFunction = 52, 630 SpvCapabilityTransformFeedback = 53, 631 SpvCapabilityGeometryStreams = 54, 632 SpvCapabilityStorageImageReadWithoutFormat = 55, 633 SpvCapabilityStorageImageWriteWithoutFormat = 56, 634 SpvCapabilityMultiViewport = 57, 635 SpvCapabilitySubgroupBallotKHR = 4423, 636 SpvCapabilityDrawParameters = 4427, 637 SpvCapabilitySubgroupVoteKHR = 4431, 638 SpvCapabilityStorageBuffer16BitAccess = 4433, 639 SpvCapabilityStorageUniformBufferBlock16 = 4433, 640 SpvCapabilityStorageUniform16 = 4434, 641 SpvCapabilityUniformAndStorageBuffer16BitAccess = 4434, 642 SpvCapabilityStoragePushConstant16 = 4435, 643 SpvCapabilityStorageInputOutput16 = 4436, 644 SpvCapabilityDeviceGroup = 4437, 645 SpvCapabilityMultiView = 4439, 646 SpvCapabilityVariablePointersStorageBuffer = 4441, 647 SpvCapabilityVariablePointers = 4442, 648 SpvCapabilityAtomicStorageOps = 4445, 649 SpvCapabilitySampleMaskPostDepthCoverage = 4447, 650 SpvCapabilityImageGatherBiasLodAMD = 5009, 651 SpvCapabilityFragmentMaskAMD = 5010, 652 SpvCapabilityStencilExportEXT = 5013, 653 SpvCapabilityImageReadWriteLodAMD = 5015, 654 SpvCapabilitySampleMaskOverrideCoverageNV = 5249, 655 SpvCapabilityGeometryShaderPassthroughNV = 5251, 656 SpvCapabilityShaderViewportIndexLayerEXT = 5254, 657 SpvCapabilityShaderViewportIndexLayerNV = 5254, 658 SpvCapabilityShaderViewportMaskNV = 5255, 659 SpvCapabilityShaderStereoViewNV = 5259, 660 SpvCapabilityPerViewAttributesNV = 5260, 661 SpvCapabilitySubgroupShuffleINTEL = 5568, 662 SpvCapabilitySubgroupBufferBlockIOINTEL = 5569, 663 SpvCapabilitySubgroupImageBlockIOINTEL = 5570, 664 SpvCapabilityMax = 0x7fffffff, 665 } SpvCapability; 666 667 typedef enum SpvOp_ { 668 SpvOpNop = 0, 669 SpvOpUndef = 1, 670 SpvOpSourceContinued = 2, 671 SpvOpSource = 3, 672 SpvOpSourceExtension = 4, 673 SpvOpName = 5, 674 SpvOpMemberName = 6, 675 SpvOpString = 7, 676 SpvOpLine = 8, 677 SpvOpExtension = 10, 678 SpvOpExtInstImport = 11, 679 SpvOpExtInst = 12, 680 SpvOpMemoryModel = 14, 681 SpvOpEntryPoint = 15, 682 SpvOpExecutionMode = 16, 683 SpvOpCapability = 17, 684 SpvOpTypeVoid = 19, 685 SpvOpTypeBool = 20, 686 SpvOpTypeInt = 21, 687 SpvOpTypeFloat = 22, 688 SpvOpTypeVector = 23, 689 SpvOpTypeMatrix = 24, 690 SpvOpTypeImage = 25, 691 SpvOpTypeSampler = 26, 692 SpvOpTypeSampledImage = 27, 693 SpvOpTypeArray = 28, 694 SpvOpTypeRuntimeArray = 29, 695 SpvOpTypeStruct = 30, 696 SpvOpTypeOpaque = 31, 697 SpvOpTypePointer = 32, 698 SpvOpTypeFunction = 33, 699 SpvOpTypeEvent = 34, 700 SpvOpTypeDeviceEvent = 35, 701 SpvOpTypeReserveId = 36, 702 SpvOpTypeQueue = 37, 703 SpvOpTypePipe = 38, 704 SpvOpTypeForwardPointer = 39, 705 SpvOpConstantTrue = 41, 706 SpvOpConstantFalse = 42, 707 SpvOpConstant = 43, 708 SpvOpConstantComposite = 44, 709 SpvOpConstantSampler = 45, 710 SpvOpConstantNull = 46, 711 SpvOpSpecConstantTrue = 48, 712 SpvOpSpecConstantFalse = 49, 713 SpvOpSpecConstant = 50, 714 SpvOpSpecConstantComposite = 51, 715 SpvOpSpecConstantOp = 52, 716 SpvOpFunction = 54, 717 SpvOpFunctionParameter = 55, 718 SpvOpFunctionEnd = 56, 719 SpvOpFunctionCall = 57, 720 SpvOpVariable = 59, 721 SpvOpImageTexelPointer = 60, 722 SpvOpLoad = 61, 723 SpvOpStore = 62, 724 SpvOpCopyMemory = 63, 725 SpvOpCopyMemorySized = 64, 726 SpvOpAccessChain = 65, 727 SpvOpInBoundsAccessChain = 66, 728 SpvOpPtrAccessChain = 67, 729 SpvOpArrayLength = 68, 730 SpvOpGenericPtrMemSemantics = 69, 731 SpvOpInBoundsPtrAccessChain = 70, 732 SpvOpDecorate = 71, 733 SpvOpMemberDecorate = 72, 734 SpvOpDecorationGroup = 73, 735 SpvOpGroupDecorate = 74, 736 SpvOpGroupMemberDecorate = 75, 737 SpvOpVectorExtractDynamic = 77, 738 SpvOpVectorInsertDynamic = 78, 739 SpvOpVectorShuffle = 79, 740 SpvOpCompositeConstruct = 80, 741 SpvOpCompositeExtract = 81, 742 SpvOpCompositeInsert = 82, 743 SpvOpCopyObject = 83, 744 SpvOpTranspose = 84, 745 SpvOpSampledImage = 86, 746 SpvOpImageSampleImplicitLod = 87, 747 SpvOpImageSampleExplicitLod = 88, 748 SpvOpImageSampleDrefImplicitLod = 89, 749 SpvOpImageSampleDrefExplicitLod = 90, 750 SpvOpImageSampleProjImplicitLod = 91, 751 SpvOpImageSampleProjExplicitLod = 92, 752 SpvOpImageSampleProjDrefImplicitLod = 93, 753 SpvOpImageSampleProjDrefExplicitLod = 94, 754 SpvOpImageFetch = 95, 755 SpvOpImageGather = 96, 756 SpvOpImageDrefGather = 97, 757 SpvOpImageRead = 98, 758 SpvOpImageWrite = 99, 759 SpvOpImage = 100, 760 SpvOpImageQueryFormat = 101, 761 SpvOpImageQueryOrder = 102, 762 SpvOpImageQuerySizeLod = 103, 763 SpvOpImageQuerySize = 104, 764 SpvOpImageQueryLod = 105, 765 SpvOpImageQueryLevels = 106, 766 SpvOpImageQuerySamples = 107, 767 SpvOpConvertFToU = 109, 768 SpvOpConvertFToS = 110, 769 SpvOpConvertSToF = 111, 770 SpvOpConvertUToF = 112, 771 SpvOpUConvert = 113, 772 SpvOpSConvert = 114, 773 SpvOpFConvert = 115, 774 SpvOpQuantizeToF16 = 116, 775 SpvOpConvertPtrToU = 117, 776 SpvOpSatConvertSToU = 118, 777 SpvOpSatConvertUToS = 119, 778 SpvOpConvertUToPtr = 120, 779 SpvOpPtrCastToGeneric = 121, 780 SpvOpGenericCastToPtr = 122, 781 SpvOpGenericCastToPtrExplicit = 123, 782 SpvOpBitcast = 124, 783 SpvOpSNegate = 126, 784 SpvOpFNegate = 127, 785 SpvOpIAdd = 128, 786 SpvOpFAdd = 129, 787 SpvOpISub = 130, 788 SpvOpFSub = 131, 789 SpvOpIMul = 132, 790 SpvOpFMul = 133, 791 SpvOpUDiv = 134, 792 SpvOpSDiv = 135, 793 SpvOpFDiv = 136, 794 SpvOpUMod = 137, 795 SpvOpSRem = 138, 796 SpvOpSMod = 139, 797 SpvOpFRem = 140, 798 SpvOpFMod = 141, 799 SpvOpVectorTimesScalar = 142, 800 SpvOpMatrixTimesScalar = 143, 801 SpvOpVectorTimesMatrix = 144, 802 SpvOpMatrixTimesVector = 145, 803 SpvOpMatrixTimesMatrix = 146, 804 SpvOpOuterProduct = 147, 805 SpvOpDot = 148, 806 SpvOpIAddCarry = 149, 807 SpvOpISubBorrow = 150, 808 SpvOpUMulExtended = 151, 809 SpvOpSMulExtended = 152, 810 SpvOpAny = 154, 811 SpvOpAll = 155, 812 SpvOpIsNan = 156, 813 SpvOpIsInf = 157, 814 SpvOpIsFinite = 158, 815 SpvOpIsNormal = 159, 816 SpvOpSignBitSet = 160, 817 SpvOpLessOrGreater = 161, 818 SpvOpOrdered = 162, 819 SpvOpUnordered = 163, 820 SpvOpLogicalEqual = 164, 821 SpvOpLogicalNotEqual = 165, 822 SpvOpLogicalOr = 166, 823 SpvOpLogicalAnd = 167, 824 SpvOpLogicalNot = 168, 825 SpvOpSelect = 169, 826 SpvOpIEqual = 170, 827 SpvOpINotEqual = 171, 828 SpvOpUGreaterThan = 172, 829 SpvOpSGreaterThan = 173, 830 SpvOpUGreaterThanEqual = 174, 831 SpvOpSGreaterThanEqual = 175, 832 SpvOpULessThan = 176, 833 SpvOpSLessThan = 177, 834 SpvOpULessThanEqual = 178, 835 SpvOpSLessThanEqual = 179, 836 SpvOpFOrdEqual = 180, 837 SpvOpFUnordEqual = 181, 838 SpvOpFOrdNotEqual = 182, 839 SpvOpFUnordNotEqual = 183, 840 SpvOpFOrdLessThan = 184, 841 SpvOpFUnordLessThan = 185, 842 SpvOpFOrdGreaterThan = 186, 843 SpvOpFUnordGreaterThan = 187, 844 SpvOpFOrdLessThanEqual = 188, 845 SpvOpFUnordLessThanEqual = 189, 846 SpvOpFOrdGreaterThanEqual = 190, 847 SpvOpFUnordGreaterThanEqual = 191, 848 SpvOpShiftRightLogical = 194, 849 SpvOpShiftRightArithmetic = 195, 850 SpvOpShiftLeftLogical = 196, 851 SpvOpBitwiseOr = 197, 852 SpvOpBitwiseXor = 198, 853 SpvOpBitwiseAnd = 199, 854 SpvOpNot = 200, 855 SpvOpBitFieldInsert = 201, 856 SpvOpBitFieldSExtract = 202, 857 SpvOpBitFieldUExtract = 203, 858 SpvOpBitReverse = 204, 859 SpvOpBitCount = 205, 860 SpvOpDPdx = 207, 861 SpvOpDPdy = 208, 862 SpvOpFwidth = 209, 863 SpvOpDPdxFine = 210, 864 SpvOpDPdyFine = 211, 865 SpvOpFwidthFine = 212, 866 SpvOpDPdxCoarse = 213, 867 SpvOpDPdyCoarse = 214, 868 SpvOpFwidthCoarse = 215, 869 SpvOpEmitVertex = 218, 870 SpvOpEndPrimitive = 219, 871 SpvOpEmitStreamVertex = 220, 872 SpvOpEndStreamPrimitive = 221, 873 SpvOpControlBarrier = 224, 874 SpvOpMemoryBarrier = 225, 875 SpvOpAtomicLoad = 227, 876 SpvOpAtomicStore = 228, 877 SpvOpAtomicExchange = 229, 878 SpvOpAtomicCompareExchange = 230, 879 SpvOpAtomicCompareExchangeWeak = 231, 880 SpvOpAtomicIIncrement = 232, 881 SpvOpAtomicIDecrement = 233, 882 SpvOpAtomicIAdd = 234, 883 SpvOpAtomicISub = 235, 884 SpvOpAtomicSMin = 236, 885 SpvOpAtomicUMin = 237, 886 SpvOpAtomicSMax = 238, 887 SpvOpAtomicUMax = 239, 888 SpvOpAtomicAnd = 240, 889 SpvOpAtomicOr = 241, 890 SpvOpAtomicXor = 242, 891 SpvOpPhi = 245, 892 SpvOpLoopMerge = 246, 893 SpvOpSelectionMerge = 247, 894 SpvOpLabel = 248, 895 SpvOpBranch = 249, 896 SpvOpBranchConditional = 250, 897 SpvOpSwitch = 251, 898 SpvOpKill = 252, 899 SpvOpReturn = 253, 900 SpvOpReturnValue = 254, 901 SpvOpUnreachable = 255, 902 SpvOpLifetimeStart = 256, 903 SpvOpLifetimeStop = 257, 904 SpvOpGroupAsyncCopy = 259, 905 SpvOpGroupWaitEvents = 260, 906 SpvOpGroupAll = 261, 907 SpvOpGroupAny = 262, 908 SpvOpGroupBroadcast = 263, 909 SpvOpGroupIAdd = 264, 910 SpvOpGroupFAdd = 265, 911 SpvOpGroupFMin = 266, 912 SpvOpGroupUMin = 267, 913 SpvOpGroupSMin = 268, 914 SpvOpGroupFMax = 269, 915 SpvOpGroupUMax = 270, 916 SpvOpGroupSMax = 271, 917 SpvOpReadPipe = 274, 918 SpvOpWritePipe = 275, 919 SpvOpReservedReadPipe = 276, 920 SpvOpReservedWritePipe = 277, 921 SpvOpReserveReadPipePackets = 278, 922 SpvOpReserveWritePipePackets = 279, 923 SpvOpCommitReadPipe = 280, 924 SpvOpCommitWritePipe = 281, 925 SpvOpIsValidReserveId = 282, 926 SpvOpGetNumPipePackets = 283, 927 SpvOpGetMaxPipePackets = 284, 928 SpvOpGroupReserveReadPipePackets = 285, 929 SpvOpGroupReserveWritePipePackets = 286, 930 SpvOpGroupCommitReadPipe = 287, 931 SpvOpGroupCommitWritePipe = 288, 932 SpvOpEnqueueMarker = 291, 933 SpvOpEnqueueKernel = 292, 934 SpvOpGetKernelNDrangeSubGroupCount = 293, 935 SpvOpGetKernelNDrangeMaxSubGroupSize = 294, 936 SpvOpGetKernelWorkGroupSize = 295, 937 SpvOpGetKernelPreferredWorkGroupSizeMultiple = 296, 938 SpvOpRetainEvent = 297, 939 SpvOpReleaseEvent = 298, 940 SpvOpCreateUserEvent = 299, 941 SpvOpIsValidEvent = 300, 942 SpvOpSetUserEventStatus = 301, 943 SpvOpCaptureEventProfilingInfo = 302, 944 SpvOpGetDefaultQueue = 303, 945 SpvOpBuildNDRange = 304, 946 SpvOpImageSparseSampleImplicitLod = 305, 947 SpvOpImageSparseSampleExplicitLod = 306, 948 SpvOpImageSparseSampleDrefImplicitLod = 307, 949 SpvOpImageSparseSampleDrefExplicitLod = 308, 950 SpvOpImageSparseSampleProjImplicitLod = 309, 951 SpvOpImageSparseSampleProjExplicitLod = 310, 952 SpvOpImageSparseSampleProjDrefImplicitLod = 311, 953 SpvOpImageSparseSampleProjDrefExplicitLod = 312, 954 SpvOpImageSparseFetch = 313, 955 SpvOpImageSparseGather = 314, 956 SpvOpImageSparseDrefGather = 315, 957 SpvOpImageSparseTexelsResident = 316, 958 SpvOpNoLine = 317, 959 SpvOpAtomicFlagTestAndSet = 318, 960 SpvOpAtomicFlagClear = 319, 961 SpvOpImageSparseRead = 320, 962 SpvOpDecorateId = 332, 963 SpvOpSubgroupBallotKHR = 4421, 964 SpvOpSubgroupFirstInvocationKHR = 4422, 965 SpvOpSubgroupAllKHR = 4428, 966 SpvOpSubgroupAnyKHR = 4429, 967 SpvOpSubgroupAllEqualKHR = 4430, 968 SpvOpSubgroupReadInvocationKHR = 4432, 969 SpvOpGroupIAddNonUniformAMD = 5000, 970 SpvOpGroupFAddNonUniformAMD = 5001, 971 SpvOpGroupFMinNonUniformAMD = 5002, 972 SpvOpGroupUMinNonUniformAMD = 5003, 973 SpvOpGroupSMinNonUniformAMD = 5004, 974 SpvOpGroupFMaxNonUniformAMD = 5005, 975 SpvOpGroupUMaxNonUniformAMD = 5006, 976 SpvOpGroupSMaxNonUniformAMD = 5007, 977 SpvOpFragmentMaskFetchAMD = 5011, 978 SpvOpFragmentFetchAMD = 5012, 979 SpvOpSubgroupShuffleINTEL = 5571, 980 SpvOpSubgroupShuffleDownINTEL = 5572, 981 SpvOpSubgroupShuffleUpINTEL = 5573, 982 SpvOpSubgroupShuffleXorINTEL = 5574, 983 SpvOpSubgroupBlockReadINTEL = 5575, 984 SpvOpSubgroupBlockWriteINTEL = 5576, 985 SpvOpSubgroupImageBlockReadINTEL = 5577, 986 SpvOpSubgroupImageBlockWriteINTEL = 5578, 987 SpvOpDecorateStringGOOGLE = 5632, 988 SpvOpMemberDecorateStringGOOGLE = 5633, 989 SpvOpMax = 0x7fffffff, 990 } SpvOp; 991 992 #endif // #ifndef spirv_H 993 994