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