1 /+ 2 + Copyright (c) 2014-2020 The Khronos Group Inc. 3 + 4 + Permission is hereby granted, free of charge, to any person obtaining a copy 5 + of this software and/or associated documentation files (the "Materials"), 6 + to deal in the Materials without restriction, including without limitation 7 + the rights to use, copy, modify, merge, publish, distribute, sublicense, 8 + and/or sell copies of the Materials, and to permit persons to whom the 9 + Materials are furnished to do so, subject to the following conditions: 10 + 11 + The above copyright notice and this permission notice shall be included in 12 + all copies or substantial portions of the Materials. 13 + 14 + MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS 15 + STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND 16 + HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ 17 + 18 + THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 19 + OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 21 + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 23 + FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS 24 + IN THE MATERIALS. 25 +/ 26 27 /+ 28 + This header is automatically generated by the same tool that creates 29 + the Binary Section of the SPIR-V specification. 30 +/ 31 32 /+ 33 + Enumeration tokens for SPIR-V, in various styles: 34 + C, C++, C++11, JSON, Lua, Python, C#, D 35 + 36 + - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL 37 + - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL 38 + - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL 39 + - Lua will use tables, e.g.: spv.SourceLanguage.GLSL 40 + - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL'] 41 + - C# will use enum classes in the Specification class located in the "Spv" namespace, 42 + e.g.: Spv.Specification.SourceLanguage.GLSL 43 + - D will have tokens under the "spv" module, e.g: spv.SourceLanguage.GLSL 44 + 45 + Some tokens act like mask values, which can be OR'd together, 46 + while others are mutually exclusive. The mask-like ones have 47 + "Mask" in their name, and a parallel enum that has the shift 48 + amount (1 << x) for each corresponding enumerant. 49 +/ 50 51 module spv; 52 53 enum uint MagicNumber = 0x07230203; 54 enum uint Version = 0x00010500; 55 enum uint Revision = 1; 56 enum uint OpCodeMask = 0xffff; 57 enum uint WordCountShift = 16; 58 59 enum SourceLanguage : uint 60 { 61 Unknown = 0, 62 ESSL = 1, 63 GLSL = 2, 64 OpenCL_C = 3, 65 OpenCL_CPP = 4, 66 HLSL = 5, 67 } 68 69 enum ExecutionModel : uint 70 { 71 Vertex = 0, 72 TessellationControl = 1, 73 TessellationEvaluation = 2, 74 Geometry = 3, 75 Fragment = 4, 76 GLCompute = 5, 77 Kernel = 6, 78 TaskNV = 5267, 79 MeshNV = 5268, 80 RayGenerationKHR = 5313, 81 RayGenerationNV = 5313, 82 IntersectionKHR = 5314, 83 IntersectionNV = 5314, 84 AnyHitKHR = 5315, 85 AnyHitNV = 5315, 86 ClosestHitKHR = 5316, 87 ClosestHitNV = 5316, 88 MissKHR = 5317, 89 MissNV = 5317, 90 CallableKHR = 5318, 91 CallableNV = 5318, 92 } 93 94 enum AddressingModel : uint 95 { 96 Logical = 0, 97 Physical32 = 1, 98 Physical64 = 2, 99 PhysicalStorageBuffer64 = 5348, 100 PhysicalStorageBuffer64EXT = 5348, 101 } 102 103 enum MemoryModel : uint 104 { 105 Simple = 0, 106 GLSL450 = 1, 107 OpenCL = 2, 108 Vulkan = 3, 109 VulkanKHR = 3, 110 } 111 112 enum ExecutionMode : uint 113 { 114 Invocations = 0, 115 SpacingEqual = 1, 116 SpacingFractionalEven = 2, 117 SpacingFractionalOdd = 3, 118 VertexOrderCw = 4, 119 VertexOrderCcw = 5, 120 PixelCenterInteger = 6, 121 OriginUpperLeft = 7, 122 OriginLowerLeft = 8, 123 EarlyFragmentTests = 9, 124 PointMode = 10, 125 Xfb = 11, 126 DepthReplacing = 12, 127 DepthGreater = 14, 128 DepthLess = 15, 129 DepthUnchanged = 16, 130 LocalSize = 17, 131 LocalSizeHint = 18, 132 InputPoints = 19, 133 InputLines = 20, 134 InputLinesAdjacency = 21, 135 Triangles = 22, 136 InputTrianglesAdjacency = 23, 137 Quads = 24, 138 Isolines = 25, 139 OutputVertices = 26, 140 OutputPoints = 27, 141 OutputLineStrip = 28, 142 OutputTriangleStrip = 29, 143 VecTypeHint = 30, 144 ContractionOff = 31, 145 Initializer = 33, 146 Finalizer = 34, 147 SubgroupSize = 35, 148 SubgroupsPerWorkgroup = 36, 149 SubgroupsPerWorkgroupId = 37, 150 LocalSizeId = 38, 151 LocalSizeHintId = 39, 152 PostDepthCoverage = 4446, 153 DenormPreserve = 4459, 154 DenormFlushToZero = 4460, 155 SignedZeroInfNanPreserve = 4461, 156 RoundingModeRTE = 4462, 157 RoundingModeRTZ = 4463, 158 StencilRefReplacingEXT = 5027, 159 OutputLinesNV = 5269, 160 OutputPrimitivesNV = 5270, 161 DerivativeGroupQuadsNV = 5289, 162 DerivativeGroupLinearNV = 5290, 163 OutputTrianglesNV = 5298, 164 PixelInterlockOrderedEXT = 5366, 165 PixelInterlockUnorderedEXT = 5367, 166 SampleInterlockOrderedEXT = 5368, 167 SampleInterlockUnorderedEXT = 5369, 168 ShadingRateInterlockOrderedEXT = 5370, 169 ShadingRateInterlockUnorderedEXT = 5371, 170 } 171 172 enum StorageClass : uint 173 { 174 UniformConstant = 0, 175 Input = 1, 176 Uniform = 2, 177 Output = 3, 178 Workgroup = 4, 179 CrossWorkgroup = 5, 180 Private = 6, 181 Function = 7, 182 Generic = 8, 183 PushConstant = 9, 184 AtomicCounter = 10, 185 Image = 11, 186 StorageBuffer = 12, 187 CallableDataKHR = 5328, 188 CallableDataNV = 5328, 189 IncomingCallableDataKHR = 5329, 190 IncomingCallableDataNV = 5329, 191 RayPayloadKHR = 5338, 192 RayPayloadNV = 5338, 193 HitAttributeKHR = 5339, 194 HitAttributeNV = 5339, 195 IncomingRayPayloadKHR = 5342, 196 IncomingRayPayloadNV = 5342, 197 ShaderRecordBufferKHR = 5343, 198 ShaderRecordBufferNV = 5343, 199 PhysicalStorageBuffer = 5349, 200 PhysicalStorageBufferEXT = 5349, 201 } 202 203 enum Dim : uint 204 { 205 _1D = 0, 206 _2D = 1, 207 _3D = 2, 208 Cube = 3, 209 Rect = 4, 210 Buffer = 5, 211 SubpassData = 6, 212 } 213 214 enum SamplerAddressingMode : uint 215 { 216 None = 0, 217 ClampToEdge = 1, 218 Clamp = 2, 219 Repeat = 3, 220 RepeatMirrored = 4, 221 } 222 223 enum SamplerFilterMode : uint 224 { 225 Nearest = 0, 226 Linear = 1, 227 } 228 229 enum ImageFormat : uint 230 { 231 Unknown = 0, 232 Rgba32f = 1, 233 Rgba16f = 2, 234 R32f = 3, 235 Rgba8 = 4, 236 Rgba8Snorm = 5, 237 Rg32f = 6, 238 Rg16f = 7, 239 R11fG11fB10f = 8, 240 R16f = 9, 241 Rgba16 = 10, 242 Rgb10A2 = 11, 243 Rg16 = 12, 244 Rg8 = 13, 245 R16 = 14, 246 R8 = 15, 247 Rgba16Snorm = 16, 248 Rg16Snorm = 17, 249 Rg8Snorm = 18, 250 R16Snorm = 19, 251 R8Snorm = 20, 252 Rgba32i = 21, 253 Rgba16i = 22, 254 Rgba8i = 23, 255 R32i = 24, 256 Rg32i = 25, 257 Rg16i = 26, 258 Rg8i = 27, 259 R16i = 28, 260 R8i = 29, 261 Rgba32ui = 30, 262 Rgba16ui = 31, 263 Rgba8ui = 32, 264 R32ui = 33, 265 Rgb10a2ui = 34, 266 Rg32ui = 35, 267 Rg16ui = 36, 268 Rg8ui = 37, 269 R16ui = 38, 270 R8ui = 39, 271 } 272 273 enum ImageChannelOrder : uint 274 { 275 R = 0, 276 A = 1, 277 RG = 2, 278 RA = 3, 279 RGB = 4, 280 RGBA = 5, 281 BGRA = 6, 282 ARGB = 7, 283 Intensity = 8, 284 Luminance = 9, 285 Rx = 10, 286 RGx = 11, 287 RGBx = 12, 288 Depth = 13, 289 DepthStencil = 14, 290 sRGB = 15, 291 sRGBx = 16, 292 sRGBA = 17, 293 sBGRA = 18, 294 ABGR = 19, 295 } 296 297 enum ImageChannelDataType : uint 298 { 299 SnormInt8 = 0, 300 SnormInt16 = 1, 301 UnormInt8 = 2, 302 UnormInt16 = 3, 303 UnormShort565 = 4, 304 UnormShort555 = 5, 305 UnormInt101010 = 6, 306 SignedInt8 = 7, 307 SignedInt16 = 8, 308 SignedInt32 = 9, 309 UnsignedInt8 = 10, 310 UnsignedInt16 = 11, 311 UnsignedInt32 = 12, 312 HalfFloat = 13, 313 Float = 14, 314 UnormInt24 = 15, 315 UnormInt101010_2 = 16, 316 } 317 318 enum ImageOperandsShift : uint 319 { 320 Bias = 0, 321 Lod = 1, 322 Grad = 2, 323 ConstOffset = 3, 324 Offset = 4, 325 ConstOffsets = 5, 326 Sample = 6, 327 MinLod = 7, 328 MakeTexelAvailable = 8, 329 MakeTexelAvailableKHR = 8, 330 MakeTexelVisible = 9, 331 MakeTexelVisibleKHR = 9, 332 NonPrivateTexel = 10, 333 NonPrivateTexelKHR = 10, 334 VolatileTexel = 11, 335 VolatileTexelKHR = 11, 336 SignExtend = 12, 337 ZeroExtend = 13, 338 } 339 340 enum ImageOperandsMask : uint 341 { 342 MaskNone = 0, 343 Bias = 0x00000001, 344 Lod = 0x00000002, 345 Grad = 0x00000004, 346 ConstOffset = 0x00000008, 347 Offset = 0x00000010, 348 ConstOffsets = 0x00000020, 349 Sample = 0x00000040, 350 MinLod = 0x00000080, 351 MakeTexelAvailable = 0x00000100, 352 MakeTexelAvailableKHR = 0x00000100, 353 MakeTexelVisible = 0x00000200, 354 MakeTexelVisibleKHR = 0x00000200, 355 NonPrivateTexel = 0x00000400, 356 NonPrivateTexelKHR = 0x00000400, 357 VolatileTexel = 0x00000800, 358 VolatileTexelKHR = 0x00000800, 359 SignExtend = 0x00001000, 360 ZeroExtend = 0x00002000, 361 } 362 363 enum FPFastMathModeShift : uint 364 { 365 NotNaN = 0, 366 NotInf = 1, 367 NSZ = 2, 368 AllowRecip = 3, 369 Fast = 4, 370 } 371 372 enum FPFastMathModeMask : uint 373 { 374 MaskNone = 0, 375 NotNaN = 0x00000001, 376 NotInf = 0x00000002, 377 NSZ = 0x00000004, 378 AllowRecip = 0x00000008, 379 Fast = 0x00000010, 380 } 381 382 enum FPRoundingMode : uint 383 { 384 RTE = 0, 385 RTZ = 1, 386 RTP = 2, 387 RTN = 3, 388 } 389 390 enum LinkageType : uint 391 { 392 Export = 0, 393 Import = 1, 394 } 395 396 enum AccessQualifier : uint 397 { 398 ReadOnly = 0, 399 WriteOnly = 1, 400 ReadWrite = 2, 401 } 402 403 enum FunctionParameterAttribute : uint 404 { 405 Zext = 0, 406 Sext = 1, 407 ByVal = 2, 408 Sret = 3, 409 NoAlias = 4, 410 NoCapture = 5, 411 NoWrite = 6, 412 NoReadWrite = 7, 413 } 414 415 enum Decoration : uint 416 { 417 RelaxedPrecision = 0, 418 SpecId = 1, 419 Block = 2, 420 BufferBlock = 3, 421 RowMajor = 4, 422 ColMajor = 5, 423 ArrayStride = 6, 424 MatrixStride = 7, 425 GLSLShared = 8, 426 GLSLPacked = 9, 427 CPacked = 10, 428 BuiltIn = 11, 429 NoPerspective = 13, 430 Flat = 14, 431 Patch = 15, 432 Centroid = 16, 433 Sample = 17, 434 Invariant = 18, 435 Restrict = 19, 436 Aliased = 20, 437 Volatile = 21, 438 Constant = 22, 439 Coherent = 23, 440 NonWritable = 24, 441 NonReadable = 25, 442 Uniform = 26, 443 UniformId = 27, 444 SaturatedConversion = 28, 445 Stream = 29, 446 Location = 30, 447 Component = 31, 448 Index = 32, 449 Binding = 33, 450 DescriptorSet = 34, 451 Offset = 35, 452 XfbBuffer = 36, 453 XfbStride = 37, 454 FuncParamAttr = 38, 455 FPRoundingMode = 39, 456 FPFastMathMode = 40, 457 LinkageAttributes = 41, 458 NoContraction = 42, 459 InputAttachmentIndex = 43, 460 Alignment = 44, 461 MaxByteOffset = 45, 462 AlignmentId = 46, 463 MaxByteOffsetId = 47, 464 NoSignedWrap = 4469, 465 NoUnsignedWrap = 4470, 466 ExplicitInterpAMD = 4999, 467 OverrideCoverageNV = 5248, 468 PassthroughNV = 5250, 469 ViewportRelativeNV = 5252, 470 SecondaryViewportRelativeNV = 5256, 471 PerPrimitiveNV = 5271, 472 PerViewNV = 5272, 473 PerTaskNV = 5273, 474 PerVertexNV = 5285, 475 NonUniform = 5300, 476 NonUniformEXT = 5300, 477 RestrictPointer = 5355, 478 RestrictPointerEXT = 5355, 479 AliasedPointer = 5356, 480 AliasedPointerEXT = 5356, 481 CounterBuffer = 5634, 482 HlslCounterBufferGOOGLE = 5634, 483 HlslSemanticGOOGLE = 5635, 484 UserSemantic = 5635, 485 UserTypeGOOGLE = 5636, 486 } 487 488 enum BuiltIn : uint 489 { 490 Position = 0, 491 PointSize = 1, 492 ClipDistance = 3, 493 CullDistance = 4, 494 VertexId = 5, 495 InstanceId = 6, 496 PrimitiveId = 7, 497 InvocationId = 8, 498 Layer = 9, 499 ViewportIndex = 10, 500 TessLevelOuter = 11, 501 TessLevelInner = 12, 502 TessCoord = 13, 503 PatchVertices = 14, 504 FragCoord = 15, 505 PointCoord = 16, 506 FrontFacing = 17, 507 SampleId = 18, 508 SamplePosition = 19, 509 SampleMask = 20, 510 FragDepth = 22, 511 HelperInvocation = 23, 512 NumWorkgroups = 24, 513 WorkgroupSize = 25, 514 WorkgroupId = 26, 515 LocalInvocationId = 27, 516 GlobalInvocationId = 28, 517 LocalInvocationIndex = 29, 518 WorkDim = 30, 519 GlobalSize = 31, 520 EnqueuedWorkgroupSize = 32, 521 GlobalOffset = 33, 522 GlobalLinearId = 34, 523 SubgroupSize = 36, 524 SubgroupMaxSize = 37, 525 NumSubgroups = 38, 526 NumEnqueuedSubgroups = 39, 527 SubgroupId = 40, 528 SubgroupLocalInvocationId = 41, 529 VertexIndex = 42, 530 InstanceIndex = 43, 531 SubgroupEqMask = 4416, 532 SubgroupEqMaskKHR = 4416, 533 SubgroupGeMask = 4417, 534 SubgroupGeMaskKHR = 4417, 535 SubgroupGtMask = 4418, 536 SubgroupGtMaskKHR = 4418, 537 SubgroupLeMask = 4419, 538 SubgroupLeMaskKHR = 4419, 539 SubgroupLtMask = 4420, 540 SubgroupLtMaskKHR = 4420, 541 BaseVertex = 4424, 542 BaseInstance = 4425, 543 DrawIndex = 4426, 544 DeviceIndex = 4438, 545 ViewIndex = 4440, 546 BaryCoordNoPerspAMD = 4992, 547 BaryCoordNoPerspCentroidAMD = 4993, 548 BaryCoordNoPerspSampleAMD = 4994, 549 BaryCoordSmoothAMD = 4995, 550 BaryCoordSmoothCentroidAMD = 4996, 551 BaryCoordSmoothSampleAMD = 4997, 552 BaryCoordPullModelAMD = 4998, 553 FragStencilRefEXT = 5014, 554 ViewportMaskNV = 5253, 555 SecondaryPositionNV = 5257, 556 SecondaryViewportMaskNV = 5258, 557 PositionPerViewNV = 5261, 558 ViewportMaskPerViewNV = 5262, 559 FullyCoveredEXT = 5264, 560 TaskCountNV = 5274, 561 PrimitiveCountNV = 5275, 562 PrimitiveIndicesNV = 5276, 563 ClipDistancePerViewNV = 5277, 564 CullDistancePerViewNV = 5278, 565 LayerPerViewNV = 5279, 566 MeshViewCountNV = 5280, 567 MeshViewIndicesNV = 5281, 568 BaryCoordNV = 5286, 569 BaryCoordNoPerspNV = 5287, 570 FragSizeEXT = 5292, 571 FragmentSizeNV = 5292, 572 FragInvocationCountEXT = 5293, 573 InvocationsPerPixelNV = 5293, 574 LaunchIdKHR = 5319, 575 LaunchIdNV = 5319, 576 LaunchSizeKHR = 5320, 577 LaunchSizeNV = 5320, 578 WorldRayOriginKHR = 5321, 579 WorldRayOriginNV = 5321, 580 WorldRayDirectionKHR = 5322, 581 WorldRayDirectionNV = 5322, 582 ObjectRayOriginKHR = 5323, 583 ObjectRayOriginNV = 5323, 584 ObjectRayDirectionKHR = 5324, 585 ObjectRayDirectionNV = 5324, 586 RayTminKHR = 5325, 587 RayTminNV = 5325, 588 RayTmaxKHR = 5326, 589 RayTmaxNV = 5326, 590 InstanceCustomIndexKHR = 5327, 591 InstanceCustomIndexNV = 5327, 592 ObjectToWorldKHR = 5330, 593 ObjectToWorldNV = 5330, 594 WorldToObjectKHR = 5331, 595 WorldToObjectNV = 5331, 596 HitTKHR = 5332, 597 HitTNV = 5332, 598 HitKindKHR = 5333, 599 HitKindNV = 5333, 600 IncomingRayFlagsKHR = 5351, 601 IncomingRayFlagsNV = 5351, 602 RayGeometryIndexKHR = 5352, 603 WarpsPerSMNV = 5374, 604 SMCountNV = 5375, 605 WarpIDNV = 5376, 606 SMIDNV = 5377, 607 } 608 609 enum SelectionControlShift : uint 610 { 611 Flatten = 0, 612 DontFlatten = 1, 613 } 614 615 enum SelectionControlMask : uint 616 { 617 MaskNone = 0, 618 Flatten = 0x00000001, 619 DontFlatten = 0x00000002, 620 } 621 622 enum LoopControlShift : uint 623 { 624 Unroll = 0, 625 DontUnroll = 1, 626 DependencyInfinite = 2, 627 DependencyLength = 3, 628 MinIterations = 4, 629 MaxIterations = 5, 630 IterationMultiple = 6, 631 PeelCount = 7, 632 PartialCount = 8, 633 } 634 635 enum LoopControlMask : uint 636 { 637 MaskNone = 0, 638 Unroll = 0x00000001, 639 DontUnroll = 0x00000002, 640 DependencyInfinite = 0x00000004, 641 DependencyLength = 0x00000008, 642 MinIterations = 0x00000010, 643 MaxIterations = 0x00000020, 644 IterationMultiple = 0x00000040, 645 PeelCount = 0x00000080, 646 PartialCount = 0x00000100, 647 } 648 649 enum FunctionControlShift : uint 650 { 651 Inline = 0, 652 DontInline = 1, 653 Pure = 2, 654 Const = 3, 655 } 656 657 enum FunctionControlMask : uint 658 { 659 MaskNone = 0, 660 Inline = 0x00000001, 661 DontInline = 0x00000002, 662 Pure = 0x00000004, 663 Const = 0x00000008, 664 } 665 666 enum MemorySemanticsShift : uint 667 { 668 Acquire = 1, 669 Release = 2, 670 AcquireRelease = 3, 671 SequentiallyConsistent = 4, 672 UniformMemory = 6, 673 SubgroupMemory = 7, 674 WorkgroupMemory = 8, 675 CrossWorkgroupMemory = 9, 676 AtomicCounterMemory = 10, 677 ImageMemory = 11, 678 OutputMemory = 12, 679 OutputMemoryKHR = 12, 680 MakeAvailable = 13, 681 MakeAvailableKHR = 13, 682 MakeVisible = 14, 683 MakeVisibleKHR = 14, 684 Volatile = 15, 685 } 686 687 enum MemorySemanticsMask : uint 688 { 689 MaskNone = 0, 690 Acquire = 0x00000002, 691 Release = 0x00000004, 692 AcquireRelease = 0x00000008, 693 SequentiallyConsistent = 0x00000010, 694 UniformMemory = 0x00000040, 695 SubgroupMemory = 0x00000080, 696 WorkgroupMemory = 0x00000100, 697 CrossWorkgroupMemory = 0x00000200, 698 AtomicCounterMemory = 0x00000400, 699 ImageMemory = 0x00000800, 700 OutputMemory = 0x00001000, 701 OutputMemoryKHR = 0x00001000, 702 MakeAvailable = 0x00002000, 703 MakeAvailableKHR = 0x00002000, 704 MakeVisible = 0x00004000, 705 MakeVisibleKHR = 0x00004000, 706 Volatile = 0x00008000, 707 } 708 709 enum MemoryAccessShift : uint 710 { 711 Volatile = 0, 712 Aligned = 1, 713 Nontemporal = 2, 714 MakePointerAvailable = 3, 715 MakePointerAvailableKHR = 3, 716 MakePointerVisible = 4, 717 MakePointerVisibleKHR = 4, 718 NonPrivatePointer = 5, 719 NonPrivatePointerKHR = 5, 720 } 721 722 enum MemoryAccessMask : uint 723 { 724 MaskNone = 0, 725 Volatile = 0x00000001, 726 Aligned = 0x00000002, 727 Nontemporal = 0x00000004, 728 MakePointerAvailable = 0x00000008, 729 MakePointerAvailableKHR = 0x00000008, 730 MakePointerVisible = 0x00000010, 731 MakePointerVisibleKHR = 0x00000010, 732 NonPrivatePointer = 0x00000020, 733 NonPrivatePointerKHR = 0x00000020, 734 } 735 736 enum Scope : uint 737 { 738 CrossDevice = 0, 739 Device = 1, 740 Workgroup = 2, 741 Subgroup = 3, 742 Invocation = 4, 743 QueueFamily = 5, 744 QueueFamilyKHR = 5, 745 ShaderCallKHR = 6, 746 } 747 748 enum GroupOperation : uint 749 { 750 Reduce = 0, 751 InclusiveScan = 1, 752 ExclusiveScan = 2, 753 ClusteredReduce = 3, 754 PartitionedReduceNV = 6, 755 PartitionedInclusiveScanNV = 7, 756 PartitionedExclusiveScanNV = 8, 757 } 758 759 enum KernelEnqueueFlags : uint 760 { 761 NoWait = 0, 762 WaitKernel = 1, 763 WaitWorkGroup = 2, 764 } 765 766 enum KernelProfilingInfoShift : uint 767 { 768 CmdExecTime = 0, 769 } 770 771 enum KernelProfilingInfoMask : uint 772 { 773 MaskNone = 0, 774 CmdExecTime = 0x00000001, 775 } 776 777 enum Capability : uint 778 { 779 Matrix = 0, 780 Shader = 1, 781 Geometry = 2, 782 Tessellation = 3, 783 Addresses = 4, 784 Linkage = 5, 785 Kernel = 6, 786 Vector16 = 7, 787 Float16Buffer = 8, 788 Float16 = 9, 789 Float64 = 10, 790 Int64 = 11, 791 Int64Atomics = 12, 792 ImageBasic = 13, 793 ImageReadWrite = 14, 794 ImageMipmap = 15, 795 Pipes = 17, 796 Groups = 18, 797 DeviceEnqueue = 19, 798 LiteralSampler = 20, 799 AtomicStorage = 21, 800 Int16 = 22, 801 TessellationPointSize = 23, 802 GeometryPointSize = 24, 803 ImageGatherExtended = 25, 804 StorageImageMultisample = 27, 805 UniformBufferArrayDynamicIndexing = 28, 806 SampledImageArrayDynamicIndexing = 29, 807 StorageBufferArrayDynamicIndexing = 30, 808 StorageImageArrayDynamicIndexing = 31, 809 ClipDistance = 32, 810 CullDistance = 33, 811 ImageCubeArray = 34, 812 SampleRateShading = 35, 813 ImageRect = 36, 814 SampledRect = 37, 815 GenericPointer = 38, 816 Int8 = 39, 817 InputAttachment = 40, 818 SparseResidency = 41, 819 MinLod = 42, 820 Sampled1D = 43, 821 Image1D = 44, 822 SampledCubeArray = 45, 823 SampledBuffer = 46, 824 ImageBuffer = 47, 825 ImageMSArray = 48, 826 StorageImageExtendedFormats = 49, 827 ImageQuery = 50, 828 DerivativeControl = 51, 829 InterpolationFunction = 52, 830 TransformFeedback = 53, 831 GeometryStreams = 54, 832 StorageImageReadWithoutFormat = 55, 833 StorageImageWriteWithoutFormat = 56, 834 MultiViewport = 57, 835 SubgroupDispatch = 58, 836 NamedBarrier = 59, 837 PipeStorage = 60, 838 GroupNonUniform = 61, 839 GroupNonUniformVote = 62, 840 GroupNonUniformArithmetic = 63, 841 GroupNonUniformBallot = 64, 842 GroupNonUniformShuffle = 65, 843 GroupNonUniformShuffleRelative = 66, 844 GroupNonUniformClustered = 67, 845 GroupNonUniformQuad = 68, 846 ShaderLayer = 69, 847 ShaderViewportIndex = 70, 848 SubgroupBallotKHR = 4423, 849 DrawParameters = 4427, 850 SubgroupVoteKHR = 4431, 851 StorageBuffer16BitAccess = 4433, 852 StorageUniformBufferBlock16 = 4433, 853 StorageUniform16 = 4434, 854 UniformAndStorageBuffer16BitAccess = 4434, 855 StoragePushConstant16 = 4435, 856 StorageInputOutput16 = 4436, 857 DeviceGroup = 4437, 858 MultiView = 4439, 859 VariablePointersStorageBuffer = 4441, 860 VariablePointers = 4442, 861 AtomicStorageOps = 4445, 862 SampleMaskPostDepthCoverage = 4447, 863 StorageBuffer8BitAccess = 4448, 864 UniformAndStorageBuffer8BitAccess = 4449, 865 StoragePushConstant8 = 4450, 866 DenormPreserve = 4464, 867 DenormFlushToZero = 4465, 868 SignedZeroInfNanPreserve = 4466, 869 RoundingModeRTE = 4467, 870 RoundingModeRTZ = 4468, 871 RayQueryProvisionalKHR = 4471, 872 RayTraversalPrimitiveCullingProvisionalKHR = 4478, 873 Float16ImageAMD = 5008, 874 ImageGatherBiasLodAMD = 5009, 875 FragmentMaskAMD = 5010, 876 StencilExportEXT = 5013, 877 ImageReadWriteLodAMD = 5015, 878 ShaderClockKHR = 5055, 879 SampleMaskOverrideCoverageNV = 5249, 880 GeometryShaderPassthroughNV = 5251, 881 ShaderViewportIndexLayerEXT = 5254, 882 ShaderViewportIndexLayerNV = 5254, 883 ShaderViewportMaskNV = 5255, 884 ShaderStereoViewNV = 5259, 885 PerViewAttributesNV = 5260, 886 FragmentFullyCoveredEXT = 5265, 887 MeshShadingNV = 5266, 888 ImageFootprintNV = 5282, 889 FragmentBarycentricNV = 5284, 890 ComputeDerivativeGroupQuadsNV = 5288, 891 FragmentDensityEXT = 5291, 892 ShadingRateNV = 5291, 893 GroupNonUniformPartitionedNV = 5297, 894 ShaderNonUniform = 5301, 895 ShaderNonUniformEXT = 5301, 896 RuntimeDescriptorArray = 5302, 897 RuntimeDescriptorArrayEXT = 5302, 898 InputAttachmentArrayDynamicIndexing = 5303, 899 InputAttachmentArrayDynamicIndexingEXT = 5303, 900 UniformTexelBufferArrayDynamicIndexing = 5304, 901 UniformTexelBufferArrayDynamicIndexingEXT = 5304, 902 StorageTexelBufferArrayDynamicIndexing = 5305, 903 StorageTexelBufferArrayDynamicIndexingEXT = 5305, 904 UniformBufferArrayNonUniformIndexing = 5306, 905 UniformBufferArrayNonUniformIndexingEXT = 5306, 906 SampledImageArrayNonUniformIndexing = 5307, 907 SampledImageArrayNonUniformIndexingEXT = 5307, 908 StorageBufferArrayNonUniformIndexing = 5308, 909 StorageBufferArrayNonUniformIndexingEXT = 5308, 910 StorageImageArrayNonUniformIndexing = 5309, 911 StorageImageArrayNonUniformIndexingEXT = 5309, 912 InputAttachmentArrayNonUniformIndexing = 5310, 913 InputAttachmentArrayNonUniformIndexingEXT = 5310, 914 UniformTexelBufferArrayNonUniformIndexing = 5311, 915 UniformTexelBufferArrayNonUniformIndexingEXT = 5311, 916 StorageTexelBufferArrayNonUniformIndexing = 5312, 917 StorageTexelBufferArrayNonUniformIndexingEXT = 5312, 918 RayTracingNV = 5340, 919 VulkanMemoryModel = 5345, 920 VulkanMemoryModelKHR = 5345, 921 VulkanMemoryModelDeviceScope = 5346, 922 VulkanMemoryModelDeviceScopeKHR = 5346, 923 PhysicalStorageBufferAddresses = 5347, 924 PhysicalStorageBufferAddressesEXT = 5347, 925 ComputeDerivativeGroupLinearNV = 5350, 926 RayTracingProvisionalKHR = 5353, 927 CooperativeMatrixNV = 5357, 928 FragmentShaderSampleInterlockEXT = 5363, 929 FragmentShaderShadingRateInterlockEXT = 5372, 930 ShaderSMBuiltinsNV = 5373, 931 FragmentShaderPixelInterlockEXT = 5378, 932 DemoteToHelperInvocationEXT = 5379, 933 SubgroupShuffleINTEL = 5568, 934 SubgroupBufferBlockIOINTEL = 5569, 935 SubgroupImageBlockIOINTEL = 5570, 936 SubgroupImageMediaBlockIOINTEL = 5579, 937 IntegerFunctions2INTEL = 5584, 938 SubgroupAvcMotionEstimationINTEL = 5696, 939 SubgroupAvcMotionEstimationIntraINTEL = 5697, 940 SubgroupAvcMotionEstimationChromaINTEL = 5698, 941 } 942 943 enum RayFlagsShift : uint 944 { 945 OpaqueKHR = 0, 946 NoOpaqueKHR = 1, 947 TerminateOnFirstHitKHR = 2, 948 SkipClosestHitShaderKHR = 3, 949 CullBackFacingTrianglesKHR = 4, 950 CullFrontFacingTrianglesKHR = 5, 951 CullOpaqueKHR = 6, 952 CullNoOpaqueKHR = 7, 953 SkipTrianglesKHR = 8, 954 SkipAABBsKHR = 9, 955 } 956 957 enum RayFlagsMask : uint 958 { 959 MaskNone = 0, 960 OpaqueKHR = 0x00000001, 961 NoOpaqueKHR = 0x00000002, 962 TerminateOnFirstHitKHR = 0x00000004, 963 SkipClosestHitShaderKHR = 0x00000008, 964 CullBackFacingTrianglesKHR = 0x00000010, 965 CullFrontFacingTrianglesKHR = 0x00000020, 966 CullOpaqueKHR = 0x00000040, 967 CullNoOpaqueKHR = 0x00000080, 968 SkipTrianglesKHR = 0x00000100, 969 SkipAABBsKHR = 0x00000200, 970 } 971 972 enum RayQueryIntersection : uint 973 { 974 RayQueryCandidateIntersectionKHR = 0, 975 RayQueryCommittedIntersectionKHR = 1, 976 } 977 978 enum RayQueryCommittedIntersectionType : uint 979 { 980 RayQueryCommittedIntersectionNoneKHR = 0, 981 RayQueryCommittedIntersectionTriangleKHR = 1, 982 RayQueryCommittedIntersectionGeneratedKHR = 2, 983 } 984 985 enum RayQueryCandidateIntersectionType : uint 986 { 987 RayQueryCandidateIntersectionTriangleKHR = 0, 988 RayQueryCandidateIntersectionAABBKHR = 1, 989 } 990 991 enum Op : uint 992 { 993 OpNop = 0, 994 OpUndef = 1, 995 OpSourceContinued = 2, 996 OpSource = 3, 997 OpSourceExtension = 4, 998 OpName = 5, 999 OpMemberName = 6, 1000 OpString = 7, 1001 OpLine = 8, 1002 OpExtension = 10, 1003 OpExtInstImport = 11, 1004 OpExtInst = 12, 1005 OpMemoryModel = 14, 1006 OpEntryPoint = 15, 1007 OpExecutionMode = 16, 1008 OpCapability = 17, 1009 OpTypeVoid = 19, 1010 OpTypeBool = 20, 1011 OpTypeInt = 21, 1012 OpTypeFloat = 22, 1013 OpTypeVector = 23, 1014 OpTypeMatrix = 24, 1015 OpTypeImage = 25, 1016 OpTypeSampler = 26, 1017 OpTypeSampledImage = 27, 1018 OpTypeArray = 28, 1019 OpTypeRuntimeArray = 29, 1020 OpTypeStruct = 30, 1021 OpTypeOpaque = 31, 1022 OpTypePointer = 32, 1023 OpTypeFunction = 33, 1024 OpTypeEvent = 34, 1025 OpTypeDeviceEvent = 35, 1026 OpTypeReserveId = 36, 1027 OpTypeQueue = 37, 1028 OpTypePipe = 38, 1029 OpTypeForwardPointer = 39, 1030 OpConstantTrue = 41, 1031 OpConstantFalse = 42, 1032 OpConstant = 43, 1033 OpConstantComposite = 44, 1034 OpConstantSampler = 45, 1035 OpConstantNull = 46, 1036 OpSpecConstantTrue = 48, 1037 OpSpecConstantFalse = 49, 1038 OpSpecConstant = 50, 1039 OpSpecConstantComposite = 51, 1040 OpSpecConstantOp = 52, 1041 OpFunction = 54, 1042 OpFunctionParameter = 55, 1043 OpFunctionEnd = 56, 1044 OpFunctionCall = 57, 1045 OpVariable = 59, 1046 OpImageTexelPointer = 60, 1047 OpLoad = 61, 1048 OpStore = 62, 1049 OpCopyMemory = 63, 1050 OpCopyMemorySized = 64, 1051 OpAccessChain = 65, 1052 OpInBoundsAccessChain = 66, 1053 OpPtrAccessChain = 67, 1054 OpArrayLength = 68, 1055 OpGenericPtrMemSemantics = 69, 1056 OpInBoundsPtrAccessChain = 70, 1057 OpDecorate = 71, 1058 OpMemberDecorate = 72, 1059 OpDecorationGroup = 73, 1060 OpGroupDecorate = 74, 1061 OpGroupMemberDecorate = 75, 1062 OpVectorExtractDynamic = 77, 1063 OpVectorInsertDynamic = 78, 1064 OpVectorShuffle = 79, 1065 OpCompositeConstruct = 80, 1066 OpCompositeExtract = 81, 1067 OpCompositeInsert = 82, 1068 OpCopyObject = 83, 1069 OpTranspose = 84, 1070 OpSampledImage = 86, 1071 OpImageSampleImplicitLod = 87, 1072 OpImageSampleExplicitLod = 88, 1073 OpImageSampleDrefImplicitLod = 89, 1074 OpImageSampleDrefExplicitLod = 90, 1075 OpImageSampleProjImplicitLod = 91, 1076 OpImageSampleProjExplicitLod = 92, 1077 OpImageSampleProjDrefImplicitLod = 93, 1078 OpImageSampleProjDrefExplicitLod = 94, 1079 OpImageFetch = 95, 1080 OpImageGather = 96, 1081 OpImageDrefGather = 97, 1082 OpImageRead = 98, 1083 OpImageWrite = 99, 1084 OpImage = 100, 1085 OpImageQueryFormat = 101, 1086 OpImageQueryOrder = 102, 1087 OpImageQuerySizeLod = 103, 1088 OpImageQuerySize = 104, 1089 OpImageQueryLod = 105, 1090 OpImageQueryLevels = 106, 1091 OpImageQuerySamples = 107, 1092 OpConvertFToU = 109, 1093 OpConvertFToS = 110, 1094 OpConvertSToF = 111, 1095 OpConvertUToF = 112, 1096 OpUConvert = 113, 1097 OpSConvert = 114, 1098 OpFConvert = 115, 1099 OpQuantizeToF16 = 116, 1100 OpConvertPtrToU = 117, 1101 OpSatConvertSToU = 118, 1102 OpSatConvertUToS = 119, 1103 OpConvertUToPtr = 120, 1104 OpPtrCastToGeneric = 121, 1105 OpGenericCastToPtr = 122, 1106 OpGenericCastToPtrExplicit = 123, 1107 OpBitcast = 124, 1108 OpSNegate = 126, 1109 OpFNegate = 127, 1110 OpIAdd = 128, 1111 OpFAdd = 129, 1112 OpISub = 130, 1113 OpFSub = 131, 1114 OpIMul = 132, 1115 OpFMul = 133, 1116 OpUDiv = 134, 1117 OpSDiv = 135, 1118 OpFDiv = 136, 1119 OpUMod = 137, 1120 OpSRem = 138, 1121 OpSMod = 139, 1122 OpFRem = 140, 1123 OpFMod = 141, 1124 OpVectorTimesScalar = 142, 1125 OpMatrixTimesScalar = 143, 1126 OpVectorTimesMatrix = 144, 1127 OpMatrixTimesVector = 145, 1128 OpMatrixTimesMatrix = 146, 1129 OpOuterProduct = 147, 1130 OpDot = 148, 1131 OpIAddCarry = 149, 1132 OpISubBorrow = 150, 1133 OpUMulExtended = 151, 1134 OpSMulExtended = 152, 1135 OpAny = 154, 1136 OpAll = 155, 1137 OpIsNan = 156, 1138 OpIsInf = 157, 1139 OpIsFinite = 158, 1140 OpIsNormal = 159, 1141 OpSignBitSet = 160, 1142 OpLessOrGreater = 161, 1143 OpOrdered = 162, 1144 OpUnordered = 163, 1145 OpLogicalEqual = 164, 1146 OpLogicalNotEqual = 165, 1147 OpLogicalOr = 166, 1148 OpLogicalAnd = 167, 1149 OpLogicalNot = 168, 1150 OpSelect = 169, 1151 OpIEqual = 170, 1152 OpINotEqual = 171, 1153 OpUGreaterThan = 172, 1154 OpSGreaterThan = 173, 1155 OpUGreaterThanEqual = 174, 1156 OpSGreaterThanEqual = 175, 1157 OpULessThan = 176, 1158 OpSLessThan = 177, 1159 OpULessThanEqual = 178, 1160 OpSLessThanEqual = 179, 1161 OpFOrdEqual = 180, 1162 OpFUnordEqual = 181, 1163 OpFOrdNotEqual = 182, 1164 OpFUnordNotEqual = 183, 1165 OpFOrdLessThan = 184, 1166 OpFUnordLessThan = 185, 1167 OpFOrdGreaterThan = 186, 1168 OpFUnordGreaterThan = 187, 1169 OpFOrdLessThanEqual = 188, 1170 OpFUnordLessThanEqual = 189, 1171 OpFOrdGreaterThanEqual = 190, 1172 OpFUnordGreaterThanEqual = 191, 1173 OpShiftRightLogical = 194, 1174 OpShiftRightArithmetic = 195, 1175 OpShiftLeftLogical = 196, 1176 OpBitwiseOr = 197, 1177 OpBitwiseXor = 198, 1178 OpBitwiseAnd = 199, 1179 OpNot = 200, 1180 OpBitFieldInsert = 201, 1181 OpBitFieldSExtract = 202, 1182 OpBitFieldUExtract = 203, 1183 OpBitReverse = 204, 1184 OpBitCount = 205, 1185 OpDPdx = 207, 1186 OpDPdy = 208, 1187 OpFwidth = 209, 1188 OpDPdxFine = 210, 1189 OpDPdyFine = 211, 1190 OpFwidthFine = 212, 1191 OpDPdxCoarse = 213, 1192 OpDPdyCoarse = 214, 1193 OpFwidthCoarse = 215, 1194 OpEmitVertex = 218, 1195 OpEndPrimitive = 219, 1196 OpEmitStreamVertex = 220, 1197 OpEndStreamPrimitive = 221, 1198 OpControlBarrier = 224, 1199 OpMemoryBarrier = 225, 1200 OpAtomicLoad = 227, 1201 OpAtomicStore = 228, 1202 OpAtomicExchange = 229, 1203 OpAtomicCompareExchange = 230, 1204 OpAtomicCompareExchangeWeak = 231, 1205 OpAtomicIIncrement = 232, 1206 OpAtomicIDecrement = 233, 1207 OpAtomicIAdd = 234, 1208 OpAtomicISub = 235, 1209 OpAtomicSMin = 236, 1210 OpAtomicUMin = 237, 1211 OpAtomicSMax = 238, 1212 OpAtomicUMax = 239, 1213 OpAtomicAnd = 240, 1214 OpAtomicOr = 241, 1215 OpAtomicXor = 242, 1216 OpPhi = 245, 1217 OpLoopMerge = 246, 1218 OpSelectionMerge = 247, 1219 OpLabel = 248, 1220 OpBranch = 249, 1221 OpBranchConditional = 250, 1222 OpSwitch = 251, 1223 OpKill = 252, 1224 OpReturn = 253, 1225 OpReturnValue = 254, 1226 OpUnreachable = 255, 1227 OpLifetimeStart = 256, 1228 OpLifetimeStop = 257, 1229 OpGroupAsyncCopy = 259, 1230 OpGroupWaitEvents = 260, 1231 OpGroupAll = 261, 1232 OpGroupAny = 262, 1233 OpGroupBroadcast = 263, 1234 OpGroupIAdd = 264, 1235 OpGroupFAdd = 265, 1236 OpGroupFMin = 266, 1237 OpGroupUMin = 267, 1238 OpGroupSMin = 268, 1239 OpGroupFMax = 269, 1240 OpGroupUMax = 270, 1241 OpGroupSMax = 271, 1242 OpReadPipe = 274, 1243 OpWritePipe = 275, 1244 OpReservedReadPipe = 276, 1245 OpReservedWritePipe = 277, 1246 OpReserveReadPipePackets = 278, 1247 OpReserveWritePipePackets = 279, 1248 OpCommitReadPipe = 280, 1249 OpCommitWritePipe = 281, 1250 OpIsValidReserveId = 282, 1251 OpGetNumPipePackets = 283, 1252 OpGetMaxPipePackets = 284, 1253 OpGroupReserveReadPipePackets = 285, 1254 OpGroupReserveWritePipePackets = 286, 1255 OpGroupCommitReadPipe = 287, 1256 OpGroupCommitWritePipe = 288, 1257 OpEnqueueMarker = 291, 1258 OpEnqueueKernel = 292, 1259 OpGetKernelNDrangeSubGroupCount = 293, 1260 OpGetKernelNDrangeMaxSubGroupSize = 294, 1261 OpGetKernelWorkGroupSize = 295, 1262 OpGetKernelPreferredWorkGroupSizeMultiple = 296, 1263 OpRetainEvent = 297, 1264 OpReleaseEvent = 298, 1265 OpCreateUserEvent = 299, 1266 OpIsValidEvent = 300, 1267 OpSetUserEventStatus = 301, 1268 OpCaptureEventProfilingInfo = 302, 1269 OpGetDefaultQueue = 303, 1270 OpBuildNDRange = 304, 1271 OpImageSparseSampleImplicitLod = 305, 1272 OpImageSparseSampleExplicitLod = 306, 1273 OpImageSparseSampleDrefImplicitLod = 307, 1274 OpImageSparseSampleDrefExplicitLod = 308, 1275 OpImageSparseSampleProjImplicitLod = 309, 1276 OpImageSparseSampleProjExplicitLod = 310, 1277 OpImageSparseSampleProjDrefImplicitLod = 311, 1278 OpImageSparseSampleProjDrefExplicitLod = 312, 1279 OpImageSparseFetch = 313, 1280 OpImageSparseGather = 314, 1281 OpImageSparseDrefGather = 315, 1282 OpImageSparseTexelsResident = 316, 1283 OpNoLine = 317, 1284 OpAtomicFlagTestAndSet = 318, 1285 OpAtomicFlagClear = 319, 1286 OpImageSparseRead = 320, 1287 OpSizeOf = 321, 1288 OpTypePipeStorage = 322, 1289 OpConstantPipeStorage = 323, 1290 OpCreatePipeFromPipeStorage = 324, 1291 OpGetKernelLocalSizeForSubgroupCount = 325, 1292 OpGetKernelMaxNumSubgroups = 326, 1293 OpTypeNamedBarrier = 327, 1294 OpNamedBarrierInitialize = 328, 1295 OpMemoryNamedBarrier = 329, 1296 OpModuleProcessed = 330, 1297 OpExecutionModeId = 331, 1298 OpDecorateId = 332, 1299 OpGroupNonUniformElect = 333, 1300 OpGroupNonUniformAll = 334, 1301 OpGroupNonUniformAny = 335, 1302 OpGroupNonUniformAllEqual = 336, 1303 OpGroupNonUniformBroadcast = 337, 1304 OpGroupNonUniformBroadcastFirst = 338, 1305 OpGroupNonUniformBallot = 339, 1306 OpGroupNonUniformInverseBallot = 340, 1307 OpGroupNonUniformBallotBitExtract = 341, 1308 OpGroupNonUniformBallotBitCount = 342, 1309 OpGroupNonUniformBallotFindLSB = 343, 1310 OpGroupNonUniformBallotFindMSB = 344, 1311 OpGroupNonUniformShuffle = 345, 1312 OpGroupNonUniformShuffleXor = 346, 1313 OpGroupNonUniformShuffleUp = 347, 1314 OpGroupNonUniformShuffleDown = 348, 1315 OpGroupNonUniformIAdd = 349, 1316 OpGroupNonUniformFAdd = 350, 1317 OpGroupNonUniformIMul = 351, 1318 OpGroupNonUniformFMul = 352, 1319 OpGroupNonUniformSMin = 353, 1320 OpGroupNonUniformUMin = 354, 1321 OpGroupNonUniformFMin = 355, 1322 OpGroupNonUniformSMax = 356, 1323 OpGroupNonUniformUMax = 357, 1324 OpGroupNonUniformFMax = 358, 1325 OpGroupNonUniformBitwiseAnd = 359, 1326 OpGroupNonUniformBitwiseOr = 360, 1327 OpGroupNonUniformBitwiseXor = 361, 1328 OpGroupNonUniformLogicalAnd = 362, 1329 OpGroupNonUniformLogicalOr = 363, 1330 OpGroupNonUniformLogicalXor = 364, 1331 OpGroupNonUniformQuadBroadcast = 365, 1332 OpGroupNonUniformQuadSwap = 366, 1333 OpCopyLogical = 400, 1334 OpPtrEqual = 401, 1335 OpPtrNotEqual = 402, 1336 OpPtrDiff = 403, 1337 OpSubgroupBallotKHR = 4421, 1338 OpSubgroupFirstInvocationKHR = 4422, 1339 OpSubgroupAllKHR = 4428, 1340 OpSubgroupAnyKHR = 4429, 1341 OpSubgroupAllEqualKHR = 4430, 1342 OpSubgroupReadInvocationKHR = 4432, 1343 OpTypeRayQueryProvisionalKHR = 4472, 1344 OpRayQueryInitializeKHR = 4473, 1345 OpRayQueryTerminateKHR = 4474, 1346 OpRayQueryGenerateIntersectionKHR = 4475, 1347 OpRayQueryConfirmIntersectionKHR = 4476, 1348 OpRayQueryProceedKHR = 4477, 1349 OpRayQueryGetIntersectionTypeKHR = 4479, 1350 OpGroupIAddNonUniformAMD = 5000, 1351 OpGroupFAddNonUniformAMD = 5001, 1352 OpGroupFMinNonUniformAMD = 5002, 1353 OpGroupUMinNonUniformAMD = 5003, 1354 OpGroupSMinNonUniformAMD = 5004, 1355 OpGroupFMaxNonUniformAMD = 5005, 1356 OpGroupUMaxNonUniformAMD = 5006, 1357 OpGroupSMaxNonUniformAMD = 5007, 1358 OpFragmentMaskFetchAMD = 5011, 1359 OpFragmentFetchAMD = 5012, 1360 OpReadClockKHR = 5056, 1361 OpImageSampleFootprintNV = 5283, 1362 OpGroupNonUniformPartitionNV = 5296, 1363 OpWritePackedPrimitiveIndices4x8NV = 5299, 1364 OpReportIntersectionKHR = 5334, 1365 OpReportIntersectionNV = 5334, 1366 OpIgnoreIntersectionKHR = 5335, 1367 OpIgnoreIntersectionNV = 5335, 1368 OpTerminateRayKHR = 5336, 1369 OpTerminateRayNV = 5336, 1370 OpTraceNV = 5337, 1371 OpTraceRayKHR = 5337, 1372 OpTypeAccelerationStructureKHR = 5341, 1373 OpTypeAccelerationStructureNV = 5341, 1374 OpExecuteCallableKHR = 5344, 1375 OpExecuteCallableNV = 5344, 1376 OpTypeCooperativeMatrixNV = 5358, 1377 OpCooperativeMatrixLoadNV = 5359, 1378 OpCooperativeMatrixStoreNV = 5360, 1379 OpCooperativeMatrixMulAddNV = 5361, 1380 OpCooperativeMatrixLengthNV = 5362, 1381 OpBeginInvocationInterlockEXT = 5364, 1382 OpEndInvocationInterlockEXT = 5365, 1383 OpDemoteToHelperInvocationEXT = 5380, 1384 OpIsHelperInvocationEXT = 5381, 1385 OpSubgroupShuffleINTEL = 5571, 1386 OpSubgroupShuffleDownINTEL = 5572, 1387 OpSubgroupShuffleUpINTEL = 5573, 1388 OpSubgroupShuffleXorINTEL = 5574, 1389 OpSubgroupBlockReadINTEL = 5575, 1390 OpSubgroupBlockWriteINTEL = 5576, 1391 OpSubgroupImageBlockReadINTEL = 5577, 1392 OpSubgroupImageBlockWriteINTEL = 5578, 1393 OpSubgroupImageMediaBlockReadINTEL = 5580, 1394 OpSubgroupImageMediaBlockWriteINTEL = 5581, 1395 OpUCountLeadingZerosINTEL = 5585, 1396 OpUCountTrailingZerosINTEL = 5586, 1397 OpAbsISubINTEL = 5587, 1398 OpAbsUSubINTEL = 5588, 1399 OpIAddSatINTEL = 5589, 1400 OpUAddSatINTEL = 5590, 1401 OpIAverageINTEL = 5591, 1402 OpUAverageINTEL = 5592, 1403 OpIAverageRoundedINTEL = 5593, 1404 OpUAverageRoundedINTEL = 5594, 1405 OpISubSatINTEL = 5595, 1406 OpUSubSatINTEL = 5596, 1407 OpIMul32x16INTEL = 5597, 1408 OpUMul32x16INTEL = 5598, 1409 OpDecorateString = 5632, 1410 OpDecorateStringGOOGLE = 5632, 1411 OpMemberDecorateString = 5633, 1412 OpMemberDecorateStringGOOGLE = 5633, 1413 OpVmeImageINTEL = 5699, 1414 OpTypeVmeImageINTEL = 5700, 1415 OpTypeAvcImePayloadINTEL = 5701, 1416 OpTypeAvcRefPayloadINTEL = 5702, 1417 OpTypeAvcSicPayloadINTEL = 5703, 1418 OpTypeAvcMcePayloadINTEL = 5704, 1419 OpTypeAvcMceResultINTEL = 5705, 1420 OpTypeAvcImeResultINTEL = 5706, 1421 OpTypeAvcImeResultSingleReferenceStreamoutINTEL = 5707, 1422 OpTypeAvcImeResultDualReferenceStreamoutINTEL = 5708, 1423 OpTypeAvcImeSingleReferenceStreaminINTEL = 5709, 1424 OpTypeAvcImeDualReferenceStreaminINTEL = 5710, 1425 OpTypeAvcRefResultINTEL = 5711, 1426 OpTypeAvcSicResultINTEL = 5712, 1427 OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL = 5713, 1428 OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL = 5714, 1429 OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL = 5715, 1430 OpSubgroupAvcMceSetInterShapePenaltyINTEL = 5716, 1431 OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL = 5717, 1432 OpSubgroupAvcMceSetInterDirectionPenaltyINTEL = 5718, 1433 OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL = 5719, 1434 OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL = 5720, 1435 OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL = 5721, 1436 OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL = 5722, 1437 OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL = 5723, 1438 OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL = 5724, 1439 OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL = 5725, 1440 OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL = 5726, 1441 OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL = 5727, 1442 OpSubgroupAvcMceSetAcOnlyHaarINTEL = 5728, 1443 OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL = 5729, 1444 OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL = 5730, 1445 OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL = 5731, 1446 OpSubgroupAvcMceConvertToImePayloadINTEL = 5732, 1447 OpSubgroupAvcMceConvertToImeResultINTEL = 5733, 1448 OpSubgroupAvcMceConvertToRefPayloadINTEL = 5734, 1449 OpSubgroupAvcMceConvertToRefResultINTEL = 5735, 1450 OpSubgroupAvcMceConvertToSicPayloadINTEL = 5736, 1451 OpSubgroupAvcMceConvertToSicResultINTEL = 5737, 1452 OpSubgroupAvcMceGetMotionVectorsINTEL = 5738, 1453 OpSubgroupAvcMceGetInterDistortionsINTEL = 5739, 1454 OpSubgroupAvcMceGetBestInterDistortionsINTEL = 5740, 1455 OpSubgroupAvcMceGetInterMajorShapeINTEL = 5741, 1456 OpSubgroupAvcMceGetInterMinorShapeINTEL = 5742, 1457 OpSubgroupAvcMceGetInterDirectionsINTEL = 5743, 1458 OpSubgroupAvcMceGetInterMotionVectorCountINTEL = 5744, 1459 OpSubgroupAvcMceGetInterReferenceIdsINTEL = 5745, 1460 OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL = 5746, 1461 OpSubgroupAvcImeInitializeINTEL = 5747, 1462 OpSubgroupAvcImeSetSingleReferenceINTEL = 5748, 1463 OpSubgroupAvcImeSetDualReferenceINTEL = 5749, 1464 OpSubgroupAvcImeRefWindowSizeINTEL = 5750, 1465 OpSubgroupAvcImeAdjustRefOffsetINTEL = 5751, 1466 OpSubgroupAvcImeConvertToMcePayloadINTEL = 5752, 1467 OpSubgroupAvcImeSetMaxMotionVectorCountINTEL = 5753, 1468 OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL = 5754, 1469 OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL = 5755, 1470 OpSubgroupAvcImeSetWeightedSadINTEL = 5756, 1471 OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL = 5757, 1472 OpSubgroupAvcImeEvaluateWithDualReferenceINTEL = 5758, 1473 OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL = 5759, 1474 OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL = 5760, 1475 OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL = 5761, 1476 OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL = 5762, 1477 OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL = 5763, 1478 OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL = 5764, 1479 OpSubgroupAvcImeConvertToMceResultINTEL = 5765, 1480 OpSubgroupAvcImeGetSingleReferenceStreaminINTEL = 5766, 1481 OpSubgroupAvcImeGetDualReferenceStreaminINTEL = 5767, 1482 OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL = 5768, 1483 OpSubgroupAvcImeStripDualReferenceStreamoutINTEL = 5769, 1484 OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL = 5770, 1485 OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL = 5771, 1486 OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL = 5772, 1487 OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL = 5773, 1488 OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL = 5774, 1489 OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL = 5775, 1490 OpSubgroupAvcImeGetBorderReachedINTEL = 5776, 1491 OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL = 5777, 1492 OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL = 5778, 1493 OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL = 5779, 1494 OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL = 5780, 1495 OpSubgroupAvcFmeInitializeINTEL = 5781, 1496 OpSubgroupAvcBmeInitializeINTEL = 5782, 1497 OpSubgroupAvcRefConvertToMcePayloadINTEL = 5783, 1498 OpSubgroupAvcRefSetBidirectionalMixDisableINTEL = 5784, 1499 OpSubgroupAvcRefSetBilinearFilterEnableINTEL = 5785, 1500 OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL = 5786, 1501 OpSubgroupAvcRefEvaluateWithDualReferenceINTEL = 5787, 1502 OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL = 5788, 1503 OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL = 5789, 1504 OpSubgroupAvcRefConvertToMceResultINTEL = 5790, 1505 OpSubgroupAvcSicInitializeINTEL = 5791, 1506 OpSubgroupAvcSicConfigureSkcINTEL = 5792, 1507 OpSubgroupAvcSicConfigureIpeLumaINTEL = 5793, 1508 OpSubgroupAvcSicConfigureIpeLumaChromaINTEL = 5794, 1509 OpSubgroupAvcSicGetMotionVectorMaskINTEL = 5795, 1510 OpSubgroupAvcSicConvertToMcePayloadINTEL = 5796, 1511 OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL = 5797, 1512 OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL = 5798, 1513 OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL = 5799, 1514 OpSubgroupAvcSicSetBilinearFilterEnableINTEL = 5800, 1515 OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL = 5801, 1516 OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL = 5802, 1517 OpSubgroupAvcSicEvaluateIpeINTEL = 5803, 1518 OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL = 5804, 1519 OpSubgroupAvcSicEvaluateWithDualReferenceINTEL = 5805, 1520 OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL = 5806, 1521 OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL = 5807, 1522 OpSubgroupAvcSicConvertToMceResultINTEL = 5808, 1523 OpSubgroupAvcSicGetIpeLumaShapeINTEL = 5809, 1524 OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL = 5810, 1525 OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL = 5811, 1526 OpSubgroupAvcSicGetPackedIpeLumaModesINTEL = 5812, 1527 OpSubgroupAvcSicGetIpeChromaModeINTEL = 5813, 1528 OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814, 1529 OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815, 1530 OpSubgroupAvcSicGetInterRawSadsINTEL = 5816, 1531 OpRayQueryGetRayTMinKHR = 6016, 1532 OpRayQueryGetRayFlagsKHR = 6017, 1533 OpRayQueryGetIntersectionTKHR = 6018, 1534 OpRayQueryGetIntersectionInstanceCustomIndexKHR = 6019, 1535 OpRayQueryGetIntersectionInstanceIdKHR = 6020, 1536 OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR = 6021, 1537 OpRayQueryGetIntersectionGeometryIndexKHR = 6022, 1538 OpRayQueryGetIntersectionPrimitiveIndexKHR = 6023, 1539 OpRayQueryGetIntersectionBarycentricsKHR = 6024, 1540 OpRayQueryGetIntersectionFrontFaceKHR = 6025, 1541 OpRayQueryGetIntersectionCandidateAABBOpaqueKHR = 6026, 1542 OpRayQueryGetIntersectionObjectRayDirectionKHR = 6027, 1543 OpRayQueryGetIntersectionObjectRayOriginKHR = 6028, 1544 OpRayQueryGetWorldRayDirectionKHR = 6029, 1545 OpRayQueryGetWorldRayOriginKHR = 6030, 1546 OpRayQueryGetIntersectionObjectToWorldKHR = 6031, 1547 OpRayQueryGetIntersectionWorldToObjectKHR = 6032, 1548 } 1549 1550 1551