yum-mirror/glslang
git clone https://git.yummers.dev/yum-mirror/glslang
24ae85ba
main
1// Copyright: 2014-2024 The Khronos Group Inc. 2// License: MIT 3// 4// MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS 5// KHRONOS STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS 6// SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT 7// https://www.khronos.org/registry/ 8 9// This header is automatically generated by the same tool that creates 10// the Binary Section of the SPIR-V specification. 11 12// Enumeration tokens for SPIR-V, in various styles: 13// C, C++, C++11, JSON, Lua, Python, C#, Java, D, Beef 14// 15// - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL 16// - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL 17// - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL 18// - Lua will use tables, e.g.: spv.SourceLanguage.GLSL 19// - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL'] 20// - C# will use enum classes in the Specification class located in the "Spv" namespace, 21// e.g.: Spv.Specification.SourceLanguage.GLSL 22// - Java will use enum classes in the Spv class in the org.khronos.spv package, 23// e.g.: Spv.SourceLanguage.GLSL 24// - D will have tokens under the "spv" module, e.g: spv.SourceLanguage.GLSL 25// - Beef will use enum classes in the Specification class located in the "Spv" namespace, 26// e.g.: Spv.Specification.SourceLanguage.GLSL 27// 28// Some tokens act like mask values, which can be OR'd together, 29// while others are mutually exclusive. The mask-like ones have 30// "Mask" in their name, and a parallel enum that has the shift 31// amount (1 << x) for each corresponding enumerant. 32 33#ifndef spirv_HPP 34#define spirv_HPP 35 36namespace spv { 37 38typedef unsigned int Id; 39 40#define SPV_VERSION 0x10600 41#define SPV_REVISION 1 42 43static const unsigned int MagicNumber = 0x07230203; 44static const unsigned int Version = 0x00010600; 45static const unsigned int Revision = 1; 46static const unsigned int OpCodeMask = 0xffff; 47static const unsigned int WordCountShift = 16; 48 49enum class SourceLanguage : unsigned { 50 Unknown = 0, 51 ESSL = 1, 52 GLSL = 2, 53 OpenCL_C = 3, 54 OpenCL_CPP = 4, 55 HLSL = 5, 56 CPP_for_OpenCL = 6, 57 SYCL = 7, 58 HERO_C = 8, 59 NZSL = 9, 60 WGSL = 10, 61 Slang = 11, 62 Zig = 12, 63 Rust = 13, 64 Pred = 14, 65 ApilaJai = 15, 66 Max = 0x7fffffff, 67}; 68 69enum class ExecutionModel : unsigned { 70 Vertex = 0, 71 TessellationControl = 1, 72 TessellationEvaluation = 2, 73 Geometry = 3, 74 Fragment = 4, 75 GLCompute = 5, 76 Kernel = 6, 77 TaskNV = 5267, 78 MeshNV = 5268, 79 RayGenerationKHR = 5313, 80 RayGenerationNV = 5313, 81 IntersectionKHR = 5314, 82 IntersectionNV = 5314, 83 AnyHitKHR = 5315, 84 AnyHitNV = 5315, 85 ClosestHitKHR = 5316, 86 ClosestHitNV = 5316, 87 MissKHR = 5317, 88 MissNV = 5317, 89 CallableKHR = 5318, 90 CallableNV = 5318, 91 TaskEXT = 5364, 92 MeshEXT = 5365, 93 Max = 0x7fffffff, 94}; 95 96enum class AddressingModel : unsigned { 97 Logical = 0, 98 Physical32 = 1, 99 Physical64 = 2, 100 PhysicalStorageBuffer64 = 5348, 101 PhysicalStorageBuffer64EXT = 5348, 102 Max = 0x7fffffff, 103}; 104 105enum class MemoryModel : unsigned { 106 Simple = 0, 107 GLSL450 = 1, 108 OpenCL = 2, 109 Vulkan = 3, 110 VulkanKHR = 3, 111 Max = 0x7fffffff, 112}; 113 114enum class ExecutionMode : unsigned { 115 Invocations = 0, 116 SpacingEqual = 1, 117 SpacingFractionalEven = 2, 118 SpacingFractionalOdd = 3, 119 VertexOrderCw = 4, 120 VertexOrderCcw = 5, 121 PixelCenterInteger = 6, 122 OriginUpperLeft = 7, 123 OriginLowerLeft = 8, 124 EarlyFragmentTests = 9, 125 PointMode = 10, 126 Xfb = 11, 127 DepthReplacing = 12, 128 DepthGreater = 14, 129 DepthLess = 15, 130 DepthUnchanged = 16, 131 LocalSize = 17, 132 LocalSizeHint = 18, 133 InputPoints = 19, 134 InputLines = 20, 135 InputLinesAdjacency = 21, 136 Triangles = 22, 137 InputTrianglesAdjacency = 23, 138 Quads = 24, 139 Isolines = 25, 140 OutputVertices = 26, 141 OutputPoints = 27, 142 OutputLineStrip = 28, 143 OutputTriangleStrip = 29, 144 VecTypeHint = 30, 145 ContractionOff = 31, 146 Initializer = 33, 147 Finalizer = 34, 148 SubgroupSize = 35, 149 SubgroupsPerWorkgroup = 36, 150 SubgroupsPerWorkgroupId = 37, 151 LocalSizeId = 38, 152 LocalSizeHintId = 39, 153 NonCoherentColorAttachmentReadEXT = 4169, 154 NonCoherentDepthAttachmentReadEXT = 4170, 155 NonCoherentStencilAttachmentReadEXT = 4171, 156 SubgroupUniformControlFlowKHR = 4421, 157 PostDepthCoverage = 4446, 158 DenormPreserve = 4459, 159 DenormFlushToZero = 4460, 160 SignedZeroInfNanPreserve = 4461, 161 RoundingModeRTE = 4462, 162 RoundingModeRTZ = 4463, 163 NonCoherentTileAttachmentReadQCOM = 4489, 164 TileShadingRateQCOM = 4490, 165 EarlyAndLateFragmentTestsAMD = 5017, 166 StencilRefReplacingEXT = 5027, 167 CoalescingAMDX = 5069, 168 IsApiEntryAMDX = 5070, 169 MaxNodeRecursionAMDX = 5071, 170 StaticNumWorkgroupsAMDX = 5072, 171 ShaderIndexAMDX = 5073, 172 MaxNumWorkgroupsAMDX = 5077, 173 StencilRefUnchangedFrontAMD = 5079, 174 StencilRefGreaterFrontAMD = 5080, 175 StencilRefLessFrontAMD = 5081, 176 StencilRefUnchangedBackAMD = 5082, 177 StencilRefGreaterBackAMD = 5083, 178 StencilRefLessBackAMD = 5084, 179 QuadDerivativesKHR = 5088, 180 RequireFullQuadsKHR = 5089, 181 SharesInputWithAMDX = 5102, 182 ArithmeticPoisonKHR = 5157, 183 OutputLinesEXT = 5269, 184 OutputLinesNV = 5269, 185 OutputPrimitivesEXT = 5270, 186 OutputPrimitivesNV = 5270, 187 DerivativeGroupQuadsKHR = 5289, 188 DerivativeGroupQuadsNV = 5289, 189 DerivativeGroupLinearKHR = 5290, 190 DerivativeGroupLinearNV = 5290, 191 OutputTrianglesEXT = 5298, 192 OutputTrianglesNV = 5298, 193 PixelInterlockOrderedEXT = 5366, 194 PixelInterlockUnorderedEXT = 5367, 195 SampleInterlockOrderedEXT = 5368, 196 SampleInterlockUnorderedEXT = 5369, 197 ShadingRateInterlockOrderedEXT = 5370, 198 ShadingRateInterlockUnorderedEXT = 5371, 199 Shader64BitIndexingEXT = 5427, 200 SharedLocalMemorySizeINTEL = 5618, 201 RoundingModeRTPINTEL = 5620, 202 RoundingModeRTNINTEL = 5621, 203 FloatingPointModeALTINTEL = 5622, 204 FloatingPointModeIEEEINTEL = 5623, 205 MaxWorkgroupSizeINTEL = 5893, 206 MaxWorkDimINTEL = 5894, 207 NoGlobalOffsetINTEL = 5895, 208 NumSIMDWorkitemsINTEL = 5896, 209 SchedulerTargetFmaxMhzINTEL = 5903, 210 MaximallyReconvergesKHR = 6023, 211 FPFastMathDefault = 6028, 212 OpacityMicromapIdKHR = 6031, 213 StreamingInterfaceINTEL = 6154, 214 RegisterMapInterfaceINTEL = 6160, 215 NamedBarrierCountINTEL = 6417, 216 MaximumRegistersINTEL = 6461, 217 MaximumRegistersIdINTEL = 6462, 218 NamedMaximumRegistersINTEL = 6463, 219 Max = 0x7fffffff, 220}; 221 222enum class StorageClass : unsigned { 223 UniformConstant = 0, 224 Input = 1, 225 Uniform = 2, 226 Output = 3, 227 Workgroup = 4, 228 CrossWorkgroup = 5, 229 Private = 6, 230 Function = 7, 231 Generic = 8, 232 PushConstant = 9, 233 AtomicCounter = 10, 234 Image = 11, 235 StorageBuffer = 12, 236 TileImageEXT = 4172, 237 TileAttachmentQCOM = 4491, 238 NodePayloadAMDX = 5068, 239 CallableDataKHR = 5328, 240 CallableDataNV = 5328, 241 IncomingCallableDataKHR = 5329, 242 IncomingCallableDataNV = 5329, 243 RayPayloadKHR = 5338, 244 RayPayloadNV = 5338, 245 HitAttributeKHR = 5339, 246 HitAttributeNV = 5339, 247 IncomingRayPayloadKHR = 5342, 248 IncomingRayPayloadNV = 5342, 249 ShaderRecordBufferKHR = 5343, 250 ShaderRecordBufferNV = 5343, 251 PhysicalStorageBuffer = 5349, 252 PhysicalStorageBufferEXT = 5349, 253 HitObjectAttributeNV = 5385, 254 TaskPayloadWorkgroupEXT = 5402, 255 HitObjectAttributeEXT = 5411, 256 CodeSectionINTEL = 5605, 257 DeviceOnlyALTERA = 5936, 258 DeviceOnlyINTEL = 5936, 259 HostOnlyALTERA = 5937, 260 HostOnlyINTEL = 5937, 261 Max = 0x7fffffff, 262}; 263 264enum class Dim : unsigned { 265 Dim1D = 0, 266 Dim2D = 1, 267 Dim3D = 2, 268 Cube = 3, 269 Rect = 4, 270 Buffer = 5, 271 SubpassData = 6, 272 TileImageDataEXT = 4173, 273 Max = 0x7fffffff, 274}; 275 276enum class SamplerAddressingMode : unsigned { 277 None = 0, 278 ClampToEdge = 1, 279 Clamp = 2, 280 Repeat = 3, 281 RepeatMirrored = 4, 282 Max = 0x7fffffff, 283}; 284 285enum class SamplerFilterMode : unsigned { 286 Nearest = 0, 287 Linear = 1, 288 Max = 0x7fffffff, 289}; 290 291enum class ImageFormat : unsigned { 292 Unknown = 0, 293 Rgba32f = 1, 294 Rgba16f = 2, 295 R32f = 3, 296 Rgba8 = 4, 297 Rgba8Snorm = 5, 298 Rg32f = 6, 299 Rg16f = 7, 300 R11fG11fB10f = 8, 301 R16f = 9, 302 Rgba16 = 10, 303 Rgb10A2 = 11, 304 Rg16 = 12, 305 Rg8 = 13, 306 R16 = 14, 307 R8 = 15, 308 Rgba16Snorm = 16, 309 Rg16Snorm = 17, 310 Rg8Snorm = 18, 311 R16Snorm = 19, 312 R8Snorm = 20, 313 Rgba32i = 21, 314 Rgba16i = 22, 315 Rgba8i = 23, 316 R32i = 24, 317 Rg32i = 25, 318 Rg16i = 26, 319 Rg8i = 27, 320 R16i = 28, 321 R8i = 29, 322 Rgba32ui = 30, 323 Rgba16ui = 31, 324 Rgba8ui = 32, 325 R32ui = 33, 326 Rgb10a2ui = 34, 327 Rg32ui = 35, 328 Rg16ui = 36, 329 Rg8ui = 37, 330 R16ui = 38, 331 R8ui = 39, 332 R64ui = 40, 333 R64i = 41, 334 Max = 0x7fffffff, 335}; 336 337enum class ImageChannelOrder : unsigned { 338 R = 0, 339 A = 1, 340 RG = 2, 341 RA = 3, 342 RGB = 4, 343 RGBA = 5, 344 BGRA = 6, 345 ARGB = 7, 346 Intensity = 8, 347 Luminance = 9, 348 Rx = 10, 349 RGx = 11, 350 RGBx = 12, 351 Depth = 13, 352 DepthStencil = 14, 353 sRGB = 15, 354 sRGBx = 16, 355 sRGBA = 17, 356 sBGRA = 18, 357 ABGR = 19, 358 Max = 0x7fffffff, 359}; 360 361enum class ImageChannelDataType : unsigned { 362 SnormInt8 = 0, 363 SnormInt16 = 1, 364 UnormInt8 = 2, 365 UnormInt16 = 3, 366 UnormShort565 = 4, 367 UnormShort555 = 5, 368 UnormInt101010 = 6, 369 SignedInt8 = 7, 370 SignedInt16 = 8, 371 SignedInt32 = 9, 372 UnsignedInt8 = 10, 373 UnsignedInt16 = 11, 374 UnsignedInt32 = 12, 375 HalfFloat = 13, 376 Float = 14, 377 UnormInt24 = 15, 378 UnormInt101010_2 = 16, 379 UnormInt10X6EXT = 17, 380 UnsignedIntRaw10EXT = 19, 381 UnsignedIntRaw12EXT = 20, 382 UnormInt2_101010EXT = 21, 383 UnsignedInt10X6EXT = 22, 384 UnsignedInt12X4EXT = 23, 385 UnsignedInt14X2EXT = 24, 386 UnormInt12X4EXT = 25, 387 UnormInt14X2EXT = 26, 388 Max = 0x7fffffff, 389}; 390 391enum class ImageOperandsShift : unsigned { 392 Bias = 0, 393 Lod = 1, 394 Grad = 2, 395 ConstOffset = 3, 396 Offset = 4, 397 ConstOffsets = 5, 398 Sample = 6, 399 MinLod = 7, 400 MakeTexelAvailable = 8, 401 MakeTexelAvailableKHR = 8, 402 MakeTexelVisible = 9, 403 MakeTexelVisibleKHR = 9, 404 NonPrivateTexel = 10, 405 NonPrivateTexelKHR = 10, 406 VolatileTexel = 11, 407 VolatileTexelKHR = 11, 408 SignExtend = 12, 409 ZeroExtend = 13, 410 Nontemporal = 14, 411 Offsets = 16, 412 Max = 0x7fffffff, 413}; 414 415enum class ImageOperandsMask : unsigned { 416 MaskNone = 0, 417 Bias = 0x00000001, 418 Lod = 0x00000002, 419 Grad = 0x00000004, 420 ConstOffset = 0x00000008, 421 Offset = 0x00000010, 422 ConstOffsets = 0x00000020, 423 Sample = 0x00000040, 424 MinLod = 0x00000080, 425 MakeTexelAvailable = 0x00000100, 426 MakeTexelAvailableKHR = 0x00000100, 427 MakeTexelVisible = 0x00000200, 428 MakeTexelVisibleKHR = 0x00000200, 429 NonPrivateTexel = 0x00000400, 430 NonPrivateTexelKHR = 0x00000400, 431 VolatileTexel = 0x00000800, 432 VolatileTexelKHR = 0x00000800, 433 SignExtend = 0x00001000, 434 ZeroExtend = 0x00002000, 435 Nontemporal = 0x00004000, 436 Offsets = 0x00010000, 437}; 438 439enum class FPFastMathModeShift : unsigned { 440 NotNaN = 0, 441 NotInf = 1, 442 NSZ = 2, 443 AllowRecip = 3, 444 Fast = 4, 445 AllowContract = 16, 446 AllowContractFastINTEL = 16, 447 AllowReassoc = 17, 448 AllowReassocINTEL = 17, 449 AllowTransform = 18, 450 Max = 0x7fffffff, 451}; 452 453enum class FPFastMathModeMask : unsigned { 454 MaskNone = 0, 455 NotNaN = 0x00000001, 456 NotInf = 0x00000002, 457 NSZ = 0x00000004, 458 AllowRecip = 0x00000008, 459 Fast = 0x00000010, 460 AllowContract = 0x00010000, 461 AllowContractFastINTEL = 0x00010000, 462 AllowReassoc = 0x00020000, 463 AllowReassocINTEL = 0x00020000, 464 AllowTransform = 0x00040000, 465}; 466 467enum class FPRoundingMode : unsigned { 468 RTE = 0, 469 RTZ = 1, 470 RTP = 2, 471 RTN = 3, 472 Max = 0x7fffffff, 473}; 474 475enum class LinkageType : unsigned { 476 Export = 0, 477 Import = 1, 478 LinkOnceODR = 2, 479 WeakAMD = 3, 480 Max = 0x7fffffff, 481}; 482 483enum class AccessQualifier : unsigned { 484 ReadOnly = 0, 485 WriteOnly = 1, 486 ReadWrite = 2, 487 Max = 0x7fffffff, 488}; 489 490enum class FunctionParameterAttribute : unsigned { 491 Zext = 0, 492 Sext = 1, 493 ByVal = 2, 494 Sret = 3, 495 NoAlias = 4, 496 NoCapture = 5, 497 NoWrite = 6, 498 NoReadWrite = 7, 499 RuntimeAlignedALTERA = 5940, 500 RuntimeAlignedINTEL = 5940, 501 Max = 0x7fffffff, 502}; 503 504enum class Decoration : unsigned { 505 RelaxedPrecision = 0, 506 SpecId = 1, 507 Block = 2, 508 BufferBlock = 3, 509 RowMajor = 4, 510 ColMajor = 5, 511 ArrayStride = 6, 512 MatrixStride = 7, 513 GLSLShared = 8, 514 GLSLPacked = 9, 515 CPacked = 10, 516 BuiltIn = 11, 517 NoPerspective = 13, 518 Flat = 14, 519 Patch = 15, 520 Centroid = 16, 521 Sample = 17, 522 Invariant = 18, 523 Restrict = 19, 524 Aliased = 20, 525 Volatile = 21, 526 Constant = 22, 527 Coherent = 23, 528 NonWritable = 24, 529 NonReadable = 25, 530 Uniform = 26, 531 UniformId = 27, 532 SaturatedConversion = 28, 533 Stream = 29, 534 Location = 30, 535 Component = 31, 536 Index = 32, 537 Binding = 33, 538 DescriptorSet = 34, 539 Offset = 35, 540 XfbBuffer = 36, 541 XfbStride = 37, 542 FuncParamAttr = 38, 543 FPRoundingMode = 39, 544 FPFastMathMode = 40, 545 LinkageAttributes = 41, 546 NoContraction = 42, 547 InputAttachmentIndex = 43, 548 Alignment = 44, 549 MaxByteOffset = 45, 550 AlignmentId = 46, 551 MaxByteOffsetId = 47, 552 SaturatedToLargestFloat8NormalConversionEXT = 4216, 553 NoSignedWrap = 4469, 554 NoUnsignedWrap = 4470, 555 WeightTextureQCOM = 4487, 556 BlockMatchTextureQCOM = 4488, 557 BlockMatchSamplerQCOM = 4499, 558 ExplicitInterpAMD = 4999, 559 NodeSharesPayloadLimitsWithAMDX = 5019, 560 NodeMaxPayloadsAMDX = 5020, 561 TrackFinishWritingAMDX = 5078, 562 PayloadNodeNameAMDX = 5091, 563 PayloadNodeBaseIndexAMDX = 5098, 564 PayloadNodeSparseArrayAMDX = 5099, 565 PayloadNodeArraySizeAMDX = 5100, 566 PayloadDispatchIndirectAMDX = 5105, 567 ArrayStrideIdEXT = 5124, 568 OffsetIdEXT = 5125, 569 UTFEncodedKHR = 5145, 570 OverrideCoverageNV = 5248, 571 PassthroughNV = 5250, 572 ViewportRelativeNV = 5252, 573 SecondaryViewportRelativeNV = 5256, 574 PerPrimitiveEXT = 5271, 575 PerPrimitiveNV = 5271, 576 PerViewNV = 5272, 577 PerTaskNV = 5273, 578 PerVertexKHR = 5285, 579 PerVertexNV = 5285, 580 NonUniform = 5300, 581 NonUniformEXT = 5300, 582 RestrictPointer = 5355, 583 RestrictPointerEXT = 5355, 584 AliasedPointer = 5356, 585 AliasedPointerEXT = 5356, 586 MemberOffsetNV = 5358, 587 HitObjectShaderRecordBufferNV = 5386, 588 HitObjectShaderRecordBufferEXT = 5389, 589 BankNV = 5397, 590 BindlessSamplerNV = 5398, 591 BindlessImageNV = 5399, 592 BoundSamplerNV = 5400, 593 BoundImageNV = 5401, 594 CooperativeMatrixTransposeEXT = 5440, 595 SIMTCallINTEL = 5599, 596 ReferencedIndirectlyINTEL = 5602, 597 ClobberINTEL = 5607, 598 SideEffectsINTEL = 5608, 599 VectorComputeVariableINTEL = 5624, 600 FuncParamIOKindINTEL = 5625, 601 VectorComputeFunctionINTEL = 5626, 602 StackCallINTEL = 5627, 603 GlobalVariableOffsetINTEL = 5628, 604 CounterBuffer = 5634, 605 HlslCounterBufferGOOGLE = 5634, 606 HlslSemanticGOOGLE = 5635, 607 UserSemantic = 5635, 608 UserTypeGOOGLE = 5636, 609 FunctionRoundingModeINTEL = 5822, 610 FunctionDenormModeINTEL = 5823, 611 RegisterALTERA = 5825, 612 RegisterINTEL = 5825, 613 MemoryALTERA = 5826, 614 MemoryINTEL = 5826, 615 NumbanksALTERA = 5827, 616 NumbanksINTEL = 5827, 617 BankwidthALTERA = 5828, 618 BankwidthINTEL = 5828, 619 MaxPrivateCopiesALTERA = 5829, 620 MaxPrivateCopiesINTEL = 5829, 621 SinglepumpALTERA = 5830, 622 SinglepumpINTEL = 5830, 623 DoublepumpALTERA = 5831, 624 DoublepumpINTEL = 5831, 625 MaxReplicatesALTERA = 5832, 626 MaxReplicatesINTEL = 5832, 627 SimpleDualPortALTERA = 5833, 628 SimpleDualPortINTEL = 5833, 629 MergeALTERA = 5834, 630 MergeINTEL = 5834, 631 BankBitsALTERA = 5835, 632 BankBitsINTEL = 5835, 633 ForcePow2DepthALTERA = 5836, 634 ForcePow2DepthINTEL = 5836, 635 StridesizeALTERA = 5883, 636 StridesizeINTEL = 5883, 637 WordsizeALTERA = 5884, 638 WordsizeINTEL = 5884, 639 TrueDualPortALTERA = 5885, 640 TrueDualPortINTEL = 5885, 641 BurstCoalesceALTERA = 5899, 642 BurstCoalesceINTEL = 5899, 643 CacheSizeALTERA = 5900, 644 CacheSizeINTEL = 5900, 645 DontStaticallyCoalesceALTERA = 5901, 646 DontStaticallyCoalesceINTEL = 5901, 647 PrefetchALTERA = 5902, 648 PrefetchINTEL = 5902, 649 StallEnableALTERA = 5905, 650 StallEnableINTEL = 5905, 651 FuseLoopsInFunctionALTERA = 5907, 652 FuseLoopsInFunctionINTEL = 5907, 653 MathOpDSPModeALTERA = 5909, 654 MathOpDSPModeINTEL = 5909, 655 AliasScopeINTEL = 5914, 656 NoAliasINTEL = 5915, 657 InitiationIntervalALTERA = 5917, 658 InitiationIntervalINTEL = 5917, 659 MaxConcurrencyALTERA = 5918, 660 MaxConcurrencyINTEL = 5918, 661 PipelineEnableALTERA = 5919, 662 PipelineEnableINTEL = 5919, 663 BufferLocationALTERA = 5921, 664 BufferLocationINTEL = 5921, 665 IOPipeStorageALTERA = 5944, 666 IOPipeStorageINTEL = 5944, 667 FunctionFloatingPointModeINTEL = 6080, 668 SingleElementVectorINTEL = 6085, 669 VectorComputeCallableFunctionINTEL = 6087, 670 MediaBlockIOINTEL = 6140, 671 StallFreeALTERA = 6151, 672 StallFreeINTEL = 6151, 673 FPMaxErrorDecorationINTEL = 6170, 674 LatencyControlLabelALTERA = 6172, 675 LatencyControlLabelINTEL = 6172, 676 LatencyControlConstraintALTERA = 6173, 677 LatencyControlConstraintINTEL = 6173, 678 ConduitKernelArgumentALTERA = 6175, 679 ConduitKernelArgumentINTEL = 6175, 680 RegisterMapKernelArgumentALTERA = 6176, 681 RegisterMapKernelArgumentINTEL = 6176, 682 MMHostInterfaceAddressWidthALTERA = 6177, 683 MMHostInterfaceAddressWidthINTEL = 6177, 684 MMHostInterfaceDataWidthALTERA = 6178, 685 MMHostInterfaceDataWidthINTEL = 6178, 686 MMHostInterfaceLatencyALTERA = 6179, 687 MMHostInterfaceLatencyINTEL = 6179, 688 MMHostInterfaceReadWriteModeALTERA = 6180, 689 MMHostInterfaceReadWriteModeINTEL = 6180, 690 MMHostInterfaceMaxBurstALTERA = 6181, 691 MMHostInterfaceMaxBurstINTEL = 6181, 692 MMHostInterfaceWaitRequestALTERA = 6182, 693 MMHostInterfaceWaitRequestINTEL = 6182, 694 StableKernelArgumentALTERA = 6183, 695 StableKernelArgumentINTEL = 6183, 696 HostAccessINTEL = 6188, 697 InitModeALTERA = 6190, 698 InitModeINTEL = 6190, 699 ImplementInRegisterMapALTERA = 6191, 700 ImplementInRegisterMapINTEL = 6191, 701 ConditionalINTEL = 6247, 702 CacheControlLoadINTEL = 6442, 703 CacheControlStoreINTEL = 6443, 704 IntrinsicSAMSUNG = 7040, 705 Max = 0x7fffffff, 706}; 707 708enum class BuiltIn : unsigned { 709 Position = 0, 710 PointSize = 1, 711 ClipDistance = 3, 712 CullDistance = 4, 713 VertexId = 5, 714 InstanceId = 6, 715 PrimitiveId = 7, 716 InvocationId = 8, 717 Layer = 9, 718 ViewportIndex = 10, 719 TessLevelOuter = 11, 720 TessLevelInner = 12, 721 TessCoord = 13, 722 PatchVertices = 14, 723 FragCoord = 15, 724 PointCoord = 16, 725 FrontFacing = 17, 726 SampleId = 18, 727 SamplePosition = 19, 728 SampleMask = 20, 729 FragDepth = 22, 730 HelperInvocation = 23, 731 NumWorkgroups = 24, 732 WorkgroupSize = 25, 733 WorkgroupId = 26, 734 LocalInvocationId = 27, 735 GlobalInvocationId = 28, 736 LocalInvocationIndex = 29, 737 WorkDim = 30, 738 GlobalSize = 31, 739 EnqueuedWorkgroupSize = 32, 740 GlobalOffset = 33, 741 GlobalLinearId = 34, 742 SubgroupSize = 36, 743 SubgroupMaxSize = 37, 744 NumSubgroups = 38, 745 NumEnqueuedSubgroups = 39, 746 SubgroupId = 40, 747 SubgroupLocalInvocationId = 41, 748 VertexIndex = 42, 749 InstanceIndex = 43, 750 CoreIDARM = 4160, 751 CoreCountARM = 4161, 752 CoreMaxIDARM = 4162, 753 WarpIDARM = 4163, 754 WarpMaxIDARM = 4164, 755 SubgroupEqMask = 4416, 756 SubgroupEqMaskKHR = 4416, 757 SubgroupGeMask = 4417, 758 SubgroupGeMaskKHR = 4417, 759 SubgroupGtMask = 4418, 760 SubgroupGtMaskKHR = 4418, 761 SubgroupLeMask = 4419, 762 SubgroupLeMaskKHR = 4419, 763 SubgroupLtMask = 4420, 764 SubgroupLtMaskKHR = 4420, 765 BaseVertex = 4424, 766 BaseInstance = 4425, 767 DrawIndex = 4426, 768 PrimitiveShadingRateKHR = 4432, 769 DeviceIndex = 4438, 770 ViewIndex = 4440, 771 ShadingRateKHR = 4444, 772 TileOffsetQCOM = 4492, 773 TileDimensionQCOM = 4493, 774 TileApronSizeQCOM = 4494, 775 BaryCoordNoPerspAMD = 4992, 776 BaryCoordNoPerspCentroidAMD = 4993, 777 BaryCoordNoPerspSampleAMD = 4994, 778 BaryCoordSmoothAMD = 4995, 779 BaryCoordSmoothCentroidAMD = 4996, 780 BaryCoordSmoothSampleAMD = 4997, 781 BaryCoordPullModelAMD = 4998, 782 FragStencilRefEXT = 5014, 783 RemainingRecursionLevelsAMDX = 5021, 784 ShaderIndexAMDX = 5073, 785 SamplerHeapEXT = 5122, 786 ResourceHeapEXT = 5123, 787 ViewportMaskNV = 5253, 788 SecondaryPositionNV = 5257, 789 SecondaryViewportMaskNV = 5258, 790 PositionPerViewNV = 5261, 791 ViewportMaskPerViewNV = 5262, 792 FullyCoveredEXT = 5264, 793 TaskCountNV = 5274, 794 PrimitiveCountNV = 5275, 795 PrimitiveIndicesNV = 5276, 796 ClipDistancePerViewNV = 5277, 797 CullDistancePerViewNV = 5278, 798 LayerPerViewNV = 5279, 799 MeshViewCountNV = 5280, 800 MeshViewIndicesNV = 5281, 801 BaryCoordKHR = 5286, 802 BaryCoordNV = 5286, 803 BaryCoordNoPerspKHR = 5287, 804 BaryCoordNoPerspNV = 5287, 805 FragSizeEXT = 5292, 806 FragmentSizeNV = 5292, 807 FragInvocationCountEXT = 5293, 808 InvocationsPerPixelNV = 5293, 809 PrimitivePointIndicesEXT = 5294, 810 PrimitiveLineIndicesEXT = 5295, 811 PrimitiveTriangleIndicesEXT = 5296, 812 CullPrimitiveEXT = 5299, 813 LaunchIdKHR = 5319, 814 LaunchIdNV = 5319, 815 LaunchSizeKHR = 5320, 816 LaunchSizeNV = 5320, 817 WorldRayOriginKHR = 5321, 818 WorldRayOriginNV = 5321, 819 WorldRayDirectionKHR = 5322, 820 WorldRayDirectionNV = 5322, 821 ObjectRayOriginKHR = 5323, 822 ObjectRayOriginNV = 5323, 823 ObjectRayDirectionKHR = 5324, 824 ObjectRayDirectionNV = 5324, 825 RayTminKHR = 5325, 826 RayTminNV = 5325, 827 RayTmaxKHR = 5326, 828 RayTmaxNV = 5326, 829 InstanceCustomIndexKHR = 5327, 830 InstanceCustomIndexNV = 5327, 831 ObjectToWorldKHR = 5330, 832 ObjectToWorldNV = 5330, 833 WorldToObjectKHR = 5331, 834 WorldToObjectNV = 5331, 835 HitTNV = 5332, 836 HitKindKHR = 5333, 837 HitKindNV = 5333, 838 CurrentRayTimeNV = 5334, 839 HitTriangleVertexPositionsKHR = 5335, 840 HitMicroTriangleVertexPositionsNV = 5337, 841 HitMicroTriangleVertexBarycentricsNV = 5344, 842 IncomingRayFlagsKHR = 5351, 843 IncomingRayFlagsNV = 5351, 844 RayGeometryIndexKHR = 5352, 845 HitIsSphereNV = 5359, 846 HitIsLSSNV = 5360, 847 HitSpherePositionNV = 5361, 848 WarpsPerSMNV = 5374, 849 SMCountNV = 5375, 850 WarpIDNV = 5376, 851 SMIDNV = 5377, 852 HitLSSPositionsNV = 5396, 853 HitKindFrontFacingMicroTriangleNV = 5405, 854 HitKindBackFacingMicroTriangleNV = 5406, 855 HitSphereRadiusNV = 5420, 856 HitLSSRadiiNV = 5421, 857 ClusterIDNV = 5436, 858 CullMaskKHR = 6021, 859 Max = 0x7fffffff, 860}; 861 862enum class SelectionControlShift : unsigned { 863 Flatten = 0, 864 DontFlatten = 1, 865 Max = 0x7fffffff, 866}; 867 868enum class SelectionControlMask : unsigned { 869 MaskNone = 0, 870 Flatten = 0x00000001, 871 DontFlatten = 0x00000002, 872}; 873 874enum class LoopControlShift : unsigned { 875 Unroll = 0, 876 DontUnroll = 1, 877 DependencyInfinite = 2, 878 DependencyLength = 3, 879 MinIterations = 4, 880 MaxIterations = 5, 881 IterationMultiple = 6, 882 PeelCount = 7, 883 PartialCount = 8, 884 InitiationIntervalALTERA = 16, 885 InitiationIntervalINTEL = 16, 886 MaxConcurrencyALTERA = 17, 887 MaxConcurrencyINTEL = 17, 888 DependencyArrayALTERA = 18, 889 DependencyArrayINTEL = 18, 890 PipelineEnableALTERA = 19, 891 PipelineEnableINTEL = 19, 892 LoopCoalesceALTERA = 20, 893 LoopCoalesceINTEL = 20, 894 MaxInterleavingALTERA = 21, 895 MaxInterleavingINTEL = 21, 896 SpeculatedIterationsALTERA = 22, 897 SpeculatedIterationsINTEL = 22, 898 NoFusionALTERA = 23, 899 NoFusionINTEL = 23, 900 LoopCountALTERA = 24, 901 LoopCountINTEL = 24, 902 MaxReinvocationDelayALTERA = 25, 903 MaxReinvocationDelayINTEL = 25, 904 MultipleWaitQueuesQCOM = 28, 905 Max = 0x7fffffff, 906}; 907 908enum class LoopControlMask : unsigned { 909 MaskNone = 0, 910 Unroll = 0x00000001, 911 DontUnroll = 0x00000002, 912 DependencyInfinite = 0x00000004, 913 DependencyLength = 0x00000008, 914 MinIterations = 0x00000010, 915 MaxIterations = 0x00000020, 916 IterationMultiple = 0x00000040, 917 PeelCount = 0x00000080, 918 PartialCount = 0x00000100, 919 InitiationIntervalALTERA = 0x00010000, 920 InitiationIntervalINTEL = 0x00010000, 921 MaxConcurrencyALTERA = 0x00020000, 922 MaxConcurrencyINTEL = 0x00020000, 923 DependencyArrayALTERA = 0x00040000, 924 DependencyArrayINTEL = 0x00040000, 925 PipelineEnableALTERA = 0x00080000, 926 PipelineEnableINTEL = 0x00080000, 927 LoopCoalesceALTERA = 0x00100000, 928 LoopCoalesceINTEL = 0x00100000, 929 MaxInterleavingALTERA = 0x00200000, 930 MaxInterleavingINTEL = 0x00200000, 931 SpeculatedIterationsALTERA = 0x00400000, 932 SpeculatedIterationsINTEL = 0x00400000, 933 NoFusionALTERA = 0x00800000, 934 NoFusionINTEL = 0x00800000, 935 LoopCountALTERA = 0x01000000, 936 LoopCountINTEL = 0x01000000, 937 MaxReinvocationDelayALTERA = 0x02000000, 938 MaxReinvocationDelayINTEL = 0x02000000, 939 MultipleWaitQueuesQCOM = 0x10000000, 940}; 941 942enum class FunctionControlShift : unsigned { 943 Inline = 0, 944 DontInline = 1, 945 Pure = 2, 946 Const = 3, 947 OptNoneEXT = 16, 948 OptNoneINTEL = 16, 949 Max = 0x7fffffff, 950}; 951 952enum class FunctionControlMask : unsigned { 953 MaskNone = 0, 954 Inline = 0x00000001, 955 DontInline = 0x00000002, 956 Pure = 0x00000004, 957 Const = 0x00000008, 958 OptNoneEXT = 0x00010000, 959 OptNoneINTEL = 0x00010000, 960}; 961 962enum class MemorySemanticsShift : unsigned { 963 Acquire = 1, 964 Release = 2, 965 AcquireRelease = 3, 966 SequentiallyConsistent = 4, 967 UniformMemory = 6, 968 SubgroupMemory = 7, 969 WorkgroupMemory = 8, 970 CrossWorkgroupMemory = 9, 971 AtomicCounterMemory = 10, 972 ImageMemory = 11, 973 OutputMemory = 12, 974 OutputMemoryKHR = 12, 975 MakeAvailable = 13, 976 MakeAvailableKHR = 13, 977 MakeVisible = 14, 978 MakeVisibleKHR = 14, 979 Volatile = 15, 980 Max = 0x7fffffff, 981}; 982 983enum class MemorySemanticsMask : unsigned { 984 MaskNone = 0, 985 Acquire = 0x00000002, 986 Release = 0x00000004, 987 AcquireRelease = 0x00000008, 988 SequentiallyConsistent = 0x00000010, 989 UniformMemory = 0x00000040, 990 SubgroupMemory = 0x00000080, 991 WorkgroupMemory = 0x00000100, 992 CrossWorkgroupMemory = 0x00000200, 993 AtomicCounterMemory = 0x00000400, 994 ImageMemory = 0x00000800, 995 OutputMemory = 0x00001000, 996 OutputMemoryKHR = 0x00001000, 997 MakeAvailable = 0x00002000, 998 MakeAvailableKHR = 0x00002000, 999 MakeVisible = 0x00004000, 1000 MakeVisibleKHR = 0x00004000, 1001 Volatile = 0x00008000, 1002}; 1003 1004enum class MemoryAccessShift : unsigned { 1005 Volatile = 0, 1006 Aligned = 1, 1007 Nontemporal = 2, 1008 MakePointerAvailable = 3, 1009 MakePointerAvailableKHR = 3, 1010 MakePointerVisible = 4, 1011 MakePointerVisibleKHR = 4, 1012 NonPrivatePointer = 5, 1013 NonPrivatePointerKHR = 5, 1014 AliasScopeINTELMask = 16, 1015 NoAliasINTELMask = 17, 1016 Max = 0x7fffffff, 1017}; 1018 1019enum class MemoryAccessMask : unsigned { 1020 MaskNone = 0, 1021 Volatile = 0x00000001, 1022 Aligned = 0x00000002, 1023 Nontemporal = 0x00000004, 1024 MakePointerAvailable = 0x00000008, 1025 MakePointerAvailableKHR = 0x00000008, 1026 MakePointerVisible = 0x00000010, 1027 MakePointerVisibleKHR = 0x00000010, 1028 NonPrivatePointer = 0x00000020, 1029 NonPrivatePointerKHR = 0x00000020, 1030 AliasScopeINTELMask = 0x00010000, 1031 NoAliasINTELMask = 0x00020000, 1032}; 1033 1034enum class Scope : unsigned { 1035 CrossDevice = 0, 1036 Device = 1, 1037 Workgroup = 2, 1038 Subgroup = 3, 1039 Invocation = 4, 1040 QueueFamily = 5, 1041 QueueFamilyKHR = 5, 1042 ShaderCallKHR = 6, 1043 Max = 0x7fffffff, 1044}; 1045 1046enum class GroupOperation : unsigned { 1047 Reduce = 0, 1048 InclusiveScan = 1, 1049 ExclusiveScan = 2, 1050 ClusteredReduce = 3, 1051 PartitionedReduceEXT = 6, 1052 PartitionedReduceNV = 6, 1053 PartitionedInclusiveScanEXT = 7, 1054 PartitionedInclusiveScanNV = 7, 1055 PartitionedExclusiveScanEXT = 8, 1056 PartitionedExclusiveScanNV = 8, 1057 Max = 0x7fffffff, 1058}; 1059 1060enum class KernelEnqueueFlags : unsigned { 1061 NoWait = 0, 1062 WaitKernel = 1, 1063 WaitWorkGroup = 2, 1064 Max = 0x7fffffff, 1065}; 1066 1067enum class KernelProfilingInfoShift : unsigned { 1068 CmdExecTime = 0, 1069 Max = 0x7fffffff, 1070}; 1071 1072enum class KernelProfilingInfoMask : unsigned { 1073 MaskNone = 0, 1074 CmdExecTime = 0x00000001, 1075}; 1076 1077enum class Capability : unsigned { 1078 Matrix = 0, 1079 Shader = 1, 1080 Geometry = 2, 1081 Tessellation = 3, 1082 Addresses = 4, 1083 Linkage = 5, 1084 Kernel = 6, 1085 Vector16 = 7, 1086 Float16Buffer = 8, 1087 Float16 = 9, 1088 Float64 = 10, 1089 Int64 = 11, 1090 Int64Atomics = 12, 1091 ImageBasic = 13, 1092 ImageReadWrite = 14, 1093 ImageMipmap = 15, 1094 Pipes = 17, 1095 Groups = 18, 1096 DeviceEnqueue = 19, 1097 LiteralSampler = 20, 1098 AtomicStorage = 21, 1099 Int16 = 22, 1100 TessellationPointSize = 23, 1101 GeometryPointSize = 24, 1102 ImageGatherExtended = 25, 1103 StorageImageMultisample = 27, 1104 UniformBufferArrayDynamicIndexing = 28, 1105 SampledImageArrayDynamicIndexing = 29, 1106 StorageBufferArrayDynamicIndexing = 30, 1107 StorageImageArrayDynamicIndexing = 31, 1108 ClipDistance = 32, 1109 CullDistance = 33, 1110 ImageCubeArray = 34, 1111 SampleRateShading = 35, 1112 ImageRect = 36, 1113 SampledRect = 37, 1114 GenericPointer = 38, 1115 Int8 = 39, 1116 InputAttachment = 40, 1117 SparseResidency = 41, 1118 MinLod = 42, 1119 Sampled1D = 43, 1120 Image1D = 44, 1121 SampledCubeArray = 45, 1122 SampledBuffer = 46, 1123 ImageBuffer = 47, 1124 ImageMSArray = 48, 1125 StorageImageExtendedFormats = 49, 1126 ImageQuery = 50, 1127 DerivativeControl = 51, 1128 InterpolationFunction = 52, 1129 TransformFeedback = 53, 1130 GeometryStreams = 54, 1131 StorageImageReadWithoutFormat = 55, 1132 StorageImageWriteWithoutFormat = 56, 1133 MultiViewport = 57, 1134 SubgroupDispatch = 58, 1135 NamedBarrier = 59, 1136 PipeStorage = 60, 1137 GroupNonUniform = 61, 1138 GroupNonUniformVote = 62, 1139 GroupNonUniformArithmetic = 63, 1140 GroupNonUniformBallot = 64, 1141 GroupNonUniformShuffle = 65, 1142 GroupNonUniformShuffleRelative = 66, 1143 GroupNonUniformClustered = 67, 1144 GroupNonUniformQuad = 68, 1145 ShaderLayer = 69, 1146 ShaderViewportIndex = 70, 1147 UniformDecoration = 71, 1148 CoreBuiltinsARM = 4165, 1149 TileImageColorReadAccessEXT = 4166, 1150 TileImageDepthReadAccessEXT = 4167, 1151 TileImageStencilReadAccessEXT = 4168, 1152 TensorsARM = 4174, 1153 StorageTensorArrayDynamicIndexingARM = 4175, 1154 StorageTensorArrayNonUniformIndexingARM = 4176, 1155 GraphARM = 4191, 1156 CooperativeMatrixLayoutsARM = 4201, 1157 Float8EXT = 4212, 1158 Float8CooperativeMatrixEXT = 4213, 1159 Float6EXT = 4228, 1160 Float4EXT = 4229, 1161 Float8UnsignedE8M0EXT = 4230, 1162 MXInt8EXT = 4231, 1163 BitcastExtractEXT = 4232, 1164 FragmentShadingRateKHR = 4422, 1165 SubgroupBallotKHR = 4423, 1166 DrawParameters = 4427, 1167 WorkgroupMemoryExplicitLayoutKHR = 4428, 1168 WorkgroupMemoryExplicitLayout8BitAccessKHR = 4429, 1169 WorkgroupMemoryExplicitLayout16BitAccessKHR = 4430, 1170 SubgroupVoteKHR = 4431, 1171 StorageBuffer16BitAccess = 4433, 1172 StorageUniformBufferBlock16 = 4433, 1173 StorageUniform16 = 4434, 1174 UniformAndStorageBuffer16BitAccess = 4434, 1175 StoragePushConstant16 = 4435, 1176 StorageInputOutput16 = 4436, 1177 DeviceGroup = 4437, 1178 MultiView = 4439, 1179 VariablePointersStorageBuffer = 4441, 1180 VariablePointers = 4442, 1181 AtomicStorageOps = 4445, 1182 SampleMaskPostDepthCoverage = 4447, 1183 StorageBuffer8BitAccess = 4448, 1184 UniformAndStorageBuffer8BitAccess = 4449, 1185 StoragePushConstant8 = 4450, 1186 DenormPreserve = 4464, 1187 DenormFlushToZero = 4465, 1188 SignedZeroInfNanPreserve = 4466, 1189 RoundingModeRTE = 4467, 1190 RoundingModeRTZ = 4468, 1191 RayQueryProvisionalKHR = 4471, 1192 RayQueryKHR = 4472, 1193 UntypedPointersKHR = 4473, 1194 RayTraversalPrimitiveCullingKHR = 4478, 1195 RayTracingKHR = 4479, 1196 TextureSampleWeightedQCOM = 4484, 1197 TextureBoxFilterQCOM = 4485, 1198 TextureBlockMatchQCOM = 4486, 1199 TileShadingQCOM = 4495, 1200 CooperativeMatrixConversionQCOM = 4496, 1201 TextureBlockMatch2QCOM = 4498, 1202 MultipleWaitQueuesQCOM = 4539, 1203 ImageGatherLinearQCOM = 4543, 1204 ImageGatherExtendedModesQCOM = 4544, 1205 Float16ImageAMD = 5008, 1206 ImageGatherBiasLodAMD = 5009, 1207 FragmentMaskAMD = 5010, 1208 StencilExportEXT = 5013, 1209 ImageReadWriteLodAMD = 5015, 1210 Int64ImageEXT = 5016, 1211 ShaderClockKHR = 5055, 1212 ShaderEnqueueAMDX = 5067, 1213 QuadControlKHR = 5087, 1214 Int4TypeINTEL = 5112, 1215 Int4CooperativeMatrixINTEL = 5114, 1216 BFloat16TypeKHR = 5116, 1217 BFloat16DotProductKHR = 5117, 1218 BFloat16CooperativeMatrixKHR = 5118, 1219 AbortKHR = 5120, 1220 DescriptorHeapEXT = 5128, 1221 ConstantDataKHR = 5146, 1222 PoisonFreezeKHR = 5156, 1223 WeakLinkageAMD = 5181, 1224 SampleMaskOverrideCoverageNV = 5249, 1225 GeometryShaderPassthroughNV = 5251, 1226 ShaderViewportIndexLayerEXT = 5254, 1227 ShaderViewportIndexLayerNV = 5254, 1228 ShaderViewportMaskNV = 5255, 1229 ShaderStereoViewNV = 5259, 1230 PerViewAttributesNV = 5260, 1231 FragmentFullyCoveredEXT = 5265, 1232 MeshShadingNV = 5266, 1233 ImageFootprintNV = 5282, 1234 MeshShadingEXT = 5283, 1235 FragmentBarycentricKHR = 5284, 1236 FragmentBarycentricNV = 5284, 1237 ComputeDerivativeGroupQuadsKHR = 5288, 1238 ComputeDerivativeGroupQuadsNV = 5288, 1239 FragmentDensityEXT = 5291, 1240 ShadingRateNV = 5291, 1241 GroupNonUniformPartitionedEXT = 5297, 1242 GroupNonUniformPartitionedNV = 5297, 1243 ShaderNonUniform = 5301, 1244 ShaderNonUniformEXT = 5301, 1245 RuntimeDescriptorArray = 5302, 1246 RuntimeDescriptorArrayEXT = 5302, 1247 InputAttachmentArrayDynamicIndexing = 5303, 1248 InputAttachmentArrayDynamicIndexingEXT = 5303, 1249 UniformTexelBufferArrayDynamicIndexing = 5304, 1250 UniformTexelBufferArrayDynamicIndexingEXT = 5304, 1251 StorageTexelBufferArrayDynamicIndexing = 5305, 1252 StorageTexelBufferArrayDynamicIndexingEXT = 5305, 1253 UniformBufferArrayNonUniformIndexing = 5306, 1254 UniformBufferArrayNonUniformIndexingEXT = 5306, 1255 SampledImageArrayNonUniformIndexing = 5307, 1256 SampledImageArrayNonUniformIndexingEXT = 5307, 1257 StorageBufferArrayNonUniformIndexing = 5308, 1258 StorageBufferArrayNonUniformIndexingEXT = 5308, 1259 StorageImageArrayNonUniformIndexing = 5309, 1260 StorageImageArrayNonUniformIndexingEXT = 5309, 1261 InputAttachmentArrayNonUniformIndexing = 5310, 1262 InputAttachmentArrayNonUniformIndexingEXT = 5310, 1263 UniformTexelBufferArrayNonUniformIndexing = 5311, 1264 UniformTexelBufferArrayNonUniformIndexingEXT = 5311, 1265 StorageTexelBufferArrayNonUniformIndexing = 5312, 1266 StorageTexelBufferArrayNonUniformIndexingEXT = 5312, 1267 RayTracingPositionFetchKHR = 5336, 1268 RayTracingNV = 5340, 1269 RayTracingMotionBlurNV = 5341, 1270 VulkanMemoryModel = 5345, 1271 VulkanMemoryModelKHR = 5345, 1272 VulkanMemoryModelDeviceScope = 5346, 1273 VulkanMemoryModelDeviceScopeKHR = 5346, 1274 PhysicalStorageBufferAddresses = 5347, 1275 PhysicalStorageBufferAddressesEXT = 5347, 1276 ComputeDerivativeGroupLinearKHR = 5350, 1277 ComputeDerivativeGroupLinearNV = 5350, 1278 RayTracingProvisionalKHR = 5353, 1279 CooperativeMatrixNV = 5357, 1280 FragmentShaderSampleInterlockEXT = 5363, 1281 FragmentShaderShadingRateInterlockEXT = 5372, 1282 ShaderSMBuiltinsNV = 5373, 1283 FragmentShaderPixelInterlockEXT = 5378, 1284 DemoteToHelperInvocation = 5379, 1285 DemoteToHelperInvocationEXT = 5379, 1286 DisplacementMicromapNV = 5380, 1287 RayTracingOpacityMicromapEXT = 5381, 1288 RayTracingOpacityMicromapKHR = 5381, 1289 ShaderInvocationReorderNV = 5383, 1290 ShaderInvocationReorderEXT = 5388, 1291 BindlessTextureNV = 5390, 1292 RayQueryPositionFetchKHR = 5391, 1293 CooperativeVectorNV = 5394, 1294 AtomicFloat16VectorNV = 5404, 1295 RayTracingDisplacementMicromapNV = 5409, 1296 RawAccessChainsNV = 5414, 1297 RayTracingSpheresGeometryNV = 5418, 1298 RayTracingLinearSweptSpheresGeometryNV = 5419, 1299 PushConstantBanksNV = 5423, 1300 LongVectorEXT = 5425, 1301 Shader64BitIndexingEXT = 5426, 1302 CooperativeMatrixConversionsEXT = 5429, 1303 CooperativeMatrixReductionsEXT = 5430, 1304 CooperativeMatrixReductionsNV = 5430, 1305 CooperativeMatrixConversionsNV = 5431, 1306 CooperativeMatrixPerElementOperationsEXT = 5432, 1307 CooperativeMatrixPerElementOperationsNV = 5432, 1308 CooperativeMatrixTensorAddressingNV = 5433, 1309 CooperativeMatrixBlockLoadsNV = 5434, 1310 CooperativeVectorTrainingNV = 5435, 1311 RayTracingClusterAccelerationStructureNV = 5437, 1312 CooperativeMatrixGetCoordinateEXT = 5438, 1313 TensorAddressingNV = 5439, 1314 CooperativeMatrixDecodeVectorNV = 5447, 1315 SubgroupShuffleINTEL = 5568, 1316 SubgroupBufferBlockIOINTEL = 5569, 1317 SubgroupImageBlockIOINTEL = 5570, 1318 SubgroupImageMediaBlockIOINTEL = 5579, 1319 RoundToInfinityINTEL = 5582, 1320 FloatingPointModeINTEL = 5583, 1321 IntegerFunctions2INTEL = 5584, 1322 FunctionPointersINTEL = 5603, 1323 IndirectReferencesINTEL = 5604, 1324 AsmINTEL = 5606, 1325 AtomicFloat32MinMaxEXT = 5612, 1326 AtomicFloat64MinMaxEXT = 5613, 1327 AtomicFloat16MinMaxEXT = 5616, 1328 VectorComputeINTEL = 5617, 1329 VectorAnyINTEL = 5619, 1330 ExpectAssumeKHR = 5629, 1331 SubgroupAvcMotionEstimationINTEL = 5696, 1332 SubgroupAvcMotionEstimationIntraINTEL = 5697, 1333 SubgroupAvcMotionEstimationChromaINTEL = 5698, 1334 VariableLengthArrayINTEL = 5817, 1335 FunctionFloatControlINTEL = 5821, 1336 FPGAMemoryAttributesALTERA = 5824, 1337 FPGAMemoryAttributesINTEL = 5824, 1338 FPFastMathModeINTEL = 5837, 1339 ArbitraryPrecisionIntegersALTERA = 5844, 1340 ArbitraryPrecisionIntegersINTEL = 5844, 1341 ArbitraryPrecisionFloatingPointALTERA = 5845, 1342 ArbitraryPrecisionFloatingPointINTEL = 5845, 1343 UnstructuredLoopControlsINTEL = 5886, 1344 FPGALoopControlsALTERA = 5888, 1345 FPGALoopControlsINTEL = 5888, 1346 KernelAttributesINTEL = 5892, 1347 FPGAKernelAttributesINTEL = 5897, 1348 FPGAMemoryAccessesALTERA = 5898, 1349 FPGAMemoryAccessesINTEL = 5898, 1350 FPGAClusterAttributesALTERA = 5904, 1351 FPGAClusterAttributesINTEL = 5904, 1352 LoopFuseALTERA = 5906, 1353 LoopFuseINTEL = 5906, 1354 FPGADSPControlALTERA = 5908, 1355 FPGADSPControlINTEL = 5908, 1356 MemoryAccessAliasingINTEL = 5910, 1357 FPGAInvocationPipeliningAttributesALTERA = 5916, 1358 FPGAInvocationPipeliningAttributesINTEL = 5916, 1359 FPGABufferLocationALTERA = 5920, 1360 FPGABufferLocationINTEL = 5920, 1361 ArbitraryPrecisionFixedPointALTERA = 5922, 1362 ArbitraryPrecisionFixedPointINTEL = 5922, 1363 USMStorageClassesALTERA = 5935, 1364 USMStorageClassesINTEL = 5935, 1365 RuntimeAlignedAttributeALTERA = 5939, 1366 RuntimeAlignedAttributeINTEL = 5939, 1367 IOPipesALTERA = 5943, 1368 IOPipesINTEL = 5943, 1369 BlockingPipesALTERA = 5945, 1370 BlockingPipesINTEL = 5945, 1371 FPGARegALTERA = 5948, 1372 FPGARegINTEL = 5948, 1373 DotProductInputAll = 6016, 1374 DotProductInputAllKHR = 6016, 1375 DotProductInput4x8Bit = 6017, 1376 DotProductInput4x8BitKHR = 6017, 1377 DotProductInput4x8BitPacked = 6018, 1378 DotProductInput4x8BitPackedKHR = 6018, 1379 DotProduct = 6019, 1380 DotProductKHR = 6019, 1381 RayCullMaskKHR = 6020, 1382 CooperativeMatrixKHR = 6022, 1383 ReplicatedCompositesEXT = 6024, 1384 BitInstructions = 6025, 1385 GroupNonUniformRotateKHR = 6026, 1386 FloatControls2 = 6029, 1387 FMAKHR = 6030, 1388 RayTracingOpacityMicromapExecutionModeKHR = 6032, 1389 AtomicFloat32AddEXT = 6033, 1390 AtomicFloat64AddEXT = 6034, 1391 LongCompositesINTEL = 6089, 1392 OptNoneEXT = 6094, 1393 OptNoneINTEL = 6094, 1394 AtomicFloat16AddEXT = 6095, 1395 DebugInfoModuleINTEL = 6114, 1396 BFloat16ConversionINTEL = 6115, 1397 SplitBarrierEXT = 6141, 1398 SplitBarrierINTEL = 6141, 1399 ArithmeticFenceEXT = 6144, 1400 FPGAClusterAttributesV2ALTERA = 6150, 1401 FPGAClusterAttributesV2INTEL = 6150, 1402 FPGAKernelAttributesv2INTEL = 6161, 1403 TaskSequenceALTERA = 6162, 1404 TaskSequenceINTEL = 6162, 1405 FPMaxErrorINTEL = 6169, 1406 FPGALatencyControlALTERA = 6171, 1407 FPGALatencyControlINTEL = 6171, 1408 FPGAArgumentInterfacesALTERA = 6174, 1409 FPGAArgumentInterfacesINTEL = 6174, 1410 GlobalVariableHostAccessINTEL = 6187, 1411 GlobalVariableFPGADecorationsALTERA = 6189, 1412 GlobalVariableFPGADecorationsINTEL = 6189, 1413 SubgroupBufferPrefetchINTEL = 6220, 1414 Subgroup2DBlockIOINTEL = 6228, 1415 Subgroup2DBlockTransformINTEL = 6229, 1416 Subgroup2DBlockTransposeINTEL = 6230, 1417 SubgroupMatrixMultiplyAccumulateINTEL = 6236, 1418 TernaryBitwiseFunctionINTEL = 6241, 1419 UntypedVariableLengthArrayINTEL = 6243, 1420 SpecConditionalINTEL = 6245, 1421 FunctionVariantsINTEL = 6246, 1422 PredicatedIOINTEL = 6257, 1423 RoundedDivideSqrtINTEL = 6265, 1424 GroupUniformArithmeticKHR = 6400, 1425 TensorFloat32RoundingINTEL = 6425, 1426 MaskedGatherScatterINTEL = 6427, 1427 CacheControlsINTEL = 6441, 1428 RegisterLimitsINTEL = 6460, 1429 BindlessImagesINTEL = 6528, 1430 DotProductFloat16AccFloat32VALVE = 6912, 1431 DotProductFloat16AccFloat16VALVE = 6913, 1432 DotProductBFloat16AccVALVE = 6914, 1433 DotProductFloat8AccFloat32VALVE = 6915, 1434 IntrinsicSAMSUNG = 7041, 1435 Max = 0x7fffffff, 1436}; 1437 1438enum class RayFlagsShift : unsigned { 1439 OpaqueKHR = 0, 1440 NoOpaqueKHR = 1, 1441 TerminateOnFirstHitKHR = 2, 1442 SkipClosestHitShaderKHR = 3, 1443 CullBackFacingTrianglesKHR = 4, 1444 CullFrontFacingTrianglesKHR = 5, 1445 CullOpaqueKHR = 6, 1446 CullNoOpaqueKHR = 7, 1447 SkipBuiltinPrimitivesNV = 8, 1448 SkipTrianglesKHR = 8, 1449 SkipAABBsKHR = 9, 1450 ForceOpacityMicromap2StateEXT = 10, 1451 ForceOpacityMicromap2StateKHR = 10, 1452 Max = 0x7fffffff, 1453}; 1454 1455enum class RayFlagsMask : unsigned { 1456 MaskNone = 0, 1457 OpaqueKHR = 0x00000001, 1458 NoOpaqueKHR = 0x00000002, 1459 TerminateOnFirstHitKHR = 0x00000004, 1460 SkipClosestHitShaderKHR = 0x00000008, 1461 CullBackFacingTrianglesKHR = 0x00000010, 1462 CullFrontFacingTrianglesKHR = 0x00000020, 1463 CullOpaqueKHR = 0x00000040, 1464 CullNoOpaqueKHR = 0x00000080, 1465 SkipBuiltinPrimitivesNV = 0x00000100, 1466 SkipTrianglesKHR = 0x00000100, 1467 SkipAABBsKHR = 0x00000200, 1468 ForceOpacityMicromap2StateEXT = 0x00000400, 1469 ForceOpacityMicromap2StateKHR = 0x00000400, 1470}; 1471 1472enum class RayQueryIntersection : unsigned { 1473 RayQueryCandidateIntersectionKHR = 0, 1474 RayQueryCommittedIntersectionKHR = 1, 1475 Max = 0x7fffffff, 1476}; 1477 1478enum class RayQueryCommittedIntersectionType : unsigned { 1479 RayQueryCommittedIntersectionNoneKHR = 0, 1480 RayQueryCommittedIntersectionTriangleKHR = 1, 1481 RayQueryCommittedIntersectionGeneratedKHR = 2, 1482 Max = 0x7fffffff, 1483}; 1484 1485enum class RayQueryCandidateIntersectionType : unsigned { 1486 RayQueryCandidateIntersectionTriangleKHR = 0, 1487 RayQueryCandidateIntersectionAABBKHR = 1, 1488 Max = 0x7fffffff, 1489}; 1490 1491enum class FragmentShadingRateShift : unsigned { 1492 Vertical2Pixels = 0, 1493 Vertical4Pixels = 1, 1494 Horizontal2Pixels = 2, 1495 Horizontal4Pixels = 3, 1496 Max = 0x7fffffff, 1497}; 1498 1499enum class FragmentShadingRateMask : unsigned { 1500 MaskNone = 0, 1501 Vertical2Pixels = 0x00000001, 1502 Vertical4Pixels = 0x00000002, 1503 Horizontal2Pixels = 0x00000004, 1504 Horizontal4Pixels = 0x00000008, 1505}; 1506 1507enum class FPDenormMode : unsigned { 1508 Preserve = 0, 1509 FlushToZero = 1, 1510 Max = 0x7fffffff, 1511}; 1512 1513enum class FPOperationMode : unsigned { 1514 IEEE = 0, 1515 ALT = 1, 1516 Max = 0x7fffffff, 1517}; 1518 1519enum class QuantizationModes : unsigned { 1520 TRN = 0, 1521 TRN_ZERO = 1, 1522 RND = 2, 1523 RND_ZERO = 3, 1524 RND_INF = 4, 1525 RND_MIN_INF = 5, 1526 RND_CONV = 6, 1527 RND_CONV_ODD = 7, 1528 Max = 0x7fffffff, 1529}; 1530 1531enum class OverflowModes : unsigned { 1532 WRAP = 0, 1533 SAT = 1, 1534 SAT_ZERO = 2, 1535 SAT_SYM = 3, 1536 Max = 0x7fffffff, 1537}; 1538 1539enum class PackedVectorFormat : unsigned { 1540 PackedVectorFormat4x8Bit = 0, 1541 PackedVectorFormat4x8BitKHR = 0, 1542 Max = 0x7fffffff, 1543}; 1544 1545enum class CooperativeMatrixOperandsShift : unsigned { 1546 MatrixASignedComponentsKHR = 0, 1547 MatrixBSignedComponentsKHR = 1, 1548 MatrixCSignedComponentsKHR = 2, 1549 MatrixResultSignedComponentsKHR = 3, 1550 SaturatingAccumulationKHR = 4, 1551 Max = 0x7fffffff, 1552}; 1553 1554enum class CooperativeMatrixOperandsMask : unsigned { 1555 MaskNone = 0, 1556 MatrixASignedComponentsKHR = 0x00000001, 1557 MatrixBSignedComponentsKHR = 0x00000002, 1558 MatrixCSignedComponentsKHR = 0x00000004, 1559 MatrixResultSignedComponentsKHR = 0x00000008, 1560 SaturatingAccumulationKHR = 0x00000010, 1561}; 1562 1563enum class CooperativeMatrixLayout : unsigned { 1564 RowMajorKHR = 0, 1565 ColumnMajorKHR = 1, 1566 RowBlockedInterleavedARM = 4202, 1567 ColumnBlockedInterleavedARM = 4203, 1568 Max = 0x7fffffff, 1569}; 1570 1571enum class CooperativeMatrixUse : unsigned { 1572 MatrixAKHR = 0, 1573 MatrixBKHR = 1, 1574 MatrixAccumulatorKHR = 2, 1575 Max = 0x7fffffff, 1576}; 1577 1578enum class CooperativeMatrixReduceShift : unsigned { 1579 Row = 0, 1580 Column = 1, 1581 CooperativeMatrixReduce2x2 = 2, 1582 Max = 0x7fffffff, 1583}; 1584 1585enum class CooperativeMatrixReduceMask : unsigned { 1586 MaskNone = 0, 1587 Row = 0x00000001, 1588 Column = 0x00000002, 1589 CooperativeMatrixReduce2x2 = 0x00000004, 1590}; 1591 1592enum class TensorClampMode : unsigned { 1593 Undefined = 0, 1594 Constant = 1, 1595 ClampToEdge = 2, 1596 Repeat = 3, 1597 RepeatMirrored = 4, 1598 Max = 0x7fffffff, 1599}; 1600 1601enum class TensorAddressingOperandsShift : unsigned { 1602 TensorView = 0, 1603 DecodeFunc = 1, 1604 DecodeVectorFunc = 2, 1605 Max = 0x7fffffff, 1606}; 1607 1608enum class TensorAddressingOperandsMask : unsigned { 1609 MaskNone = 0, 1610 TensorView = 0x00000001, 1611 DecodeFunc = 0x00000002, 1612 DecodeVectorFunc = 0x00000004, 1613}; 1614 1615enum class TensorOperandsShift : unsigned { 1616 NontemporalARM = 0, 1617 OutOfBoundsValueARM = 1, 1618 MakeElementAvailableARM = 2, 1619 MakeElementVisibleARM = 3, 1620 NonPrivateElementARM = 4, 1621 Max = 0x7fffffff, 1622}; 1623 1624enum class TensorOperandsMask : unsigned { 1625 MaskNone = 0, 1626 NontemporalARM = 0x00000001, 1627 OutOfBoundsValueARM = 0x00000002, 1628 MakeElementAvailableARM = 0x00000004, 1629 MakeElementVisibleARM = 0x00000008, 1630 NonPrivateElementARM = 0x00000010, 1631}; 1632 1633enum class InitializationModeQualifier : unsigned { 1634 InitOnDeviceReprogramALTERA = 0, 1635 InitOnDeviceReprogramINTEL = 0, 1636 InitOnDeviceResetALTERA = 1, 1637 InitOnDeviceResetINTEL = 1, 1638 Max = 0x7fffffff, 1639}; 1640 1641enum class HostAccessQualifier : unsigned { 1642 NoneINTEL = 0, 1643 ReadINTEL = 1, 1644 WriteINTEL = 2, 1645 ReadWriteINTEL = 3, 1646 Max = 0x7fffffff, 1647}; 1648 1649enum class LoadCacheControl : unsigned { 1650 UncachedINTEL = 0, 1651 CachedINTEL = 1, 1652 StreamingINTEL = 2, 1653 InvalidateAfterReadINTEL = 3, 1654 ConstCachedINTEL = 4, 1655 Max = 0x7fffffff, 1656}; 1657 1658enum class StoreCacheControl : unsigned { 1659 UncachedINTEL = 0, 1660 WriteThroughINTEL = 1, 1661 WriteBackINTEL = 2, 1662 StreamingINTEL = 3, 1663 Max = 0x7fffffff, 1664}; 1665 1666enum class NamedMaximumNumberOfRegisters : unsigned { 1667 AutoINTEL = 0, 1668 Max = 0x7fffffff, 1669}; 1670 1671enum class MatrixMultiplyAccumulateOperandsShift : unsigned { 1672 MatrixASignedComponentsINTEL = 0, 1673 MatrixBSignedComponentsINTEL = 1, 1674 MatrixCBFloat16INTEL = 2, 1675 MatrixResultBFloat16INTEL = 3, 1676 MatrixAPackedInt8INTEL = 4, 1677 MatrixBPackedInt8INTEL = 5, 1678 MatrixAPackedInt4INTEL = 6, 1679 MatrixBPackedInt4INTEL = 7, 1680 MatrixATF32INTEL = 8, 1681 MatrixBTF32INTEL = 9, 1682 MatrixAPackedFloat16INTEL = 10, 1683 MatrixBPackedFloat16INTEL = 11, 1684 MatrixAPackedBFloat16INTEL = 12, 1685 MatrixBPackedBFloat16INTEL = 13, 1686 Max = 0x7fffffff, 1687}; 1688 1689enum class MatrixMultiplyAccumulateOperandsMask : unsigned { 1690 MaskNone = 0, 1691 MatrixASignedComponentsINTEL = 0x00000001, 1692 MatrixBSignedComponentsINTEL = 0x00000002, 1693 MatrixCBFloat16INTEL = 0x00000004, 1694 MatrixResultBFloat16INTEL = 0x00000008, 1695 MatrixAPackedInt8INTEL = 0x00000010, 1696 MatrixBPackedInt8INTEL = 0x00000020, 1697 MatrixAPackedInt4INTEL = 0x00000040, 1698 MatrixBPackedInt4INTEL = 0x00000080, 1699 MatrixATF32INTEL = 0x00000100, 1700 MatrixBTF32INTEL = 0x00000200, 1701 MatrixAPackedFloat16INTEL = 0x00000400, 1702 MatrixBPackedFloat16INTEL = 0x00000800, 1703 MatrixAPackedBFloat16INTEL = 0x00001000, 1704 MatrixBPackedBFloat16INTEL = 0x00002000, 1705}; 1706 1707enum class RawAccessChainOperandsShift : unsigned { 1708 RobustnessPerComponentNV = 0, 1709 RobustnessPerElementNV = 1, 1710 Max = 0x7fffffff, 1711}; 1712 1713enum class RawAccessChainOperandsMask : unsigned { 1714 MaskNone = 0, 1715 RobustnessPerComponentNV = 0x00000001, 1716 RobustnessPerElementNV = 0x00000002, 1717}; 1718 1719enum class FPEncoding : unsigned { 1720 BFloat16KHR = 0, 1721 Float8E4M3EXT = 4214, 1722 Float8E5M2EXT = 4215, 1723 Float6E2M3EXT = 4223, 1724 Float6E3M2EXT = 4224, 1725 Float4E2M1EXT = 4225, 1726 Float8UnsignedE8M0EXT = 4226, 1727 MXInt8EXT = 4227, 1728 Max = 0x7fffffff, 1729}; 1730 1731enum class CooperativeVectorMatrixLayout : unsigned { 1732 RowMajorNV = 0, 1733 ColumnMajorNV = 1, 1734 InferencingOptimalNV = 2, 1735 TrainingOptimalNV = 3, 1736 Max = 0x7fffffff, 1737}; 1738 1739enum class ComponentType : unsigned { 1740 Float16NV = 0, 1741 Float32NV = 1, 1742 Float64NV = 2, 1743 SignedInt8NV = 3, 1744 SignedInt16NV = 4, 1745 SignedInt32NV = 5, 1746 SignedInt64NV = 6, 1747 UnsignedInt8NV = 7, 1748 UnsignedInt16NV = 8, 1749 UnsignedInt32NV = 9, 1750 UnsignedInt64NV = 10, 1751 SignedInt8PackedNV = 1000491000, 1752 UnsignedInt8PackedNV = 1000491001, 1753 FloatE4M3NV = 1000491002, 1754 FloatE5M2NV = 1000491003, 1755 Max = 0x7fffffff, 1756}; 1757 1758enum class GatherModes : unsigned { 1759 Gather4x1QCOM = 0, 1760 GatherDQCOM = 1, 1761 GatherH2QCOM = 2, 1762 GatherV2QCOM = 3, 1763 Max = 0x7fffffff, 1764}; 1765 1766enum class Op : unsigned { 1767 OpNop = 0, 1768 OpUndef = 1, 1769 OpSourceContinued = 2, 1770 OpSource = 3, 1771 OpSourceExtension = 4, 1772 OpName = 5, 1773 OpMemberName = 6, 1774 OpString = 7, 1775 OpLine = 8, 1776 OpExtension = 10, 1777 OpExtInstImport = 11, 1778 OpExtInst = 12, 1779 OpMemoryModel = 14, 1780 OpEntryPoint = 15, 1781 OpExecutionMode = 16, 1782 OpCapability = 17, 1783 OpTypeVoid = 19, 1784 OpTypeBool = 20, 1785 OpTypeInt = 21, 1786 OpTypeFloat = 22, 1787 OpTypeVector = 23, 1788 OpTypeMatrix = 24, 1789 OpTypeImage = 25, 1790 OpTypeSampler = 26, 1791 OpTypeSampledImage = 27, 1792 OpTypeArray = 28, 1793 OpTypeRuntimeArray = 29, 1794 OpTypeStruct = 30, 1795 OpTypeOpaque = 31, 1796 OpTypePointer = 32, 1797 OpTypeFunction = 33, 1798 OpTypeEvent = 34, 1799 OpTypeDeviceEvent = 35, 1800 OpTypeReserveId = 36, 1801 OpTypeQueue = 37, 1802 OpTypePipe = 38, 1803 OpTypeForwardPointer = 39, 1804 OpConstantTrue = 41, 1805 OpConstantFalse = 42, 1806 OpConstant = 43, 1807 OpConstantComposite = 44, 1808 OpConstantSampler = 45, 1809 OpConstantNull = 46, 1810 OpSpecConstantTrue = 48, 1811 OpSpecConstantFalse = 49, 1812 OpSpecConstant = 50, 1813 OpSpecConstantComposite = 51, 1814 OpSpecConstantOp = 52, 1815 OpFunction = 54, 1816 OpFunctionParameter = 55, 1817 OpFunctionEnd = 56, 1818 OpFunctionCall = 57, 1819 OpVariable = 59, 1820 OpImageTexelPointer = 60, 1821 OpLoad = 61, 1822 OpStore = 62, 1823 OpCopyMemory = 63, 1824 OpCopyMemorySized = 64, 1825 OpAccessChain = 65, 1826 OpInBoundsAccessChain = 66, 1827 OpPtrAccessChain = 67, 1828 OpArrayLength = 68, 1829 OpGenericPtrMemSemantics = 69, 1830 OpInBoundsPtrAccessChain = 70, 1831 OpDecorate = 71, 1832 OpMemberDecorate = 72, 1833 OpDecorationGroup = 73, 1834 OpGroupDecorate = 74, 1835 OpGroupMemberDecorate = 75, 1836 OpVectorExtractDynamic = 77, 1837 OpVectorInsertDynamic = 78, 1838 OpVectorShuffle = 79, 1839 OpCompositeConstruct = 80, 1840 OpCompositeExtract = 81, 1841 OpCompositeInsert = 82, 1842 OpCopyObject = 83, 1843 OpTranspose = 84, 1844 OpSampledImage = 86, 1845 OpImageSampleImplicitLod = 87, 1846 OpImageSampleExplicitLod = 88, 1847 OpImageSampleDrefImplicitLod = 89, 1848 OpImageSampleDrefExplicitLod = 90, 1849 OpImageSampleProjImplicitLod = 91, 1850 OpImageSampleProjExplicitLod = 92, 1851 OpImageSampleProjDrefImplicitLod = 93, 1852 OpImageSampleProjDrefExplicitLod = 94, 1853 OpImageFetch = 95, 1854 OpImageGather = 96, 1855 OpImageDrefGather = 97, 1856 OpImageRead = 98, 1857 OpImageWrite = 99, 1858 OpImage = 100, 1859 OpImageQueryFormat = 101, 1860 OpImageQueryOrder = 102, 1861 OpImageQuerySizeLod = 103, 1862 OpImageQuerySize = 104, 1863 OpImageQueryLod = 105, 1864 OpImageQueryLevels = 106, 1865 OpImageQuerySamples = 107, 1866 OpConvertFToU = 109, 1867 OpConvertFToS = 110, 1868 OpConvertSToF = 111, 1869 OpConvertUToF = 112, 1870 OpUConvert = 113, 1871 OpSConvert = 114, 1872 OpFConvert = 115, 1873 OpQuantizeToF16 = 116, 1874 OpConvertPtrToU = 117, 1875 OpSatConvertSToU = 118, 1876 OpSatConvertUToS = 119, 1877 OpConvertUToPtr = 120, 1878 OpPtrCastToGeneric = 121, 1879 OpGenericCastToPtr = 122, 1880 OpGenericCastToPtrExplicit = 123, 1881 OpBitcast = 124, 1882 OpSNegate = 126, 1883 OpFNegate = 127, 1884 OpIAdd = 128, 1885 OpFAdd = 129, 1886 OpISub = 130, 1887 OpFSub = 131, 1888 OpIMul = 132, 1889 OpFMul = 133, 1890 OpUDiv = 134, 1891 OpSDiv = 135, 1892 OpFDiv = 136, 1893 OpUMod = 137, 1894 OpSRem = 138, 1895 OpSMod = 139, 1896 OpFRem = 140, 1897 OpFMod = 141, 1898 OpVectorTimesScalar = 142, 1899 OpMatrixTimesScalar = 143, 1900 OpVectorTimesMatrix = 144, 1901 OpMatrixTimesVector = 145, 1902 OpMatrixTimesMatrix = 146, 1903 OpOuterProduct = 147, 1904 OpDot = 148, 1905 OpIAddCarry = 149, 1906 OpISubBorrow = 150, 1907 OpUMulExtended = 151, 1908 OpSMulExtended = 152, 1909 OpAny = 154, 1910 OpAll = 155, 1911 OpIsNan = 156, 1912 OpIsInf = 157, 1913 OpIsFinite = 158, 1914 OpIsNormal = 159, 1915 OpSignBitSet = 160, 1916 OpLessOrGreater = 161, 1917 OpOrdered = 162, 1918 OpUnordered = 163, 1919 OpLogicalEqual = 164, 1920 OpLogicalNotEqual = 165, 1921 OpLogicalOr = 166, 1922 OpLogicalAnd = 167, 1923 OpLogicalNot = 168, 1924 OpSelect = 169, 1925 OpIEqual = 170, 1926 OpINotEqual = 171, 1927 OpUGreaterThan = 172, 1928 OpSGreaterThan = 173, 1929 OpUGreaterThanEqual = 174, 1930 OpSGreaterThanEqual = 175, 1931 OpULessThan = 176, 1932 OpSLessThan = 177, 1933 OpULessThanEqual = 178, 1934 OpSLessThanEqual = 179, 1935 OpFOrdEqual = 180, 1936 OpFUnordEqual = 181, 1937 OpFOrdNotEqual = 182, 1938 OpFUnordNotEqual = 183, 1939 OpFOrdLessThan = 184, 1940 OpFUnordLessThan = 185, 1941 OpFOrdGreaterThan = 186, 1942 OpFUnordGreaterThan = 187, 1943 OpFOrdLessThanEqual = 188, 1944 OpFUnordLessThanEqual = 189, 1945 OpFOrdGreaterThanEqual = 190, 1946 OpFUnordGreaterThanEqual = 191, 1947 OpShiftRightLogical = 194, 1948 OpShiftRightArithmetic = 195, 1949 OpShiftLeftLogical = 196, 1950 OpBitwiseOr = 197, 1951 OpBitwiseXor = 198, 1952 OpBitwiseAnd = 199, 1953 OpNot = 200, 1954 OpBitFieldInsert = 201, 1955 OpBitFieldSExtract = 202, 1956 OpBitFieldUExtract = 203, 1957 OpBitReverse = 204, 1958 OpBitCount = 205, 1959 OpDPdx = 207, 1960 OpDPdy = 208, 1961 OpFwidth = 209, 1962 OpDPdxFine = 210, 1963 OpDPdyFine = 211, 1964 OpFwidthFine = 212, 1965 OpDPdxCoarse = 213, 1966 OpDPdyCoarse = 214, 1967 OpFwidthCoarse = 215, 1968 OpEmitVertex = 218, 1969 OpEndPrimitive = 219, 1970 OpEmitStreamVertex = 220, 1971 OpEndStreamPrimitive = 221, 1972 OpControlBarrier = 224, 1973 OpMemoryBarrier = 225, 1974 OpAtomicLoad = 227, 1975 OpAtomicStore = 228, 1976 OpAtomicExchange = 229, 1977 OpAtomicCompareExchange = 230, 1978 OpAtomicCompareExchangeWeak = 231, 1979 OpAtomicIIncrement = 232, 1980 OpAtomicIDecrement = 233, 1981 OpAtomicIAdd = 234, 1982 OpAtomicISub = 235, 1983 OpAtomicSMin = 236, 1984 OpAtomicUMin = 237, 1985 OpAtomicSMax = 238, 1986 OpAtomicUMax = 239, 1987 OpAtomicAnd = 240, 1988 OpAtomicOr = 241, 1989 OpAtomicXor = 242, 1990 OpPhi = 245, 1991 OpLoopMerge = 246, 1992 OpSelectionMerge = 247, 1993 OpLabel = 248, 1994 OpBranch = 249, 1995 OpBranchConditional = 250, 1996 OpSwitch = 251, 1997 OpKill = 252, 1998 OpReturn = 253, 1999 OpReturnValue = 254, 2000 OpUnreachable = 255, 2001 OpLifetimeStart = 256, 2002 OpLifetimeStop = 257, 2003 OpGroupAsyncCopy = 259, 2004 OpGroupWaitEvents = 260, 2005 OpGroupAll = 261, 2006 OpGroupAny = 262, 2007 OpGroupBroadcast = 263, 2008 OpGroupIAdd = 264, 2009 OpGroupFAdd = 265, 2010 OpGroupFMin = 266, 2011 OpGroupUMin = 267, 2012 OpGroupSMin = 268, 2013 OpGroupFMax = 269, 2014 OpGroupUMax = 270, 2015 OpGroupSMax = 271, 2016 OpReadPipe = 274, 2017 OpWritePipe = 275, 2018 OpReservedReadPipe = 276, 2019 OpReservedWritePipe = 277, 2020 OpReserveReadPipePackets = 278, 2021 OpReserveWritePipePackets = 279, 2022 OpCommitReadPipe = 280, 2023 OpCommitWritePipe = 281, 2024 OpIsValidReserveId = 282, 2025 OpGetNumPipePackets = 283, 2026 OpGetMaxPipePackets = 284, 2027 OpGroupReserveReadPipePackets = 285, 2028 OpGroupReserveWritePipePackets = 286, 2029 OpGroupCommitReadPipe = 287, 2030 OpGroupCommitWritePipe = 288, 2031 OpEnqueueMarker = 291, 2032 OpEnqueueKernel = 292, 2033 OpGetKernelNDrangeSubGroupCount = 293, 2034 OpGetKernelNDrangeMaxSubGroupSize = 294, 2035 OpGetKernelWorkGroupSize = 295, 2036 OpGetKernelPreferredWorkGroupSizeMultiple = 296, 2037 OpRetainEvent = 297, 2038 OpReleaseEvent = 298, 2039 OpCreateUserEvent = 299, 2040 OpIsValidEvent = 300, 2041 OpSetUserEventStatus = 301, 2042 OpCaptureEventProfilingInfo = 302, 2043 OpGetDefaultQueue = 303, 2044 OpBuildNDRange = 304, 2045 OpImageSparseSampleImplicitLod = 305, 2046 OpImageSparseSampleExplicitLod = 306, 2047 OpImageSparseSampleDrefImplicitLod = 307, 2048 OpImageSparseSampleDrefExplicitLod = 308, 2049 OpImageSparseSampleProjImplicitLod = 309, 2050 OpImageSparseSampleProjExplicitLod = 310, 2051 OpImageSparseSampleProjDrefImplicitLod = 311, 2052 OpImageSparseSampleProjDrefExplicitLod = 312, 2053 OpImageSparseFetch = 313, 2054 OpImageSparseGather = 314, 2055 OpImageSparseDrefGather = 315, 2056 OpImageSparseTexelsResident = 316, 2057 OpNoLine = 317, 2058 OpAtomicFlagTestAndSet = 318, 2059 OpAtomicFlagClear = 319, 2060 OpImageSparseRead = 320, 2061 OpSizeOf = 321, 2062 OpTypePipeStorage = 322, 2063 OpConstantPipeStorage = 323, 2064 OpCreatePipeFromPipeStorage = 324, 2065 OpGetKernelLocalSizeForSubgroupCount = 325, 2066 OpGetKernelMaxNumSubgroups = 326, 2067 OpTypeNamedBarrier = 327, 2068 OpNamedBarrierInitialize = 328, 2069 OpMemoryNamedBarrier = 329, 2070 OpModuleProcessed = 330, 2071 OpExecutionModeId = 331, 2072 OpDecorateId = 332, 2073 OpGroupNonUniformElect = 333, 2074 OpGroupNonUniformAll = 334, 2075 OpGroupNonUniformAny = 335, 2076 OpGroupNonUniformAllEqual = 336, 2077 OpGroupNonUniformBroadcast = 337, 2078 OpGroupNonUniformBroadcastFirst = 338, 2079 OpGroupNonUniformBallot = 339, 2080 OpGroupNonUniformInverseBallot = 340, 2081 OpGroupNonUniformBallotBitExtract = 341, 2082 OpGroupNonUniformBallotBitCount = 342, 2083 OpGroupNonUniformBallotFindLSB = 343, 2084 OpGroupNonUniformBallotFindMSB = 344, 2085 OpGroupNonUniformShuffle = 345, 2086 OpGroupNonUniformShuffleXor = 346, 2087 OpGroupNonUniformShuffleUp = 347, 2088 OpGroupNonUniformShuffleDown = 348, 2089 OpGroupNonUniformIAdd = 349, 2090 OpGroupNonUniformFAdd = 350, 2091 OpGroupNonUniformIMul = 351, 2092 OpGroupNonUniformFMul = 352, 2093 OpGroupNonUniformSMin = 353, 2094 OpGroupNonUniformUMin = 354, 2095 OpGroupNonUniformFMin = 355, 2096 OpGroupNonUniformSMax = 356, 2097 OpGroupNonUniformUMax = 357, 2098 OpGroupNonUniformFMax = 358, 2099 OpGroupNonUniformBitwiseAnd = 359, 2100 OpGroupNonUniformBitwiseOr = 360, 2101 OpGroupNonUniformBitwiseXor = 361, 2102 OpGroupNonUniformLogicalAnd = 362, 2103 OpGroupNonUniformLogicalOr = 363, 2104 OpGroupNonUniformLogicalXor = 364, 2105 OpGroupNonUniformQuadBroadcast = 365, 2106 OpGroupNonUniformQuadSwap = 366, 2107 OpCopyLogical = 400, 2108 OpPtrEqual = 401, 2109 OpPtrNotEqual = 402, 2110 OpPtrDiff = 403, 2111 OpColorAttachmentReadEXT = 4160, 2112 OpDepthAttachmentReadEXT = 4161, 2113 OpStencilAttachmentReadEXT = 4162, 2114 OpTypeTensorARM = 4163, 2115 OpTensorReadARM = 4164, 2116 OpTensorWriteARM = 4165, 2117 OpTensorQuerySizeARM = 4166, 2118 OpGraphConstantARM = 4181, 2119 OpGraphEntryPointARM = 4182, 2120 OpGraphARM = 4183, 2121 OpGraphInputARM = 4184, 2122 OpGraphSetOutputARM = 4185, 2123 OpGraphEndARM = 4186, 2124 OpTypeGraphARM = 4190, 2125 OpBitcastExtractEXT = 4195, 2126 OpTerminateInvocation = 4416, 2127 OpTypeUntypedPointerKHR = 4417, 2128 OpUntypedVariableKHR = 4418, 2129 OpUntypedAccessChainKHR = 4419, 2130 OpUntypedInBoundsAccessChainKHR = 4420, 2131 OpSubgroupBallotKHR = 4421, 2132 OpSubgroupFirstInvocationKHR = 4422, 2133 OpUntypedPtrAccessChainKHR = 4423, 2134 OpUntypedInBoundsPtrAccessChainKHR = 4424, 2135 OpUntypedArrayLengthKHR = 4425, 2136 OpUntypedPrefetchKHR = 4426, 2137 OpFmaKHR = 4427, 2138 OpSubgroupAllKHR = 4428, 2139 OpSubgroupAnyKHR = 4429, 2140 OpSubgroupAllEqualKHR = 4430, 2141 OpGroupNonUniformRotateKHR = 4431, 2142 OpSubgroupReadInvocationKHR = 4432, 2143 OpExtInstWithForwardRefsKHR = 4433, 2144 OpUntypedGroupAsyncCopyKHR = 4434, 2145 OpTraceRayKHR = 4445, 2146 OpExecuteCallableKHR = 4446, 2147 OpConvertUToAccelerationStructureKHR = 4447, 2148 OpIgnoreIntersectionKHR = 4448, 2149 OpTerminateRayKHR = 4449, 2150 OpSDot = 4450, 2151 OpSDotKHR = 4450, 2152 OpUDot = 4451, 2153 OpUDotKHR = 4451, 2154 OpSUDot = 4452, 2155 OpSUDotKHR = 4452, 2156 OpSDotAccSat = 4453, 2157 OpSDotAccSatKHR = 4453, 2158 OpUDotAccSat = 4454, 2159 OpUDotAccSatKHR = 4454, 2160 OpSUDotAccSat = 4455, 2161 OpSUDotAccSatKHR = 4455, 2162 OpTypeCooperativeMatrixKHR = 4456, 2163 OpCooperativeMatrixLoadKHR = 4457, 2164 OpCooperativeMatrixStoreKHR = 4458, 2165 OpCooperativeMatrixMulAddKHR = 4459, 2166 OpCooperativeMatrixLengthKHR = 4460, 2167 OpConstantCompositeReplicateEXT = 4461, 2168 OpSpecConstantCompositeReplicateEXT = 4462, 2169 OpCompositeConstructReplicateEXT = 4463, 2170 OpTypeRayQueryKHR = 4472, 2171 OpRayQueryInitializeKHR = 4473, 2172 OpRayQueryTerminateKHR = 4474, 2173 OpRayQueryGenerateIntersectionKHR = 4475, 2174 OpRayQueryConfirmIntersectionKHR = 4476, 2175 OpRayQueryProceedKHR = 4477, 2176 OpRayQueryGetIntersectionTypeKHR = 4479, 2177 OpImageSampleWeightedQCOM = 4480, 2178 OpImageBoxFilterQCOM = 4481, 2179 OpImageBlockMatchSSDQCOM = 4482, 2180 OpImageBlockMatchSADQCOM = 4483, 2181 OpBitCastArrayQCOM = 4497, 2182 OpImageBlockMatchWindowSSDQCOM = 4500, 2183 OpImageBlockMatchWindowSADQCOM = 4501, 2184 OpImageBlockMatchGatherSSDQCOM = 4502, 2185 OpImageBlockMatchGatherSADQCOM = 4503, 2186 OpCompositeConstructCoopMatQCOM = 4540, 2187 OpCompositeExtractCoopMatQCOM = 4541, 2188 OpExtractSubArrayQCOM = 4542, 2189 OpImageGatherQCOM = 4545, 2190 OpGroupIAddNonUniformAMD = 5000, 2191 OpGroupFAddNonUniformAMD = 5001, 2192 OpGroupFMinNonUniformAMD = 5002, 2193 OpGroupUMinNonUniformAMD = 5003, 2194 OpGroupSMinNonUniformAMD = 5004, 2195 OpGroupFMaxNonUniformAMD = 5005, 2196 OpGroupUMaxNonUniformAMD = 5006, 2197 OpGroupSMaxNonUniformAMD = 5007, 2198 OpFragmentMaskFetchAMD = 5011, 2199 OpFragmentFetchAMD = 5012, 2200 OpReadClockKHR = 5056, 2201 OpAllocateNodePayloadsAMDX = 5074, 2202 OpEnqueueNodePayloadsAMDX = 5075, 2203 OpTypeNodePayloadArrayAMDX = 5076, 2204 OpFinishWritingNodePayloadAMDX = 5078, 2205 OpNodePayloadArrayLengthAMDX = 5090, 2206 OpIsNodePayloadValidAMDX = 5101, 2207 OpConstantStringAMDX = 5103, 2208 OpSpecConstantStringAMDX = 5104, 2209 OpGroupNonUniformQuadAllKHR = 5110, 2210 OpGroupNonUniformQuadAnyKHR = 5111, 2211 OpTypeBufferEXT = 5115, 2212 OpBufferPointerEXT = 5119, 2213 OpAbortKHR = 5121, 2214 OpUntypedImageTexelPointerEXT = 5126, 2215 OpMemberDecorateIdEXT = 5127, 2216 OpConstantSizeOfEXT = 5129, 2217 OpConstantDataKHR = 5147, 2218 OpSpecConstantDataKHR = 5148, 2219 OpPoisonKHR = 5158, 2220 OpFreezeKHR = 5159, 2221 OpHitObjectRecordHitMotionNV = 5249, 2222 OpHitObjectRecordHitWithIndexMotionNV = 5250, 2223 OpHitObjectRecordMissMotionNV = 5251, 2224 OpHitObjectGetWorldToObjectNV = 5252, 2225 OpHitObjectGetObjectToWorldNV = 5253, 2226 OpHitObjectGetObjectRayDirectionNV = 5254, 2227 OpHitObjectGetObjectRayOriginNV = 5255, 2228 OpHitObjectTraceRayMotionNV = 5256, 2229 OpHitObjectGetShaderRecordBufferHandleNV = 5257, 2230 OpHitObjectGetShaderBindingTableRecordIndexNV = 5258, 2231 OpHitObjectRecordEmptyNV = 5259, 2232 OpHitObjectTraceRayNV = 5260, 2233 OpHitObjectRecordHitNV = 5261, 2234 OpHitObjectRecordHitWithIndexNV = 5262, 2235 OpHitObjectRecordMissNV = 5263, 2236 OpHitObjectExecuteShaderNV = 5264, 2237 OpHitObjectGetCurrentTimeNV = 5265, 2238 OpHitObjectGetAttributesNV = 5266, 2239 OpHitObjectGetHitKindNV = 5267, 2240 OpHitObjectGetPrimitiveIndexNV = 5268, 2241 OpHitObjectGetGeometryIndexNV = 5269, 2242 OpHitObjectGetInstanceIdNV = 5270, 2243 OpHitObjectGetInstanceCustomIndexNV = 5271, 2244 OpHitObjectGetWorldRayDirectionNV = 5272, 2245 OpHitObjectGetWorldRayOriginNV = 5273, 2246 OpHitObjectGetRayTMaxNV = 5274, 2247 OpHitObjectGetRayTMinNV = 5275, 2248 OpHitObjectIsEmptyNV = 5276, 2249 OpHitObjectIsHitNV = 5277, 2250 OpHitObjectIsMissNV = 5278, 2251 OpReorderThreadWithHitObjectNV = 5279, 2252 OpReorderThreadWithHintNV = 5280, 2253 OpTypeHitObjectNV = 5281, 2254 OpImageSampleFootprintNV = 5283, 2255 OpTypeCooperativeVectorNV = 5288, 2256 OpTypeVectorIdEXT = 5288, 2257 OpCooperativeVectorMatrixMulNV = 5289, 2258 OpCooperativeVectorOuterProductAccumulateNV = 5290, 2259 OpCooperativeVectorReduceSumAccumulateNV = 5291, 2260 OpCooperativeVectorMatrixMulAddNV = 5292, 2261 OpCooperativeMatrixConvertNV = 5293, 2262 OpCooperativeMatrixConvertUseEXT = 5293, 2263 OpEmitMeshTasksEXT = 5294, 2264 OpSetMeshOutputsEXT = 5295, 2265 OpGroupNonUniformPartitionEXT = 5296, 2266 OpGroupNonUniformPartitionNV = 5296, 2267 OpWritePackedPrimitiveIndices4x8NV = 5299, 2268 OpFetchMicroTriangleVertexPositionNV = 5300, 2269 OpFetchMicroTriangleVertexBarycentricNV = 5301, 2270 OpCooperativeVectorLoadNV = 5302, 2271 OpCooperativeVectorStoreNV = 5303, 2272 OpHitObjectRecordFromQueryEXT = 5304, 2273 OpHitObjectRecordMissEXT = 5305, 2274 OpHitObjectRecordMissMotionEXT = 5306, 2275 OpHitObjectGetIntersectionTriangleVertexPositionsEXT = 5307, 2276 OpHitObjectGetRayFlagsEXT = 5308, 2277 OpHitObjectSetShaderBindingTableRecordIndexEXT = 5309, 2278 OpHitObjectReorderExecuteShaderEXT = 5310, 2279 OpHitObjectTraceReorderExecuteEXT = 5311, 2280 OpHitObjectTraceMotionReorderExecuteEXT = 5312, 2281 OpTypeHitObjectEXT = 5313, 2282 OpReorderThreadWithHintEXT = 5314, 2283 OpReorderThreadWithHitObjectEXT = 5315, 2284 OpHitObjectTraceRayEXT = 5316, 2285 OpHitObjectTraceRayMotionEXT = 5317, 2286 OpHitObjectRecordEmptyEXT = 5318, 2287 OpHitObjectExecuteShaderEXT = 5319, 2288 OpHitObjectGetCurrentTimeEXT = 5320, 2289 OpHitObjectGetAttributesEXT = 5321, 2290 OpHitObjectGetHitKindEXT = 5322, 2291 OpHitObjectGetPrimitiveIndexEXT = 5323, 2292 OpHitObjectGetGeometryIndexEXT = 5324, 2293 OpHitObjectGetInstanceIdEXT = 5325, 2294 OpHitObjectGetInstanceCustomIndexEXT = 5326, 2295 OpHitObjectGetObjectRayOriginEXT = 5327, 2296 OpHitObjectGetObjectRayDirectionEXT = 5328, 2297 OpHitObjectGetWorldRayDirectionEXT = 5329, 2298 OpHitObjectGetWorldRayOriginEXT = 5330, 2299 OpHitObjectGetObjectToWorldEXT = 5331, 2300 OpHitObjectGetWorldToObjectEXT = 5332, 2301 OpHitObjectGetRayTMaxEXT = 5333, 2302 OpReportIntersectionKHR = 5334, 2303 OpReportIntersectionNV = 5334, 2304 OpIgnoreIntersectionNV = 5335, 2305 OpTerminateRayNV = 5336, 2306 OpTraceNV = 5337, 2307 OpTraceMotionNV = 5338, 2308 OpTraceRayMotionNV = 5339, 2309 OpRayQueryGetIntersectionTriangleVertexPositionsKHR = 5340, 2310 OpTypeAccelerationStructureKHR = 5341, 2311 OpTypeAccelerationStructureNV = 5341, 2312 OpExecuteCallableNV = 5344, 2313 OpRayQueryGetClusterIdNV = 5345, 2314 OpRayQueryGetIntersectionClusterIdNV = 5345, 2315 OpHitObjectGetClusterIdNV = 5346, 2316 OpHitObjectGetRayTMinEXT = 5347, 2317 OpHitObjectGetShaderBindingTableRecordIndexEXT = 5348, 2318 OpHitObjectGetShaderRecordBufferHandleEXT = 5349, 2319 OpHitObjectIsEmptyEXT = 5350, 2320 OpHitObjectIsHitEXT = 5351, 2321 OpHitObjectIsMissEXT = 5352, 2322 OpTypeCooperativeMatrixNV = 5358, 2323 OpCooperativeMatrixLoadNV = 5359, 2324 OpCooperativeMatrixStoreNV = 5360, 2325 OpCooperativeMatrixMulAddNV = 5361, 2326 OpCooperativeMatrixLengthNV = 5362, 2327 OpCooperativeMatrixGetCoordinateEXT = 5363, 2328 OpBeginInvocationInterlockEXT = 5364, 2329 OpEndInvocationInterlockEXT = 5365, 2330 OpCooperativeMatrixReduceEXT = 5366, 2331 OpCooperativeMatrixReduceNV = 5366, 2332 OpCooperativeMatrixLoadTensorNV = 5367, 2333 OpCooperativeMatrixStoreTensorNV = 5368, 2334 OpCooperativeMatrixPerElementOpEXT = 5369, 2335 OpCooperativeMatrixPerElementOpNV = 5369, 2336 OpTypeTensorLayoutNV = 5370, 2337 OpTypeTensorViewNV = 5371, 2338 OpCreateTensorLayoutNV = 5372, 2339 OpTensorLayoutSetDimensionNV = 5373, 2340 OpTensorLayoutSetStrideNV = 5374, 2341 OpTensorLayoutSliceNV = 5375, 2342 OpTensorLayoutSetClampValueNV = 5376, 2343 OpCreateTensorViewNV = 5377, 2344 OpTensorViewSetDimensionNV = 5378, 2345 OpTensorViewSetStrideNV = 5379, 2346 OpDemoteToHelperInvocation = 5380, 2347 OpDemoteToHelperInvocationEXT = 5380, 2348 OpIsHelperInvocationEXT = 5381, 2349 OpTensorViewSetClipNV = 5382, 2350 OpTensorLayoutSetBlockSizeNV = 5384, 2351 OpCooperativeMatrixTransposeNV = 5390, 2352 OpConvertUToImageNV = 5391, 2353 OpConvertUToSamplerNV = 5392, 2354 OpConvertImageToUNV = 5393, 2355 OpConvertSamplerToUNV = 5394, 2356 OpConvertUToSampledImageNV = 5395, 2357 OpConvertSampledImageToUNV = 5396, 2358 OpSamplerImageAddressingModeNV = 5397, 2359 OpRawAccessChainNV = 5398, 2360 OpRayQueryGetIntersectionSpherePositionNV = 5427, 2361 OpRayQueryGetIntersectionSphereRadiusNV = 5428, 2362 OpRayQueryGetIntersectionLSSPositionsNV = 5429, 2363 OpRayQueryGetIntersectionLSSRadiiNV = 5430, 2364 OpRayQueryGetIntersectionLSSHitValueNV = 5431, 2365 OpHitObjectGetSpherePositionNV = 5432, 2366 OpHitObjectGetSphereRadiusNV = 5433, 2367 OpHitObjectGetLSSPositionsNV = 5434, 2368 OpHitObjectGetLSSRadiiNV = 5435, 2369 OpHitObjectIsSphereHitNV = 5436, 2370 OpHitObjectIsLSSHitNV = 5437, 2371 OpRayQueryIsSphereHitNV = 5438, 2372 OpRayQueryIsLSSHitNV = 5439, 2373 OpSubgroupShuffleINTEL = 5571, 2374 OpSubgroupShuffleDownINTEL = 5572, 2375 OpSubgroupShuffleUpINTEL = 5573, 2376 OpSubgroupShuffleXorINTEL = 5574, 2377 OpSubgroupBlockReadINTEL = 5575, 2378 OpSubgroupBlockWriteINTEL = 5576, 2379 OpSubgroupImageBlockReadINTEL = 5577, 2380 OpSubgroupImageBlockWriteINTEL = 5578, 2381 OpSubgroupImageMediaBlockReadINTEL = 5580, 2382 OpSubgroupImageMediaBlockWriteINTEL = 5581, 2383 OpUCountLeadingZerosINTEL = 5585, 2384 OpUCountTrailingZerosINTEL = 5586, 2385 OpAbsISubINTEL = 5587, 2386 OpAbsUSubINTEL = 5588, 2387 OpIAddSatINTEL = 5589, 2388 OpUAddSatINTEL = 5590, 2389 OpIAverageINTEL = 5591, 2390 OpUAverageINTEL = 5592, 2391 OpIAverageRoundedINTEL = 5593, 2392 OpUAverageRoundedINTEL = 5594, 2393 OpISubSatINTEL = 5595, 2394 OpUSubSatINTEL = 5596, 2395 OpIMul32x16INTEL = 5597, 2396 OpUMul32x16INTEL = 5598, 2397 OpConstantFunctionPointerINTEL = 5600, 2398 OpFunctionPointerCallINTEL = 5601, 2399 OpAsmTargetINTEL = 5609, 2400 OpAsmINTEL = 5610, 2401 OpAsmCallINTEL = 5611, 2402 OpAtomicFMinEXT = 5614, 2403 OpAtomicFMaxEXT = 5615, 2404 OpAssumeTrueKHR = 5630, 2405 OpExpectKHR = 5631, 2406 OpDecorateString = 5632, 2407 OpDecorateStringGOOGLE = 5632, 2408 OpMemberDecorateString = 5633, 2409 OpMemberDecorateStringGOOGLE = 5633, 2410 OpVmeImageINTEL = 5699, 2411 OpTypeVmeImageINTEL = 5700, 2412 OpTypeAvcImePayloadINTEL = 5701, 2413 OpTypeAvcRefPayloadINTEL = 5702, 2414 OpTypeAvcSicPayloadINTEL = 5703, 2415 OpTypeAvcMcePayloadINTEL = 5704, 2416 OpTypeAvcMceResultINTEL = 5705, 2417 OpTypeAvcImeResultINTEL = 5706, 2418 OpTypeAvcImeResultSingleReferenceStreamoutINTEL = 5707, 2419 OpTypeAvcImeResultDualReferenceStreamoutINTEL = 5708, 2420 OpTypeAvcImeSingleReferenceStreaminINTEL = 5709, 2421 OpTypeAvcImeDualReferenceStreaminINTEL = 5710, 2422 OpTypeAvcRefResultINTEL = 5711, 2423 OpTypeAvcSicResultINTEL = 5712, 2424 OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL = 5713, 2425 OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL = 5714, 2426 OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL = 5715, 2427 OpSubgroupAvcMceSetInterShapePenaltyINTEL = 5716, 2428 OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL = 5717, 2429 OpSubgroupAvcMceSetInterDirectionPenaltyINTEL = 5718, 2430 OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL = 5719, 2431 OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL = 5720, 2432 OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL = 5721, 2433 OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL = 5722, 2434 OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL = 5723, 2435 OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL = 5724, 2436 OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL = 5725, 2437 OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL = 5726, 2438 OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL = 5727, 2439 OpSubgroupAvcMceSetAcOnlyHaarINTEL = 5728, 2440 OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL = 5729, 2441 OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL = 5730, 2442 OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL = 5731, 2443 OpSubgroupAvcMceConvertToImePayloadINTEL = 5732, 2444 OpSubgroupAvcMceConvertToImeResultINTEL = 5733, 2445 OpSubgroupAvcMceConvertToRefPayloadINTEL = 5734, 2446 OpSubgroupAvcMceConvertToRefResultINTEL = 5735, 2447 OpSubgroupAvcMceConvertToSicPayloadINTEL = 5736, 2448 OpSubgroupAvcMceConvertToSicResultINTEL = 5737, 2449 OpSubgroupAvcMceGetMotionVectorsINTEL = 5738, 2450 OpSubgroupAvcMceGetInterDistortionsINTEL = 5739, 2451 OpSubgroupAvcMceGetBestInterDistortionsINTEL = 5740, 2452 OpSubgroupAvcMceGetInterMajorShapeINTEL = 5741, 2453 OpSubgroupAvcMceGetInterMinorShapeINTEL = 5742, 2454 OpSubgroupAvcMceGetInterDirectionsINTEL = 5743, 2455 OpSubgroupAvcMceGetInterMotionVectorCountINTEL = 5744, 2456 OpSubgroupAvcMceGetInterReferenceIdsINTEL = 5745, 2457 OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL = 5746, 2458 OpSubgroupAvcImeInitializeINTEL = 5747, 2459 OpSubgroupAvcImeSetSingleReferenceINTEL = 5748, 2460 OpSubgroupAvcImeSetDualReferenceINTEL = 5749, 2461 OpSubgroupAvcImeRefWindowSizeINTEL = 5750, 2462 OpSubgroupAvcImeAdjustRefOffsetINTEL = 5751, 2463 OpSubgroupAvcImeConvertToMcePayloadINTEL = 5752, 2464 OpSubgroupAvcImeSetMaxMotionVectorCountINTEL = 5753, 2465 OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL = 5754, 2466 OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL = 5755, 2467 OpSubgroupAvcImeSetWeightedSadINTEL = 5756, 2468 OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL = 5757, 2469 OpSubgroupAvcImeEvaluateWithDualReferenceINTEL = 5758, 2470 OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL = 5759, 2471 OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL = 5760, 2472 OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL = 5761, 2473 OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL = 5762, 2474 OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL = 5763, 2475 OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL = 5764, 2476 OpSubgroupAvcImeConvertToMceResultINTEL = 5765, 2477 OpSubgroupAvcImeGetSingleReferenceStreaminINTEL = 5766, 2478 OpSubgroupAvcImeGetDualReferenceStreaminINTEL = 5767, 2479 OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL = 5768, 2480 OpSubgroupAvcImeStripDualReferenceStreamoutINTEL = 5769, 2481 OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL = 5770, 2482 OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL = 5771, 2483 OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL = 5772, 2484 OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL = 5773, 2485 OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL = 5774, 2486 OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL = 5775, 2487 OpSubgroupAvcImeGetBorderReachedINTEL = 5776, 2488 OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL = 5777, 2489 OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL = 5778, 2490 OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL = 5779, 2491 OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL = 5780, 2492 OpSubgroupAvcFmeInitializeINTEL = 5781, 2493 OpSubgroupAvcBmeInitializeINTEL = 5782, 2494 OpSubgroupAvcRefConvertToMcePayloadINTEL = 5783, 2495 OpSubgroupAvcRefSetBidirectionalMixDisableINTEL = 5784, 2496 OpSubgroupAvcRefSetBilinearFilterEnableINTEL = 5785, 2497 OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL = 5786, 2498 OpSubgroupAvcRefEvaluateWithDualReferenceINTEL = 5787, 2499 OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL = 5788, 2500 OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL = 5789, 2501 OpSubgroupAvcRefConvertToMceResultINTEL = 5790, 2502 OpSubgroupAvcSicInitializeINTEL = 5791, 2503 OpSubgroupAvcSicConfigureSkcINTEL = 5792, 2504 OpSubgroupAvcSicConfigureIpeLumaINTEL = 5793, 2505 OpSubgroupAvcSicConfigureIpeLumaChromaINTEL = 5794, 2506 OpSubgroupAvcSicGetMotionVectorMaskINTEL = 5795, 2507 OpSubgroupAvcSicConvertToMcePayloadINTEL = 5796, 2508 OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL = 5797, 2509 OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL = 5798, 2510 OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL = 5799, 2511 OpSubgroupAvcSicSetBilinearFilterEnableINTEL = 5800, 2512 OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL = 5801, 2513 OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL = 5802, 2514 OpSubgroupAvcSicEvaluateIpeINTEL = 5803, 2515 OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL = 5804, 2516 OpSubgroupAvcSicEvaluateWithDualReferenceINTEL = 5805, 2517 OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL = 5806, 2518 OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL = 5807, 2519 OpSubgroupAvcSicConvertToMceResultINTEL = 5808, 2520 OpSubgroupAvcSicGetIpeLumaShapeINTEL = 5809, 2521 OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL = 5810, 2522 OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL = 5811, 2523 OpSubgroupAvcSicGetPackedIpeLumaModesINTEL = 5812, 2524 OpSubgroupAvcSicGetIpeChromaModeINTEL = 5813, 2525 OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814, 2526 OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815, 2527 OpSubgroupAvcSicGetInterRawSadsINTEL = 5816, 2528 OpVariableLengthArrayINTEL = 5818, 2529 OpSaveMemoryINTEL = 5819, 2530 OpRestoreMemoryINTEL = 5820, 2531 OpArbitraryFloatSinCosPiALTERA = 5840, 2532 OpArbitraryFloatSinCosPiINTEL = 5840, 2533 OpArbitraryFloatCastALTERA = 5841, 2534 OpArbitraryFloatCastINTEL = 5841, 2535 OpArbitraryFloatCastFromIntALTERA = 5842, 2536 OpArbitraryFloatCastFromIntINTEL = 5842, 2537 OpArbitraryFloatCastToIntALTERA = 5843, 2538 OpArbitraryFloatCastToIntINTEL = 5843, 2539 OpArbitraryFloatAddALTERA = 5846, 2540 OpArbitraryFloatAddINTEL = 5846, 2541 OpArbitraryFloatSubALTERA = 5847, 2542 OpArbitraryFloatSubINTEL = 5847, 2543 OpArbitraryFloatMulALTERA = 5848, 2544 OpArbitraryFloatMulINTEL = 5848, 2545 OpArbitraryFloatDivALTERA = 5849, 2546 OpArbitraryFloatDivINTEL = 5849, 2547 OpArbitraryFloatGTALTERA = 5850, 2548 OpArbitraryFloatGTINTEL = 5850, 2549 OpArbitraryFloatGEALTERA = 5851, 2550 OpArbitraryFloatGEINTEL = 5851, 2551 OpArbitraryFloatLTALTERA = 5852, 2552 OpArbitraryFloatLTINTEL = 5852, 2553 OpArbitraryFloatLEALTERA = 5853, 2554 OpArbitraryFloatLEINTEL = 5853, 2555 OpArbitraryFloatEQALTERA = 5854, 2556 OpArbitraryFloatEQINTEL = 5854, 2557 OpArbitraryFloatRecipALTERA = 5855, 2558 OpArbitraryFloatRecipINTEL = 5855, 2559 OpArbitraryFloatRSqrtALTERA = 5856, 2560 OpArbitraryFloatRSqrtINTEL = 5856, 2561 OpArbitraryFloatCbrtALTERA = 5857, 2562 OpArbitraryFloatCbrtINTEL = 5857, 2563 OpArbitraryFloatHypotALTERA = 5858, 2564 OpArbitraryFloatHypotINTEL = 5858, 2565 OpArbitraryFloatSqrtALTERA = 5859, 2566 OpArbitraryFloatSqrtINTEL = 5859, 2567 OpArbitraryFloatLogINTEL = 5860, 2568 OpArbitraryFloatLog2INTEL = 5861, 2569 OpArbitraryFloatLog10INTEL = 5862, 2570 OpArbitraryFloatLog1pINTEL = 5863, 2571 OpArbitraryFloatExpINTEL = 5864, 2572 OpArbitraryFloatExp2INTEL = 5865, 2573 OpArbitraryFloatExp10INTEL = 5866, 2574 OpArbitraryFloatExpm1INTEL = 5867, 2575 OpArbitraryFloatSinINTEL = 5868, 2576 OpArbitraryFloatCosINTEL = 5869, 2577 OpArbitraryFloatSinCosINTEL = 5870, 2578 OpArbitraryFloatSinPiINTEL = 5871, 2579 OpArbitraryFloatCosPiINTEL = 5872, 2580 OpArbitraryFloatASinINTEL = 5873, 2581 OpArbitraryFloatASinPiINTEL = 5874, 2582 OpArbitraryFloatACosINTEL = 5875, 2583 OpArbitraryFloatACosPiINTEL = 5876, 2584 OpArbitraryFloatATanINTEL = 5877, 2585 OpArbitraryFloatATanPiINTEL = 5878, 2586 OpArbitraryFloatATan2INTEL = 5879, 2587 OpArbitraryFloatPowINTEL = 5880, 2588 OpArbitraryFloatPowRINTEL = 5881, 2589 OpArbitraryFloatPowNINTEL = 5882, 2590 OpLoopControlINTEL = 5887, 2591 OpAliasDomainDeclINTEL = 5911, 2592 OpAliasScopeDeclINTEL = 5912, 2593 OpAliasScopeListDeclINTEL = 5913, 2594 OpFixedSqrtALTERA = 5923, 2595 OpFixedSqrtINTEL = 5923, 2596 OpFixedRecipALTERA = 5924, 2597 OpFixedRecipINTEL = 5924, 2598 OpFixedRsqrtALTERA = 5925, 2599 OpFixedRsqrtINTEL = 5925, 2600 OpFixedSinALTERA = 5926, 2601 OpFixedSinINTEL = 5926, 2602 OpFixedCosALTERA = 5927, 2603 OpFixedCosINTEL = 5927, 2604 OpFixedSinCosALTERA = 5928, 2605 OpFixedSinCosINTEL = 5928, 2606 OpFixedSinPiALTERA = 5929, 2607 OpFixedSinPiINTEL = 5929, 2608 OpFixedCosPiALTERA = 5930, 2609 OpFixedCosPiINTEL = 5930, 2610 OpFixedSinCosPiALTERA = 5931, 2611 OpFixedSinCosPiINTEL = 5931, 2612 OpFixedLogALTERA = 5932, 2613 OpFixedLogINTEL = 5932, 2614 OpFixedExpALTERA = 5933, 2615 OpFixedExpINTEL = 5933, 2616 OpPtrCastToCrossWorkgroupALTERA = 5934, 2617 OpPtrCastToCrossWorkgroupINTEL = 5934, 2618 OpCrossWorkgroupCastToPtrALTERA = 5938, 2619 OpCrossWorkgroupCastToPtrINTEL = 5938, 2620 OpReadPipeBlockingALTERA = 5946, 2621 OpReadPipeBlockingINTEL = 5946, 2622 OpWritePipeBlockingALTERA = 5947, 2623 OpWritePipeBlockingINTEL = 5947, 2624 OpFPGARegALTERA = 5949, 2625 OpFPGARegINTEL = 5949, 2626 OpRayQueryGetRayTMinKHR = 6016, 2627 OpRayQueryGetRayFlagsKHR = 6017, 2628 OpRayQueryGetIntersectionTKHR = 6018, 2629 OpRayQueryGetIntersectionInstanceCustomIndexKHR = 6019, 2630 OpRayQueryGetIntersectionInstanceIdKHR = 6020, 2631 OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR = 6021, 2632 OpRayQueryGetIntersectionGeometryIndexKHR = 6022, 2633 OpRayQueryGetIntersectionPrimitiveIndexKHR = 6023, 2634 OpRayQueryGetIntersectionBarycentricsKHR = 6024, 2635 OpRayQueryGetIntersectionFrontFaceKHR = 6025, 2636 OpRayQueryGetIntersectionCandidateAABBOpaqueKHR = 6026, 2637 OpRayQueryGetIntersectionObjectRayDirectionKHR = 6027, 2638 OpRayQueryGetIntersectionObjectRayOriginKHR = 6028, 2639 OpRayQueryGetWorldRayDirectionKHR = 6029, 2640 OpRayQueryGetWorldRayOriginKHR = 6030, 2641 OpRayQueryGetIntersectionObjectToWorldKHR = 6031, 2642 OpRayQueryGetIntersectionWorldToObjectKHR = 6032, 2643 OpAtomicFAddEXT = 6035, 2644 OpTypeBufferSurfaceINTEL = 6086, 2645 OpTypeStructContinuedINTEL = 6090, 2646 OpConstantCompositeContinuedINTEL = 6091, 2647 OpSpecConstantCompositeContinuedINTEL = 6092, 2648 OpCompositeConstructContinuedINTEL = 6096, 2649 OpConvertFToBF16INTEL = 6116, 2650 OpConvertBF16ToFINTEL = 6117, 2651 OpControlBarrierArriveEXT = 6142, 2652 OpControlBarrierArriveINTEL = 6142, 2653 OpControlBarrierWaitEXT = 6143, 2654 OpControlBarrierWaitINTEL = 6143, 2655 OpArithmeticFenceEXT = 6145, 2656 OpTaskSequenceCreateALTERA = 6163, 2657 OpTaskSequenceCreateINTEL = 6163, 2658 OpTaskSequenceAsyncALTERA = 6164, 2659 OpTaskSequenceAsyncINTEL = 6164, 2660 OpTaskSequenceGetALTERA = 6165, 2661 OpTaskSequenceGetINTEL = 6165, 2662 OpTaskSequenceReleaseALTERA = 6166, 2663 OpTaskSequenceReleaseINTEL = 6166, 2664 OpTypeTaskSequenceALTERA = 6199, 2665 OpTypeTaskSequenceINTEL = 6199, 2666 OpSubgroupBlockPrefetchINTEL = 6221, 2667 OpSubgroup2DBlockLoadINTEL = 6231, 2668 OpSubgroup2DBlockLoadTransformINTEL = 6232, 2669 OpSubgroup2DBlockLoadTransposeINTEL = 6233, 2670 OpSubgroup2DBlockPrefetchINTEL = 6234, 2671 OpSubgroup2DBlockStoreINTEL = 6235, 2672 OpSubgroupMatrixMultiplyAccumulateINTEL = 6237, 2673 OpBitwiseFunctionINTEL = 6242, 2674 OpUntypedVariableLengthArrayINTEL = 6244, 2675 OpConditionalExtensionINTEL = 6248, 2676 OpConditionalEntryPointINTEL = 6249, 2677 OpConditionalCapabilityINTEL = 6250, 2678 OpSpecConstantTargetINTEL = 6251, 2679 OpSpecConstantArchitectureINTEL = 6252, 2680 OpSpecConstantCapabilitiesINTEL = 6253, 2681 OpConditionalCopyObjectINTEL = 6254, 2682 OpPredicatedLoadINTEL = 6258, 2683 OpPredicatedStoreINTEL = 6259, 2684 OpGroupIMulKHR = 6401, 2685 OpGroupFMulKHR = 6402, 2686 OpGroupBitwiseAndKHR = 6403, 2687 OpGroupBitwiseOrKHR = 6404, 2688 OpGroupBitwiseXorKHR = 6405, 2689 OpGroupLogicalAndKHR = 6406, 2690 OpGroupLogicalOrKHR = 6407, 2691 OpGroupLogicalXorKHR = 6408, 2692 OpRoundFToTF32INTEL = 6426, 2693 OpMaskedGatherINTEL = 6428, 2694 OpMaskedScatterINTEL = 6429, 2695 OpConvertHandleToImageINTEL = 6529, 2696 OpConvertHandleToSamplerINTEL = 6530, 2697 OpConvertHandleToSampledImageINTEL = 6531, 2698 OpFDot2MixAcc32VALVE = 6916, 2699 OpFDot2MixAcc16VALVE = 6917, 2700 OpFDot4MixAcc32VALVE = 6918, 2701 Max = 0x7fffffff, 2702}; 2703 2704#ifdef SPV_ENABLE_UTILITY_CODE 2705#ifndef __cplusplus 2706#include <stdbool.h> 2707#endif 2708inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) { 2709 *hasResult = *hasResultType = false; 2710 switch (opcode) { 2711 default: /* unknown opcode */ break; 2712 case Op::OpNop: *hasResult = false; *hasResultType = false; break; 2713 case Op::OpUndef: *hasResult = true; *hasResultType = true; break; 2714 case Op::OpSourceContinued: *hasResult = false; *hasResultType = false; break; 2715 case Op::OpSource: *hasResult = false; *hasResultType = false; break; 2716 case Op::OpSourceExtension: *hasResult = false; *hasResultType = false; break; 2717 case Op::OpName: *hasResult = false; *hasResultType = false; break; 2718 case Op::OpMemberName: *hasResult = false; *hasResultType = false; break; 2719 case Op::OpString: *hasResult = true; *hasResultType = false; break; 2720 case Op::OpLine: *hasResult = false; *hasResultType = false; break; 2721 case Op::OpExtension: *hasResult = false; *hasResultType = false; break; 2722 case Op::OpExtInstImport: *hasResult = true; *hasResultType = false; break; 2723 case Op::OpExtInst: *hasResult = true; *hasResultType = true; break; 2724 case Op::OpMemoryModel: *hasResult = false; *hasResultType = false; break; 2725 case Op::OpEntryPoint: *hasResult = false; *hasResultType = false; break; 2726 case Op::OpExecutionMode: *hasResult = false; *hasResultType = false; break; 2727 case Op::OpCapability: *hasResult = false; *hasResultType = false; break; 2728 case Op::OpTypeVoid: *hasResult = true; *hasResultType = false; break; 2729 case Op::OpTypeBool: *hasResult = true; *hasResultType = false; break; 2730 case Op::OpTypeInt: *hasResult = true; *hasResultType = false; break; 2731 case Op::OpTypeFloat: *hasResult = true; *hasResultType = false; break; 2732 case Op::OpTypeVector: *hasResult = true; *hasResultType = false; break; 2733 case Op::OpTypeMatrix: *hasResult = true; *hasResultType = false; break; 2734 case Op::OpTypeImage: *hasResult = true; *hasResultType = false; break; 2735 case Op::OpTypeSampler: *hasResult = true; *hasResultType = false; break; 2736 case Op::OpTypeSampledImage: *hasResult = true; *hasResultType = false; break; 2737 case Op::OpTypeArray: *hasResult = true; *hasResultType = false; break; 2738 case Op::OpTypeRuntimeArray: *hasResult = true; *hasResultType = false; break; 2739 case Op::OpTypeStruct: *hasResult = true; *hasResultType = false; break; 2740 case Op::OpTypeOpaque: *hasResult = true; *hasResultType = false; break; 2741 case Op::OpTypePointer: *hasResult = true; *hasResultType = false; break; 2742 case Op::OpTypeFunction: *hasResult = true; *hasResultType = false; break; 2743 case Op::OpTypeEvent: *hasResult = true; *hasResultType = false; break; 2744 case Op::OpTypeDeviceEvent: *hasResult = true; *hasResultType = false; break; 2745 case Op::OpTypeReserveId: *hasResult = true; *hasResultType = false; break; 2746 case Op::OpTypeQueue: *hasResult = true; *hasResultType = false; break; 2747 case Op::OpTypePipe: *hasResult = true; *hasResultType = false; break; 2748 case Op::OpTypeForwardPointer: *hasResult = false; *hasResultType = false; break; 2749 case Op::OpConstantTrue: *hasResult = true; *hasResultType = true; break; 2750 case Op::OpConstantFalse: *hasResult = true; *hasResultType = true; break; 2751 case Op::OpConstant: *hasResult = true; *hasResultType = true; break; 2752 case Op::OpConstantComposite: *hasResult = true; *hasResultType = true; break; 2753 case Op::OpConstantSampler: *hasResult = true; *hasResultType = true; break; 2754 case Op::OpConstantNull: *hasResult = true; *hasResultType = true; break; 2755 case Op::OpSpecConstantTrue: *hasResult = true; *hasResultType = true; break; 2756 case Op::OpSpecConstantFalse: *hasResult = true; *hasResultType = true; break; 2757 case Op::OpSpecConstant: *hasResult = true; *hasResultType = true; break; 2758 case Op::OpSpecConstantComposite: *hasResult = true; *hasResultType = true; break; 2759 case Op::OpSpecConstantOp: *hasResult = true; *hasResultType = true; break; 2760 case Op::OpFunction: *hasResult = true; *hasResultType = true; break; 2761 case Op::OpFunctionParameter: *hasResult = true; *hasResultType = true; break; 2762 case Op::OpFunctionEnd: *hasResult = false; *hasResultType = false; break; 2763 case Op::OpFunctionCall: *hasResult = true; *hasResultType = true; break; 2764 case Op::OpVariable: *hasResult = true; *hasResultType = true; break; 2765 case Op::OpImageTexelPointer: *hasResult = true; *hasResultType = true; break; 2766 case Op::OpLoad: *hasResult = true; *hasResultType = true; break; 2767 case Op::OpStore: *hasResult = false; *hasResultType = false; break; 2768 case Op::OpCopyMemory: *hasResult = false; *hasResultType = false; break; 2769 case Op::OpCopyMemorySized: *hasResult = false; *hasResultType = false; break; 2770 case Op::OpAccessChain: *hasResult = true; *hasResultType = true; break; 2771 case Op::OpInBoundsAccessChain: *hasResult = true; *hasResultType = true; break; 2772 case Op::OpPtrAccessChain: *hasResult = true; *hasResultType = true; break; 2773 case Op::OpArrayLength: *hasResult = true; *hasResultType = true; break; 2774 case Op::OpGenericPtrMemSemantics: *hasResult = true; *hasResultType = true; break; 2775 case Op::OpInBoundsPtrAccessChain: *hasResult = true; *hasResultType = true; break; 2776 case Op::OpDecorate: *hasResult = false; *hasResultType = false; break; 2777 case Op::OpMemberDecorate: *hasResult = false; *hasResultType = false; break; 2778 case Op::OpDecorationGroup: *hasResult = true; *hasResultType = false; break; 2779 case Op::OpGroupDecorate: *hasResult = false; *hasResultType = false; break; 2780 case Op::OpGroupMemberDecorate: *hasResult = false; *hasResultType = false; break; 2781 case Op::OpVectorExtractDynamic: *hasResult = true; *hasResultType = true; break; 2782 case Op::OpVectorInsertDynamic: *hasResult = true; *hasResultType = true; break; 2783 case Op::OpVectorShuffle: *hasResult = true; *hasResultType = true; break; 2784 case Op::OpCompositeConstruct: *hasResult = true; *hasResultType = true; break; 2785 case Op::OpCompositeExtract: *hasResult = true; *hasResultType = true; break; 2786 case Op::OpCompositeInsert: *hasResult = true; *hasResultType = true; break; 2787 case Op::OpCopyObject: *hasResult = true; *hasResultType = true; break; 2788 case Op::OpTranspose: *hasResult = true; *hasResultType = true; break; 2789 case Op::OpSampledImage: *hasResult = true; *hasResultType = true; break; 2790 case Op::OpImageSampleImplicitLod: *hasResult = true; *hasResultType = true; break; 2791 case Op::OpImageSampleExplicitLod: *hasResult = true; *hasResultType = true; break; 2792 case Op::OpImageSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break; 2793 case Op::OpImageSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break; 2794 case Op::OpImageSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break; 2795 case Op::OpImageSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break; 2796 case Op::OpImageSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break; 2797 case Op::OpImageSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break; 2798 case Op::OpImageFetch: *hasResult = true; *hasResultType = true; break; 2799 case Op::OpImageGather: *hasResult = true; *hasResultType = true; break; 2800 case Op::OpImageDrefGather: *hasResult = true; *hasResultType = true; break; 2801 case Op::OpImageRead: *hasResult = true; *hasResultType = true; break; 2802 case Op::OpImageWrite: *hasResult = false; *hasResultType = false; break; 2803 case Op::OpImage: *hasResult = true; *hasResultType = true; break; 2804 case Op::OpImageQueryFormat: *hasResult = true; *hasResultType = true; break; 2805 case Op::OpImageQueryOrder: *hasResult = true; *hasResultType = true; break; 2806 case Op::OpImageQuerySizeLod: *hasResult = true; *hasResultType = true; break; 2807 case Op::OpImageQuerySize: *hasResult = true; *hasResultType = true; break; 2808 case Op::OpImageQueryLod: *hasResult = true; *hasResultType = true; break; 2809 case Op::OpImageQueryLevels: *hasResult = true; *hasResultType = true; break; 2810 case Op::OpImageQuerySamples: *hasResult = true; *hasResultType = true; break; 2811 case Op::OpConvertFToU: *hasResult = true; *hasResultType = true; break; 2812 case Op::OpConvertFToS: *hasResult = true; *hasResultType = true; break; 2813 case Op::OpConvertSToF: *hasResult = true; *hasResultType = true; break; 2814 case Op::OpConvertUToF: *hasResult = true; *hasResultType = true; break; 2815 case Op::OpUConvert: *hasResult = true; *hasResultType = true; break; 2816 case Op::OpSConvert: *hasResult = true; *hasResultType = true; break; 2817 case Op::OpFConvert: *hasResult = true; *hasResultType = true; break; 2818 case Op::OpQuantizeToF16: *hasResult = true; *hasResultType = true; break; 2819 case Op::OpConvertPtrToU: *hasResult = true; *hasResultType = true; break; 2820 case Op::OpSatConvertSToU: *hasResult = true; *hasResultType = true; break; 2821 case Op::OpSatConvertUToS: *hasResult = true; *hasResultType = true; break; 2822 case Op::OpConvertUToPtr: *hasResult = true; *hasResultType = true; break; 2823 case Op::OpPtrCastToGeneric: *hasResult = true; *hasResultType = true; break; 2824 case Op::OpGenericCastToPtr: *hasResult = true; *hasResultType = true; break; 2825 case Op::OpGenericCastToPtrExplicit: *hasResult = true; *hasResultType = true; break; 2826 case Op::OpBitcast: *hasResult = true; *hasResultType = true; break; 2827 case Op::OpSNegate: *hasResult = true; *hasResultType = true; break; 2828 case Op::OpFNegate: *hasResult = true; *hasResultType = true; break; 2829 case Op::OpIAdd: *hasResult = true; *hasResultType = true; break; 2830 case Op::OpFAdd: *hasResult = true; *hasResultType = true; break; 2831 case Op::OpISub: *hasResult = true; *hasResultType = true; break; 2832 case Op::OpFSub: *hasResult = true; *hasResultType = true; break; 2833 case Op::OpIMul: *hasResult = true; *hasResultType = true; break; 2834 case Op::OpFMul: *hasResult = true; *hasResultType = true; break; 2835 case Op::OpUDiv: *hasResult = true; *hasResultType = true; break; 2836 case Op::OpSDiv: *hasResult = true; *hasResultType = true; break; 2837 case Op::OpFDiv: *hasResult = true; *hasResultType = true; break; 2838 case Op::OpUMod: *hasResult = true; *hasResultType = true; break; 2839 case Op::OpSRem: *hasResult = true; *hasResultType = true; break; 2840 case Op::OpSMod: *hasResult = true; *hasResultType = true; break; 2841 case Op::OpFRem: *hasResult = true; *hasResultType = true; break; 2842 case Op::OpFMod: *hasResult = true; *hasResultType = true; break; 2843 case Op::OpVectorTimesScalar: *hasResult = true; *hasResultType = true; break; 2844 case Op::OpMatrixTimesScalar: *hasResult = true; *hasResultType = true; break; 2845 case Op::OpVectorTimesMatrix: *hasResult = true; *hasResultType = true; break; 2846 case Op::OpMatrixTimesVector: *hasResult = true; *hasResultType = true; break; 2847 case Op::OpMatrixTimesMatrix: *hasResult = true; *hasResultType = true; break; 2848 case Op::OpOuterProduct: *hasResult = true; *hasResultType = true; break; 2849 case Op::OpDot: *hasResult = true; *hasResultType = true; break; 2850 case Op::OpIAddCarry: *hasResult = true; *hasResultType = true; break; 2851 case Op::OpISubBorrow: *hasResult = true; *hasResultType = true; break; 2852 case Op::OpUMulExtended: *hasResult = true; *hasResultType = true; break; 2853 case Op::OpSMulExtended: *hasResult = true; *hasResultType = true; break; 2854 case Op::OpAny: *hasResult = true; *hasResultType = true; break; 2855 case Op::OpAll: *hasResult = true; *hasResultType = true; break; 2856 case Op::OpIsNan: *hasResult = true; *hasResultType = true; break; 2857 case Op::OpIsInf: *hasResult = true; *hasResultType = true; break; 2858 case Op::OpIsFinite: *hasResult = true; *hasResultType = true; break; 2859 case Op::OpIsNormal: *hasResult = true; *hasResultType = true; break; 2860 case Op::OpSignBitSet: *hasResult = true; *hasResultType = true; break; 2861 case Op::OpLessOrGreater: *hasResult = true; *hasResultType = true; break; 2862 case Op::OpOrdered: *hasResult = true; *hasResultType = true; break; 2863 case Op::OpUnordered: *hasResult = true; *hasResultType = true; break; 2864 case Op::OpLogicalEqual: *hasResult = true; *hasResultType = true; break; 2865 case Op::OpLogicalNotEqual: *hasResult = true; *hasResultType = true; break; 2866 case Op::OpLogicalOr: *hasResult = true; *hasResultType = true; break; 2867 case Op::OpLogicalAnd: *hasResult = true; *hasResultType = true; break; 2868 case Op::OpLogicalNot: *hasResult = true; *hasResultType = true; break; 2869 case Op::OpSelect: *hasResult = true; *hasResultType = true; break; 2870 case Op::OpIEqual: *hasResult = true; *hasResultType = true; break; 2871 case Op::OpINotEqual: *hasResult = true; *hasResultType = true; break; 2872 case Op::OpUGreaterThan: *hasResult = true; *hasResultType = true; break; 2873 case Op::OpSGreaterThan: *hasResult = true; *hasResultType = true; break; 2874 case Op::OpUGreaterThanEqual: *hasResult = true; *hasResultType = true; break; 2875 case Op::OpSGreaterThanEqual: *hasResult = true; *hasResultType = true; break; 2876 case Op::OpULessThan: *hasResult = true; *hasResultType = true; break; 2877 case Op::OpSLessThan: *hasResult = true; *hasResultType = true; break; 2878 case Op::OpULessThanEqual: *hasResult = true; *hasResultType = true; break; 2879 case Op::OpSLessThanEqual: *hasResult = true; *hasResultType = true; break; 2880 case Op::OpFOrdEqual: *hasResult = true; *hasResultType = true; break; 2881 case Op::OpFUnordEqual: *hasResult = true; *hasResultType = true; break; 2882 case Op::OpFOrdNotEqual: *hasResult = true; *hasResultType = true; break; 2883 case Op::OpFUnordNotEqual: *hasResult = true; *hasResultType = true; break; 2884 case Op::OpFOrdLessThan: *hasResult = true; *hasResultType = true; break; 2885 case Op::OpFUnordLessThan: *hasResult = true; *hasResultType = true; break; 2886 case Op::OpFOrdGreaterThan: *hasResult = true; *hasResultType = true; break; 2887 case Op::OpFUnordGreaterThan: *hasResult = true; *hasResultType = true; break; 2888 case Op::OpFOrdLessThanEqual: *hasResult = true; *hasResultType = true; break; 2889 case Op::OpFUnordLessThanEqual: *hasResult = true; *hasResultType = true; break; 2890 case Op::OpFOrdGreaterThanEqual: *hasResult = true; *hasResultType = true; break; 2891 case Op::OpFUnordGreaterThanEqual: *hasResult = true; *hasResultType = true; break; 2892 case Op::OpShiftRightLogical: *hasResult = true; *hasResultType = true; break; 2893 case Op::OpShiftRightArithmetic: *hasResult = true; *hasResultType = true; break; 2894 case Op::OpShiftLeftLogical: *hasResult = true; *hasResultType = true; break; 2895 case Op::OpBitwiseOr: *hasResult = true; *hasResultType = true; break; 2896 case Op::OpBitwiseXor: *hasResult = true; *hasResultType = true; break; 2897 case Op::OpBitwiseAnd: *hasResult = true; *hasResultType = true; break; 2898 case Op::OpNot: *hasResult = true; *hasResultType = true; break; 2899 case Op::OpBitFieldInsert: *hasResult = true; *hasResultType = true; break; 2900 case Op::OpBitFieldSExtract: *hasResult = true; *hasResultType = true; break; 2901 case Op::OpBitFieldUExtract: *hasResult = true; *hasResultType = true; break; 2902 case Op::OpBitReverse: *hasResult = true; *hasResultType = true; break; 2903 case Op::OpBitCount: *hasResult = true; *hasResultType = true; break; 2904 case Op::OpDPdx: *hasResult = true; *hasResultType = true; break; 2905 case Op::OpDPdy: *hasResult = true; *hasResultType = true; break; 2906 case Op::OpFwidth: *hasResult = true; *hasResultType = true; break; 2907 case Op::OpDPdxFine: *hasResult = true; *hasResultType = true; break; 2908 case Op::OpDPdyFine: *hasResult = true; *hasResultType = true; break; 2909 case Op::OpFwidthFine: *hasResult = true; *hasResultType = true; break; 2910 case Op::OpDPdxCoarse: *hasResult = true; *hasResultType = true; break; 2911 case Op::OpDPdyCoarse: *hasResult = true; *hasResultType = true; break; 2912 case Op::OpFwidthCoarse: *hasResult = true; *hasResultType = true; break; 2913 case Op::OpEmitVertex: *hasResult = false; *hasResultType = false; break; 2914 case Op::OpEndPrimitive: *hasResult = false; *hasResultType = false; break; 2915 case Op::OpEmitStreamVertex: *hasResult = false; *hasResultType = false; break; 2916 case Op::OpEndStreamPrimitive: *hasResult = false; *hasResultType = false; break; 2917 case Op::OpControlBarrier: *hasResult = false; *hasResultType = false; break; 2918 case Op::OpMemoryBarrier: *hasResult = false; *hasResultType = false; break; 2919 case Op::OpAtomicLoad: *hasResult = true; *hasResultType = true; break; 2920 case Op::OpAtomicStore: *hasResult = false; *hasResultType = false; break; 2921 case Op::OpAtomicExchange: *hasResult = true; *hasResultType = true; break; 2922 case Op::OpAtomicCompareExchange: *hasResult = true; *hasResultType = true; break; 2923 case Op::OpAtomicCompareExchangeWeak: *hasResult = true; *hasResultType = true; break; 2924 case Op::OpAtomicIIncrement: *hasResult = true; *hasResultType = true; break; 2925 case Op::OpAtomicIDecrement: *hasResult = true; *hasResultType = true; break; 2926 case Op::OpAtomicIAdd: *hasResult = true; *hasResultType = true; break; 2927 case Op::OpAtomicISub: *hasResult = true; *hasResultType = true; break; 2928 case Op::OpAtomicSMin: *hasResult = true; *hasResultType = true; break; 2929 case Op::OpAtomicUMin: *hasResult = true; *hasResultType = true; break; 2930 case Op::OpAtomicSMax: *hasResult = true; *hasResultType = true; break; 2931 case Op::OpAtomicUMax: *hasResult = true; *hasResultType = true; break; 2932 case Op::OpAtomicAnd: *hasResult = true; *hasResultType = true; break; 2933 case Op::OpAtomicOr: *hasResult = true; *hasResultType = true; break; 2934 case Op::OpAtomicXor: *hasResult = true; *hasResultType = true; break; 2935 case Op::OpPhi: *hasResult = true; *hasResultType = true; break; 2936 case Op::OpLoopMerge: *hasResult = false; *hasResultType = false; break; 2937 case Op::OpSelectionMerge: *hasResult = false; *hasResultType = false; break; 2938 case Op::OpLabel: *hasResult = true; *hasResultType = false; break; 2939 case Op::OpBranch: *hasResult = false; *hasResultType = false; break; 2940 case Op::OpBranchConditional: *hasResult = false; *hasResultType = false; break; 2941 case Op::OpSwitch: *hasResult = false; *hasResultType = false; break; 2942 case Op::OpKill: *hasResult = false; *hasResultType = false; break; 2943 case Op::OpReturn: *hasResult = false; *hasResultType = false; break; 2944 case Op::OpReturnValue: *hasResult = false; *hasResultType = false; break; 2945 case Op::OpUnreachable: *hasResult = false; *hasResultType = false; break; 2946 case Op::OpLifetimeStart: *hasResult = false; *hasResultType = false; break; 2947 case Op::OpLifetimeStop: *hasResult = false; *hasResultType = false; break; 2948 case Op::OpGroupAsyncCopy: *hasResult = true; *hasResultType = true; break; 2949 case Op::OpGroupWaitEvents: *hasResult = false; *hasResultType = false; break; 2950 case Op::OpGroupAll: *hasResult = true; *hasResultType = true; break; 2951 case Op::OpGroupAny: *hasResult = true; *hasResultType = true; break; 2952 case Op::OpGroupBroadcast: *hasResult = true; *hasResultType = true; break; 2953 case Op::OpGroupIAdd: *hasResult = true; *hasResultType = true; break; 2954 case Op::OpGroupFAdd: *hasResult = true; *hasResultType = true; break; 2955 case Op::OpGroupFMin: *hasResult = true; *hasResultType = true; break; 2956 case Op::OpGroupUMin: *hasResult = true; *hasResultType = true; break; 2957 case Op::OpGroupSMin: *hasResult = true; *hasResultType = true; break; 2958 case Op::OpGroupFMax: *hasResult = true; *hasResultType = true; break; 2959 case Op::OpGroupUMax: *hasResult = true; *hasResultType = true; break; 2960 case Op::OpGroupSMax: *hasResult = true; *hasResultType = true; break; 2961 case Op::OpReadPipe: *hasResult = true; *hasResultType = true; break; 2962 case Op::OpWritePipe: *hasResult = true; *hasResultType = true; break; 2963 case Op::OpReservedReadPipe: *hasResult = true; *hasResultType = true; break; 2964 case Op::OpReservedWritePipe: *hasResult = true; *hasResultType = true; break; 2965 case Op::OpReserveReadPipePackets: *hasResult = true; *hasResultType = true; break; 2966 case Op::OpReserveWritePipePackets: *hasResult = true; *hasResultType = true; break; 2967 case Op::OpCommitReadPipe: *hasResult = false; *hasResultType = false; break; 2968 case Op::OpCommitWritePipe: *hasResult = false; *hasResultType = false; break; 2969 case Op::OpIsValidReserveId: *hasResult = true; *hasResultType = true; break; 2970 case Op::OpGetNumPipePackets: *hasResult = true; *hasResultType = true; break; 2971 case Op::OpGetMaxPipePackets: *hasResult = true; *hasResultType = true; break; 2972 case Op::OpGroupReserveReadPipePackets: *hasResult = true; *hasResultType = true; break; 2973 case Op::OpGroupReserveWritePipePackets: *hasResult = true; *hasResultType = true; break; 2974 case Op::OpGroupCommitReadPipe: *hasResult = false; *hasResultType = false; break; 2975 case Op::OpGroupCommitWritePipe: *hasResult = false; *hasResultType = false; break; 2976 case Op::OpEnqueueMarker: *hasResult = true; *hasResultType = true; break; 2977 case Op::OpEnqueueKernel: *hasResult = true; *hasResultType = true; break; 2978 case Op::OpGetKernelNDrangeSubGroupCount: *hasResult = true; *hasResultType = true; break; 2979 case Op::OpGetKernelNDrangeMaxSubGroupSize: *hasResult = true; *hasResultType = true; break; 2980 case Op::OpGetKernelWorkGroupSize: *hasResult = true; *hasResultType = true; break; 2981 case Op::OpGetKernelPreferredWorkGroupSizeMultiple: *hasResult = true; *hasResultType = true; break; 2982 case Op::OpRetainEvent: *hasResult = false; *hasResultType = false; break; 2983 case Op::OpReleaseEvent: *hasResult = false; *hasResultType = false; break; 2984 case Op::OpCreateUserEvent: *hasResult = true; *hasResultType = true; break; 2985 case Op::OpIsValidEvent: *hasResult = true; *hasResultType = true; break; 2986 case Op::OpSetUserEventStatus: *hasResult = false; *hasResultType = false; break; 2987 case Op::OpCaptureEventProfilingInfo: *hasResult = false; *hasResultType = false; break; 2988 case Op::OpGetDefaultQueue: *hasResult = true; *hasResultType = true; break; 2989 case Op::OpBuildNDRange: *hasResult = true; *hasResultType = true; break; 2990 case Op::OpImageSparseSampleImplicitLod: *hasResult = true; *hasResultType = true; break; 2991 case Op::OpImageSparseSampleExplicitLod: *hasResult = true; *hasResultType = true; break; 2992 case Op::OpImageSparseSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break; 2993 case Op::OpImageSparseSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break; 2994 case Op::OpImageSparseSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break; 2995 case Op::OpImageSparseSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break; 2996 case Op::OpImageSparseSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break; 2997 case Op::OpImageSparseSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break; 2998 case Op::OpImageSparseFetch: *hasResult = true; *hasResultType = true; break; 2999 case Op::OpImageSparseGather: *hasResult = true; *hasResultType = true; break; 3000 case Op::OpImageSparseDrefGather: *hasResult = true; *hasResultType = true; break; 3001 case Op::OpImageSparseTexelsResident: *hasResult = true; *hasResultType = true; break; 3002 case Op::OpNoLine: *hasResult = false; *hasResultType = false; break; 3003 case Op::OpAtomicFlagTestAndSet: *hasResult = true; *hasResultType = true; break; 3004 case Op::OpAtomicFlagClear: *hasResult = false; *hasResultType = false; break; 3005 case Op::OpImageSparseRead: *hasResult = true; *hasResultType = true; break; 3006 case Op::OpSizeOf: *hasResult = true; *hasResultType = true; break; 3007 case Op::OpTypePipeStorage: *hasResult = true; *hasResultType = false; break; 3008 case Op::OpConstantPipeStorage: *hasResult = true; *hasResultType = true; break; 3009 case Op::OpCreatePipeFromPipeStorage: *hasResult = true; *hasResultType = true; break; 3010 case Op::OpGetKernelLocalSizeForSubgroupCount: *hasResult = true; *hasResultType = true; break; 3011 case Op::OpGetKernelMaxNumSubgroups: *hasResult = true; *hasResultType = true; break; 3012 case Op::OpTypeNamedBarrier: *hasResult = true; *hasResultType = false; break; 3013 case Op::OpNamedBarrierInitialize: *hasResult = true; *hasResultType = true; break; 3014 case Op::OpMemoryNamedBarrier: *hasResult = false; *hasResultType = false; break; 3015 case Op::OpModuleProcessed: *hasResult = false; *hasResultType = false; break; 3016 case Op::OpExecutionModeId: *hasResult = false; *hasResultType = false; break; 3017 case Op::OpDecorateId: *hasResult = false; *hasResultType = false; break; 3018 case Op::OpGroupNonUniformElect: *hasResult = true; *hasResultType = true; break; 3019 case Op::OpGroupNonUniformAll: *hasResult = true; *hasResultType = true; break; 3020 case Op::OpGroupNonUniformAny: *hasResult = true; *hasResultType = true; break; 3021 case Op::OpGroupNonUniformAllEqual: *hasResult = true; *hasResultType = true; break; 3022 case Op::OpGroupNonUniformBroadcast: *hasResult = true; *hasResultType = true; break; 3023 case Op::OpGroupNonUniformBroadcastFirst: *hasResult = true; *hasResultType = true; break; 3024 case Op::OpGroupNonUniformBallot: *hasResult = true; *hasResultType = true; break; 3025 case Op::OpGroupNonUniformInverseBallot: *hasResult = true; *hasResultType = true; break; 3026 case Op::OpGroupNonUniformBallotBitExtract: *hasResult = true; *hasResultType = true; break; 3027 case Op::OpGroupNonUniformBallotBitCount: *hasResult = true; *hasResultType = true; break; 3028 case Op::OpGroupNonUniformBallotFindLSB: *hasResult = true; *hasResultType = true; break; 3029 case Op::OpGroupNonUniformBallotFindMSB: *hasResult = true; *hasResultType = true; break; 3030 case Op::OpGroupNonUniformShuffle: *hasResult = true; *hasResultType = true; break; 3031 case Op::OpGroupNonUniformShuffleXor: *hasResult = true; *hasResultType = true; break; 3032 case Op::OpGroupNonUniformShuffleUp: *hasResult = true; *hasResultType = true; break; 3033 case Op::OpGroupNonUniformShuffleDown: *hasResult = true; *hasResultType = true; break; 3034 case Op::OpGroupNonUniformIAdd: *hasResult = true; *hasResultType = true; break; 3035 case Op::OpGroupNonUniformFAdd: *hasResult = true; *hasResultType = true; break; 3036 case Op::OpGroupNonUniformIMul: *hasResult = true; *hasResultType = true; break; 3037 case Op::OpGroupNonUniformFMul: *hasResult = true; *hasResultType = true; break; 3038 case Op::OpGroupNonUniformSMin: *hasResult = true; *hasResultType = true; break; 3039 case Op::OpGroupNonUniformUMin: *hasResult = true; *hasResultType = true; break; 3040 case Op::OpGroupNonUniformFMin: *hasResult = true; *hasResultType = true; break; 3041 case Op::OpGroupNonUniformSMax: *hasResult = true; *hasResultType = true; break; 3042 case Op::OpGroupNonUniformUMax: *hasResult = true; *hasResultType = true; break; 3043 case Op::OpGroupNonUniformFMax: *hasResult = true; *hasResultType = true; break; 3044 case Op::OpGroupNonUniformBitwiseAnd: *hasResult = true; *hasResultType = true; break; 3045 case Op::OpGroupNonUniformBitwiseOr: *hasResult = true; *hasResultType = true; break; 3046 case Op::OpGroupNonUniformBitwiseXor: *hasResult = true; *hasResultType = true; break; 3047 case Op::OpGroupNonUniformLogicalAnd: *hasResult = true; *hasResultType = true; break; 3048 case Op::OpGroupNonUniformLogicalOr: *hasResult = true; *hasResultType = true; break; 3049 case Op::OpGroupNonUniformLogicalXor: *hasResult = true; *hasResultType = true; break; 3050 case Op::OpGroupNonUniformQuadBroadcast: *hasResult = true; *hasResultType = true; break; 3051 case Op::OpGroupNonUniformQuadSwap: *hasResult = true; *hasResultType = true; break; 3052 case Op::OpCopyLogical: *hasResult = true; *hasResultType = true; break; 3053 case Op::OpPtrEqual: *hasResult = true; *hasResultType = true; break; 3054 case Op::OpPtrNotEqual: *hasResult = true; *hasResultType = true; break; 3055 case Op::OpPtrDiff: *hasResult = true; *hasResultType = true; break; 3056 case Op::OpColorAttachmentReadEXT: *hasResult = true; *hasResultType = true; break; 3057 case Op::OpDepthAttachmentReadEXT: *hasResult = true; *hasResultType = true; break; 3058 case Op::OpStencilAttachmentReadEXT: *hasResult = true; *hasResultType = true; break; 3059 case Op::OpTypeTensorARM: *hasResult = true; *hasResultType = false; break; 3060 case Op::OpTensorReadARM: *hasResult = true; *hasResultType = true; break; 3061 case Op::OpTensorWriteARM: *hasResult = false; *hasResultType = false; break; 3062 case Op::OpTensorQuerySizeARM: *hasResult = true; *hasResultType = true; break; 3063 case Op::OpGraphConstantARM: *hasResult = true; *hasResultType = true; break; 3064 case Op::OpGraphEntryPointARM: *hasResult = false; *hasResultType = false; break; 3065 case Op::OpGraphARM: *hasResult = true; *hasResultType = true; break; 3066 case Op::OpGraphInputARM: *hasResult = true; *hasResultType = true; break; 3067 case Op::OpGraphSetOutputARM: *hasResult = false; *hasResultType = false; break; 3068 case Op::OpGraphEndARM: *hasResult = false; *hasResultType = false; break; 3069 case Op::OpTypeGraphARM: *hasResult = true; *hasResultType = false; break; 3070 case Op::OpBitcastExtractEXT: *hasResult = true; *hasResultType = true; break; 3071 case Op::OpTerminateInvocation: *hasResult = false; *hasResultType = false; break; 3072 case Op::OpTypeUntypedPointerKHR: *hasResult = true; *hasResultType = false; break; 3073 case Op::OpUntypedVariableKHR: *hasResult = true; *hasResultType = true; break; 3074 case Op::OpUntypedAccessChainKHR: *hasResult = true; *hasResultType = true; break; 3075 case Op::OpUntypedInBoundsAccessChainKHR: *hasResult = true; *hasResultType = true; break; 3076 case Op::OpSubgroupBallotKHR: *hasResult = true; *hasResultType = true; break; 3077 case Op::OpSubgroupFirstInvocationKHR: *hasResult = true; *hasResultType = true; break; 3078 case Op::OpUntypedPtrAccessChainKHR: *hasResult = true; *hasResultType = true; break; 3079 case Op::OpUntypedInBoundsPtrAccessChainKHR: *hasResult = true; *hasResultType = true; break; 3080 case Op::OpUntypedArrayLengthKHR: *hasResult = true; *hasResultType = true; break; 3081 case Op::OpUntypedPrefetchKHR: *hasResult = false; *hasResultType = false; break; 3082 case Op::OpFmaKHR: *hasResult = true; *hasResultType = true; break; 3083 case Op::OpSubgroupAllKHR: *hasResult = true; *hasResultType = true; break; 3084 case Op::OpSubgroupAnyKHR: *hasResult = true; *hasResultType = true; break; 3085 case Op::OpSubgroupAllEqualKHR: *hasResult = true; *hasResultType = true; break; 3086 case Op::OpGroupNonUniformRotateKHR: *hasResult = true; *hasResultType = true; break; 3087 case Op::OpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = true; break; 3088 case Op::OpExtInstWithForwardRefsKHR: *hasResult = true; *hasResultType = true; break; 3089 case Op::OpUntypedGroupAsyncCopyKHR: *hasResult = true; *hasResultType = true; break; 3090 case Op::OpTraceRayKHR: *hasResult = false; *hasResultType = false; break; 3091 case Op::OpExecuteCallableKHR: *hasResult = false; *hasResultType = false; break; 3092 case Op::OpConvertUToAccelerationStructureKHR: *hasResult = true; *hasResultType = true; break; 3093 case Op::OpIgnoreIntersectionKHR: *hasResult = false; *hasResultType = false; break; 3094 case Op::OpTerminateRayKHR: *hasResult = false; *hasResultType = false; break; 3095 case Op::OpSDot: *hasResult = true; *hasResultType = true; break; 3096 case Op::OpUDot: *hasResult = true; *hasResultType = true; break; 3097 case Op::OpSUDot: *hasResult = true; *hasResultType = true; break; 3098 case Op::OpSDotAccSat: *hasResult = true; *hasResultType = true; break; 3099 case Op::OpUDotAccSat: *hasResult = true; *hasResultType = true; break; 3100 case Op::OpSUDotAccSat: *hasResult = true; *hasResultType = true; break; 3101 case Op::OpTypeCooperativeMatrixKHR: *hasResult = true; *hasResultType = false; break; 3102 case Op::OpCooperativeMatrixLoadKHR: *hasResult = true; *hasResultType = true; break; 3103 case Op::OpCooperativeMatrixStoreKHR: *hasResult = false; *hasResultType = false; break; 3104 case Op::OpCooperativeMatrixMulAddKHR: *hasResult = true; *hasResultType = true; break; 3105 case Op::OpCooperativeMatrixLengthKHR: *hasResult = true; *hasResultType = true; break; 3106 case Op::OpConstantCompositeReplicateEXT: *hasResult = true; *hasResultType = true; break; 3107 case Op::OpSpecConstantCompositeReplicateEXT: *hasResult = true; *hasResultType = true; break; 3108 case Op::OpCompositeConstructReplicateEXT: *hasResult = true; *hasResultType = true; break; 3109 case Op::OpTypeRayQueryKHR: *hasResult = true; *hasResultType = false; break; 3110 case Op::OpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break; 3111 case Op::OpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break; 3112 case Op::OpRayQueryGenerateIntersectionKHR: *hasResult = false; *hasResultType = false; break; 3113 case Op::OpRayQueryConfirmIntersectionKHR: *hasResult = false; *hasResultType = false; break; 3114 case Op::OpRayQueryProceedKHR: *hasResult = true; *hasResultType = true; break; 3115 case Op::OpRayQueryGetIntersectionTypeKHR: *hasResult = true; *hasResultType = true; break; 3116 case Op::OpImageSampleWeightedQCOM: *hasResult = true; *hasResultType = true; break; 3117 case Op::OpImageBoxFilterQCOM: *hasResult = true; *hasResultType = true; break; 3118 case Op::OpImageBlockMatchSSDQCOM: *hasResult = true; *hasResultType = true; break; 3119 case Op::OpImageBlockMatchSADQCOM: *hasResult = true; *hasResultType = true; break; 3120 case Op::OpBitCastArrayQCOM: *hasResult = true; *hasResultType = true; break; 3121 case Op::OpImageBlockMatchWindowSSDQCOM: *hasResult = true; *hasResultType = true; break; 3122 case Op::OpImageBlockMatchWindowSADQCOM: *hasResult = true; *hasResultType = true; break; 3123 case Op::OpImageBlockMatchGatherSSDQCOM: *hasResult = true; *hasResultType = true; break; 3124 case Op::OpImageBlockMatchGatherSADQCOM: *hasResult = true; *hasResultType = true; break; 3125 case Op::OpCompositeConstructCoopMatQCOM: *hasResult = true; *hasResultType = true; break; 3126 case Op::OpCompositeExtractCoopMatQCOM: *hasResult = true; *hasResultType = true; break; 3127 case Op::OpExtractSubArrayQCOM: *hasResult = true; *hasResultType = true; break; 3128 case Op::OpImageGatherQCOM: *hasResult = true; *hasResultType = true; break; 3129 case Op::OpGroupIAddNonUniformAMD: *hasResult = true; *hasResultType = true; break; 3130 case Op::OpGroupFAddNonUniformAMD: *hasResult = true; *hasResultType = true; break; 3131 case Op::OpGroupFMinNonUniformAMD: *hasResult = true; *hasResultType = true; break; 3132 case Op::OpGroupUMinNonUniformAMD: *hasResult = true; *hasResultType = true; break; 3133 case Op::OpGroupSMinNonUniformAMD: *hasResult = true; *hasResultType = true; break; 3134 case Op::OpGroupFMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break; 3135 case Op::OpGroupUMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break; 3136 case Op::OpGroupSMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break; 3137 case Op::OpFragmentMaskFetchAMD: *hasResult = true; *hasResultType = true; break; 3138 case Op::OpFragmentFetchAMD: *hasResult = true; *hasResultType = true; break; 3139 case Op::OpReadClockKHR: *hasResult = true; *hasResultType = true; break; 3140 case Op::OpAllocateNodePayloadsAMDX: *hasResult = true; *hasResultType = true; break; 3141 case Op::OpEnqueueNodePayloadsAMDX: *hasResult = false; *hasResultType = false; break; 3142 case Op::OpTypeNodePayloadArrayAMDX: *hasResult = true; *hasResultType = false; break; 3143 case Op::OpFinishWritingNodePayloadAMDX: *hasResult = true; *hasResultType = true; break; 3144 case Op::OpNodePayloadArrayLengthAMDX: *hasResult = true; *hasResultType = true; break; 3145 case Op::OpIsNodePayloadValidAMDX: *hasResult = true; *hasResultType = true; break; 3146 case Op::OpConstantStringAMDX: *hasResult = true; *hasResultType = false; break; 3147 case Op::OpSpecConstantStringAMDX: *hasResult = true; *hasResultType = false; break; 3148 case Op::OpGroupNonUniformQuadAllKHR: *hasResult = true; *hasResultType = true; break; 3149 case Op::OpGroupNonUniformQuadAnyKHR: *hasResult = true; *hasResultType = true; break; 3150 case Op::OpTypeBufferEXT: *hasResult = true; *hasResultType = false; break; 3151 case Op::OpBufferPointerEXT: *hasResult = true; *hasResultType = true; break; 3152 case Op::OpAbortKHR: *hasResult = false; *hasResultType = false; break; 3153 case Op::OpUntypedImageTexelPointerEXT: *hasResult = true; *hasResultType = true; break; 3154 case Op::OpMemberDecorateIdEXT: *hasResult = false; *hasResultType = false; break; 3155 case Op::OpConstantSizeOfEXT: *hasResult = true; *hasResultType = true; break; 3156 case Op::OpConstantDataKHR: *hasResult = true; *hasResultType = true; break; 3157 case Op::OpSpecConstantDataKHR: *hasResult = true; *hasResultType = true; break; 3158 case Op::OpPoisonKHR: *hasResult = true; *hasResultType = true; break; 3159 case Op::OpFreezeKHR: *hasResult = true; *hasResultType = true; break; 3160 case Op::OpHitObjectRecordHitMotionNV: *hasResult = false; *hasResultType = false; break; 3161 case Op::OpHitObjectRecordHitWithIndexMotionNV: *hasResult = false; *hasResultType = false; break; 3162 case Op::OpHitObjectRecordMissMotionNV: *hasResult = false; *hasResultType = false; break; 3163 case Op::OpHitObjectGetWorldToObjectNV: *hasResult = true; *hasResultType = true; break; 3164 case Op::OpHitObjectGetObjectToWorldNV: *hasResult = true; *hasResultType = true; break; 3165 case Op::OpHitObjectGetObjectRayDirectionNV: *hasResult = true; *hasResultType = true; break; 3166 case Op::OpHitObjectGetObjectRayOriginNV: *hasResult = true; *hasResultType = true; break; 3167 case Op::OpHitObjectTraceRayMotionNV: *hasResult = false; *hasResultType = false; break; 3168 case Op::OpHitObjectGetShaderRecordBufferHandleNV: *hasResult = true; *hasResultType = true; break; 3169 case Op::OpHitObjectGetShaderBindingTableRecordIndexNV: *hasResult = true; *hasResultType = true; break; 3170 case Op::OpHitObjectRecordEmptyNV: *hasResult = false; *hasResultType = false; break; 3171 case Op::OpHitObjectTraceRayNV: *hasResult = false; *hasResultType = false; break; 3172 case Op::OpHitObjectRecordHitNV: *hasResult = false; *hasResultType = false; break; 3173 case Op::OpHitObjectRecordHitWithIndexNV: *hasResult = false; *hasResultType = false; break; 3174 case Op::OpHitObjectRecordMissNV: *hasResult = false; *hasResultType = false; break; 3175 case Op::OpHitObjectExecuteShaderNV: *hasResult = false; *hasResultType = false; break; 3176 case Op::OpHitObjectGetCurrentTimeNV: *hasResult = true; *hasResultType = true; break; 3177 case Op::OpHitObjectGetAttributesNV: *hasResult = false; *hasResultType = false; break; 3178 case Op::OpHitObjectGetHitKindNV: *hasResult = true; *hasResultType = true; break; 3179 case Op::OpHitObjectGetPrimitiveIndexNV: *hasResult = true; *hasResultType = true; break; 3180 case Op::OpHitObjectGetGeometryIndexNV: *hasResult = true; *hasResultType = true; break; 3181 case Op::OpHitObjectGetInstanceIdNV: *hasResult = true; *hasResultType = true; break; 3182 case Op::OpHitObjectGetInstanceCustomIndexNV: *hasResult = true; *hasResultType = true; break; 3183 case Op::OpHitObjectGetWorldRayDirectionNV: *hasResult = true; *hasResultType = true; break; 3184 case Op::OpHitObjectGetWorldRayOriginNV: *hasResult = true; *hasResultType = true; break; 3185 case Op::OpHitObjectGetRayTMaxNV: *hasResult = true; *hasResultType = true; break; 3186 case Op::OpHitObjectGetRayTMinNV: *hasResult = true; *hasResultType = true; break; 3187 case Op::OpHitObjectIsEmptyNV: *hasResult = true; *hasResultType = true; break; 3188 case Op::OpHitObjectIsHitNV: *hasResult = true; *hasResultType = true; break; 3189 case Op::OpHitObjectIsMissNV: *hasResult = true; *hasResultType = true; break; 3190 case Op::OpReorderThreadWithHitObjectNV: *hasResult = false; *hasResultType = false; break; 3191 case Op::OpReorderThreadWithHintNV: *hasResult = false; *hasResultType = false; break; 3192 case Op::OpTypeHitObjectNV: *hasResult = true; *hasResultType = false; break; 3193 case Op::OpImageSampleFootprintNV: *hasResult = true; *hasResultType = true; break; 3194 case Op::OpTypeVectorIdEXT: *hasResult = true; *hasResultType = false; break; 3195 case Op::OpCooperativeVectorMatrixMulNV: *hasResult = true; *hasResultType = true; break; 3196 case Op::OpCooperativeVectorOuterProductAccumulateNV: *hasResult = false; *hasResultType = false; break; 3197 case Op::OpCooperativeVectorReduceSumAccumulateNV: *hasResult = false; *hasResultType = false; break; 3198 case Op::OpCooperativeVectorMatrixMulAddNV: *hasResult = true; *hasResultType = true; break; 3199 case Op::OpCooperativeMatrixConvertUseEXT: *hasResult = true; *hasResultType = true; break; 3200 case Op::OpEmitMeshTasksEXT: *hasResult = false; *hasResultType = false; break; 3201 case Op::OpSetMeshOutputsEXT: *hasResult = false; *hasResultType = false; break; 3202 case Op::OpGroupNonUniformPartitionEXT: *hasResult = true; *hasResultType = true; break; 3203 case Op::OpWritePackedPrimitiveIndices4x8NV: *hasResult = false; *hasResultType = false; break; 3204 case Op::OpFetchMicroTriangleVertexPositionNV: *hasResult = true; *hasResultType = true; break; 3205 case Op::OpFetchMicroTriangleVertexBarycentricNV: *hasResult = true; *hasResultType = true; break; 3206 case Op::OpCooperativeVectorLoadNV: *hasResult = true; *hasResultType = true; break; 3207 case Op::OpCooperativeVectorStoreNV: *hasResult = false; *hasResultType = false; break; 3208 case Op::OpHitObjectRecordFromQueryEXT: *hasResult = false; *hasResultType = false; break; 3209 case Op::OpHitObjectRecordMissEXT: *hasResult = false; *hasResultType = false; break; 3210 case Op::OpHitObjectRecordMissMotionEXT: *hasResult = false; *hasResultType = false; break; 3211 case Op::OpHitObjectGetIntersectionTriangleVertexPositionsEXT: *hasResult = true; *hasResultType = true; break; 3212 case Op::OpHitObjectGetRayFlagsEXT: *hasResult = true; *hasResultType = true; break; 3213 case Op::OpHitObjectSetShaderBindingTableRecordIndexEXT: *hasResult = false; *hasResultType = false; break; 3214 case Op::OpHitObjectReorderExecuteShaderEXT: *hasResult = false; *hasResultType = false; break; 3215 case Op::OpHitObjectTraceReorderExecuteEXT: *hasResult = false; *hasResultType = false; break; 3216 case Op::OpHitObjectTraceMotionReorderExecuteEXT: *hasResult = false; *hasResultType = false; break; 3217 case Op::OpTypeHitObjectEXT: *hasResult = true; *hasResultType = false; break; 3218 case Op::OpReorderThreadWithHintEXT: *hasResult = false; *hasResultType = false; break; 3219 case Op::OpReorderThreadWithHitObjectEXT: *hasResult = false; *hasResultType = false; break; 3220 case Op::OpHitObjectTraceRayEXT: *hasResult = false; *hasResultType = false; break; 3221 case Op::OpHitObjectTraceRayMotionEXT: *hasResult = false; *hasResultType = false; break; 3222 case Op::OpHitObjectRecordEmptyEXT: *hasResult = false; *hasResultType = false; break; 3223 case Op::OpHitObjectExecuteShaderEXT: *hasResult = false; *hasResultType = false; break; 3224 case Op::OpHitObjectGetCurrentTimeEXT: *hasResult = true; *hasResultType = true; break; 3225 case Op::OpHitObjectGetAttributesEXT: *hasResult = false; *hasResultType = false; break; 3226 case Op::OpHitObjectGetHitKindEXT: *hasResult = true; *hasResultType = true; break; 3227 case Op::OpHitObjectGetPrimitiveIndexEXT: *hasResult = true; *hasResultType = true; break; 3228 case Op::OpHitObjectGetGeometryIndexEXT: *hasResult = true; *hasResultType = true; break; 3229 case Op::OpHitObjectGetInstanceIdEXT: *hasResult = true; *hasResultType = true; break; 3230 case Op::OpHitObjectGetInstanceCustomIndexEXT: *hasResult = true; *hasResultType = true; break; 3231 case Op::OpHitObjectGetObjectRayOriginEXT: *hasResult = true; *hasResultType = true; break; 3232 case Op::OpHitObjectGetObjectRayDirectionEXT: *hasResult = true; *hasResultType = true; break; 3233 case Op::OpHitObjectGetWorldRayDirectionEXT: *hasResult = true; *hasResultType = true; break; 3234 case Op::OpHitObjectGetWorldRayOriginEXT: *hasResult = true; *hasResultType = true; break; 3235 case Op::OpHitObjectGetObjectToWorldEXT: *hasResult = true; *hasResultType = true; break; 3236 case Op::OpHitObjectGetWorldToObjectEXT: *hasResult = true; *hasResultType = true; break; 3237 case Op::OpHitObjectGetRayTMaxEXT: *hasResult = true; *hasResultType = true; break; 3238 case Op::OpReportIntersectionKHR: *hasResult = true; *hasResultType = true; break; 3239 case Op::OpIgnoreIntersectionNV: *hasResult = false; *hasResultType = false; break; 3240 case Op::OpTerminateRayNV: *hasResult = false; *hasResultType = false; break; 3241 case Op::OpTraceNV: *hasResult = false; *hasResultType = false; break; 3242 case Op::OpTraceMotionNV: *hasResult = false; *hasResultType = false; break; 3243 case Op::OpTraceRayMotionNV: *hasResult = false; *hasResultType = false; break; 3244 case Op::OpRayQueryGetIntersectionTriangleVertexPositionsKHR: *hasResult = true; *hasResultType = true; break; 3245 case Op::OpTypeAccelerationStructureKHR: *hasResult = true; *hasResultType = false; break; 3246 case Op::OpExecuteCallableNV: *hasResult = false; *hasResultType = false; break; 3247 case Op::OpRayQueryGetIntersectionClusterIdNV: *hasResult = true; *hasResultType = true; break; 3248 case Op::OpHitObjectGetClusterIdNV: *hasResult = true; *hasResultType = true; break; 3249 case Op::OpHitObjectGetRayTMinEXT: *hasResult = true; *hasResultType = true; break; 3250 case Op::OpHitObjectGetShaderBindingTableRecordIndexEXT: *hasResult = true; *hasResultType = true; break; 3251 case Op::OpHitObjectGetShaderRecordBufferHandleEXT: *hasResult = true; *hasResultType = true; break; 3252 case Op::OpHitObjectIsEmptyEXT: *hasResult = true; *hasResultType = true; break; 3253 case Op::OpHitObjectIsHitEXT: *hasResult = true; *hasResultType = true; break; 3254 case Op::OpHitObjectIsMissEXT: *hasResult = true; *hasResultType = true; break; 3255 case Op::OpTypeCooperativeMatrixNV: *hasResult = true; *hasResultType = false; break; 3256 case Op::OpCooperativeMatrixLoadNV: *hasResult = true; *hasResultType = true; break; 3257 case Op::OpCooperativeMatrixStoreNV: *hasResult = false; *hasResultType = false; break; 3258 case Op::OpCooperativeMatrixMulAddNV: *hasResult = true; *hasResultType = true; break; 3259 case Op::OpCooperativeMatrixLengthNV: *hasResult = true; *hasResultType = true; break; 3260 case Op::OpCooperativeMatrixGetCoordinateEXT: *hasResult = true; *hasResultType = true; break; 3261 case Op::OpBeginInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break; 3262 case Op::OpEndInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break; 3263 case Op::OpCooperativeMatrixReduceEXT: *hasResult = true; *hasResultType = true; break; 3264 case Op::OpCooperativeMatrixLoadTensorNV: *hasResult = true; *hasResultType = true; break; 3265 case Op::OpCooperativeMatrixStoreTensorNV: *hasResult = false; *hasResultType = false; break; 3266 case Op::OpCooperativeMatrixPerElementOpEXT: *hasResult = true; *hasResultType = true; break; 3267 case Op::OpTypeTensorLayoutNV: *hasResult = true; *hasResultType = false; break; 3268 case Op::OpTypeTensorViewNV: *hasResult = true; *hasResultType = false; break; 3269 case Op::OpCreateTensorLayoutNV: *hasResult = true; *hasResultType = true; break; 3270 case Op::OpTensorLayoutSetDimensionNV: *hasResult = true; *hasResultType = true; break; 3271 case Op::OpTensorLayoutSetStrideNV: *hasResult = true; *hasResultType = true; break; 3272 case Op::OpTensorLayoutSliceNV: *hasResult = true; *hasResultType = true; break; 3273 case Op::OpTensorLayoutSetClampValueNV: *hasResult = true; *hasResultType = true; break; 3274 case Op::OpCreateTensorViewNV: *hasResult = true; *hasResultType = true; break; 3275 case Op::OpTensorViewSetDimensionNV: *hasResult = true; *hasResultType = true; break; 3276 case Op::OpTensorViewSetStrideNV: *hasResult = true; *hasResultType = true; break; 3277 case Op::OpDemoteToHelperInvocation: *hasResult = false; *hasResultType = false; break; 3278 case Op::OpIsHelperInvocationEXT: *hasResult = true; *hasResultType = true; break; 3279 case Op::OpTensorViewSetClipNV: *hasResult = true; *hasResultType = true; break; 3280 case Op::OpTensorLayoutSetBlockSizeNV: *hasResult = true; *hasResultType = true; break; 3281 case Op::OpCooperativeMatrixTransposeNV: *hasResult = true; *hasResultType = true; break; 3282 case Op::OpConvertUToImageNV: *hasResult = true; *hasResultType = true; break; 3283 case Op::OpConvertUToSamplerNV: *hasResult = true; *hasResultType = true; break; 3284 case Op::OpConvertImageToUNV: *hasResult = true; *hasResultType = true; break; 3285 case Op::OpConvertSamplerToUNV: *hasResult = true; *hasResultType = true; break; 3286 case Op::OpConvertUToSampledImageNV: *hasResult = true; *hasResultType = true; break; 3287 case Op::OpConvertSampledImageToUNV: *hasResult = true; *hasResultType = true; break; 3288 case Op::OpSamplerImageAddressingModeNV: *hasResult = false; *hasResultType = false; break; 3289 case Op::OpRawAccessChainNV: *hasResult = true; *hasResultType = true; break; 3290 case Op::OpRayQueryGetIntersectionSpherePositionNV: *hasResult = true; *hasResultType = true; break; 3291 case Op::OpRayQueryGetIntersectionSphereRadiusNV: *hasResult = true; *hasResultType = true; break; 3292 case Op::OpRayQueryGetIntersectionLSSPositionsNV: *hasResult = true; *hasResultType = true; break; 3293 case Op::OpRayQueryGetIntersectionLSSRadiiNV: *hasResult = true; *hasResultType = true; break; 3294 case Op::OpRayQueryGetIntersectionLSSHitValueNV: *hasResult = true; *hasResultType = true; break; 3295 case Op::OpHitObjectGetSpherePositionNV: *hasResult = true; *hasResultType = true; break; 3296 case Op::OpHitObjectGetSphereRadiusNV: *hasResult = true; *hasResultType = true; break; 3297 case Op::OpHitObjectGetLSSPositionsNV: *hasResult = true; *hasResultType = true; break; 3298 case Op::OpHitObjectGetLSSRadiiNV: *hasResult = true; *hasResultType = true; break; 3299 case Op::OpHitObjectIsSphereHitNV: *hasResult = true; *hasResultType = true; break; 3300 case Op::OpHitObjectIsLSSHitNV: *hasResult = true; *hasResultType = true; break; 3301 case Op::OpRayQueryIsSphereHitNV: *hasResult = true; *hasResultType = true; break; 3302 case Op::OpRayQueryIsLSSHitNV: *hasResult = true; *hasResultType = true; break; 3303 case Op::OpSubgroupShuffleINTEL: *hasResult = true; *hasResultType = true; break; 3304 case Op::OpSubgroupShuffleDownINTEL: *hasResult = true; *hasResultType = true; break; 3305 case Op::OpSubgroupShuffleUpINTEL: *hasResult = true; *hasResultType = true; break; 3306 case Op::OpSubgroupShuffleXorINTEL: *hasResult = true; *hasResultType = true; break; 3307 case Op::OpSubgroupBlockReadINTEL: *hasResult = true; *hasResultType = true; break; 3308 case Op::OpSubgroupBlockWriteINTEL: *hasResult = false; *hasResultType = false; break; 3309 case Op::OpSubgroupImageBlockReadINTEL: *hasResult = true; *hasResultType = true; break; 3310 case Op::OpSubgroupImageBlockWriteINTEL: *hasResult = false; *hasResultType = false; break; 3311 case Op::OpSubgroupImageMediaBlockReadINTEL: *hasResult = true; *hasResultType = true; break; 3312 case Op::OpSubgroupImageMediaBlockWriteINTEL: *hasResult = false; *hasResultType = false; break; 3313 case Op::OpUCountLeadingZerosINTEL: *hasResult = true; *hasResultType = true; break; 3314 case Op::OpUCountTrailingZerosINTEL: *hasResult = true; *hasResultType = true; break; 3315 case Op::OpAbsISubINTEL: *hasResult = true; *hasResultType = true; break; 3316 case Op::OpAbsUSubINTEL: *hasResult = true; *hasResultType = true; break; 3317 case Op::OpIAddSatINTEL: *hasResult = true; *hasResultType = true; break; 3318 case Op::OpUAddSatINTEL: *hasResult = true; *hasResultType = true; break; 3319 case Op::OpIAverageINTEL: *hasResult = true; *hasResultType = true; break; 3320 case Op::OpUAverageINTEL: *hasResult = true; *hasResultType = true; break; 3321 case Op::OpIAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break; 3322 case Op::OpUAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break; 3323 case Op::OpISubSatINTEL: *hasResult = true; *hasResultType = true; break; 3324 case Op::OpUSubSatINTEL: *hasResult = true; *hasResultType = true; break; 3325 case Op::OpIMul32x16INTEL: *hasResult = true; *hasResultType = true; break; 3326 case Op::OpUMul32x16INTEL: *hasResult = true; *hasResultType = true; break; 3327 case Op::OpConstantFunctionPointerINTEL: *hasResult = true; *hasResultType = true; break; 3328 case Op::OpFunctionPointerCallINTEL: *hasResult = true; *hasResultType = true; break; 3329 case Op::OpAsmTargetINTEL: *hasResult = true; *hasResultType = false; break; 3330 case Op::OpAsmINTEL: *hasResult = true; *hasResultType = true; break; 3331 case Op::OpAsmCallINTEL: *hasResult = true; *hasResultType = true; break; 3332 case Op::OpAtomicFMinEXT: *hasResult = true; *hasResultType = true; break; 3333 case Op::OpAtomicFMaxEXT: *hasResult = true; *hasResultType = true; break; 3334 case Op::OpAssumeTrueKHR: *hasResult = false; *hasResultType = false; break; 3335 case Op::OpExpectKHR: *hasResult = true; *hasResultType = true; break; 3336 case Op::OpDecorateString: *hasResult = false; *hasResultType = false; break; 3337 case Op::OpMemberDecorateString: *hasResult = false; *hasResultType = false; break; 3338 case Op::OpVmeImageINTEL: *hasResult = true; *hasResultType = true; break; 3339 case Op::OpTypeVmeImageINTEL: *hasResult = true; *hasResultType = false; break; 3340 case Op::OpTypeAvcImePayloadINTEL: *hasResult = true; *hasResultType = false; break; 3341 case Op::OpTypeAvcRefPayloadINTEL: *hasResult = true; *hasResultType = false; break; 3342 case Op::OpTypeAvcSicPayloadINTEL: *hasResult = true; *hasResultType = false; break; 3343 case Op::OpTypeAvcMcePayloadINTEL: *hasResult = true; *hasResultType = false; break; 3344 case Op::OpTypeAvcMceResultINTEL: *hasResult = true; *hasResultType = false; break; 3345 case Op::OpTypeAvcImeResultINTEL: *hasResult = true; *hasResultType = false; break; 3346 case Op::OpTypeAvcImeResultSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break; 3347 case Op::OpTypeAvcImeResultDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break; 3348 case Op::OpTypeAvcImeSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break; 3349 case Op::OpTypeAvcImeDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break; 3350 case Op::OpTypeAvcRefResultINTEL: *hasResult = true; *hasResultType = false; break; 3351 case Op::OpTypeAvcSicResultINTEL: *hasResult = true; *hasResultType = false; break; 3352 case Op::OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break; 3353 case Op::OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break; 3354 case Op::OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break; 3355 case Op::OpSubgroupAvcMceSetInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break; 3356 case Op::OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break; 3357 case Op::OpSubgroupAvcMceSetInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break; 3358 case Op::OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break; 3359 case Op::OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL: *hasResult = true; *hasResultType = true; break; 3360 case Op::OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break; 3361 case Op::OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break; 3362 case Op::OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break; 3363 case Op::OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL: *hasResult = true; *hasResultType = true; break; 3364 case Op::OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL: *hasResult = true; *hasResultType = true; break; 3365 case Op::OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL: *hasResult = true; *hasResultType = true; break; 3366 case Op::OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL: *hasResult = true; *hasResultType = true; break; 3367 case Op::OpSubgroupAvcMceSetAcOnlyHaarINTEL: *hasResult = true; *hasResultType = true; break; 3368 case Op::OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break; 3369 case Op::OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break; 3370 case Op::OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break; 3371 case Op::OpSubgroupAvcMceConvertToImePayloadINTEL: *hasResult = true; *hasResultType = true; break; 3372 case Op::OpSubgroupAvcMceConvertToImeResultINTEL: *hasResult = true; *hasResultType = true; break; 3373 case Op::OpSubgroupAvcMceConvertToRefPayloadINTEL: *hasResult = true; *hasResultType = true; break; 3374 case Op::OpSubgroupAvcMceConvertToRefResultINTEL: *hasResult = true; *hasResultType = true; break; 3375 case Op::OpSubgroupAvcMceConvertToSicPayloadINTEL: *hasResult = true; *hasResultType = true; break; 3376 case Op::OpSubgroupAvcMceConvertToSicResultINTEL: *hasResult = true; *hasResultType = true; break; 3377 case Op::OpSubgroupAvcMceGetMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break; 3378 case Op::OpSubgroupAvcMceGetInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break; 3379 case Op::OpSubgroupAvcMceGetBestInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break; 3380 case Op::OpSubgroupAvcMceGetInterMajorShapeINTEL: *hasResult = true; *hasResultType = true; break; 3381 case Op::OpSubgroupAvcMceGetInterMinorShapeINTEL: *hasResult = true; *hasResultType = true; break; 3382 case Op::OpSubgroupAvcMceGetInterDirectionsINTEL: *hasResult = true; *hasResultType = true; break; 3383 case Op::OpSubgroupAvcMceGetInterMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break; 3384 case Op::OpSubgroupAvcMceGetInterReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break; 3385 case Op::OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break; 3386 case Op::OpSubgroupAvcImeInitializeINTEL: *hasResult = true; *hasResultType = true; break; 3387 case Op::OpSubgroupAvcImeSetSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break; 3388 case Op::OpSubgroupAvcImeSetDualReferenceINTEL: *hasResult = true; *hasResultType = true; break; 3389 case Op::OpSubgroupAvcImeRefWindowSizeINTEL: *hasResult = true; *hasResultType = true; break; 3390 case Op::OpSubgroupAvcImeAdjustRefOffsetINTEL: *hasResult = true; *hasResultType = true; break; 3391 case Op::OpSubgroupAvcImeConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break; 3392 case Op::OpSubgroupAvcImeSetMaxMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break; 3393 case Op::OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break; 3394 case Op::OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL: *hasResult = true; *hasResultType = true; break; 3395 case Op::OpSubgroupAvcImeSetWeightedSadINTEL: *hasResult = true; *hasResultType = true; break; 3396 case Op::OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break; 3397 case Op::OpSubgroupAvcImeEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break; 3398 case Op::OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break; 3399 case Op::OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break; 3400 case Op::OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break; 3401 case Op::OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break; 3402 case Op::OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break; 3403 case Op::OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break; 3404 case Op::OpSubgroupAvcImeConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break; 3405 case Op::OpSubgroupAvcImeGetSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break; 3406 case Op::OpSubgroupAvcImeGetDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break; 3407 case Op::OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break; 3408 case Op::OpSubgroupAvcImeStripDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break; 3409 case Op::OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break; 3410 case Op::OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break; 3411 case Op::OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break; 3412 case Op::OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break; 3413 case Op::OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break; 3414 case Op::OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break; 3415 case Op::OpSubgroupAvcImeGetBorderReachedINTEL: *hasResult = true; *hasResultType = true; break; 3416 case Op::OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL: *hasResult = true; *hasResultType = true; break; 3417 case Op::OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL: *hasResult = true; *hasResultType = true; break; 3418 case Op::OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL: *hasResult = true; *hasResultType = true; break; 3419 case Op::OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL: *hasResult = true; *hasResultType = true; break; 3420 case Op::OpSubgroupAvcFmeInitializeINTEL: *hasResult = true; *hasResultType = true; break; 3421 case Op::OpSubgroupAvcBmeInitializeINTEL: *hasResult = true; *hasResultType = true; break; 3422 case Op::OpSubgroupAvcRefConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break; 3423 case Op::OpSubgroupAvcRefSetBidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break; 3424 case Op::OpSubgroupAvcRefSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break; 3425 case Op::OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break; 3426 case Op::OpSubgroupAvcRefEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break; 3427 case Op::OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break; 3428 case Op::OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break; 3429 case Op::OpSubgroupAvcRefConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break; 3430 case Op::OpSubgroupAvcSicInitializeINTEL: *hasResult = true; *hasResultType = true; break; 3431 case Op::OpSubgroupAvcSicConfigureSkcINTEL: *hasResult = true; *hasResultType = true; break; 3432 case Op::OpSubgroupAvcSicConfigureIpeLumaINTEL: *hasResult = true; *hasResultType = true; break; 3433 case Op::OpSubgroupAvcSicConfigureIpeLumaChromaINTEL: *hasResult = true; *hasResultType = true; break; 3434 case Op::OpSubgroupAvcSicGetMotionVectorMaskINTEL: *hasResult = true; *hasResultType = true; break; 3435 case Op::OpSubgroupAvcSicConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break; 3436 case Op::OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break; 3437 case Op::OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break; 3438 case Op::OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break; 3439 case Op::OpSubgroupAvcSicSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break; 3440 case Op::OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL: *hasResult = true; *hasResultType = true; break; 3441 case Op::OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL: *hasResult = true; *hasResultType = true; break; 3442 case Op::OpSubgroupAvcSicEvaluateIpeINTEL: *hasResult = true; *hasResultType = true; break; 3443 case Op::OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break; 3444 case Op::OpSubgroupAvcSicEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break; 3445 case Op::OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break; 3446 case Op::OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break; 3447 case Op::OpSubgroupAvcSicConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break; 3448 case Op::OpSubgroupAvcSicGetIpeLumaShapeINTEL: *hasResult = true; *hasResultType = true; break; 3449 case Op::OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL: *hasResult = true; *hasResultType = true; break; 3450 case Op::OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL: *hasResult = true; *hasResultType = true; break; 3451 case Op::OpSubgroupAvcSicGetPackedIpeLumaModesINTEL: *hasResult = true; *hasResultType = true; break; 3452 case Op::OpSubgroupAvcSicGetIpeChromaModeINTEL: *hasResult = true; *hasResultType = true; break; 3453 case Op::OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: *hasResult = true; *hasResultType = true; break; 3454 case Op::OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: *hasResult = true; *hasResultType = true; break; 3455 case Op::OpSubgroupAvcSicGetInterRawSadsINTEL: *hasResult = true; *hasResultType = true; break; 3456 case Op::OpVariableLengthArrayINTEL: *hasResult = true; *hasResultType = true; break; 3457 case Op::OpSaveMemoryINTEL: *hasResult = true; *hasResultType = true; break; 3458 case Op::OpRestoreMemoryINTEL: *hasResult = false; *hasResultType = false; break; 3459 case Op::OpArbitraryFloatSinCosPiALTERA: *hasResult = true; *hasResultType = true; break; 3460 case Op::OpArbitraryFloatCastALTERA: *hasResult = true; *hasResultType = true; break; 3461 case Op::OpArbitraryFloatCastFromIntALTERA: *hasResult = true; *hasResultType = true; break; 3462 case Op::OpArbitraryFloatCastToIntALTERA: *hasResult = true; *hasResultType = true; break; 3463 case Op::OpArbitraryFloatAddALTERA: *hasResult = true; *hasResultType = true; break; 3464 case Op::OpArbitraryFloatSubALTERA: *hasResult = true; *hasResultType = true; break; 3465 case Op::OpArbitraryFloatMulALTERA: *hasResult = true; *hasResultType = true; break; 3466 case Op::OpArbitraryFloatDivALTERA: *hasResult = true; *hasResultType = true; break; 3467 case Op::OpArbitraryFloatGTALTERA: *hasResult = true; *hasResultType = true; break; 3468 case Op::OpArbitraryFloatGEALTERA: *hasResult = true; *hasResultType = true; break; 3469 case Op::OpArbitraryFloatLTALTERA: *hasResult = true; *hasResultType = true; break; 3470 case Op::OpArbitraryFloatLEALTERA: *hasResult = true; *hasResultType = true; break; 3471 case Op::OpArbitraryFloatEQALTERA: *hasResult = true; *hasResultType = true; break; 3472 case Op::OpArbitraryFloatRecipALTERA: *hasResult = true; *hasResultType = true; break; 3473 case Op::OpArbitraryFloatRSqrtALTERA: *hasResult = true; *hasResultType = true; break; 3474 case Op::OpArbitraryFloatCbrtALTERA: *hasResult = true; *hasResultType = true; break; 3475 case Op::OpArbitraryFloatHypotALTERA: *hasResult = true; *hasResultType = true; break; 3476 case Op::OpArbitraryFloatSqrtALTERA: *hasResult = true; *hasResultType = true; break; 3477 case Op::OpArbitraryFloatLogINTEL: *hasResult = true; *hasResultType = true; break; 3478 case Op::OpArbitraryFloatLog2INTEL: *hasResult = true; *hasResultType = true; break; 3479 case Op::OpArbitraryFloatLog10INTEL: *hasResult = true; *hasResultType = true; break; 3480 case Op::OpArbitraryFloatLog1pINTEL: *hasResult = true; *hasResultType = true; break; 3481 case Op::OpArbitraryFloatExpINTEL: *hasResult = true; *hasResultType = true; break; 3482 case Op::OpArbitraryFloatExp2INTEL: *hasResult = true; *hasResultType = true; break; 3483 case Op::OpArbitraryFloatExp10INTEL: *hasResult = true; *hasResultType = true; break; 3484 case Op::OpArbitraryFloatExpm1INTEL: *hasResult = true; *hasResultType = true; break; 3485 case Op::OpArbitraryFloatSinINTEL: *hasResult = true; *hasResultType = true; break; 3486 case Op::OpArbitraryFloatCosINTEL: *hasResult = true; *hasResultType = true; break; 3487 case Op::OpArbitraryFloatSinCosINTEL: *hasResult = true; *hasResultType = true; break; 3488 case Op::OpArbitraryFloatSinPiINTEL: *hasResult = true; *hasResultType = true; break; 3489 case Op::OpArbitraryFloatCosPiINTEL: *hasResult = true; *hasResultType = true; break; 3490 case Op::OpArbitraryFloatASinINTEL: *hasResult = true; *hasResultType = true; break; 3491 case Op::OpArbitraryFloatASinPiINTEL: *hasResult = true; *hasResultType = true; break; 3492 case Op::OpArbitraryFloatACosINTEL: *hasResult = true; *hasResultType = true; break; 3493 case Op::OpArbitraryFloatACosPiINTEL: *hasResult = true; *hasResultType = true; break; 3494 case Op::OpArbitraryFloatATanINTEL: *hasResult = true; *hasResultType = true; break; 3495 case Op::OpArbitraryFloatATanPiINTEL: *hasResult = true; *hasResultType = true; break; 3496 case Op::OpArbitraryFloatATan2INTEL: *hasResult = true; *hasResultType = true; break; 3497 case Op::OpArbitraryFloatPowINTEL: *hasResult = true; *hasResultType = true; break; 3498 case Op::OpArbitraryFloatPowRINTEL: *hasResult = true; *hasResultType = true; break; 3499 case Op::OpArbitraryFloatPowNINTEL: *hasResult = true; *hasResultType = true; break; 3500 case Op::OpLoopControlINTEL: *hasResult = false; *hasResultType = false; break; 3501 case Op::OpAliasDomainDeclINTEL: *hasResult = true; *hasResultType = false; break; 3502 case Op::OpAliasScopeDeclINTEL: *hasResult = true; *hasResultType = false; break; 3503 case Op::OpAliasScopeListDeclINTEL: *hasResult = true; *hasResultType = false; break; 3504 case Op::OpFixedSqrtALTERA: *hasResult = true; *hasResultType = true; break; 3505 case Op::OpFixedRecipALTERA: *hasResult = true; *hasResultType = true; break; 3506 case Op::OpFixedRsqrtALTERA: *hasResult = true; *hasResultType = true; break; 3507 case Op::OpFixedSinALTERA: *hasResult = true; *hasResultType = true; break; 3508 case Op::OpFixedCosALTERA: *hasResult = true; *hasResultType = true; break; 3509 case Op::OpFixedSinCosALTERA: *hasResult = true; *hasResultType = true; break; 3510 case Op::OpFixedSinPiALTERA: *hasResult = true; *hasResultType = true; break; 3511 case Op::OpFixedCosPiALTERA: *hasResult = true; *hasResultType = true; break; 3512 case Op::OpFixedSinCosPiALTERA: *hasResult = true; *hasResultType = true; break; 3513 case Op::OpFixedLogALTERA: *hasResult = true; *hasResultType = true; break; 3514 case Op::OpFixedExpALTERA: *hasResult = true; *hasResultType = true; break; 3515 case Op::OpPtrCastToCrossWorkgroupALTERA: *hasResult = true; *hasResultType = true; break; 3516 case Op::OpCrossWorkgroupCastToPtrALTERA: *hasResult = true; *hasResultType = true; break; 3517 case Op::OpReadPipeBlockingALTERA: *hasResult = false; *hasResultType = false; break; 3518 case Op::OpWritePipeBlockingALTERA: *hasResult = false; *hasResultType = false; break; 3519 case Op::OpFPGARegALTERA: *hasResult = true; *hasResultType = true; break; 3520 case Op::OpRayQueryGetRayTMinKHR: *hasResult = true; *hasResultType = true; break; 3521 case Op::OpRayQueryGetRayFlagsKHR: *hasResult = true; *hasResultType = true; break; 3522 case Op::OpRayQueryGetIntersectionTKHR: *hasResult = true; *hasResultType = true; break; 3523 case Op::OpRayQueryGetIntersectionInstanceCustomIndexKHR: *hasResult = true; *hasResultType = true; break; 3524 case Op::OpRayQueryGetIntersectionInstanceIdKHR: *hasResult = true; *hasResultType = true; break; 3525 case Op::OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR: *hasResult = true; *hasResultType = true; break; 3526 case Op::OpRayQueryGetIntersectionGeometryIndexKHR: *hasResult = true; *hasResultType = true; break; 3527 case Op::OpRayQueryGetIntersectionPrimitiveIndexKHR: *hasResult = true; *hasResultType = true; break; 3528 case Op::OpRayQueryGetIntersectionBarycentricsKHR: *hasResult = true; *hasResultType = true; break; 3529 case Op::OpRayQueryGetIntersectionFrontFaceKHR: *hasResult = true; *hasResultType = true; break; 3530 case Op::OpRayQueryGetIntersectionCandidateAABBOpaqueKHR: *hasResult = true; *hasResultType = true; break; 3531 case Op::OpRayQueryGetIntersectionObjectRayDirectionKHR: *hasResult = true; *hasResultType = true; break; 3532 case Op::OpRayQueryGetIntersectionObjectRayOriginKHR: *hasResult = true; *hasResultType = true; break; 3533 case Op::OpRayQueryGetWorldRayDirectionKHR: *hasResult = true; *hasResultType = true; break; 3534 case Op::OpRayQueryGetWorldRayOriginKHR: *hasResult = true; *hasResultType = true; break; 3535 case Op::OpRayQueryGetIntersectionObjectToWorldKHR: *hasResult = true; *hasResultType = true; break; 3536 case Op::OpRayQueryGetIntersectionWorldToObjectKHR: *hasResult = true; *hasResultType = true; break; 3537 case Op::OpAtomicFAddEXT: *hasResult = true; *hasResultType = true; break; 3538 case Op::OpTypeBufferSurfaceINTEL: *hasResult = true; *hasResultType = false; break; 3539 case Op::OpTypeStructContinuedINTEL: *hasResult = false; *hasResultType = false; break; 3540 case Op::OpConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break; 3541 case Op::OpSpecConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break; 3542 case Op::OpCompositeConstructContinuedINTEL: *hasResult = false; *hasResultType = false; break; 3543 case Op::OpConvertFToBF16INTEL: *hasResult = true; *hasResultType = true; break; 3544 case Op::OpConvertBF16ToFINTEL: *hasResult = true; *hasResultType = true; break; 3545 case Op::OpControlBarrierArriveEXT: *hasResult = false; *hasResultType = false; break; 3546 case Op::OpControlBarrierWaitEXT: *hasResult = false; *hasResultType = false; break; 3547 case Op::OpArithmeticFenceEXT: *hasResult = true; *hasResultType = true; break; 3548 case Op::OpTaskSequenceCreateALTERA: *hasResult = true; *hasResultType = true; break; 3549 case Op::OpTaskSequenceAsyncALTERA: *hasResult = false; *hasResultType = false; break; 3550 case Op::OpTaskSequenceGetALTERA: *hasResult = true; *hasResultType = true; break; 3551 case Op::OpTaskSequenceReleaseALTERA: *hasResult = false; *hasResultType = false; break; 3552 case Op::OpTypeTaskSequenceALTERA: *hasResult = true; *hasResultType = false; break; 3553 case Op::OpSubgroupBlockPrefetchINTEL: *hasResult = false; *hasResultType = false; break; 3554 case Op::OpSubgroup2DBlockLoadINTEL: *hasResult = false; *hasResultType = false; break; 3555 case Op::OpSubgroup2DBlockLoadTransformINTEL: *hasResult = false; *hasResultType = false; break; 3556 case Op::OpSubgroup2DBlockLoadTransposeINTEL: *hasResult = false; *hasResultType = false; break; 3557 case Op::OpSubgroup2DBlockPrefetchINTEL: *hasResult = false; *hasResultType = false; break; 3558 case Op::OpSubgroup2DBlockStoreINTEL: *hasResult = false; *hasResultType = false; break; 3559 case Op::OpSubgroupMatrixMultiplyAccumulateINTEL: *hasResult = true; *hasResultType = true; break; 3560 case Op::OpBitwiseFunctionINTEL: *hasResult = true; *hasResultType = true; break; 3561 case Op::OpUntypedVariableLengthArrayINTEL: *hasResult = true; *hasResultType = true; break; 3562 case Op::OpConditionalExtensionINTEL: *hasResult = false; *hasResultType = false; break; 3563 case Op::OpConditionalEntryPointINTEL: *hasResult = false; *hasResultType = false; break; 3564 case Op::OpConditionalCapabilityINTEL: *hasResult = false; *hasResultType = false; break; 3565 case Op::OpSpecConstantTargetINTEL: *hasResult = true; *hasResultType = true; break; 3566 case Op::OpSpecConstantArchitectureINTEL: *hasResult = true; *hasResultType = true; break; 3567 case Op::OpSpecConstantCapabilitiesINTEL: *hasResult = true; *hasResultType = true; break; 3568 case Op::OpConditionalCopyObjectINTEL: *hasResult = true; *hasResultType = true; break; 3569 case Op::OpPredicatedLoadINTEL: *hasResult = true; *hasResultType = true; break; 3570 case Op::OpPredicatedStoreINTEL: *hasResult = false; *hasResultType = false; break; 3571 case Op::OpGroupIMulKHR: *hasResult = true; *hasResultType = true; break; 3572 case Op::OpGroupFMulKHR: *hasResult = true; *hasResultType = true; break; 3573 case Op::OpGroupBitwiseAndKHR: *hasResult = true; *hasResultType = true; break; 3574 case Op::OpGroupBitwiseOrKHR: *hasResult = true; *hasResultType = true; break; 3575 case Op::OpGroupBitwiseXorKHR: *hasResult = true; *hasResultType = true; break; 3576 case Op::OpGroupLogicalAndKHR: *hasResult = true; *hasResultType = true; break; 3577 case Op::OpGroupLogicalOrKHR: *hasResult = true; *hasResultType = true; break; 3578 case Op::OpGroupLogicalXorKHR: *hasResult = true; *hasResultType = true; break; 3579 case Op::OpRoundFToTF32INTEL: *hasResult = true; *hasResultType = true; break; 3580 case Op::OpMaskedGatherINTEL: *hasResult = true; *hasResultType = true; break; 3581 case Op::OpMaskedScatterINTEL: *hasResult = false; *hasResultType = false; break; 3582 case Op::OpConvertHandleToImageINTEL: *hasResult = true; *hasResultType = true; break; 3583 case Op::OpConvertHandleToSamplerINTEL: *hasResult = true; *hasResultType = true; break; 3584 case Op::OpConvertHandleToSampledImageINTEL: *hasResult = true; *hasResultType = true; break; 3585 case Op::OpFDot2MixAcc32VALVE: *hasResult = true; *hasResultType = true; break; 3586 case Op::OpFDot2MixAcc16VALVE: *hasResult = true; *hasResultType = true; break; 3587 case Op::OpFDot4MixAcc32VALVE: *hasResult = true; *hasResultType = true; break; 3588 } 3589} 3590inline const char* SourceLanguageToString(SourceLanguage value) { 3591 switch (value) { 3592 case SourceLanguage::Unknown: return "Unknown"; 3593 case SourceLanguage::ESSL: return "ESSL"; 3594 case SourceLanguage::GLSL: return "GLSL"; 3595 case SourceLanguage::OpenCL_C: return "OpenCL_C"; 3596 case SourceLanguage::OpenCL_CPP: return "OpenCL_CPP"; 3597 case SourceLanguage::HLSL: return "HLSL"; 3598 case SourceLanguage::CPP_for_OpenCL: return "CPP_for_OpenCL"; 3599 case SourceLanguage::SYCL: return "SYCL"; 3600 case SourceLanguage::HERO_C: return "HERO_C"; 3601 case SourceLanguage::NZSL: return "NZSL"; 3602 case SourceLanguage::WGSL: return "WGSL"; 3603 case SourceLanguage::Slang: return "Slang"; 3604 case SourceLanguage::Zig: return "Zig"; 3605 case SourceLanguage::Rust: return "Rust"; 3606 case SourceLanguage::Pred: return "Pred"; 3607 case SourceLanguage::ApilaJai: return "ApilaJai"; 3608 default: return "Unknown"; 3609 } 3610} 3611 3612inline const char* ExecutionModelToString(ExecutionModel value) { 3613 switch (value) { 3614 case ExecutionModel::Vertex: return "Vertex"; 3615 case ExecutionModel::TessellationControl: return "TessellationControl"; 3616 case ExecutionModel::TessellationEvaluation: return "TessellationEvaluation"; 3617 case ExecutionModel::Geometry: return "Geometry"; 3618 case ExecutionModel::Fragment: return "Fragment"; 3619 case ExecutionModel::GLCompute: return "GLCompute"; 3620 case ExecutionModel::Kernel: return "Kernel"; 3621 case ExecutionModel::TaskNV: return "TaskNV"; 3622 case ExecutionModel::MeshNV: return "MeshNV"; 3623 case ExecutionModel::RayGenerationKHR: return "RayGenerationKHR"; 3624 case ExecutionModel::IntersectionKHR: return "IntersectionKHR"; 3625 case ExecutionModel::AnyHitKHR: return "AnyHitKHR"; 3626 case ExecutionModel::ClosestHitKHR: return "ClosestHitKHR"; 3627 case ExecutionModel::MissKHR: return "MissKHR"; 3628 case ExecutionModel::CallableKHR: return "CallableKHR"; 3629 case ExecutionModel::TaskEXT: return "TaskEXT"; 3630 case ExecutionModel::MeshEXT: return "MeshEXT"; 3631 default: return "Unknown"; 3632 } 3633} 3634 3635inline const char* AddressingModelToString(AddressingModel value) { 3636 switch (value) { 3637 case AddressingModel::Logical: return "Logical"; 3638 case AddressingModel::Physical32: return "Physical32"; 3639 case AddressingModel::Physical64: return "Physical64"; 3640 case AddressingModel::PhysicalStorageBuffer64: return "PhysicalStorageBuffer64"; 3641 default: return "Unknown"; 3642 } 3643} 3644 3645inline const char* MemoryModelToString(MemoryModel value) { 3646 switch (value) { 3647 case MemoryModel::Simple: return "Simple"; 3648 case MemoryModel::GLSL450: return "GLSL450"; 3649 case MemoryModel::OpenCL: return "OpenCL"; 3650 case MemoryModel::Vulkan: return "Vulkan"; 3651 default: return "Unknown"; 3652 } 3653} 3654 3655inline const char* ExecutionModeToString(ExecutionMode value) { 3656 switch (value) { 3657 case ExecutionMode::Invocations: return "Invocations"; 3658 case ExecutionMode::SpacingEqual: return "SpacingEqual"; 3659 case ExecutionMode::SpacingFractionalEven: return "SpacingFractionalEven"; 3660 case ExecutionMode::SpacingFractionalOdd: return "SpacingFractionalOdd"; 3661 case ExecutionMode::VertexOrderCw: return "VertexOrderCw"; 3662 case ExecutionMode::VertexOrderCcw: return "VertexOrderCcw"; 3663 case ExecutionMode::PixelCenterInteger: return "PixelCenterInteger"; 3664 case ExecutionMode::OriginUpperLeft: return "OriginUpperLeft"; 3665 case ExecutionMode::OriginLowerLeft: return "OriginLowerLeft"; 3666 case ExecutionMode::EarlyFragmentTests: return "EarlyFragmentTests"; 3667 case ExecutionMode::PointMode: return "PointMode"; 3668 case ExecutionMode::Xfb: return "Xfb"; 3669 case ExecutionMode::DepthReplacing: return "DepthReplacing"; 3670 case ExecutionMode::DepthGreater: return "DepthGreater"; 3671 case ExecutionMode::DepthLess: return "DepthLess"; 3672 case ExecutionMode::DepthUnchanged: return "DepthUnchanged"; 3673 case ExecutionMode::LocalSize: return "LocalSize"; 3674 case ExecutionMode::LocalSizeHint: return "LocalSizeHint"; 3675 case ExecutionMode::InputPoints: return "InputPoints"; 3676 case ExecutionMode::InputLines: return "InputLines"; 3677 case ExecutionMode::InputLinesAdjacency: return "InputLinesAdjacency"; 3678 case ExecutionMode::Triangles: return "Triangles"; 3679 case ExecutionMode::InputTrianglesAdjacency: return "InputTrianglesAdjacency"; 3680 case ExecutionMode::Quads: return "Quads"; 3681 case ExecutionMode::Isolines: return "Isolines"; 3682 case ExecutionMode::OutputVertices: return "OutputVertices"; 3683 case ExecutionMode::OutputPoints: return "OutputPoints"; 3684 case ExecutionMode::OutputLineStrip: return "OutputLineStrip"; 3685 case ExecutionMode::OutputTriangleStrip: return "OutputTriangleStrip"; 3686 case ExecutionMode::VecTypeHint: return "VecTypeHint"; 3687 case ExecutionMode::ContractionOff: return "ContractionOff"; 3688 case ExecutionMode::Initializer: return "Initializer"; 3689 case ExecutionMode::Finalizer: return "Finalizer"; 3690 case ExecutionMode::SubgroupSize: return "SubgroupSize"; 3691 case ExecutionMode::SubgroupsPerWorkgroup: return "SubgroupsPerWorkgroup"; 3692 case ExecutionMode::SubgroupsPerWorkgroupId: return "SubgroupsPerWorkgroupId"; 3693 case ExecutionMode::LocalSizeId: return "LocalSizeId"; 3694 case ExecutionMode::LocalSizeHintId: return "LocalSizeHintId"; 3695 case ExecutionMode::NonCoherentColorAttachmentReadEXT: return "NonCoherentColorAttachmentReadEXT"; 3696 case ExecutionMode::NonCoherentDepthAttachmentReadEXT: return "NonCoherentDepthAttachmentReadEXT"; 3697 case ExecutionMode::NonCoherentStencilAttachmentReadEXT: return "NonCoherentStencilAttachmentReadEXT"; 3698 case ExecutionMode::SubgroupUniformControlFlowKHR: return "SubgroupUniformControlFlowKHR"; 3699 case ExecutionMode::PostDepthCoverage: return "PostDepthCoverage"; 3700 case ExecutionMode::DenormPreserve: return "DenormPreserve"; 3701 case ExecutionMode::DenormFlushToZero: return "DenormFlushToZero"; 3702 case ExecutionMode::SignedZeroInfNanPreserve: return "SignedZeroInfNanPreserve"; 3703 case ExecutionMode::RoundingModeRTE: return "RoundingModeRTE"; 3704 case ExecutionMode::RoundingModeRTZ: return "RoundingModeRTZ"; 3705 case ExecutionMode::NonCoherentTileAttachmentReadQCOM: return "NonCoherentTileAttachmentReadQCOM"; 3706 case ExecutionMode::TileShadingRateQCOM: return "TileShadingRateQCOM"; 3707 case ExecutionMode::EarlyAndLateFragmentTestsAMD: return "EarlyAndLateFragmentTestsAMD"; 3708 case ExecutionMode::StencilRefReplacingEXT: return "StencilRefReplacingEXT"; 3709 case ExecutionMode::CoalescingAMDX: return "CoalescingAMDX"; 3710 case ExecutionMode::IsApiEntryAMDX: return "IsApiEntryAMDX"; 3711 case ExecutionMode::MaxNodeRecursionAMDX: return "MaxNodeRecursionAMDX"; 3712 case ExecutionMode::StaticNumWorkgroupsAMDX: return "StaticNumWorkgroupsAMDX"; 3713 case ExecutionMode::ShaderIndexAMDX: return "ShaderIndexAMDX"; 3714 case ExecutionMode::MaxNumWorkgroupsAMDX: return "MaxNumWorkgroupsAMDX"; 3715 case ExecutionMode::StencilRefUnchangedFrontAMD: return "StencilRefUnchangedFrontAMD"; 3716 case ExecutionMode::StencilRefGreaterFrontAMD: return "StencilRefGreaterFrontAMD"; 3717 case ExecutionMode::StencilRefLessFrontAMD: return "StencilRefLessFrontAMD"; 3718 case ExecutionMode::StencilRefUnchangedBackAMD: return "StencilRefUnchangedBackAMD"; 3719 case ExecutionMode::StencilRefGreaterBackAMD: return "StencilRefGreaterBackAMD"; 3720 case ExecutionMode::StencilRefLessBackAMD: return "StencilRefLessBackAMD"; 3721 case ExecutionMode::QuadDerivativesKHR: return "QuadDerivativesKHR"; 3722 case ExecutionMode::RequireFullQuadsKHR: return "RequireFullQuadsKHR"; 3723 case ExecutionMode::SharesInputWithAMDX: return "SharesInputWithAMDX"; 3724 case ExecutionMode::ArithmeticPoisonKHR: return "ArithmeticPoisonKHR"; 3725 case ExecutionMode::OutputLinesEXT: return "OutputLinesEXT"; 3726 case ExecutionMode::OutputPrimitivesEXT: return "OutputPrimitivesEXT"; 3727 case ExecutionMode::DerivativeGroupQuadsKHR: return "DerivativeGroupQuadsKHR"; 3728 case ExecutionMode::DerivativeGroupLinearKHR: return "DerivativeGroupLinearKHR"; 3729 case ExecutionMode::OutputTrianglesEXT: return "OutputTrianglesEXT"; 3730 case ExecutionMode::PixelInterlockOrderedEXT: return "PixelInterlockOrderedEXT"; 3731 case ExecutionMode::PixelInterlockUnorderedEXT: return "PixelInterlockUnorderedEXT"; 3732 case ExecutionMode::SampleInterlockOrderedEXT: return "SampleInterlockOrderedEXT"; 3733 case ExecutionMode::SampleInterlockUnorderedEXT: return "SampleInterlockUnorderedEXT"; 3734 case ExecutionMode::ShadingRateInterlockOrderedEXT: return "ShadingRateInterlockOrderedEXT"; 3735 case ExecutionMode::ShadingRateInterlockUnorderedEXT: return "ShadingRateInterlockUnorderedEXT"; 3736 case ExecutionMode::Shader64BitIndexingEXT: return "Shader64BitIndexingEXT"; 3737 case ExecutionMode::SharedLocalMemorySizeINTEL: return "SharedLocalMemorySizeINTEL"; 3738 case ExecutionMode::RoundingModeRTPINTEL: return "RoundingModeRTPINTEL"; 3739 case ExecutionMode::RoundingModeRTNINTEL: return "RoundingModeRTNINTEL"; 3740 case ExecutionMode::FloatingPointModeALTINTEL: return "FloatingPointModeALTINTEL"; 3741 case ExecutionMode::FloatingPointModeIEEEINTEL: return "FloatingPointModeIEEEINTEL"; 3742 case ExecutionMode::MaxWorkgroupSizeINTEL: return "MaxWorkgroupSizeINTEL"; 3743 case ExecutionMode::MaxWorkDimINTEL: return "MaxWorkDimINTEL"; 3744 case ExecutionMode::NoGlobalOffsetINTEL: return "NoGlobalOffsetINTEL"; 3745 case ExecutionMode::NumSIMDWorkitemsINTEL: return "NumSIMDWorkitemsINTEL"; 3746 case ExecutionMode::SchedulerTargetFmaxMhzINTEL: return "SchedulerTargetFmaxMhzINTEL"; 3747 case ExecutionMode::MaximallyReconvergesKHR: return "MaximallyReconvergesKHR"; 3748 case ExecutionMode::FPFastMathDefault: return "FPFastMathDefault"; 3749 case ExecutionMode::OpacityMicromapIdKHR: return "OpacityMicromapIdKHR"; 3750 case ExecutionMode::StreamingInterfaceINTEL: return "StreamingInterfaceINTEL"; 3751 case ExecutionMode::RegisterMapInterfaceINTEL: return "RegisterMapInterfaceINTEL"; 3752 case ExecutionMode::NamedBarrierCountINTEL: return "NamedBarrierCountINTEL"; 3753 case ExecutionMode::MaximumRegistersINTEL: return "MaximumRegistersINTEL"; 3754 case ExecutionMode::MaximumRegistersIdINTEL: return "MaximumRegistersIdINTEL"; 3755 case ExecutionMode::NamedMaximumRegistersINTEL: return "NamedMaximumRegistersINTEL"; 3756 default: return "Unknown"; 3757 } 3758} 3759 3760inline const char* StorageClassToString(StorageClass value) { 3761 switch (value) { 3762 case StorageClass::UniformConstant: return "UniformConstant"; 3763 case StorageClass::Input: return "Input"; 3764 case StorageClass::Uniform: return "Uniform"; 3765 case StorageClass::Output: return "Output"; 3766 case StorageClass::Workgroup: return "Workgroup"; 3767 case StorageClass::CrossWorkgroup: return "CrossWorkgroup"; 3768 case StorageClass::Private: return "Private"; 3769 case StorageClass::Function: return "Function"; 3770 case StorageClass::Generic: return "Generic"; 3771 case StorageClass::PushConstant: return "PushConstant"; 3772 case StorageClass::AtomicCounter: return "AtomicCounter"; 3773 case StorageClass::Image: return "Image"; 3774 case StorageClass::StorageBuffer: return "StorageBuffer"; 3775 case StorageClass::TileImageEXT: return "TileImageEXT"; 3776 case StorageClass::TileAttachmentQCOM: return "TileAttachmentQCOM"; 3777 case StorageClass::NodePayloadAMDX: return "NodePayloadAMDX"; 3778 case StorageClass::CallableDataKHR: return "CallableDataKHR"; 3779 case StorageClass::IncomingCallableDataKHR: return "IncomingCallableDataKHR"; 3780 case StorageClass::RayPayloadKHR: return "RayPayloadKHR"; 3781 case StorageClass::HitAttributeKHR: return "HitAttributeKHR"; 3782 case StorageClass::IncomingRayPayloadKHR: return "IncomingRayPayloadKHR"; 3783 case StorageClass::ShaderRecordBufferKHR: return "ShaderRecordBufferKHR"; 3784 case StorageClass::PhysicalStorageBuffer: return "PhysicalStorageBuffer"; 3785 case StorageClass::HitObjectAttributeNV: return "HitObjectAttributeNV"; 3786 case StorageClass::TaskPayloadWorkgroupEXT: return "TaskPayloadWorkgroupEXT"; 3787 case StorageClass::HitObjectAttributeEXT: return "HitObjectAttributeEXT"; 3788 case StorageClass::CodeSectionINTEL: return "CodeSectionINTEL"; 3789 case StorageClass::DeviceOnlyALTERA: return "DeviceOnlyALTERA"; 3790 case StorageClass::HostOnlyALTERA: return "HostOnlyALTERA"; 3791 default: return "Unknown"; 3792 } 3793} 3794 3795inline const char* DimToString(Dim value) { 3796 switch (value) { 3797 case Dim::Dim1D: return "1D"; 3798 case Dim::Dim2D: return "2D"; 3799 case Dim::Dim3D: return "3D"; 3800 case Dim::Cube: return "Cube"; 3801 case Dim::Rect: return "Rect"; 3802 case Dim::Buffer: return "Buffer"; 3803 case Dim::SubpassData: return "SubpassData"; 3804 case Dim::TileImageDataEXT: return "TileImageDataEXT"; 3805 default: return "Unknown"; 3806 } 3807} 3808 3809inline const char* SamplerAddressingModeToString(SamplerAddressingMode value) { 3810 switch (value) { 3811 case SamplerAddressingMode::None: return "None"; 3812 case SamplerAddressingMode::ClampToEdge: return "ClampToEdge"; 3813 case SamplerAddressingMode::Clamp: return "Clamp"; 3814 case SamplerAddressingMode::Repeat: return "Repeat"; 3815 case SamplerAddressingMode::RepeatMirrored: return "RepeatMirrored"; 3816 default: return "Unknown"; 3817 } 3818} 3819 3820inline const char* SamplerFilterModeToString(SamplerFilterMode value) { 3821 switch (value) { 3822 case SamplerFilterMode::Nearest: return "Nearest"; 3823 case SamplerFilterMode::Linear: return "Linear"; 3824 default: return "Unknown"; 3825 } 3826} 3827 3828inline const char* ImageFormatToString(ImageFormat value) { 3829 switch (value) { 3830 case ImageFormat::Unknown: return "Unknown"; 3831 case ImageFormat::Rgba32f: return "Rgba32f"; 3832 case ImageFormat::Rgba16f: return "Rgba16f"; 3833 case ImageFormat::R32f: return "R32f"; 3834 case ImageFormat::Rgba8: return "Rgba8"; 3835 case ImageFormat::Rgba8Snorm: return "Rgba8Snorm"; 3836 case ImageFormat::Rg32f: return "Rg32f"; 3837 case ImageFormat::Rg16f: return "Rg16f"; 3838 case ImageFormat::R11fG11fB10f: return "R11fG11fB10f"; 3839 case ImageFormat::R16f: return "R16f"; 3840 case ImageFormat::Rgba16: return "Rgba16"; 3841 case ImageFormat::Rgb10A2: return "Rgb10A2"; 3842 case ImageFormat::Rg16: return "Rg16"; 3843 case ImageFormat::Rg8: return "Rg8"; 3844 case ImageFormat::R16: return "R16"; 3845 case ImageFormat::R8: return "R8"; 3846 case ImageFormat::Rgba16Snorm: return "Rgba16Snorm"; 3847 case ImageFormat::Rg16Snorm: return "Rg16Snorm"; 3848 case ImageFormat::Rg8Snorm: return "Rg8Snorm"; 3849 case ImageFormat::R16Snorm: return "R16Snorm"; 3850 case ImageFormat::R8Snorm: return "R8Snorm"; 3851 case ImageFormat::Rgba32i: return "Rgba32i"; 3852 case ImageFormat::Rgba16i: return "Rgba16i"; 3853 case ImageFormat::Rgba8i: return "Rgba8i"; 3854 case ImageFormat::R32i: return "R32i"; 3855 case ImageFormat::Rg32i: return "Rg32i"; 3856 case ImageFormat::Rg16i: return "Rg16i"; 3857 case ImageFormat::Rg8i: return "Rg8i"; 3858 case ImageFormat::R16i: return "R16i"; 3859 case ImageFormat::R8i: return "R8i"; 3860 case ImageFormat::Rgba32ui: return "Rgba32ui"; 3861 case ImageFormat::Rgba16ui: return "Rgba16ui"; 3862 case ImageFormat::Rgba8ui: return "Rgba8ui"; 3863 case ImageFormat::R32ui: return "R32ui"; 3864 case ImageFormat::Rgb10a2ui: return "Rgb10a2ui"; 3865 case ImageFormat::Rg32ui: return "Rg32ui"; 3866 case ImageFormat::Rg16ui: return "Rg16ui"; 3867 case ImageFormat::Rg8ui: return "Rg8ui"; 3868 case ImageFormat::R16ui: return "R16ui"; 3869 case ImageFormat::R8ui: return "R8ui"; 3870 case ImageFormat::R64ui: return "R64ui"; 3871 case ImageFormat::R64i: return "R64i"; 3872 default: return "Unknown"; 3873 } 3874} 3875 3876inline const char* ImageChannelOrderToString(ImageChannelOrder value) { 3877 switch (value) { 3878 case ImageChannelOrder::R: return "R"; 3879 case ImageChannelOrder::A: return "A"; 3880 case ImageChannelOrder::RG: return "RG"; 3881 case ImageChannelOrder::RA: return "RA"; 3882 case ImageChannelOrder::RGB: return "RGB"; 3883 case ImageChannelOrder::RGBA: return "RGBA"; 3884 case ImageChannelOrder::BGRA: return "BGRA"; 3885 case ImageChannelOrder::ARGB: return "ARGB"; 3886 case ImageChannelOrder::Intensity: return "Intensity"; 3887 case ImageChannelOrder::Luminance: return "Luminance"; 3888 case ImageChannelOrder::Rx: return "Rx"; 3889 case ImageChannelOrder::RGx: return "RGx"; 3890 case ImageChannelOrder::RGBx: return "RGBx"; 3891 case ImageChannelOrder::Depth: return "Depth"; 3892 case ImageChannelOrder::DepthStencil: return "DepthStencil"; 3893 case ImageChannelOrder::sRGB: return "sRGB"; 3894 case ImageChannelOrder::sRGBx: return "sRGBx"; 3895 case ImageChannelOrder::sRGBA: return "sRGBA"; 3896 case ImageChannelOrder::sBGRA: return "sBGRA"; 3897 case ImageChannelOrder::ABGR: return "ABGR"; 3898 default: return "Unknown"; 3899 } 3900} 3901 3902inline const char* ImageChannelDataTypeToString(ImageChannelDataType value) { 3903 switch (value) { 3904 case ImageChannelDataType::SnormInt8: return "SnormInt8"; 3905 case ImageChannelDataType::SnormInt16: return "SnormInt16"; 3906 case ImageChannelDataType::UnormInt8: return "UnormInt8"; 3907 case ImageChannelDataType::UnormInt16: return "UnormInt16"; 3908 case ImageChannelDataType::UnormShort565: return "UnormShort565"; 3909 case ImageChannelDataType::UnormShort555: return "UnormShort555"; 3910 case ImageChannelDataType::UnormInt101010: return "UnormInt101010"; 3911 case ImageChannelDataType::SignedInt8: return "SignedInt8"; 3912 case ImageChannelDataType::SignedInt16: return "SignedInt16"; 3913 case ImageChannelDataType::SignedInt32: return "SignedInt32"; 3914 case ImageChannelDataType::UnsignedInt8: return "UnsignedInt8"; 3915 case ImageChannelDataType::UnsignedInt16: return "UnsignedInt16"; 3916 case ImageChannelDataType::UnsignedInt32: return "UnsignedInt32"; 3917 case ImageChannelDataType::HalfFloat: return "HalfFloat"; 3918 case ImageChannelDataType::Float: return "Float"; 3919 case ImageChannelDataType::UnormInt24: return "UnormInt24"; 3920 case ImageChannelDataType::UnormInt101010_2: return "UnormInt101010_2"; 3921 case ImageChannelDataType::UnormInt10X6EXT: return "UnormInt10X6EXT"; 3922 case ImageChannelDataType::UnsignedIntRaw10EXT: return "UnsignedIntRaw10EXT"; 3923 case ImageChannelDataType::UnsignedIntRaw12EXT: return "UnsignedIntRaw12EXT"; 3924 case ImageChannelDataType::UnormInt2_101010EXT: return "UnormInt2_101010EXT"; 3925 case ImageChannelDataType::UnsignedInt10X6EXT: return "UnsignedInt10X6EXT"; 3926 case ImageChannelDataType::UnsignedInt12X4EXT: return "UnsignedInt12X4EXT"; 3927 case ImageChannelDataType::UnsignedInt14X2EXT: return "UnsignedInt14X2EXT"; 3928 case ImageChannelDataType::UnormInt12X4EXT: return "UnormInt12X4EXT"; 3929 case ImageChannelDataType::UnormInt14X2EXT: return "UnormInt14X2EXT"; 3930 default: return "Unknown"; 3931 } 3932} 3933 3934inline const char* FPRoundingModeToString(FPRoundingMode value) { 3935 switch (value) { 3936 case FPRoundingMode::RTE: return "RTE"; 3937 case FPRoundingMode::RTZ: return "RTZ"; 3938 case FPRoundingMode::RTP: return "RTP"; 3939 case FPRoundingMode::RTN: return "RTN"; 3940 default: return "Unknown"; 3941 } 3942} 3943 3944inline const char* LinkageTypeToString(LinkageType value) { 3945 switch (value) { 3946 case LinkageType::Export: return "Export"; 3947 case LinkageType::Import: return "Import"; 3948 case LinkageType::LinkOnceODR: return "LinkOnceODR"; 3949 case LinkageType::WeakAMD: return "WeakAMD"; 3950 default: return "Unknown"; 3951 } 3952} 3953 3954inline const char* AccessQualifierToString(AccessQualifier value) { 3955 switch (value) { 3956 case AccessQualifier::ReadOnly: return "ReadOnly"; 3957 case AccessQualifier::WriteOnly: return "WriteOnly"; 3958 case AccessQualifier::ReadWrite: return "ReadWrite"; 3959 default: return "Unknown"; 3960 } 3961} 3962 3963inline const char* FunctionParameterAttributeToString(FunctionParameterAttribute value) { 3964 switch (value) { 3965 case FunctionParameterAttribute::Zext: return "Zext"; 3966 case FunctionParameterAttribute::Sext: return "Sext"; 3967 case FunctionParameterAttribute::ByVal: return "ByVal"; 3968 case FunctionParameterAttribute::Sret: return "Sret"; 3969 case FunctionParameterAttribute::NoAlias: return "NoAlias"; 3970 case FunctionParameterAttribute::NoCapture: return "NoCapture"; 3971 case FunctionParameterAttribute::NoWrite: return "NoWrite"; 3972 case FunctionParameterAttribute::NoReadWrite: return "NoReadWrite"; 3973 case FunctionParameterAttribute::RuntimeAlignedALTERA: return "RuntimeAlignedALTERA"; 3974 default: return "Unknown"; 3975 } 3976} 3977 3978inline const char* DecorationToString(Decoration value) { 3979 switch (value) { 3980 case Decoration::RelaxedPrecision: return "RelaxedPrecision"; 3981 case Decoration::SpecId: return "SpecId"; 3982 case Decoration::Block: return "Block"; 3983 case Decoration::BufferBlock: return "BufferBlock"; 3984 case Decoration::RowMajor: return "RowMajor"; 3985 case Decoration::ColMajor: return "ColMajor"; 3986 case Decoration::ArrayStride: return "ArrayStride"; 3987 case Decoration::MatrixStride: return "MatrixStride"; 3988 case Decoration::GLSLShared: return "GLSLShared"; 3989 case Decoration::GLSLPacked: return "GLSLPacked"; 3990 case Decoration::CPacked: return "CPacked"; 3991 case Decoration::BuiltIn: return "BuiltIn"; 3992 case Decoration::NoPerspective: return "NoPerspective"; 3993 case Decoration::Flat: return "Flat"; 3994 case Decoration::Patch: return "Patch"; 3995 case Decoration::Centroid: return "Centroid"; 3996 case Decoration::Sample: return "Sample"; 3997 case Decoration::Invariant: return "Invariant"; 3998 case Decoration::Restrict: return "Restrict"; 3999 case Decoration::Aliased: return "Aliased"; 4000 case Decoration::Volatile: return "Volatile"; 4001 case Decoration::Constant: return "Constant"; 4002 case Decoration::Coherent: return "Coherent"; 4003 case Decoration::NonWritable: return "NonWritable"; 4004 case Decoration::NonReadable: return "NonReadable"; 4005 case Decoration::Uniform: return "Uniform"; 4006 case Decoration::UniformId: return "UniformId"; 4007 case Decoration::SaturatedConversion: return "SaturatedConversion"; 4008 case Decoration::Stream: return "Stream"; 4009 case Decoration::Location: return "Location"; 4010 case Decoration::Component: return "Component"; 4011 case Decoration::Index: return "Index"; 4012 case Decoration::Binding: return "Binding"; 4013 case Decoration::DescriptorSet: return "DescriptorSet"; 4014 case Decoration::Offset: return "Offset"; 4015 case Decoration::XfbBuffer: return "XfbBuffer"; 4016 case Decoration::XfbStride: return "XfbStride"; 4017 case Decoration::FuncParamAttr: return "FuncParamAttr"; 4018 case Decoration::FPRoundingMode: return "FPRoundingMode"; 4019 case Decoration::FPFastMathMode: return "FPFastMathMode"; 4020 case Decoration::LinkageAttributes: return "LinkageAttributes"; 4021 case Decoration::NoContraction: return "NoContraction"; 4022 case Decoration::InputAttachmentIndex: return "InputAttachmentIndex"; 4023 case Decoration::Alignment: return "Alignment"; 4024 case Decoration::MaxByteOffset: return "MaxByteOffset"; 4025 case Decoration::AlignmentId: return "AlignmentId"; 4026 case Decoration::MaxByteOffsetId: return "MaxByteOffsetId"; 4027 case Decoration::SaturatedToLargestFloat8NormalConversionEXT: return "SaturatedToLargestFloat8NormalConversionEXT"; 4028 case Decoration::NoSignedWrap: return "NoSignedWrap"; 4029 case Decoration::NoUnsignedWrap: return "NoUnsignedWrap"; 4030 case Decoration::WeightTextureQCOM: return "WeightTextureQCOM"; 4031 case Decoration::BlockMatchTextureQCOM: return "BlockMatchTextureQCOM"; 4032 case Decoration::BlockMatchSamplerQCOM: return "BlockMatchSamplerQCOM"; 4033 case Decoration::ExplicitInterpAMD: return "ExplicitInterpAMD"; 4034 case Decoration::NodeSharesPayloadLimitsWithAMDX: return "NodeSharesPayloadLimitsWithAMDX"; 4035 case Decoration::NodeMaxPayloadsAMDX: return "NodeMaxPayloadsAMDX"; 4036 case Decoration::TrackFinishWritingAMDX: return "TrackFinishWritingAMDX"; 4037 case Decoration::PayloadNodeNameAMDX: return "PayloadNodeNameAMDX"; 4038 case Decoration::PayloadNodeBaseIndexAMDX: return "PayloadNodeBaseIndexAMDX"; 4039 case Decoration::PayloadNodeSparseArrayAMDX: return "PayloadNodeSparseArrayAMDX"; 4040 case Decoration::PayloadNodeArraySizeAMDX: return "PayloadNodeArraySizeAMDX"; 4041 case Decoration::PayloadDispatchIndirectAMDX: return "PayloadDispatchIndirectAMDX"; 4042 case Decoration::ArrayStrideIdEXT: return "ArrayStrideIdEXT"; 4043 case Decoration::OffsetIdEXT: return "OffsetIdEXT"; 4044 case Decoration::UTFEncodedKHR: return "UTFEncodedKHR"; 4045 case Decoration::OverrideCoverageNV: return "OverrideCoverageNV"; 4046 case Decoration::PassthroughNV: return "PassthroughNV"; 4047 case Decoration::ViewportRelativeNV: return "ViewportRelativeNV"; 4048 case Decoration::SecondaryViewportRelativeNV: return "SecondaryViewportRelativeNV"; 4049 case Decoration::PerPrimitiveEXT: return "PerPrimitiveEXT"; 4050 case Decoration::PerViewNV: return "PerViewNV"; 4051 case Decoration::PerTaskNV: return "PerTaskNV"; 4052 case Decoration::PerVertexKHR: return "PerVertexKHR"; 4053 case Decoration::NonUniform: return "NonUniform"; 4054 case Decoration::RestrictPointer: return "RestrictPointer"; 4055 case Decoration::AliasedPointer: return "AliasedPointer"; 4056 case Decoration::MemberOffsetNV: return "MemberOffsetNV"; 4057 case Decoration::HitObjectShaderRecordBufferNV: return "HitObjectShaderRecordBufferNV"; 4058 case Decoration::HitObjectShaderRecordBufferEXT: return "HitObjectShaderRecordBufferEXT"; 4059 case Decoration::BankNV: return "BankNV"; 4060 case Decoration::BindlessSamplerNV: return "BindlessSamplerNV"; 4061 case Decoration::BindlessImageNV: return "BindlessImageNV"; 4062 case Decoration::BoundSamplerNV: return "BoundSamplerNV"; 4063 case Decoration::BoundImageNV: return "BoundImageNV"; 4064 case Decoration::CooperativeMatrixTransposeEXT: return "CooperativeMatrixTransposeEXT"; 4065 case Decoration::SIMTCallINTEL: return "SIMTCallINTEL"; 4066 case Decoration::ReferencedIndirectlyINTEL: return "ReferencedIndirectlyINTEL"; 4067 case Decoration::ClobberINTEL: return "ClobberINTEL"; 4068 case Decoration::SideEffectsINTEL: return "SideEffectsINTEL"; 4069 case Decoration::VectorComputeVariableINTEL: return "VectorComputeVariableINTEL"; 4070 case Decoration::FuncParamIOKindINTEL: return "FuncParamIOKindINTEL"; 4071 case Decoration::VectorComputeFunctionINTEL: return "VectorComputeFunctionINTEL"; 4072 case Decoration::StackCallINTEL: return "StackCallINTEL"; 4073 case Decoration::GlobalVariableOffsetINTEL: return "GlobalVariableOffsetINTEL"; 4074 case Decoration::CounterBuffer: return "CounterBuffer"; 4075 case Decoration::HlslSemanticGOOGLE: return "HlslSemanticGOOGLE"; 4076 case Decoration::UserTypeGOOGLE: return "UserTypeGOOGLE"; 4077 case Decoration::FunctionRoundingModeINTEL: return "FunctionRoundingModeINTEL"; 4078 case Decoration::FunctionDenormModeINTEL: return "FunctionDenormModeINTEL"; 4079 case Decoration::RegisterALTERA: return "RegisterALTERA"; 4080 case Decoration::MemoryALTERA: return "MemoryALTERA"; 4081 case Decoration::NumbanksALTERA: return "NumbanksALTERA"; 4082 case Decoration::BankwidthALTERA: return "BankwidthALTERA"; 4083 case Decoration::MaxPrivateCopiesALTERA: return "MaxPrivateCopiesALTERA"; 4084 case Decoration::SinglepumpALTERA: return "SinglepumpALTERA"; 4085 case Decoration::DoublepumpALTERA: return "DoublepumpALTERA"; 4086 case Decoration::MaxReplicatesALTERA: return "MaxReplicatesALTERA"; 4087 case Decoration::SimpleDualPortALTERA: return "SimpleDualPortALTERA"; 4088 case Decoration::MergeALTERA: return "MergeALTERA"; 4089 case Decoration::BankBitsALTERA: return "BankBitsALTERA"; 4090 case Decoration::ForcePow2DepthALTERA: return "ForcePow2DepthALTERA"; 4091 case Decoration::StridesizeALTERA: return "StridesizeALTERA"; 4092 case Decoration::WordsizeALTERA: return "WordsizeALTERA"; 4093 case Decoration::TrueDualPortALTERA: return "TrueDualPortALTERA"; 4094 case Decoration::BurstCoalesceALTERA: return "BurstCoalesceALTERA"; 4095 case Decoration::CacheSizeALTERA: return "CacheSizeALTERA"; 4096 case Decoration::DontStaticallyCoalesceALTERA: return "DontStaticallyCoalesceALTERA"; 4097 case Decoration::PrefetchALTERA: return "PrefetchALTERA"; 4098 case Decoration::StallEnableALTERA: return "StallEnableALTERA"; 4099 case Decoration::FuseLoopsInFunctionALTERA: return "FuseLoopsInFunctionALTERA"; 4100 case Decoration::MathOpDSPModeALTERA: return "MathOpDSPModeALTERA"; 4101 case Decoration::AliasScopeINTEL: return "AliasScopeINTEL"; 4102 case Decoration::NoAliasINTEL: return "NoAliasINTEL"; 4103 case Decoration::InitiationIntervalALTERA: return "InitiationIntervalALTERA"; 4104 case Decoration::MaxConcurrencyALTERA: return "MaxConcurrencyALTERA"; 4105 case Decoration::PipelineEnableALTERA: return "PipelineEnableALTERA"; 4106 case Decoration::BufferLocationALTERA: return "BufferLocationALTERA"; 4107 case Decoration::IOPipeStorageALTERA: return "IOPipeStorageALTERA"; 4108 case Decoration::FunctionFloatingPointModeINTEL: return "FunctionFloatingPointModeINTEL"; 4109 case Decoration::SingleElementVectorINTEL: return "SingleElementVectorINTEL"; 4110 case Decoration::VectorComputeCallableFunctionINTEL: return "VectorComputeCallableFunctionINTEL"; 4111 case Decoration::MediaBlockIOINTEL: return "MediaBlockIOINTEL"; 4112 case Decoration::StallFreeALTERA: return "StallFreeALTERA"; 4113 case Decoration::FPMaxErrorDecorationINTEL: return "FPMaxErrorDecorationINTEL"; 4114 case Decoration::LatencyControlLabelALTERA: return "LatencyControlLabelALTERA"; 4115 case Decoration::LatencyControlConstraintALTERA: return "LatencyControlConstraintALTERA"; 4116 case Decoration::ConduitKernelArgumentALTERA: return "ConduitKernelArgumentALTERA"; 4117 case Decoration::RegisterMapKernelArgumentALTERA: return "RegisterMapKernelArgumentALTERA"; 4118 case Decoration::MMHostInterfaceAddressWidthALTERA: return "MMHostInterfaceAddressWidthALTERA"; 4119 case Decoration::MMHostInterfaceDataWidthALTERA: return "MMHostInterfaceDataWidthALTERA"; 4120 case Decoration::MMHostInterfaceLatencyALTERA: return "MMHostInterfaceLatencyALTERA"; 4121 case Decoration::MMHostInterfaceReadWriteModeALTERA: return "MMHostInterfaceReadWriteModeALTERA"; 4122 case Decoration::MMHostInterfaceMaxBurstALTERA: return "MMHostInterfaceMaxBurstALTERA"; 4123 case Decoration::MMHostInterfaceWaitRequestALTERA: return "MMHostInterfaceWaitRequestALTERA"; 4124 case Decoration::StableKernelArgumentALTERA: return "StableKernelArgumentALTERA"; 4125 case Decoration::HostAccessINTEL: return "HostAccessINTEL"; 4126 case Decoration::InitModeALTERA: return "InitModeALTERA"; 4127 case Decoration::ImplementInRegisterMapALTERA: return "ImplementInRegisterMapALTERA"; 4128 case Decoration::ConditionalINTEL: return "ConditionalINTEL"; 4129 case Decoration::CacheControlLoadINTEL: return "CacheControlLoadINTEL"; 4130 case Decoration::CacheControlStoreINTEL: return "CacheControlStoreINTEL"; 4131 case Decoration::IntrinsicSAMSUNG: return "IntrinsicSAMSUNG"; 4132 default: return "Unknown"; 4133 } 4134} 4135 4136inline const char* BuiltInToString(BuiltIn value) { 4137 switch (value) { 4138 case BuiltIn::Position: return "Position"; 4139 case BuiltIn::PointSize: return "PointSize"; 4140 case BuiltIn::ClipDistance: return "ClipDistance"; 4141 case BuiltIn::CullDistance: return "CullDistance"; 4142 case BuiltIn::VertexId: return "VertexId"; 4143 case BuiltIn::InstanceId: return "InstanceId"; 4144 case BuiltIn::PrimitiveId: return "PrimitiveId"; 4145 case BuiltIn::InvocationId: return "InvocationId"; 4146 case BuiltIn::Layer: return "Layer"; 4147 case BuiltIn::ViewportIndex: return "ViewportIndex"; 4148 case BuiltIn::TessLevelOuter: return "TessLevelOuter"; 4149 case BuiltIn::TessLevelInner: return "TessLevelInner"; 4150 case BuiltIn::TessCoord: return "TessCoord"; 4151 case BuiltIn::PatchVertices: return "PatchVertices"; 4152 case BuiltIn::FragCoord: return "FragCoord"; 4153 case BuiltIn::PointCoord: return "PointCoord"; 4154 case BuiltIn::FrontFacing: return "FrontFacing"; 4155 case BuiltIn::SampleId: return "SampleId"; 4156 case BuiltIn::SamplePosition: return "SamplePosition"; 4157 case BuiltIn::SampleMask: return "SampleMask"; 4158 case BuiltIn::FragDepth: return "FragDepth"; 4159 case BuiltIn::HelperInvocation: return "HelperInvocation"; 4160 case BuiltIn::NumWorkgroups: return "NumWorkgroups"; 4161 case BuiltIn::WorkgroupSize: return "WorkgroupSize"; 4162 case BuiltIn::WorkgroupId: return "WorkgroupId"; 4163 case BuiltIn::LocalInvocationId: return "LocalInvocationId"; 4164 case BuiltIn::GlobalInvocationId: return "GlobalInvocationId"; 4165 case BuiltIn::LocalInvocationIndex: return "LocalInvocationIndex"; 4166 case BuiltIn::WorkDim: return "WorkDim"; 4167 case BuiltIn::GlobalSize: return "GlobalSize"; 4168 case BuiltIn::EnqueuedWorkgroupSize: return "EnqueuedWorkgroupSize"; 4169 case BuiltIn::GlobalOffset: return "GlobalOffset"; 4170 case BuiltIn::GlobalLinearId: return "GlobalLinearId"; 4171 case BuiltIn::SubgroupSize: return "SubgroupSize"; 4172 case BuiltIn::SubgroupMaxSize: return "SubgroupMaxSize"; 4173 case BuiltIn::NumSubgroups: return "NumSubgroups"; 4174 case BuiltIn::NumEnqueuedSubgroups: return "NumEnqueuedSubgroups"; 4175 case BuiltIn::SubgroupId: return "SubgroupId"; 4176 case BuiltIn::SubgroupLocalInvocationId: return "SubgroupLocalInvocationId"; 4177 case BuiltIn::VertexIndex: return "VertexIndex"; 4178 case BuiltIn::InstanceIndex: return "InstanceIndex"; 4179 case BuiltIn::CoreIDARM: return "CoreIDARM"; 4180 case BuiltIn::CoreCountARM: return "CoreCountARM"; 4181 case BuiltIn::CoreMaxIDARM: return "CoreMaxIDARM"; 4182 case BuiltIn::WarpIDARM: return "WarpIDARM"; 4183 case BuiltIn::WarpMaxIDARM: return "WarpMaxIDARM"; 4184 case BuiltIn::SubgroupEqMask: return "SubgroupEqMask"; 4185 case BuiltIn::SubgroupGeMask: return "SubgroupGeMask"; 4186 case BuiltIn::SubgroupGtMask: return "SubgroupGtMask"; 4187 case BuiltIn::SubgroupLeMask: return "SubgroupLeMask"; 4188 case BuiltIn::SubgroupLtMask: return "SubgroupLtMask"; 4189 case BuiltIn::BaseVertex: return "BaseVertex"; 4190 case BuiltIn::BaseInstance: return "BaseInstance"; 4191 case BuiltIn::DrawIndex: return "DrawIndex"; 4192 case BuiltIn::PrimitiveShadingRateKHR: return "PrimitiveShadingRateKHR"; 4193 case BuiltIn::DeviceIndex: return "DeviceIndex"; 4194 case BuiltIn::ViewIndex: return "ViewIndex"; 4195 case BuiltIn::ShadingRateKHR: return "ShadingRateKHR"; 4196 case BuiltIn::TileOffsetQCOM: return "TileOffsetQCOM"; 4197 case BuiltIn::TileDimensionQCOM: return "TileDimensionQCOM"; 4198 case BuiltIn::TileApronSizeQCOM: return "TileApronSizeQCOM"; 4199 case BuiltIn::BaryCoordNoPerspAMD: return "BaryCoordNoPerspAMD"; 4200 case BuiltIn::BaryCoordNoPerspCentroidAMD: return "BaryCoordNoPerspCentroidAMD"; 4201 case BuiltIn::BaryCoordNoPerspSampleAMD: return "BaryCoordNoPerspSampleAMD"; 4202 case BuiltIn::BaryCoordSmoothAMD: return "BaryCoordSmoothAMD"; 4203 case BuiltIn::BaryCoordSmoothCentroidAMD: return "BaryCoordSmoothCentroidAMD"; 4204 case BuiltIn::BaryCoordSmoothSampleAMD: return "BaryCoordSmoothSampleAMD"; 4205 case BuiltIn::BaryCoordPullModelAMD: return "BaryCoordPullModelAMD"; 4206 case BuiltIn::FragStencilRefEXT: return "FragStencilRefEXT"; 4207 case BuiltIn::RemainingRecursionLevelsAMDX: return "RemainingRecursionLevelsAMDX"; 4208 case BuiltIn::ShaderIndexAMDX: return "ShaderIndexAMDX"; 4209 case BuiltIn::SamplerHeapEXT: return "SamplerHeapEXT"; 4210 case BuiltIn::ResourceHeapEXT: return "ResourceHeapEXT"; 4211 case BuiltIn::ViewportMaskNV: return "ViewportMaskNV"; 4212 case BuiltIn::SecondaryPositionNV: return "SecondaryPositionNV"; 4213 case BuiltIn::SecondaryViewportMaskNV: return "SecondaryViewportMaskNV"; 4214 case BuiltIn::PositionPerViewNV: return "PositionPerViewNV"; 4215 case BuiltIn::ViewportMaskPerViewNV: return "ViewportMaskPerViewNV"; 4216 case BuiltIn::FullyCoveredEXT: return "FullyCoveredEXT"; 4217 case BuiltIn::TaskCountNV: return "TaskCountNV"; 4218 case BuiltIn::PrimitiveCountNV: return "PrimitiveCountNV"; 4219 case BuiltIn::PrimitiveIndicesNV: return "PrimitiveIndicesNV"; 4220 case BuiltIn::ClipDistancePerViewNV: return "ClipDistancePerViewNV"; 4221 case BuiltIn::CullDistancePerViewNV: return "CullDistancePerViewNV"; 4222 case BuiltIn::LayerPerViewNV: return "LayerPerViewNV"; 4223 case BuiltIn::MeshViewCountNV: return "MeshViewCountNV"; 4224 case BuiltIn::MeshViewIndicesNV: return "MeshViewIndicesNV"; 4225 case BuiltIn::BaryCoordKHR: return "BaryCoordKHR"; 4226 case BuiltIn::BaryCoordNoPerspKHR: return "BaryCoordNoPerspKHR"; 4227 case BuiltIn::FragSizeEXT: return "FragSizeEXT"; 4228 case BuiltIn::FragInvocationCountEXT: return "FragInvocationCountEXT"; 4229 case BuiltIn::PrimitivePointIndicesEXT: return "PrimitivePointIndicesEXT"; 4230 case BuiltIn::PrimitiveLineIndicesEXT: return "PrimitiveLineIndicesEXT"; 4231 case BuiltIn::PrimitiveTriangleIndicesEXT: return "PrimitiveTriangleIndicesEXT"; 4232 case BuiltIn::CullPrimitiveEXT: return "CullPrimitiveEXT"; 4233 case BuiltIn::LaunchIdKHR: return "LaunchIdKHR"; 4234 case BuiltIn::LaunchSizeKHR: return "LaunchSizeKHR"; 4235 case BuiltIn::WorldRayOriginKHR: return "WorldRayOriginKHR"; 4236 case BuiltIn::WorldRayDirectionKHR: return "WorldRayDirectionKHR"; 4237 case BuiltIn::ObjectRayOriginKHR: return "ObjectRayOriginKHR"; 4238 case BuiltIn::ObjectRayDirectionKHR: return "ObjectRayDirectionKHR"; 4239 case BuiltIn::RayTminKHR: return "RayTminKHR"; 4240 case BuiltIn::RayTmaxKHR: return "RayTmaxKHR"; 4241 case BuiltIn::InstanceCustomIndexKHR: return "InstanceCustomIndexKHR"; 4242 case BuiltIn::ObjectToWorldKHR: return "ObjectToWorldKHR"; 4243 case BuiltIn::WorldToObjectKHR: return "WorldToObjectKHR"; 4244 case BuiltIn::HitTNV: return "HitTNV"; 4245 case BuiltIn::HitKindKHR: return "HitKindKHR"; 4246 case BuiltIn::CurrentRayTimeNV: return "CurrentRayTimeNV"; 4247 case BuiltIn::HitTriangleVertexPositionsKHR: return "HitTriangleVertexPositionsKHR"; 4248 case BuiltIn::HitMicroTriangleVertexPositionsNV: return "HitMicroTriangleVertexPositionsNV"; 4249 case BuiltIn::HitMicroTriangleVertexBarycentricsNV: return "HitMicroTriangleVertexBarycentricsNV"; 4250 case BuiltIn::IncomingRayFlagsKHR: return "IncomingRayFlagsKHR"; 4251 case BuiltIn::RayGeometryIndexKHR: return "RayGeometryIndexKHR"; 4252 case BuiltIn::HitIsSphereNV: return "HitIsSphereNV"; 4253 case BuiltIn::HitIsLSSNV: return "HitIsLSSNV"; 4254 case BuiltIn::HitSpherePositionNV: return "HitSpherePositionNV"; 4255 case BuiltIn::WarpsPerSMNV: return "WarpsPerSMNV"; 4256 case BuiltIn::SMCountNV: return "SMCountNV"; 4257 case BuiltIn::WarpIDNV: return "WarpIDNV"; 4258 case BuiltIn::SMIDNV: return "SMIDNV"; 4259 case BuiltIn::HitLSSPositionsNV: return "HitLSSPositionsNV"; 4260 case BuiltIn::HitKindFrontFacingMicroTriangleNV: return "HitKindFrontFacingMicroTriangleNV"; 4261 case BuiltIn::HitKindBackFacingMicroTriangleNV: return "HitKindBackFacingMicroTriangleNV"; 4262 case BuiltIn::HitSphereRadiusNV: return "HitSphereRadiusNV"; 4263 case BuiltIn::HitLSSRadiiNV: return "HitLSSRadiiNV"; 4264 case BuiltIn::ClusterIDNV: return "ClusterIDNV"; 4265 case BuiltIn::CullMaskKHR: return "CullMaskKHR"; 4266 default: return "Unknown"; 4267 } 4268} 4269 4270inline const char* ScopeToString(Scope value) { 4271 switch (value) { 4272 case Scope::CrossDevice: return "CrossDevice"; 4273 case Scope::Device: return "Device"; 4274 case Scope::Workgroup: return "Workgroup"; 4275 case Scope::Subgroup: return "Subgroup"; 4276 case Scope::Invocation: return "Invocation"; 4277 case Scope::QueueFamily: return "QueueFamily"; 4278 case Scope::ShaderCallKHR: return "ShaderCallKHR"; 4279 default: return "Unknown"; 4280 } 4281} 4282 4283inline const char* GroupOperationToString(GroupOperation value) { 4284 switch (value) { 4285 case GroupOperation::Reduce: return "Reduce"; 4286 case GroupOperation::InclusiveScan: return "InclusiveScan"; 4287 case GroupOperation::ExclusiveScan: return "ExclusiveScan"; 4288 case GroupOperation::ClusteredReduce: return "ClusteredReduce"; 4289 case GroupOperation::PartitionedReduceEXT: return "PartitionedReduceEXT"; 4290 case GroupOperation::PartitionedInclusiveScanEXT: return "PartitionedInclusiveScanEXT"; 4291 case GroupOperation::PartitionedExclusiveScanEXT: return "PartitionedExclusiveScanEXT"; 4292 default: return "Unknown"; 4293 } 4294} 4295 4296inline const char* KernelEnqueueFlagsToString(KernelEnqueueFlags value) { 4297 switch (value) { 4298 case KernelEnqueueFlags::NoWait: return "NoWait"; 4299 case KernelEnqueueFlags::WaitKernel: return "WaitKernel"; 4300 case KernelEnqueueFlags::WaitWorkGroup: return "WaitWorkGroup"; 4301 default: return "Unknown"; 4302 } 4303} 4304 4305inline const char* CapabilityToString(Capability value) { 4306 switch (value) { 4307 case Capability::Matrix: return "Matrix"; 4308 case Capability::Shader: return "Shader"; 4309 case Capability::Geometry: return "Geometry"; 4310 case Capability::Tessellation: return "Tessellation"; 4311 case Capability::Addresses: return "Addresses"; 4312 case Capability::Linkage: return "Linkage"; 4313 case Capability::Kernel: return "Kernel"; 4314 case Capability::Vector16: return "Vector16"; 4315 case Capability::Float16Buffer: return "Float16Buffer"; 4316 case Capability::Float16: return "Float16"; 4317 case Capability::Float64: return "Float64"; 4318 case Capability::Int64: return "Int64"; 4319 case Capability::Int64Atomics: return "Int64Atomics"; 4320 case Capability::ImageBasic: return "ImageBasic"; 4321 case Capability::ImageReadWrite: return "ImageReadWrite"; 4322 case Capability::ImageMipmap: return "ImageMipmap"; 4323 case Capability::Pipes: return "Pipes"; 4324 case Capability::Groups: return "Groups"; 4325 case Capability::DeviceEnqueue: return "DeviceEnqueue"; 4326 case Capability::LiteralSampler: return "LiteralSampler"; 4327 case Capability::AtomicStorage: return "AtomicStorage"; 4328 case Capability::Int16: return "Int16"; 4329 case Capability::TessellationPointSize: return "TessellationPointSize"; 4330 case Capability::GeometryPointSize: return "GeometryPointSize"; 4331 case Capability::ImageGatherExtended: return "ImageGatherExtended"; 4332 case Capability::StorageImageMultisample: return "StorageImageMultisample"; 4333 case Capability::UniformBufferArrayDynamicIndexing: return "UniformBufferArrayDynamicIndexing"; 4334 case Capability::SampledImageArrayDynamicIndexing: return "SampledImageArrayDynamicIndexing"; 4335 case Capability::StorageBufferArrayDynamicIndexing: return "StorageBufferArrayDynamicIndexing"; 4336 case Capability::StorageImageArrayDynamicIndexing: return "StorageImageArrayDynamicIndexing"; 4337 case Capability::ClipDistance: return "ClipDistance"; 4338 case Capability::CullDistance: return "CullDistance"; 4339 case Capability::ImageCubeArray: return "ImageCubeArray"; 4340 case Capability::SampleRateShading: return "SampleRateShading"; 4341 case Capability::ImageRect: return "ImageRect"; 4342 case Capability::SampledRect: return "SampledRect"; 4343 case Capability::GenericPointer: return "GenericPointer"; 4344 case Capability::Int8: return "Int8"; 4345 case Capability::InputAttachment: return "InputAttachment"; 4346 case Capability::SparseResidency: return "SparseResidency"; 4347 case Capability::MinLod: return "MinLod"; 4348 case Capability::Sampled1D: return "Sampled1D"; 4349 case Capability::Image1D: return "Image1D"; 4350 case Capability::SampledCubeArray: return "SampledCubeArray"; 4351 case Capability::SampledBuffer: return "SampledBuffer"; 4352 case Capability::ImageBuffer: return "ImageBuffer"; 4353 case Capability::ImageMSArray: return "ImageMSArray"; 4354 case Capability::StorageImageExtendedFormats: return "StorageImageExtendedFormats"; 4355 case Capability::ImageQuery: return "ImageQuery"; 4356 case Capability::DerivativeControl: return "DerivativeControl"; 4357 case Capability::InterpolationFunction: return "InterpolationFunction"; 4358 case Capability::TransformFeedback: return "TransformFeedback"; 4359 case Capability::GeometryStreams: return "GeometryStreams"; 4360 case Capability::StorageImageReadWithoutFormat: return "StorageImageReadWithoutFormat"; 4361 case Capability::StorageImageWriteWithoutFormat: return "StorageImageWriteWithoutFormat"; 4362 case Capability::MultiViewport: return "MultiViewport"; 4363 case Capability::SubgroupDispatch: return "SubgroupDispatch"; 4364 case Capability::NamedBarrier: return "NamedBarrier"; 4365 case Capability::PipeStorage: return "PipeStorage"; 4366 case Capability::GroupNonUniform: return "GroupNonUniform"; 4367 case Capability::GroupNonUniformVote: return "GroupNonUniformVote"; 4368 case Capability::GroupNonUniformArithmetic: return "GroupNonUniformArithmetic"; 4369 case Capability::GroupNonUniformBallot: return "GroupNonUniformBallot"; 4370 case Capability::GroupNonUniformShuffle: return "GroupNonUniformShuffle"; 4371 case Capability::GroupNonUniformShuffleRelative: return "GroupNonUniformShuffleRelative"; 4372 case Capability::GroupNonUniformClustered: return "GroupNonUniformClustered"; 4373 case Capability::GroupNonUniformQuad: return "GroupNonUniformQuad"; 4374 case Capability::ShaderLayer: return "ShaderLayer"; 4375 case Capability::ShaderViewportIndex: return "ShaderViewportIndex"; 4376 case Capability::UniformDecoration: return "UniformDecoration"; 4377 case Capability::CoreBuiltinsARM: return "CoreBuiltinsARM"; 4378 case Capability::TileImageColorReadAccessEXT: return "TileImageColorReadAccessEXT"; 4379 case Capability::TileImageDepthReadAccessEXT: return "TileImageDepthReadAccessEXT"; 4380 case Capability::TileImageStencilReadAccessEXT: return "TileImageStencilReadAccessEXT"; 4381 case Capability::TensorsARM: return "TensorsARM"; 4382 case Capability::StorageTensorArrayDynamicIndexingARM: return "StorageTensorArrayDynamicIndexingARM"; 4383 case Capability::StorageTensorArrayNonUniformIndexingARM: return "StorageTensorArrayNonUniformIndexingARM"; 4384 case Capability::GraphARM: return "GraphARM"; 4385 case Capability::CooperativeMatrixLayoutsARM: return "CooperativeMatrixLayoutsARM"; 4386 case Capability::Float8EXT: return "Float8EXT"; 4387 case Capability::Float8CooperativeMatrixEXT: return "Float8CooperativeMatrixEXT"; 4388 case Capability::Float6EXT: return "Float6EXT"; 4389 case Capability::Float4EXT: return "Float4EXT"; 4390 case Capability::Float8UnsignedE8M0EXT: return "Float8UnsignedE8M0EXT"; 4391 case Capability::MXInt8EXT: return "MXInt8EXT"; 4392 case Capability::BitcastExtractEXT: return "BitcastExtractEXT"; 4393 case Capability::FragmentShadingRateKHR: return "FragmentShadingRateKHR"; 4394 case Capability::SubgroupBallotKHR: return "SubgroupBallotKHR"; 4395 case Capability::DrawParameters: return "DrawParameters"; 4396 case Capability::WorkgroupMemoryExplicitLayoutKHR: return "WorkgroupMemoryExplicitLayoutKHR"; 4397 case Capability::WorkgroupMemoryExplicitLayout8BitAccessKHR: return "WorkgroupMemoryExplicitLayout8BitAccessKHR"; 4398 case Capability::WorkgroupMemoryExplicitLayout16BitAccessKHR: return "WorkgroupMemoryExplicitLayout16BitAccessKHR"; 4399 case Capability::SubgroupVoteKHR: return "SubgroupVoteKHR"; 4400 case Capability::StorageBuffer16BitAccess: return "StorageBuffer16BitAccess"; 4401 case Capability::StorageUniform16: return "StorageUniform16"; 4402 case Capability::StoragePushConstant16: return "StoragePushConstant16"; 4403 case Capability::StorageInputOutput16: return "StorageInputOutput16"; 4404 case Capability::DeviceGroup: return "DeviceGroup"; 4405 case Capability::MultiView: return "MultiView"; 4406 case Capability::VariablePointersStorageBuffer: return "VariablePointersStorageBuffer"; 4407 case Capability::VariablePointers: return "VariablePointers"; 4408 case Capability::AtomicStorageOps: return "AtomicStorageOps"; 4409 case Capability::SampleMaskPostDepthCoverage: return "SampleMaskPostDepthCoverage"; 4410 case Capability::StorageBuffer8BitAccess: return "StorageBuffer8BitAccess"; 4411 case Capability::UniformAndStorageBuffer8BitAccess: return "UniformAndStorageBuffer8BitAccess"; 4412 case Capability::StoragePushConstant8: return "StoragePushConstant8"; 4413 case Capability::DenormPreserve: return "DenormPreserve"; 4414 case Capability::DenormFlushToZero: return "DenormFlushToZero"; 4415 case Capability::SignedZeroInfNanPreserve: return "SignedZeroInfNanPreserve"; 4416 case Capability::RoundingModeRTE: return "RoundingModeRTE"; 4417 case Capability::RoundingModeRTZ: return "RoundingModeRTZ"; 4418 case Capability::RayQueryProvisionalKHR: return "RayQueryProvisionalKHR"; 4419 case Capability::RayQueryKHR: return "RayQueryKHR"; 4420 case Capability::UntypedPointersKHR: return "UntypedPointersKHR"; 4421 case Capability::RayTraversalPrimitiveCullingKHR: return "RayTraversalPrimitiveCullingKHR"; 4422 case Capability::RayTracingKHR: return "RayTracingKHR"; 4423 case Capability::TextureSampleWeightedQCOM: return "TextureSampleWeightedQCOM"; 4424 case Capability::TextureBoxFilterQCOM: return "TextureBoxFilterQCOM"; 4425 case Capability::TextureBlockMatchQCOM: return "TextureBlockMatchQCOM"; 4426 case Capability::TileShadingQCOM: return "TileShadingQCOM"; 4427 case Capability::CooperativeMatrixConversionQCOM: return "CooperativeMatrixConversionQCOM"; 4428 case Capability::TextureBlockMatch2QCOM: return "TextureBlockMatch2QCOM"; 4429 case Capability::MultipleWaitQueuesQCOM: return "MultipleWaitQueuesQCOM"; 4430 case Capability::ImageGatherLinearQCOM: return "ImageGatherLinearQCOM"; 4431 case Capability::ImageGatherExtendedModesQCOM: return "ImageGatherExtendedModesQCOM"; 4432 case Capability::Float16ImageAMD: return "Float16ImageAMD"; 4433 case Capability::ImageGatherBiasLodAMD: return "ImageGatherBiasLodAMD"; 4434 case Capability::FragmentMaskAMD: return "FragmentMaskAMD"; 4435 case Capability::StencilExportEXT: return "StencilExportEXT"; 4436 case Capability::ImageReadWriteLodAMD: return "ImageReadWriteLodAMD"; 4437 case Capability::Int64ImageEXT: return "Int64ImageEXT"; 4438 case Capability::ShaderClockKHR: return "ShaderClockKHR"; 4439 case Capability::ShaderEnqueueAMDX: return "ShaderEnqueueAMDX"; 4440 case Capability::QuadControlKHR: return "QuadControlKHR"; 4441 case Capability::Int4TypeINTEL: return "Int4TypeINTEL"; 4442 case Capability::Int4CooperativeMatrixINTEL: return "Int4CooperativeMatrixINTEL"; 4443 case Capability::BFloat16TypeKHR: return "BFloat16TypeKHR"; 4444 case Capability::BFloat16DotProductKHR: return "BFloat16DotProductKHR"; 4445 case Capability::BFloat16CooperativeMatrixKHR: return "BFloat16CooperativeMatrixKHR"; 4446 case Capability::AbortKHR: return "AbortKHR"; 4447 case Capability::DescriptorHeapEXT: return "DescriptorHeapEXT"; 4448 case Capability::ConstantDataKHR: return "ConstantDataKHR"; 4449 case Capability::PoisonFreezeKHR: return "PoisonFreezeKHR"; 4450 case Capability::WeakLinkageAMD: return "WeakLinkageAMD"; 4451 case Capability::SampleMaskOverrideCoverageNV: return "SampleMaskOverrideCoverageNV"; 4452 case Capability::GeometryShaderPassthroughNV: return "GeometryShaderPassthroughNV"; 4453 case Capability::ShaderViewportIndexLayerEXT: return "ShaderViewportIndexLayerEXT"; 4454 case Capability::ShaderViewportMaskNV: return "ShaderViewportMaskNV"; 4455 case Capability::ShaderStereoViewNV: return "ShaderStereoViewNV"; 4456 case Capability::PerViewAttributesNV: return "PerViewAttributesNV"; 4457 case Capability::FragmentFullyCoveredEXT: return "FragmentFullyCoveredEXT"; 4458 case Capability::MeshShadingNV: return "MeshShadingNV"; 4459 case Capability::ImageFootprintNV: return "ImageFootprintNV"; 4460 case Capability::MeshShadingEXT: return "MeshShadingEXT"; 4461 case Capability::FragmentBarycentricKHR: return "FragmentBarycentricKHR"; 4462 case Capability::ComputeDerivativeGroupQuadsKHR: return "ComputeDerivativeGroupQuadsKHR"; 4463 case Capability::FragmentDensityEXT: return "FragmentDensityEXT"; 4464 case Capability::GroupNonUniformPartitionedEXT: return "GroupNonUniformPartitionedEXT"; 4465 case Capability::ShaderNonUniform: return "ShaderNonUniform"; 4466 case Capability::RuntimeDescriptorArray: return "RuntimeDescriptorArray"; 4467 case Capability::InputAttachmentArrayDynamicIndexing: return "InputAttachmentArrayDynamicIndexing"; 4468 case Capability::UniformTexelBufferArrayDynamicIndexing: return "UniformTexelBufferArrayDynamicIndexing"; 4469 case Capability::StorageTexelBufferArrayDynamicIndexing: return "StorageTexelBufferArrayDynamicIndexing"; 4470 case Capability::UniformBufferArrayNonUniformIndexing: return "UniformBufferArrayNonUniformIndexing"; 4471 case Capability::SampledImageArrayNonUniformIndexing: return "SampledImageArrayNonUniformIndexing"; 4472 case Capability::StorageBufferArrayNonUniformIndexing: return "StorageBufferArrayNonUniformIndexing"; 4473 case Capability::StorageImageArrayNonUniformIndexing: return "StorageImageArrayNonUniformIndexing"; 4474 case Capability::InputAttachmentArrayNonUniformIndexing: return "InputAttachmentArrayNonUniformIndexing"; 4475 case Capability::UniformTexelBufferArrayNonUniformIndexing: return "UniformTexelBufferArrayNonUniformIndexing"; 4476 case Capability::StorageTexelBufferArrayNonUniformIndexing: return "StorageTexelBufferArrayNonUniformIndexing"; 4477 case Capability::RayTracingPositionFetchKHR: return "RayTracingPositionFetchKHR"; 4478 case Capability::RayTracingNV: return "RayTracingNV"; 4479 case Capability::RayTracingMotionBlurNV: return "RayTracingMotionBlurNV"; 4480 case Capability::VulkanMemoryModel: return "VulkanMemoryModel"; 4481 case Capability::VulkanMemoryModelDeviceScope: return "VulkanMemoryModelDeviceScope"; 4482 case Capability::PhysicalStorageBufferAddresses: return "PhysicalStorageBufferAddresses"; 4483 case Capability::ComputeDerivativeGroupLinearKHR: return "ComputeDerivativeGroupLinearKHR"; 4484 case Capability::RayTracingProvisionalKHR: return "RayTracingProvisionalKHR"; 4485 case Capability::CooperativeMatrixNV: return "CooperativeMatrixNV"; 4486 case Capability::FragmentShaderSampleInterlockEXT: return "FragmentShaderSampleInterlockEXT"; 4487 case Capability::FragmentShaderShadingRateInterlockEXT: return "FragmentShaderShadingRateInterlockEXT"; 4488 case Capability::ShaderSMBuiltinsNV: return "ShaderSMBuiltinsNV"; 4489 case Capability::FragmentShaderPixelInterlockEXT: return "FragmentShaderPixelInterlockEXT"; 4490 case Capability::DemoteToHelperInvocation: return "DemoteToHelperInvocation"; 4491 case Capability::DisplacementMicromapNV: return "DisplacementMicromapNV"; 4492 case Capability::RayTracingOpacityMicromapEXT: return "RayTracingOpacityMicromapEXT"; 4493 case Capability::ShaderInvocationReorderNV: return "ShaderInvocationReorderNV"; 4494 case Capability::ShaderInvocationReorderEXT: return "ShaderInvocationReorderEXT"; 4495 case Capability::BindlessTextureNV: return "BindlessTextureNV"; 4496 case Capability::RayQueryPositionFetchKHR: return "RayQueryPositionFetchKHR"; 4497 case Capability::CooperativeVectorNV: return "CooperativeVectorNV"; 4498 case Capability::AtomicFloat16VectorNV: return "AtomicFloat16VectorNV"; 4499 case Capability::RayTracingDisplacementMicromapNV: return "RayTracingDisplacementMicromapNV"; 4500 case Capability::RawAccessChainsNV: return "RawAccessChainsNV"; 4501 case Capability::RayTracingSpheresGeometryNV: return "RayTracingSpheresGeometryNV"; 4502 case Capability::RayTracingLinearSweptSpheresGeometryNV: return "RayTracingLinearSweptSpheresGeometryNV"; 4503 case Capability::PushConstantBanksNV: return "PushConstantBanksNV"; 4504 case Capability::LongVectorEXT: return "LongVectorEXT"; 4505 case Capability::Shader64BitIndexingEXT: return "Shader64BitIndexingEXT"; 4506 case Capability::CooperativeMatrixConversionsEXT: return "CooperativeMatrixConversionsEXT"; 4507 case Capability::CooperativeMatrixReductionsEXT: return "CooperativeMatrixReductionsEXT"; 4508 case Capability::CooperativeMatrixConversionsNV: return "CooperativeMatrixConversionsNV"; 4509 case Capability::CooperativeMatrixPerElementOperationsEXT: return "CooperativeMatrixPerElementOperationsEXT"; 4510 case Capability::CooperativeMatrixTensorAddressingNV: return "CooperativeMatrixTensorAddressingNV"; 4511 case Capability::CooperativeMatrixBlockLoadsNV: return "CooperativeMatrixBlockLoadsNV"; 4512 case Capability::CooperativeVectorTrainingNV: return "CooperativeVectorTrainingNV"; 4513 case Capability::RayTracingClusterAccelerationStructureNV: return "RayTracingClusterAccelerationStructureNV"; 4514 case Capability::CooperativeMatrixGetCoordinateEXT: return "CooperativeMatrixGetCoordinateEXT"; 4515 case Capability::TensorAddressingNV: return "TensorAddressingNV"; 4516 case Capability::CooperativeMatrixDecodeVectorNV: return "CooperativeMatrixDecodeVectorNV"; 4517 case Capability::SubgroupShuffleINTEL: return "SubgroupShuffleINTEL"; 4518 case Capability::SubgroupBufferBlockIOINTEL: return "SubgroupBufferBlockIOINTEL"; 4519 case Capability::SubgroupImageBlockIOINTEL: return "SubgroupImageBlockIOINTEL"; 4520 case Capability::SubgroupImageMediaBlockIOINTEL: return "SubgroupImageMediaBlockIOINTEL"; 4521 case Capability::RoundToInfinityINTEL: return "RoundToInfinityINTEL"; 4522 case Capability::FloatingPointModeINTEL: return "FloatingPointModeINTEL"; 4523 case Capability::IntegerFunctions2INTEL: return "IntegerFunctions2INTEL"; 4524 case Capability::FunctionPointersINTEL: return "FunctionPointersINTEL"; 4525 case Capability::IndirectReferencesINTEL: return "IndirectReferencesINTEL"; 4526 case Capability::AsmINTEL: return "AsmINTEL"; 4527 case Capability::AtomicFloat32MinMaxEXT: return "AtomicFloat32MinMaxEXT"; 4528 case Capability::AtomicFloat64MinMaxEXT: return "AtomicFloat64MinMaxEXT"; 4529 case Capability::AtomicFloat16MinMaxEXT: return "AtomicFloat16MinMaxEXT"; 4530 case Capability::VectorComputeINTEL: return "VectorComputeINTEL"; 4531 case Capability::VectorAnyINTEL: return "VectorAnyINTEL"; 4532 case Capability::ExpectAssumeKHR: return "ExpectAssumeKHR"; 4533 case Capability::SubgroupAvcMotionEstimationINTEL: return "SubgroupAvcMotionEstimationINTEL"; 4534 case Capability::SubgroupAvcMotionEstimationIntraINTEL: return "SubgroupAvcMotionEstimationIntraINTEL"; 4535 case Capability::SubgroupAvcMotionEstimationChromaINTEL: return "SubgroupAvcMotionEstimationChromaINTEL"; 4536 case Capability::VariableLengthArrayINTEL: return "VariableLengthArrayINTEL"; 4537 case Capability::FunctionFloatControlINTEL: return "FunctionFloatControlINTEL"; 4538 case Capability::FPGAMemoryAttributesALTERA: return "FPGAMemoryAttributesALTERA"; 4539 case Capability::FPFastMathModeINTEL: return "FPFastMathModeINTEL"; 4540 case Capability::ArbitraryPrecisionIntegersALTERA: return "ArbitraryPrecisionIntegersALTERA"; 4541 case Capability::ArbitraryPrecisionFloatingPointALTERA: return "ArbitraryPrecisionFloatingPointALTERA"; 4542 case Capability::UnstructuredLoopControlsINTEL: return "UnstructuredLoopControlsINTEL"; 4543 case Capability::FPGALoopControlsALTERA: return "FPGALoopControlsALTERA"; 4544 case Capability::KernelAttributesINTEL: return "KernelAttributesINTEL"; 4545 case Capability::FPGAKernelAttributesINTEL: return "FPGAKernelAttributesINTEL"; 4546 case Capability::FPGAMemoryAccessesALTERA: return "FPGAMemoryAccessesALTERA"; 4547 case Capability::FPGAClusterAttributesALTERA: return "FPGAClusterAttributesALTERA"; 4548 case Capability::LoopFuseALTERA: return "LoopFuseALTERA"; 4549 case Capability::FPGADSPControlALTERA: return "FPGADSPControlALTERA"; 4550 case Capability::MemoryAccessAliasingINTEL: return "MemoryAccessAliasingINTEL"; 4551 case Capability::FPGAInvocationPipeliningAttributesALTERA: return "FPGAInvocationPipeliningAttributesALTERA"; 4552 case Capability::FPGABufferLocationALTERA: return "FPGABufferLocationALTERA"; 4553 case Capability::ArbitraryPrecisionFixedPointALTERA: return "ArbitraryPrecisionFixedPointALTERA"; 4554 case Capability::USMStorageClassesALTERA: return "USMStorageClassesALTERA"; 4555 case Capability::RuntimeAlignedAttributeALTERA: return "RuntimeAlignedAttributeALTERA"; 4556 case Capability::IOPipesALTERA: return "IOPipesALTERA"; 4557 case Capability::BlockingPipesALTERA: return "BlockingPipesALTERA"; 4558 case Capability::FPGARegALTERA: return "FPGARegALTERA"; 4559 case Capability::DotProductInputAll: return "DotProductInputAll"; 4560 case Capability::DotProductInput4x8Bit: return "DotProductInput4x8Bit"; 4561 case Capability::DotProductInput4x8BitPacked: return "DotProductInput4x8BitPacked"; 4562 case Capability::DotProduct: return "DotProduct"; 4563 case Capability::RayCullMaskKHR: return "RayCullMaskKHR"; 4564 case Capability::CooperativeMatrixKHR: return "CooperativeMatrixKHR"; 4565 case Capability::ReplicatedCompositesEXT: return "ReplicatedCompositesEXT"; 4566 case Capability::BitInstructions: return "BitInstructions"; 4567 case Capability::GroupNonUniformRotateKHR: return "GroupNonUniformRotateKHR"; 4568 case Capability::FloatControls2: return "FloatControls2"; 4569 case Capability::FMAKHR: return "FMAKHR"; 4570 case Capability::RayTracingOpacityMicromapExecutionModeKHR: return "RayTracingOpacityMicromapExecutionModeKHR"; 4571 case Capability::AtomicFloat32AddEXT: return "AtomicFloat32AddEXT"; 4572 case Capability::AtomicFloat64AddEXT: return "AtomicFloat64AddEXT"; 4573 case Capability::LongCompositesINTEL: return "LongCompositesINTEL"; 4574 case Capability::OptNoneEXT: return "OptNoneEXT"; 4575 case Capability::AtomicFloat16AddEXT: return "AtomicFloat16AddEXT"; 4576 case Capability::DebugInfoModuleINTEL: return "DebugInfoModuleINTEL"; 4577 case Capability::BFloat16ConversionINTEL: return "BFloat16ConversionINTEL"; 4578 case Capability::SplitBarrierEXT: return "SplitBarrierEXT"; 4579 case Capability::ArithmeticFenceEXT: return "ArithmeticFenceEXT"; 4580 case Capability::FPGAClusterAttributesV2ALTERA: return "FPGAClusterAttributesV2ALTERA"; 4581 case Capability::FPGAKernelAttributesv2INTEL: return "FPGAKernelAttributesv2INTEL"; 4582 case Capability::TaskSequenceALTERA: return "TaskSequenceALTERA"; 4583 case Capability::FPMaxErrorINTEL: return "FPMaxErrorINTEL"; 4584 case Capability::FPGALatencyControlALTERA: return "FPGALatencyControlALTERA"; 4585 case Capability::FPGAArgumentInterfacesALTERA: return "FPGAArgumentInterfacesALTERA"; 4586 case Capability::GlobalVariableHostAccessINTEL: return "GlobalVariableHostAccessINTEL"; 4587 case Capability::GlobalVariableFPGADecorationsALTERA: return "GlobalVariableFPGADecorationsALTERA"; 4588 case Capability::SubgroupBufferPrefetchINTEL: return "SubgroupBufferPrefetchINTEL"; 4589 case Capability::Subgroup2DBlockIOINTEL: return "Subgroup2DBlockIOINTEL"; 4590 case Capability::Subgroup2DBlockTransformINTEL: return "Subgroup2DBlockTransformINTEL"; 4591 case Capability::Subgroup2DBlockTransposeINTEL: return "Subgroup2DBlockTransposeINTEL"; 4592 case Capability::SubgroupMatrixMultiplyAccumulateINTEL: return "SubgroupMatrixMultiplyAccumulateINTEL"; 4593 case Capability::TernaryBitwiseFunctionINTEL: return "TernaryBitwiseFunctionINTEL"; 4594 case Capability::UntypedVariableLengthArrayINTEL: return "UntypedVariableLengthArrayINTEL"; 4595 case Capability::SpecConditionalINTEL: return "SpecConditionalINTEL"; 4596 case Capability::FunctionVariantsINTEL: return "FunctionVariantsINTEL"; 4597 case Capability::PredicatedIOINTEL: return "PredicatedIOINTEL"; 4598 case Capability::RoundedDivideSqrtINTEL: return "RoundedDivideSqrtINTEL"; 4599 case Capability::GroupUniformArithmeticKHR: return "GroupUniformArithmeticKHR"; 4600 case Capability::TensorFloat32RoundingINTEL: return "TensorFloat32RoundingINTEL"; 4601 case Capability::MaskedGatherScatterINTEL: return "MaskedGatherScatterINTEL"; 4602 case Capability::CacheControlsINTEL: return "CacheControlsINTEL"; 4603 case Capability::RegisterLimitsINTEL: return "RegisterLimitsINTEL"; 4604 case Capability::BindlessImagesINTEL: return "BindlessImagesINTEL"; 4605 case Capability::DotProductFloat16AccFloat32VALVE: return "DotProductFloat16AccFloat32VALVE"; 4606 case Capability::DotProductFloat16AccFloat16VALVE: return "DotProductFloat16AccFloat16VALVE"; 4607 case Capability::DotProductBFloat16AccVALVE: return "DotProductBFloat16AccVALVE"; 4608 case Capability::DotProductFloat8AccFloat32VALVE: return "DotProductFloat8AccFloat32VALVE"; 4609 case Capability::IntrinsicSAMSUNG: return "IntrinsicSAMSUNG"; 4610 default: return "Unknown"; 4611 } 4612} 4613 4614inline const char* RayQueryIntersectionToString(RayQueryIntersection value) { 4615 switch (value) { 4616 case RayQueryIntersection::RayQueryCandidateIntersectionKHR: return "RayQueryCandidateIntersectionKHR"; 4617 case RayQueryIntersection::RayQueryCommittedIntersectionKHR: return "RayQueryCommittedIntersectionKHR"; 4618 default: return "Unknown"; 4619 } 4620} 4621 4622inline const char* RayQueryCommittedIntersectionTypeToString(RayQueryCommittedIntersectionType value) { 4623 switch (value) { 4624 case RayQueryCommittedIntersectionType::RayQueryCommittedIntersectionNoneKHR: return "RayQueryCommittedIntersectionNoneKHR"; 4625 case RayQueryCommittedIntersectionType::RayQueryCommittedIntersectionTriangleKHR: return "RayQueryCommittedIntersectionTriangleKHR"; 4626 case RayQueryCommittedIntersectionType::RayQueryCommittedIntersectionGeneratedKHR: return "RayQueryCommittedIntersectionGeneratedKHR"; 4627 default: return "Unknown"; 4628 } 4629} 4630 4631inline const char* RayQueryCandidateIntersectionTypeToString(RayQueryCandidateIntersectionType value) { 4632 switch (value) { 4633 case RayQueryCandidateIntersectionType::RayQueryCandidateIntersectionTriangleKHR: return "RayQueryCandidateIntersectionTriangleKHR"; 4634 case RayQueryCandidateIntersectionType::RayQueryCandidateIntersectionAABBKHR: return "RayQueryCandidateIntersectionAABBKHR"; 4635 default: return "Unknown"; 4636 } 4637} 4638 4639inline const char* FPDenormModeToString(FPDenormMode value) { 4640 switch (value) { 4641 case FPDenormMode::Preserve: return "Preserve"; 4642 case FPDenormMode::FlushToZero: return "FlushToZero"; 4643 default: return "Unknown"; 4644 } 4645} 4646 4647inline const char* FPOperationModeToString(FPOperationMode value) { 4648 switch (value) { 4649 case FPOperationMode::IEEE: return "IEEE"; 4650 case FPOperationMode::ALT: return "ALT"; 4651 default: return "Unknown"; 4652 } 4653} 4654 4655inline const char* QuantizationModesToString(QuantizationModes value) { 4656 switch (value) { 4657 case QuantizationModes::TRN: return "TRN"; 4658 case QuantizationModes::TRN_ZERO: return "TRN_ZERO"; 4659 case QuantizationModes::RND: return "RND"; 4660 case QuantizationModes::RND_ZERO: return "RND_ZERO"; 4661 case QuantizationModes::RND_INF: return "RND_INF"; 4662 case QuantizationModes::RND_MIN_INF: return "RND_MIN_INF"; 4663 case QuantizationModes::RND_CONV: return "RND_CONV"; 4664 case QuantizationModes::RND_CONV_ODD: return "RND_CONV_ODD"; 4665 default: return "Unknown"; 4666 } 4667} 4668 4669inline const char* OverflowModesToString(OverflowModes value) { 4670 switch (value) { 4671 case OverflowModes::WRAP: return "WRAP"; 4672 case OverflowModes::SAT: return "SAT"; 4673 case OverflowModes::SAT_ZERO: return "SAT_ZERO"; 4674 case OverflowModes::SAT_SYM: return "SAT_SYM"; 4675 default: return "Unknown"; 4676 } 4677} 4678 4679inline const char* PackedVectorFormatToString(PackedVectorFormat value) { 4680 switch (value) { 4681 case PackedVectorFormat::PackedVectorFormat4x8Bit: return "PackedVectorFormat4x8Bit"; 4682 default: return "Unknown"; 4683 } 4684} 4685 4686inline const char* CooperativeMatrixLayoutToString(CooperativeMatrixLayout value) { 4687 switch (value) { 4688 case CooperativeMatrixLayout::RowMajorKHR: return "RowMajorKHR"; 4689 case CooperativeMatrixLayout::ColumnMajorKHR: return "ColumnMajorKHR"; 4690 case CooperativeMatrixLayout::RowBlockedInterleavedARM: return "RowBlockedInterleavedARM"; 4691 case CooperativeMatrixLayout::ColumnBlockedInterleavedARM: return "ColumnBlockedInterleavedARM"; 4692 default: return "Unknown"; 4693 } 4694} 4695 4696inline const char* CooperativeMatrixUseToString(CooperativeMatrixUse value) { 4697 switch (value) { 4698 case CooperativeMatrixUse::MatrixAKHR: return "MatrixAKHR"; 4699 case CooperativeMatrixUse::MatrixBKHR: return "MatrixBKHR"; 4700 case CooperativeMatrixUse::MatrixAccumulatorKHR: return "MatrixAccumulatorKHR"; 4701 default: return "Unknown"; 4702 } 4703} 4704 4705inline const char* TensorClampModeToString(TensorClampMode value) { 4706 switch (value) { 4707 case TensorClampMode::Undefined: return "Undefined"; 4708 case TensorClampMode::Constant: return "Constant"; 4709 case TensorClampMode::ClampToEdge: return "ClampToEdge"; 4710 case TensorClampMode::Repeat: return "Repeat"; 4711 case TensorClampMode::RepeatMirrored: return "RepeatMirrored"; 4712 default: return "Unknown"; 4713 } 4714} 4715 4716inline const char* InitializationModeQualifierToString(InitializationModeQualifier value) { 4717 switch (value) { 4718 case InitializationModeQualifier::InitOnDeviceReprogramALTERA: return "InitOnDeviceReprogramALTERA"; 4719 case InitializationModeQualifier::InitOnDeviceResetALTERA: return "InitOnDeviceResetALTERA"; 4720 default: return "Unknown"; 4721 } 4722} 4723 4724inline const char* HostAccessQualifierToString(HostAccessQualifier value) { 4725 switch (value) { 4726 case HostAccessQualifier::NoneINTEL: return "NoneINTEL"; 4727 case HostAccessQualifier::ReadINTEL: return "ReadINTEL"; 4728 case HostAccessQualifier::WriteINTEL: return "WriteINTEL"; 4729 case HostAccessQualifier::ReadWriteINTEL: return "ReadWriteINTEL"; 4730 default: return "Unknown"; 4731 } 4732} 4733 4734inline const char* LoadCacheControlToString(LoadCacheControl value) { 4735 switch (value) { 4736 case LoadCacheControl::UncachedINTEL: return "UncachedINTEL"; 4737 case LoadCacheControl::CachedINTEL: return "CachedINTEL"; 4738 case LoadCacheControl::StreamingINTEL: return "StreamingINTEL"; 4739 case LoadCacheControl::InvalidateAfterReadINTEL: return "InvalidateAfterReadINTEL"; 4740 case LoadCacheControl::ConstCachedINTEL: return "ConstCachedINTEL"; 4741 default: return "Unknown"; 4742 } 4743} 4744 4745inline const char* StoreCacheControlToString(StoreCacheControl value) { 4746 switch (value) { 4747 case StoreCacheControl::UncachedINTEL: return "UncachedINTEL"; 4748 case StoreCacheControl::WriteThroughINTEL: return "WriteThroughINTEL"; 4749 case StoreCacheControl::WriteBackINTEL: return "WriteBackINTEL"; 4750 case StoreCacheControl::StreamingINTEL: return "StreamingINTEL"; 4751 default: return "Unknown"; 4752 } 4753} 4754 4755inline const char* NamedMaximumNumberOfRegistersToString(NamedMaximumNumberOfRegisters value) { 4756 switch (value) { 4757 case NamedMaximumNumberOfRegisters::AutoINTEL: return "AutoINTEL"; 4758 default: return "Unknown"; 4759 } 4760} 4761 4762inline const char* FPEncodingToString(FPEncoding value) { 4763 switch (value) { 4764 case FPEncoding::BFloat16KHR: return "BFloat16KHR"; 4765 case FPEncoding::Float8E4M3EXT: return "Float8E4M3EXT"; 4766 case FPEncoding::Float8E5M2EXT: return "Float8E5M2EXT"; 4767 case FPEncoding::Float6E2M3EXT: return "Float6E2M3EXT"; 4768 case FPEncoding::Float6E3M2EXT: return "Float6E3M2EXT"; 4769 case FPEncoding::Float4E2M1EXT: return "Float4E2M1EXT"; 4770 case FPEncoding::Float8UnsignedE8M0EXT: return "Float8UnsignedE8M0EXT"; 4771 case FPEncoding::MXInt8EXT: return "MXInt8EXT"; 4772 default: return "Unknown"; 4773 } 4774} 4775 4776inline const char* CooperativeVectorMatrixLayoutToString(CooperativeVectorMatrixLayout value) { 4777 switch (value) { 4778 case CooperativeVectorMatrixLayout::RowMajorNV: return "RowMajorNV"; 4779 case CooperativeVectorMatrixLayout::ColumnMajorNV: return "ColumnMajorNV"; 4780 case CooperativeVectorMatrixLayout::InferencingOptimalNV: return "InferencingOptimalNV"; 4781 case CooperativeVectorMatrixLayout::TrainingOptimalNV: return "TrainingOptimalNV"; 4782 default: return "Unknown"; 4783 } 4784} 4785 4786inline const char* ComponentTypeToString(ComponentType value) { 4787 switch (value) { 4788 case ComponentType::Float16NV: return "Float16NV"; 4789 case ComponentType::Float32NV: return "Float32NV"; 4790 case ComponentType::Float64NV: return "Float64NV"; 4791 case ComponentType::SignedInt8NV: return "SignedInt8NV"; 4792 case ComponentType::SignedInt16NV: return "SignedInt16NV"; 4793 case ComponentType::SignedInt32NV: return "SignedInt32NV"; 4794 case ComponentType::SignedInt64NV: return "SignedInt64NV"; 4795 case ComponentType::UnsignedInt8NV: return "UnsignedInt8NV"; 4796 case ComponentType::UnsignedInt16NV: return "UnsignedInt16NV"; 4797 case ComponentType::UnsignedInt32NV: return "UnsignedInt32NV"; 4798 case ComponentType::UnsignedInt64NV: return "UnsignedInt64NV"; 4799 case ComponentType::SignedInt8PackedNV: return "SignedInt8PackedNV"; 4800 case ComponentType::UnsignedInt8PackedNV: return "UnsignedInt8PackedNV"; 4801 case ComponentType::FloatE4M3NV: return "FloatE4M3NV"; 4802 case ComponentType::FloatE5M2NV: return "FloatE5M2NV"; 4803 default: return "Unknown"; 4804 } 4805} 4806 4807inline const char* GatherModesToString(GatherModes value) { 4808 switch (value) { 4809 case GatherModes::Gather4x1QCOM: return "Gather4x1QCOM"; 4810 case GatherModes::GatherDQCOM: return "GatherDQCOM"; 4811 case GatherModes::GatherH2QCOM: return "GatherH2QCOM"; 4812 case GatherModes::GatherV2QCOM: return "GatherV2QCOM"; 4813 default: return "Unknown"; 4814 } 4815} 4816 4817inline const char* OpToString(Op value) { 4818 switch (value) { 4819 case Op::OpNop: return "OpNop"; 4820 case Op::OpUndef: return "OpUndef"; 4821 case Op::OpSourceContinued: return "OpSourceContinued"; 4822 case Op::OpSource: return "OpSource"; 4823 case Op::OpSourceExtension: return "OpSourceExtension"; 4824 case Op::OpName: return "OpName"; 4825 case Op::OpMemberName: return "OpMemberName"; 4826 case Op::OpString: return "OpString"; 4827 case Op::OpLine: return "OpLine"; 4828 case Op::OpExtension: return "OpExtension"; 4829 case Op::OpExtInstImport: return "OpExtInstImport"; 4830 case Op::OpExtInst: return "OpExtInst"; 4831 case Op::OpMemoryModel: return "OpMemoryModel"; 4832 case Op::OpEntryPoint: return "OpEntryPoint"; 4833 case Op::OpExecutionMode: return "OpExecutionMode"; 4834 case Op::OpCapability: return "OpCapability"; 4835 case Op::OpTypeVoid: return "OpTypeVoid"; 4836 case Op::OpTypeBool: return "OpTypeBool"; 4837 case Op::OpTypeInt: return "OpTypeInt"; 4838 case Op::OpTypeFloat: return "OpTypeFloat"; 4839 case Op::OpTypeVector: return "OpTypeVector"; 4840 case Op::OpTypeMatrix: return "OpTypeMatrix"; 4841 case Op::OpTypeImage: return "OpTypeImage"; 4842 case Op::OpTypeSampler: return "OpTypeSampler"; 4843 case Op::OpTypeSampledImage: return "OpTypeSampledImage"; 4844 case Op::OpTypeArray: return "OpTypeArray"; 4845 case Op::OpTypeRuntimeArray: return "OpTypeRuntimeArray"; 4846 case Op::OpTypeStruct: return "OpTypeStruct"; 4847 case Op::OpTypeOpaque: return "OpTypeOpaque"; 4848 case Op::OpTypePointer: return "OpTypePointer"; 4849 case Op::OpTypeFunction: return "OpTypeFunction"; 4850 case Op::OpTypeEvent: return "OpTypeEvent"; 4851 case Op::OpTypeDeviceEvent: return "OpTypeDeviceEvent"; 4852 case Op::OpTypeReserveId: return "OpTypeReserveId"; 4853 case Op::OpTypeQueue: return "OpTypeQueue"; 4854 case Op::OpTypePipe: return "OpTypePipe"; 4855 case Op::OpTypeForwardPointer: return "OpTypeForwardPointer"; 4856 case Op::OpConstantTrue: return "OpConstantTrue"; 4857 case Op::OpConstantFalse: return "OpConstantFalse"; 4858 case Op::OpConstant: return "OpConstant"; 4859 case Op::OpConstantComposite: return "OpConstantComposite"; 4860 case Op::OpConstantSampler: return "OpConstantSampler"; 4861 case Op::OpConstantNull: return "OpConstantNull"; 4862 case Op::OpSpecConstantTrue: return "OpSpecConstantTrue"; 4863 case Op::OpSpecConstantFalse: return "OpSpecConstantFalse"; 4864 case Op::OpSpecConstant: return "OpSpecConstant"; 4865 case Op::OpSpecConstantComposite: return "OpSpecConstantComposite"; 4866 case Op::OpSpecConstantOp: return "OpSpecConstantOp"; 4867 case Op::OpFunction: return "OpFunction"; 4868 case Op::OpFunctionParameter: return "OpFunctionParameter"; 4869 case Op::OpFunctionEnd: return "OpFunctionEnd"; 4870 case Op::OpFunctionCall: return "OpFunctionCall"; 4871 case Op::OpVariable: return "OpVariable"; 4872 case Op::OpImageTexelPointer: return "OpImageTexelPointer"; 4873 case Op::OpLoad: return "OpLoad"; 4874 case Op::OpStore: return "OpStore"; 4875 case Op::OpCopyMemory: return "OpCopyMemory"; 4876 case Op::OpCopyMemorySized: return "OpCopyMemorySized"; 4877 case Op::OpAccessChain: return "OpAccessChain"; 4878 case Op::OpInBoundsAccessChain: return "OpInBoundsAccessChain"; 4879 case Op::OpPtrAccessChain: return "OpPtrAccessChain"; 4880 case Op::OpArrayLength: return "OpArrayLength"; 4881 case Op::OpGenericPtrMemSemantics: return "OpGenericPtrMemSemantics"; 4882 case Op::OpInBoundsPtrAccessChain: return "OpInBoundsPtrAccessChain"; 4883 case Op::OpDecorate: return "OpDecorate"; 4884 case Op::OpMemberDecorate: return "OpMemberDecorate"; 4885 case Op::OpDecorationGroup: return "OpDecorationGroup"; 4886 case Op::OpGroupDecorate: return "OpGroupDecorate"; 4887 case Op::OpGroupMemberDecorate: return "OpGroupMemberDecorate"; 4888 case Op::OpVectorExtractDynamic: return "OpVectorExtractDynamic"; 4889 case Op::OpVectorInsertDynamic: return "OpVectorInsertDynamic"; 4890 case Op::OpVectorShuffle: return "OpVectorShuffle"; 4891 case Op::OpCompositeConstruct: return "OpCompositeConstruct"; 4892 case Op::OpCompositeExtract: return "OpCompositeExtract"; 4893 case Op::OpCompositeInsert: return "OpCompositeInsert"; 4894 case Op::OpCopyObject: return "OpCopyObject"; 4895 case Op::OpTranspose: return "OpTranspose"; 4896 case Op::OpSampledImage: return "OpSampledImage"; 4897 case Op::OpImageSampleImplicitLod: return "OpImageSampleImplicitLod"; 4898 case Op::OpImageSampleExplicitLod: return "OpImageSampleExplicitLod"; 4899 case Op::OpImageSampleDrefImplicitLod: return "OpImageSampleDrefImplicitLod"; 4900 case Op::OpImageSampleDrefExplicitLod: return "OpImageSampleDrefExplicitLod"; 4901 case Op::OpImageSampleProjImplicitLod: return "OpImageSampleProjImplicitLod"; 4902 case Op::OpImageSampleProjExplicitLod: return "OpImageSampleProjExplicitLod"; 4903 case Op::OpImageSampleProjDrefImplicitLod: return "OpImageSampleProjDrefImplicitLod"; 4904 case Op::OpImageSampleProjDrefExplicitLod: return "OpImageSampleProjDrefExplicitLod"; 4905 case Op::OpImageFetch: return "OpImageFetch"; 4906 case Op::OpImageGather: return "OpImageGather"; 4907 case Op::OpImageDrefGather: return "OpImageDrefGather"; 4908 case Op::OpImageRead: return "OpImageRead"; 4909 case Op::OpImageWrite: return "OpImageWrite"; 4910 case Op::OpImage: return "OpImage"; 4911 case Op::OpImageQueryFormat: return "OpImageQueryFormat"; 4912 case Op::OpImageQueryOrder: return "OpImageQueryOrder"; 4913 case Op::OpImageQuerySizeLod: return "OpImageQuerySizeLod"; 4914 case Op::OpImageQuerySize: return "OpImageQuerySize"; 4915 case Op::OpImageQueryLod: return "OpImageQueryLod"; 4916 case Op::OpImageQueryLevels: return "OpImageQueryLevels"; 4917 case Op::OpImageQuerySamples: return "OpImageQuerySamples"; 4918 case Op::OpConvertFToU: return "OpConvertFToU"; 4919 case Op::OpConvertFToS: return "OpConvertFToS"; 4920 case Op::OpConvertSToF: return "OpConvertSToF"; 4921 case Op::OpConvertUToF: return "OpConvertUToF"; 4922 case Op::OpUConvert: return "OpUConvert"; 4923 case Op::OpSConvert: return "OpSConvert"; 4924 case Op::OpFConvert: return "OpFConvert"; 4925 case Op::OpQuantizeToF16: return "OpQuantizeToF16"; 4926 case Op::OpConvertPtrToU: return "OpConvertPtrToU"; 4927 case Op::OpSatConvertSToU: return "OpSatConvertSToU"; 4928 case Op::OpSatConvertUToS: return "OpSatConvertUToS"; 4929 case Op::OpConvertUToPtr: return "OpConvertUToPtr"; 4930 case Op::OpPtrCastToGeneric: return "OpPtrCastToGeneric"; 4931 case Op::OpGenericCastToPtr: return "OpGenericCastToPtr"; 4932 case Op::OpGenericCastToPtrExplicit: return "OpGenericCastToPtrExplicit"; 4933 case Op::OpBitcast: return "OpBitcast"; 4934 case Op::OpSNegate: return "OpSNegate"; 4935 case Op::OpFNegate: return "OpFNegate"; 4936 case Op::OpIAdd: return "OpIAdd"; 4937 case Op::OpFAdd: return "OpFAdd"; 4938 case Op::OpISub: return "OpISub"; 4939 case Op::OpFSub: return "OpFSub"; 4940 case Op::OpIMul: return "OpIMul"; 4941 case Op::OpFMul: return "OpFMul"; 4942 case Op::OpUDiv: return "OpUDiv"; 4943 case Op::OpSDiv: return "OpSDiv"; 4944 case Op::OpFDiv: return "OpFDiv"; 4945 case Op::OpUMod: return "OpUMod"; 4946 case Op::OpSRem: return "OpSRem"; 4947 case Op::OpSMod: return "OpSMod"; 4948 case Op::OpFRem: return "OpFRem"; 4949 case Op::OpFMod: return "OpFMod"; 4950 case Op::OpVectorTimesScalar: return "OpVectorTimesScalar"; 4951 case Op::OpMatrixTimesScalar: return "OpMatrixTimesScalar"; 4952 case Op::OpVectorTimesMatrix: return "OpVectorTimesMatrix"; 4953 case Op::OpMatrixTimesVector: return "OpMatrixTimesVector"; 4954 case Op::OpMatrixTimesMatrix: return "OpMatrixTimesMatrix"; 4955 case Op::OpOuterProduct: return "OpOuterProduct"; 4956 case Op::OpDot: return "OpDot"; 4957 case Op::OpIAddCarry: return "OpIAddCarry"; 4958 case Op::OpISubBorrow: return "OpISubBorrow"; 4959 case Op::OpUMulExtended: return "OpUMulExtended"; 4960 case Op::OpSMulExtended: return "OpSMulExtended"; 4961 case Op::OpAny: return "OpAny"; 4962 case Op::OpAll: return "OpAll"; 4963 case Op::OpIsNan: return "OpIsNan"; 4964 case Op::OpIsInf: return "OpIsInf"; 4965 case Op::OpIsFinite: return "OpIsFinite"; 4966 case Op::OpIsNormal: return "OpIsNormal"; 4967 case Op::OpSignBitSet: return "OpSignBitSet"; 4968 case Op::OpLessOrGreater: return "OpLessOrGreater"; 4969 case Op::OpOrdered: return "OpOrdered"; 4970 case Op::OpUnordered: return "OpUnordered"; 4971 case Op::OpLogicalEqual: return "OpLogicalEqual"; 4972 case Op::OpLogicalNotEqual: return "OpLogicalNotEqual"; 4973 case Op::OpLogicalOr: return "OpLogicalOr"; 4974 case Op::OpLogicalAnd: return "OpLogicalAnd"; 4975 case Op::OpLogicalNot: return "OpLogicalNot"; 4976 case Op::OpSelect: return "OpSelect"; 4977 case Op::OpIEqual: return "OpIEqual"; 4978 case Op::OpINotEqual: return "OpINotEqual"; 4979 case Op::OpUGreaterThan: return "OpUGreaterThan"; 4980 case Op::OpSGreaterThan: return "OpSGreaterThan"; 4981 case Op::OpUGreaterThanEqual: return "OpUGreaterThanEqual"; 4982 case Op::OpSGreaterThanEqual: return "OpSGreaterThanEqual"; 4983 case Op::OpULessThan: return "OpULessThan"; 4984 case Op::OpSLessThan: return "OpSLessThan"; 4985 case Op::OpULessThanEqual: return "OpULessThanEqual"; 4986 case Op::OpSLessThanEqual: return "OpSLessThanEqual"; 4987 case Op::OpFOrdEqual: return "OpFOrdEqual"; 4988 case Op::OpFUnordEqual: return "OpFUnordEqual"; 4989 case Op::OpFOrdNotEqual: return "OpFOrdNotEqual"; 4990 case Op::OpFUnordNotEqual: return "OpFUnordNotEqual"; 4991 case Op::OpFOrdLessThan: return "OpFOrdLessThan"; 4992 case Op::OpFUnordLessThan: return "OpFUnordLessThan"; 4993 case Op::OpFOrdGreaterThan: return "OpFOrdGreaterThan"; 4994 case Op::OpFUnordGreaterThan: return "OpFUnordGreaterThan"; 4995 case Op::OpFOrdLessThanEqual: return "OpFOrdLessThanEqual"; 4996 case Op::OpFUnordLessThanEqual: return "OpFUnordLessThanEqual"; 4997 case Op::OpFOrdGreaterThanEqual: return "OpFOrdGreaterThanEqual"; 4998 case Op::OpFUnordGreaterThanEqual: return "OpFUnordGreaterThanEqual"; 4999 case Op::OpShiftRightLogical: return "OpShiftRightLogical"; 5000 case Op::OpShiftRightArithmetic: return "OpShiftRightArithmetic"; 5001 case Op::OpShiftLeftLogical: return "OpShiftLeftLogical"; 5002 case Op::OpBitwiseOr: return "OpBitwiseOr"; 5003 case Op::OpBitwiseXor: return "OpBitwiseXor"; 5004 case Op::OpBitwiseAnd: return "OpBitwiseAnd"; 5005 case Op::OpNot: return "OpNot"; 5006 case Op::OpBitFieldInsert: return "OpBitFieldInsert"; 5007 case Op::OpBitFieldSExtract: return "OpBitFieldSExtract"; 5008 case Op::OpBitFieldUExtract: return "OpBitFieldUExtract"; 5009 case Op::OpBitReverse: return "OpBitReverse"; 5010 case Op::OpBitCount: return "OpBitCount"; 5011 case Op::OpDPdx: return "OpDPdx"; 5012 case Op::OpDPdy: return "OpDPdy"; 5013 case Op::OpFwidth: return "OpFwidth"; 5014 case Op::OpDPdxFine: return "OpDPdxFine"; 5015 case Op::OpDPdyFine: return "OpDPdyFine"; 5016 case Op::OpFwidthFine: return "OpFwidthFine"; 5017 case Op::OpDPdxCoarse: return "OpDPdxCoarse"; 5018 case Op::OpDPdyCoarse: return "OpDPdyCoarse"; 5019 case Op::OpFwidthCoarse: return "OpFwidthCoarse"; 5020 case Op::OpEmitVertex: return "OpEmitVertex"; 5021 case Op::OpEndPrimitive: return "OpEndPrimitive"; 5022 case Op::OpEmitStreamVertex: return "OpEmitStreamVertex"; 5023 case Op::OpEndStreamPrimitive: return "OpEndStreamPrimitive"; 5024 case Op::OpControlBarrier: return "OpControlBarrier"; 5025 case Op::OpMemoryBarrier: return "OpMemoryBarrier"; 5026 case Op::OpAtomicLoad: return "OpAtomicLoad"; 5027 case Op::OpAtomicStore: return "OpAtomicStore"; 5028 case Op::OpAtomicExchange: return "OpAtomicExchange"; 5029 case Op::OpAtomicCompareExchange: return "OpAtomicCompareExchange"; 5030 case Op::OpAtomicCompareExchangeWeak: return "OpAtomicCompareExchangeWeak"; 5031 case Op::OpAtomicIIncrement: return "OpAtomicIIncrement"; 5032 case Op::OpAtomicIDecrement: return "OpAtomicIDecrement"; 5033 case Op::OpAtomicIAdd: return "OpAtomicIAdd"; 5034 case Op::OpAtomicISub: return "OpAtomicISub"; 5035 case Op::OpAtomicSMin: return "OpAtomicSMin"; 5036 case Op::OpAtomicUMin: return "OpAtomicUMin"; 5037 case Op::OpAtomicSMax: return "OpAtomicSMax"; 5038 case Op::OpAtomicUMax: return "OpAtomicUMax"; 5039 case Op::OpAtomicAnd: return "OpAtomicAnd"; 5040 case Op::OpAtomicOr: return "OpAtomicOr"; 5041 case Op::OpAtomicXor: return "OpAtomicXor"; 5042 case Op::OpPhi: return "OpPhi"; 5043 case Op::OpLoopMerge: return "OpLoopMerge"; 5044 case Op::OpSelectionMerge: return "OpSelectionMerge"; 5045 case Op::OpLabel: return "OpLabel"; 5046 case Op::OpBranch: return "OpBranch"; 5047 case Op::OpBranchConditional: return "OpBranchConditional"; 5048 case Op::OpSwitch: return "OpSwitch"; 5049 case Op::OpKill: return "OpKill"; 5050 case Op::OpReturn: return "OpReturn"; 5051 case Op::OpReturnValue: return "OpReturnValue"; 5052 case Op::OpUnreachable: return "OpUnreachable"; 5053 case Op::OpLifetimeStart: return "OpLifetimeStart"; 5054 case Op::OpLifetimeStop: return "OpLifetimeStop"; 5055 case Op::OpGroupAsyncCopy: return "OpGroupAsyncCopy"; 5056 case Op::OpGroupWaitEvents: return "OpGroupWaitEvents"; 5057 case Op::OpGroupAll: return "OpGroupAll"; 5058 case Op::OpGroupAny: return "OpGroupAny"; 5059 case Op::OpGroupBroadcast: return "OpGroupBroadcast"; 5060 case Op::OpGroupIAdd: return "OpGroupIAdd"; 5061 case Op::OpGroupFAdd: return "OpGroupFAdd"; 5062 case Op::OpGroupFMin: return "OpGroupFMin"; 5063 case Op::OpGroupUMin: return "OpGroupUMin"; 5064 case Op::OpGroupSMin: return "OpGroupSMin"; 5065 case Op::OpGroupFMax: return "OpGroupFMax"; 5066 case Op::OpGroupUMax: return "OpGroupUMax"; 5067 case Op::OpGroupSMax: return "OpGroupSMax"; 5068 case Op::OpReadPipe: return "OpReadPipe"; 5069 case Op::OpWritePipe: return "OpWritePipe"; 5070 case Op::OpReservedReadPipe: return "OpReservedReadPipe"; 5071 case Op::OpReservedWritePipe: return "OpReservedWritePipe"; 5072 case Op::OpReserveReadPipePackets: return "OpReserveReadPipePackets"; 5073 case Op::OpReserveWritePipePackets: return "OpReserveWritePipePackets"; 5074 case Op::OpCommitReadPipe: return "OpCommitReadPipe"; 5075 case Op::OpCommitWritePipe: return "OpCommitWritePipe"; 5076 case Op::OpIsValidReserveId: return "OpIsValidReserveId"; 5077 case Op::OpGetNumPipePackets: return "OpGetNumPipePackets"; 5078 case Op::OpGetMaxPipePackets: return "OpGetMaxPipePackets"; 5079 case Op::OpGroupReserveReadPipePackets: return "OpGroupReserveReadPipePackets"; 5080 case Op::OpGroupReserveWritePipePackets: return "OpGroupReserveWritePipePackets"; 5081 case Op::OpGroupCommitReadPipe: return "OpGroupCommitReadPipe"; 5082 case Op::OpGroupCommitWritePipe: return "OpGroupCommitWritePipe"; 5083 case Op::OpEnqueueMarker: return "OpEnqueueMarker"; 5084 case Op::OpEnqueueKernel: return "OpEnqueueKernel"; 5085 case Op::OpGetKernelNDrangeSubGroupCount: return "OpGetKernelNDrangeSubGroupCount"; 5086 case Op::OpGetKernelNDrangeMaxSubGroupSize: return "OpGetKernelNDrangeMaxSubGroupSize"; 5087 case Op::OpGetKernelWorkGroupSize: return "OpGetKernelWorkGroupSize"; 5088 case Op::OpGetKernelPreferredWorkGroupSizeMultiple: return "OpGetKernelPreferredWorkGroupSizeMultiple"; 5089 case Op::OpRetainEvent: return "OpRetainEvent"; 5090 case Op::OpReleaseEvent: return "OpReleaseEvent"; 5091 case Op::OpCreateUserEvent: return "OpCreateUserEvent"; 5092 case Op::OpIsValidEvent: return "OpIsValidEvent"; 5093 case Op::OpSetUserEventStatus: return "OpSetUserEventStatus"; 5094 case Op::OpCaptureEventProfilingInfo: return "OpCaptureEventProfilingInfo"; 5095 case Op::OpGetDefaultQueue: return "OpGetDefaultQueue"; 5096 case Op::OpBuildNDRange: return "OpBuildNDRange"; 5097 case Op::OpImageSparseSampleImplicitLod: return "OpImageSparseSampleImplicitLod"; 5098 case Op::OpImageSparseSampleExplicitLod: return "OpImageSparseSampleExplicitLod"; 5099 case Op::OpImageSparseSampleDrefImplicitLod: return "OpImageSparseSampleDrefImplicitLod"; 5100 case Op::OpImageSparseSampleDrefExplicitLod: return "OpImageSparseSampleDrefExplicitLod"; 5101 case Op::OpImageSparseSampleProjImplicitLod: return "OpImageSparseSampleProjImplicitLod"; 5102 case Op::OpImageSparseSampleProjExplicitLod: return "OpImageSparseSampleProjExplicitLod"; 5103 case Op::OpImageSparseSampleProjDrefImplicitLod: return "OpImageSparseSampleProjDrefImplicitLod"; 5104 case Op::OpImageSparseSampleProjDrefExplicitLod: return "OpImageSparseSampleProjDrefExplicitLod"; 5105 case Op::OpImageSparseFetch: return "OpImageSparseFetch"; 5106 case Op::OpImageSparseGather: return "OpImageSparseGather"; 5107 case Op::OpImageSparseDrefGather: return "OpImageSparseDrefGather"; 5108 case Op::OpImageSparseTexelsResident: return "OpImageSparseTexelsResident"; 5109 case Op::OpNoLine: return "OpNoLine"; 5110 case Op::OpAtomicFlagTestAndSet: return "OpAtomicFlagTestAndSet"; 5111 case Op::OpAtomicFlagClear: return "OpAtomicFlagClear"; 5112 case Op::OpImageSparseRead: return "OpImageSparseRead"; 5113 case Op::OpSizeOf: return "OpSizeOf"; 5114 case Op::OpTypePipeStorage: return "OpTypePipeStorage"; 5115 case Op::OpConstantPipeStorage: return "OpConstantPipeStorage"; 5116 case Op::OpCreatePipeFromPipeStorage: return "OpCreatePipeFromPipeStorage"; 5117 case Op::OpGetKernelLocalSizeForSubgroupCount: return "OpGetKernelLocalSizeForSubgroupCount"; 5118 case Op::OpGetKernelMaxNumSubgroups: return "OpGetKernelMaxNumSubgroups"; 5119 case Op::OpTypeNamedBarrier: return "OpTypeNamedBarrier"; 5120 case Op::OpNamedBarrierInitialize: return "OpNamedBarrierInitialize"; 5121 case Op::OpMemoryNamedBarrier: return "OpMemoryNamedBarrier"; 5122 case Op::OpModuleProcessed: return "OpModuleProcessed"; 5123 case Op::OpExecutionModeId: return "OpExecutionModeId"; 5124 case Op::OpDecorateId: return "OpDecorateId"; 5125 case Op::OpGroupNonUniformElect: return "OpGroupNonUniformElect"; 5126 case Op::OpGroupNonUniformAll: return "OpGroupNonUniformAll"; 5127 case Op::OpGroupNonUniformAny: return "OpGroupNonUniformAny"; 5128 case Op::OpGroupNonUniformAllEqual: return "OpGroupNonUniformAllEqual"; 5129 case Op::OpGroupNonUniformBroadcast: return "OpGroupNonUniformBroadcast"; 5130 case Op::OpGroupNonUniformBroadcastFirst: return "OpGroupNonUniformBroadcastFirst"; 5131 case Op::OpGroupNonUniformBallot: return "OpGroupNonUniformBallot"; 5132 case Op::OpGroupNonUniformInverseBallot: return "OpGroupNonUniformInverseBallot"; 5133 case Op::OpGroupNonUniformBallotBitExtract: return "OpGroupNonUniformBallotBitExtract"; 5134 case Op::OpGroupNonUniformBallotBitCount: return "OpGroupNonUniformBallotBitCount"; 5135 case Op::OpGroupNonUniformBallotFindLSB: return "OpGroupNonUniformBallotFindLSB"; 5136 case Op::OpGroupNonUniformBallotFindMSB: return "OpGroupNonUniformBallotFindMSB"; 5137 case Op::OpGroupNonUniformShuffle: return "OpGroupNonUniformShuffle"; 5138 case Op::OpGroupNonUniformShuffleXor: return "OpGroupNonUniformShuffleXor"; 5139 case Op::OpGroupNonUniformShuffleUp: return "OpGroupNonUniformShuffleUp"; 5140 case Op::OpGroupNonUniformShuffleDown: return "OpGroupNonUniformShuffleDown"; 5141 case Op::OpGroupNonUniformIAdd: return "OpGroupNonUniformIAdd"; 5142 case Op::OpGroupNonUniformFAdd: return "OpGroupNonUniformFAdd"; 5143 case Op::OpGroupNonUniformIMul: return "OpGroupNonUniformIMul"; 5144 case Op::OpGroupNonUniformFMul: return "OpGroupNonUniformFMul"; 5145 case Op::OpGroupNonUniformSMin: return "OpGroupNonUniformSMin"; 5146 case Op::OpGroupNonUniformUMin: return "OpGroupNonUniformUMin"; 5147 case Op::OpGroupNonUniformFMin: return "OpGroupNonUniformFMin"; 5148 case Op::OpGroupNonUniformSMax: return "OpGroupNonUniformSMax"; 5149 case Op::OpGroupNonUniformUMax: return "OpGroupNonUniformUMax"; 5150 case Op::OpGroupNonUniformFMax: return "OpGroupNonUniformFMax"; 5151 case Op::OpGroupNonUniformBitwiseAnd: return "OpGroupNonUniformBitwiseAnd"; 5152 case Op::OpGroupNonUniformBitwiseOr: return "OpGroupNonUniformBitwiseOr"; 5153 case Op::OpGroupNonUniformBitwiseXor: return "OpGroupNonUniformBitwiseXor"; 5154 case Op::OpGroupNonUniformLogicalAnd: return "OpGroupNonUniformLogicalAnd"; 5155 case Op::OpGroupNonUniformLogicalOr: return "OpGroupNonUniformLogicalOr"; 5156 case Op::OpGroupNonUniformLogicalXor: return "OpGroupNonUniformLogicalXor"; 5157 case Op::OpGroupNonUniformQuadBroadcast: return "OpGroupNonUniformQuadBroadcast"; 5158 case Op::OpGroupNonUniformQuadSwap: return "OpGroupNonUniformQuadSwap"; 5159 case Op::OpCopyLogical: return "OpCopyLogical"; 5160 case Op::OpPtrEqual: return "OpPtrEqual"; 5161 case Op::OpPtrNotEqual: return "OpPtrNotEqual"; 5162 case Op::OpPtrDiff: return "OpPtrDiff"; 5163 case Op::OpColorAttachmentReadEXT: return "OpColorAttachmentReadEXT"; 5164 case Op::OpDepthAttachmentReadEXT: return "OpDepthAttachmentReadEXT"; 5165 case Op::OpStencilAttachmentReadEXT: return "OpStencilAttachmentReadEXT"; 5166 case Op::OpTypeTensorARM: return "OpTypeTensorARM"; 5167 case Op::OpTensorReadARM: return "OpTensorReadARM"; 5168 case Op::OpTensorWriteARM: return "OpTensorWriteARM"; 5169 case Op::OpTensorQuerySizeARM: return "OpTensorQuerySizeARM"; 5170 case Op::OpGraphConstantARM: return "OpGraphConstantARM"; 5171 case Op::OpGraphEntryPointARM: return "OpGraphEntryPointARM"; 5172 case Op::OpGraphARM: return "OpGraphARM"; 5173 case Op::OpGraphInputARM: return "OpGraphInputARM"; 5174 case Op::OpGraphSetOutputARM: return "OpGraphSetOutputARM"; 5175 case Op::OpGraphEndARM: return "OpGraphEndARM"; 5176 case Op::OpTypeGraphARM: return "OpTypeGraphARM"; 5177 case Op::OpBitcastExtractEXT: return "OpBitcastExtractEXT"; 5178 case Op::OpTerminateInvocation: return "OpTerminateInvocation"; 5179 case Op::OpTypeUntypedPointerKHR: return "OpTypeUntypedPointerKHR"; 5180 case Op::OpUntypedVariableKHR: return "OpUntypedVariableKHR"; 5181 case Op::OpUntypedAccessChainKHR: return "OpUntypedAccessChainKHR"; 5182 case Op::OpUntypedInBoundsAccessChainKHR: return "OpUntypedInBoundsAccessChainKHR"; 5183 case Op::OpSubgroupBallotKHR: return "OpSubgroupBallotKHR"; 5184 case Op::OpSubgroupFirstInvocationKHR: return "OpSubgroupFirstInvocationKHR"; 5185 case Op::OpUntypedPtrAccessChainKHR: return "OpUntypedPtrAccessChainKHR"; 5186 case Op::OpUntypedInBoundsPtrAccessChainKHR: return "OpUntypedInBoundsPtrAccessChainKHR"; 5187 case Op::OpUntypedArrayLengthKHR: return "OpUntypedArrayLengthKHR"; 5188 case Op::OpUntypedPrefetchKHR: return "OpUntypedPrefetchKHR"; 5189 case Op::OpFmaKHR: return "OpFmaKHR"; 5190 case Op::OpSubgroupAllKHR: return "OpSubgroupAllKHR"; 5191 case Op::OpSubgroupAnyKHR: return "OpSubgroupAnyKHR"; 5192 case Op::OpSubgroupAllEqualKHR: return "OpSubgroupAllEqualKHR"; 5193 case Op::OpGroupNonUniformRotateKHR: return "OpGroupNonUniformRotateKHR"; 5194 case Op::OpSubgroupReadInvocationKHR: return "OpSubgroupReadInvocationKHR"; 5195 case Op::OpExtInstWithForwardRefsKHR: return "OpExtInstWithForwardRefsKHR"; 5196 case Op::OpUntypedGroupAsyncCopyKHR: return "OpUntypedGroupAsyncCopyKHR"; 5197 case Op::OpTraceRayKHR: return "OpTraceRayKHR"; 5198 case Op::OpExecuteCallableKHR: return "OpExecuteCallableKHR"; 5199 case Op::OpConvertUToAccelerationStructureKHR: return "OpConvertUToAccelerationStructureKHR"; 5200 case Op::OpIgnoreIntersectionKHR: return "OpIgnoreIntersectionKHR"; 5201 case Op::OpTerminateRayKHR: return "OpTerminateRayKHR"; 5202 case Op::OpSDot: return "OpSDot"; 5203 case Op::OpUDot: return "OpUDot"; 5204 case Op::OpSUDot: return "OpSUDot"; 5205 case Op::OpSDotAccSat: return "OpSDotAccSat"; 5206 case Op::OpUDotAccSat: return "OpUDotAccSat"; 5207 case Op::OpSUDotAccSat: return "OpSUDotAccSat"; 5208 case Op::OpTypeCooperativeMatrixKHR: return "OpTypeCooperativeMatrixKHR"; 5209 case Op::OpCooperativeMatrixLoadKHR: return "OpCooperativeMatrixLoadKHR"; 5210 case Op::OpCooperativeMatrixStoreKHR: return "OpCooperativeMatrixStoreKHR"; 5211 case Op::OpCooperativeMatrixMulAddKHR: return "OpCooperativeMatrixMulAddKHR"; 5212 case Op::OpCooperativeMatrixLengthKHR: return "OpCooperativeMatrixLengthKHR"; 5213 case Op::OpConstantCompositeReplicateEXT: return "OpConstantCompositeReplicateEXT"; 5214 case Op::OpSpecConstantCompositeReplicateEXT: return "OpSpecConstantCompositeReplicateEXT"; 5215 case Op::OpCompositeConstructReplicateEXT: return "OpCompositeConstructReplicateEXT"; 5216 case Op::OpTypeRayQueryKHR: return "OpTypeRayQueryKHR"; 5217 case Op::OpRayQueryInitializeKHR: return "OpRayQueryInitializeKHR"; 5218 case Op::OpRayQueryTerminateKHR: return "OpRayQueryTerminateKHR"; 5219 case Op::OpRayQueryGenerateIntersectionKHR: return "OpRayQueryGenerateIntersectionKHR"; 5220 case Op::OpRayQueryConfirmIntersectionKHR: return "OpRayQueryConfirmIntersectionKHR"; 5221 case Op::OpRayQueryProceedKHR: return "OpRayQueryProceedKHR"; 5222 case Op::OpRayQueryGetIntersectionTypeKHR: return "OpRayQueryGetIntersectionTypeKHR"; 5223 case Op::OpImageSampleWeightedQCOM: return "OpImageSampleWeightedQCOM"; 5224 case Op::OpImageBoxFilterQCOM: return "OpImageBoxFilterQCOM"; 5225 case Op::OpImageBlockMatchSSDQCOM: return "OpImageBlockMatchSSDQCOM"; 5226 case Op::OpImageBlockMatchSADQCOM: return "OpImageBlockMatchSADQCOM"; 5227 case Op::OpBitCastArrayQCOM: return "OpBitCastArrayQCOM"; 5228 case Op::OpImageBlockMatchWindowSSDQCOM: return "OpImageBlockMatchWindowSSDQCOM"; 5229 case Op::OpImageBlockMatchWindowSADQCOM: return "OpImageBlockMatchWindowSADQCOM"; 5230 case Op::OpImageBlockMatchGatherSSDQCOM: return "OpImageBlockMatchGatherSSDQCOM"; 5231 case Op::OpImageBlockMatchGatherSADQCOM: return "OpImageBlockMatchGatherSADQCOM"; 5232 case Op::OpCompositeConstructCoopMatQCOM: return "OpCompositeConstructCoopMatQCOM"; 5233 case Op::OpCompositeExtractCoopMatQCOM: return "OpCompositeExtractCoopMatQCOM"; 5234 case Op::OpExtractSubArrayQCOM: return "OpExtractSubArrayQCOM"; 5235 case Op::OpImageGatherQCOM: return "OpImageGatherQCOM"; 5236 case Op::OpGroupIAddNonUniformAMD: return "OpGroupIAddNonUniformAMD"; 5237 case Op::OpGroupFAddNonUniformAMD: return "OpGroupFAddNonUniformAMD"; 5238 case Op::OpGroupFMinNonUniformAMD: return "OpGroupFMinNonUniformAMD"; 5239 case Op::OpGroupUMinNonUniformAMD: return "OpGroupUMinNonUniformAMD"; 5240 case Op::OpGroupSMinNonUniformAMD: return "OpGroupSMinNonUniformAMD"; 5241 case Op::OpGroupFMaxNonUniformAMD: return "OpGroupFMaxNonUniformAMD"; 5242 case Op::OpGroupUMaxNonUniformAMD: return "OpGroupUMaxNonUniformAMD"; 5243 case Op::OpGroupSMaxNonUniformAMD: return "OpGroupSMaxNonUniformAMD"; 5244 case Op::OpFragmentMaskFetchAMD: return "OpFragmentMaskFetchAMD"; 5245 case Op::OpFragmentFetchAMD: return "OpFragmentFetchAMD"; 5246 case Op::OpReadClockKHR: return "OpReadClockKHR"; 5247 case Op::OpAllocateNodePayloadsAMDX: return "OpAllocateNodePayloadsAMDX"; 5248 case Op::OpEnqueueNodePayloadsAMDX: return "OpEnqueueNodePayloadsAMDX"; 5249 case Op::OpTypeNodePayloadArrayAMDX: return "OpTypeNodePayloadArrayAMDX"; 5250 case Op::OpFinishWritingNodePayloadAMDX: return "OpFinishWritingNodePayloadAMDX"; 5251 case Op::OpNodePayloadArrayLengthAMDX: return "OpNodePayloadArrayLengthAMDX"; 5252 case Op::OpIsNodePayloadValidAMDX: return "OpIsNodePayloadValidAMDX"; 5253 case Op::OpConstantStringAMDX: return "OpConstantStringAMDX"; 5254 case Op::OpSpecConstantStringAMDX: return "OpSpecConstantStringAMDX"; 5255 case Op::OpGroupNonUniformQuadAllKHR: return "OpGroupNonUniformQuadAllKHR"; 5256 case Op::OpGroupNonUniformQuadAnyKHR: return "OpGroupNonUniformQuadAnyKHR"; 5257 case Op::OpTypeBufferEXT: return "OpTypeBufferEXT"; 5258 case Op::OpBufferPointerEXT: return "OpBufferPointerEXT"; 5259 case Op::OpAbortKHR: return "OpAbortKHR"; 5260 case Op::OpUntypedImageTexelPointerEXT: return "OpUntypedImageTexelPointerEXT"; 5261 case Op::OpMemberDecorateIdEXT: return "OpMemberDecorateIdEXT"; 5262 case Op::OpConstantSizeOfEXT: return "OpConstantSizeOfEXT"; 5263 case Op::OpConstantDataKHR: return "OpConstantDataKHR"; 5264 case Op::OpSpecConstantDataKHR: return "OpSpecConstantDataKHR"; 5265 case Op::OpPoisonKHR: return "OpPoisonKHR"; 5266 case Op::OpFreezeKHR: return "OpFreezeKHR"; 5267 case Op::OpHitObjectRecordHitMotionNV: return "OpHitObjectRecordHitMotionNV"; 5268 case Op::OpHitObjectRecordHitWithIndexMotionNV: return "OpHitObjectRecordHitWithIndexMotionNV"; 5269 case Op::OpHitObjectRecordMissMotionNV: return "OpHitObjectRecordMissMotionNV"; 5270 case Op::OpHitObjectGetWorldToObjectNV: return "OpHitObjectGetWorldToObjectNV"; 5271 case Op::OpHitObjectGetObjectToWorldNV: return "OpHitObjectGetObjectToWorldNV"; 5272 case Op::OpHitObjectGetObjectRayDirectionNV: return "OpHitObjectGetObjectRayDirectionNV"; 5273 case Op::OpHitObjectGetObjectRayOriginNV: return "OpHitObjectGetObjectRayOriginNV"; 5274 case Op::OpHitObjectTraceRayMotionNV: return "OpHitObjectTraceRayMotionNV"; 5275 case Op::OpHitObjectGetShaderRecordBufferHandleNV: return "OpHitObjectGetShaderRecordBufferHandleNV"; 5276 case Op::OpHitObjectGetShaderBindingTableRecordIndexNV: return "OpHitObjectGetShaderBindingTableRecordIndexNV"; 5277 case Op::OpHitObjectRecordEmptyNV: return "OpHitObjectRecordEmptyNV"; 5278 case Op::OpHitObjectTraceRayNV: return "OpHitObjectTraceRayNV"; 5279 case Op::OpHitObjectRecordHitNV: return "OpHitObjectRecordHitNV"; 5280 case Op::OpHitObjectRecordHitWithIndexNV: return "OpHitObjectRecordHitWithIndexNV"; 5281 case Op::OpHitObjectRecordMissNV: return "OpHitObjectRecordMissNV"; 5282 case Op::OpHitObjectExecuteShaderNV: return "OpHitObjectExecuteShaderNV"; 5283 case Op::OpHitObjectGetCurrentTimeNV: return "OpHitObjectGetCurrentTimeNV"; 5284 case Op::OpHitObjectGetAttributesNV: return "OpHitObjectGetAttributesNV"; 5285 case Op::OpHitObjectGetHitKindNV: return "OpHitObjectGetHitKindNV"; 5286 case Op::OpHitObjectGetPrimitiveIndexNV: return "OpHitObjectGetPrimitiveIndexNV"; 5287 case Op::OpHitObjectGetGeometryIndexNV: return "OpHitObjectGetGeometryIndexNV"; 5288 case Op::OpHitObjectGetInstanceIdNV: return "OpHitObjectGetInstanceIdNV"; 5289 case Op::OpHitObjectGetInstanceCustomIndexNV: return "OpHitObjectGetInstanceCustomIndexNV"; 5290 case Op::OpHitObjectGetWorldRayDirectionNV: return "OpHitObjectGetWorldRayDirectionNV"; 5291 case Op::OpHitObjectGetWorldRayOriginNV: return "OpHitObjectGetWorldRayOriginNV"; 5292 case Op::OpHitObjectGetRayTMaxNV: return "OpHitObjectGetRayTMaxNV"; 5293 case Op::OpHitObjectGetRayTMinNV: return "OpHitObjectGetRayTMinNV"; 5294 case Op::OpHitObjectIsEmptyNV: return "OpHitObjectIsEmptyNV"; 5295 case Op::OpHitObjectIsHitNV: return "OpHitObjectIsHitNV"; 5296 case Op::OpHitObjectIsMissNV: return "OpHitObjectIsMissNV"; 5297 case Op::OpReorderThreadWithHitObjectNV: return "OpReorderThreadWithHitObjectNV"; 5298 case Op::OpReorderThreadWithHintNV: return "OpReorderThreadWithHintNV"; 5299 case Op::OpTypeHitObjectNV: return "OpTypeHitObjectNV"; 5300 case Op::OpImageSampleFootprintNV: return "OpImageSampleFootprintNV"; 5301 case Op::OpTypeCooperativeVectorNV: return "OpTypeCooperativeVectorNV"; 5302 case Op::OpCooperativeVectorMatrixMulNV: return "OpCooperativeVectorMatrixMulNV"; 5303 case Op::OpCooperativeVectorOuterProductAccumulateNV: return "OpCooperativeVectorOuterProductAccumulateNV"; 5304 case Op::OpCooperativeVectorReduceSumAccumulateNV: return "OpCooperativeVectorReduceSumAccumulateNV"; 5305 case Op::OpCooperativeVectorMatrixMulAddNV: return "OpCooperativeVectorMatrixMulAddNV"; 5306 case Op::OpCooperativeMatrixConvertNV: return "OpCooperativeMatrixConvertNV"; 5307 case Op::OpEmitMeshTasksEXT: return "OpEmitMeshTasksEXT"; 5308 case Op::OpSetMeshOutputsEXT: return "OpSetMeshOutputsEXT"; 5309 case Op::OpGroupNonUniformPartitionEXT: return "OpGroupNonUniformPartitionEXT"; 5310 case Op::OpWritePackedPrimitiveIndices4x8NV: return "OpWritePackedPrimitiveIndices4x8NV"; 5311 case Op::OpFetchMicroTriangleVertexPositionNV: return "OpFetchMicroTriangleVertexPositionNV"; 5312 case Op::OpFetchMicroTriangleVertexBarycentricNV: return "OpFetchMicroTriangleVertexBarycentricNV"; 5313 case Op::OpCooperativeVectorLoadNV: return "OpCooperativeVectorLoadNV"; 5314 case Op::OpCooperativeVectorStoreNV: return "OpCooperativeVectorStoreNV"; 5315 case Op::OpHitObjectRecordFromQueryEXT: return "OpHitObjectRecordFromQueryEXT"; 5316 case Op::OpHitObjectRecordMissEXT: return "OpHitObjectRecordMissEXT"; 5317 case Op::OpHitObjectRecordMissMotionEXT: return "OpHitObjectRecordMissMotionEXT"; 5318 case Op::OpHitObjectGetIntersectionTriangleVertexPositionsEXT: return "OpHitObjectGetIntersectionTriangleVertexPositionsEXT"; 5319 case Op::OpHitObjectGetRayFlagsEXT: return "OpHitObjectGetRayFlagsEXT"; 5320 case Op::OpHitObjectSetShaderBindingTableRecordIndexEXT: return "OpHitObjectSetShaderBindingTableRecordIndexEXT"; 5321 case Op::OpHitObjectReorderExecuteShaderEXT: return "OpHitObjectReorderExecuteShaderEXT"; 5322 case Op::OpHitObjectTraceReorderExecuteEXT: return "OpHitObjectTraceReorderExecuteEXT"; 5323 case Op::OpHitObjectTraceMotionReorderExecuteEXT: return "OpHitObjectTraceMotionReorderExecuteEXT"; 5324 case Op::OpTypeHitObjectEXT: return "OpTypeHitObjectEXT"; 5325 case Op::OpReorderThreadWithHintEXT: return "OpReorderThreadWithHintEXT"; 5326 case Op::OpReorderThreadWithHitObjectEXT: return "OpReorderThreadWithHitObjectEXT"; 5327 case Op::OpHitObjectTraceRayEXT: return "OpHitObjectTraceRayEXT"; 5328 case Op::OpHitObjectTraceRayMotionEXT: return "OpHitObjectTraceRayMotionEXT"; 5329 case Op::OpHitObjectRecordEmptyEXT: return "OpHitObjectRecordEmptyEXT"; 5330 case Op::OpHitObjectExecuteShaderEXT: return "OpHitObjectExecuteShaderEXT"; 5331 case Op::OpHitObjectGetCurrentTimeEXT: return "OpHitObjectGetCurrentTimeEXT"; 5332 case Op::OpHitObjectGetAttributesEXT: return "OpHitObjectGetAttributesEXT"; 5333 case Op::OpHitObjectGetHitKindEXT: return "OpHitObjectGetHitKindEXT"; 5334 case Op::OpHitObjectGetPrimitiveIndexEXT: return "OpHitObjectGetPrimitiveIndexEXT"; 5335 case Op::OpHitObjectGetGeometryIndexEXT: return "OpHitObjectGetGeometryIndexEXT"; 5336 case Op::OpHitObjectGetInstanceIdEXT: return "OpHitObjectGetInstanceIdEXT"; 5337 case Op::OpHitObjectGetInstanceCustomIndexEXT: return "OpHitObjectGetInstanceCustomIndexEXT"; 5338 case Op::OpHitObjectGetObjectRayOriginEXT: return "OpHitObjectGetObjectRayOriginEXT"; 5339 case Op::OpHitObjectGetObjectRayDirectionEXT: return "OpHitObjectGetObjectRayDirectionEXT"; 5340 case Op::OpHitObjectGetWorldRayDirectionEXT: return "OpHitObjectGetWorldRayDirectionEXT"; 5341 case Op::OpHitObjectGetWorldRayOriginEXT: return "OpHitObjectGetWorldRayOriginEXT"; 5342 case Op::OpHitObjectGetObjectToWorldEXT: return "OpHitObjectGetObjectToWorldEXT"; 5343 case Op::OpHitObjectGetWorldToObjectEXT: return "OpHitObjectGetWorldToObjectEXT"; 5344 case Op::OpHitObjectGetRayTMaxEXT: return "OpHitObjectGetRayTMaxEXT"; 5345 case Op::OpReportIntersectionKHR: return "OpReportIntersectionKHR"; 5346 case Op::OpIgnoreIntersectionNV: return "OpIgnoreIntersectionNV"; 5347 case Op::OpTerminateRayNV: return "OpTerminateRayNV"; 5348 case Op::OpTraceNV: return "OpTraceNV"; 5349 case Op::OpTraceMotionNV: return "OpTraceMotionNV"; 5350 case Op::OpTraceRayMotionNV: return "OpTraceRayMotionNV"; 5351 case Op::OpRayQueryGetIntersectionTriangleVertexPositionsKHR: return "OpRayQueryGetIntersectionTriangleVertexPositionsKHR"; 5352 case Op::OpTypeAccelerationStructureKHR: return "OpTypeAccelerationStructureKHR"; 5353 case Op::OpExecuteCallableNV: return "OpExecuteCallableNV"; 5354 case Op::OpRayQueryGetClusterIdNV: return "OpRayQueryGetClusterIdNV"; 5355 case Op::OpHitObjectGetClusterIdNV: return "OpHitObjectGetClusterIdNV"; 5356 case Op::OpHitObjectGetRayTMinEXT: return "OpHitObjectGetRayTMinEXT"; 5357 case Op::OpHitObjectGetShaderBindingTableRecordIndexEXT: return "OpHitObjectGetShaderBindingTableRecordIndexEXT"; 5358 case Op::OpHitObjectGetShaderRecordBufferHandleEXT: return "OpHitObjectGetShaderRecordBufferHandleEXT"; 5359 case Op::OpHitObjectIsEmptyEXT: return "OpHitObjectIsEmptyEXT"; 5360 case Op::OpHitObjectIsHitEXT: return "OpHitObjectIsHitEXT"; 5361 case Op::OpHitObjectIsMissEXT: return "OpHitObjectIsMissEXT"; 5362 case Op::OpTypeCooperativeMatrixNV: return "OpTypeCooperativeMatrixNV"; 5363 case Op::OpCooperativeMatrixLoadNV: return "OpCooperativeMatrixLoadNV"; 5364 case Op::OpCooperativeMatrixStoreNV: return "OpCooperativeMatrixStoreNV"; 5365 case Op::OpCooperativeMatrixMulAddNV: return "OpCooperativeMatrixMulAddNV"; 5366 case Op::OpCooperativeMatrixLengthNV: return "OpCooperativeMatrixLengthNV"; 5367 case Op::OpCooperativeMatrixGetCoordinateEXT: return "OpCooperativeMatrixGetCoordinateEXT"; 5368 case Op::OpBeginInvocationInterlockEXT: return "OpBeginInvocationInterlockEXT"; 5369 case Op::OpEndInvocationInterlockEXT: return "OpEndInvocationInterlockEXT"; 5370 case Op::OpCooperativeMatrixReduceEXT: return "OpCooperativeMatrixReduceEXT"; 5371 case Op::OpCooperativeMatrixLoadTensorNV: return "OpCooperativeMatrixLoadTensorNV"; 5372 case Op::OpCooperativeMatrixStoreTensorNV: return "OpCooperativeMatrixStoreTensorNV"; 5373 case Op::OpCooperativeMatrixPerElementOpEXT: return "OpCooperativeMatrixPerElementOpEXT"; 5374 case Op::OpTypeTensorLayoutNV: return "OpTypeTensorLayoutNV"; 5375 case Op::OpTypeTensorViewNV: return "OpTypeTensorViewNV"; 5376 case Op::OpCreateTensorLayoutNV: return "OpCreateTensorLayoutNV"; 5377 case Op::OpTensorLayoutSetDimensionNV: return "OpTensorLayoutSetDimensionNV"; 5378 case Op::OpTensorLayoutSetStrideNV: return "OpTensorLayoutSetStrideNV"; 5379 case Op::OpTensorLayoutSliceNV: return "OpTensorLayoutSliceNV"; 5380 case Op::OpTensorLayoutSetClampValueNV: return "OpTensorLayoutSetClampValueNV"; 5381 case Op::OpCreateTensorViewNV: return "OpCreateTensorViewNV"; 5382 case Op::OpTensorViewSetDimensionNV: return "OpTensorViewSetDimensionNV"; 5383 case Op::OpTensorViewSetStrideNV: return "OpTensorViewSetStrideNV"; 5384 case Op::OpDemoteToHelperInvocation: return "OpDemoteToHelperInvocation"; 5385 case Op::OpIsHelperInvocationEXT: return "OpIsHelperInvocationEXT"; 5386 case Op::OpTensorViewSetClipNV: return "OpTensorViewSetClipNV"; 5387 case Op::OpTensorLayoutSetBlockSizeNV: return "OpTensorLayoutSetBlockSizeNV"; 5388 case Op::OpCooperativeMatrixTransposeNV: return "OpCooperativeMatrixTransposeNV"; 5389 case Op::OpConvertUToImageNV: return "OpConvertUToImageNV"; 5390 case Op::OpConvertUToSamplerNV: return "OpConvertUToSamplerNV"; 5391 case Op::OpConvertImageToUNV: return "OpConvertImageToUNV"; 5392 case Op::OpConvertSamplerToUNV: return "OpConvertSamplerToUNV"; 5393 case Op::OpConvertUToSampledImageNV: return "OpConvertUToSampledImageNV"; 5394 case Op::OpConvertSampledImageToUNV: return "OpConvertSampledImageToUNV"; 5395 case Op::OpSamplerImageAddressingModeNV: return "OpSamplerImageAddressingModeNV"; 5396 case Op::OpRawAccessChainNV: return "OpRawAccessChainNV"; 5397 case Op::OpRayQueryGetIntersectionSpherePositionNV: return "OpRayQueryGetIntersectionSpherePositionNV"; 5398 case Op::OpRayQueryGetIntersectionSphereRadiusNV: return "OpRayQueryGetIntersectionSphereRadiusNV"; 5399 case Op::OpRayQueryGetIntersectionLSSPositionsNV: return "OpRayQueryGetIntersectionLSSPositionsNV"; 5400 case Op::OpRayQueryGetIntersectionLSSRadiiNV: return "OpRayQueryGetIntersectionLSSRadiiNV"; 5401 case Op::OpRayQueryGetIntersectionLSSHitValueNV: return "OpRayQueryGetIntersectionLSSHitValueNV"; 5402 case Op::OpHitObjectGetSpherePositionNV: return "OpHitObjectGetSpherePositionNV"; 5403 case Op::OpHitObjectGetSphereRadiusNV: return "OpHitObjectGetSphereRadiusNV"; 5404 case Op::OpHitObjectGetLSSPositionsNV: return "OpHitObjectGetLSSPositionsNV"; 5405 case Op::OpHitObjectGetLSSRadiiNV: return "OpHitObjectGetLSSRadiiNV"; 5406 case Op::OpHitObjectIsSphereHitNV: return "OpHitObjectIsSphereHitNV"; 5407 case Op::OpHitObjectIsLSSHitNV: return "OpHitObjectIsLSSHitNV"; 5408 case Op::OpRayQueryIsSphereHitNV: return "OpRayQueryIsSphereHitNV"; 5409 case Op::OpRayQueryIsLSSHitNV: return "OpRayQueryIsLSSHitNV"; 5410 case Op::OpSubgroupShuffleINTEL: return "OpSubgroupShuffleINTEL"; 5411 case Op::OpSubgroupShuffleDownINTEL: return "OpSubgroupShuffleDownINTEL"; 5412 case Op::OpSubgroupShuffleUpINTEL: return "OpSubgroupShuffleUpINTEL"; 5413 case Op::OpSubgroupShuffleXorINTEL: return "OpSubgroupShuffleXorINTEL"; 5414 case Op::OpSubgroupBlockReadINTEL: return "OpSubgroupBlockReadINTEL"; 5415 case Op::OpSubgroupBlockWriteINTEL: return "OpSubgroupBlockWriteINTEL"; 5416 case Op::OpSubgroupImageBlockReadINTEL: return "OpSubgroupImageBlockReadINTEL"; 5417 case Op::OpSubgroupImageBlockWriteINTEL: return "OpSubgroupImageBlockWriteINTEL"; 5418 case Op::OpSubgroupImageMediaBlockReadINTEL: return "OpSubgroupImageMediaBlockReadINTEL"; 5419 case Op::OpSubgroupImageMediaBlockWriteINTEL: return "OpSubgroupImageMediaBlockWriteINTEL"; 5420 case Op::OpUCountLeadingZerosINTEL: return "OpUCountLeadingZerosINTEL"; 5421 case Op::OpUCountTrailingZerosINTEL: return "OpUCountTrailingZerosINTEL"; 5422 case Op::OpAbsISubINTEL: return "OpAbsISubINTEL"; 5423 case Op::OpAbsUSubINTEL: return "OpAbsUSubINTEL"; 5424 case Op::OpIAddSatINTEL: return "OpIAddSatINTEL"; 5425 case Op::OpUAddSatINTEL: return "OpUAddSatINTEL"; 5426 case Op::OpIAverageINTEL: return "OpIAverageINTEL"; 5427 case Op::OpUAverageINTEL: return "OpUAverageINTEL"; 5428 case Op::OpIAverageRoundedINTEL: return "OpIAverageRoundedINTEL"; 5429 case Op::OpUAverageRoundedINTEL: return "OpUAverageRoundedINTEL"; 5430 case Op::OpISubSatINTEL: return "OpISubSatINTEL"; 5431 case Op::OpUSubSatINTEL: return "OpUSubSatINTEL"; 5432 case Op::OpIMul32x16INTEL: return "OpIMul32x16INTEL"; 5433 case Op::OpUMul32x16INTEL: return "OpUMul32x16INTEL"; 5434 case Op::OpConstantFunctionPointerINTEL: return "OpConstantFunctionPointerINTEL"; 5435 case Op::OpFunctionPointerCallINTEL: return "OpFunctionPointerCallINTEL"; 5436 case Op::OpAsmTargetINTEL: return "OpAsmTargetINTEL"; 5437 case Op::OpAsmINTEL: return "OpAsmINTEL"; 5438 case Op::OpAsmCallINTEL: return "OpAsmCallINTEL"; 5439 case Op::OpAtomicFMinEXT: return "OpAtomicFMinEXT"; 5440 case Op::OpAtomicFMaxEXT: return "OpAtomicFMaxEXT"; 5441 case Op::OpAssumeTrueKHR: return "OpAssumeTrueKHR"; 5442 case Op::OpExpectKHR: return "OpExpectKHR"; 5443 case Op::OpDecorateString: return "OpDecorateString"; 5444 case Op::OpMemberDecorateString: return "OpMemberDecorateString"; 5445 case Op::OpVmeImageINTEL: return "OpVmeImageINTEL"; 5446 case Op::OpTypeVmeImageINTEL: return "OpTypeVmeImageINTEL"; 5447 case Op::OpTypeAvcImePayloadINTEL: return "OpTypeAvcImePayloadINTEL"; 5448 case Op::OpTypeAvcRefPayloadINTEL: return "OpTypeAvcRefPayloadINTEL"; 5449 case Op::OpTypeAvcSicPayloadINTEL: return "OpTypeAvcSicPayloadINTEL"; 5450 case Op::OpTypeAvcMcePayloadINTEL: return "OpTypeAvcMcePayloadINTEL"; 5451 case Op::OpTypeAvcMceResultINTEL: return "OpTypeAvcMceResultINTEL"; 5452 case Op::OpTypeAvcImeResultINTEL: return "OpTypeAvcImeResultINTEL"; 5453 case Op::OpTypeAvcImeResultSingleReferenceStreamoutINTEL: return "OpTypeAvcImeResultSingleReferenceStreamoutINTEL"; 5454 case Op::OpTypeAvcImeResultDualReferenceStreamoutINTEL: return "OpTypeAvcImeResultDualReferenceStreamoutINTEL"; 5455 case Op::OpTypeAvcImeSingleReferenceStreaminINTEL: return "OpTypeAvcImeSingleReferenceStreaminINTEL"; 5456 case Op::OpTypeAvcImeDualReferenceStreaminINTEL: return "OpTypeAvcImeDualReferenceStreaminINTEL"; 5457 case Op::OpTypeAvcRefResultINTEL: return "OpTypeAvcRefResultINTEL"; 5458 case Op::OpTypeAvcSicResultINTEL: return "OpTypeAvcSicResultINTEL"; 5459 case Op::OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL: return "OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL"; 5460 case Op::OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL: return "OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL"; 5461 case Op::OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL: return "OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL"; 5462 case Op::OpSubgroupAvcMceSetInterShapePenaltyINTEL: return "OpSubgroupAvcMceSetInterShapePenaltyINTEL"; 5463 case Op::OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL: return "OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL"; 5464 case Op::OpSubgroupAvcMceSetInterDirectionPenaltyINTEL: return "OpSubgroupAvcMceSetInterDirectionPenaltyINTEL"; 5465 case Op::OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL: return "OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL"; 5466 case Op::OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL: return "OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL"; 5467 case Op::OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL: return "OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL"; 5468 case Op::OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL: return "OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL"; 5469 case Op::OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL: return "OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL"; 5470 case Op::OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL: return "OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL"; 5471 case Op::OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL: return "OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL"; 5472 case Op::OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL: return "OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL"; 5473 case Op::OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL: return "OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL"; 5474 case Op::OpSubgroupAvcMceSetAcOnlyHaarINTEL: return "OpSubgroupAvcMceSetAcOnlyHaarINTEL"; 5475 case Op::OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL: return "OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL"; 5476 case Op::OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL: return "OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL"; 5477 case Op::OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL: return "OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL"; 5478 case Op::OpSubgroupAvcMceConvertToImePayloadINTEL: return "OpSubgroupAvcMceConvertToImePayloadINTEL"; 5479 case Op::OpSubgroupAvcMceConvertToImeResultINTEL: return "OpSubgroupAvcMceConvertToImeResultINTEL"; 5480 case Op::OpSubgroupAvcMceConvertToRefPayloadINTEL: return "OpSubgroupAvcMceConvertToRefPayloadINTEL"; 5481 case Op::OpSubgroupAvcMceConvertToRefResultINTEL: return "OpSubgroupAvcMceConvertToRefResultINTEL"; 5482 case Op::OpSubgroupAvcMceConvertToSicPayloadINTEL: return "OpSubgroupAvcMceConvertToSicPayloadINTEL"; 5483 case Op::OpSubgroupAvcMceConvertToSicResultINTEL: return "OpSubgroupAvcMceConvertToSicResultINTEL"; 5484 case Op::OpSubgroupAvcMceGetMotionVectorsINTEL: return "OpSubgroupAvcMceGetMotionVectorsINTEL"; 5485 case Op::OpSubgroupAvcMceGetInterDistortionsINTEL: return "OpSubgroupAvcMceGetInterDistortionsINTEL"; 5486 case Op::OpSubgroupAvcMceGetBestInterDistortionsINTEL: return "OpSubgroupAvcMceGetBestInterDistortionsINTEL"; 5487 case Op::OpSubgroupAvcMceGetInterMajorShapeINTEL: return "OpSubgroupAvcMceGetInterMajorShapeINTEL"; 5488 case Op::OpSubgroupAvcMceGetInterMinorShapeINTEL: return "OpSubgroupAvcMceGetInterMinorShapeINTEL"; 5489 case Op::OpSubgroupAvcMceGetInterDirectionsINTEL: return "OpSubgroupAvcMceGetInterDirectionsINTEL"; 5490 case Op::OpSubgroupAvcMceGetInterMotionVectorCountINTEL: return "OpSubgroupAvcMceGetInterMotionVectorCountINTEL"; 5491 case Op::OpSubgroupAvcMceGetInterReferenceIdsINTEL: return "OpSubgroupAvcMceGetInterReferenceIdsINTEL"; 5492 case Op::OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL: return "OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL"; 5493 case Op::OpSubgroupAvcImeInitializeINTEL: return "OpSubgroupAvcImeInitializeINTEL"; 5494 case Op::OpSubgroupAvcImeSetSingleReferenceINTEL: return "OpSubgroupAvcImeSetSingleReferenceINTEL"; 5495 case Op::OpSubgroupAvcImeSetDualReferenceINTEL: return "OpSubgroupAvcImeSetDualReferenceINTEL"; 5496 case Op::OpSubgroupAvcImeRefWindowSizeINTEL: return "OpSubgroupAvcImeRefWindowSizeINTEL"; 5497 case Op::OpSubgroupAvcImeAdjustRefOffsetINTEL: return "OpSubgroupAvcImeAdjustRefOffsetINTEL"; 5498 case Op::OpSubgroupAvcImeConvertToMcePayloadINTEL: return "OpSubgroupAvcImeConvertToMcePayloadINTEL"; 5499 case Op::OpSubgroupAvcImeSetMaxMotionVectorCountINTEL: return "OpSubgroupAvcImeSetMaxMotionVectorCountINTEL"; 5500 case Op::OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL: return "OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL"; 5501 case Op::OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL: return "OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL"; 5502 case Op::OpSubgroupAvcImeSetWeightedSadINTEL: return "OpSubgroupAvcImeSetWeightedSadINTEL"; 5503 case Op::OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL: return "OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL"; 5504 case Op::OpSubgroupAvcImeEvaluateWithDualReferenceINTEL: return "OpSubgroupAvcImeEvaluateWithDualReferenceINTEL"; 5505 case Op::OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL: return "OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL"; 5506 case Op::OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL: return "OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL"; 5507 case Op::OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL: return "OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL"; 5508 case Op::OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL: return "OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL"; 5509 case Op::OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL: return "OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL"; 5510 case Op::OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL: return "OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL"; 5511 case Op::OpSubgroupAvcImeConvertToMceResultINTEL: return "OpSubgroupAvcImeConvertToMceResultINTEL"; 5512 case Op::OpSubgroupAvcImeGetSingleReferenceStreaminINTEL: return "OpSubgroupAvcImeGetSingleReferenceStreaminINTEL"; 5513 case Op::OpSubgroupAvcImeGetDualReferenceStreaminINTEL: return "OpSubgroupAvcImeGetDualReferenceStreaminINTEL"; 5514 case Op::OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL: return "OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL"; 5515 case Op::OpSubgroupAvcImeStripDualReferenceStreamoutINTEL: return "OpSubgroupAvcImeStripDualReferenceStreamoutINTEL"; 5516 case Op::OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL: return "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL"; 5517 case Op::OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL: return "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL"; 5518 case Op::OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL: return "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL"; 5519 case Op::OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL: return "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL"; 5520 case Op::OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL: return "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL"; 5521 case Op::OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL: return "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL"; 5522 case Op::OpSubgroupAvcImeGetBorderReachedINTEL: return "OpSubgroupAvcImeGetBorderReachedINTEL"; 5523 case Op::OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL: return "OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL"; 5524 case Op::OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL: return "OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL"; 5525 case Op::OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL: return "OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL"; 5526 case Op::OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL: return "OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL"; 5527 case Op::OpSubgroupAvcFmeInitializeINTEL: return "OpSubgroupAvcFmeInitializeINTEL"; 5528 case Op::OpSubgroupAvcBmeInitializeINTEL: return "OpSubgroupAvcBmeInitializeINTEL"; 5529 case Op::OpSubgroupAvcRefConvertToMcePayloadINTEL: return "OpSubgroupAvcRefConvertToMcePayloadINTEL"; 5530 case Op::OpSubgroupAvcRefSetBidirectionalMixDisableINTEL: return "OpSubgroupAvcRefSetBidirectionalMixDisableINTEL"; 5531 case Op::OpSubgroupAvcRefSetBilinearFilterEnableINTEL: return "OpSubgroupAvcRefSetBilinearFilterEnableINTEL"; 5532 case Op::OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL: return "OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL"; 5533 case Op::OpSubgroupAvcRefEvaluateWithDualReferenceINTEL: return "OpSubgroupAvcRefEvaluateWithDualReferenceINTEL"; 5534 case Op::OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL: return "OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL"; 5535 case Op::OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL: return "OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL"; 5536 case Op::OpSubgroupAvcRefConvertToMceResultINTEL: return "OpSubgroupAvcRefConvertToMceResultINTEL"; 5537 case Op::OpSubgroupAvcSicInitializeINTEL: return "OpSubgroupAvcSicInitializeINTEL"; 5538 case Op::OpSubgroupAvcSicConfigureSkcINTEL: return "OpSubgroupAvcSicConfigureSkcINTEL"; 5539 case Op::OpSubgroupAvcSicConfigureIpeLumaINTEL: return "OpSubgroupAvcSicConfigureIpeLumaINTEL"; 5540 case Op::OpSubgroupAvcSicConfigureIpeLumaChromaINTEL: return "OpSubgroupAvcSicConfigureIpeLumaChromaINTEL"; 5541 case Op::OpSubgroupAvcSicGetMotionVectorMaskINTEL: return "OpSubgroupAvcSicGetMotionVectorMaskINTEL"; 5542 case Op::OpSubgroupAvcSicConvertToMcePayloadINTEL: return "OpSubgroupAvcSicConvertToMcePayloadINTEL"; 5543 case Op::OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL: return "OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL"; 5544 case Op::OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL: return "OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL"; 5545 case Op::OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL: return "OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL"; 5546 case Op::OpSubgroupAvcSicSetBilinearFilterEnableINTEL: return "OpSubgroupAvcSicSetBilinearFilterEnableINTEL"; 5547 case Op::OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL: return "OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL"; 5548 case Op::OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL: return "OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL"; 5549 case Op::OpSubgroupAvcSicEvaluateIpeINTEL: return "OpSubgroupAvcSicEvaluateIpeINTEL"; 5550 case Op::OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL: return "OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL"; 5551 case Op::OpSubgroupAvcSicEvaluateWithDualReferenceINTEL: return "OpSubgroupAvcSicEvaluateWithDualReferenceINTEL"; 5552 case Op::OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL: return "OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL"; 5553 case Op::OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL: return "OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL"; 5554 case Op::OpSubgroupAvcSicConvertToMceResultINTEL: return "OpSubgroupAvcSicConvertToMceResultINTEL"; 5555 case Op::OpSubgroupAvcSicGetIpeLumaShapeINTEL: return "OpSubgroupAvcSicGetIpeLumaShapeINTEL"; 5556 case Op::OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL: return "OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL"; 5557 case Op::OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL: return "OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL"; 5558 case Op::OpSubgroupAvcSicGetPackedIpeLumaModesINTEL: return "OpSubgroupAvcSicGetPackedIpeLumaModesINTEL"; 5559 case Op::OpSubgroupAvcSicGetIpeChromaModeINTEL: return "OpSubgroupAvcSicGetIpeChromaModeINTEL"; 5560 case Op::OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: return "OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL"; 5561 case Op::OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: return "OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL"; 5562 case Op::OpSubgroupAvcSicGetInterRawSadsINTEL: return "OpSubgroupAvcSicGetInterRawSadsINTEL"; 5563 case Op::OpVariableLengthArrayINTEL: return "OpVariableLengthArrayINTEL"; 5564 case Op::OpSaveMemoryINTEL: return "OpSaveMemoryINTEL"; 5565 case Op::OpRestoreMemoryINTEL: return "OpRestoreMemoryINTEL"; 5566 case Op::OpArbitraryFloatSinCosPiALTERA: return "OpArbitraryFloatSinCosPiALTERA"; 5567 case Op::OpArbitraryFloatCastALTERA: return "OpArbitraryFloatCastALTERA"; 5568 case Op::OpArbitraryFloatCastFromIntALTERA: return "OpArbitraryFloatCastFromIntALTERA"; 5569 case Op::OpArbitraryFloatCastToIntALTERA: return "OpArbitraryFloatCastToIntALTERA"; 5570 case Op::OpArbitraryFloatAddALTERA: return "OpArbitraryFloatAddALTERA"; 5571 case Op::OpArbitraryFloatSubALTERA: return "OpArbitraryFloatSubALTERA"; 5572 case Op::OpArbitraryFloatMulALTERA: return "OpArbitraryFloatMulALTERA"; 5573 case Op::OpArbitraryFloatDivALTERA: return "OpArbitraryFloatDivALTERA"; 5574 case Op::OpArbitraryFloatGTALTERA: return "OpArbitraryFloatGTALTERA"; 5575 case Op::OpArbitraryFloatGEALTERA: return "OpArbitraryFloatGEALTERA"; 5576 case Op::OpArbitraryFloatLTALTERA: return "OpArbitraryFloatLTALTERA"; 5577 case Op::OpArbitraryFloatLEALTERA: return "OpArbitraryFloatLEALTERA"; 5578 case Op::OpArbitraryFloatEQALTERA: return "OpArbitraryFloatEQALTERA"; 5579 case Op::OpArbitraryFloatRecipALTERA: return "OpArbitraryFloatRecipALTERA"; 5580 case Op::OpArbitraryFloatRSqrtALTERA: return "OpArbitraryFloatRSqrtALTERA"; 5581 case Op::OpArbitraryFloatCbrtALTERA: return "OpArbitraryFloatCbrtALTERA"; 5582 case Op::OpArbitraryFloatHypotALTERA: return "OpArbitraryFloatHypotALTERA"; 5583 case Op::OpArbitraryFloatSqrtALTERA: return "OpArbitraryFloatSqrtALTERA"; 5584 case Op::OpArbitraryFloatLogINTEL: return "OpArbitraryFloatLogINTEL"; 5585 case Op::OpArbitraryFloatLog2INTEL: return "OpArbitraryFloatLog2INTEL"; 5586 case Op::OpArbitraryFloatLog10INTEL: return "OpArbitraryFloatLog10INTEL"; 5587 case Op::OpArbitraryFloatLog1pINTEL: return "OpArbitraryFloatLog1pINTEL"; 5588 case Op::OpArbitraryFloatExpINTEL: return "OpArbitraryFloatExpINTEL"; 5589 case Op::OpArbitraryFloatExp2INTEL: return "OpArbitraryFloatExp2INTEL"; 5590 case Op::OpArbitraryFloatExp10INTEL: return "OpArbitraryFloatExp10INTEL"; 5591 case Op::OpArbitraryFloatExpm1INTEL: return "OpArbitraryFloatExpm1INTEL"; 5592 case Op::OpArbitraryFloatSinINTEL: return "OpArbitraryFloatSinINTEL"; 5593 case Op::OpArbitraryFloatCosINTEL: return "OpArbitraryFloatCosINTEL"; 5594 case Op::OpArbitraryFloatSinCosINTEL: return "OpArbitraryFloatSinCosINTEL"; 5595 case Op::OpArbitraryFloatSinPiINTEL: return "OpArbitraryFloatSinPiINTEL"; 5596 case Op::OpArbitraryFloatCosPiINTEL: return "OpArbitraryFloatCosPiINTEL"; 5597 case Op::OpArbitraryFloatASinINTEL: return "OpArbitraryFloatASinINTEL"; 5598 case Op::OpArbitraryFloatASinPiINTEL: return "OpArbitraryFloatASinPiINTEL"; 5599 case Op::OpArbitraryFloatACosINTEL: return "OpArbitraryFloatACosINTEL"; 5600 case Op::OpArbitraryFloatACosPiINTEL: return "OpArbitraryFloatACosPiINTEL"; 5601 case Op::OpArbitraryFloatATanINTEL: return "OpArbitraryFloatATanINTEL"; 5602 case Op::OpArbitraryFloatATanPiINTEL: return "OpArbitraryFloatATanPiINTEL"; 5603 case Op::OpArbitraryFloatATan2INTEL: return "OpArbitraryFloatATan2INTEL"; 5604 case Op::OpArbitraryFloatPowINTEL: return "OpArbitraryFloatPowINTEL"; 5605 case Op::OpArbitraryFloatPowRINTEL: return "OpArbitraryFloatPowRINTEL"; 5606 case Op::OpArbitraryFloatPowNINTEL: return "OpArbitraryFloatPowNINTEL"; 5607 case Op::OpLoopControlINTEL: return "OpLoopControlINTEL"; 5608 case Op::OpAliasDomainDeclINTEL: return "OpAliasDomainDeclINTEL"; 5609 case Op::OpAliasScopeDeclINTEL: return "OpAliasScopeDeclINTEL"; 5610 case Op::OpAliasScopeListDeclINTEL: return "OpAliasScopeListDeclINTEL"; 5611 case Op::OpFixedSqrtALTERA: return "OpFixedSqrtALTERA"; 5612 case Op::OpFixedRecipALTERA: return "OpFixedRecipALTERA"; 5613 case Op::OpFixedRsqrtALTERA: return "OpFixedRsqrtALTERA"; 5614 case Op::OpFixedSinALTERA: return "OpFixedSinALTERA"; 5615 case Op::OpFixedCosALTERA: return "OpFixedCosALTERA"; 5616 case Op::OpFixedSinCosALTERA: return "OpFixedSinCosALTERA"; 5617 case Op::OpFixedSinPiALTERA: return "OpFixedSinPiALTERA"; 5618 case Op::OpFixedCosPiALTERA: return "OpFixedCosPiALTERA"; 5619 case Op::OpFixedSinCosPiALTERA: return "OpFixedSinCosPiALTERA"; 5620 case Op::OpFixedLogALTERA: return "OpFixedLogALTERA"; 5621 case Op::OpFixedExpALTERA: return "OpFixedExpALTERA"; 5622 case Op::OpPtrCastToCrossWorkgroupALTERA: return "OpPtrCastToCrossWorkgroupALTERA"; 5623 case Op::OpCrossWorkgroupCastToPtrALTERA: return "OpCrossWorkgroupCastToPtrALTERA"; 5624 case Op::OpReadPipeBlockingALTERA: return "OpReadPipeBlockingALTERA"; 5625 case Op::OpWritePipeBlockingALTERA: return "OpWritePipeBlockingALTERA"; 5626 case Op::OpFPGARegALTERA: return "OpFPGARegALTERA"; 5627 case Op::OpRayQueryGetRayTMinKHR: return "OpRayQueryGetRayTMinKHR"; 5628 case Op::OpRayQueryGetRayFlagsKHR: return "OpRayQueryGetRayFlagsKHR"; 5629 case Op::OpRayQueryGetIntersectionTKHR: return "OpRayQueryGetIntersectionTKHR"; 5630 case Op::OpRayQueryGetIntersectionInstanceCustomIndexKHR: return "OpRayQueryGetIntersectionInstanceCustomIndexKHR"; 5631 case Op::OpRayQueryGetIntersectionInstanceIdKHR: return "OpRayQueryGetIntersectionInstanceIdKHR"; 5632 case Op::OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR: return "OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR"; 5633 case Op::OpRayQueryGetIntersectionGeometryIndexKHR: return "OpRayQueryGetIntersectionGeometryIndexKHR"; 5634 case Op::OpRayQueryGetIntersectionPrimitiveIndexKHR: return "OpRayQueryGetIntersectionPrimitiveIndexKHR"; 5635 case Op::OpRayQueryGetIntersectionBarycentricsKHR: return "OpRayQueryGetIntersectionBarycentricsKHR"; 5636 case Op::OpRayQueryGetIntersectionFrontFaceKHR: return "OpRayQueryGetIntersectionFrontFaceKHR"; 5637 case Op::OpRayQueryGetIntersectionCandidateAABBOpaqueKHR: return "OpRayQueryGetIntersectionCandidateAABBOpaqueKHR"; 5638 case Op::OpRayQueryGetIntersectionObjectRayDirectionKHR: return "OpRayQueryGetIntersectionObjectRayDirectionKHR"; 5639 case Op::OpRayQueryGetIntersectionObjectRayOriginKHR: return "OpRayQueryGetIntersectionObjectRayOriginKHR"; 5640 case Op::OpRayQueryGetWorldRayDirectionKHR: return "OpRayQueryGetWorldRayDirectionKHR"; 5641 case Op::OpRayQueryGetWorldRayOriginKHR: return "OpRayQueryGetWorldRayOriginKHR"; 5642 case Op::OpRayQueryGetIntersectionObjectToWorldKHR: return "OpRayQueryGetIntersectionObjectToWorldKHR"; 5643 case Op::OpRayQueryGetIntersectionWorldToObjectKHR: return "OpRayQueryGetIntersectionWorldToObjectKHR"; 5644 case Op::OpAtomicFAddEXT: return "OpAtomicFAddEXT"; 5645 case Op::OpTypeBufferSurfaceINTEL: return "OpTypeBufferSurfaceINTEL"; 5646 case Op::OpTypeStructContinuedINTEL: return "OpTypeStructContinuedINTEL"; 5647 case Op::OpConstantCompositeContinuedINTEL: return "OpConstantCompositeContinuedINTEL"; 5648 case Op::OpSpecConstantCompositeContinuedINTEL: return "OpSpecConstantCompositeContinuedINTEL"; 5649 case Op::OpCompositeConstructContinuedINTEL: return "OpCompositeConstructContinuedINTEL"; 5650 case Op::OpConvertFToBF16INTEL: return "OpConvertFToBF16INTEL"; 5651 case Op::OpConvertBF16ToFINTEL: return "OpConvertBF16ToFINTEL"; 5652 case Op::OpControlBarrierArriveEXT: return "OpControlBarrierArriveEXT"; 5653 case Op::OpControlBarrierWaitEXT: return "OpControlBarrierWaitEXT"; 5654 case Op::OpArithmeticFenceEXT: return "OpArithmeticFenceEXT"; 5655 case Op::OpTaskSequenceCreateALTERA: return "OpTaskSequenceCreateALTERA"; 5656 case Op::OpTaskSequenceAsyncALTERA: return "OpTaskSequenceAsyncALTERA"; 5657 case Op::OpTaskSequenceGetALTERA: return "OpTaskSequenceGetALTERA"; 5658 case Op::OpTaskSequenceReleaseALTERA: return "OpTaskSequenceReleaseALTERA"; 5659 case Op::OpTypeTaskSequenceALTERA: return "OpTypeTaskSequenceALTERA"; 5660 case Op::OpSubgroupBlockPrefetchINTEL: return "OpSubgroupBlockPrefetchINTEL"; 5661 case Op::OpSubgroup2DBlockLoadINTEL: return "OpSubgroup2DBlockLoadINTEL"; 5662 case Op::OpSubgroup2DBlockLoadTransformINTEL: return "OpSubgroup2DBlockLoadTransformINTEL"; 5663 case Op::OpSubgroup2DBlockLoadTransposeINTEL: return "OpSubgroup2DBlockLoadTransposeINTEL"; 5664 case Op::OpSubgroup2DBlockPrefetchINTEL: return "OpSubgroup2DBlockPrefetchINTEL"; 5665 case Op::OpSubgroup2DBlockStoreINTEL: return "OpSubgroup2DBlockStoreINTEL"; 5666 case Op::OpSubgroupMatrixMultiplyAccumulateINTEL: return "OpSubgroupMatrixMultiplyAccumulateINTEL"; 5667 case Op::OpBitwiseFunctionINTEL: return "OpBitwiseFunctionINTEL"; 5668 case Op::OpUntypedVariableLengthArrayINTEL: return "OpUntypedVariableLengthArrayINTEL"; 5669 case Op::OpConditionalExtensionINTEL: return "OpConditionalExtensionINTEL"; 5670 case Op::OpConditionalEntryPointINTEL: return "OpConditionalEntryPointINTEL"; 5671 case Op::OpConditionalCapabilityINTEL: return "OpConditionalCapabilityINTEL"; 5672 case Op::OpSpecConstantTargetINTEL: return "OpSpecConstantTargetINTEL"; 5673 case Op::OpSpecConstantArchitectureINTEL: return "OpSpecConstantArchitectureINTEL"; 5674 case Op::OpSpecConstantCapabilitiesINTEL: return "OpSpecConstantCapabilitiesINTEL"; 5675 case Op::OpConditionalCopyObjectINTEL: return "OpConditionalCopyObjectINTEL"; 5676 case Op::OpPredicatedLoadINTEL: return "OpPredicatedLoadINTEL"; 5677 case Op::OpPredicatedStoreINTEL: return "OpPredicatedStoreINTEL"; 5678 case Op::OpGroupIMulKHR: return "OpGroupIMulKHR"; 5679 case Op::OpGroupFMulKHR: return "OpGroupFMulKHR"; 5680 case Op::OpGroupBitwiseAndKHR: return "OpGroupBitwiseAndKHR"; 5681 case Op::OpGroupBitwiseOrKHR: return "OpGroupBitwiseOrKHR"; 5682 case Op::OpGroupBitwiseXorKHR: return "OpGroupBitwiseXorKHR"; 5683 case Op::OpGroupLogicalAndKHR: return "OpGroupLogicalAndKHR"; 5684 case Op::OpGroupLogicalOrKHR: return "OpGroupLogicalOrKHR"; 5685 case Op::OpGroupLogicalXorKHR: return "OpGroupLogicalXorKHR"; 5686 case Op::OpRoundFToTF32INTEL: return "OpRoundFToTF32INTEL"; 5687 case Op::OpMaskedGatherINTEL: return "OpMaskedGatherINTEL"; 5688 case Op::OpMaskedScatterINTEL: return "OpMaskedScatterINTEL"; 5689 case Op::OpConvertHandleToImageINTEL: return "OpConvertHandleToImageINTEL"; 5690 case Op::OpConvertHandleToSamplerINTEL: return "OpConvertHandleToSamplerINTEL"; 5691 case Op::OpConvertHandleToSampledImageINTEL: return "OpConvertHandleToSampledImageINTEL"; 5692 case Op::OpFDot2MixAcc32VALVE: return "OpFDot2MixAcc32VALVE"; 5693 case Op::OpFDot2MixAcc16VALVE: return "OpFDot2MixAcc16VALVE"; 5694 case Op::OpFDot4MixAcc32VALVE: return "OpFDot4MixAcc32VALVE"; 5695 default: return "Unknown"; 5696 } 5697} 5698 5699#endif /* SPV_ENABLE_UTILITY_CODE */ 5700 5701// Overload bitwise operators for mask bit combining 5702 5703constexpr ImageOperandsMask operator|(ImageOperandsMask a, ImageOperandsMask b) { return ImageOperandsMask(unsigned(a) | unsigned(b)); } 5704constexpr ImageOperandsMask operator&(ImageOperandsMask a, ImageOperandsMask b) { return ImageOperandsMask(unsigned(a) & unsigned(b)); } 5705constexpr ImageOperandsMask operator^(ImageOperandsMask a, ImageOperandsMask b) { return ImageOperandsMask(unsigned(a) ^ unsigned(b)); } 5706constexpr ImageOperandsMask operator~(ImageOperandsMask a) { return ImageOperandsMask(~unsigned(a)); } 5707constexpr FPFastMathModeMask operator|(FPFastMathModeMask a, FPFastMathModeMask b) { return FPFastMathModeMask(unsigned(a) | unsigned(b)); } 5708constexpr FPFastMathModeMask operator&(FPFastMathModeMask a, FPFastMathModeMask b) { return FPFastMathModeMask(unsigned(a) & unsigned(b)); } 5709constexpr FPFastMathModeMask operator^(FPFastMathModeMask a, FPFastMathModeMask b) { return FPFastMathModeMask(unsigned(a) ^ unsigned(b)); } 5710constexpr FPFastMathModeMask operator~(FPFastMathModeMask a) { return FPFastMathModeMask(~unsigned(a)); } 5711constexpr SelectionControlMask operator|(SelectionControlMask a, SelectionControlMask b) { return SelectionControlMask(unsigned(a) | unsigned(b)); } 5712constexpr SelectionControlMask operator&(SelectionControlMask a, SelectionControlMask b) { return SelectionControlMask(unsigned(a) & unsigned(b)); } 5713constexpr SelectionControlMask operator^(SelectionControlMask a, SelectionControlMask b) { return SelectionControlMask(unsigned(a) ^ unsigned(b)); } 5714constexpr SelectionControlMask operator~(SelectionControlMask a) { return SelectionControlMask(~unsigned(a)); } 5715constexpr LoopControlMask operator|(LoopControlMask a, LoopControlMask b) { return LoopControlMask(unsigned(a) | unsigned(b)); } 5716constexpr LoopControlMask operator&(LoopControlMask a, LoopControlMask b) { return LoopControlMask(unsigned(a) & unsigned(b)); } 5717constexpr LoopControlMask operator^(LoopControlMask a, LoopControlMask b) { return LoopControlMask(unsigned(a) ^ unsigned(b)); } 5718constexpr LoopControlMask operator~(LoopControlMask a) { return LoopControlMask(~unsigned(a)); } 5719constexpr FunctionControlMask operator|(FunctionControlMask a, FunctionControlMask b) { return FunctionControlMask(unsigned(a) | unsigned(b)); } 5720constexpr FunctionControlMask operator&(FunctionControlMask a, FunctionControlMask b) { return FunctionControlMask(unsigned(a) & unsigned(b)); } 5721constexpr FunctionControlMask operator^(FunctionControlMask a, FunctionControlMask b) { return FunctionControlMask(unsigned(a) ^ unsigned(b)); } 5722constexpr FunctionControlMask operator~(FunctionControlMask a) { return FunctionControlMask(~unsigned(a)); } 5723constexpr MemorySemanticsMask operator|(MemorySemanticsMask a, MemorySemanticsMask b) { return MemorySemanticsMask(unsigned(a) | unsigned(b)); } 5724constexpr MemorySemanticsMask operator&(MemorySemanticsMask a, MemorySemanticsMask b) { return MemorySemanticsMask(unsigned(a) & unsigned(b)); } 5725constexpr MemorySemanticsMask operator^(MemorySemanticsMask a, MemorySemanticsMask b) { return MemorySemanticsMask(unsigned(a) ^ unsigned(b)); } 5726constexpr MemorySemanticsMask operator~(MemorySemanticsMask a) { return MemorySemanticsMask(~unsigned(a)); } 5727constexpr MemoryAccessMask operator|(MemoryAccessMask a, MemoryAccessMask b) { return MemoryAccessMask(unsigned(a) | unsigned(b)); } 5728constexpr MemoryAccessMask operator&(MemoryAccessMask a, MemoryAccessMask b) { return MemoryAccessMask(unsigned(a) & unsigned(b)); } 5729constexpr MemoryAccessMask operator^(MemoryAccessMask a, MemoryAccessMask b) { return MemoryAccessMask(unsigned(a) ^ unsigned(b)); } 5730constexpr MemoryAccessMask operator~(MemoryAccessMask a) { return MemoryAccessMask(~unsigned(a)); } 5731constexpr KernelProfilingInfoMask operator|(KernelProfilingInfoMask a, KernelProfilingInfoMask b) { return KernelProfilingInfoMask(unsigned(a) | unsigned(b)); } 5732constexpr KernelProfilingInfoMask operator&(KernelProfilingInfoMask a, KernelProfilingInfoMask b) { return KernelProfilingInfoMask(unsigned(a) & unsigned(b)); } 5733constexpr KernelProfilingInfoMask operator^(KernelProfilingInfoMask a, KernelProfilingInfoMask b) { return KernelProfilingInfoMask(unsigned(a) ^ unsigned(b)); } 5734constexpr KernelProfilingInfoMask operator~(KernelProfilingInfoMask a) { return KernelProfilingInfoMask(~unsigned(a)); } 5735constexpr RayFlagsMask operator|(RayFlagsMask a, RayFlagsMask b) { return RayFlagsMask(unsigned(a) | unsigned(b)); } 5736constexpr RayFlagsMask operator&(RayFlagsMask a, RayFlagsMask b) { return RayFlagsMask(unsigned(a) & unsigned(b)); } 5737constexpr RayFlagsMask operator^(RayFlagsMask a, RayFlagsMask b) { return RayFlagsMask(unsigned(a) ^ unsigned(b)); } 5738constexpr RayFlagsMask operator~(RayFlagsMask a) { return RayFlagsMask(~unsigned(a)); } 5739constexpr FragmentShadingRateMask operator|(FragmentShadingRateMask a, FragmentShadingRateMask b) { return FragmentShadingRateMask(unsigned(a) | unsigned(b)); } 5740constexpr FragmentShadingRateMask operator&(FragmentShadingRateMask a, FragmentShadingRateMask b) { return FragmentShadingRateMask(unsigned(a) & unsigned(b)); } 5741constexpr FragmentShadingRateMask operator^(FragmentShadingRateMask a, FragmentShadingRateMask b) { return FragmentShadingRateMask(unsigned(a) ^ unsigned(b)); } 5742constexpr FragmentShadingRateMask operator~(FragmentShadingRateMask a) { return FragmentShadingRateMask(~unsigned(a)); } 5743constexpr CooperativeMatrixOperandsMask operator|(CooperativeMatrixOperandsMask a, CooperativeMatrixOperandsMask b) { return CooperativeMatrixOperandsMask(unsigned(a) | unsigned(b)); } 5744constexpr CooperativeMatrixOperandsMask operator&(CooperativeMatrixOperandsMask a, CooperativeMatrixOperandsMask b) { return CooperativeMatrixOperandsMask(unsigned(a) & unsigned(b)); } 5745constexpr CooperativeMatrixOperandsMask operator^(CooperativeMatrixOperandsMask a, CooperativeMatrixOperandsMask b) { return CooperativeMatrixOperandsMask(unsigned(a) ^ unsigned(b)); } 5746constexpr CooperativeMatrixOperandsMask operator~(CooperativeMatrixOperandsMask a) { return CooperativeMatrixOperandsMask(~unsigned(a)); } 5747constexpr CooperativeMatrixReduceMask operator|(CooperativeMatrixReduceMask a, CooperativeMatrixReduceMask b) { return CooperativeMatrixReduceMask(unsigned(a) | unsigned(b)); } 5748constexpr CooperativeMatrixReduceMask operator&(CooperativeMatrixReduceMask a, CooperativeMatrixReduceMask b) { return CooperativeMatrixReduceMask(unsigned(a) & unsigned(b)); } 5749constexpr CooperativeMatrixReduceMask operator^(CooperativeMatrixReduceMask a, CooperativeMatrixReduceMask b) { return CooperativeMatrixReduceMask(unsigned(a) ^ unsigned(b)); } 5750constexpr CooperativeMatrixReduceMask operator~(CooperativeMatrixReduceMask a) { return CooperativeMatrixReduceMask(~unsigned(a)); } 5751constexpr TensorAddressingOperandsMask operator|(TensorAddressingOperandsMask a, TensorAddressingOperandsMask b) { return TensorAddressingOperandsMask(unsigned(a) | unsigned(b)); } 5752constexpr TensorAddressingOperandsMask operator&(TensorAddressingOperandsMask a, TensorAddressingOperandsMask b) { return TensorAddressingOperandsMask(unsigned(a) & unsigned(b)); } 5753constexpr TensorAddressingOperandsMask operator^(TensorAddressingOperandsMask a, TensorAddressingOperandsMask b) { return TensorAddressingOperandsMask(unsigned(a) ^ unsigned(b)); } 5754constexpr TensorAddressingOperandsMask operator~(TensorAddressingOperandsMask a) { return TensorAddressingOperandsMask(~unsigned(a)); } 5755constexpr TensorOperandsMask operator|(TensorOperandsMask a, TensorOperandsMask b) { return TensorOperandsMask(unsigned(a) | unsigned(b)); } 5756constexpr TensorOperandsMask operator&(TensorOperandsMask a, TensorOperandsMask b) { return TensorOperandsMask(unsigned(a) & unsigned(b)); } 5757constexpr TensorOperandsMask operator^(TensorOperandsMask a, TensorOperandsMask b) { return TensorOperandsMask(unsigned(a) ^ unsigned(b)); } 5758constexpr TensorOperandsMask operator~(TensorOperandsMask a) { return TensorOperandsMask(~unsigned(a)); } 5759constexpr MatrixMultiplyAccumulateOperandsMask operator|(MatrixMultiplyAccumulateOperandsMask a, MatrixMultiplyAccumulateOperandsMask b) { return MatrixMultiplyAccumulateOperandsMask(unsigned(a) | unsigned(b)); } 5760constexpr MatrixMultiplyAccumulateOperandsMask operator&(MatrixMultiplyAccumulateOperandsMask a, MatrixMultiplyAccumulateOperandsMask b) { return MatrixMultiplyAccumulateOperandsMask(unsigned(a) & unsigned(b)); } 5761constexpr MatrixMultiplyAccumulateOperandsMask operator^(MatrixMultiplyAccumulateOperandsMask a, MatrixMultiplyAccumulateOperandsMask b) { return MatrixMultiplyAccumulateOperandsMask(unsigned(a) ^ unsigned(b)); } 5762constexpr MatrixMultiplyAccumulateOperandsMask operator~(MatrixMultiplyAccumulateOperandsMask a) { return MatrixMultiplyAccumulateOperandsMask(~unsigned(a)); } 5763constexpr RawAccessChainOperandsMask operator|(RawAccessChainOperandsMask a, RawAccessChainOperandsMask b) { return RawAccessChainOperandsMask(unsigned(a) | unsigned(b)); } 5764constexpr RawAccessChainOperandsMask operator&(RawAccessChainOperandsMask a, RawAccessChainOperandsMask b) { return RawAccessChainOperandsMask(unsigned(a) & unsigned(b)); } 5765constexpr RawAccessChainOperandsMask operator^(RawAccessChainOperandsMask a, RawAccessChainOperandsMask b) { return RawAccessChainOperandsMask(unsigned(a) ^ unsigned(b)); } 5766constexpr RawAccessChainOperandsMask operator~(RawAccessChainOperandsMask a) { return RawAccessChainOperandsMask(~unsigned(a)); } 5767 5768} // end namespace spv 5769 5770#endif // #ifndef spirv_HPP 5771