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