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