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