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