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