1 // Copyright (c) 2014-2018 The Khronos Group Inc. 2 // 3 // Permission is hereby granted, free of charge, to any person obtaining a copy 4 // of this software and/or associated documentation files (the "Materials"), 5 // to deal in the Materials without restriction, including without limitation 6 // the rights to use, copy, modify, merge, publish, distribute, sublicense, 7 // and/or sell copies of the Materials, and to permit persons to whom the 8 // Materials are furnished to do so, subject to the following conditions: 9 // 10 // The above copyright notice and this permission notice shall be included in 11 // all copies or substantial portions of the Materials. 12 // 13 // MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS 14 // STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND 15 // HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ 16 // 17 // THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 18 // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 20 // THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 22 // FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS 23 // IN THE MATERIALS. 24 25 // This header is automatically generated by the same tool that creates 26 // the Binary Section of the SPIR-V specification. 27 28 // Enumeration tokens for SPIR-V, in various styles: 29 // C, C++, C++11, JSON, Lua, Python, C# 30 // 31 // - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL 32 // - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL 33 // - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL 34 // - Lua will use tables, e.g.: spv.SourceLanguage.GLSL 35 // - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL'] 36 // - C# will use enum classes in the Specification class located in the "Spv" namespace, e.g.: Spv.Specification.SourceLanguage.GLSL 37 // 38 // Some tokens act like mask values, which can be OR'd together, 39 // while others are mutually exclusive. The mask-like ones have 40 // "Mask" in their name, and a parallel enum that has the shift 41 // amount (1 << x) for each corresponding enumerant. 42 43 namespace Spv 44 { 45 46 public static class Specification 47 { 48 public const uint MagicNumber = 0x07230203; 49 public const uint Version = 0x00010000; 50 public const uint Revision = 12; 51 public const uint OpCodeMask = 0xffff; 52 public const uint WordCountShift = 16; 53 54 public enum SourceLanguage 55 { 56 Unknown = 0, 57 ESSL = 1, 58 GLSL = 2, 59 OpenCL_C = 3, 60 OpenCL_CPP = 4, 61 HLSL = 5, 62 } 63 64 public enum ExecutionModel 65 { 66 Vertex = 0, 67 TessellationControl = 1, 68 TessellationEvaluation = 2, 69 Geometry = 3, 70 Fragment = 4, 71 GLCompute = 5, 72 Kernel = 6, 73 } 74 75 public enum AddressingModel 76 { 77 Logical = 0, 78 Physical32 = 1, 79 Physical64 = 2, 80 } 81 82 public enum MemoryModel 83 { 84 Simple = 0, 85 GLSL450 = 1, 86 OpenCL = 2, 87 } 88 89 public enum ExecutionMode 90 { 91 Invocations = 0, 92 SpacingEqual = 1, 93 SpacingFractionalEven = 2, 94 SpacingFractionalOdd = 3, 95 VertexOrderCw = 4, 96 VertexOrderCcw = 5, 97 PixelCenterInteger = 6, 98 OriginUpperLeft = 7, 99 OriginLowerLeft = 8, 100 EarlyFragmentTests = 9, 101 PointMode = 10, 102 Xfb = 11, 103 DepthReplacing = 12, 104 DepthGreater = 14, 105 DepthLess = 15, 106 DepthUnchanged = 16, 107 LocalSize = 17, 108 LocalSizeHint = 18, 109 InputPoints = 19, 110 InputLines = 20, 111 InputLinesAdjacency = 21, 112 Triangles = 22, 113 InputTrianglesAdjacency = 23, 114 Quads = 24, 115 Isolines = 25, 116 OutputVertices = 26, 117 OutputPoints = 27, 118 OutputLineStrip = 28, 119 OutputTriangleStrip = 29, 120 VecTypeHint = 30, 121 ContractionOff = 31, 122 PostDepthCoverage = 4446, 123 StencilRefReplacingEXT = 5027, 124 } 125 126 public enum StorageClass 127 { 128 UniformConstant = 0, 129 Input = 1, 130 Uniform = 2, 131 Output = 3, 132 Workgroup = 4, 133 CrossWorkgroup = 5, 134 Private = 6, 135 Function = 7, 136 Generic = 8, 137 PushConstant = 9, 138 AtomicCounter = 10, 139 Image = 11, 140 StorageBuffer = 12, 141 } 142 143 public enum Dim 144 { 145 Dim1D = 0, 146 Dim2D = 1, 147 Dim3D = 2, 148 Cube = 3, 149 Rect = 4, 150 Buffer = 5, 151 SubpassData = 6, 152 } 153 154 public enum SamplerAddressingMode 155 { 156 None = 0, 157 ClampToEdge = 1, 158 Clamp = 2, 159 Repeat = 3, 160 RepeatMirrored = 4, 161 } 162 163 public enum SamplerFilterMode 164 { 165 Nearest = 0, 166 Linear = 1, 167 } 168 169 public enum ImageFormat 170 { 171 Unknown = 0, 172 Rgba32f = 1, 173 Rgba16f = 2, 174 R32f = 3, 175 Rgba8 = 4, 176 Rgba8Snorm = 5, 177 Rg32f = 6, 178 Rg16f = 7, 179 R11fG11fB10f = 8, 180 R16f = 9, 181 Rgba16 = 10, 182 Rgb10A2 = 11, 183 Rg16 = 12, 184 Rg8 = 13, 185 R16 = 14, 186 R8 = 15, 187 Rgba16Snorm = 16, 188 Rg16Snorm = 17, 189 Rg8Snorm = 18, 190 R16Snorm = 19, 191 R8Snorm = 20, 192 Rgba32i = 21, 193 Rgba16i = 22, 194 Rgba8i = 23, 195 R32i = 24, 196 Rg32i = 25, 197 Rg16i = 26, 198 Rg8i = 27, 199 R16i = 28, 200 R8i = 29, 201 Rgba32ui = 30, 202 Rgba16ui = 31, 203 Rgba8ui = 32, 204 R32ui = 33, 205 Rgb10a2ui = 34, 206 Rg32ui = 35, 207 Rg16ui = 36, 208 Rg8ui = 37, 209 R16ui = 38, 210 R8ui = 39, 211 } 212 213 public enum ImageChannelOrder 214 { 215 R = 0, 216 A = 1, 217 RG = 2, 218 RA = 3, 219 RGB = 4, 220 RGBA = 5, 221 BGRA = 6, 222 ARGB = 7, 223 Intensity = 8, 224 Luminance = 9, 225 Rx = 10, 226 RGx = 11, 227 RGBx = 12, 228 Depth = 13, 229 DepthStencil = 14, 230 sRGB = 15, 231 sRGBx = 16, 232 sRGBA = 17, 233 sBGRA = 18, 234 ABGR = 19, 235 } 236 237 public enum ImageChannelDataType 238 { 239 SnormInt8 = 0, 240 SnormInt16 = 1, 241 UnormInt8 = 2, 242 UnormInt16 = 3, 243 UnormShort565 = 4, 244 UnormShort555 = 5, 245 UnormInt101010 = 6, 246 SignedInt8 = 7, 247 SignedInt16 = 8, 248 SignedInt32 = 9, 249 UnsignedInt8 = 10, 250 UnsignedInt16 = 11, 251 UnsignedInt32 = 12, 252 HalfFloat = 13, 253 Float = 14, 254 UnormInt24 = 15, 255 UnormInt101010_2 = 16, 256 } 257 258 public enum ImageOperandsShift 259 { 260 Bias = 0, 261 Lod = 1, 262 Grad = 2, 263 ConstOffset = 3, 264 Offset = 4, 265 ConstOffsets = 5, 266 Sample = 6, 267 MinLod = 7, 268 } 269 270 public enum ImageOperandsMask 271 { 272 MaskNone = 0, 273 Bias = 0x00000001, 274 Lod = 0x00000002, 275 Grad = 0x00000004, 276 ConstOffset = 0x00000008, 277 Offset = 0x00000010, 278 ConstOffsets = 0x00000020, 279 Sample = 0x00000040, 280 MinLod = 0x00000080, 281 } 282 283 public enum FPFastMathModeShift 284 { 285 NotNaN = 0, 286 NotInf = 1, 287 NSZ = 2, 288 AllowRecip = 3, 289 Fast = 4, 290 } 291 292 public enum FPFastMathModeMask 293 { 294 MaskNone = 0, 295 NotNaN = 0x00000001, 296 NotInf = 0x00000002, 297 NSZ = 0x00000004, 298 AllowRecip = 0x00000008, 299 Fast = 0x00000010, 300 } 301 302 public enum FPRoundingMode 303 { 304 RTE = 0, 305 RTZ = 1, 306 RTP = 2, 307 RTN = 3, 308 } 309 310 public enum LinkageType 311 { 312 Export = 0, 313 Import = 1, 314 } 315 316 public enum AccessQualifier 317 { 318 ReadOnly = 0, 319 WriteOnly = 1, 320 ReadWrite = 2, 321 } 322 323 public enum FunctionParameterAttribute 324 { 325 Zext = 0, 326 Sext = 1, 327 ByVal = 2, 328 Sret = 3, 329 NoAlias = 4, 330 NoCapture = 5, 331 NoWrite = 6, 332 NoReadWrite = 7, 333 } 334 335 public enum Decoration 336 { 337 RelaxedPrecision = 0, 338 SpecId = 1, 339 Block = 2, 340 BufferBlock = 3, 341 RowMajor = 4, 342 ColMajor = 5, 343 ArrayStride = 6, 344 MatrixStride = 7, 345 GLSLShared = 8, 346 GLSLPacked = 9, 347 CPacked = 10, 348 BuiltIn = 11, 349 NoPerspective = 13, 350 Flat = 14, 351 Patch = 15, 352 Centroid = 16, 353 Sample = 17, 354 Invariant = 18, 355 Restrict = 19, 356 Aliased = 20, 357 Volatile = 21, 358 Constant = 22, 359 Coherent = 23, 360 NonWritable = 24, 361 NonReadable = 25, 362 Uniform = 26, 363 SaturatedConversion = 28, 364 Stream = 29, 365 Location = 30, 366 Component = 31, 367 Index = 32, 368 Binding = 33, 369 DescriptorSet = 34, 370 Offset = 35, 371 XfbBuffer = 36, 372 XfbStride = 37, 373 FuncParamAttr = 38, 374 FPRoundingMode = 39, 375 FPFastMathMode = 40, 376 LinkageAttributes = 41, 377 NoContraction = 42, 378 InputAttachmentIndex = 43, 379 Alignment = 44, 380 ExplicitInterpAMD = 4999, 381 OverrideCoverageNV = 5248, 382 PassthroughNV = 5250, 383 ViewportRelativeNV = 5252, 384 SecondaryViewportRelativeNV = 5256, 385 HlslCounterBufferGOOGLE = 5634, 386 HlslSemanticGOOGLE = 5635, 387 } 388 389 public enum BuiltIn 390 { 391 Position = 0, 392 PointSize = 1, 393 ClipDistance = 3, 394 CullDistance = 4, 395 VertexId = 5, 396 InstanceId = 6, 397 PrimitiveId = 7, 398 InvocationId = 8, 399 Layer = 9, 400 ViewportIndex = 10, 401 TessLevelOuter = 11, 402 TessLevelInner = 12, 403 TessCoord = 13, 404 PatchVertices = 14, 405 FragCoord = 15, 406 PointCoord = 16, 407 FrontFacing = 17, 408 SampleId = 18, 409 SamplePosition = 19, 410 SampleMask = 20, 411 FragDepth = 22, 412 HelperInvocation = 23, 413 NumWorkgroups = 24, 414 WorkgroupSize = 25, 415 WorkgroupId = 26, 416 LocalInvocationId = 27, 417 GlobalInvocationId = 28, 418 LocalInvocationIndex = 29, 419 WorkDim = 30, 420 GlobalSize = 31, 421 EnqueuedWorkgroupSize = 32, 422 GlobalOffset = 33, 423 GlobalLinearId = 34, 424 SubgroupSize = 36, 425 SubgroupMaxSize = 37, 426 NumSubgroups = 38, 427 NumEnqueuedSubgroups = 39, 428 SubgroupId = 40, 429 SubgroupLocalInvocationId = 41, 430 VertexIndex = 42, 431 InstanceIndex = 43, 432 SubgroupEqMaskKHR = 4416, 433 SubgroupGeMaskKHR = 4417, 434 SubgroupGtMaskKHR = 4418, 435 SubgroupLeMaskKHR = 4419, 436 SubgroupLtMaskKHR = 4420, 437 BaseVertex = 4424, 438 BaseInstance = 4425, 439 DrawIndex = 4426, 440 DeviceIndex = 4438, 441 ViewIndex = 4440, 442 BaryCoordNoPerspAMD = 4992, 443 BaryCoordNoPerspCentroidAMD = 4993, 444 BaryCoordNoPerspSampleAMD = 4994, 445 BaryCoordSmoothAMD = 4995, 446 BaryCoordSmoothCentroidAMD = 4996, 447 BaryCoordSmoothSampleAMD = 4997, 448 BaryCoordPullModelAMD = 4998, 449 FragStencilRefEXT = 5014, 450 ViewportMaskNV = 5253, 451 SecondaryPositionNV = 5257, 452 SecondaryViewportMaskNV = 5258, 453 PositionPerViewNV = 5261, 454 ViewportMaskPerViewNV = 5262, 455 } 456 457 public enum SelectionControlShift 458 { 459 Flatten = 0, 460 DontFlatten = 1, 461 } 462 463 public enum SelectionControlMask 464 { 465 MaskNone = 0, 466 Flatten = 0x00000001, 467 DontFlatten = 0x00000002, 468 } 469 470 public enum LoopControlShift 471 { 472 Unroll = 0, 473 DontUnroll = 1, 474 } 475 476 public enum LoopControlMask 477 { 478 MaskNone = 0, 479 Unroll = 0x00000001, 480 DontUnroll = 0x00000002, 481 } 482 483 public enum FunctionControlShift 484 { 485 Inline = 0, 486 DontInline = 1, 487 Pure = 2, 488 Const = 3, 489 } 490 491 public enum FunctionControlMask 492 { 493 MaskNone = 0, 494 Inline = 0x00000001, 495 DontInline = 0x00000002, 496 Pure = 0x00000004, 497 Const = 0x00000008, 498 } 499 500 public enum MemorySemanticsShift 501 { 502 Acquire = 1, 503 Release = 2, 504 AcquireRelease = 3, 505 SequentiallyConsistent = 4, 506 UniformMemory = 6, 507 SubgroupMemory = 7, 508 WorkgroupMemory = 8, 509 CrossWorkgroupMemory = 9, 510 AtomicCounterMemory = 10, 511 ImageMemory = 11, 512 } 513 514 public enum MemorySemanticsMask 515 { 516 MaskNone = 0, 517 Acquire = 0x00000002, 518 Release = 0x00000004, 519 AcquireRelease = 0x00000008, 520 SequentiallyConsistent = 0x00000010, 521 UniformMemory = 0x00000040, 522 SubgroupMemory = 0x00000080, 523 WorkgroupMemory = 0x00000100, 524 CrossWorkgroupMemory = 0x00000200, 525 AtomicCounterMemory = 0x00000400, 526 ImageMemory = 0x00000800, 527 } 528 529 public enum MemoryAccessShift 530 { 531 Volatile = 0, 532 Aligned = 1, 533 Nontemporal = 2, 534 } 535 536 public enum MemoryAccessMask 537 { 538 MaskNone = 0, 539 Volatile = 0x00000001, 540 Aligned = 0x00000002, 541 Nontemporal = 0x00000004, 542 } 543 544 public enum Scope 545 { 546 CrossDevice = 0, 547 Device = 1, 548 Workgroup = 2, 549 Subgroup = 3, 550 Invocation = 4, 551 } 552 553 public enum GroupOperation 554 { 555 Reduce = 0, 556 InclusiveScan = 1, 557 ExclusiveScan = 2, 558 } 559 560 public enum KernelEnqueueFlags 561 { 562 NoWait = 0, 563 WaitKernel = 1, 564 WaitWorkGroup = 2, 565 } 566 567 public enum KernelProfilingInfoShift 568 { 569 CmdExecTime = 0, 570 } 571 572 public enum KernelProfilingInfoMask 573 { 574 MaskNone = 0, 575 CmdExecTime = 0x00000001, 576 } 577 578 public enum Capability 579 { 580 Matrix = 0, 581 Shader = 1, 582 Geometry = 2, 583 Tessellation = 3, 584 Addresses = 4, 585 Linkage = 5, 586 Kernel = 6, 587 Vector16 = 7, 588 Float16Buffer = 8, 589 Float16 = 9, 590 Float64 = 10, 591 Int64 = 11, 592 Int64Atomics = 12, 593 ImageBasic = 13, 594 ImageReadWrite = 14, 595 ImageMipmap = 15, 596 Pipes = 17, 597 Groups = 18, 598 DeviceEnqueue = 19, 599 LiteralSampler = 20, 600 AtomicStorage = 21, 601 Int16 = 22, 602 TessellationPointSize = 23, 603 GeometryPointSize = 24, 604 ImageGatherExtended = 25, 605 StorageImageMultisample = 27, 606 UniformBufferArrayDynamicIndexing = 28, 607 SampledImageArrayDynamicIndexing = 29, 608 StorageBufferArrayDynamicIndexing = 30, 609 StorageImageArrayDynamicIndexing = 31, 610 ClipDistance = 32, 611 CullDistance = 33, 612 ImageCubeArray = 34, 613 SampleRateShading = 35, 614 ImageRect = 36, 615 SampledRect = 37, 616 GenericPointer = 38, 617 Int8 = 39, 618 InputAttachment = 40, 619 SparseResidency = 41, 620 MinLod = 42, 621 Sampled1D = 43, 622 Image1D = 44, 623 SampledCubeArray = 45, 624 SampledBuffer = 46, 625 ImageBuffer = 47, 626 ImageMSArray = 48, 627 StorageImageExtendedFormats = 49, 628 ImageQuery = 50, 629 DerivativeControl = 51, 630 InterpolationFunction = 52, 631 TransformFeedback = 53, 632 GeometryStreams = 54, 633 StorageImageReadWithoutFormat = 55, 634 StorageImageWriteWithoutFormat = 56, 635 MultiViewport = 57, 636 SubgroupBallotKHR = 4423, 637 DrawParameters = 4427, 638 SubgroupVoteKHR = 4431, 639 StorageBuffer16BitAccess = 4433, 640 StorageUniformBufferBlock16 = 4433, 641 StorageUniform16 = 4434, 642 UniformAndStorageBuffer16BitAccess = 4434, 643 StoragePushConstant16 = 4435, 644 StorageInputOutput16 = 4436, 645 DeviceGroup = 4437, 646 MultiView = 4439, 647 VariablePointersStorageBuffer = 4441, 648 VariablePointers = 4442, 649 AtomicStorageOps = 4445, 650 SampleMaskPostDepthCoverage = 4447, 651 ImageGatherBiasLodAMD = 5009, 652 FragmentMaskAMD = 5010, 653 StencilExportEXT = 5013, 654 ImageReadWriteLodAMD = 5015, 655 SampleMaskOverrideCoverageNV = 5249, 656 GeometryShaderPassthroughNV = 5251, 657 ShaderViewportIndexLayerEXT = 5254, 658 ShaderViewportIndexLayerNV = 5254, 659 ShaderViewportMaskNV = 5255, 660 ShaderStereoViewNV = 5259, 661 PerViewAttributesNV = 5260, 662 SubgroupShuffleINTEL = 5568, 663 SubgroupBufferBlockIOINTEL = 5569, 664 SubgroupImageBlockIOINTEL = 5570, 665 } 666 667 public enum Op 668 { 669 OpNop = 0, 670 OpUndef = 1, 671 OpSourceContinued = 2, 672 OpSource = 3, 673 OpSourceExtension = 4, 674 OpName = 5, 675 OpMemberName = 6, 676 OpString = 7, 677 OpLine = 8, 678 OpExtension = 10, 679 OpExtInstImport = 11, 680 OpExtInst = 12, 681 OpMemoryModel = 14, 682 OpEntryPoint = 15, 683 OpExecutionMode = 16, 684 OpCapability = 17, 685 OpTypeVoid = 19, 686 OpTypeBool = 20, 687 OpTypeInt = 21, 688 OpTypeFloat = 22, 689 OpTypeVector = 23, 690 OpTypeMatrix = 24, 691 OpTypeImage = 25, 692 OpTypeSampler = 26, 693 OpTypeSampledImage = 27, 694 OpTypeArray = 28, 695 OpTypeRuntimeArray = 29, 696 OpTypeStruct = 30, 697 OpTypeOpaque = 31, 698 OpTypePointer = 32, 699 OpTypeFunction = 33, 700 OpTypeEvent = 34, 701 OpTypeDeviceEvent = 35, 702 OpTypeReserveId = 36, 703 OpTypeQueue = 37, 704 OpTypePipe = 38, 705 OpTypeForwardPointer = 39, 706 OpConstantTrue = 41, 707 OpConstantFalse = 42, 708 OpConstant = 43, 709 OpConstantComposite = 44, 710 OpConstantSampler = 45, 711 OpConstantNull = 46, 712 OpSpecConstantTrue = 48, 713 OpSpecConstantFalse = 49, 714 OpSpecConstant = 50, 715 OpSpecConstantComposite = 51, 716 OpSpecConstantOp = 52, 717 OpFunction = 54, 718 OpFunctionParameter = 55, 719 OpFunctionEnd = 56, 720 OpFunctionCall = 57, 721 OpVariable = 59, 722 OpImageTexelPointer = 60, 723 OpLoad = 61, 724 OpStore = 62, 725 OpCopyMemory = 63, 726 OpCopyMemorySized = 64, 727 OpAccessChain = 65, 728 OpInBoundsAccessChain = 66, 729 OpPtrAccessChain = 67, 730 OpArrayLength = 68, 731 OpGenericPtrMemSemantics = 69, 732 OpInBoundsPtrAccessChain = 70, 733 OpDecorate = 71, 734 OpMemberDecorate = 72, 735 OpDecorationGroup = 73, 736 OpGroupDecorate = 74, 737 OpGroupMemberDecorate = 75, 738 OpVectorExtractDynamic = 77, 739 OpVectorInsertDynamic = 78, 740 OpVectorShuffle = 79, 741 OpCompositeConstruct = 80, 742 OpCompositeExtract = 81, 743 OpCompositeInsert = 82, 744 OpCopyObject = 83, 745 OpTranspose = 84, 746 OpSampledImage = 86, 747 OpImageSampleImplicitLod = 87, 748 OpImageSampleExplicitLod = 88, 749 OpImageSampleDrefImplicitLod = 89, 750 OpImageSampleDrefExplicitLod = 90, 751 OpImageSampleProjImplicitLod = 91, 752 OpImageSampleProjExplicitLod = 92, 753 OpImageSampleProjDrefImplicitLod = 93, 754 OpImageSampleProjDrefExplicitLod = 94, 755 OpImageFetch = 95, 756 OpImageGather = 96, 757 OpImageDrefGather = 97, 758 OpImageRead = 98, 759 OpImageWrite = 99, 760 OpImage = 100, 761 OpImageQueryFormat = 101, 762 OpImageQueryOrder = 102, 763 OpImageQuerySizeLod = 103, 764 OpImageQuerySize = 104, 765 OpImageQueryLod = 105, 766 OpImageQueryLevels = 106, 767 OpImageQuerySamples = 107, 768 OpConvertFToU = 109, 769 OpConvertFToS = 110, 770 OpConvertSToF = 111, 771 OpConvertUToF = 112, 772 OpUConvert = 113, 773 OpSConvert = 114, 774 OpFConvert = 115, 775 OpQuantizeToF16 = 116, 776 OpConvertPtrToU = 117, 777 OpSatConvertSToU = 118, 778 OpSatConvertUToS = 119, 779 OpConvertUToPtr = 120, 780 OpPtrCastToGeneric = 121, 781 OpGenericCastToPtr = 122, 782 OpGenericCastToPtrExplicit = 123, 783 OpBitcast = 124, 784 OpSNegate = 126, 785 OpFNegate = 127, 786 OpIAdd = 128, 787 OpFAdd = 129, 788 OpISub = 130, 789 OpFSub = 131, 790 OpIMul = 132, 791 OpFMul = 133, 792 OpUDiv = 134, 793 OpSDiv = 135, 794 OpFDiv = 136, 795 OpUMod = 137, 796 OpSRem = 138, 797 OpSMod = 139, 798 OpFRem = 140, 799 OpFMod = 141, 800 OpVectorTimesScalar = 142, 801 OpMatrixTimesScalar = 143, 802 OpVectorTimesMatrix = 144, 803 OpMatrixTimesVector = 145, 804 OpMatrixTimesMatrix = 146, 805 OpOuterProduct = 147, 806 OpDot = 148, 807 OpIAddCarry = 149, 808 OpISubBorrow = 150, 809 OpUMulExtended = 151, 810 OpSMulExtended = 152, 811 OpAny = 154, 812 OpAll = 155, 813 OpIsNan = 156, 814 OpIsInf = 157, 815 OpIsFinite = 158, 816 OpIsNormal = 159, 817 OpSignBitSet = 160, 818 OpLessOrGreater = 161, 819 OpOrdered = 162, 820 OpUnordered = 163, 821 OpLogicalEqual = 164, 822 OpLogicalNotEqual = 165, 823 OpLogicalOr = 166, 824 OpLogicalAnd = 167, 825 OpLogicalNot = 168, 826 OpSelect = 169, 827 OpIEqual = 170, 828 OpINotEqual = 171, 829 OpUGreaterThan = 172, 830 OpSGreaterThan = 173, 831 OpUGreaterThanEqual = 174, 832 OpSGreaterThanEqual = 175, 833 OpULessThan = 176, 834 OpSLessThan = 177, 835 OpULessThanEqual = 178, 836 OpSLessThanEqual = 179, 837 OpFOrdEqual = 180, 838 OpFUnordEqual = 181, 839 OpFOrdNotEqual = 182, 840 OpFUnordNotEqual = 183, 841 OpFOrdLessThan = 184, 842 OpFUnordLessThan = 185, 843 OpFOrdGreaterThan = 186, 844 OpFUnordGreaterThan = 187, 845 OpFOrdLessThanEqual = 188, 846 OpFUnordLessThanEqual = 189, 847 OpFOrdGreaterThanEqual = 190, 848 OpFUnordGreaterThanEqual = 191, 849 OpShiftRightLogical = 194, 850 OpShiftRightArithmetic = 195, 851 OpShiftLeftLogical = 196, 852 OpBitwiseOr = 197, 853 OpBitwiseXor = 198, 854 OpBitwiseAnd = 199, 855 OpNot = 200, 856 OpBitFieldInsert = 201, 857 OpBitFieldSExtract = 202, 858 OpBitFieldUExtract = 203, 859 OpBitReverse = 204, 860 OpBitCount = 205, 861 OpDPdx = 207, 862 OpDPdy = 208, 863 OpFwidth = 209, 864 OpDPdxFine = 210, 865 OpDPdyFine = 211, 866 OpFwidthFine = 212, 867 OpDPdxCoarse = 213, 868 OpDPdyCoarse = 214, 869 OpFwidthCoarse = 215, 870 OpEmitVertex = 218, 871 OpEndPrimitive = 219, 872 OpEmitStreamVertex = 220, 873 OpEndStreamPrimitive = 221, 874 OpControlBarrier = 224, 875 OpMemoryBarrier = 225, 876 OpAtomicLoad = 227, 877 OpAtomicStore = 228, 878 OpAtomicExchange = 229, 879 OpAtomicCompareExchange = 230, 880 OpAtomicCompareExchangeWeak = 231, 881 OpAtomicIIncrement = 232, 882 OpAtomicIDecrement = 233, 883 OpAtomicIAdd = 234, 884 OpAtomicISub = 235, 885 OpAtomicSMin = 236, 886 OpAtomicUMin = 237, 887 OpAtomicSMax = 238, 888 OpAtomicUMax = 239, 889 OpAtomicAnd = 240, 890 OpAtomicOr = 241, 891 OpAtomicXor = 242, 892 OpPhi = 245, 893 OpLoopMerge = 246, 894 OpSelectionMerge = 247, 895 OpLabel = 248, 896 OpBranch = 249, 897 OpBranchConditional = 250, 898 OpSwitch = 251, 899 OpKill = 252, 900 OpReturn = 253, 901 OpReturnValue = 254, 902 OpUnreachable = 255, 903 OpLifetimeStart = 256, 904 OpLifetimeStop = 257, 905 OpGroupAsyncCopy = 259, 906 OpGroupWaitEvents = 260, 907 OpGroupAll = 261, 908 OpGroupAny = 262, 909 OpGroupBroadcast = 263, 910 OpGroupIAdd = 264, 911 OpGroupFAdd = 265, 912 OpGroupFMin = 266, 913 OpGroupUMin = 267, 914 OpGroupSMin = 268, 915 OpGroupFMax = 269, 916 OpGroupUMax = 270, 917 OpGroupSMax = 271, 918 OpReadPipe = 274, 919 OpWritePipe = 275, 920 OpReservedReadPipe = 276, 921 OpReservedWritePipe = 277, 922 OpReserveReadPipePackets = 278, 923 OpReserveWritePipePackets = 279, 924 OpCommitReadPipe = 280, 925 OpCommitWritePipe = 281, 926 OpIsValidReserveId = 282, 927 OpGetNumPipePackets = 283, 928 OpGetMaxPipePackets = 284, 929 OpGroupReserveReadPipePackets = 285, 930 OpGroupReserveWritePipePackets = 286, 931 OpGroupCommitReadPipe = 287, 932 OpGroupCommitWritePipe = 288, 933 OpEnqueueMarker = 291, 934 OpEnqueueKernel = 292, 935 OpGetKernelNDrangeSubGroupCount = 293, 936 OpGetKernelNDrangeMaxSubGroupSize = 294, 937 OpGetKernelWorkGroupSize = 295, 938 OpGetKernelPreferredWorkGroupSizeMultiple = 296, 939 OpRetainEvent = 297, 940 OpReleaseEvent = 298, 941 OpCreateUserEvent = 299, 942 OpIsValidEvent = 300, 943 OpSetUserEventStatus = 301, 944 OpCaptureEventProfilingInfo = 302, 945 OpGetDefaultQueue = 303, 946 OpBuildNDRange = 304, 947 OpImageSparseSampleImplicitLod = 305, 948 OpImageSparseSampleExplicitLod = 306, 949 OpImageSparseSampleDrefImplicitLod = 307, 950 OpImageSparseSampleDrefExplicitLod = 308, 951 OpImageSparseSampleProjImplicitLod = 309, 952 OpImageSparseSampleProjExplicitLod = 310, 953 OpImageSparseSampleProjDrefImplicitLod = 311, 954 OpImageSparseSampleProjDrefExplicitLod = 312, 955 OpImageSparseFetch = 313, 956 OpImageSparseGather = 314, 957 OpImageSparseDrefGather = 315, 958 OpImageSparseTexelsResident = 316, 959 OpNoLine = 317, 960 OpAtomicFlagTestAndSet = 318, 961 OpAtomicFlagClear = 319, 962 OpImageSparseRead = 320, 963 OpDecorateId = 332, 964 OpSubgroupBallotKHR = 4421, 965 OpSubgroupFirstInvocationKHR = 4422, 966 OpSubgroupAllKHR = 4428, 967 OpSubgroupAnyKHR = 4429, 968 OpSubgroupAllEqualKHR = 4430, 969 OpSubgroupReadInvocationKHR = 4432, 970 OpGroupIAddNonUniformAMD = 5000, 971 OpGroupFAddNonUniformAMD = 5001, 972 OpGroupFMinNonUniformAMD = 5002, 973 OpGroupUMinNonUniformAMD = 5003, 974 OpGroupSMinNonUniformAMD = 5004, 975 OpGroupFMaxNonUniformAMD = 5005, 976 OpGroupUMaxNonUniformAMD = 5006, 977 OpGroupSMaxNonUniformAMD = 5007, 978 OpFragmentMaskFetchAMD = 5011, 979 OpFragmentFetchAMD = 5012, 980 OpSubgroupShuffleINTEL = 5571, 981 OpSubgroupShuffleDownINTEL = 5572, 982 OpSubgroupShuffleUpINTEL = 5573, 983 OpSubgroupShuffleXorINTEL = 5574, 984 OpSubgroupBlockReadINTEL = 5575, 985 OpSubgroupBlockWriteINTEL = 5576, 986 OpSubgroupImageBlockReadINTEL = 5577, 987 OpSubgroupImageBlockWriteINTEL = 5578, 988 OpDecorateStringGOOGLE = 5632, 989 OpMemberDecorateStringGOOGLE = 5633, 990 } 991 } 992 } 993 994