1// Copyright (c) 2014-2024 The Khronos Group Inc. 2// 3// Permission is hereby granted, free of charge, to any person obtaining a copy 4// of this software and/or associated documentation files (the "Materials"), 5// to deal in the Materials without restriction, including without limitation 6// the rights to use, copy, modify, merge, publish, distribute, sublicense, 7// and/or sell copies of the Materials, and to permit persons to whom the 8// Materials are furnished to do so, subject to the following conditions: 9// 10// The above copyright notice and this permission notice shall be included in 11// all copies or substantial portions of the Materials. 12// 13// MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS 14// STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND 15// HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ 16// 17// THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 18// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 20// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 22// FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS 23// IN THE MATERIALS. 24 25// This header is automatically generated by the same tool that creates 26// the Binary Section of the SPIR-V specification. 27 28// Enumeration tokens for SPIR-V, in various styles: 29// C, C++, C++11, JSON, Lua, Python, C#, D, Beef 30// 31// - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL 32// - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL 33// - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL 34// - Lua will use tables, e.g.: spv.SourceLanguage.GLSL 35// - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL'] 36// - C# will use enum classes in the Specification class located in the "Spv" namespace, 37// e.g.: Spv.Specification.SourceLanguage.GLSL 38// - D will have tokens under the "spv" module, e.g: spv.SourceLanguage.GLSL 39// - Beef will use enum classes in the Specification class located in the "Spv" namespace, 40// e.g.: Spv.Specification.SourceLanguage.GLSL 41// 42// Some tokens act like mask values, which can be OR'd together, 43// while others are mutually exclusive. The mask-like ones have 44// "Mask" in their name, and a parallel enum that has the shift 45// amount (1 << x) for each corresponding enumerant. 46 47#ifndef spirv_HPP 48#define spirv_HPP 49 50namespace spv { 51 52typedef unsigned int Id; 53 54#define SPV_VERSION 0x10600 55#define SPV_REVISION 1 56 57static const unsigned int MagicNumber = 0x07230203; 58static const unsigned int Version = 0x00010600; 59static const unsigned int Revision = 1; 60static const unsigned int OpCodeMask = 0xffff; 61static const unsigned int WordCountShift = 16; 62 63enum class SourceLanguage : unsigned { 64 Unknown = 0, 65 ESSL = 1, 66 GLSL = 2, 67 OpenCL_C = 3, 68 OpenCL_CPP = 4, 69 HLSL = 5, 70 CPP_for_OpenCL = 6, 71 SYCL = 7, 72 HERO_C = 8, 73 NZSL = 9, 74 WGSL = 10, 75 Slang = 11, 76 Zig = 12, 77 Max = 0x7fffffff, 78}; 79 80enum class ExecutionModel : unsigned { 81 Vertex = 0, 82 TessellationControl = 1, 83 TessellationEvaluation = 2, 84 Geometry = 3, 85 Fragment = 4, 86 GLCompute = 5, 87 Kernel = 6, 88 TaskNV = 5267, 89 MeshNV = 5268, 90 RayGenerationKHR = 5313, 91 RayGenerationNV = 5313, 92 IntersectionKHR = 5314, 93 IntersectionNV = 5314, 94 AnyHitKHR = 5315, 95 AnyHitNV = 5315, 96 ClosestHitKHR = 5316, 97 ClosestHitNV = 5316, 98 MissKHR = 5317, 99 MissNV = 5317, 100 CallableKHR = 5318, 101 CallableNV = 5318, 102 TaskEXT = 5364, 103 MeshEXT = 5365, 104 Max = 0x7fffffff, 105}; 106 107enum class AddressingModel : unsigned { 108 Logical = 0, 109 Physical32 = 1, 110 Physical64 = 2, 111 PhysicalStorageBuffer64 = 5348, 112 PhysicalStorageBuffer64EXT = 5348, 113 Max = 0x7fffffff, 114}; 115 116enum class MemoryModel : unsigned { 117 Simple = 0, 118 GLSL450 = 1, 119 OpenCL = 2, 120 Vulkan = 3, 121 VulkanKHR = 3, 122 Max = 0x7fffffff, 123}; 124 125enum class ExecutionMode : unsigned { 126 Invocations = 0, 127 SpacingEqual = 1, 128 SpacingFractionalEven = 2, 129 SpacingFractionalOdd = 3, 130 VertexOrderCw = 4, 131 VertexOrderCcw = 5, 132 PixelCenterInteger = 6, 133 OriginUpperLeft = 7, 134 OriginLowerLeft = 8, 135 EarlyFragmentTests = 9, 136 PointMode = 10, 137 Xfb = 11, 138 DepthReplacing = 12, 139 DepthGreater = 14, 140 DepthLess = 15, 141 DepthUnchanged = 16, 142 LocalSize = 17, 143 LocalSizeHint = 18, 144 InputPoints = 19, 145 InputLines = 20, 146 InputLinesAdjacency = 21, 147 Triangles = 22, 148 InputTrianglesAdjacency = 23, 149 Quads = 24, 150 Isolines = 25, 151 OutputVertices = 26, 152 OutputPoints = 27, 153 OutputLineStrip = 28, 154 OutputTriangleStrip = 29, 155 VecTypeHint = 30, 156 ContractionOff = 31, 157 Initializer = 33, 158 Finalizer = 34, 159 SubgroupSize = 35, 160 SubgroupsPerWorkgroup = 36, 161 SubgroupsPerWorkgroupId = 37, 162 LocalSizeId = 38, 163 LocalSizeHintId = 39, 164 NonCoherentColorAttachmentReadEXT = 4169, 165 NonCoherentDepthAttachmentReadEXT = 4170, 166 NonCoherentStencilAttachmentReadEXT = 4171, 167 SubgroupUniformControlFlowKHR = 4421, 168 PostDepthCoverage = 4446, 169 DenormPreserve = 4459, 170 DenormFlushToZero = 4460, 171 SignedZeroInfNanPreserve = 4461, 172 RoundingModeRTE = 4462, 173 RoundingModeRTZ = 4463, 174 EarlyAndLateFragmentTestsAMD = 5017, 175 StencilRefReplacingEXT = 5027, 176 CoalescingAMDX = 5069, 177 MaxNodeRecursionAMDX = 5071, 178 StaticNumWorkgroupsAMDX = 5072, 179 ShaderIndexAMDX = 5073, 180 MaxNumWorkgroupsAMDX = 5077, 181 StencilRefUnchangedFrontAMD = 5079, 182 StencilRefGreaterFrontAMD = 5080, 183 StencilRefLessFrontAMD = 5081, 184 StencilRefUnchangedBackAMD = 5082, 185 StencilRefGreaterBackAMD = 5083, 186 StencilRefLessBackAMD = 5084, 187 QuadDerivativesKHR = 5088, 188 RequireFullQuadsKHR = 5089, 189 OutputLinesEXT = 5269, 190 OutputLinesNV = 5269, 191 OutputPrimitivesEXT = 5270, 192 OutputPrimitivesNV = 5270, 193 DerivativeGroupQuadsNV = 5289, 194 DerivativeGroupLinearNV = 5290, 195 OutputTrianglesEXT = 5298, 196 OutputTrianglesNV = 5298, 197 PixelInterlockOrderedEXT = 5366, 198 PixelInterlockUnorderedEXT = 5367, 199 SampleInterlockOrderedEXT = 5368, 200 SampleInterlockUnorderedEXT = 5369, 201 ShadingRateInterlockOrderedEXT = 5370, 202 ShadingRateInterlockUnorderedEXT = 5371, 203 SharedLocalMemorySizeINTEL = 5618, 204 RoundingModeRTPINTEL = 5620, 205 RoundingModeRTNINTEL = 5621, 206 FloatingPointModeALTINTEL = 5622, 207 FloatingPointModeIEEEINTEL = 5623, 208 MaxWorkgroupSizeINTEL = 5893, 209 MaxWorkDimINTEL = 5894, 210 NoGlobalOffsetINTEL = 5895, 211 NumSIMDWorkitemsINTEL = 5896, 212 SchedulerTargetFmaxMhzINTEL = 5903, 213 MaximallyReconvergesKHR = 6023, 214 FPFastMathDefault = 6028, 215 StreamingInterfaceINTEL = 6154, 216 RegisterMapInterfaceINTEL = 6160, 217 NamedBarrierCountINTEL = 6417, 218 MaximumRegistersINTEL = 6461, 219 MaximumRegistersIdINTEL = 6462, 220 NamedMaximumRegistersINTEL = 6463, 221 Max = 0x7fffffff, 222}; 223 224enum class StorageClass : unsigned { 225 UniformConstant = 0, 226 Input = 1, 227 Uniform = 2, 228 Output = 3, 229 Workgroup = 4, 230 CrossWorkgroup = 5, 231 Private = 6, 232 Function = 7, 233 Generic = 8, 234 PushConstant = 9, 235 AtomicCounter = 10, 236 Image = 11, 237 StorageBuffer = 12, 238 TileImageEXT = 4172, 239 NodePayloadAMDX = 5068, 240 NodeOutputPayloadAMDX = 5076, 241 CallableDataKHR = 5328, 242 CallableDataNV = 5328, 243 IncomingCallableDataKHR = 5329, 244 IncomingCallableDataNV = 5329, 245 RayPayloadKHR = 5338, 246 RayPayloadNV = 5338, 247 HitAttributeKHR = 5339, 248 HitAttributeNV = 5339, 249 IncomingRayPayloadKHR = 5342, 250 IncomingRayPayloadNV = 5342, 251 ShaderRecordBufferKHR = 5343, 252 ShaderRecordBufferNV = 5343, 253 PhysicalStorageBuffer = 5349, 254 PhysicalStorageBufferEXT = 5349, 255 HitObjectAttributeNV = 5385, 256 TaskPayloadWorkgroupEXT = 5402, 257 CodeSectionINTEL = 5605, 258 DeviceOnlyINTEL = 5936, 259 HostOnlyINTEL = 5937, 260 Max = 0x7fffffff, 261}; 262 263enum class Dim : unsigned { 264 Dim1D = 0, 265 Dim2D = 1, 266 Dim3D = 2, 267 Cube = 3, 268 Rect = 4, 269 Buffer = 5, 270 SubpassData = 6, 271 TileImageDataEXT = 4173, 272 Max = 0x7fffffff, 273}; 274 275enum class SamplerAddressingMode : unsigned { 276 None = 0, 277 ClampToEdge = 1, 278 Clamp = 2, 279 Repeat = 3, 280 RepeatMirrored = 4, 281 Max = 0x7fffffff, 282}; 283 284enum class SamplerFilterMode : unsigned { 285 Nearest = 0, 286 Linear = 1, 287 Max = 0x7fffffff, 288}; 289 290enum class ImageFormat : unsigned { 291 Unknown = 0, 292 Rgba32f = 1, 293 Rgba16f = 2, 294 R32f = 3, 295 Rgba8 = 4, 296 Rgba8Snorm = 5, 297 Rg32f = 6, 298 Rg16f = 7, 299 R11fG11fB10f = 8, 300 R16f = 9, 301 Rgba16 = 10, 302 Rgb10A2 = 11, 303 Rg16 = 12, 304 Rg8 = 13, 305 R16 = 14, 306 R8 = 15, 307 Rgba16Snorm = 16, 308 Rg16Snorm = 17, 309 Rg8Snorm = 18, 310 R16Snorm = 19, 311 R8Snorm = 20, 312 Rgba32i = 21, 313 Rgba16i = 22, 314 Rgba8i = 23, 315 R32i = 24, 316 Rg32i = 25, 317 Rg16i = 26, 318 Rg8i = 27, 319 R16i = 28, 320 R8i = 29, 321 Rgba32ui = 30, 322 Rgba16ui = 31, 323 Rgba8ui = 32, 324 R32ui = 33, 325 Rgb10a2ui = 34, 326 Rg32ui = 35, 327 Rg16ui = 36, 328 Rg8ui = 37, 329 R16ui = 38, 330 R8ui = 39, 331 R64ui = 40, 332 R64i = 41, 333 Max = 0x7fffffff, 334}; 335 336enum class ImageChannelOrder : unsigned { 337 R = 0, 338 A = 1, 339 RG = 2, 340 RA = 3, 341 RGB = 4, 342 RGBA = 5, 343 BGRA = 6, 344 ARGB = 7, 345 Intensity = 8, 346 Luminance = 9, 347 Rx = 10, 348 RGx = 11, 349 RGBx = 12, 350 Depth = 13, 351 DepthStencil = 14, 352 sRGB = 15, 353 sRGBx = 16, 354 sRGBA = 17, 355 sBGRA = 18, 356 ABGR = 19, 357 Max = 0x7fffffff, 358}; 359 360enum class ImageChannelDataType : unsigned { 361 SnormInt8 = 0, 362 SnormInt16 = 1, 363 UnormInt8 = 2, 364 UnormInt16 = 3, 365 UnormShort565 = 4, 366 UnormShort555 = 5, 367 UnormInt101010 = 6, 368 SignedInt8 = 7, 369 SignedInt16 = 8, 370 SignedInt32 = 9, 371 UnsignedInt8 = 10, 372 UnsignedInt16 = 11, 373 UnsignedInt32 = 12, 374 HalfFloat = 13, 375 Float = 14, 376 UnormInt24 = 15, 377 UnormInt101010_2 = 16, 378 UnsignedIntRaw10EXT = 19, 379 UnsignedIntRaw12EXT = 20, 380 Max = 0x7fffffff, 381}; 382 383enum class ImageOperandsShift : unsigned { 384 Bias = 0, 385 Lod = 1, 386 Grad = 2, 387 ConstOffset = 3, 388 Offset = 4, 389 ConstOffsets = 5, 390 Sample = 6, 391 MinLod = 7, 392 MakeTexelAvailable = 8, 393 MakeTexelAvailableKHR = 8, 394 MakeTexelVisible = 9, 395 MakeTexelVisibleKHR = 9, 396 NonPrivateTexel = 10, 397 NonPrivateTexelKHR = 10, 398 VolatileTexel = 11, 399 VolatileTexelKHR = 11, 400 SignExtend = 12, 401 ZeroExtend = 13, 402 Nontemporal = 14, 403 Offsets = 16, 404 Max = 0x7fffffff, 405}; 406 407enum class ImageOperandsMask : unsigned { 408 MaskNone = 0, 409 Bias = 0x00000001, 410 Lod = 0x00000002, 411 Grad = 0x00000004, 412 ConstOffset = 0x00000008, 413 Offset = 0x00000010, 414 ConstOffsets = 0x00000020, 415 Sample = 0x00000040, 416 MinLod = 0x00000080, 417 MakeTexelAvailable = 0x00000100, 418 MakeTexelAvailableKHR = 0x00000100, 419 MakeTexelVisible = 0x00000200, 420 MakeTexelVisibleKHR = 0x00000200, 421 NonPrivateTexel = 0x00000400, 422 NonPrivateTexelKHR = 0x00000400, 423 VolatileTexel = 0x00000800, 424 VolatileTexelKHR = 0x00000800, 425 SignExtend = 0x00001000, 426 ZeroExtend = 0x00002000, 427 Nontemporal = 0x00004000, 428 Offsets = 0x00010000, 429}; 430 431enum class FPFastMathModeShift : unsigned { 432 NotNaN = 0, 433 NotInf = 1, 434 NSZ = 2, 435 AllowRecip = 3, 436 Fast = 4, 437 AllowContract = 16, 438 AllowContractFastINTEL = 16, 439 AllowReassoc = 17, 440 AllowReassocINTEL = 17, 441 AllowTransform = 18, 442 Max = 0x7fffffff, 443}; 444 445enum class FPFastMathModeMask : unsigned { 446 MaskNone = 0, 447 NotNaN = 0x00000001, 448 NotInf = 0x00000002, 449 NSZ = 0x00000004, 450 AllowRecip = 0x00000008, 451 Fast = 0x00000010, 452 AllowContract = 0x00010000, 453 AllowContractFastINTEL = 0x00010000, 454 AllowReassoc = 0x00020000, 455 AllowReassocINTEL = 0x00020000, 456 AllowTransform = 0x00040000, 457}; 458 459enum class FPRoundingMode : unsigned { 460 RTE = 0, 461 RTZ = 1, 462 RTP = 2, 463 RTN = 3, 464 Max = 0x7fffffff, 465}; 466 467enum class LinkageType : unsigned { 468 Export = 0, 469 Import = 1, 470 LinkOnceODR = 2, 471 Max = 0x7fffffff, 472}; 473 474enum class AccessQualifier : unsigned { 475 ReadOnly = 0, 476 WriteOnly = 1, 477 ReadWrite = 2, 478 Max = 0x7fffffff, 479}; 480 481enum class FunctionParameterAttribute : unsigned { 482 Zext = 0, 483 Sext = 1, 484 ByVal = 2, 485 Sret = 3, 486 NoAlias = 4, 487 NoCapture = 5, 488 NoWrite = 6, 489 NoReadWrite = 7, 490 RuntimeAlignedINTEL = 5940, 491 Max = 0x7fffffff, 492}; 493 494enum class Decoration : unsigned { 495 RelaxedPrecision = 0, 496 SpecId = 1, 497 Block = 2, 498 BufferBlock = 3, 499 RowMajor = 4, 500 ColMajor = 5, 501 ArrayStride = 6, 502 MatrixStride = 7, 503 GLSLShared = 8, 504 GLSLPacked = 9, 505 CPacked = 10, 506 BuiltIn = 11, 507 NoPerspective = 13, 508 Flat = 14, 509 Patch = 15, 510 Centroid = 16, 511 Sample = 17, 512 Invariant = 18, 513 Restrict = 19, 514 Aliased = 20, 515 Volatile = 21, 516 Constant = 22, 517 Coherent = 23, 518 NonWritable = 24, 519 NonReadable = 25, 520 Uniform = 26, 521 UniformId = 27, 522 SaturatedConversion = 28, 523 Stream = 29, 524 Location = 30, 525 Component = 31, 526 Index = 32, 527 Binding = 33, 528 DescriptorSet = 34, 529 Offset = 35, 530 XfbBuffer = 36, 531 XfbStride = 37, 532 FuncParamAttr = 38, 533 FPRoundingMode = 39, 534 FPFastMathMode = 40, 535 LinkageAttributes = 41, 536 NoContraction = 42, 537 InputAttachmentIndex = 43, 538 Alignment = 44, 539 MaxByteOffset = 45, 540 AlignmentId = 46, 541 MaxByteOffsetId = 47, 542 NoSignedWrap = 4469, 543 NoUnsignedWrap = 4470, 544 WeightTextureQCOM = 4487, 545 BlockMatchTextureQCOM = 4488, 546 BlockMatchSamplerQCOM = 4499, 547 ExplicitInterpAMD = 4999, 548 NodeSharesPayloadLimitsWithAMDX = 5019, 549 NodeMaxPayloadsAMDX = 5020, 550 TrackFinishWritingAMDX = 5078, 551 PayloadNodeNameAMDX = 5091, 552 OverrideCoverageNV = 5248, 553 PassthroughNV = 5250, 554 ViewportRelativeNV = 5252, 555 SecondaryViewportRelativeNV = 5256, 556 PerPrimitiveEXT = 5271, 557 PerPrimitiveNV = 5271, 558 PerViewNV = 5272, 559 PerTaskNV = 5273, 560 PerVertexKHR = 5285, 561 PerVertexNV = 5285, 562 NonUniform = 5300, 563 NonUniformEXT = 5300, 564 RestrictPointer = 5355, 565 RestrictPointerEXT = 5355, 566 AliasedPointer = 5356, 567 AliasedPointerEXT = 5356, 568 HitObjectShaderRecordBufferNV = 5386, 569 BindlessSamplerNV = 5398, 570 BindlessImageNV = 5399, 571 BoundSamplerNV = 5400, 572 BoundImageNV = 5401, 573 SIMTCallINTEL = 5599, 574 ReferencedIndirectlyINTEL = 5602, 575 ClobberINTEL = 5607, 576 SideEffectsINTEL = 5608, 577 VectorComputeVariableINTEL = 5624, 578 FuncParamIOKindINTEL = 5625, 579 VectorComputeFunctionINTEL = 5626, 580 StackCallINTEL = 5627, 581 GlobalVariableOffsetINTEL = 5628, 582 CounterBuffer = 5634, 583 HlslCounterBufferGOOGLE = 5634, 584 HlslSemanticGOOGLE = 5635, 585 UserSemantic = 5635, 586 UserTypeGOOGLE = 5636, 587 FunctionRoundingModeINTEL = 5822, 588 FunctionDenormModeINTEL = 5823, 589 RegisterINTEL = 5825, 590 MemoryINTEL = 5826, 591 NumbanksINTEL = 5827, 592 BankwidthINTEL = 5828, 593 MaxPrivateCopiesINTEL = 5829, 594 SinglepumpINTEL = 5830, 595 DoublepumpINTEL = 5831, 596 MaxReplicatesINTEL = 5832, 597 SimpleDualPortINTEL = 5833, 598 MergeINTEL = 5834, 599 BankBitsINTEL = 5835, 600 ForcePow2DepthINTEL = 5836, 601 StridesizeINTEL = 5883, 602 WordsizeINTEL = 5884, 603 TrueDualPortINTEL = 5885, 604 BurstCoalesceINTEL = 5899, 605 CacheSizeINTEL = 5900, 606 DontStaticallyCoalesceINTEL = 5901, 607 PrefetchINTEL = 5902, 608 StallEnableINTEL = 5905, 609 FuseLoopsInFunctionINTEL = 5907, 610 MathOpDSPModeINTEL = 5909, 611 AliasScopeINTEL = 5914, 612 NoAliasINTEL = 5915, 613 InitiationIntervalINTEL = 5917, 614 MaxConcurrencyINTEL = 5918, 615 PipelineEnableINTEL = 5919, 616 BufferLocationINTEL = 5921, 617 IOPipeStorageINTEL = 5944, 618 FunctionFloatingPointModeINTEL = 6080, 619 SingleElementVectorINTEL = 6085, 620 VectorComputeCallableFunctionINTEL = 6087, 621 MediaBlockIOINTEL = 6140, 622 StallFreeINTEL = 6151, 623 FPMaxErrorDecorationINTEL = 6170, 624 LatencyControlLabelINTEL = 6172, 625 LatencyControlConstraintINTEL = 6173, 626 ConduitKernelArgumentINTEL = 6175, 627 RegisterMapKernelArgumentINTEL = 6176, 628 MMHostInterfaceAddressWidthINTEL = 6177, 629 MMHostInterfaceDataWidthINTEL = 6178, 630 MMHostInterfaceLatencyINTEL = 6179, 631 MMHostInterfaceReadWriteModeINTEL = 6180, 632 MMHostInterfaceMaxBurstINTEL = 6181, 633 MMHostInterfaceWaitRequestINTEL = 6182, 634 StableKernelArgumentINTEL = 6183, 635 HostAccessINTEL = 6188, 636 InitModeINTEL = 6190, 637 ImplementInRegisterMapINTEL = 6191, 638 CacheControlLoadINTEL = 6442, 639 CacheControlStoreINTEL = 6443, 640 Max = 0x7fffffff, 641}; 642 643enum class BuiltIn : unsigned { 644 Position = 0, 645 PointSize = 1, 646 ClipDistance = 3, 647 CullDistance = 4, 648 VertexId = 5, 649 InstanceId = 6, 650 PrimitiveId = 7, 651 InvocationId = 8, 652 Layer = 9, 653 ViewportIndex = 10, 654 TessLevelOuter = 11, 655 TessLevelInner = 12, 656 TessCoord = 13, 657 PatchVertices = 14, 658 FragCoord = 15, 659 PointCoord = 16, 660 FrontFacing = 17, 661 SampleId = 18, 662 SamplePosition = 19, 663 SampleMask = 20, 664 FragDepth = 22, 665 HelperInvocation = 23, 666 NumWorkgroups = 24, 667 WorkgroupSize = 25, 668 WorkgroupId = 26, 669 LocalInvocationId = 27, 670 GlobalInvocationId = 28, 671 LocalInvocationIndex = 29, 672 WorkDim = 30, 673 GlobalSize = 31, 674 EnqueuedWorkgroupSize = 32, 675 GlobalOffset = 33, 676 GlobalLinearId = 34, 677 SubgroupSize = 36, 678 SubgroupMaxSize = 37, 679 NumSubgroups = 38, 680 NumEnqueuedSubgroups = 39, 681 SubgroupId = 40, 682 SubgroupLocalInvocationId = 41, 683 VertexIndex = 42, 684 InstanceIndex = 43, 685 CoreIDARM = 4160, 686 CoreCountARM = 4161, 687 CoreMaxIDARM = 4162, 688 WarpIDARM = 4163, 689 WarpMaxIDARM = 4164, 690 SubgroupEqMask = 4416, 691 SubgroupEqMaskKHR = 4416, 692 SubgroupGeMask = 4417, 693 SubgroupGeMaskKHR = 4417, 694 SubgroupGtMask = 4418, 695 SubgroupGtMaskKHR = 4418, 696 SubgroupLeMask = 4419, 697 SubgroupLeMaskKHR = 4419, 698 SubgroupLtMask = 4420, 699 SubgroupLtMaskKHR = 4420, 700 BaseVertex = 4424, 701 BaseInstance = 4425, 702 DrawIndex = 4426, 703 PrimitiveShadingRateKHR = 4432, 704 DeviceIndex = 4438, 705 ViewIndex = 4440, 706 ShadingRateKHR = 4444, 707 BaryCoordNoPerspAMD = 4992, 708 BaryCoordNoPerspCentroidAMD = 4993, 709 BaryCoordNoPerspSampleAMD = 4994, 710 BaryCoordSmoothAMD = 4995, 711 BaryCoordSmoothCentroidAMD = 4996, 712 BaryCoordSmoothSampleAMD = 4997, 713 BaryCoordPullModelAMD = 4998, 714 FragStencilRefEXT = 5014, 715 CoalescedInputCountAMDX = 5021, 716 ShaderIndexAMDX = 5073, 717 ViewportMaskNV = 5253, 718 SecondaryPositionNV = 5257, 719 SecondaryViewportMaskNV = 5258, 720 PositionPerViewNV = 5261, 721 ViewportMaskPerViewNV = 5262, 722 FullyCoveredEXT = 5264, 723 TaskCountNV = 5274, 724 PrimitiveCountNV = 5275, 725 PrimitiveIndicesNV = 5276, 726 ClipDistancePerViewNV = 5277, 727 CullDistancePerViewNV = 5278, 728 LayerPerViewNV = 5279, 729 MeshViewCountNV = 5280, 730 MeshViewIndicesNV = 5281, 731 BaryCoordKHR = 5286, 732 BaryCoordNV = 5286, 733 BaryCoordNoPerspKHR = 5287, 734 BaryCoordNoPerspNV = 5287, 735 FragSizeEXT = 5292, 736 FragmentSizeNV = 5292, 737 FragInvocationCountEXT = 5293, 738 InvocationsPerPixelNV = 5293, 739 PrimitivePointIndicesEXT = 5294, 740 PrimitiveLineIndicesEXT = 5295, 741 PrimitiveTriangleIndicesEXT = 5296, 742 CullPrimitiveEXT = 5299, 743 LaunchIdKHR = 5319, 744 LaunchIdNV = 5319, 745 LaunchSizeKHR = 5320, 746 LaunchSizeNV = 5320, 747 WorldRayOriginKHR = 5321, 748 WorldRayOriginNV = 5321, 749 WorldRayDirectionKHR = 5322, 750 WorldRayDirectionNV = 5322, 751 ObjectRayOriginKHR = 5323, 752 ObjectRayOriginNV = 5323, 753 ObjectRayDirectionKHR = 5324, 754 ObjectRayDirectionNV = 5324, 755 RayTminKHR = 5325, 756 RayTminNV = 5325, 757 RayTmaxKHR = 5326, 758 RayTmaxNV = 5326, 759 InstanceCustomIndexKHR = 5327, 760 InstanceCustomIndexNV = 5327, 761 ObjectToWorldKHR = 5330, 762 ObjectToWorldNV = 5330, 763 WorldToObjectKHR = 5331, 764 WorldToObjectNV = 5331, 765 HitTNV = 5332, 766 HitKindKHR = 5333, 767 HitKindNV = 5333, 768 CurrentRayTimeNV = 5334, 769 HitTriangleVertexPositionsKHR = 5335, 770 HitMicroTriangleVertexPositionsNV = 5337, 771 HitMicroTriangleVertexBarycentricsNV = 5344, 772 IncomingRayFlagsKHR = 5351, 773 IncomingRayFlagsNV = 5351, 774 RayGeometryIndexKHR = 5352, 775 WarpsPerSMNV = 5374, 776 SMCountNV = 5375, 777 WarpIDNV = 5376, 778 SMIDNV = 5377, 779 HitKindFrontFacingMicroTriangleNV = 5405, 780 HitKindBackFacingMicroTriangleNV = 5406, 781 CullMaskKHR = 6021, 782 Max = 0x7fffffff, 783}; 784 785enum class SelectionControlShift : unsigned { 786 Flatten = 0, 787 DontFlatten = 1, 788 Max = 0x7fffffff, 789}; 790 791enum class SelectionControlMask : unsigned { 792 MaskNone = 0, 793 Flatten = 0x00000001, 794 DontFlatten = 0x00000002, 795}; 796 797enum class LoopControlShift : unsigned { 798 Unroll = 0, 799 DontUnroll = 1, 800 DependencyInfinite = 2, 801 DependencyLength = 3, 802 MinIterations = 4, 803 MaxIterations = 5, 804 IterationMultiple = 6, 805 PeelCount = 7, 806 PartialCount = 8, 807 InitiationIntervalINTEL = 16, 808 MaxConcurrencyINTEL = 17, 809 DependencyArrayINTEL = 18, 810 PipelineEnableINTEL = 19, 811 LoopCoalesceINTEL = 20, 812 MaxInterleavingINTEL = 21, 813 SpeculatedIterationsINTEL = 22, 814 NoFusionINTEL = 23, 815 LoopCountINTEL = 24, 816 MaxReinvocationDelayINTEL = 25, 817 Max = 0x7fffffff, 818}; 819 820enum class LoopControlMask : unsigned { 821 MaskNone = 0, 822 Unroll = 0x00000001, 823 DontUnroll = 0x00000002, 824 DependencyInfinite = 0x00000004, 825 DependencyLength = 0x00000008, 826 MinIterations = 0x00000010, 827 MaxIterations = 0x00000020, 828 IterationMultiple = 0x00000040, 829 PeelCount = 0x00000080, 830 PartialCount = 0x00000100, 831 InitiationIntervalINTEL = 0x00010000, 832 MaxConcurrencyINTEL = 0x00020000, 833 DependencyArrayINTEL = 0x00040000, 834 PipelineEnableINTEL = 0x00080000, 835 LoopCoalesceINTEL = 0x00100000, 836 MaxInterleavingINTEL = 0x00200000, 837 SpeculatedIterationsINTEL = 0x00400000, 838 NoFusionINTEL = 0x00800000, 839 LoopCountINTEL = 0x01000000, 840 MaxReinvocationDelayINTEL = 0x02000000, 841}; 842 843enum class FunctionControlShift : unsigned { 844 Inline = 0, 845 DontInline = 1, 846 Pure = 2, 847 Const = 3, 848 OptNoneINTEL = 16, 849 Max = 0x7fffffff, 850}; 851 852enum class FunctionControlMask : unsigned { 853 MaskNone = 0, 854 Inline = 0x00000001, 855 DontInline = 0x00000002, 856 Pure = 0x00000004, 857 Const = 0x00000008, 858 OptNoneINTEL = 0x00010000, 859}; 860 861enum class MemorySemanticsShift : unsigned { 862 Acquire = 1, 863 Release = 2, 864 AcquireRelease = 3, 865 SequentiallyConsistent = 4, 866 UniformMemory = 6, 867 SubgroupMemory = 7, 868 WorkgroupMemory = 8, 869 CrossWorkgroupMemory = 9, 870 AtomicCounterMemory = 10, 871 ImageMemory = 11, 872 OutputMemory = 12, 873 OutputMemoryKHR = 12, 874 MakeAvailable = 13, 875 MakeAvailableKHR = 13, 876 MakeVisible = 14, 877 MakeVisibleKHR = 14, 878 Volatile = 15, 879 Max = 0x7fffffff, 880}; 881 882enum class MemorySemanticsMask : unsigned { 883 MaskNone = 0, 884 Acquire = 0x00000002, 885 Release = 0x00000004, 886 AcquireRelease = 0x00000008, 887 SequentiallyConsistent = 0x00000010, 888 UniformMemory = 0x00000040, 889 SubgroupMemory = 0x00000080, 890 WorkgroupMemory = 0x00000100, 891 CrossWorkgroupMemory = 0x00000200, 892 AtomicCounterMemory = 0x00000400, 893 ImageMemory = 0x00000800, 894 OutputMemory = 0x00001000, 895 OutputMemoryKHR = 0x00001000, 896 MakeAvailable = 0x00002000, 897 MakeAvailableKHR = 0x00002000, 898 MakeVisible = 0x00004000, 899 MakeVisibleKHR = 0x00004000, 900 Volatile = 0x00008000, 901}; 902 903enum class MemoryAccessShift : unsigned { 904 Volatile = 0, 905 Aligned = 1, 906 Nontemporal = 2, 907 MakePointerAvailable = 3, 908 MakePointerAvailableKHR = 3, 909 MakePointerVisible = 4, 910 MakePointerVisibleKHR = 4, 911 NonPrivatePointer = 5, 912 NonPrivatePointerKHR = 5, 913 AliasScopeINTELMask = 16, 914 NoAliasINTELMask = 17, 915 Max = 0x7fffffff, 916}; 917 918enum class MemoryAccessMask : unsigned { 919 MaskNone = 0, 920 Volatile = 0x00000001, 921 Aligned = 0x00000002, 922 Nontemporal = 0x00000004, 923 MakePointerAvailable = 0x00000008, 924 MakePointerAvailableKHR = 0x00000008, 925 MakePointerVisible = 0x00000010, 926 MakePointerVisibleKHR = 0x00000010, 927 NonPrivatePointer = 0x00000020, 928 NonPrivatePointerKHR = 0x00000020, 929 AliasScopeINTELMask = 0x00010000, 930 NoAliasINTELMask = 0x00020000, 931}; 932 933enum class Scope : unsigned { 934 CrossDevice = 0, 935 Device = 1, 936 Workgroup = 2, 937 Subgroup = 3, 938 Invocation = 4, 939 QueueFamily = 5, 940 QueueFamilyKHR = 5, 941 ShaderCallKHR = 6, 942 Max = 0x7fffffff, 943}; 944 945enum class GroupOperation : unsigned { 946 Reduce = 0, 947 InclusiveScan = 1, 948 ExclusiveScan = 2, 949 ClusteredReduce = 3, 950 PartitionedReduceNV = 6, 951 PartitionedInclusiveScanNV = 7, 952 PartitionedExclusiveScanNV = 8, 953 Max = 0x7fffffff, 954}; 955 956enum class KernelEnqueueFlags : unsigned { 957 NoWait = 0, 958 WaitKernel = 1, 959 WaitWorkGroup = 2, 960 Max = 0x7fffffff, 961}; 962 963enum class KernelProfilingInfoShift : unsigned { 964 CmdExecTime = 0, 965 Max = 0x7fffffff, 966}; 967 968enum class KernelProfilingInfoMask : unsigned { 969 MaskNone = 0, 970 CmdExecTime = 0x00000001, 971}; 972 973enum class Capability : unsigned { 974 Matrix = 0, 975 Shader = 1, 976 Geometry = 2, 977 Tessellation = 3, 978 Addresses = 4, 979 Linkage = 5, 980 Kernel = 6, 981 Vector16 = 7, 982 Float16Buffer = 8, 983 Float16 = 9, 984 Float64 = 10, 985 Int64 = 11, 986 Int64Atomics = 12, 987 ImageBasic = 13, 988 ImageReadWrite = 14, 989 ImageMipmap = 15, 990 Pipes = 17, 991 Groups = 18, 992 DeviceEnqueue = 19, 993 LiteralSampler = 20, 994 AtomicStorage = 21, 995 Int16 = 22, 996 TessellationPointSize = 23, 997 GeometryPointSize = 24, 998 ImageGatherExtended = 25, 999 StorageImageMultisample = 27, 1000 UniformBufferArrayDynamicIndexing = 28, 1001 SampledImageArrayDynamicIndexing = 29, 1002 StorageBufferArrayDynamicIndexing = 30, 1003 StorageImageArrayDynamicIndexing = 31, 1004 ClipDistance = 32, 1005 CullDistance = 33, 1006 ImageCubeArray = 34, 1007 SampleRateShading = 35, 1008 ImageRect = 36, 1009 SampledRect = 37, 1010 GenericPointer = 38, 1011 Int8 = 39, 1012 InputAttachment = 40, 1013 SparseResidency = 41, 1014 MinLod = 42, 1015 Sampled1D = 43, 1016 Image1D = 44, 1017 SampledCubeArray = 45, 1018 SampledBuffer = 46, 1019 ImageBuffer = 47, 1020 ImageMSArray = 48, 1021 StorageImageExtendedFormats = 49, 1022 ImageQuery = 50, 1023 DerivativeControl = 51, 1024 InterpolationFunction = 52, 1025 TransformFeedback = 53, 1026 GeometryStreams = 54, 1027 StorageImageReadWithoutFormat = 55, 1028 StorageImageWriteWithoutFormat = 56, 1029 MultiViewport = 57, 1030 SubgroupDispatch = 58, 1031 NamedBarrier = 59, 1032 PipeStorage = 60, 1033 GroupNonUniform = 61, 1034 GroupNonUniformVote = 62, 1035 GroupNonUniformArithmetic = 63, 1036 GroupNonUniformBallot = 64, 1037 GroupNonUniformShuffle = 65, 1038 GroupNonUniformShuffleRelative = 66, 1039 GroupNonUniformClustered = 67, 1040 GroupNonUniformQuad = 68, 1041 ShaderLayer = 69, 1042 ShaderViewportIndex = 70, 1043 UniformDecoration = 71, 1044 CoreBuiltinsARM = 4165, 1045 TileImageColorReadAccessEXT = 4166, 1046 TileImageDepthReadAccessEXT = 4167, 1047 TileImageStencilReadAccessEXT = 4168, 1048 CooperativeMatrixLayoutsARM = 4201, 1049 FragmentShadingRateKHR = 4422, 1050 SubgroupBallotKHR = 4423, 1051 DrawParameters = 4427, 1052 WorkgroupMemoryExplicitLayoutKHR = 4428, 1053 WorkgroupMemoryExplicitLayout8BitAccessKHR = 4429, 1054 WorkgroupMemoryExplicitLayout16BitAccessKHR = 4430, 1055 SubgroupVoteKHR = 4431, 1056 StorageBuffer16BitAccess = 4433, 1057 StorageUniformBufferBlock16 = 4433, 1058 StorageUniform16 = 4434, 1059 UniformAndStorageBuffer16BitAccess = 4434, 1060 StoragePushConstant16 = 4435, 1061 StorageInputOutput16 = 4436, 1062 DeviceGroup = 4437, 1063 MultiView = 4439, 1064 VariablePointersStorageBuffer = 4441, 1065 VariablePointers = 4442, 1066 AtomicStorageOps = 4445, 1067 SampleMaskPostDepthCoverage = 4447, 1068 StorageBuffer8BitAccess = 4448, 1069 UniformAndStorageBuffer8BitAccess = 4449, 1070 StoragePushConstant8 = 4450, 1071 DenormPreserve = 4464, 1072 DenormFlushToZero = 4465, 1073 SignedZeroInfNanPreserve = 4466, 1074 RoundingModeRTE = 4467, 1075 RoundingModeRTZ = 4468, 1076 RayQueryProvisionalKHR = 4471, 1077 RayQueryKHR = 4472, 1078 RayTraversalPrimitiveCullingKHR = 4478, 1079 RayTracingKHR = 4479, 1080 TextureSampleWeightedQCOM = 4484, 1081 TextureBoxFilterQCOM = 4485, 1082 TextureBlockMatchQCOM = 4486, 1083 TextureBlockMatch2QCOM = 4498, 1084 Float16ImageAMD = 5008, 1085 ImageGatherBiasLodAMD = 5009, 1086 FragmentMaskAMD = 5010, 1087 StencilExportEXT = 5013, 1088 ImageReadWriteLodAMD = 5015, 1089 Int64ImageEXT = 5016, 1090 ShaderClockKHR = 5055, 1091 ShaderEnqueueAMDX = 5067, 1092 QuadControlKHR = 5087, 1093 SampleMaskOverrideCoverageNV = 5249, 1094 GeometryShaderPassthroughNV = 5251, 1095 ShaderViewportIndexLayerEXT = 5254, 1096 ShaderViewportIndexLayerNV = 5254, 1097 ShaderViewportMaskNV = 5255, 1098 ShaderStereoViewNV = 5259, 1099 PerViewAttributesNV = 5260, 1100 FragmentFullyCoveredEXT = 5265, 1101 MeshShadingNV = 5266, 1102 ImageFootprintNV = 5282, 1103 MeshShadingEXT = 5283, 1104 FragmentBarycentricKHR = 5284, 1105 FragmentBarycentricNV = 5284, 1106 ComputeDerivativeGroupQuadsNV = 5288, 1107 FragmentDensityEXT = 5291, 1108 ShadingRateNV = 5291, 1109 GroupNonUniformPartitionedNV = 5297, 1110 ShaderNonUniform = 5301, 1111 ShaderNonUniformEXT = 5301, 1112 RuntimeDescriptorArray = 5302, 1113 RuntimeDescriptorArrayEXT = 5302, 1114 InputAttachmentArrayDynamicIndexing = 5303, 1115 InputAttachmentArrayDynamicIndexingEXT = 5303, 1116 UniformTexelBufferArrayDynamicIndexing = 5304, 1117 UniformTexelBufferArrayDynamicIndexingEXT = 5304, 1118 StorageTexelBufferArrayDynamicIndexing = 5305, 1119 StorageTexelBufferArrayDynamicIndexingEXT = 5305, 1120 UniformBufferArrayNonUniformIndexing = 5306, 1121 UniformBufferArrayNonUniformIndexingEXT = 5306, 1122 SampledImageArrayNonUniformIndexing = 5307, 1123 SampledImageArrayNonUniformIndexingEXT = 5307, 1124 StorageBufferArrayNonUniformIndexing = 5308, 1125 StorageBufferArrayNonUniformIndexingEXT = 5308, 1126 StorageImageArrayNonUniformIndexing = 5309, 1127 StorageImageArrayNonUniformIndexingEXT = 5309, 1128 InputAttachmentArrayNonUniformIndexing = 5310, 1129 InputAttachmentArrayNonUniformIndexingEXT = 5310, 1130 UniformTexelBufferArrayNonUniformIndexing = 5311, 1131 UniformTexelBufferArrayNonUniformIndexingEXT = 5311, 1132 StorageTexelBufferArrayNonUniformIndexing = 5312, 1133 StorageTexelBufferArrayNonUniformIndexingEXT = 5312, 1134 RayTracingPositionFetchKHR = 5336, 1135 RayTracingNV = 5340, 1136 RayTracingMotionBlurNV = 5341, 1137 VulkanMemoryModel = 5345, 1138 VulkanMemoryModelKHR = 5345, 1139 VulkanMemoryModelDeviceScope = 5346, 1140 VulkanMemoryModelDeviceScopeKHR = 5346, 1141 PhysicalStorageBufferAddresses = 5347, 1142 PhysicalStorageBufferAddressesEXT = 5347, 1143 ComputeDerivativeGroupLinearNV = 5350, 1144 RayTracingProvisionalKHR = 5353, 1145 CooperativeMatrixNV = 5357, 1146 FragmentShaderSampleInterlockEXT = 5363, 1147 FragmentShaderShadingRateInterlockEXT = 5372, 1148 ShaderSMBuiltinsNV = 5373, 1149 FragmentShaderPixelInterlockEXT = 5378, 1150 DemoteToHelperInvocation = 5379, 1151 DemoteToHelperInvocationEXT = 5379, 1152 DisplacementMicromapNV = 5380, 1153 RayTracingOpacityMicromapEXT = 5381, 1154 ShaderInvocationReorderNV = 5383, 1155 BindlessTextureNV = 5390, 1156 RayQueryPositionFetchKHR = 5391, 1157 AtomicFloat16VectorNV = 5404, 1158 RayTracingDisplacementMicromapNV = 5409, 1159 RawAccessChainsNV = 5414, 1160 SubgroupShuffleINTEL = 5568, 1161 SubgroupBufferBlockIOINTEL = 5569, 1162 SubgroupImageBlockIOINTEL = 5570, 1163 SubgroupImageMediaBlockIOINTEL = 5579, 1164 RoundToInfinityINTEL = 5582, 1165 FloatingPointModeINTEL = 5583, 1166 IntegerFunctions2INTEL = 5584, 1167 FunctionPointersINTEL = 5603, 1168 IndirectReferencesINTEL = 5604, 1169 AsmINTEL = 5606, 1170 AtomicFloat32MinMaxEXT = 5612, 1171 AtomicFloat64MinMaxEXT = 5613, 1172 AtomicFloat16MinMaxEXT = 5616, 1173 VectorComputeINTEL = 5617, 1174 VectorAnyINTEL = 5619, 1175 ExpectAssumeKHR = 5629, 1176 SubgroupAvcMotionEstimationINTEL = 5696, 1177 SubgroupAvcMotionEstimationIntraINTEL = 5697, 1178 SubgroupAvcMotionEstimationChromaINTEL = 5698, 1179 VariableLengthArrayINTEL = 5817, 1180 FunctionFloatControlINTEL = 5821, 1181 FPGAMemoryAttributesINTEL = 5824, 1182 FPFastMathModeINTEL = 5837, 1183 ArbitraryPrecisionIntegersINTEL = 5844, 1184 ArbitraryPrecisionFloatingPointINTEL = 5845, 1185 UnstructuredLoopControlsINTEL = 5886, 1186 FPGALoopControlsINTEL = 5888, 1187 KernelAttributesINTEL = 5892, 1188 FPGAKernelAttributesINTEL = 5897, 1189 FPGAMemoryAccessesINTEL = 5898, 1190 FPGAClusterAttributesINTEL = 5904, 1191 LoopFuseINTEL = 5906, 1192 FPGADSPControlINTEL = 5908, 1193 MemoryAccessAliasingINTEL = 5910, 1194 FPGAInvocationPipeliningAttributesINTEL = 5916, 1195 FPGABufferLocationINTEL = 5920, 1196 ArbitraryPrecisionFixedPointINTEL = 5922, 1197 USMStorageClassesINTEL = 5935, 1198 RuntimeAlignedAttributeINTEL = 5939, 1199 IOPipesINTEL = 5943, 1200 BlockingPipesINTEL = 5945, 1201 FPGARegINTEL = 5948, 1202 DotProductInputAll = 6016, 1203 DotProductInputAllKHR = 6016, 1204 DotProductInput4x8Bit = 6017, 1205 DotProductInput4x8BitKHR = 6017, 1206 DotProductInput4x8BitPacked = 6018, 1207 DotProductInput4x8BitPackedKHR = 6018, 1208 DotProduct = 6019, 1209 DotProductKHR = 6019, 1210 RayCullMaskKHR = 6020, 1211 CooperativeMatrixKHR = 6022, 1212 ReplicatedCompositesEXT = 6024, 1213 BitInstructions = 6025, 1214 GroupNonUniformRotateKHR = 6026, 1215 FloatControls2 = 6029, 1216 AtomicFloat32AddEXT = 6033, 1217 AtomicFloat64AddEXT = 6034, 1218 LongCompositesINTEL = 6089, 1219 OptNoneINTEL = 6094, 1220 AtomicFloat16AddEXT = 6095, 1221 DebugInfoModuleINTEL = 6114, 1222 BFloat16ConversionINTEL = 6115, 1223 SplitBarrierINTEL = 6141, 1224 FPGAClusterAttributesV2INTEL = 6150, 1225 FPGAKernelAttributesv2INTEL = 6161, 1226 FPMaxErrorINTEL = 6169, 1227 FPGALatencyControlINTEL = 6171, 1228 FPGAArgumentInterfacesINTEL = 6174, 1229 GlobalVariableHostAccessINTEL = 6187, 1230 GlobalVariableFPGADecorationsINTEL = 6189, 1231 GroupUniformArithmeticKHR = 6400, 1232 MaskedGatherScatterINTEL = 6427, 1233 CacheControlsINTEL = 6441, 1234 RegisterLimitsINTEL = 6460, 1235 Max = 0x7fffffff, 1236}; 1237 1238enum class RayFlagsShift : unsigned { 1239 OpaqueKHR = 0, 1240 NoOpaqueKHR = 1, 1241 TerminateOnFirstHitKHR = 2, 1242 SkipClosestHitShaderKHR = 3, 1243 CullBackFacingTrianglesKHR = 4, 1244 CullFrontFacingTrianglesKHR = 5, 1245 CullOpaqueKHR = 6, 1246 CullNoOpaqueKHR = 7, 1247 SkipTrianglesKHR = 8, 1248 SkipAABBsKHR = 9, 1249 ForceOpacityMicromap2StateEXT = 10, 1250 Max = 0x7fffffff, 1251}; 1252 1253enum class RayFlagsMask : unsigned { 1254 MaskNone = 0, 1255 OpaqueKHR = 0x00000001, 1256 NoOpaqueKHR = 0x00000002, 1257 TerminateOnFirstHitKHR = 0x00000004, 1258 SkipClosestHitShaderKHR = 0x00000008, 1259 CullBackFacingTrianglesKHR = 0x00000010, 1260 CullFrontFacingTrianglesKHR = 0x00000020, 1261 CullOpaqueKHR = 0x00000040, 1262 CullNoOpaqueKHR = 0x00000080, 1263 SkipTrianglesKHR = 0x00000100, 1264 SkipAABBsKHR = 0x00000200, 1265 ForceOpacityMicromap2StateEXT = 0x00000400, 1266}; 1267 1268enum class RayQueryIntersection : unsigned { 1269 RayQueryCandidateIntersectionKHR = 0, 1270 RayQueryCommittedIntersectionKHR = 1, 1271 Max = 0x7fffffff, 1272}; 1273 1274enum class RayQueryCommittedIntersectionType : unsigned { 1275 RayQueryCommittedIntersectionNoneKHR = 0, 1276 RayQueryCommittedIntersectionTriangleKHR = 1, 1277 RayQueryCommittedIntersectionGeneratedKHR = 2, 1278 Max = 0x7fffffff, 1279}; 1280 1281enum class RayQueryCandidateIntersectionType : unsigned { 1282 RayQueryCandidateIntersectionTriangleKHR = 0, 1283 RayQueryCandidateIntersectionAABBKHR = 1, 1284 Max = 0x7fffffff, 1285}; 1286 1287enum class FragmentShadingRateShift : unsigned { 1288 Vertical2Pixels = 0, 1289 Vertical4Pixels = 1, 1290 Horizontal2Pixels = 2, 1291 Horizontal4Pixels = 3, 1292 Max = 0x7fffffff, 1293}; 1294 1295enum class FragmentShadingRateMask : unsigned { 1296 MaskNone = 0, 1297 Vertical2Pixels = 0x00000001, 1298 Vertical4Pixels = 0x00000002, 1299 Horizontal2Pixels = 0x00000004, 1300 Horizontal4Pixels = 0x00000008, 1301}; 1302 1303enum class FPDenormMode : unsigned { 1304 Preserve = 0, 1305 FlushToZero = 1, 1306 Max = 0x7fffffff, 1307}; 1308 1309enum class FPOperationMode : unsigned { 1310 IEEE = 0, 1311 ALT = 1, 1312 Max = 0x7fffffff, 1313}; 1314 1315enum class QuantizationModes : unsigned { 1316 TRN = 0, 1317 TRN_ZERO = 1, 1318 RND = 2, 1319 RND_ZERO = 3, 1320 RND_INF = 4, 1321 RND_MIN_INF = 5, 1322 RND_CONV = 6, 1323 RND_CONV_ODD = 7, 1324 Max = 0x7fffffff, 1325}; 1326 1327enum class OverflowModes : unsigned { 1328 WRAP = 0, 1329 SAT = 1, 1330 SAT_ZERO = 2, 1331 SAT_SYM = 3, 1332 Max = 0x7fffffff, 1333}; 1334 1335enum class PackedVectorFormat : unsigned { 1336 PackedVectorFormat4x8Bit = 0, 1337 PackedVectorFormat4x8BitKHR = 0, 1338 Max = 0x7fffffff, 1339}; 1340 1341enum class CooperativeMatrixOperandsShift : unsigned { 1342 MatrixASignedComponentsKHR = 0, 1343 MatrixBSignedComponentsKHR = 1, 1344 MatrixCSignedComponentsKHR = 2, 1345 MatrixResultSignedComponentsKHR = 3, 1346 SaturatingAccumulationKHR = 4, 1347 Max = 0x7fffffff, 1348}; 1349 1350enum class CooperativeMatrixOperandsMask : unsigned { 1351 MaskNone = 0, 1352 MatrixASignedComponentsKHR = 0x00000001, 1353 MatrixBSignedComponentsKHR = 0x00000002, 1354 MatrixCSignedComponentsKHR = 0x00000004, 1355 MatrixResultSignedComponentsKHR = 0x00000008, 1356 SaturatingAccumulationKHR = 0x00000010, 1357}; 1358 1359enum class CooperativeMatrixLayout : unsigned { 1360 RowMajorKHR = 0, 1361 ColumnMajorKHR = 1, 1362 RowBlockedInterleavedARM = 4202, 1363 ColumnBlockedInterleavedARM = 4203, 1364 Max = 0x7fffffff, 1365}; 1366 1367enum class CooperativeMatrixUse : unsigned { 1368 MatrixAKHR = 0, 1369 MatrixBKHR = 1, 1370 MatrixAccumulatorKHR = 2, 1371 Max = 0x7fffffff, 1372}; 1373 1374enum class InitializationModeQualifier : unsigned { 1375 InitOnDeviceReprogramINTEL = 0, 1376 InitOnDeviceResetINTEL = 1, 1377 Max = 0x7fffffff, 1378}; 1379 1380enum class HostAccessQualifier : unsigned { 1381 NoneINTEL = 0, 1382 ReadINTEL = 1, 1383 WriteINTEL = 2, 1384 ReadWriteINTEL = 3, 1385 Max = 0x7fffffff, 1386}; 1387 1388enum class LoadCacheControl : unsigned { 1389 UncachedINTEL = 0, 1390 CachedINTEL = 1, 1391 StreamingINTEL = 2, 1392 InvalidateAfterReadINTEL = 3, 1393 ConstCachedINTEL = 4, 1394 Max = 0x7fffffff, 1395}; 1396 1397enum class StoreCacheControl : unsigned { 1398 UncachedINTEL = 0, 1399 WriteThroughINTEL = 1, 1400 WriteBackINTEL = 2, 1401 StreamingINTEL = 3, 1402 Max = 0x7fffffff, 1403}; 1404 1405enum class NamedMaximumNumberOfRegisters : unsigned { 1406 AutoINTEL = 0, 1407 Max = 0x7fffffff, 1408}; 1409 1410enum class RawAccessChainOperandsShift : unsigned { 1411 RobustnessPerComponentNV = 0, 1412 RobustnessPerElementNV = 1, 1413 Max = 0x7fffffff, 1414}; 1415 1416enum class RawAccessChainOperandsMask : unsigned { 1417 MaskNone = 0, 1418 RobustnessPerComponentNV = 0x00000001, 1419 RobustnessPerElementNV = 0x00000002, 1420}; 1421 1422enum class Op : unsigned { 1423 OpNop = 0, 1424 OpUndef = 1, 1425 OpSourceContinued = 2, 1426 OpSource = 3, 1427 OpSourceExtension = 4, 1428 OpName = 5, 1429 OpMemberName = 6, 1430 OpString = 7, 1431 OpLine = 8, 1432 OpExtension = 10, 1433 OpExtInstImport = 11, 1434 OpExtInst = 12, 1435 OpMemoryModel = 14, 1436 OpEntryPoint = 15, 1437 OpExecutionMode = 16, 1438 OpCapability = 17, 1439 OpTypeVoid = 19, 1440 OpTypeBool = 20, 1441 OpTypeInt = 21, 1442 OpTypeFloat = 22, 1443 OpTypeVector = 23, 1444 OpTypeMatrix = 24, 1445 OpTypeImage = 25, 1446 OpTypeSampler = 26, 1447 OpTypeSampledImage = 27, 1448 OpTypeArray = 28, 1449 OpTypeRuntimeArray = 29, 1450 OpTypeStruct = 30, 1451 OpTypeOpaque = 31, 1452 OpTypePointer = 32, 1453 OpTypeFunction = 33, 1454 OpTypeEvent = 34, 1455 OpTypeDeviceEvent = 35, 1456 OpTypeReserveId = 36, 1457 OpTypeQueue = 37, 1458 OpTypePipe = 38, 1459 OpTypeForwardPointer = 39, 1460 OpConstantTrue = 41, 1461 OpConstantFalse = 42, 1462 OpConstant = 43, 1463 OpConstantComposite = 44, 1464 OpConstantSampler = 45, 1465 OpConstantNull = 46, 1466 OpSpecConstantTrue = 48, 1467 OpSpecConstantFalse = 49, 1468 OpSpecConstant = 50, 1469 OpSpecConstantComposite = 51, 1470 OpSpecConstantOp = 52, 1471 OpFunction = 54, 1472 OpFunctionParameter = 55, 1473 OpFunctionEnd = 56, 1474 OpFunctionCall = 57, 1475 OpVariable = 59, 1476 OpImageTexelPointer = 60, 1477 OpLoad = 61, 1478 OpStore = 62, 1479 OpCopyMemory = 63, 1480 OpCopyMemorySized = 64, 1481 OpAccessChain = 65, 1482 OpInBoundsAccessChain = 66, 1483 OpPtrAccessChain = 67, 1484 OpArrayLength = 68, 1485 OpGenericPtrMemSemantics = 69, 1486 OpInBoundsPtrAccessChain = 70, 1487 OpDecorate = 71, 1488 OpMemberDecorate = 72, 1489 OpDecorationGroup = 73, 1490 OpGroupDecorate = 74, 1491 OpGroupMemberDecorate = 75, 1492 OpVectorExtractDynamic = 77, 1493 OpVectorInsertDynamic = 78, 1494 OpVectorShuffle = 79, 1495 OpCompositeConstruct = 80, 1496 OpCompositeExtract = 81, 1497 OpCompositeInsert = 82, 1498 OpCopyObject = 83, 1499 OpTranspose = 84, 1500 OpSampledImage = 86, 1501 OpImageSampleImplicitLod = 87, 1502 OpImageSampleExplicitLod = 88, 1503 OpImageSampleDrefImplicitLod = 89, 1504 OpImageSampleDrefExplicitLod = 90, 1505 OpImageSampleProjImplicitLod = 91, 1506 OpImageSampleProjExplicitLod = 92, 1507 OpImageSampleProjDrefImplicitLod = 93, 1508 OpImageSampleProjDrefExplicitLod = 94, 1509 OpImageFetch = 95, 1510 OpImageGather = 96, 1511 OpImageDrefGather = 97, 1512 OpImageRead = 98, 1513 OpImageWrite = 99, 1514 OpImage = 100, 1515 OpImageQueryFormat = 101, 1516 OpImageQueryOrder = 102, 1517 OpImageQuerySizeLod = 103, 1518 OpImageQuerySize = 104, 1519 OpImageQueryLod = 105, 1520 OpImageQueryLevels = 106, 1521 OpImageQuerySamples = 107, 1522 OpConvertFToU = 109, 1523 OpConvertFToS = 110, 1524 OpConvertSToF = 111, 1525 OpConvertUToF = 112, 1526 OpUConvert = 113, 1527 OpSConvert = 114, 1528 OpFConvert = 115, 1529 OpQuantizeToF16 = 116, 1530 OpConvertPtrToU = 117, 1531 OpSatConvertSToU = 118, 1532 OpSatConvertUToS = 119, 1533 OpConvertUToPtr = 120, 1534 OpPtrCastToGeneric = 121, 1535 OpGenericCastToPtr = 122, 1536 OpGenericCastToPtrExplicit = 123, 1537 OpBitcast = 124, 1538 OpSNegate = 126, 1539 OpFNegate = 127, 1540 OpIAdd = 128, 1541 OpFAdd = 129, 1542 OpISub = 130, 1543 OpFSub = 131, 1544 OpIMul = 132, 1545 OpFMul = 133, 1546 OpUDiv = 134, 1547 OpSDiv = 135, 1548 OpFDiv = 136, 1549 OpUMod = 137, 1550 OpSRem = 138, 1551 OpSMod = 139, 1552 OpFRem = 140, 1553 OpFMod = 141, 1554 OpVectorTimesScalar = 142, 1555 OpMatrixTimesScalar = 143, 1556 OpVectorTimesMatrix = 144, 1557 OpMatrixTimesVector = 145, 1558 OpMatrixTimesMatrix = 146, 1559 OpOuterProduct = 147, 1560 OpDot = 148, 1561 OpIAddCarry = 149, 1562 OpISubBorrow = 150, 1563 OpUMulExtended = 151, 1564 OpSMulExtended = 152, 1565 OpAny = 154, 1566 OpAll = 155, 1567 OpIsNan = 156, 1568 OpIsInf = 157, 1569 OpIsFinite = 158, 1570 OpIsNormal = 159, 1571 OpSignBitSet = 160, 1572 OpLessOrGreater = 161, 1573 OpOrdered = 162, 1574 OpUnordered = 163, 1575 OpLogicalEqual = 164, 1576 OpLogicalNotEqual = 165, 1577 OpLogicalOr = 166, 1578 OpLogicalAnd = 167, 1579 OpLogicalNot = 168, 1580 OpSelect = 169, 1581 OpIEqual = 170, 1582 OpINotEqual = 171, 1583 OpUGreaterThan = 172, 1584 OpSGreaterThan = 173, 1585 OpUGreaterThanEqual = 174, 1586 OpSGreaterThanEqual = 175, 1587 OpULessThan = 176, 1588 OpSLessThan = 177, 1589 OpULessThanEqual = 178, 1590 OpSLessThanEqual = 179, 1591 OpFOrdEqual = 180, 1592 OpFUnordEqual = 181, 1593 OpFOrdNotEqual = 182, 1594 OpFUnordNotEqual = 183, 1595 OpFOrdLessThan = 184, 1596 OpFUnordLessThan = 185, 1597 OpFOrdGreaterThan = 186, 1598 OpFUnordGreaterThan = 187, 1599 OpFOrdLessThanEqual = 188, 1600 OpFUnordLessThanEqual = 189, 1601 OpFOrdGreaterThanEqual = 190, 1602 OpFUnordGreaterThanEqual = 191, 1603 OpShiftRightLogical = 194, 1604 OpShiftRightArithmetic = 195, 1605 OpShiftLeftLogical = 196, 1606 OpBitwiseOr = 197, 1607 OpBitwiseXor = 198, 1608 OpBitwiseAnd = 199, 1609 OpNot = 200, 1610 OpBitFieldInsert = 201, 1611 OpBitFieldSExtract = 202, 1612 OpBitFieldUExtract = 203, 1613 OpBitReverse = 204, 1614 OpBitCount = 205, 1615 OpDPdx = 207, 1616 OpDPdy = 208, 1617 OpFwidth = 209, 1618 OpDPdxFine = 210, 1619 OpDPdyFine = 211, 1620 OpFwidthFine = 212, 1621 OpDPdxCoarse = 213, 1622 OpDPdyCoarse = 214, 1623 OpFwidthCoarse = 215, 1624 OpEmitVertex = 218, 1625 OpEndPrimitive = 219, 1626 OpEmitStreamVertex = 220, 1627 OpEndStreamPrimitive = 221, 1628 OpControlBarrier = 224, 1629 OpMemoryBarrier = 225, 1630 OpAtomicLoad = 227, 1631 OpAtomicStore = 228, 1632 OpAtomicExchange = 229, 1633 OpAtomicCompareExchange = 230, 1634 OpAtomicCompareExchangeWeak = 231, 1635 OpAtomicIIncrement = 232, 1636 OpAtomicIDecrement = 233, 1637 OpAtomicIAdd = 234, 1638 OpAtomicISub = 235, 1639 OpAtomicSMin = 236, 1640 OpAtomicUMin = 237, 1641 OpAtomicSMax = 238, 1642 OpAtomicUMax = 239, 1643 OpAtomicAnd = 240, 1644 OpAtomicOr = 241, 1645 OpAtomicXor = 242, 1646 OpPhi = 245, 1647 OpLoopMerge = 246, 1648 OpSelectionMerge = 247, 1649 OpLabel = 248, 1650 OpBranch = 249, 1651 OpBranchConditional = 250, 1652 OpSwitch = 251, 1653 OpKill = 252, 1654 OpReturn = 253, 1655 OpReturnValue = 254, 1656 OpUnreachable = 255, 1657 OpLifetimeStart = 256, 1658 OpLifetimeStop = 257, 1659 OpGroupAsyncCopy = 259, 1660 OpGroupWaitEvents = 260, 1661 OpGroupAll = 261, 1662 OpGroupAny = 262, 1663 OpGroupBroadcast = 263, 1664 OpGroupIAdd = 264, 1665 OpGroupFAdd = 265, 1666 OpGroupFMin = 266, 1667 OpGroupUMin = 267, 1668 OpGroupSMin = 268, 1669 OpGroupFMax = 269, 1670 OpGroupUMax = 270, 1671 OpGroupSMax = 271, 1672 OpReadPipe = 274, 1673 OpWritePipe = 275, 1674 OpReservedReadPipe = 276, 1675 OpReservedWritePipe = 277, 1676 OpReserveReadPipePackets = 278, 1677 OpReserveWritePipePackets = 279, 1678 OpCommitReadPipe = 280, 1679 OpCommitWritePipe = 281, 1680 OpIsValidReserveId = 282, 1681 OpGetNumPipePackets = 283, 1682 OpGetMaxPipePackets = 284, 1683 OpGroupReserveReadPipePackets = 285, 1684 OpGroupReserveWritePipePackets = 286, 1685 OpGroupCommitReadPipe = 287, 1686 OpGroupCommitWritePipe = 288, 1687 OpEnqueueMarker = 291, 1688 OpEnqueueKernel = 292, 1689 OpGetKernelNDrangeSubGroupCount = 293, 1690 OpGetKernelNDrangeMaxSubGroupSize = 294, 1691 OpGetKernelWorkGroupSize = 295, 1692 OpGetKernelPreferredWorkGroupSizeMultiple = 296, 1693 OpRetainEvent = 297, 1694 OpReleaseEvent = 298, 1695 OpCreateUserEvent = 299, 1696 OpIsValidEvent = 300, 1697 OpSetUserEventStatus = 301, 1698 OpCaptureEventProfilingInfo = 302, 1699 OpGetDefaultQueue = 303, 1700 OpBuildNDRange = 304, 1701 OpImageSparseSampleImplicitLod = 305, 1702 OpImageSparseSampleExplicitLod = 306, 1703 OpImageSparseSampleDrefImplicitLod = 307, 1704 OpImageSparseSampleDrefExplicitLod = 308, 1705 OpImageSparseSampleProjImplicitLod = 309, 1706 OpImageSparseSampleProjExplicitLod = 310, 1707 OpImageSparseSampleProjDrefImplicitLod = 311, 1708 OpImageSparseSampleProjDrefExplicitLod = 312, 1709 OpImageSparseFetch = 313, 1710 OpImageSparseGather = 314, 1711 OpImageSparseDrefGather = 315, 1712 OpImageSparseTexelsResident = 316, 1713 OpNoLine = 317, 1714 OpAtomicFlagTestAndSet = 318, 1715 OpAtomicFlagClear = 319, 1716 OpImageSparseRead = 320, 1717 OpSizeOf = 321, 1718 OpTypePipeStorage = 322, 1719 OpConstantPipeStorage = 323, 1720 OpCreatePipeFromPipeStorage = 324, 1721 OpGetKernelLocalSizeForSubgroupCount = 325, 1722 OpGetKernelMaxNumSubgroups = 326, 1723 OpTypeNamedBarrier = 327, 1724 OpNamedBarrierInitialize = 328, 1725 OpMemoryNamedBarrier = 329, 1726 OpModuleProcessed = 330, 1727 OpExecutionModeId = 331, 1728 OpDecorateId = 332, 1729 OpGroupNonUniformElect = 333, 1730 OpGroupNonUniformAll = 334, 1731 OpGroupNonUniformAny = 335, 1732 OpGroupNonUniformAllEqual = 336, 1733 OpGroupNonUniformBroadcast = 337, 1734 OpGroupNonUniformBroadcastFirst = 338, 1735 OpGroupNonUniformBallot = 339, 1736 OpGroupNonUniformInverseBallot = 340, 1737 OpGroupNonUniformBallotBitExtract = 341, 1738 OpGroupNonUniformBallotBitCount = 342, 1739 OpGroupNonUniformBallotFindLSB = 343, 1740 OpGroupNonUniformBallotFindMSB = 344, 1741 OpGroupNonUniformShuffle = 345, 1742 OpGroupNonUniformShuffleXor = 346, 1743 OpGroupNonUniformShuffleUp = 347, 1744 OpGroupNonUniformShuffleDown = 348, 1745 OpGroupNonUniformIAdd = 349, 1746 OpGroupNonUniformFAdd = 350, 1747 OpGroupNonUniformIMul = 351, 1748 OpGroupNonUniformFMul = 352, 1749 OpGroupNonUniformSMin = 353, 1750 OpGroupNonUniformUMin = 354, 1751 OpGroupNonUniformFMin = 355, 1752 OpGroupNonUniformSMax = 356, 1753 OpGroupNonUniformUMax = 357, 1754 OpGroupNonUniformFMax = 358, 1755 OpGroupNonUniformBitwiseAnd = 359, 1756 OpGroupNonUniformBitwiseOr = 360, 1757 OpGroupNonUniformBitwiseXor = 361, 1758 OpGroupNonUniformLogicalAnd = 362, 1759 OpGroupNonUniformLogicalOr = 363, 1760 OpGroupNonUniformLogicalXor = 364, 1761 OpGroupNonUniformQuadBroadcast = 365, 1762 OpGroupNonUniformQuadSwap = 366, 1763 OpCopyLogical = 400, 1764 OpPtrEqual = 401, 1765 OpPtrNotEqual = 402, 1766 OpPtrDiff = 403, 1767 OpColorAttachmentReadEXT = 4160, 1768 OpDepthAttachmentReadEXT = 4161, 1769 OpStencilAttachmentReadEXT = 4162, 1770 OpTerminateInvocation = 4416, 1771 OpSubgroupBallotKHR = 4421, 1772 OpSubgroupFirstInvocationKHR = 4422, 1773 OpSubgroupAllKHR = 4428, 1774 OpSubgroupAnyKHR = 4429, 1775 OpSubgroupAllEqualKHR = 4430, 1776 OpGroupNonUniformRotateKHR = 4431, 1777 OpSubgroupReadInvocationKHR = 4432, 1778 OpExtInstWithForwardRefsKHR = 4433, 1779 OpTraceRayKHR = 4445, 1780 OpExecuteCallableKHR = 4446, 1781 OpConvertUToAccelerationStructureKHR = 4447, 1782 OpIgnoreIntersectionKHR = 4448, 1783 OpTerminateRayKHR = 4449, 1784 OpSDot = 4450, 1785 OpSDotKHR = 4450, 1786 OpUDot = 4451, 1787 OpUDotKHR = 4451, 1788 OpSUDot = 4452, 1789 OpSUDotKHR = 4452, 1790 OpSDotAccSat = 4453, 1791 OpSDotAccSatKHR = 4453, 1792 OpUDotAccSat = 4454, 1793 OpUDotAccSatKHR = 4454, 1794 OpSUDotAccSat = 4455, 1795 OpSUDotAccSatKHR = 4455, 1796 OpTypeCooperativeMatrixKHR = 4456, 1797 OpCooperativeMatrixLoadKHR = 4457, 1798 OpCooperativeMatrixStoreKHR = 4458, 1799 OpCooperativeMatrixMulAddKHR = 4459, 1800 OpCooperativeMatrixLengthKHR = 4460, 1801 OpConstantCompositeReplicateEXT = 4461, 1802 OpSpecConstantCompositeReplicateEXT = 4462, 1803 OpCompositeConstructReplicateEXT = 4463, 1804 OpTypeRayQueryKHR = 4472, 1805 OpRayQueryInitializeKHR = 4473, 1806 OpRayQueryTerminateKHR = 4474, 1807 OpRayQueryGenerateIntersectionKHR = 4475, 1808 OpRayQueryConfirmIntersectionKHR = 4476, 1809 OpRayQueryProceedKHR = 4477, 1810 OpRayQueryGetIntersectionTypeKHR = 4479, 1811 OpImageSampleWeightedQCOM = 4480, 1812 OpImageBoxFilterQCOM = 4481, 1813 OpImageBlockMatchSSDQCOM = 4482, 1814 OpImageBlockMatchSADQCOM = 4483, 1815 OpImageBlockMatchWindowSSDQCOM = 4500, 1816 OpImageBlockMatchWindowSADQCOM = 4501, 1817 OpImageBlockMatchGatherSSDQCOM = 4502, 1818 OpImageBlockMatchGatherSADQCOM = 4503, 1819 OpGroupIAddNonUniformAMD = 5000, 1820 OpGroupFAddNonUniformAMD = 5001, 1821 OpGroupFMinNonUniformAMD = 5002, 1822 OpGroupUMinNonUniformAMD = 5003, 1823 OpGroupSMinNonUniformAMD = 5004, 1824 OpGroupFMaxNonUniformAMD = 5005, 1825 OpGroupUMaxNonUniformAMD = 5006, 1826 OpGroupSMaxNonUniformAMD = 5007, 1827 OpFragmentMaskFetchAMD = 5011, 1828 OpFragmentFetchAMD = 5012, 1829 OpReadClockKHR = 5056, 1830 OpFinalizeNodePayloadsAMDX = 5075, 1831 OpFinishWritingNodePayloadAMDX = 5078, 1832 OpInitializeNodePayloadsAMDX = 5090, 1833 OpGroupNonUniformQuadAllKHR = 5110, 1834 OpGroupNonUniformQuadAnyKHR = 5111, 1835 OpHitObjectRecordHitMotionNV = 5249, 1836 OpHitObjectRecordHitWithIndexMotionNV = 5250, 1837 OpHitObjectRecordMissMotionNV = 5251, 1838 OpHitObjectGetWorldToObjectNV = 5252, 1839 OpHitObjectGetObjectToWorldNV = 5253, 1840 OpHitObjectGetObjectRayDirectionNV = 5254, 1841 OpHitObjectGetObjectRayOriginNV = 5255, 1842 OpHitObjectTraceRayMotionNV = 5256, 1843 OpHitObjectGetShaderRecordBufferHandleNV = 5257, 1844 OpHitObjectGetShaderBindingTableRecordIndexNV = 5258, 1845 OpHitObjectRecordEmptyNV = 5259, 1846 OpHitObjectTraceRayNV = 5260, 1847 OpHitObjectRecordHitNV = 5261, 1848 OpHitObjectRecordHitWithIndexNV = 5262, 1849 OpHitObjectRecordMissNV = 5263, 1850 OpHitObjectExecuteShaderNV = 5264, 1851 OpHitObjectGetCurrentTimeNV = 5265, 1852 OpHitObjectGetAttributesNV = 5266, 1853 OpHitObjectGetHitKindNV = 5267, 1854 OpHitObjectGetPrimitiveIndexNV = 5268, 1855 OpHitObjectGetGeometryIndexNV = 5269, 1856 OpHitObjectGetInstanceIdNV = 5270, 1857 OpHitObjectGetInstanceCustomIndexNV = 5271, 1858 OpHitObjectGetWorldRayDirectionNV = 5272, 1859 OpHitObjectGetWorldRayOriginNV = 5273, 1860 OpHitObjectGetRayTMaxNV = 5274, 1861 OpHitObjectGetRayTMinNV = 5275, 1862 OpHitObjectIsEmptyNV = 5276, 1863 OpHitObjectIsHitNV = 5277, 1864 OpHitObjectIsMissNV = 5278, 1865 OpReorderThreadWithHitObjectNV = 5279, 1866 OpReorderThreadWithHintNV = 5280, 1867 OpTypeHitObjectNV = 5281, 1868 OpImageSampleFootprintNV = 5283, 1869 OpEmitMeshTasksEXT = 5294, 1870 OpSetMeshOutputsEXT = 5295, 1871 OpGroupNonUniformPartitionNV = 5296, 1872 OpWritePackedPrimitiveIndices4x8NV = 5299, 1873 OpFetchMicroTriangleVertexPositionNV = 5300, 1874 OpFetchMicroTriangleVertexBarycentricNV = 5301, 1875 OpReportIntersectionKHR = 5334, 1876 OpReportIntersectionNV = 5334, 1877 OpIgnoreIntersectionNV = 5335, 1878 OpTerminateRayNV = 5336, 1879 OpTraceNV = 5337, 1880 OpTraceMotionNV = 5338, 1881 OpTraceRayMotionNV = 5339, 1882 OpRayQueryGetIntersectionTriangleVertexPositionsKHR = 5340, 1883 OpTypeAccelerationStructureKHR = 5341, 1884 OpTypeAccelerationStructureNV = 5341, 1885 OpExecuteCallableNV = 5344, 1886 OpTypeCooperativeMatrixNV = 5358, 1887 OpCooperativeMatrixLoadNV = 5359, 1888 OpCooperativeMatrixStoreNV = 5360, 1889 OpCooperativeMatrixMulAddNV = 5361, 1890 OpCooperativeMatrixLengthNV = 5362, 1891 OpBeginInvocationInterlockEXT = 5364, 1892 OpEndInvocationInterlockEXT = 5365, 1893 OpDemoteToHelperInvocation = 5380, 1894 OpDemoteToHelperInvocationEXT = 5380, 1895 OpIsHelperInvocationEXT = 5381, 1896 OpConvertUToImageNV = 5391, 1897 OpConvertUToSamplerNV = 5392, 1898 OpConvertImageToUNV = 5393, 1899 OpConvertSamplerToUNV = 5394, 1900 OpConvertUToSampledImageNV = 5395, 1901 OpConvertSampledImageToUNV = 5396, 1902 OpSamplerImageAddressingModeNV = 5397, 1903 OpRawAccessChainNV = 5398, 1904 OpSubgroupShuffleINTEL = 5571, 1905 OpSubgroupShuffleDownINTEL = 5572, 1906 OpSubgroupShuffleUpINTEL = 5573, 1907 OpSubgroupShuffleXorINTEL = 5574, 1908 OpSubgroupBlockReadINTEL = 5575, 1909 OpSubgroupBlockWriteINTEL = 5576, 1910 OpSubgroupImageBlockReadINTEL = 5577, 1911 OpSubgroupImageBlockWriteINTEL = 5578, 1912 OpSubgroupImageMediaBlockReadINTEL = 5580, 1913 OpSubgroupImageMediaBlockWriteINTEL = 5581, 1914 OpUCountLeadingZerosINTEL = 5585, 1915 OpUCountTrailingZerosINTEL = 5586, 1916 OpAbsISubINTEL = 5587, 1917 OpAbsUSubINTEL = 5588, 1918 OpIAddSatINTEL = 5589, 1919 OpUAddSatINTEL = 5590, 1920 OpIAverageINTEL = 5591, 1921 OpUAverageINTEL = 5592, 1922 OpIAverageRoundedINTEL = 5593, 1923 OpUAverageRoundedINTEL = 5594, 1924 OpISubSatINTEL = 5595, 1925 OpUSubSatINTEL = 5596, 1926 OpIMul32x16INTEL = 5597, 1927 OpUMul32x16INTEL = 5598, 1928 OpConstantFunctionPointerINTEL = 5600, 1929 OpFunctionPointerCallINTEL = 5601, 1930 OpAsmTargetINTEL = 5609, 1931 OpAsmINTEL = 5610, 1932 OpAsmCallINTEL = 5611, 1933 OpAtomicFMinEXT = 5614, 1934 OpAtomicFMaxEXT = 5615, 1935 OpAssumeTrueKHR = 5630, 1936 OpExpectKHR = 5631, 1937 OpDecorateString = 5632, 1938 OpDecorateStringGOOGLE = 5632, 1939 OpMemberDecorateString = 5633, 1940 OpMemberDecorateStringGOOGLE = 5633, 1941 OpVmeImageINTEL = 5699, 1942 OpTypeVmeImageINTEL = 5700, 1943 OpTypeAvcImePayloadINTEL = 5701, 1944 OpTypeAvcRefPayloadINTEL = 5702, 1945 OpTypeAvcSicPayloadINTEL = 5703, 1946 OpTypeAvcMcePayloadINTEL = 5704, 1947 OpTypeAvcMceResultINTEL = 5705, 1948 OpTypeAvcImeResultINTEL = 5706, 1949 OpTypeAvcImeResultSingleReferenceStreamoutINTEL = 5707, 1950 OpTypeAvcImeResultDualReferenceStreamoutINTEL = 5708, 1951 OpTypeAvcImeSingleReferenceStreaminINTEL = 5709, 1952 OpTypeAvcImeDualReferenceStreaminINTEL = 5710, 1953 OpTypeAvcRefResultINTEL = 5711, 1954 OpTypeAvcSicResultINTEL = 5712, 1955 OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL = 5713, 1956 OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL = 5714, 1957 OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL = 5715, 1958 OpSubgroupAvcMceSetInterShapePenaltyINTEL = 5716, 1959 OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL = 5717, 1960 OpSubgroupAvcMceSetInterDirectionPenaltyINTEL = 5718, 1961 OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL = 5719, 1962 OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL = 5720, 1963 OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL = 5721, 1964 OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL = 5722, 1965 OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL = 5723, 1966 OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL = 5724, 1967 OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL = 5725, 1968 OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL = 5726, 1969 OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL = 5727, 1970 OpSubgroupAvcMceSetAcOnlyHaarINTEL = 5728, 1971 OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL = 5729, 1972 OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL = 5730, 1973 OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL = 5731, 1974 OpSubgroupAvcMceConvertToImePayloadINTEL = 5732, 1975 OpSubgroupAvcMceConvertToImeResultINTEL = 5733, 1976 OpSubgroupAvcMceConvertToRefPayloadINTEL = 5734, 1977 OpSubgroupAvcMceConvertToRefResultINTEL = 5735, 1978 OpSubgroupAvcMceConvertToSicPayloadINTEL = 5736, 1979 OpSubgroupAvcMceConvertToSicResultINTEL = 5737, 1980 OpSubgroupAvcMceGetMotionVectorsINTEL = 5738, 1981 OpSubgroupAvcMceGetInterDistortionsINTEL = 5739, 1982 OpSubgroupAvcMceGetBestInterDistortionsINTEL = 5740, 1983 OpSubgroupAvcMceGetInterMajorShapeINTEL = 5741, 1984 OpSubgroupAvcMceGetInterMinorShapeINTEL = 5742, 1985 OpSubgroupAvcMceGetInterDirectionsINTEL = 5743, 1986 OpSubgroupAvcMceGetInterMotionVectorCountINTEL = 5744, 1987 OpSubgroupAvcMceGetInterReferenceIdsINTEL = 5745, 1988 OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL = 5746, 1989 OpSubgroupAvcImeInitializeINTEL = 5747, 1990 OpSubgroupAvcImeSetSingleReferenceINTEL = 5748, 1991 OpSubgroupAvcImeSetDualReferenceINTEL = 5749, 1992 OpSubgroupAvcImeRefWindowSizeINTEL = 5750, 1993 OpSubgroupAvcImeAdjustRefOffsetINTEL = 5751, 1994 OpSubgroupAvcImeConvertToMcePayloadINTEL = 5752, 1995 OpSubgroupAvcImeSetMaxMotionVectorCountINTEL = 5753, 1996 OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL = 5754, 1997 OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL = 5755, 1998 OpSubgroupAvcImeSetWeightedSadINTEL = 5756, 1999 OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL = 5757, 2000 OpSubgroupAvcImeEvaluateWithDualReferenceINTEL = 5758, 2001 OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL = 5759, 2002 OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL = 5760, 2003 OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL = 5761, 2004 OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL = 5762, 2005 OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL = 5763, 2006 OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL = 5764, 2007 OpSubgroupAvcImeConvertToMceResultINTEL = 5765, 2008 OpSubgroupAvcImeGetSingleReferenceStreaminINTEL = 5766, 2009 OpSubgroupAvcImeGetDualReferenceStreaminINTEL = 5767, 2010 OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL = 5768, 2011 OpSubgroupAvcImeStripDualReferenceStreamoutINTEL = 5769, 2012 OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL = 5770, 2013 OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL = 5771, 2014 OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL = 5772, 2015 OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL = 5773, 2016 OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL = 5774, 2017 OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL = 5775, 2018 OpSubgroupAvcImeGetBorderReachedINTEL = 5776, 2019 OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL = 5777, 2020 OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL = 5778, 2021 OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL = 5779, 2022 OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL = 5780, 2023 OpSubgroupAvcFmeInitializeINTEL = 5781, 2024 OpSubgroupAvcBmeInitializeINTEL = 5782, 2025 OpSubgroupAvcRefConvertToMcePayloadINTEL = 5783, 2026 OpSubgroupAvcRefSetBidirectionalMixDisableINTEL = 5784, 2027 OpSubgroupAvcRefSetBilinearFilterEnableINTEL = 5785, 2028 OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL = 5786, 2029 OpSubgroupAvcRefEvaluateWithDualReferenceINTEL = 5787, 2030 OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL = 5788, 2031 OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL = 5789, 2032 OpSubgroupAvcRefConvertToMceResultINTEL = 5790, 2033 OpSubgroupAvcSicInitializeINTEL = 5791, 2034 OpSubgroupAvcSicConfigureSkcINTEL = 5792, 2035 OpSubgroupAvcSicConfigureIpeLumaINTEL = 5793, 2036 OpSubgroupAvcSicConfigureIpeLumaChromaINTEL = 5794, 2037 OpSubgroupAvcSicGetMotionVectorMaskINTEL = 5795, 2038 OpSubgroupAvcSicConvertToMcePayloadINTEL = 5796, 2039 OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL = 5797, 2040 OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL = 5798, 2041 OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL = 5799, 2042 OpSubgroupAvcSicSetBilinearFilterEnableINTEL = 5800, 2043 OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL = 5801, 2044 OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL = 5802, 2045 OpSubgroupAvcSicEvaluateIpeINTEL = 5803, 2046 OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL = 5804, 2047 OpSubgroupAvcSicEvaluateWithDualReferenceINTEL = 5805, 2048 OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL = 5806, 2049 OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL = 5807, 2050 OpSubgroupAvcSicConvertToMceResultINTEL = 5808, 2051 OpSubgroupAvcSicGetIpeLumaShapeINTEL = 5809, 2052 OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL = 5810, 2053 OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL = 5811, 2054 OpSubgroupAvcSicGetPackedIpeLumaModesINTEL = 5812, 2055 OpSubgroupAvcSicGetIpeChromaModeINTEL = 5813, 2056 OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814, 2057 OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815, 2058 OpSubgroupAvcSicGetInterRawSadsINTEL = 5816, 2059 OpVariableLengthArrayINTEL = 5818, 2060 OpSaveMemoryINTEL = 5819, 2061 OpRestoreMemoryINTEL = 5820, 2062 OpArbitraryFloatSinCosPiINTEL = 5840, 2063 OpArbitraryFloatCastINTEL = 5841, 2064 OpArbitraryFloatCastFromIntINTEL = 5842, 2065 OpArbitraryFloatCastToIntINTEL = 5843, 2066 OpArbitraryFloatAddINTEL = 5846, 2067 OpArbitraryFloatSubINTEL = 5847, 2068 OpArbitraryFloatMulINTEL = 5848, 2069 OpArbitraryFloatDivINTEL = 5849, 2070 OpArbitraryFloatGTINTEL = 5850, 2071 OpArbitraryFloatGEINTEL = 5851, 2072 OpArbitraryFloatLTINTEL = 5852, 2073 OpArbitraryFloatLEINTEL = 5853, 2074 OpArbitraryFloatEQINTEL = 5854, 2075 OpArbitraryFloatRecipINTEL = 5855, 2076 OpArbitraryFloatRSqrtINTEL = 5856, 2077 OpArbitraryFloatCbrtINTEL = 5857, 2078 OpArbitraryFloatHypotINTEL = 5858, 2079 OpArbitraryFloatSqrtINTEL = 5859, 2080 OpArbitraryFloatLogINTEL = 5860, 2081 OpArbitraryFloatLog2INTEL = 5861, 2082 OpArbitraryFloatLog10INTEL = 5862, 2083 OpArbitraryFloatLog1pINTEL = 5863, 2084 OpArbitraryFloatExpINTEL = 5864, 2085 OpArbitraryFloatExp2INTEL = 5865, 2086 OpArbitraryFloatExp10INTEL = 5866, 2087 OpArbitraryFloatExpm1INTEL = 5867, 2088 OpArbitraryFloatSinINTEL = 5868, 2089 OpArbitraryFloatCosINTEL = 5869, 2090 OpArbitraryFloatSinCosINTEL = 5870, 2091 OpArbitraryFloatSinPiINTEL = 5871, 2092 OpArbitraryFloatCosPiINTEL = 5872, 2093 OpArbitraryFloatASinINTEL = 5873, 2094 OpArbitraryFloatASinPiINTEL = 5874, 2095 OpArbitraryFloatACosINTEL = 5875, 2096 OpArbitraryFloatACosPiINTEL = 5876, 2097 OpArbitraryFloatATanINTEL = 5877, 2098 OpArbitraryFloatATanPiINTEL = 5878, 2099 OpArbitraryFloatATan2INTEL = 5879, 2100 OpArbitraryFloatPowINTEL = 5880, 2101 OpArbitraryFloatPowRINTEL = 5881, 2102 OpArbitraryFloatPowNINTEL = 5882, 2103 OpLoopControlINTEL = 5887, 2104 OpAliasDomainDeclINTEL = 5911, 2105 OpAliasScopeDeclINTEL = 5912, 2106 OpAliasScopeListDeclINTEL = 5913, 2107 OpFixedSqrtINTEL = 5923, 2108 OpFixedRecipINTEL = 5924, 2109 OpFixedRsqrtINTEL = 5925, 2110 OpFixedSinINTEL = 5926, 2111 OpFixedCosINTEL = 5927, 2112 OpFixedSinCosINTEL = 5928, 2113 OpFixedSinPiINTEL = 5929, 2114 OpFixedCosPiINTEL = 5930, 2115 OpFixedSinCosPiINTEL = 5931, 2116 OpFixedLogINTEL = 5932, 2117 OpFixedExpINTEL = 5933, 2118 OpPtrCastToCrossWorkgroupINTEL = 5934, 2119 OpCrossWorkgroupCastToPtrINTEL = 5938, 2120 OpReadPipeBlockingINTEL = 5946, 2121 OpWritePipeBlockingINTEL = 5947, 2122 OpFPGARegINTEL = 5949, 2123 OpRayQueryGetRayTMinKHR = 6016, 2124 OpRayQueryGetRayFlagsKHR = 6017, 2125 OpRayQueryGetIntersectionTKHR = 6018, 2126 OpRayQueryGetIntersectionInstanceCustomIndexKHR = 6019, 2127 OpRayQueryGetIntersectionInstanceIdKHR = 6020, 2128 OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR = 6021, 2129 OpRayQueryGetIntersectionGeometryIndexKHR = 6022, 2130 OpRayQueryGetIntersectionPrimitiveIndexKHR = 6023, 2131 OpRayQueryGetIntersectionBarycentricsKHR = 6024, 2132 OpRayQueryGetIntersectionFrontFaceKHR = 6025, 2133 OpRayQueryGetIntersectionCandidateAABBOpaqueKHR = 6026, 2134 OpRayQueryGetIntersectionObjectRayDirectionKHR = 6027, 2135 OpRayQueryGetIntersectionObjectRayOriginKHR = 6028, 2136 OpRayQueryGetWorldRayDirectionKHR = 6029, 2137 OpRayQueryGetWorldRayOriginKHR = 6030, 2138 OpRayQueryGetIntersectionObjectToWorldKHR = 6031, 2139 OpRayQueryGetIntersectionWorldToObjectKHR = 6032, 2140 OpAtomicFAddEXT = 6035, 2141 OpTypeBufferSurfaceINTEL = 6086, 2142 OpTypeStructContinuedINTEL = 6090, 2143 OpConstantCompositeContinuedINTEL = 6091, 2144 OpSpecConstantCompositeContinuedINTEL = 6092, 2145 OpCompositeConstructContinuedINTEL = 6096, 2146 OpConvertFToBF16INTEL = 6116, 2147 OpConvertBF16ToFINTEL = 6117, 2148 OpControlBarrierArriveINTEL = 6142, 2149 OpControlBarrierWaitINTEL = 6143, 2150 OpGroupIMulKHR = 6401, 2151 OpGroupFMulKHR = 6402, 2152 OpGroupBitwiseAndKHR = 6403, 2153 OpGroupBitwiseOrKHR = 6404, 2154 OpGroupBitwiseXorKHR = 6405, 2155 OpGroupLogicalAndKHR = 6406, 2156 OpGroupLogicalOrKHR = 6407, 2157 OpGroupLogicalXorKHR = 6408, 2158 OpMaskedGatherINTEL = 6428, 2159 OpMaskedScatterINTEL = 6429, 2160 Max = 0x7fffffff, 2161}; 2162 2163#ifdef SPV_ENABLE_UTILITY_CODE 2164#ifndef __cplusplus 2165#include <stdbool.h> 2166#endif 2167inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) { 2168 *hasResult = *hasResultType = false; 2169 switch (opcode) { 2170 default: /* unknown opcode */ break; 2171 case Op::OpNop: *hasResult = false; *hasResultType = false; break; 2172 case Op::OpUndef: *hasResult = true; *hasResultType = true; break; 2173 case Op::OpSourceContinued: *hasResult = false; *hasResultType = false; break; 2174 case Op::OpSource: *hasResult = false; *hasResultType = false; break; 2175 case Op::OpSourceExtension: *hasResult = false; *hasResultType = false; break; 2176 case Op::OpName: *hasResult = false; *hasResultType = false; break; 2177 case Op::OpMemberName: *hasResult = false; *hasResultType = false; break; 2178 case Op::OpString: *hasResult = true; *hasResultType = false; break; 2179 case Op::OpLine: *hasResult = false; *hasResultType = false; break; 2180 case Op::OpExtension: *hasResult = false; *hasResultType = false; break; 2181 case Op::OpExtInstImport: *hasResult = true; *hasResultType = false; break; 2182 case Op::OpExtInst: *hasResult = true; *hasResultType = true; break; 2183 case Op::OpMemoryModel: *hasResult = false; *hasResultType = false; break; 2184 case Op::OpEntryPoint: *hasResult = false; *hasResultType = false; break; 2185 case Op::OpExecutionMode: *hasResult = false; *hasResultType = false; break; 2186 case Op::OpCapability: *hasResult = false; *hasResultType = false; break; 2187 case Op::OpTypeVoid: *hasResult = true; *hasResultType = false; break; 2188 case Op::OpTypeBool: *hasResult = true; *hasResultType = false; break; 2189 case Op::OpTypeInt: *hasResult = true; *hasResultType = false; break; 2190 case Op::OpTypeFloat: *hasResult = true; *hasResultType = false; break; 2191 case Op::OpTypeVector: *hasResult = true; *hasResultType = false; break; 2192 case Op::OpTypeMatrix: *hasResult = true; *hasResultType = false; break; 2193 case Op::OpTypeImage: *hasResult = true; *hasResultType = false; break; 2194 case Op::OpTypeSampler: *hasResult = true; *hasResultType = false; break; 2195 case Op::OpTypeSampledImage: *hasResult = true; *hasResultType = false; break; 2196 case Op::OpTypeArray: *hasResult = true; *hasResultType = false; break; 2197 case Op::OpTypeRuntimeArray: *hasResult = true; *hasResultType = false; break; 2198 case Op::OpTypeStruct: *hasResult = true; *hasResultType = false; break; 2199 case Op::OpTypeOpaque: *hasResult = true; *hasResultType = false; break; 2200 case Op::OpTypePointer: *hasResult = true; *hasResultType = false; break; 2201 case Op::OpTypeFunction: *hasResult = true; *hasResultType = false; break; 2202 case Op::OpTypeEvent: *hasResult = true; *hasResultType = false; break; 2203 case Op::OpTypeDeviceEvent: *hasResult = true; *hasResultType = false; break; 2204 case Op::OpTypeReserveId: *hasResult = true; *hasResultType = false; break; 2205 case Op::OpTypeQueue: *hasResult = true; *hasResultType = false; break; 2206 case Op::OpTypePipe: *hasResult = true; *hasResultType = false; break; 2207 case Op::OpTypeForwardPointer: *hasResult = false; *hasResultType = false; break; 2208 case Op::OpConstantTrue: *hasResult = true; *hasResultType = true; break; 2209 case Op::OpConstantFalse: *hasResult = true; *hasResultType = true; break; 2210 case Op::OpConstant: *hasResult = true; *hasResultType = true; break; 2211 case Op::OpConstantComposite: *hasResult = true; *hasResultType = true; break; 2212 case Op::OpConstantSampler: *hasResult = true; *hasResultType = true; break; 2213 case Op::OpConstantNull: *hasResult = true; *hasResultType = true; break; 2214 case Op::OpSpecConstantTrue: *hasResult = true; *hasResultType = true; break; 2215 case Op::OpSpecConstantFalse: *hasResult = true; *hasResultType = true; break; 2216 case Op::OpSpecConstant: *hasResult = true; *hasResultType = true; break; 2217 case Op::OpSpecConstantComposite: *hasResult = true; *hasResultType = true; break; 2218 case Op::OpSpecConstantOp: *hasResult = true; *hasResultType = true; break; 2219 case Op::OpFunction: *hasResult = true; *hasResultType = true; break; 2220 case Op::OpFunctionParameter: *hasResult = true; *hasResultType = true; break; 2221 case Op::OpFunctionEnd: *hasResult = false; *hasResultType = false; break; 2222 case Op::OpFunctionCall: *hasResult = true; *hasResultType = true; break; 2223 case Op::OpVariable: *hasResult = true; *hasResultType = true; break; 2224 case Op::OpImageTexelPointer: *hasResult = true; *hasResultType = true; break; 2225 case Op::OpLoad: *hasResult = true; *hasResultType = true; break; 2226 case Op::OpStore: *hasResult = false; *hasResultType = false; break; 2227 case Op::OpCopyMemory: *hasResult = false; *hasResultType = false; break; 2228 case Op::OpCopyMemorySized: *hasResult = false; *hasResultType = false; break; 2229 case Op::OpAccessChain: *hasResult = true; *hasResultType = true; break; 2230 case Op::OpInBoundsAccessChain: *hasResult = true; *hasResultType = true; break; 2231 case Op::OpPtrAccessChain: *hasResult = true; *hasResultType = true; break; 2232 case Op::OpArrayLength: *hasResult = true; *hasResultType = true; break; 2233 case Op::OpGenericPtrMemSemantics: *hasResult = true; *hasResultType = true; break; 2234 case Op::OpInBoundsPtrAccessChain: *hasResult = true; *hasResultType = true; break; 2235 case Op::OpDecorate: *hasResult = false; *hasResultType = false; break; 2236 case Op::OpMemberDecorate: *hasResult = false; *hasResultType = false; break; 2237 case Op::OpDecorationGroup: *hasResult = true; *hasResultType = false; break; 2238 case Op::OpGroupDecorate: *hasResult = false; *hasResultType = false; break; 2239 case Op::OpGroupMemberDecorate: *hasResult = false; *hasResultType = false; break; 2240 case Op::OpVectorExtractDynamic: *hasResult = true; *hasResultType = true; break; 2241 case Op::OpVectorInsertDynamic: *hasResult = true; *hasResultType = true; break; 2242 case Op::OpVectorShuffle: *hasResult = true; *hasResultType = true; break; 2243 case Op::OpCompositeConstruct: *hasResult = true; *hasResultType = true; break; 2244 case Op::OpCompositeExtract: *hasResult = true; *hasResultType = true; break; 2245 case Op::OpCompositeInsert: *hasResult = true; *hasResultType = true; break; 2246 case Op::OpCopyObject: *hasResult = true; *hasResultType = true; break; 2247 case Op::OpTranspose: *hasResult = true; *hasResultType = true; break; 2248 case Op::OpSampledImage: *hasResult = true; *hasResultType = true; break; 2249 case Op::OpImageSampleImplicitLod: *hasResult = true; *hasResultType = true; break; 2250 case Op::OpImageSampleExplicitLod: *hasResult = true; *hasResultType = true; break; 2251 case Op::OpImageSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break; 2252 case Op::OpImageSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break; 2253 case Op::OpImageSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break; 2254 case Op::OpImageSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break; 2255 case Op::OpImageSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break; 2256 case Op::OpImageSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break; 2257 case Op::OpImageFetch: *hasResult = true; *hasResultType = true; break; 2258 case Op::OpImageGather: *hasResult = true; *hasResultType = true; break; 2259 case Op::OpImageDrefGather: *hasResult = true; *hasResultType = true; break; 2260 case Op::OpImageRead: *hasResult = true; *hasResultType = true; break; 2261 case Op::OpImageWrite: *hasResult = false; *hasResultType = false; break; 2262 case Op::OpImage: *hasResult = true; *hasResultType = true; break; 2263 case Op::OpImageQueryFormat: *hasResult = true; *hasResultType = true; break; 2264 case Op::OpImageQueryOrder: *hasResult = true; *hasResultType = true; break; 2265 case Op::OpImageQuerySizeLod: *hasResult = true; *hasResultType = true; break; 2266 case Op::OpImageQuerySize: *hasResult = true; *hasResultType = true; break; 2267 case Op::OpImageQueryLod: *hasResult = true; *hasResultType = true; break; 2268 case Op::OpImageQueryLevels: *hasResult = true; *hasResultType = true; break; 2269 case Op::OpImageQuerySamples: *hasResult = true; *hasResultType = true; break; 2270 case Op::OpConvertFToU: *hasResult = true; *hasResultType = true; break; 2271 case Op::OpConvertFToS: *hasResult = true; *hasResultType = true; break; 2272 case Op::OpConvertSToF: *hasResult = true; *hasResultType = true; break; 2273 case Op::OpConvertUToF: *hasResult = true; *hasResultType = true; break; 2274 case Op::OpUConvert: *hasResult = true; *hasResultType = true; break; 2275 case Op::OpSConvert: *hasResult = true; *hasResultType = true; break; 2276 case Op::OpFConvert: *hasResult = true; *hasResultType = true; break; 2277 case Op::OpQuantizeToF16: *hasResult = true; *hasResultType = true; break; 2278 case Op::OpConvertPtrToU: *hasResult = true; *hasResultType = true; break; 2279 case Op::OpSatConvertSToU: *hasResult = true; *hasResultType = true; break; 2280 case Op::OpSatConvertUToS: *hasResult = true; *hasResultType = true; break; 2281 case Op::OpConvertUToPtr: *hasResult = true; *hasResultType = true; break; 2282 case Op::OpPtrCastToGeneric: *hasResult = true; *hasResultType = true; break; 2283 case Op::OpGenericCastToPtr: *hasResult = true; *hasResultType = true; break; 2284 case Op::OpGenericCastToPtrExplicit: *hasResult = true; *hasResultType = true; break; 2285 case Op::OpBitcast: *hasResult = true; *hasResultType = true; break; 2286 case Op::OpSNegate: *hasResult = true; *hasResultType = true; break; 2287 case Op::OpFNegate: *hasResult = true; *hasResultType = true; break; 2288 case Op::OpIAdd: *hasResult = true; *hasResultType = true; break; 2289 case Op::OpFAdd: *hasResult = true; *hasResultType = true; break; 2290 case Op::OpISub: *hasResult = true; *hasResultType = true; break; 2291 case Op::OpFSub: *hasResult = true; *hasResultType = true; break; 2292 case Op::OpIMul: *hasResult = true; *hasResultType = true; break; 2293 case Op::OpFMul: *hasResult = true; *hasResultType = true; break; 2294 case Op::OpUDiv: *hasResult = true; *hasResultType = true; break; 2295 case Op::OpSDiv: *hasResult = true; *hasResultType = true; break; 2296 case Op::OpFDiv: *hasResult = true; *hasResultType = true; break; 2297 case Op::OpUMod: *hasResult = true; *hasResultType = true; break; 2298 case Op::OpSRem: *hasResult = true; *hasResultType = true; break; 2299 case Op::OpSMod: *hasResult = true; *hasResultType = true; break; 2300 case Op::OpFRem: *hasResult = true; *hasResultType = true; break; 2301 case Op::OpFMod: *hasResult = true; *hasResultType = true; break; 2302 case Op::OpVectorTimesScalar: *hasResult = true; *hasResultType = true; break; 2303 case Op::OpMatrixTimesScalar: *hasResult = true; *hasResultType = true; break; 2304 case Op::OpVectorTimesMatrix: *hasResult = true; *hasResultType = true; break; 2305 case Op::OpMatrixTimesVector: *hasResult = true; *hasResultType = true; break; 2306 case Op::OpMatrixTimesMatrix: *hasResult = true; *hasResultType = true; break; 2307 case Op::OpOuterProduct: *hasResult = true; *hasResultType = true; break; 2308 case Op::OpDot: *hasResult = true; *hasResultType = true; break; 2309 case Op::OpIAddCarry: *hasResult = true; *hasResultType = true; break; 2310 case Op::OpISubBorrow: *hasResult = true; *hasResultType = true; break; 2311 case Op::OpUMulExtended: *hasResult = true; *hasResultType = true; break; 2312 case Op::OpSMulExtended: *hasResult = true; *hasResultType = true; break; 2313 case Op::OpAny: *hasResult = true; *hasResultType = true; break; 2314 case Op::OpAll: *hasResult = true; *hasResultType = true; break; 2315 case Op::OpIsNan: *hasResult = true; *hasResultType = true; break; 2316 case Op::OpIsInf: *hasResult = true; *hasResultType = true; break; 2317 case Op::OpIsFinite: *hasResult = true; *hasResultType = true; break; 2318 case Op::OpIsNormal: *hasResult = true; *hasResultType = true; break; 2319 case Op::OpSignBitSet: *hasResult = true; *hasResultType = true; break; 2320 case Op::OpLessOrGreater: *hasResult = true; *hasResultType = true; break; 2321 case Op::OpOrdered: *hasResult = true; *hasResultType = true; break; 2322 case Op::OpUnordered: *hasResult = true; *hasResultType = true; break; 2323 case Op::OpLogicalEqual: *hasResult = true; *hasResultType = true; break; 2324 case Op::OpLogicalNotEqual: *hasResult = true; *hasResultType = true; break; 2325 case Op::OpLogicalOr: *hasResult = true; *hasResultType = true; break; 2326 case Op::OpLogicalAnd: *hasResult = true; *hasResultType = true; break; 2327 case Op::OpLogicalNot: *hasResult = true; *hasResultType = true; break; 2328 case Op::OpSelect: *hasResult = true; *hasResultType = true; break; 2329 case Op::OpIEqual: *hasResult = true; *hasResultType = true; break; 2330 case Op::OpINotEqual: *hasResult = true; *hasResultType = true; break; 2331 case Op::OpUGreaterThan: *hasResult = true; *hasResultType = true; break; 2332 case Op::OpSGreaterThan: *hasResult = true; *hasResultType = true; break; 2333 case Op::OpUGreaterThanEqual: *hasResult = true; *hasResultType = true; break; 2334 case Op::OpSGreaterThanEqual: *hasResult = true; *hasResultType = true; break; 2335 case Op::OpULessThan: *hasResult = true; *hasResultType = true; break; 2336 case Op::OpSLessThan: *hasResult = true; *hasResultType = true; break; 2337 case Op::OpULessThanEqual: *hasResult = true; *hasResultType = true; break; 2338 case Op::OpSLessThanEqual: *hasResult = true; *hasResultType = true; break; 2339 case Op::OpFOrdEqual: *hasResult = true; *hasResultType = true; break; 2340 case Op::OpFUnordEqual: *hasResult = true; *hasResultType = true; break; 2341 case Op::OpFOrdNotEqual: *hasResult = true; *hasResultType = true; break; 2342 case Op::OpFUnordNotEqual: *hasResult = true; *hasResultType = true; break; 2343 case Op::OpFOrdLessThan: *hasResult = true; *hasResultType = true; break; 2344 case Op::OpFUnordLessThan: *hasResult = true; *hasResultType = true; break; 2345 case Op::OpFOrdGreaterThan: *hasResult = true; *hasResultType = true; break; 2346 case Op::OpFUnordGreaterThan: *hasResult = true; *hasResultType = true; break; 2347 case Op::OpFOrdLessThanEqual: *hasResult = true; *hasResultType = true; break; 2348 case Op::OpFUnordLessThanEqual: *hasResult = true; *hasResultType = true; break; 2349 case Op::OpFOrdGreaterThanEqual: *hasResult = true; *hasResultType = true; break; 2350 case Op::OpFUnordGreaterThanEqual: *hasResult = true; *hasResultType = true; break; 2351 case Op::OpShiftRightLogical: *hasResult = true; *hasResultType = true; break; 2352 case Op::OpShiftRightArithmetic: *hasResult = true; *hasResultType = true; break; 2353 case Op::OpShiftLeftLogical: *hasResult = true; *hasResultType = true; break; 2354 case Op::OpBitwiseOr: *hasResult = true; *hasResultType = true; break; 2355 case Op::OpBitwiseXor: *hasResult = true; *hasResultType = true; break; 2356 case Op::OpBitwiseAnd: *hasResult = true; *hasResultType = true; break; 2357 case Op::OpNot: *hasResult = true; *hasResultType = true; break; 2358 case Op::OpBitFieldInsert: *hasResult = true; *hasResultType = true; break; 2359 case Op::OpBitFieldSExtract: *hasResult = true; *hasResultType = true; break; 2360 case Op::OpBitFieldUExtract: *hasResult = true; *hasResultType = true; break; 2361 case Op::OpBitReverse: *hasResult = true; *hasResultType = true; break; 2362 case Op::OpBitCount: *hasResult = true; *hasResultType = true; break; 2363 case Op::OpDPdx: *hasResult = true; *hasResultType = true; break; 2364 case Op::OpDPdy: *hasResult = true; *hasResultType = true; break; 2365 case Op::OpFwidth: *hasResult = true; *hasResultType = true; break; 2366 case Op::OpDPdxFine: *hasResult = true; *hasResultType = true; break; 2367 case Op::OpDPdyFine: *hasResult = true; *hasResultType = true; break; 2368 case Op::OpFwidthFine: *hasResult = true; *hasResultType = true; break; 2369 case Op::OpDPdxCoarse: *hasResult = true; *hasResultType = true; break; 2370 case Op::OpDPdyCoarse: *hasResult = true; *hasResultType = true; break; 2371 case Op::OpFwidthCoarse: *hasResult = true; *hasResultType = true; break; 2372 case Op::OpEmitVertex: *hasResult = false; *hasResultType = false; break; 2373 case Op::OpEndPrimitive: *hasResult = false; *hasResultType = false; break; 2374 case Op::OpEmitStreamVertex: *hasResult = false; *hasResultType = false; break; 2375 case Op::OpEndStreamPrimitive: *hasResult = false; *hasResultType = false; break; 2376 case Op::OpControlBarrier: *hasResult = false; *hasResultType = false; break; 2377 case Op::OpMemoryBarrier: *hasResult = false; *hasResultType = false; break; 2378 case Op::OpAtomicLoad: *hasResult = true; *hasResultType = true; break; 2379 case Op::OpAtomicStore: *hasResult = false; *hasResultType = false; break; 2380 case Op::OpAtomicExchange: *hasResult = true; *hasResultType = true; break; 2381 case Op::OpAtomicCompareExchange: *hasResult = true; *hasResultType = true; break; 2382 case Op::OpAtomicCompareExchangeWeak: *hasResult = true; *hasResultType = true; break; 2383 case Op::OpAtomicIIncrement: *hasResult = true; *hasResultType = true; break; 2384 case Op::OpAtomicIDecrement: *hasResult = true; *hasResultType = true; break; 2385 case Op::OpAtomicIAdd: *hasResult = true; *hasResultType = true; break; 2386 case Op::OpAtomicISub: *hasResult = true; *hasResultType = true; break; 2387 case Op::OpAtomicSMin: *hasResult = true; *hasResultType = true; break; 2388 case Op::OpAtomicUMin: *hasResult = true; *hasResultType = true; break; 2389 case Op::OpAtomicSMax: *hasResult = true; *hasResultType = true; break; 2390 case Op::OpAtomicUMax: *hasResult = true; *hasResultType = true; break; 2391 case Op::OpAtomicAnd: *hasResult = true; *hasResultType = true; break; 2392 case Op::OpAtomicOr: *hasResult = true; *hasResultType = true; break; 2393 case Op::OpAtomicXor: *hasResult = true; *hasResultType = true; break; 2394 case Op::OpPhi: *hasResult = true; *hasResultType = true; break; 2395 case Op::OpLoopMerge: *hasResult = false; *hasResultType = false; break; 2396 case Op::OpSelectionMerge: *hasResult = false; *hasResultType = false; break; 2397 case Op::OpLabel: *hasResult = true; *hasResultType = false; break; 2398 case Op::OpBranch: *hasResult = false; *hasResultType = false; break; 2399 case Op::OpBranchConditional: *hasResult = false; *hasResultType = false; break; 2400 case Op::OpSwitch: *hasResult = false; *hasResultType = false; break; 2401 case Op::OpKill: *hasResult = false; *hasResultType = false; break; 2402 case Op::OpReturn: *hasResult = false; *hasResultType = false; break; 2403 case Op::OpReturnValue: *hasResult = false; *hasResultType = false; break; 2404 case Op::OpUnreachable: *hasResult = false; *hasResultType = false; break; 2405 case Op::OpLifetimeStart: *hasResult = false; *hasResultType = false; break; 2406 case Op::OpLifetimeStop: *hasResult = false; *hasResultType = false; break; 2407 case Op::OpGroupAsyncCopy: *hasResult = true; *hasResultType = true; break; 2408 case Op::OpGroupWaitEvents: *hasResult = false; *hasResultType = false; break; 2409 case Op::OpGroupAll: *hasResult = true; *hasResultType = true; break; 2410 case Op::OpGroupAny: *hasResult = true; *hasResultType = true; break; 2411 case Op::OpGroupBroadcast: *hasResult = true; *hasResultType = true; break; 2412 case Op::OpGroupIAdd: *hasResult = true; *hasResultType = true; break; 2413 case Op::OpGroupFAdd: *hasResult = true; *hasResultType = true; break; 2414 case Op::OpGroupFMin: *hasResult = true; *hasResultType = true; break; 2415 case Op::OpGroupUMin: *hasResult = true; *hasResultType = true; break; 2416 case Op::OpGroupSMin: *hasResult = true; *hasResultType = true; break; 2417 case Op::OpGroupFMax: *hasResult = true; *hasResultType = true; break; 2418 case Op::OpGroupUMax: *hasResult = true; *hasResultType = true; break; 2419 case Op::OpGroupSMax: *hasResult = true; *hasResultType = true; break; 2420 case Op::OpReadPipe: *hasResult = true; *hasResultType = true; break; 2421 case Op::OpWritePipe: *hasResult = true; *hasResultType = true; break; 2422 case Op::OpReservedReadPipe: *hasResult = true; *hasResultType = true; break; 2423 case Op::OpReservedWritePipe: *hasResult = true; *hasResultType = true; break; 2424 case Op::OpReserveReadPipePackets: *hasResult = true; *hasResultType = true; break; 2425 case Op::OpReserveWritePipePackets: *hasResult = true; *hasResultType = true; break; 2426 case Op::OpCommitReadPipe: *hasResult = false; *hasResultType = false; break; 2427 case Op::OpCommitWritePipe: *hasResult = false; *hasResultType = false; break; 2428 case Op::OpIsValidReserveId: *hasResult = true; *hasResultType = true; break; 2429 case Op::OpGetNumPipePackets: *hasResult = true; *hasResultType = true; break; 2430 case Op::OpGetMaxPipePackets: *hasResult = true; *hasResultType = true; break; 2431 case Op::OpGroupReserveReadPipePackets: *hasResult = true; *hasResultType = true; break; 2432 case Op::OpGroupReserveWritePipePackets: *hasResult = true; *hasResultType = true; break; 2433 case Op::OpGroupCommitReadPipe: *hasResult = false; *hasResultType = false; break; 2434 case Op::OpGroupCommitWritePipe: *hasResult = false; *hasResultType = false; break; 2435 case Op::OpEnqueueMarker: *hasResult = true; *hasResultType = true; break; 2436 case Op::OpEnqueueKernel: *hasResult = true; *hasResultType = true; break; 2437 case Op::OpGetKernelNDrangeSubGroupCount: *hasResult = true; *hasResultType = true; break; 2438 case Op::OpGetKernelNDrangeMaxSubGroupSize: *hasResult = true; *hasResultType = true; break; 2439 case Op::OpGetKernelWorkGroupSize: *hasResult = true; *hasResultType = true; break; 2440 case Op::OpGetKernelPreferredWorkGroupSizeMultiple: *hasResult = true; *hasResultType = true; break; 2441 case Op::OpRetainEvent: *hasResult = false; *hasResultType = false; break; 2442 case Op::OpReleaseEvent: *hasResult = false; *hasResultType = false; break; 2443 case Op::OpCreateUserEvent: *hasResult = true; *hasResultType = true; break; 2444 case Op::OpIsValidEvent: *hasResult = true; *hasResultType = true; break; 2445 case Op::OpSetUserEventStatus: *hasResult = false; *hasResultType = false; break; 2446 case Op::OpCaptureEventProfilingInfo: *hasResult = false; *hasResultType = false; break; 2447 case Op::OpGetDefaultQueue: *hasResult = true; *hasResultType = true; break; 2448 case Op::OpBuildNDRange: *hasResult = true; *hasResultType = true; break; 2449 case Op::OpImageSparseSampleImplicitLod: *hasResult = true; *hasResultType = true; break; 2450 case Op::OpImageSparseSampleExplicitLod: *hasResult = true; *hasResultType = true; break; 2451 case Op::OpImageSparseSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break; 2452 case Op::OpImageSparseSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break; 2453 case Op::OpImageSparseSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break; 2454 case Op::OpImageSparseSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break; 2455 case Op::OpImageSparseSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break; 2456 case Op::OpImageSparseSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break; 2457 case Op::OpImageSparseFetch: *hasResult = true; *hasResultType = true; break; 2458 case Op::OpImageSparseGather: *hasResult = true; *hasResultType = true; break; 2459 case Op::OpImageSparseDrefGather: *hasResult = true; *hasResultType = true; break; 2460 case Op::OpImageSparseTexelsResident: *hasResult = true; *hasResultType = true; break; 2461 case Op::OpNoLine: *hasResult = false; *hasResultType = false; break; 2462 case Op::OpAtomicFlagTestAndSet: *hasResult = true; *hasResultType = true; break; 2463 case Op::OpAtomicFlagClear: *hasResult = false; *hasResultType = false; break; 2464 case Op::OpImageSparseRead: *hasResult = true; *hasResultType = true; break; 2465 case Op::OpSizeOf: *hasResult = true; *hasResultType = true; break; 2466 case Op::OpTypePipeStorage: *hasResult = true; *hasResultType = false; break; 2467 case Op::OpConstantPipeStorage: *hasResult = true; *hasResultType = true; break; 2468 case Op::OpCreatePipeFromPipeStorage: *hasResult = true; *hasResultType = true; break; 2469 case Op::OpGetKernelLocalSizeForSubgroupCount: *hasResult = true; *hasResultType = true; break; 2470 case Op::OpGetKernelMaxNumSubgroups: *hasResult = true; *hasResultType = true; break; 2471 case Op::OpTypeNamedBarrier: *hasResult = true; *hasResultType = false; break; 2472 case Op::OpNamedBarrierInitialize: *hasResult = true; *hasResultType = true; break; 2473 case Op::OpMemoryNamedBarrier: *hasResult = false; *hasResultType = false; break; 2474 case Op::OpModuleProcessed: *hasResult = false; *hasResultType = false; break; 2475 case Op::OpExecutionModeId: *hasResult = false; *hasResultType = false; break; 2476 case Op::OpDecorateId: *hasResult = false; *hasResultType = false; break; 2477 case Op::OpGroupNonUniformElect: *hasResult = true; *hasResultType = true; break; 2478 case Op::OpGroupNonUniformAll: *hasResult = true; *hasResultType = true; break; 2479 case Op::OpGroupNonUniformAny: *hasResult = true; *hasResultType = true; break; 2480 case Op::OpGroupNonUniformAllEqual: *hasResult = true; *hasResultType = true; break; 2481 case Op::OpGroupNonUniformBroadcast: *hasResult = true; *hasResultType = true; break; 2482 case Op::OpGroupNonUniformBroadcastFirst: *hasResult = true; *hasResultType = true; break; 2483 case Op::OpGroupNonUniformBallot: *hasResult = true; *hasResultType = true; break; 2484 case Op::OpGroupNonUniformInverseBallot: *hasResult = true; *hasResultType = true; break; 2485 case Op::OpGroupNonUniformBallotBitExtract: *hasResult = true; *hasResultType = true; break; 2486 case Op::OpGroupNonUniformBallotBitCount: *hasResult = true; *hasResultType = true; break; 2487 case Op::OpGroupNonUniformBallotFindLSB: *hasResult = true; *hasResultType = true; break; 2488 case Op::OpGroupNonUniformBallotFindMSB: *hasResult = true; *hasResultType = true; break; 2489 case Op::OpGroupNonUniformShuffle: *hasResult = true; *hasResultType = true; break; 2490 case Op::OpGroupNonUniformShuffleXor: *hasResult = true; *hasResultType = true; break; 2491 case Op::OpGroupNonUniformShuffleUp: *hasResult = true; *hasResultType = true; break; 2492 case Op::OpGroupNonUniformShuffleDown: *hasResult = true; *hasResultType = true; break; 2493 case Op::OpGroupNonUniformIAdd: *hasResult = true; *hasResultType = true; break; 2494 case Op::OpGroupNonUniformFAdd: *hasResult = true; *hasResultType = true; break; 2495 case Op::OpGroupNonUniformIMul: *hasResult = true; *hasResultType = true; break; 2496 case Op::OpGroupNonUniformFMul: *hasResult = true; *hasResultType = true; break; 2497 case Op::OpGroupNonUniformSMin: *hasResult = true; *hasResultType = true; break; 2498 case Op::OpGroupNonUniformUMin: *hasResult = true; *hasResultType = true; break; 2499 case Op::OpGroupNonUniformFMin: *hasResult = true; *hasResultType = true; break; 2500 case Op::OpGroupNonUniformSMax: *hasResult = true; *hasResultType = true; break; 2501 case Op::OpGroupNonUniformUMax: *hasResult = true; *hasResultType = true; break; 2502 case Op::OpGroupNonUniformFMax: *hasResult = true; *hasResultType = true; break; 2503 case Op::OpGroupNonUniformBitwiseAnd: *hasResult = true; *hasResultType = true; break; 2504 case Op::OpGroupNonUniformBitwiseOr: *hasResult = true; *hasResultType = true; break; 2505 case Op::OpGroupNonUniformBitwiseXor: *hasResult = true; *hasResultType = true; break; 2506 case Op::OpGroupNonUniformLogicalAnd: *hasResult = true; *hasResultType = true; break; 2507 case Op::OpGroupNonUniformLogicalOr: *hasResult = true; *hasResultType = true; break; 2508 case Op::OpGroupNonUniformLogicalXor: *hasResult = true; *hasResultType = true; break; 2509 case Op::OpGroupNonUniformQuadBroadcast: *hasResult = true; *hasResultType = true; break; 2510 case Op::OpGroupNonUniformQuadSwap: *hasResult = true; *hasResultType = true; break; 2511 case Op::OpCopyLogical: *hasResult = true; *hasResultType = true; break; 2512 case Op::OpPtrEqual: *hasResult = true; *hasResultType = true; break; 2513 case Op::OpPtrNotEqual: *hasResult = true; *hasResultType = true; break; 2514 case Op::OpPtrDiff: *hasResult = true; *hasResultType = true; break; 2515 case Op::OpColorAttachmentReadEXT: *hasResult = true; *hasResultType = true; break; 2516 case Op::OpDepthAttachmentReadEXT: *hasResult = true; *hasResultType = true; break; 2517 case Op::OpStencilAttachmentReadEXT: *hasResult = true; *hasResultType = true; break; 2518 case Op::OpTerminateInvocation: *hasResult = false; *hasResultType = false; break; 2519 case Op::OpSubgroupBallotKHR: *hasResult = true; *hasResultType = true; break; 2520 case Op::OpSubgroupFirstInvocationKHR: *hasResult = true; *hasResultType = true; break; 2521 case Op::OpSubgroupAllKHR: *hasResult = true; *hasResultType = true; break; 2522 case Op::OpSubgroupAnyKHR: *hasResult = true; *hasResultType = true; break; 2523 case Op::OpSubgroupAllEqualKHR: *hasResult = true; *hasResultType = true; break; 2524 case Op::OpGroupNonUniformRotateKHR: *hasResult = true; *hasResultType = true; break; 2525 case Op::OpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = true; break; 2526 case Op::OpExtInstWithForwardRefsKHR: *hasResult = true; *hasResultType = true; break; 2527 case Op::OpTraceRayKHR: *hasResult = false; *hasResultType = false; break; 2528 case Op::OpExecuteCallableKHR: *hasResult = false; *hasResultType = false; break; 2529 case Op::OpConvertUToAccelerationStructureKHR: *hasResult = true; *hasResultType = true; break; 2530 case Op::OpIgnoreIntersectionKHR: *hasResult = false; *hasResultType = false; break; 2531 case Op::OpTerminateRayKHR: *hasResult = false; *hasResultType = false; break; 2532 case Op::OpSDot: *hasResult = true; *hasResultType = true; break; 2533 case Op::OpUDot: *hasResult = true; *hasResultType = true; break; 2534 case Op::OpSUDot: *hasResult = true; *hasResultType = true; break; 2535 case Op::OpSDotAccSat: *hasResult = true; *hasResultType = true; break; 2536 case Op::OpUDotAccSat: *hasResult = true; *hasResultType = true; break; 2537 case Op::OpSUDotAccSat: *hasResult = true; *hasResultType = true; break; 2538 case Op::OpTypeCooperativeMatrixKHR: *hasResult = true; *hasResultType = false; break; 2539 case Op::OpCooperativeMatrixLoadKHR: *hasResult = true; *hasResultType = true; break; 2540 case Op::OpCooperativeMatrixStoreKHR: *hasResult = false; *hasResultType = false; break; 2541 case Op::OpCooperativeMatrixMulAddKHR: *hasResult = true; *hasResultType = true; break; 2542 case Op::OpCooperativeMatrixLengthKHR: *hasResult = true; *hasResultType = true; break; 2543 case Op::OpConstantCompositeReplicateEXT: *hasResult = true; *hasResultType = true; break; 2544 case Op::OpSpecConstantCompositeReplicateEXT: *hasResult = true; *hasResultType = true; break; 2545 case Op::OpCompositeConstructReplicateEXT: *hasResult = true; *hasResultType = true; break; 2546 case Op::OpTypeRayQueryKHR: *hasResult = true; *hasResultType = false; break; 2547 case Op::OpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break; 2548 case Op::OpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break; 2549 case Op::OpRayQueryGenerateIntersectionKHR: *hasResult = false; *hasResultType = false; break; 2550 case Op::OpRayQueryConfirmIntersectionKHR: *hasResult = false; *hasResultType = false; break; 2551 case Op::OpRayQueryProceedKHR: *hasResult = true; *hasResultType = true; break; 2552 case Op::OpRayQueryGetIntersectionTypeKHR: *hasResult = true; *hasResultType = true; break; 2553 case Op::OpImageSampleWeightedQCOM: *hasResult = true; *hasResultType = true; break; 2554 case Op::OpImageBoxFilterQCOM: *hasResult = true; *hasResultType = true; break; 2555 case Op::OpImageBlockMatchSSDQCOM: *hasResult = true; *hasResultType = true; break; 2556 case Op::OpImageBlockMatchSADQCOM: *hasResult = true; *hasResultType = true; break; 2557 case Op::OpImageBlockMatchWindowSSDQCOM: *hasResult = true; *hasResultType = true; break; 2558 case Op::OpImageBlockMatchWindowSADQCOM: *hasResult = true; *hasResultType = true; break; 2559 case Op::OpImageBlockMatchGatherSSDQCOM: *hasResult = true; *hasResultType = true; break; 2560 case Op::OpImageBlockMatchGatherSADQCOM: *hasResult = true; *hasResultType = true; break; 2561 case Op::OpGroupIAddNonUniformAMD: *hasResult = true; *hasResultType = true; break; 2562 case Op::OpGroupFAddNonUniformAMD: *hasResult = true; *hasResultType = true; break; 2563 case Op::OpGroupFMinNonUniformAMD: *hasResult = true; *hasResultType = true; break; 2564 case Op::OpGroupUMinNonUniformAMD: *hasResult = true; *hasResultType = true; break; 2565 case Op::OpGroupSMinNonUniformAMD: *hasResult = true; *hasResultType = true; break; 2566 case Op::OpGroupFMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break; 2567 case Op::OpGroupUMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break; 2568 case Op::OpGroupSMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break; 2569 case Op::OpFragmentMaskFetchAMD: *hasResult = true; *hasResultType = true; break; 2570 case Op::OpFragmentFetchAMD: *hasResult = true; *hasResultType = true; break; 2571 case Op::OpReadClockKHR: *hasResult = true; *hasResultType = true; break; 2572 case Op::OpFinalizeNodePayloadsAMDX: *hasResult = false; *hasResultType = false; break; 2573 case Op::OpFinishWritingNodePayloadAMDX: *hasResult = true; *hasResultType = true; break; 2574 case Op::OpInitializeNodePayloadsAMDX: *hasResult = false; *hasResultType = false; break; 2575 case Op::OpGroupNonUniformQuadAllKHR: *hasResult = true; *hasResultType = true; break; 2576 case Op::OpGroupNonUniformQuadAnyKHR: *hasResult = true; *hasResultType = true; break; 2577 case Op::OpHitObjectRecordHitMotionNV: *hasResult = false; *hasResultType = false; break; 2578 case Op::OpHitObjectRecordHitWithIndexMotionNV: *hasResult = false; *hasResultType = false; break; 2579 case Op::OpHitObjectRecordMissMotionNV: *hasResult = false; *hasResultType = false; break; 2580 case Op::OpHitObjectGetWorldToObjectNV: *hasResult = true; *hasResultType = true; break; 2581 case Op::OpHitObjectGetObjectToWorldNV: *hasResult = true; *hasResultType = true; break; 2582 case Op::OpHitObjectGetObjectRayDirectionNV: *hasResult = true; *hasResultType = true; break; 2583 case Op::OpHitObjectGetObjectRayOriginNV: *hasResult = true; *hasResultType = true; break; 2584 case Op::OpHitObjectTraceRayMotionNV: *hasResult = false; *hasResultType = false; break; 2585 case Op::OpHitObjectGetShaderRecordBufferHandleNV: *hasResult = true; *hasResultType = true; break; 2586 case Op::OpHitObjectGetShaderBindingTableRecordIndexNV: *hasResult = true; *hasResultType = true; break; 2587 case Op::OpHitObjectRecordEmptyNV: *hasResult = false; *hasResultType = false; break; 2588 case Op::OpHitObjectTraceRayNV: *hasResult = false; *hasResultType = false; break; 2589 case Op::OpHitObjectRecordHitNV: *hasResult = false; *hasResultType = false; break; 2590 case Op::OpHitObjectRecordHitWithIndexNV: *hasResult = false; *hasResultType = false; break; 2591 case Op::OpHitObjectRecordMissNV: *hasResult = false; *hasResultType = false; break; 2592 case Op::OpHitObjectExecuteShaderNV: *hasResult = false; *hasResultType = false; break; 2593 case Op::OpHitObjectGetCurrentTimeNV: *hasResult = true; *hasResultType = true; break; 2594 case Op::OpHitObjectGetAttributesNV: *hasResult = false; *hasResultType = false; break; 2595 case Op::OpHitObjectGetHitKindNV: *hasResult = true; *hasResultType = true; break; 2596 case Op::OpHitObjectGetPrimitiveIndexNV: *hasResult = true; *hasResultType = true; break; 2597 case Op::OpHitObjectGetGeometryIndexNV: *hasResult = true; *hasResultType = true; break; 2598 case Op::OpHitObjectGetInstanceIdNV: *hasResult = true; *hasResultType = true; break; 2599 case Op::OpHitObjectGetInstanceCustomIndexNV: *hasResult = true; *hasResultType = true; break; 2600 case Op::OpHitObjectGetWorldRayDirectionNV: *hasResult = true; *hasResultType = true; break; 2601 case Op::OpHitObjectGetWorldRayOriginNV: *hasResult = true; *hasResultType = true; break; 2602 case Op::OpHitObjectGetRayTMaxNV: *hasResult = true; *hasResultType = true; break; 2603 case Op::OpHitObjectGetRayTMinNV: *hasResult = true; *hasResultType = true; break; 2604 case Op::OpHitObjectIsEmptyNV: *hasResult = true; *hasResultType = true; break; 2605 case Op::OpHitObjectIsHitNV: *hasResult = true; *hasResultType = true; break; 2606 case Op::OpHitObjectIsMissNV: *hasResult = true; *hasResultType = true; break; 2607 case Op::OpReorderThreadWithHitObjectNV: *hasResult = false; *hasResultType = false; break; 2608 case Op::OpReorderThreadWithHintNV: *hasResult = false; *hasResultType = false; break; 2609 case Op::OpTypeHitObjectNV: *hasResult = true; *hasResultType = false; break; 2610 case Op::OpImageSampleFootprintNV: *hasResult = true; *hasResultType = true; break; 2611 case Op::OpEmitMeshTasksEXT: *hasResult = false; *hasResultType = false; break; 2612 case Op::OpSetMeshOutputsEXT: *hasResult = false; *hasResultType = false; break; 2613 case Op::OpGroupNonUniformPartitionNV: *hasResult = true; *hasResultType = true; break; 2614 case Op::OpWritePackedPrimitiveIndices4x8NV: *hasResult = false; *hasResultType = false; break; 2615 case Op::OpFetchMicroTriangleVertexPositionNV: *hasResult = true; *hasResultType = true; break; 2616 case Op::OpFetchMicroTriangleVertexBarycentricNV: *hasResult = true; *hasResultType = true; break; 2617 case Op::OpReportIntersectionKHR: *hasResult = true; *hasResultType = true; break; 2618 case Op::OpIgnoreIntersectionNV: *hasResult = false; *hasResultType = false; break; 2619 case Op::OpTerminateRayNV: *hasResult = false; *hasResultType = false; break; 2620 case Op::OpTraceNV: *hasResult = false; *hasResultType = false; break; 2621 case Op::OpTraceMotionNV: *hasResult = false; *hasResultType = false; break; 2622 case Op::OpTraceRayMotionNV: *hasResult = false; *hasResultType = false; break; 2623 case Op::OpRayQueryGetIntersectionTriangleVertexPositionsKHR: *hasResult = true; *hasResultType = true; break; 2624 case Op::OpTypeAccelerationStructureKHR: *hasResult = true; *hasResultType = false; break; 2625 case Op::OpExecuteCallableNV: *hasResult = false; *hasResultType = false; break; 2626 case Op::OpTypeCooperativeMatrixNV: *hasResult = true; *hasResultType = false; break; 2627 case Op::OpCooperativeMatrixLoadNV: *hasResult = true; *hasResultType = true; break; 2628 case Op::OpCooperativeMatrixStoreNV: *hasResult = false; *hasResultType = false; break; 2629 case Op::OpCooperativeMatrixMulAddNV: *hasResult = true; *hasResultType = true; break; 2630 case Op::OpCooperativeMatrixLengthNV: *hasResult = true; *hasResultType = true; break; 2631 case Op::OpBeginInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break; 2632 case Op::OpEndInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break; 2633 case Op::OpDemoteToHelperInvocation: *hasResult = false; *hasResultType = false; break; 2634 case Op::OpIsHelperInvocationEXT: *hasResult = true; *hasResultType = true; break; 2635 case Op::OpConvertUToImageNV: *hasResult = true; *hasResultType = true; break; 2636 case Op::OpConvertUToSamplerNV: *hasResult = true; *hasResultType = true; break; 2637 case Op::OpConvertImageToUNV: *hasResult = true; *hasResultType = true; break; 2638 case Op::OpConvertSamplerToUNV: *hasResult = true; *hasResultType = true; break; 2639 case Op::OpConvertUToSampledImageNV: *hasResult = true; *hasResultType = true; break; 2640 case Op::OpConvertSampledImageToUNV: *hasResult = true; *hasResultType = true; break; 2641 case Op::OpSamplerImageAddressingModeNV: *hasResult = false; *hasResultType = false; break; 2642 case Op::OpRawAccessChainNV: *hasResult = true; *hasResultType = true; break; 2643 case Op::OpSubgroupShuffleINTEL: *hasResult = true; *hasResultType = true; break; 2644 case Op::OpSubgroupShuffleDownINTEL: *hasResult = true; *hasResultType = true; break; 2645 case Op::OpSubgroupShuffleUpINTEL: *hasResult = true; *hasResultType = true; break; 2646 case Op::OpSubgroupShuffleXorINTEL: *hasResult = true; *hasResultType = true; break; 2647 case Op::OpSubgroupBlockReadINTEL: *hasResult = true; *hasResultType = true; break; 2648 case Op::OpSubgroupBlockWriteINTEL: *hasResult = false; *hasResultType = false; break; 2649 case Op::OpSubgroupImageBlockReadINTEL: *hasResult = true; *hasResultType = true; break; 2650 case Op::OpSubgroupImageBlockWriteINTEL: *hasResult = false; *hasResultType = false; break; 2651 case Op::OpSubgroupImageMediaBlockReadINTEL: *hasResult = true; *hasResultType = true; break; 2652 case Op::OpSubgroupImageMediaBlockWriteINTEL: *hasResult = false; *hasResultType = false; break; 2653 case Op::OpUCountLeadingZerosINTEL: *hasResult = true; *hasResultType = true; break; 2654 case Op::OpUCountTrailingZerosINTEL: *hasResult = true; *hasResultType = true; break; 2655 case Op::OpAbsISubINTEL: *hasResult = true; *hasResultType = true; break; 2656 case Op::OpAbsUSubINTEL: *hasResult = true; *hasResultType = true; break; 2657 case Op::OpIAddSatINTEL: *hasResult = true; *hasResultType = true; break; 2658 case Op::OpUAddSatINTEL: *hasResult = true; *hasResultType = true; break; 2659 case Op::OpIAverageINTEL: *hasResult = true; *hasResultType = true; break; 2660 case Op::OpUAverageINTEL: *hasResult = true; *hasResultType = true; break; 2661 case Op::OpIAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break; 2662 case Op::OpUAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break; 2663 case Op::OpISubSatINTEL: *hasResult = true; *hasResultType = true; break; 2664 case Op::OpUSubSatINTEL: *hasResult = true; *hasResultType = true; break; 2665 case Op::OpIMul32x16INTEL: *hasResult = true; *hasResultType = true; break; 2666 case Op::OpUMul32x16INTEL: *hasResult = true; *hasResultType = true; break; 2667 case Op::OpConstantFunctionPointerINTEL: *hasResult = true; *hasResultType = true; break; 2668 case Op::OpFunctionPointerCallINTEL: *hasResult = true; *hasResultType = true; break; 2669 case Op::OpAsmTargetINTEL: *hasResult = true; *hasResultType = true; break; 2670 case Op::OpAsmINTEL: *hasResult = true; *hasResultType = true; break; 2671 case Op::OpAsmCallINTEL: *hasResult = true; *hasResultType = true; break; 2672 case Op::OpAtomicFMinEXT: *hasResult = true; *hasResultType = true; break; 2673 case Op::OpAtomicFMaxEXT: *hasResult = true; *hasResultType = true; break; 2674 case Op::OpAssumeTrueKHR: *hasResult = false; *hasResultType = false; break; 2675 case Op::OpExpectKHR: *hasResult = true; *hasResultType = true; break; 2676 case Op::OpDecorateString: *hasResult = false; *hasResultType = false; break; 2677 case Op::OpMemberDecorateString: *hasResult = false; *hasResultType = false; break; 2678 case Op::OpVmeImageINTEL: *hasResult = true; *hasResultType = true; break; 2679 case Op::OpTypeVmeImageINTEL: *hasResult = true; *hasResultType = false; break; 2680 case Op::OpTypeAvcImePayloadINTEL: *hasResult = true; *hasResultType = false; break; 2681 case Op::OpTypeAvcRefPayloadINTEL: *hasResult = true; *hasResultType = false; break; 2682 case Op::OpTypeAvcSicPayloadINTEL: *hasResult = true; *hasResultType = false; break; 2683 case Op::OpTypeAvcMcePayloadINTEL: *hasResult = true; *hasResultType = false; break; 2684 case Op::OpTypeAvcMceResultINTEL: *hasResult = true; *hasResultType = false; break; 2685 case Op::OpTypeAvcImeResultINTEL: *hasResult = true; *hasResultType = false; break; 2686 case Op::OpTypeAvcImeResultSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break; 2687 case Op::OpTypeAvcImeResultDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break; 2688 case Op::OpTypeAvcImeSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break; 2689 case Op::OpTypeAvcImeDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break; 2690 case Op::OpTypeAvcRefResultINTEL: *hasResult = true; *hasResultType = false; break; 2691 case Op::OpTypeAvcSicResultINTEL: *hasResult = true; *hasResultType = false; break; 2692 case Op::OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break; 2693 case Op::OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break; 2694 case Op::OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break; 2695 case Op::OpSubgroupAvcMceSetInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break; 2696 case Op::OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break; 2697 case Op::OpSubgroupAvcMceSetInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break; 2698 case Op::OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break; 2699 case Op::OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL: *hasResult = true; *hasResultType = true; break; 2700 case Op::OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break; 2701 case Op::OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break; 2702 case Op::OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break; 2703 case Op::OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL: *hasResult = true; *hasResultType = true; break; 2704 case Op::OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL: *hasResult = true; *hasResultType = true; break; 2705 case Op::OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL: *hasResult = true; *hasResultType = true; break; 2706 case Op::OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL: *hasResult = true; *hasResultType = true; break; 2707 case Op::OpSubgroupAvcMceSetAcOnlyHaarINTEL: *hasResult = true; *hasResultType = true; break; 2708 case Op::OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break; 2709 case Op::OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break; 2710 case Op::OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break; 2711 case Op::OpSubgroupAvcMceConvertToImePayloadINTEL: *hasResult = true; *hasResultType = true; break; 2712 case Op::OpSubgroupAvcMceConvertToImeResultINTEL: *hasResult = true; *hasResultType = true; break; 2713 case Op::OpSubgroupAvcMceConvertToRefPayloadINTEL: *hasResult = true; *hasResultType = true; break; 2714 case Op::OpSubgroupAvcMceConvertToRefResultINTEL: *hasResult = true; *hasResultType = true; break; 2715 case Op::OpSubgroupAvcMceConvertToSicPayloadINTEL: *hasResult = true; *hasResultType = true; break; 2716 case Op::OpSubgroupAvcMceConvertToSicResultINTEL: *hasResult = true; *hasResultType = true; break; 2717 case Op::OpSubgroupAvcMceGetMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break; 2718 case Op::OpSubgroupAvcMceGetInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break; 2719 case Op::OpSubgroupAvcMceGetBestInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break; 2720 case Op::OpSubgroupAvcMceGetInterMajorShapeINTEL: *hasResult = true; *hasResultType = true; break; 2721 case Op::OpSubgroupAvcMceGetInterMinorShapeINTEL: *hasResult = true; *hasResultType = true; break; 2722 case Op::OpSubgroupAvcMceGetInterDirectionsINTEL: *hasResult = true; *hasResultType = true; break; 2723 case Op::OpSubgroupAvcMceGetInterMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break; 2724 case Op::OpSubgroupAvcMceGetInterReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break; 2725 case Op::OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break; 2726 case Op::OpSubgroupAvcImeInitializeINTEL: *hasResult = true; *hasResultType = true; break; 2727 case Op::OpSubgroupAvcImeSetSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break; 2728 case Op::OpSubgroupAvcImeSetDualReferenceINTEL: *hasResult = true; *hasResultType = true; break; 2729 case Op::OpSubgroupAvcImeRefWindowSizeINTEL: *hasResult = true; *hasResultType = true; break; 2730 case Op::OpSubgroupAvcImeAdjustRefOffsetINTEL: *hasResult = true; *hasResultType = true; break; 2731 case Op::OpSubgroupAvcImeConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break; 2732 case Op::OpSubgroupAvcImeSetMaxMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break; 2733 case Op::OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break; 2734 case Op::OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL: *hasResult = true; *hasResultType = true; break; 2735 case Op::OpSubgroupAvcImeSetWeightedSadINTEL: *hasResult = true; *hasResultType = true; break; 2736 case Op::OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break; 2737 case Op::OpSubgroupAvcImeEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break; 2738 case Op::OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break; 2739 case Op::OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break; 2740 case Op::OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break; 2741 case Op::OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break; 2742 case Op::OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break; 2743 case Op::OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break; 2744 case Op::OpSubgroupAvcImeConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break; 2745 case Op::OpSubgroupAvcImeGetSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break; 2746 case Op::OpSubgroupAvcImeGetDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break; 2747 case Op::OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break; 2748 case Op::OpSubgroupAvcImeStripDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break; 2749 case Op::OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break; 2750 case Op::OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break; 2751 case Op::OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break; 2752 case Op::OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break; 2753 case Op::OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break; 2754 case Op::OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break; 2755 case Op::OpSubgroupAvcImeGetBorderReachedINTEL: *hasResult = true; *hasResultType = true; break; 2756 case Op::OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL: *hasResult = true; *hasResultType = true; break; 2757 case Op::OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL: *hasResult = true; *hasResultType = true; break; 2758 case Op::OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL: *hasResult = true; *hasResultType = true; break; 2759 case Op::OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL: *hasResult = true; *hasResultType = true; break; 2760 case Op::OpSubgroupAvcFmeInitializeINTEL: *hasResult = true; *hasResultType = true; break; 2761 case Op::OpSubgroupAvcBmeInitializeINTEL: *hasResult = true; *hasResultType = true; break; 2762 case Op::OpSubgroupAvcRefConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break; 2763 case Op::OpSubgroupAvcRefSetBidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break; 2764 case Op::OpSubgroupAvcRefSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break; 2765 case Op::OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break; 2766 case Op::OpSubgroupAvcRefEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break; 2767 case Op::OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break; 2768 case Op::OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break; 2769 case Op::OpSubgroupAvcRefConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break; 2770 case Op::OpSubgroupAvcSicInitializeINTEL: *hasResult = true; *hasResultType = true; break; 2771 case Op::OpSubgroupAvcSicConfigureSkcINTEL: *hasResult = true; *hasResultType = true; break; 2772 case Op::OpSubgroupAvcSicConfigureIpeLumaINTEL: *hasResult = true; *hasResultType = true; break; 2773 case Op::OpSubgroupAvcSicConfigureIpeLumaChromaINTEL: *hasResult = true; *hasResultType = true; break; 2774 case Op::OpSubgroupAvcSicGetMotionVectorMaskINTEL: *hasResult = true; *hasResultType = true; break; 2775 case Op::OpSubgroupAvcSicConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break; 2776 case Op::OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break; 2777 case Op::OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break; 2778 case Op::OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break; 2779 case Op::OpSubgroupAvcSicSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break; 2780 case Op::OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL: *hasResult = true; *hasResultType = true; break; 2781 case Op::OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL: *hasResult = true; *hasResultType = true; break; 2782 case Op::OpSubgroupAvcSicEvaluateIpeINTEL: *hasResult = true; *hasResultType = true; break; 2783 case Op::OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break; 2784 case Op::OpSubgroupAvcSicEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break; 2785 case Op::OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break; 2786 case Op::OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break; 2787 case Op::OpSubgroupAvcSicConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break; 2788 case Op::OpSubgroupAvcSicGetIpeLumaShapeINTEL: *hasResult = true; *hasResultType = true; break; 2789 case Op::OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL: *hasResult = true; *hasResultType = true; break; 2790 case Op::OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL: *hasResult = true; *hasResultType = true; break; 2791 case Op::OpSubgroupAvcSicGetPackedIpeLumaModesINTEL: *hasResult = true; *hasResultType = true; break; 2792 case Op::OpSubgroupAvcSicGetIpeChromaModeINTEL: *hasResult = true; *hasResultType = true; break; 2793 case Op::OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: *hasResult = true; *hasResultType = true; break; 2794 case Op::OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: *hasResult = true; *hasResultType = true; break; 2795 case Op::OpSubgroupAvcSicGetInterRawSadsINTEL: *hasResult = true; *hasResultType = true; break; 2796 case Op::OpVariableLengthArrayINTEL: *hasResult = true; *hasResultType = true; break; 2797 case Op::OpSaveMemoryINTEL: *hasResult = true; *hasResultType = true; break; 2798 case Op::OpRestoreMemoryINTEL: *hasResult = false; *hasResultType = false; break; 2799 case Op::OpArbitraryFloatSinCosPiINTEL: *hasResult = true; *hasResultType = true; break; 2800 case Op::OpArbitraryFloatCastINTEL: *hasResult = true; *hasResultType = true; break; 2801 case Op::OpArbitraryFloatCastFromIntINTEL: *hasResult = true; *hasResultType = true; break; 2802 case Op::OpArbitraryFloatCastToIntINTEL: *hasResult = true; *hasResultType = true; break; 2803 case Op::OpArbitraryFloatAddINTEL: *hasResult = true; *hasResultType = true; break; 2804 case Op::OpArbitraryFloatSubINTEL: *hasResult = true; *hasResultType = true; break; 2805 case Op::OpArbitraryFloatMulINTEL: *hasResult = true; *hasResultType = true; break; 2806 case Op::OpArbitraryFloatDivINTEL: *hasResult = true; *hasResultType = true; break; 2807 case Op::OpArbitraryFloatGTINTEL: *hasResult = true; *hasResultType = true; break; 2808 case Op::OpArbitraryFloatGEINTEL: *hasResult = true; *hasResultType = true; break; 2809 case Op::OpArbitraryFloatLTINTEL: *hasResult = true; *hasResultType = true; break; 2810 case Op::OpArbitraryFloatLEINTEL: *hasResult = true; *hasResultType = true; break; 2811 case Op::OpArbitraryFloatEQINTEL: *hasResult = true; *hasResultType = true; break; 2812 case Op::OpArbitraryFloatRecipINTEL: *hasResult = true; *hasResultType = true; break; 2813 case Op::OpArbitraryFloatRSqrtINTEL: *hasResult = true; *hasResultType = true; break; 2814 case Op::OpArbitraryFloatCbrtINTEL: *hasResult = true; *hasResultType = true; break; 2815 case Op::OpArbitraryFloatHypotINTEL: *hasResult = true; *hasResultType = true; break; 2816 case Op::OpArbitraryFloatSqrtINTEL: *hasResult = true; *hasResultType = true; break; 2817 case Op::OpArbitraryFloatLogINTEL: *hasResult = true; *hasResultType = true; break; 2818 case Op::OpArbitraryFloatLog2INTEL: *hasResult = true; *hasResultType = true; break; 2819 case Op::OpArbitraryFloatLog10INTEL: *hasResult = true; *hasResultType = true; break; 2820 case Op::OpArbitraryFloatLog1pINTEL: *hasResult = true; *hasResultType = true; break; 2821 case Op::OpArbitraryFloatExpINTEL: *hasResult = true; *hasResultType = true; break; 2822 case Op::OpArbitraryFloatExp2INTEL: *hasResult = true; *hasResultType = true; break; 2823 case Op::OpArbitraryFloatExp10INTEL: *hasResult = true; *hasResultType = true; break; 2824 case Op::OpArbitraryFloatExpm1INTEL: *hasResult = true; *hasResultType = true; break; 2825 case Op::OpArbitraryFloatSinINTEL: *hasResult = true; *hasResultType = true; break; 2826 case Op::OpArbitraryFloatCosINTEL: *hasResult = true; *hasResultType = true; break; 2827 case Op::OpArbitraryFloatSinCosINTEL: *hasResult = true; *hasResultType = true; break; 2828 case Op::OpArbitraryFloatSinPiINTEL: *hasResult = true; *hasResultType = true; break; 2829 case Op::OpArbitraryFloatCosPiINTEL: *hasResult = true; *hasResultType = true; break; 2830 case Op::OpArbitraryFloatASinINTEL: *hasResult = true; *hasResultType = true; break; 2831 case Op::OpArbitraryFloatASinPiINTEL: *hasResult = true; *hasResultType = true; break; 2832 case Op::OpArbitraryFloatACosINTEL: *hasResult = true; *hasResultType = true; break; 2833 case Op::OpArbitraryFloatACosPiINTEL: *hasResult = true; *hasResultType = true; break; 2834 case Op::OpArbitraryFloatATanINTEL: *hasResult = true; *hasResultType = true; break; 2835 case Op::OpArbitraryFloatATanPiINTEL: *hasResult = true; *hasResultType = true; break; 2836 case Op::OpArbitraryFloatATan2INTEL: *hasResult = true; *hasResultType = true; break; 2837 case Op::OpArbitraryFloatPowINTEL: *hasResult = true; *hasResultType = true; break; 2838 case Op::OpArbitraryFloatPowRINTEL: *hasResult = true; *hasResultType = true; break; 2839 case Op::OpArbitraryFloatPowNINTEL: *hasResult = true; *hasResultType = true; break; 2840 case Op::OpLoopControlINTEL: *hasResult = false; *hasResultType = false; break; 2841 case Op::OpAliasDomainDeclINTEL: *hasResult = true; *hasResultType = false; break; 2842 case Op::OpAliasScopeDeclINTEL: *hasResult = true; *hasResultType = false; break; 2843 case Op::OpAliasScopeListDeclINTEL: *hasResult = true; *hasResultType = false; break; 2844 case Op::OpFixedSqrtINTEL: *hasResult = true; *hasResultType = true; break; 2845 case Op::OpFixedRecipINTEL: *hasResult = true; *hasResultType = true; break; 2846 case Op::OpFixedRsqrtINTEL: *hasResult = true; *hasResultType = true; break; 2847 case Op::OpFixedSinINTEL: *hasResult = true; *hasResultType = true; break; 2848 case Op::OpFixedCosINTEL: *hasResult = true; *hasResultType = true; break; 2849 case Op::OpFixedSinCosINTEL: *hasResult = true; *hasResultType = true; break; 2850 case Op::OpFixedSinPiINTEL: *hasResult = true; *hasResultType = true; break; 2851 case Op::OpFixedCosPiINTEL: *hasResult = true; *hasResultType = true; break; 2852 case Op::OpFixedSinCosPiINTEL: *hasResult = true; *hasResultType = true; break; 2853 case Op::OpFixedLogINTEL: *hasResult = true; *hasResultType = true; break; 2854 case Op::OpFixedExpINTEL: *hasResult = true; *hasResultType = true; break; 2855 case Op::OpPtrCastToCrossWorkgroupINTEL: *hasResult = true; *hasResultType = true; break; 2856 case Op::OpCrossWorkgroupCastToPtrINTEL: *hasResult = true; *hasResultType = true; break; 2857 case Op::OpReadPipeBlockingINTEL: *hasResult = true; *hasResultType = true; break; 2858 case Op::OpWritePipeBlockingINTEL: *hasResult = true; *hasResultType = true; break; 2859 case Op::OpFPGARegINTEL: *hasResult = true; *hasResultType = true; break; 2860 case Op::OpRayQueryGetRayTMinKHR: *hasResult = true; *hasResultType = true; break; 2861 case Op::OpRayQueryGetRayFlagsKHR: *hasResult = true; *hasResultType = true; break; 2862 case Op::OpRayQueryGetIntersectionTKHR: *hasResult = true; *hasResultType = true; break; 2863 case Op::OpRayQueryGetIntersectionInstanceCustomIndexKHR: *hasResult = true; *hasResultType = true; break; 2864 case Op::OpRayQueryGetIntersectionInstanceIdKHR: *hasResult = true; *hasResultType = true; break; 2865 case Op::OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR: *hasResult = true; *hasResultType = true; break; 2866 case Op::OpRayQueryGetIntersectionGeometryIndexKHR: *hasResult = true; *hasResultType = true; break; 2867 case Op::OpRayQueryGetIntersectionPrimitiveIndexKHR: *hasResult = true; *hasResultType = true; break; 2868 case Op::OpRayQueryGetIntersectionBarycentricsKHR: *hasResult = true; *hasResultType = true; break; 2869 case Op::OpRayQueryGetIntersectionFrontFaceKHR: *hasResult = true; *hasResultType = true; break; 2870 case Op::OpRayQueryGetIntersectionCandidateAABBOpaqueKHR: *hasResult = true; *hasResultType = true; break; 2871 case Op::OpRayQueryGetIntersectionObjectRayDirectionKHR: *hasResult = true; *hasResultType = true; break; 2872 case Op::OpRayQueryGetIntersectionObjectRayOriginKHR: *hasResult = true; *hasResultType = true; break; 2873 case Op::OpRayQueryGetWorldRayDirectionKHR: *hasResult = true; *hasResultType = true; break; 2874 case Op::OpRayQueryGetWorldRayOriginKHR: *hasResult = true; *hasResultType = true; break; 2875 case Op::OpRayQueryGetIntersectionObjectToWorldKHR: *hasResult = true; *hasResultType = true; break; 2876 case Op::OpRayQueryGetIntersectionWorldToObjectKHR: *hasResult = true; *hasResultType = true; break; 2877 case Op::OpAtomicFAddEXT: *hasResult = true; *hasResultType = true; break; 2878 case Op::OpTypeBufferSurfaceINTEL: *hasResult = true; *hasResultType = false; break; 2879 case Op::OpTypeStructContinuedINTEL: *hasResult = false; *hasResultType = false; break; 2880 case Op::OpConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break; 2881 case Op::OpSpecConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break; 2882 case Op::OpCompositeConstructContinuedINTEL: *hasResult = true; *hasResultType = true; break; 2883 case Op::OpConvertFToBF16INTEL: *hasResult = true; *hasResultType = true; break; 2884 case Op::OpConvertBF16ToFINTEL: *hasResult = true; *hasResultType = true; break; 2885 case Op::OpControlBarrierArriveINTEL: *hasResult = false; *hasResultType = false; break; 2886 case Op::OpControlBarrierWaitINTEL: *hasResult = false; *hasResultType = false; break; 2887 case Op::OpGroupIMulKHR: *hasResult = true; *hasResultType = true; break; 2888 case Op::OpGroupFMulKHR: *hasResult = true; *hasResultType = true; break; 2889 case Op::OpGroupBitwiseAndKHR: *hasResult = true; *hasResultType = true; break; 2890 case Op::OpGroupBitwiseOrKHR: *hasResult = true; *hasResultType = true; break; 2891 case Op::OpGroupBitwiseXorKHR: *hasResult = true; *hasResultType = true; break; 2892 case Op::OpGroupLogicalAndKHR: *hasResult = true; *hasResultType = true; break; 2893 case Op::OpGroupLogicalOrKHR: *hasResult = true; *hasResultType = true; break; 2894 case Op::OpGroupLogicalXorKHR: *hasResult = true; *hasResultType = true; break; 2895 case Op::OpMaskedGatherINTEL: *hasResult = true; *hasResultType = true; break; 2896 case Op::OpMaskedScatterINTEL: *hasResult = false; *hasResultType = false; break; 2897 } 2898} 2899inline const char* SourceLanguageToString(SourceLanguage value) { 2900 switch (value) { 2901 case SourceLanguageUnknown: return "Unknown"; 2902 case SourceLanguageESSL: return "ESSL"; 2903 case SourceLanguageGLSL: return "GLSL"; 2904 case SourceLanguageOpenCL_C: return "OpenCL_C"; 2905 case SourceLanguageOpenCL_CPP: return "OpenCL_CPP"; 2906 case SourceLanguageHLSL: return "HLSL"; 2907 case SourceLanguageCPP_for_OpenCL: return "CPP_for_OpenCL"; 2908 case SourceLanguageSYCL: return "SYCL"; 2909 case SourceLanguageHERO_C: return "HERO_C"; 2910 case SourceLanguageNZSL: return "NZSL"; 2911 case SourceLanguageWGSL: return "WGSL"; 2912 case SourceLanguageSlang: return "Slang"; 2913 case SourceLanguageZig: return "Zig"; 2914 default: return "Unknown"; 2915 } 2916} 2917 2918inline const char* ExecutionModelToString(ExecutionModel value) { 2919 switch (value) { 2920 case ExecutionModelVertex: return "Vertex"; 2921 case ExecutionModelTessellationControl: return "TessellationControl"; 2922 case ExecutionModelTessellationEvaluation: return "TessellationEvaluation"; 2923 case ExecutionModelGeometry: return "Geometry"; 2924 case ExecutionModelFragment: return "Fragment"; 2925 case ExecutionModelGLCompute: return "GLCompute"; 2926 case ExecutionModelKernel: return "Kernel"; 2927 case ExecutionModelTaskNV: return "TaskNV"; 2928 case ExecutionModelMeshNV: return "MeshNV"; 2929 case ExecutionModelRayGenerationKHR: return "RayGenerationKHR"; 2930 case ExecutionModelIntersectionKHR: return "IntersectionKHR"; 2931 case ExecutionModelAnyHitKHR: return "AnyHitKHR"; 2932 case ExecutionModelClosestHitKHR: return "ClosestHitKHR"; 2933 case ExecutionModelMissKHR: return "MissKHR"; 2934 case ExecutionModelCallableKHR: return "CallableKHR"; 2935 case ExecutionModelTaskEXT: return "TaskEXT"; 2936 case ExecutionModelMeshEXT: return "MeshEXT"; 2937 default: return "Unknown"; 2938 } 2939} 2940 2941inline const char* AddressingModelToString(AddressingModel value) { 2942 switch (value) { 2943 case AddressingModelLogical: return "Logical"; 2944 case AddressingModelPhysical32: return "Physical32"; 2945 case AddressingModelPhysical64: return "Physical64"; 2946 case AddressingModelPhysicalStorageBuffer64: return "PhysicalStorageBuffer64"; 2947 default: return "Unknown"; 2948 } 2949} 2950 2951inline const char* MemoryModelToString(MemoryModel value) { 2952 switch (value) { 2953 case MemoryModelSimple: return "Simple"; 2954 case MemoryModelGLSL450: return "GLSL450"; 2955 case MemoryModelOpenCL: return "OpenCL"; 2956 case MemoryModelVulkan: return "Vulkan"; 2957 default: return "Unknown"; 2958 } 2959} 2960 2961inline const char* ExecutionModeToString(ExecutionMode value) { 2962 switch (value) { 2963 case ExecutionModeInvocations: return "Invocations"; 2964 case ExecutionModeSpacingEqual: return "SpacingEqual"; 2965 case ExecutionModeSpacingFractionalEven: return "SpacingFractionalEven"; 2966 case ExecutionModeSpacingFractionalOdd: return "SpacingFractionalOdd"; 2967 case ExecutionModeVertexOrderCw: return "VertexOrderCw"; 2968 case ExecutionModeVertexOrderCcw: return "VertexOrderCcw"; 2969 case ExecutionModePixelCenterInteger: return "PixelCenterInteger"; 2970 case ExecutionModeOriginUpperLeft: return "OriginUpperLeft"; 2971 case ExecutionModeOriginLowerLeft: return "OriginLowerLeft"; 2972 case ExecutionModeEarlyFragmentTests: return "EarlyFragmentTests"; 2973 case ExecutionModePointMode: return "PointMode"; 2974 case ExecutionModeXfb: return "Xfb"; 2975 case ExecutionModeDepthReplacing: return "DepthReplacing"; 2976 case ExecutionModeDepthGreater: return "DepthGreater"; 2977 case ExecutionModeDepthLess: return "DepthLess"; 2978 case ExecutionModeDepthUnchanged: return "DepthUnchanged"; 2979 case ExecutionModeLocalSize: return "LocalSize"; 2980 case ExecutionModeLocalSizeHint: return "LocalSizeHint"; 2981 case ExecutionModeInputPoints: return "InputPoints"; 2982 case ExecutionModeInputLines: return "InputLines"; 2983 case ExecutionModeInputLinesAdjacency: return "InputLinesAdjacency"; 2984 case ExecutionModeTriangles: return "Triangles"; 2985 case ExecutionModeInputTrianglesAdjacency: return "InputTrianglesAdjacency"; 2986 case ExecutionModeQuads: return "Quads"; 2987 case ExecutionModeIsolines: return "Isolines"; 2988 case ExecutionModeOutputVertices: return "OutputVertices"; 2989 case ExecutionModeOutputPoints: return "OutputPoints"; 2990 case ExecutionModeOutputLineStrip: return "OutputLineStrip"; 2991 case ExecutionModeOutputTriangleStrip: return "OutputTriangleStrip"; 2992 case ExecutionModeVecTypeHint: return "VecTypeHint"; 2993 case ExecutionModeContractionOff: return "ContractionOff"; 2994 case ExecutionModeInitializer: return "Initializer"; 2995 case ExecutionModeFinalizer: return "Finalizer"; 2996 case ExecutionModeSubgroupSize: return "SubgroupSize"; 2997 case ExecutionModeSubgroupsPerWorkgroup: return "SubgroupsPerWorkgroup"; 2998 case ExecutionModeSubgroupsPerWorkgroupId: return "SubgroupsPerWorkgroupId"; 2999 case ExecutionModeLocalSizeId: return "LocalSizeId"; 3000 case ExecutionModeLocalSizeHintId: return "LocalSizeHintId"; 3001 case ExecutionModeNonCoherentColorAttachmentReadEXT: return "NonCoherentColorAttachmentReadEXT"; 3002 case ExecutionModeNonCoherentDepthAttachmentReadEXT: return "NonCoherentDepthAttachmentReadEXT"; 3003 case ExecutionModeNonCoherentStencilAttachmentReadEXT: return "NonCoherentStencilAttachmentReadEXT"; 3004 case ExecutionModeSubgroupUniformControlFlowKHR: return "SubgroupUniformControlFlowKHR"; 3005 case ExecutionModePostDepthCoverage: return "PostDepthCoverage"; 3006 case ExecutionModeDenormPreserve: return "DenormPreserve"; 3007 case ExecutionModeDenormFlushToZero: return "DenormFlushToZero"; 3008 case ExecutionModeSignedZeroInfNanPreserve: return "SignedZeroInfNanPreserve"; 3009 case ExecutionModeRoundingModeRTE: return "RoundingModeRTE"; 3010 case ExecutionModeRoundingModeRTZ: return "RoundingModeRTZ"; 3011 case ExecutionModeEarlyAndLateFragmentTestsAMD: return "EarlyAndLateFragmentTestsAMD"; 3012 case ExecutionModeStencilRefReplacingEXT: return "StencilRefReplacingEXT"; 3013 case ExecutionModeCoalescingAMDX: return "CoalescingAMDX"; 3014 case ExecutionModeMaxNodeRecursionAMDX: return "MaxNodeRecursionAMDX"; 3015 case ExecutionModeStaticNumWorkgroupsAMDX: return "StaticNumWorkgroupsAMDX"; 3016 case ExecutionModeShaderIndexAMDX: return "ShaderIndexAMDX"; 3017 case ExecutionModeMaxNumWorkgroupsAMDX: return "MaxNumWorkgroupsAMDX"; 3018 case ExecutionModeStencilRefUnchangedFrontAMD: return "StencilRefUnchangedFrontAMD"; 3019 case ExecutionModeStencilRefGreaterFrontAMD: return "StencilRefGreaterFrontAMD"; 3020 case ExecutionModeStencilRefLessFrontAMD: return "StencilRefLessFrontAMD"; 3021 case ExecutionModeStencilRefUnchangedBackAMD: return "StencilRefUnchangedBackAMD"; 3022 case ExecutionModeStencilRefGreaterBackAMD: return "StencilRefGreaterBackAMD"; 3023 case ExecutionModeStencilRefLessBackAMD: return "StencilRefLessBackAMD"; 3024 case ExecutionModeQuadDerivativesKHR: return "QuadDerivativesKHR"; 3025 case ExecutionModeRequireFullQuadsKHR: return "RequireFullQuadsKHR"; 3026 case ExecutionModeOutputLinesEXT: return "OutputLinesEXT"; 3027 case ExecutionModeOutputPrimitivesEXT: return "OutputPrimitivesEXT"; 3028 case ExecutionModeDerivativeGroupQuadsNV: return "DerivativeGroupQuadsNV"; 3029 case ExecutionModeDerivativeGroupLinearNV: return "DerivativeGroupLinearNV"; 3030 case ExecutionModeOutputTrianglesEXT: return "OutputTrianglesEXT"; 3031 case ExecutionModePixelInterlockOrderedEXT: return "PixelInterlockOrderedEXT"; 3032 case ExecutionModePixelInterlockUnorderedEXT: return "PixelInterlockUnorderedEXT"; 3033 case ExecutionModeSampleInterlockOrderedEXT: return "SampleInterlockOrderedEXT"; 3034 case ExecutionModeSampleInterlockUnorderedEXT: return "SampleInterlockUnorderedEXT"; 3035 case ExecutionModeShadingRateInterlockOrderedEXT: return "ShadingRateInterlockOrderedEXT"; 3036 case ExecutionModeShadingRateInterlockUnorderedEXT: return "ShadingRateInterlockUnorderedEXT"; 3037 case ExecutionModeSharedLocalMemorySizeINTEL: return "SharedLocalMemorySizeINTEL"; 3038 case ExecutionModeRoundingModeRTPINTEL: return "RoundingModeRTPINTEL"; 3039 case ExecutionModeRoundingModeRTNINTEL: return "RoundingModeRTNINTEL"; 3040 case ExecutionModeFloatingPointModeALTINTEL: return "FloatingPointModeALTINTEL"; 3041 case ExecutionModeFloatingPointModeIEEEINTEL: return "FloatingPointModeIEEEINTEL"; 3042 case ExecutionModeMaxWorkgroupSizeINTEL: return "MaxWorkgroupSizeINTEL"; 3043 case ExecutionModeMaxWorkDimINTEL: return "MaxWorkDimINTEL"; 3044 case ExecutionModeNoGlobalOffsetINTEL: return "NoGlobalOffsetINTEL"; 3045 case ExecutionModeNumSIMDWorkitemsINTEL: return "NumSIMDWorkitemsINTEL"; 3046 case ExecutionModeSchedulerTargetFmaxMhzINTEL: return "SchedulerTargetFmaxMhzINTEL"; 3047 case ExecutionModeMaximallyReconvergesKHR: return "MaximallyReconvergesKHR"; 3048 case ExecutionModeFPFastMathDefault: return "FPFastMathDefault"; 3049 case ExecutionModeStreamingInterfaceINTEL: return "StreamingInterfaceINTEL"; 3050 case ExecutionModeRegisterMapInterfaceINTEL: return "RegisterMapInterfaceINTEL"; 3051 case ExecutionModeNamedBarrierCountINTEL: return "NamedBarrierCountINTEL"; 3052 case ExecutionModeMaximumRegistersINTEL: return "MaximumRegistersINTEL"; 3053 case ExecutionModeMaximumRegistersIdINTEL: return "MaximumRegistersIdINTEL"; 3054 case ExecutionModeNamedMaximumRegistersINTEL: return "NamedMaximumRegistersINTEL"; 3055 default: return "Unknown"; 3056 } 3057} 3058 3059inline const char* StorageClassToString(StorageClass value) { 3060 switch (value) { 3061 case StorageClassUniformConstant: return "UniformConstant"; 3062 case StorageClassInput: return "Input"; 3063 case StorageClassUniform: return "Uniform"; 3064 case StorageClassOutput: return "Output"; 3065 case StorageClassWorkgroup: return "Workgroup"; 3066 case StorageClassCrossWorkgroup: return "CrossWorkgroup"; 3067 case StorageClassPrivate: return "Private"; 3068 case StorageClassFunction: return "Function"; 3069 case StorageClassGeneric: return "Generic"; 3070 case StorageClassPushConstant: return "PushConstant"; 3071 case StorageClassAtomicCounter: return "AtomicCounter"; 3072 case StorageClassImage: return "Image"; 3073 case StorageClassStorageBuffer: return "StorageBuffer"; 3074 case StorageClassTileImageEXT: return "TileImageEXT"; 3075 case StorageClassNodePayloadAMDX: return "NodePayloadAMDX"; 3076 case StorageClassNodeOutputPayloadAMDX: return "NodeOutputPayloadAMDX"; 3077 case StorageClassCallableDataKHR: return "CallableDataKHR"; 3078 case StorageClassIncomingCallableDataKHR: return "IncomingCallableDataKHR"; 3079 case StorageClassRayPayloadKHR: return "RayPayloadKHR"; 3080 case StorageClassHitAttributeKHR: return "HitAttributeKHR"; 3081 case StorageClassIncomingRayPayloadKHR: return "IncomingRayPayloadKHR"; 3082 case StorageClassShaderRecordBufferKHR: return "ShaderRecordBufferKHR"; 3083 case StorageClassPhysicalStorageBuffer: return "PhysicalStorageBuffer"; 3084 case StorageClassHitObjectAttributeNV: return "HitObjectAttributeNV"; 3085 case StorageClassTaskPayloadWorkgroupEXT: return "TaskPayloadWorkgroupEXT"; 3086 case StorageClassCodeSectionINTEL: return "CodeSectionINTEL"; 3087 case StorageClassDeviceOnlyINTEL: return "DeviceOnlyINTEL"; 3088 case StorageClassHostOnlyINTEL: return "HostOnlyINTEL"; 3089 default: return "Unknown"; 3090 } 3091} 3092 3093inline const char* DimToString(Dim value) { 3094 switch (value) { 3095 case Dim1D: return "1D"; 3096 case Dim2D: return "2D"; 3097 case Dim3D: return "3D"; 3098 case DimCube: return "Cube"; 3099 case DimRect: return "Rect"; 3100 case DimBuffer: return "Buffer"; 3101 case DimSubpassData: return "SubpassData"; 3102 case DimTileImageDataEXT: return "TileImageDataEXT"; 3103 default: return "Unknown"; 3104 } 3105} 3106 3107inline const char* SamplerAddressingModeToString(SamplerAddressingMode value) { 3108 switch (value) { 3109 case SamplerAddressingModeNone: return "None"; 3110 case SamplerAddressingModeClampToEdge: return "ClampToEdge"; 3111 case SamplerAddressingModeClamp: return "Clamp"; 3112 case SamplerAddressingModeRepeat: return "Repeat"; 3113 case SamplerAddressingModeRepeatMirrored: return "RepeatMirrored"; 3114 default: return "Unknown"; 3115 } 3116} 3117 3118inline const char* SamplerFilterModeToString(SamplerFilterMode value) { 3119 switch (value) { 3120 case SamplerFilterModeNearest: return "Nearest"; 3121 case SamplerFilterModeLinear: return "Linear"; 3122 default: return "Unknown"; 3123 } 3124} 3125 3126inline const char* ImageFormatToString(ImageFormat value) { 3127 switch (value) { 3128 case ImageFormatUnknown: return "Unknown"; 3129 case ImageFormatRgba32f: return "Rgba32f"; 3130 case ImageFormatRgba16f: return "Rgba16f"; 3131 case ImageFormatR32f: return "R32f"; 3132 case ImageFormatRgba8: return "Rgba8"; 3133 case ImageFormatRgba8Snorm: return "Rgba8Snorm"; 3134 case ImageFormatRg32f: return "Rg32f"; 3135 case ImageFormatRg16f: return "Rg16f"; 3136 case ImageFormatR11fG11fB10f: return "R11fG11fB10f"; 3137 case ImageFormatR16f: return "R16f"; 3138 case ImageFormatRgba16: return "Rgba16"; 3139 case ImageFormatRgb10A2: return "Rgb10A2"; 3140 case ImageFormatRg16: return "Rg16"; 3141 case ImageFormatRg8: return "Rg8"; 3142 case ImageFormatR16: return "R16"; 3143 case ImageFormatR8: return "R8"; 3144 case ImageFormatRgba16Snorm: return "Rgba16Snorm"; 3145 case ImageFormatRg16Snorm: return "Rg16Snorm"; 3146 case ImageFormatRg8Snorm: return "Rg8Snorm"; 3147 case ImageFormatR16Snorm: return "R16Snorm"; 3148 case ImageFormatR8Snorm: return "R8Snorm"; 3149 case ImageFormatRgba32i: return "Rgba32i"; 3150 case ImageFormatRgba16i: return "Rgba16i"; 3151 case ImageFormatRgba8i: return "Rgba8i"; 3152 case ImageFormatR32i: return "R32i"; 3153 case ImageFormatRg32i: return "Rg32i"; 3154 case ImageFormatRg16i: return "Rg16i"; 3155 case ImageFormatRg8i: return "Rg8i"; 3156 case ImageFormatR16i: return "R16i"; 3157 case ImageFormatR8i: return "R8i"; 3158 case ImageFormatRgba32ui: return "Rgba32ui"; 3159 case ImageFormatRgba16ui: return "Rgba16ui"; 3160 case ImageFormatRgba8ui: return "Rgba8ui"; 3161 case ImageFormatR32ui: return "R32ui"; 3162 case ImageFormatRgb10a2ui: return "Rgb10a2ui"; 3163 case ImageFormatRg32ui: return "Rg32ui"; 3164 case ImageFormatRg16ui: return "Rg16ui"; 3165 case ImageFormatRg8ui: return "Rg8ui"; 3166 case ImageFormatR16ui: return "R16ui"; 3167 case ImageFormatR8ui: return "R8ui"; 3168 case ImageFormatR64ui: return "R64ui"; 3169 case ImageFormatR64i: return "R64i"; 3170 default: return "Unknown"; 3171 } 3172} 3173 3174inline const char* ImageChannelOrderToString(ImageChannelOrder value) { 3175 switch (value) { 3176 case ImageChannelOrderR: return "R"; 3177 case ImageChannelOrderA: return "A"; 3178 case ImageChannelOrderRG: return "RG"; 3179 case ImageChannelOrderRA: return "RA"; 3180 case ImageChannelOrderRGB: return "RGB"; 3181 case ImageChannelOrderRGBA: return "RGBA"; 3182 case ImageChannelOrderBGRA: return "BGRA"; 3183 case ImageChannelOrderARGB: return "ARGB"; 3184 case ImageChannelOrderIntensity: return "Intensity"; 3185 case ImageChannelOrderLuminance: return "Luminance"; 3186 case ImageChannelOrderRx: return "Rx"; 3187 case ImageChannelOrderRGx: return "RGx"; 3188 case ImageChannelOrderRGBx: return "RGBx"; 3189 case ImageChannelOrderDepth: return "Depth"; 3190 case ImageChannelOrderDepthStencil: return "DepthStencil"; 3191 case ImageChannelOrdersRGB: return "sRGB"; 3192 case ImageChannelOrdersRGBx: return "sRGBx"; 3193 case ImageChannelOrdersRGBA: return "sRGBA"; 3194 case ImageChannelOrdersBGRA: return "sBGRA"; 3195 case ImageChannelOrderABGR: return "ABGR"; 3196 default: return "Unknown"; 3197 } 3198} 3199 3200inline const char* ImageChannelDataTypeToString(ImageChannelDataType value) { 3201 switch (value) { 3202 case ImageChannelDataTypeSnormInt8: return "SnormInt8"; 3203 case ImageChannelDataTypeSnormInt16: return "SnormInt16"; 3204 case ImageChannelDataTypeUnormInt8: return "UnormInt8"; 3205 case ImageChannelDataTypeUnormInt16: return "UnormInt16"; 3206 case ImageChannelDataTypeUnormShort565: return "UnormShort565"; 3207 case ImageChannelDataTypeUnormShort555: return "UnormShort555"; 3208 case ImageChannelDataTypeUnormInt101010: return "UnormInt101010"; 3209 case ImageChannelDataTypeSignedInt8: return "SignedInt8"; 3210 case ImageChannelDataTypeSignedInt16: return "SignedInt16"; 3211 case ImageChannelDataTypeSignedInt32: return "SignedInt32"; 3212 case ImageChannelDataTypeUnsignedInt8: return "UnsignedInt8"; 3213 case ImageChannelDataTypeUnsignedInt16: return "UnsignedInt16"; 3214 case ImageChannelDataTypeUnsignedInt32: return "UnsignedInt32"; 3215 case ImageChannelDataTypeHalfFloat: return "HalfFloat"; 3216 case ImageChannelDataTypeFloat: return "Float"; 3217 case ImageChannelDataTypeUnormInt24: return "UnormInt24"; 3218 case ImageChannelDataTypeUnormInt101010_2: return "UnormInt101010_2"; 3219 case ImageChannelDataTypeUnsignedIntRaw10EXT: return "UnsignedIntRaw10EXT"; 3220 case ImageChannelDataTypeUnsignedIntRaw12EXT: return "UnsignedIntRaw12EXT"; 3221 default: return "Unknown"; 3222 } 3223} 3224 3225inline const char* FPRoundingModeToString(FPRoundingMode value) { 3226 switch (value) { 3227 case FPRoundingModeRTE: return "RTE"; 3228 case FPRoundingModeRTZ: return "RTZ"; 3229 case FPRoundingModeRTP: return "RTP"; 3230 case FPRoundingModeRTN: return "RTN"; 3231 default: return "Unknown"; 3232 } 3233} 3234 3235inline const char* LinkageTypeToString(LinkageType value) { 3236 switch (value) { 3237 case LinkageTypeExport: return "Export"; 3238 case LinkageTypeImport: return "Import"; 3239 case LinkageTypeLinkOnceODR: return "LinkOnceODR"; 3240 default: return "Unknown"; 3241 } 3242} 3243 3244inline const char* AccessQualifierToString(AccessQualifier value) { 3245 switch (value) { 3246 case AccessQualifierReadOnly: return "ReadOnly"; 3247 case AccessQualifierWriteOnly: return "WriteOnly"; 3248 case AccessQualifierReadWrite: return "ReadWrite"; 3249 default: return "Unknown"; 3250 } 3251} 3252 3253inline const char* FunctionParameterAttributeToString(FunctionParameterAttribute value) { 3254 switch (value) { 3255 case FunctionParameterAttributeZext: return "Zext"; 3256 case FunctionParameterAttributeSext: return "Sext"; 3257 case FunctionParameterAttributeByVal: return "ByVal"; 3258 case FunctionParameterAttributeSret: return "Sret"; 3259 case FunctionParameterAttributeNoAlias: return "NoAlias"; 3260 case FunctionParameterAttributeNoCapture: return "NoCapture"; 3261 case FunctionParameterAttributeNoWrite: return "NoWrite"; 3262 case FunctionParameterAttributeNoReadWrite: return "NoReadWrite"; 3263 case FunctionParameterAttributeRuntimeAlignedINTEL: return "RuntimeAlignedINTEL"; 3264 default: return "Unknown"; 3265 } 3266} 3267 3268inline const char* DecorationToString(Decoration value) { 3269 switch (value) { 3270 case DecorationRelaxedPrecision: return "RelaxedPrecision"; 3271 case DecorationSpecId: return "SpecId"; 3272 case DecorationBlock: return "Block"; 3273 case DecorationBufferBlock: return "BufferBlock"; 3274 case DecorationRowMajor: return "RowMajor"; 3275 case DecorationColMajor: return "ColMajor"; 3276 case DecorationArrayStride: return "ArrayStride"; 3277 case DecorationMatrixStride: return "MatrixStride"; 3278 case DecorationGLSLShared: return "GLSLShared"; 3279 case DecorationGLSLPacked: return "GLSLPacked"; 3280 case DecorationCPacked: return "CPacked"; 3281 case DecorationBuiltIn: return "BuiltIn"; 3282 case DecorationNoPerspective: return "NoPerspective"; 3283 case DecorationFlat: return "Flat"; 3284 case DecorationPatch: return "Patch"; 3285 case DecorationCentroid: return "Centroid"; 3286 case DecorationSample: return "Sample"; 3287 case DecorationInvariant: return "Invariant"; 3288 case DecorationRestrict: return "Restrict"; 3289 case DecorationAliased: return "Aliased"; 3290 case DecorationVolatile: return "Volatile"; 3291 case DecorationConstant: return "Constant"; 3292 case DecorationCoherent: return "Coherent"; 3293 case DecorationNonWritable: return "NonWritable"; 3294 case DecorationNonReadable: return "NonReadable"; 3295 case DecorationUniform: return "Uniform"; 3296 case DecorationUniformId: return "UniformId"; 3297 case DecorationSaturatedConversion: return "SaturatedConversion"; 3298 case DecorationStream: return "Stream"; 3299 case DecorationLocation: return "Location"; 3300 case DecorationComponent: return "Component"; 3301 case DecorationIndex: return "Index"; 3302 case DecorationBinding: return "Binding"; 3303 case DecorationDescriptorSet: return "DescriptorSet"; 3304 case DecorationOffset: return "Offset"; 3305 case DecorationXfbBuffer: return "XfbBuffer"; 3306 case DecorationXfbStride: return "XfbStride"; 3307 case DecorationFuncParamAttr: return "FuncParamAttr"; 3308 case DecorationFPRoundingMode: return "FPRoundingMode"; 3309 case DecorationFPFastMathMode: return "FPFastMathMode"; 3310 case DecorationLinkageAttributes: return "LinkageAttributes"; 3311 case DecorationNoContraction: return "NoContraction"; 3312 case DecorationInputAttachmentIndex: return "InputAttachmentIndex"; 3313 case DecorationAlignment: return "Alignment"; 3314 case DecorationMaxByteOffset: return "MaxByteOffset"; 3315 case DecorationAlignmentId: return "AlignmentId"; 3316 case DecorationMaxByteOffsetId: return "MaxByteOffsetId"; 3317 case DecorationNoSignedWrap: return "NoSignedWrap"; 3318 case DecorationNoUnsignedWrap: return "NoUnsignedWrap"; 3319 case DecorationWeightTextureQCOM: return "WeightTextureQCOM"; 3320 case DecorationBlockMatchTextureQCOM: return "BlockMatchTextureQCOM"; 3321 case DecorationBlockMatchSamplerQCOM: return "BlockMatchSamplerQCOM"; 3322 case DecorationExplicitInterpAMD: return "ExplicitInterpAMD"; 3323 case DecorationNodeSharesPayloadLimitsWithAMDX: return "NodeSharesPayloadLimitsWithAMDX"; 3324 case DecorationNodeMaxPayloadsAMDX: return "NodeMaxPayloadsAMDX"; 3325 case DecorationTrackFinishWritingAMDX: return "TrackFinishWritingAMDX"; 3326 case DecorationPayloadNodeNameAMDX: return "PayloadNodeNameAMDX"; 3327 case DecorationOverrideCoverageNV: return "OverrideCoverageNV"; 3328 case DecorationPassthroughNV: return "PassthroughNV"; 3329 case DecorationViewportRelativeNV: return "ViewportRelativeNV"; 3330 case DecorationSecondaryViewportRelativeNV: return "SecondaryViewportRelativeNV"; 3331 case DecorationPerPrimitiveEXT: return "PerPrimitiveEXT"; 3332 case DecorationPerViewNV: return "PerViewNV"; 3333 case DecorationPerTaskNV: return "PerTaskNV"; 3334 case DecorationPerVertexKHR: return "PerVertexKHR"; 3335 case DecorationNonUniform: return "NonUniform"; 3336 case DecorationRestrictPointer: return "RestrictPointer"; 3337 case DecorationAliasedPointer: return "AliasedPointer"; 3338 case DecorationHitObjectShaderRecordBufferNV: return "HitObjectShaderRecordBufferNV"; 3339 case DecorationBindlessSamplerNV: return "BindlessSamplerNV"; 3340 case DecorationBindlessImageNV: return "BindlessImageNV"; 3341 case DecorationBoundSamplerNV: return "BoundSamplerNV"; 3342 case DecorationBoundImageNV: return "BoundImageNV"; 3343 case DecorationSIMTCallINTEL: return "SIMTCallINTEL"; 3344 case DecorationReferencedIndirectlyINTEL: return "ReferencedIndirectlyINTEL"; 3345 case DecorationClobberINTEL: return "ClobberINTEL"; 3346 case DecorationSideEffectsINTEL: return "SideEffectsINTEL"; 3347 case DecorationVectorComputeVariableINTEL: return "VectorComputeVariableINTEL"; 3348 case DecorationFuncParamIOKindINTEL: return "FuncParamIOKindINTEL"; 3349 case DecorationVectorComputeFunctionINTEL: return "VectorComputeFunctionINTEL"; 3350 case DecorationStackCallINTEL: return "StackCallINTEL"; 3351 case DecorationGlobalVariableOffsetINTEL: return "GlobalVariableOffsetINTEL"; 3352 case DecorationCounterBuffer: return "CounterBuffer"; 3353 case DecorationHlslSemanticGOOGLE: return "HlslSemanticGOOGLE"; 3354 case DecorationUserTypeGOOGLE: return "UserTypeGOOGLE"; 3355 case DecorationFunctionRoundingModeINTEL: return "FunctionRoundingModeINTEL"; 3356 case DecorationFunctionDenormModeINTEL: return "FunctionDenormModeINTEL"; 3357 case DecorationRegisterINTEL: return "RegisterINTEL"; 3358 case DecorationMemoryINTEL: return "MemoryINTEL"; 3359 case DecorationNumbanksINTEL: return "NumbanksINTEL"; 3360 case DecorationBankwidthINTEL: return "BankwidthINTEL"; 3361 case DecorationMaxPrivateCopiesINTEL: return "MaxPrivateCopiesINTEL"; 3362 case DecorationSinglepumpINTEL: return "SinglepumpINTEL"; 3363 case DecorationDoublepumpINTEL: return "DoublepumpINTEL"; 3364 case DecorationMaxReplicatesINTEL: return "MaxReplicatesINTEL"; 3365 case DecorationSimpleDualPortINTEL: return "SimpleDualPortINTEL"; 3366 case DecorationMergeINTEL: return "MergeINTEL"; 3367 case DecorationBankBitsINTEL: return "BankBitsINTEL"; 3368 case DecorationForcePow2DepthINTEL: return "ForcePow2DepthINTEL"; 3369 case DecorationStridesizeINTEL: return "StridesizeINTEL"; 3370 case DecorationWordsizeINTEL: return "WordsizeINTEL"; 3371 case DecorationTrueDualPortINTEL: return "TrueDualPortINTEL"; 3372 case DecorationBurstCoalesceINTEL: return "BurstCoalesceINTEL"; 3373 case DecorationCacheSizeINTEL: return "CacheSizeINTEL"; 3374 case DecorationDontStaticallyCoalesceINTEL: return "DontStaticallyCoalesceINTEL"; 3375 case DecorationPrefetchINTEL: return "PrefetchINTEL"; 3376 case DecorationStallEnableINTEL: return "StallEnableINTEL"; 3377 case DecorationFuseLoopsInFunctionINTEL: return "FuseLoopsInFunctionINTEL"; 3378 case DecorationMathOpDSPModeINTEL: return "MathOpDSPModeINTEL"; 3379 case DecorationAliasScopeINTEL: return "AliasScopeINTEL"; 3380 case DecorationNoAliasINTEL: return "NoAliasINTEL"; 3381 case DecorationInitiationIntervalINTEL: return "InitiationIntervalINTEL"; 3382 case DecorationMaxConcurrencyINTEL: return "MaxConcurrencyINTEL"; 3383 case DecorationPipelineEnableINTEL: return "PipelineEnableINTEL"; 3384 case DecorationBufferLocationINTEL: return "BufferLocationINTEL"; 3385 case DecorationIOPipeStorageINTEL: return "IOPipeStorageINTEL"; 3386 case DecorationFunctionFloatingPointModeINTEL: return "FunctionFloatingPointModeINTEL"; 3387 case DecorationSingleElementVectorINTEL: return "SingleElementVectorINTEL"; 3388 case DecorationVectorComputeCallableFunctionINTEL: return "VectorComputeCallableFunctionINTEL"; 3389 case DecorationMediaBlockIOINTEL: return "MediaBlockIOINTEL"; 3390 case DecorationStallFreeINTEL: return "StallFreeINTEL"; 3391 case DecorationFPMaxErrorDecorationINTEL: return "FPMaxErrorDecorationINTEL"; 3392 case DecorationLatencyControlLabelINTEL: return "LatencyControlLabelINTEL"; 3393 case DecorationLatencyControlConstraintINTEL: return "LatencyControlConstraintINTEL"; 3394 case DecorationConduitKernelArgumentINTEL: return "ConduitKernelArgumentINTEL"; 3395 case DecorationRegisterMapKernelArgumentINTEL: return "RegisterMapKernelArgumentINTEL"; 3396 case DecorationMMHostInterfaceAddressWidthINTEL: return "MMHostInterfaceAddressWidthINTEL"; 3397 case DecorationMMHostInterfaceDataWidthINTEL: return "MMHostInterfaceDataWidthINTEL"; 3398 case DecorationMMHostInterfaceLatencyINTEL: return "MMHostInterfaceLatencyINTEL"; 3399 case DecorationMMHostInterfaceReadWriteModeINTEL: return "MMHostInterfaceReadWriteModeINTEL"; 3400 case DecorationMMHostInterfaceMaxBurstINTEL: return "MMHostInterfaceMaxBurstINTEL"; 3401 case DecorationMMHostInterfaceWaitRequestINTEL: return "MMHostInterfaceWaitRequestINTEL"; 3402 case DecorationStableKernelArgumentINTEL: return "StableKernelArgumentINTEL"; 3403 case DecorationHostAccessINTEL: return "HostAccessINTEL"; 3404 case DecorationInitModeINTEL: return "InitModeINTEL"; 3405 case DecorationImplementInRegisterMapINTEL: return "ImplementInRegisterMapINTEL"; 3406 case DecorationCacheControlLoadINTEL: return "CacheControlLoadINTEL"; 3407 case DecorationCacheControlStoreINTEL: return "CacheControlStoreINTEL"; 3408 default: return "Unknown"; 3409 } 3410} 3411 3412inline const char* BuiltInToString(BuiltIn value) { 3413 switch (value) { 3414 case BuiltInPosition: return "Position"; 3415 case BuiltInPointSize: return "PointSize"; 3416 case BuiltInClipDistance: return "ClipDistance"; 3417 case BuiltInCullDistance: return "CullDistance"; 3418 case BuiltInVertexId: return "VertexId"; 3419 case BuiltInInstanceId: return "InstanceId"; 3420 case BuiltInPrimitiveId: return "PrimitiveId"; 3421 case BuiltInInvocationId: return "InvocationId"; 3422 case BuiltInLayer: return "Layer"; 3423 case BuiltInViewportIndex: return "ViewportIndex"; 3424 case BuiltInTessLevelOuter: return "TessLevelOuter"; 3425 case BuiltInTessLevelInner: return "TessLevelInner"; 3426 case BuiltInTessCoord: return "TessCoord"; 3427 case BuiltInPatchVertices: return "PatchVertices"; 3428 case BuiltInFragCoord: return "FragCoord"; 3429 case BuiltInPointCoord: return "PointCoord"; 3430 case BuiltInFrontFacing: return "FrontFacing"; 3431 case BuiltInSampleId: return "SampleId"; 3432 case BuiltInSamplePosition: return "SamplePosition"; 3433 case BuiltInSampleMask: return "SampleMask"; 3434 case BuiltInFragDepth: return "FragDepth"; 3435 case BuiltInHelperInvocation: return "HelperInvocation"; 3436 case BuiltInNumWorkgroups: return "NumWorkgroups"; 3437 case BuiltInWorkgroupSize: return "WorkgroupSize"; 3438 case BuiltInWorkgroupId: return "WorkgroupId"; 3439 case BuiltInLocalInvocationId: return "LocalInvocationId"; 3440 case BuiltInGlobalInvocationId: return "GlobalInvocationId"; 3441 case BuiltInLocalInvocationIndex: return "LocalInvocationIndex"; 3442 case BuiltInWorkDim: return "WorkDim"; 3443 case BuiltInGlobalSize: return "GlobalSize"; 3444 case BuiltInEnqueuedWorkgroupSize: return "EnqueuedWorkgroupSize"; 3445 case BuiltInGlobalOffset: return "GlobalOffset"; 3446 case BuiltInGlobalLinearId: return "GlobalLinearId"; 3447 case BuiltInSubgroupSize: return "SubgroupSize"; 3448 case BuiltInSubgroupMaxSize: return "SubgroupMaxSize"; 3449 case BuiltInNumSubgroups: return "NumSubgroups"; 3450 case BuiltInNumEnqueuedSubgroups: return "NumEnqueuedSubgroups"; 3451 case BuiltInSubgroupId: return "SubgroupId"; 3452 case BuiltInSubgroupLocalInvocationId: return "SubgroupLocalInvocationId"; 3453 case BuiltInVertexIndex: return "VertexIndex"; 3454 case BuiltInInstanceIndex: return "InstanceIndex"; 3455 case BuiltInCoreIDARM: return "CoreIDARM"; 3456 case BuiltInCoreCountARM: return "CoreCountARM"; 3457 case BuiltInCoreMaxIDARM: return "CoreMaxIDARM"; 3458 case BuiltInWarpIDARM: return "WarpIDARM"; 3459 case BuiltInWarpMaxIDARM: return "WarpMaxIDARM"; 3460 case BuiltInSubgroupEqMask: return "SubgroupEqMask"; 3461 case BuiltInSubgroupGeMask: return "SubgroupGeMask"; 3462 case BuiltInSubgroupGtMask: return "SubgroupGtMask"; 3463 case BuiltInSubgroupLeMask: return "SubgroupLeMask"; 3464 case BuiltInSubgroupLtMask: return "SubgroupLtMask"; 3465 case BuiltInBaseVertex: return "BaseVertex"; 3466 case BuiltInBaseInstance: return "BaseInstance"; 3467 case BuiltInDrawIndex: return "DrawIndex"; 3468 case BuiltInPrimitiveShadingRateKHR: return "PrimitiveShadingRateKHR"; 3469 case BuiltInDeviceIndex: return "DeviceIndex"; 3470 case BuiltInViewIndex: return "ViewIndex"; 3471 case BuiltInShadingRateKHR: return "ShadingRateKHR"; 3472 case BuiltInBaryCoordNoPerspAMD: return "BaryCoordNoPerspAMD"; 3473 case BuiltInBaryCoordNoPerspCentroidAMD: return "BaryCoordNoPerspCentroidAMD"; 3474 case BuiltInBaryCoordNoPerspSampleAMD: return "BaryCoordNoPerspSampleAMD"; 3475 case BuiltInBaryCoordSmoothAMD: return "BaryCoordSmoothAMD"; 3476 case BuiltInBaryCoordSmoothCentroidAMD: return "BaryCoordSmoothCentroidAMD"; 3477 case BuiltInBaryCoordSmoothSampleAMD: return "BaryCoordSmoothSampleAMD"; 3478 case BuiltInBaryCoordPullModelAMD: return "BaryCoordPullModelAMD"; 3479 case BuiltInFragStencilRefEXT: return "FragStencilRefEXT"; 3480 case BuiltInCoalescedInputCountAMDX: return "CoalescedInputCountAMDX"; 3481 case BuiltInShaderIndexAMDX: return "ShaderIndexAMDX"; 3482 case BuiltInViewportMaskNV: return "ViewportMaskNV"; 3483 case BuiltInSecondaryPositionNV: return "SecondaryPositionNV"; 3484 case BuiltInSecondaryViewportMaskNV: return "SecondaryViewportMaskNV"; 3485 case BuiltInPositionPerViewNV: return "PositionPerViewNV"; 3486 case BuiltInViewportMaskPerViewNV: return "ViewportMaskPerViewNV"; 3487 case BuiltInFullyCoveredEXT: return "FullyCoveredEXT"; 3488 case BuiltInTaskCountNV: return "TaskCountNV"; 3489 case BuiltInPrimitiveCountNV: return "PrimitiveCountNV"; 3490 case BuiltInPrimitiveIndicesNV: return "PrimitiveIndicesNV"; 3491 case BuiltInClipDistancePerViewNV: return "ClipDistancePerViewNV"; 3492 case BuiltInCullDistancePerViewNV: return "CullDistancePerViewNV"; 3493 case BuiltInLayerPerViewNV: return "LayerPerViewNV"; 3494 case BuiltInMeshViewCountNV: return "MeshViewCountNV"; 3495 case BuiltInMeshViewIndicesNV: return "MeshViewIndicesNV"; 3496 case BuiltInBaryCoordKHR: return "BaryCoordKHR"; 3497 case BuiltInBaryCoordNoPerspKHR: return "BaryCoordNoPerspKHR"; 3498 case BuiltInFragSizeEXT: return "FragSizeEXT"; 3499 case BuiltInFragInvocationCountEXT: return "FragInvocationCountEXT"; 3500 case BuiltInPrimitivePointIndicesEXT: return "PrimitivePointIndicesEXT"; 3501 case BuiltInPrimitiveLineIndicesEXT: return "PrimitiveLineIndicesEXT"; 3502 case BuiltInPrimitiveTriangleIndicesEXT: return "PrimitiveTriangleIndicesEXT"; 3503 case BuiltInCullPrimitiveEXT: return "CullPrimitiveEXT"; 3504 case BuiltInLaunchIdKHR: return "LaunchIdKHR"; 3505 case BuiltInLaunchSizeKHR: return "LaunchSizeKHR"; 3506 case BuiltInWorldRayOriginKHR: return "WorldRayOriginKHR"; 3507 case BuiltInWorldRayDirectionKHR: return "WorldRayDirectionKHR"; 3508 case BuiltInObjectRayOriginKHR: return "ObjectRayOriginKHR"; 3509 case BuiltInObjectRayDirectionKHR: return "ObjectRayDirectionKHR"; 3510 case BuiltInRayTminKHR: return "RayTminKHR"; 3511 case BuiltInRayTmaxKHR: return "RayTmaxKHR"; 3512 case BuiltInInstanceCustomIndexKHR: return "InstanceCustomIndexKHR"; 3513 case BuiltInObjectToWorldKHR: return "ObjectToWorldKHR"; 3514 case BuiltInWorldToObjectKHR: return "WorldToObjectKHR"; 3515 case BuiltInHitTNV: return "HitTNV"; 3516 case BuiltInHitKindKHR: return "HitKindKHR"; 3517 case BuiltInCurrentRayTimeNV: return "CurrentRayTimeNV"; 3518 case BuiltInHitTriangleVertexPositionsKHR: return "HitTriangleVertexPositionsKHR"; 3519 case BuiltInHitMicroTriangleVertexPositionsNV: return "HitMicroTriangleVertexPositionsNV"; 3520 case BuiltInHitMicroTriangleVertexBarycentricsNV: return "HitMicroTriangleVertexBarycentricsNV"; 3521 case BuiltInIncomingRayFlagsKHR: return "IncomingRayFlagsKHR"; 3522 case BuiltInRayGeometryIndexKHR: return "RayGeometryIndexKHR"; 3523 case BuiltInWarpsPerSMNV: return "WarpsPerSMNV"; 3524 case BuiltInSMCountNV: return "SMCountNV"; 3525 case BuiltInWarpIDNV: return "WarpIDNV"; 3526 case BuiltInSMIDNV: return "SMIDNV"; 3527 case BuiltInHitKindFrontFacingMicroTriangleNV: return "HitKindFrontFacingMicroTriangleNV"; 3528 case BuiltInHitKindBackFacingMicroTriangleNV: return "HitKindBackFacingMicroTriangleNV"; 3529 case BuiltInCullMaskKHR: return "CullMaskKHR"; 3530 default: return "Unknown"; 3531 } 3532} 3533 3534inline const char* ScopeToString(Scope value) { 3535 switch (value) { 3536 case ScopeCrossDevice: return "CrossDevice"; 3537 case ScopeDevice: return "Device"; 3538 case ScopeWorkgroup: return "Workgroup"; 3539 case ScopeSubgroup: return "Subgroup"; 3540 case ScopeInvocation: return "Invocation"; 3541 case ScopeQueueFamily: return "QueueFamily"; 3542 case ScopeShaderCallKHR: return "ShaderCallKHR"; 3543 default: return "Unknown"; 3544 } 3545} 3546 3547inline const char* GroupOperationToString(GroupOperation value) { 3548 switch (value) { 3549 case GroupOperationReduce: return "Reduce"; 3550 case GroupOperationInclusiveScan: return "InclusiveScan"; 3551 case GroupOperationExclusiveScan: return "ExclusiveScan"; 3552 case GroupOperationClusteredReduce: return "ClusteredReduce"; 3553 case GroupOperationPartitionedReduceNV: return "PartitionedReduceNV"; 3554 case GroupOperationPartitionedInclusiveScanNV: return "PartitionedInclusiveScanNV"; 3555 case GroupOperationPartitionedExclusiveScanNV: return "PartitionedExclusiveScanNV"; 3556 default: return "Unknown"; 3557 } 3558} 3559 3560inline const char* KernelEnqueueFlagsToString(KernelEnqueueFlags value) { 3561 switch (value) { 3562 case KernelEnqueueFlagsNoWait: return "NoWait"; 3563 case KernelEnqueueFlagsWaitKernel: return "WaitKernel"; 3564 case KernelEnqueueFlagsWaitWorkGroup: return "WaitWorkGroup"; 3565 default: return "Unknown"; 3566 } 3567} 3568 3569inline const char* CapabilityToString(Capability value) { 3570 switch (value) { 3571 case CapabilityMatrix: return "Matrix"; 3572 case CapabilityShader: return "Shader"; 3573 case CapabilityGeometry: return "Geometry"; 3574 case CapabilityTessellation: return "Tessellation"; 3575 case CapabilityAddresses: return "Addresses"; 3576 case CapabilityLinkage: return "Linkage"; 3577 case CapabilityKernel: return "Kernel"; 3578 case CapabilityVector16: return "Vector16"; 3579 case CapabilityFloat16Buffer: return "Float16Buffer"; 3580 case CapabilityFloat16: return "Float16"; 3581 case CapabilityFloat64: return "Float64"; 3582 case CapabilityInt64: return "Int64"; 3583 case CapabilityInt64Atomics: return "Int64Atomics"; 3584 case CapabilityImageBasic: return "ImageBasic"; 3585 case CapabilityImageReadWrite: return "ImageReadWrite"; 3586 case CapabilityImageMipmap: return "ImageMipmap"; 3587 case CapabilityPipes: return "Pipes"; 3588 case CapabilityGroups: return "Groups"; 3589 case CapabilityDeviceEnqueue: return "DeviceEnqueue"; 3590 case CapabilityLiteralSampler: return "LiteralSampler"; 3591 case CapabilityAtomicStorage: return "AtomicStorage"; 3592 case CapabilityInt16: return "Int16"; 3593 case CapabilityTessellationPointSize: return "TessellationPointSize"; 3594 case CapabilityGeometryPointSize: return "GeometryPointSize"; 3595 case CapabilityImageGatherExtended: return "ImageGatherExtended"; 3596 case CapabilityStorageImageMultisample: return "StorageImageMultisample"; 3597 case CapabilityUniformBufferArrayDynamicIndexing: return "UniformBufferArrayDynamicIndexing"; 3598 case CapabilitySampledImageArrayDynamicIndexing: return "SampledImageArrayDynamicIndexing"; 3599 case CapabilityStorageBufferArrayDynamicIndexing: return "StorageBufferArrayDynamicIndexing"; 3600 case CapabilityStorageImageArrayDynamicIndexing: return "StorageImageArrayDynamicIndexing"; 3601 case CapabilityClipDistance: return "ClipDistance"; 3602 case CapabilityCullDistance: return "CullDistance"; 3603 case CapabilityImageCubeArray: return "ImageCubeArray"; 3604 case CapabilitySampleRateShading: return "SampleRateShading"; 3605 case CapabilityImageRect: return "ImageRect"; 3606 case CapabilitySampledRect: return "SampledRect"; 3607 case CapabilityGenericPointer: return "GenericPointer"; 3608 case CapabilityInt8: return "Int8"; 3609 case CapabilityInputAttachment: return "InputAttachment"; 3610 case CapabilitySparseResidency: return "SparseResidency"; 3611 case CapabilityMinLod: return "MinLod"; 3612 case CapabilitySampled1D: return "Sampled1D"; 3613 case CapabilityImage1D: return "Image1D"; 3614 case CapabilitySampledCubeArray: return "SampledCubeArray"; 3615 case CapabilitySampledBuffer: return "SampledBuffer"; 3616 case CapabilityImageBuffer: return "ImageBuffer"; 3617 case CapabilityImageMSArray: return "ImageMSArray"; 3618 case CapabilityStorageImageExtendedFormats: return "StorageImageExtendedFormats"; 3619 case CapabilityImageQuery: return "ImageQuery"; 3620 case CapabilityDerivativeControl: return "DerivativeControl"; 3621 case CapabilityInterpolationFunction: return "InterpolationFunction"; 3622 case CapabilityTransformFeedback: return "TransformFeedback"; 3623 case CapabilityGeometryStreams: return "GeometryStreams"; 3624 case CapabilityStorageImageReadWithoutFormat: return "StorageImageReadWithoutFormat"; 3625 case CapabilityStorageImageWriteWithoutFormat: return "StorageImageWriteWithoutFormat"; 3626 case CapabilityMultiViewport: return "MultiViewport"; 3627 case CapabilitySubgroupDispatch: return "SubgroupDispatch"; 3628 case CapabilityNamedBarrier: return "NamedBarrier"; 3629 case CapabilityPipeStorage: return "PipeStorage"; 3630 case CapabilityGroupNonUniform: return "GroupNonUniform"; 3631 case CapabilityGroupNonUniformVote: return "GroupNonUniformVote"; 3632 case CapabilityGroupNonUniformArithmetic: return "GroupNonUniformArithmetic"; 3633 case CapabilityGroupNonUniformBallot: return "GroupNonUniformBallot"; 3634 case CapabilityGroupNonUniformShuffle: return "GroupNonUniformShuffle"; 3635 case CapabilityGroupNonUniformShuffleRelative: return "GroupNonUniformShuffleRelative"; 3636 case CapabilityGroupNonUniformClustered: return "GroupNonUniformClustered"; 3637 case CapabilityGroupNonUniformQuad: return "GroupNonUniformQuad"; 3638 case CapabilityShaderLayer: return "ShaderLayer"; 3639 case CapabilityShaderViewportIndex: return "ShaderViewportIndex"; 3640 case CapabilityUniformDecoration: return "UniformDecoration"; 3641 case CapabilityCoreBuiltinsARM: return "CoreBuiltinsARM"; 3642 case CapabilityTileImageColorReadAccessEXT: return "TileImageColorReadAccessEXT"; 3643 case CapabilityTileImageDepthReadAccessEXT: return "TileImageDepthReadAccessEXT"; 3644 case CapabilityTileImageStencilReadAccessEXT: return "TileImageStencilReadAccessEXT"; 3645 case CapabilityCooperativeMatrixLayoutsARM: return "CooperativeMatrixLayoutsARM"; 3646 case CapabilityFragmentShadingRateKHR: return "FragmentShadingRateKHR"; 3647 case CapabilitySubgroupBallotKHR: return "SubgroupBallotKHR"; 3648 case CapabilityDrawParameters: return "DrawParameters"; 3649 case CapabilityWorkgroupMemoryExplicitLayoutKHR: return "WorkgroupMemoryExplicitLayoutKHR"; 3650 case CapabilityWorkgroupMemoryExplicitLayout8BitAccessKHR: return "WorkgroupMemoryExplicitLayout8BitAccessKHR"; 3651 case CapabilityWorkgroupMemoryExplicitLayout16BitAccessKHR: return "WorkgroupMemoryExplicitLayout16BitAccessKHR"; 3652 case CapabilitySubgroupVoteKHR: return "SubgroupVoteKHR"; 3653 case CapabilityStorageBuffer16BitAccess: return "StorageBuffer16BitAccess"; 3654 case CapabilityStorageUniform16: return "StorageUniform16"; 3655 case CapabilityStoragePushConstant16: return "StoragePushConstant16"; 3656 case CapabilityStorageInputOutput16: return "StorageInputOutput16"; 3657 case CapabilityDeviceGroup: return "DeviceGroup"; 3658 case CapabilityMultiView: return "MultiView"; 3659 case CapabilityVariablePointersStorageBuffer: return "VariablePointersStorageBuffer"; 3660 case CapabilityVariablePointers: return "VariablePointers"; 3661 case CapabilityAtomicStorageOps: return "AtomicStorageOps"; 3662 case CapabilitySampleMaskPostDepthCoverage: return "SampleMaskPostDepthCoverage"; 3663 case CapabilityStorageBuffer8BitAccess: return "StorageBuffer8BitAccess"; 3664 case CapabilityUniformAndStorageBuffer8BitAccess: return "UniformAndStorageBuffer8BitAccess"; 3665 case CapabilityStoragePushConstant8: return "StoragePushConstant8"; 3666 case CapabilityDenormPreserve: return "DenormPreserve"; 3667 case CapabilityDenormFlushToZero: return "DenormFlushToZero"; 3668 case CapabilitySignedZeroInfNanPreserve: return "SignedZeroInfNanPreserve"; 3669 case CapabilityRoundingModeRTE: return "RoundingModeRTE"; 3670 case CapabilityRoundingModeRTZ: return "RoundingModeRTZ"; 3671 case CapabilityRayQueryProvisionalKHR: return "RayQueryProvisionalKHR"; 3672 case CapabilityRayQueryKHR: return "RayQueryKHR"; 3673 case CapabilityRayTraversalPrimitiveCullingKHR: return "RayTraversalPrimitiveCullingKHR"; 3674 case CapabilityRayTracingKHR: return "RayTracingKHR"; 3675 case CapabilityTextureSampleWeightedQCOM: return "TextureSampleWeightedQCOM"; 3676 case CapabilityTextureBoxFilterQCOM: return "TextureBoxFilterQCOM"; 3677 case CapabilityTextureBlockMatchQCOM: return "TextureBlockMatchQCOM"; 3678 case CapabilityTextureBlockMatch2QCOM: return "TextureBlockMatch2QCOM"; 3679 case CapabilityFloat16ImageAMD: return "Float16ImageAMD"; 3680 case CapabilityImageGatherBiasLodAMD: return "ImageGatherBiasLodAMD"; 3681 case CapabilityFragmentMaskAMD: return "FragmentMaskAMD"; 3682 case CapabilityStencilExportEXT: return "StencilExportEXT"; 3683 case CapabilityImageReadWriteLodAMD: return "ImageReadWriteLodAMD"; 3684 case CapabilityInt64ImageEXT: return "Int64ImageEXT"; 3685 case CapabilityShaderClockKHR: return "ShaderClockKHR"; 3686 case CapabilityShaderEnqueueAMDX: return "ShaderEnqueueAMDX"; 3687 case CapabilityQuadControlKHR: return "QuadControlKHR"; 3688 case CapabilitySampleMaskOverrideCoverageNV: return "SampleMaskOverrideCoverageNV"; 3689 case CapabilityGeometryShaderPassthroughNV: return "GeometryShaderPassthroughNV"; 3690 case CapabilityShaderViewportIndexLayerEXT: return "ShaderViewportIndexLayerEXT"; 3691 case CapabilityShaderViewportMaskNV: return "ShaderViewportMaskNV"; 3692 case CapabilityShaderStereoViewNV: return "ShaderStereoViewNV"; 3693 case CapabilityPerViewAttributesNV: return "PerViewAttributesNV"; 3694 case CapabilityFragmentFullyCoveredEXT: return "FragmentFullyCoveredEXT"; 3695 case CapabilityMeshShadingNV: return "MeshShadingNV"; 3696 case CapabilityImageFootprintNV: return "ImageFootprintNV"; 3697 case CapabilityMeshShadingEXT: return "MeshShadingEXT"; 3698 case CapabilityFragmentBarycentricKHR: return "FragmentBarycentricKHR"; 3699 case CapabilityComputeDerivativeGroupQuadsNV: return "ComputeDerivativeGroupQuadsNV"; 3700 case CapabilityFragmentDensityEXT: return "FragmentDensityEXT"; 3701 case CapabilityGroupNonUniformPartitionedNV: return "GroupNonUniformPartitionedNV"; 3702 case CapabilityShaderNonUniform: return "ShaderNonUniform"; 3703 case CapabilityRuntimeDescriptorArray: return "RuntimeDescriptorArray"; 3704 case CapabilityInputAttachmentArrayDynamicIndexing: return "InputAttachmentArrayDynamicIndexing"; 3705 case CapabilityUniformTexelBufferArrayDynamicIndexing: return "UniformTexelBufferArrayDynamicIndexing"; 3706 case CapabilityStorageTexelBufferArrayDynamicIndexing: return "StorageTexelBufferArrayDynamicIndexing"; 3707 case CapabilityUniformBufferArrayNonUniformIndexing: return "UniformBufferArrayNonUniformIndexing"; 3708 case CapabilitySampledImageArrayNonUniformIndexing: return "SampledImageArrayNonUniformIndexing"; 3709 case CapabilityStorageBufferArrayNonUniformIndexing: return "StorageBufferArrayNonUniformIndexing"; 3710 case CapabilityStorageImageArrayNonUniformIndexing: return "StorageImageArrayNonUniformIndexing"; 3711 case CapabilityInputAttachmentArrayNonUniformIndexing: return "InputAttachmentArrayNonUniformIndexing"; 3712 case CapabilityUniformTexelBufferArrayNonUniformIndexing: return "UniformTexelBufferArrayNonUniformIndexing"; 3713 case CapabilityStorageTexelBufferArrayNonUniformIndexing: return "StorageTexelBufferArrayNonUniformIndexing"; 3714 case CapabilityRayTracingPositionFetchKHR: return "RayTracingPositionFetchKHR"; 3715 case CapabilityRayTracingNV: return "RayTracingNV"; 3716 case CapabilityRayTracingMotionBlurNV: return "RayTracingMotionBlurNV"; 3717 case CapabilityVulkanMemoryModel: return "VulkanMemoryModel"; 3718 case CapabilityVulkanMemoryModelDeviceScope: return "VulkanMemoryModelDeviceScope"; 3719 case CapabilityPhysicalStorageBufferAddresses: return "PhysicalStorageBufferAddresses"; 3720 case CapabilityComputeDerivativeGroupLinearNV: return "ComputeDerivativeGroupLinearNV"; 3721 case CapabilityRayTracingProvisionalKHR: return "RayTracingProvisionalKHR"; 3722 case CapabilityCooperativeMatrixNV: return "CooperativeMatrixNV"; 3723 case CapabilityFragmentShaderSampleInterlockEXT: return "FragmentShaderSampleInterlockEXT"; 3724 case CapabilityFragmentShaderShadingRateInterlockEXT: return "FragmentShaderShadingRateInterlockEXT"; 3725 case CapabilityShaderSMBuiltinsNV: return "ShaderSMBuiltinsNV"; 3726 case CapabilityFragmentShaderPixelInterlockEXT: return "FragmentShaderPixelInterlockEXT"; 3727 case CapabilityDemoteToHelperInvocation: return "DemoteToHelperInvocation"; 3728 case CapabilityDisplacementMicromapNV: return "DisplacementMicromapNV"; 3729 case CapabilityRayTracingOpacityMicromapEXT: return "RayTracingOpacityMicromapEXT"; 3730 case CapabilityShaderInvocationReorderNV: return "ShaderInvocationReorderNV"; 3731 case CapabilityBindlessTextureNV: return "BindlessTextureNV"; 3732 case CapabilityRayQueryPositionFetchKHR: return "RayQueryPositionFetchKHR"; 3733 case CapabilityAtomicFloat16VectorNV: return "AtomicFloat16VectorNV"; 3734 case CapabilityRayTracingDisplacementMicromapNV: return "RayTracingDisplacementMicromapNV"; 3735 case CapabilityRawAccessChainsNV: return "RawAccessChainsNV"; 3736 case CapabilitySubgroupShuffleINTEL: return "SubgroupShuffleINTEL"; 3737 case CapabilitySubgroupBufferBlockIOINTEL: return "SubgroupBufferBlockIOINTEL"; 3738 case CapabilitySubgroupImageBlockIOINTEL: return "SubgroupImageBlockIOINTEL"; 3739 case CapabilitySubgroupImageMediaBlockIOINTEL: return "SubgroupImageMediaBlockIOINTEL"; 3740 case CapabilityRoundToInfinityINTEL: return "RoundToInfinityINTEL"; 3741 case CapabilityFloatingPointModeINTEL: return "FloatingPointModeINTEL"; 3742 case CapabilityIntegerFunctions2INTEL: return "IntegerFunctions2INTEL"; 3743 case CapabilityFunctionPointersINTEL: return "FunctionPointersINTEL"; 3744 case CapabilityIndirectReferencesINTEL: return "IndirectReferencesINTEL"; 3745 case CapabilityAsmINTEL: return "AsmINTEL"; 3746 case CapabilityAtomicFloat32MinMaxEXT: return "AtomicFloat32MinMaxEXT"; 3747 case CapabilityAtomicFloat64MinMaxEXT: return "AtomicFloat64MinMaxEXT"; 3748 case CapabilityAtomicFloat16MinMaxEXT: return "AtomicFloat16MinMaxEXT"; 3749 case CapabilityVectorComputeINTEL: return "VectorComputeINTEL"; 3750 case CapabilityVectorAnyINTEL: return "VectorAnyINTEL"; 3751 case CapabilityExpectAssumeKHR: return "ExpectAssumeKHR"; 3752 case CapabilitySubgroupAvcMotionEstimationINTEL: return "SubgroupAvcMotionEstimationINTEL"; 3753 case CapabilitySubgroupAvcMotionEstimationIntraINTEL: return "SubgroupAvcMotionEstimationIntraINTEL"; 3754 case CapabilitySubgroupAvcMotionEstimationChromaINTEL: return "SubgroupAvcMotionEstimationChromaINTEL"; 3755 case CapabilityVariableLengthArrayINTEL: return "VariableLengthArrayINTEL"; 3756 case CapabilityFunctionFloatControlINTEL: return "FunctionFloatControlINTEL"; 3757 case CapabilityFPGAMemoryAttributesINTEL: return "FPGAMemoryAttributesINTEL"; 3758 case CapabilityFPFastMathModeINTEL: return "FPFastMathModeINTEL"; 3759 case CapabilityArbitraryPrecisionIntegersINTEL: return "ArbitraryPrecisionIntegersINTEL"; 3760 case CapabilityArbitraryPrecisionFloatingPointINTEL: return "ArbitraryPrecisionFloatingPointINTEL"; 3761 case CapabilityUnstructuredLoopControlsINTEL: return "UnstructuredLoopControlsINTEL"; 3762 case CapabilityFPGALoopControlsINTEL: return "FPGALoopControlsINTEL"; 3763 case CapabilityKernelAttributesINTEL: return "KernelAttributesINTEL"; 3764 case CapabilityFPGAKernelAttributesINTEL: return "FPGAKernelAttributesINTEL"; 3765 case CapabilityFPGAMemoryAccessesINTEL: return "FPGAMemoryAccessesINTEL"; 3766 case CapabilityFPGAClusterAttributesINTEL: return "FPGAClusterAttributesINTEL"; 3767 case CapabilityLoopFuseINTEL: return "LoopFuseINTEL"; 3768 case CapabilityFPGADSPControlINTEL: return "FPGADSPControlINTEL"; 3769 case CapabilityMemoryAccessAliasingINTEL: return "MemoryAccessAliasingINTEL"; 3770 case CapabilityFPGAInvocationPipeliningAttributesINTEL: return "FPGAInvocationPipeliningAttributesINTEL"; 3771 case CapabilityFPGABufferLocationINTEL: return "FPGABufferLocationINTEL"; 3772 case CapabilityArbitraryPrecisionFixedPointINTEL: return "ArbitraryPrecisionFixedPointINTEL"; 3773 case CapabilityUSMStorageClassesINTEL: return "USMStorageClassesINTEL"; 3774 case CapabilityRuntimeAlignedAttributeINTEL: return "RuntimeAlignedAttributeINTEL"; 3775 case CapabilityIOPipesINTEL: return "IOPipesINTEL"; 3776 case CapabilityBlockingPipesINTEL: return "BlockingPipesINTEL"; 3777 case CapabilityFPGARegINTEL: return "FPGARegINTEL"; 3778 case CapabilityDotProductInputAll: return "DotProductInputAll"; 3779 case CapabilityDotProductInput4x8Bit: return "DotProductInput4x8Bit"; 3780 case CapabilityDotProductInput4x8BitPacked: return "DotProductInput4x8BitPacked"; 3781 case CapabilityDotProduct: return "DotProduct"; 3782 case CapabilityRayCullMaskKHR: return "RayCullMaskKHR"; 3783 case CapabilityCooperativeMatrixKHR: return "CooperativeMatrixKHR"; 3784 case CapabilityReplicatedCompositesEXT: return "ReplicatedCompositesEXT"; 3785 case CapabilityBitInstructions: return "BitInstructions"; 3786 case CapabilityGroupNonUniformRotateKHR: return "GroupNonUniformRotateKHR"; 3787 case CapabilityFloatControls2: return "FloatControls2"; 3788 case CapabilityAtomicFloat32AddEXT: return "AtomicFloat32AddEXT"; 3789 case CapabilityAtomicFloat64AddEXT: return "AtomicFloat64AddEXT"; 3790 case CapabilityLongCompositesINTEL: return "LongCompositesINTEL"; 3791 case CapabilityOptNoneINTEL: return "OptNoneINTEL"; 3792 case CapabilityAtomicFloat16AddEXT: return "AtomicFloat16AddEXT"; 3793 case CapabilityDebugInfoModuleINTEL: return "DebugInfoModuleINTEL"; 3794 case CapabilityBFloat16ConversionINTEL: return "BFloat16ConversionINTEL"; 3795 case CapabilitySplitBarrierINTEL: return "SplitBarrierINTEL"; 3796 case CapabilityFPGAClusterAttributesV2INTEL: return "FPGAClusterAttributesV2INTEL"; 3797 case CapabilityFPGAKernelAttributesv2INTEL: return "FPGAKernelAttributesv2INTEL"; 3798 case CapabilityFPMaxErrorINTEL: return "FPMaxErrorINTEL"; 3799 case CapabilityFPGALatencyControlINTEL: return "FPGALatencyControlINTEL"; 3800 case CapabilityFPGAArgumentInterfacesINTEL: return "FPGAArgumentInterfacesINTEL"; 3801 case CapabilityGlobalVariableHostAccessINTEL: return "GlobalVariableHostAccessINTEL"; 3802 case CapabilityGlobalVariableFPGADecorationsINTEL: return "GlobalVariableFPGADecorationsINTEL"; 3803 case CapabilityGroupUniformArithmeticKHR: return "GroupUniformArithmeticKHR"; 3804 case CapabilityMaskedGatherScatterINTEL: return "MaskedGatherScatterINTEL"; 3805 case CapabilityCacheControlsINTEL: return "CacheControlsINTEL"; 3806 case CapabilityRegisterLimitsINTEL: return "RegisterLimitsINTEL"; 3807 default: return "Unknown"; 3808 } 3809} 3810 3811inline const char* RayQueryIntersectionToString(RayQueryIntersection value) { 3812 switch (value) { 3813 case RayQueryIntersectionRayQueryCandidateIntersectionKHR: return "RayQueryCandidateIntersectionKHR"; 3814 case RayQueryIntersectionRayQueryCommittedIntersectionKHR: return "RayQueryCommittedIntersectionKHR"; 3815 default: return "Unknown"; 3816 } 3817} 3818 3819inline const char* RayQueryCommittedIntersectionTypeToString(RayQueryCommittedIntersectionType value) { 3820 switch (value) { 3821 case RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionNoneKHR: return "RayQueryCommittedIntersectionNoneKHR"; 3822 case RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionTriangleKHR: return "RayQueryCommittedIntersectionTriangleKHR"; 3823 case RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionGeneratedKHR: return "RayQueryCommittedIntersectionGeneratedKHR"; 3824 default: return "Unknown"; 3825 } 3826} 3827 3828inline const char* RayQueryCandidateIntersectionTypeToString(RayQueryCandidateIntersectionType value) { 3829 switch (value) { 3830 case RayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionTriangleKHR: return "RayQueryCandidateIntersectionTriangleKHR"; 3831 case RayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionAABBKHR: return "RayQueryCandidateIntersectionAABBKHR"; 3832 default: return "Unknown"; 3833 } 3834} 3835 3836inline const char* FPDenormModeToString(FPDenormMode value) { 3837 switch (value) { 3838 case FPDenormModePreserve: return "Preserve"; 3839 case FPDenormModeFlushToZero: return "FlushToZero"; 3840 default: return "Unknown"; 3841 } 3842} 3843 3844inline const char* FPOperationModeToString(FPOperationMode value) { 3845 switch (value) { 3846 case FPOperationModeIEEE: return "IEEE"; 3847 case FPOperationModeALT: return "ALT"; 3848 default: return "Unknown"; 3849 } 3850} 3851 3852inline const char* QuantizationModesToString(QuantizationModes value) { 3853 switch (value) { 3854 case QuantizationModesTRN: return "TRN"; 3855 case QuantizationModesTRN_ZERO: return "TRN_ZERO"; 3856 case QuantizationModesRND: return "RND"; 3857 case QuantizationModesRND_ZERO: return "RND_ZERO"; 3858 case QuantizationModesRND_INF: return "RND_INF"; 3859 case QuantizationModesRND_MIN_INF: return "RND_MIN_INF"; 3860 case QuantizationModesRND_CONV: return "RND_CONV"; 3861 case QuantizationModesRND_CONV_ODD: return "RND_CONV_ODD"; 3862 default: return "Unknown"; 3863 } 3864} 3865 3866inline const char* OverflowModesToString(OverflowModes value) { 3867 switch (value) { 3868 case OverflowModesWRAP: return "WRAP"; 3869 case OverflowModesSAT: return "SAT"; 3870 case OverflowModesSAT_ZERO: return "SAT_ZERO"; 3871 case OverflowModesSAT_SYM: return "SAT_SYM"; 3872 default: return "Unknown"; 3873 } 3874} 3875 3876inline const char* PackedVectorFormatToString(PackedVectorFormat value) { 3877 switch (value) { 3878 case PackedVectorFormatPackedVectorFormat4x8Bit: return "PackedVectorFormat4x8Bit"; 3879 default: return "Unknown"; 3880 } 3881} 3882 3883inline const char* CooperativeMatrixLayoutToString(CooperativeMatrixLayout value) { 3884 switch (value) { 3885 case CooperativeMatrixLayoutRowMajorKHR: return "RowMajorKHR"; 3886 case CooperativeMatrixLayoutColumnMajorKHR: return "ColumnMajorKHR"; 3887 case CooperativeMatrixLayoutRowBlockedInterleavedARM: return "RowBlockedInterleavedARM"; 3888 case CooperativeMatrixLayoutColumnBlockedInterleavedARM: return "ColumnBlockedInterleavedARM"; 3889 default: return "Unknown"; 3890 } 3891} 3892 3893inline const char* CooperativeMatrixUseToString(CooperativeMatrixUse value) { 3894 switch (value) { 3895 case CooperativeMatrixUseMatrixAKHR: return "MatrixAKHR"; 3896 case CooperativeMatrixUseMatrixBKHR: return "MatrixBKHR"; 3897 case CooperativeMatrixUseMatrixAccumulatorKHR: return "MatrixAccumulatorKHR"; 3898 default: return "Unknown"; 3899 } 3900} 3901 3902inline const char* InitializationModeQualifierToString(InitializationModeQualifier value) { 3903 switch (value) { 3904 case InitializationModeQualifierInitOnDeviceReprogramINTEL: return "InitOnDeviceReprogramINTEL"; 3905 case InitializationModeQualifierInitOnDeviceResetINTEL: return "InitOnDeviceResetINTEL"; 3906 default: return "Unknown"; 3907 } 3908} 3909 3910inline const char* HostAccessQualifierToString(HostAccessQualifier value) { 3911 switch (value) { 3912 case HostAccessQualifierNoneINTEL: return "NoneINTEL"; 3913 case HostAccessQualifierReadINTEL: return "ReadINTEL"; 3914 case HostAccessQualifierWriteINTEL: return "WriteINTEL"; 3915 case HostAccessQualifierReadWriteINTEL: return "ReadWriteINTEL"; 3916 default: return "Unknown"; 3917 } 3918} 3919 3920inline const char* LoadCacheControlToString(LoadCacheControl value) { 3921 switch (value) { 3922 case LoadCacheControlUncachedINTEL: return "UncachedINTEL"; 3923 case LoadCacheControlCachedINTEL: return "CachedINTEL"; 3924 case LoadCacheControlStreamingINTEL: return "StreamingINTEL"; 3925 case LoadCacheControlInvalidateAfterReadINTEL: return "InvalidateAfterReadINTEL"; 3926 case LoadCacheControlConstCachedINTEL: return "ConstCachedINTEL"; 3927 default: return "Unknown"; 3928 } 3929} 3930 3931inline const char* StoreCacheControlToString(StoreCacheControl value) { 3932 switch (value) { 3933 case StoreCacheControlUncachedINTEL: return "UncachedINTEL"; 3934 case StoreCacheControlWriteThroughINTEL: return "WriteThroughINTEL"; 3935 case StoreCacheControlWriteBackINTEL: return "WriteBackINTEL"; 3936 case StoreCacheControlStreamingINTEL: return "StreamingINTEL"; 3937 default: return "Unknown"; 3938 } 3939} 3940 3941inline const char* NamedMaximumNumberOfRegistersToString(NamedMaximumNumberOfRegisters value) { 3942 switch (value) { 3943 case NamedMaximumNumberOfRegistersAutoINTEL: return "AutoINTEL"; 3944 default: return "Unknown"; 3945 } 3946} 3947 3948inline const char* OpToString(Op value) { 3949 switch (value) { 3950 case OpNop: return "OpNop"; 3951 case OpUndef: return "OpUndef"; 3952 case OpSourceContinued: return "OpSourceContinued"; 3953 case OpSource: return "OpSource"; 3954 case OpSourceExtension: return "OpSourceExtension"; 3955 case OpName: return "OpName"; 3956 case OpMemberName: return "OpMemberName"; 3957 case OpString: return "OpString"; 3958 case OpLine: return "OpLine"; 3959 case OpExtension: return "OpExtension"; 3960 case OpExtInstImport: return "OpExtInstImport"; 3961 case OpExtInst: return "OpExtInst"; 3962 case OpMemoryModel: return "OpMemoryModel"; 3963 case OpEntryPoint: return "OpEntryPoint"; 3964 case OpExecutionMode: return "OpExecutionMode"; 3965 case OpCapability: return "OpCapability"; 3966 case OpTypeVoid: return "OpTypeVoid"; 3967 case OpTypeBool: return "OpTypeBool"; 3968 case OpTypeInt: return "OpTypeInt"; 3969 case OpTypeFloat: return "OpTypeFloat"; 3970 case OpTypeVector: return "OpTypeVector"; 3971 case OpTypeMatrix: return "OpTypeMatrix"; 3972 case OpTypeImage: return "OpTypeImage"; 3973 case OpTypeSampler: return "OpTypeSampler"; 3974 case OpTypeSampledImage: return "OpTypeSampledImage"; 3975 case OpTypeArray: return "OpTypeArray"; 3976 case OpTypeRuntimeArray: return "OpTypeRuntimeArray"; 3977 case OpTypeStruct: return "OpTypeStruct"; 3978 case OpTypeOpaque: return "OpTypeOpaque"; 3979 case OpTypePointer: return "OpTypePointer"; 3980 case OpTypeFunction: return "OpTypeFunction"; 3981 case OpTypeEvent: return "OpTypeEvent"; 3982 case OpTypeDeviceEvent: return "OpTypeDeviceEvent"; 3983 case OpTypeReserveId: return "OpTypeReserveId"; 3984 case OpTypeQueue: return "OpTypeQueue"; 3985 case OpTypePipe: return "OpTypePipe"; 3986 case OpTypeForwardPointer: return "OpTypeForwardPointer"; 3987 case OpConstantTrue: return "OpConstantTrue"; 3988 case OpConstantFalse: return "OpConstantFalse"; 3989 case OpConstant: return "OpConstant"; 3990 case OpConstantComposite: return "OpConstantComposite"; 3991 case OpConstantSampler: return "OpConstantSampler"; 3992 case OpConstantNull: return "OpConstantNull"; 3993 case OpSpecConstantTrue: return "OpSpecConstantTrue"; 3994 case OpSpecConstantFalse: return "OpSpecConstantFalse"; 3995 case OpSpecConstant: return "OpSpecConstant"; 3996 case OpSpecConstantComposite: return "OpSpecConstantComposite"; 3997 case OpSpecConstantOp: return "OpSpecConstantOp"; 3998 case OpFunction: return "OpFunction"; 3999 case OpFunctionParameter: return "OpFunctionParameter"; 4000 case OpFunctionEnd: return "OpFunctionEnd"; 4001 case OpFunctionCall: return "OpFunctionCall"; 4002 case OpVariable: return "OpVariable"; 4003 case OpImageTexelPointer: return "OpImageTexelPointer"; 4004 case OpLoad: return "OpLoad"; 4005 case OpStore: return "OpStore"; 4006 case OpCopyMemory: return "OpCopyMemory"; 4007 case OpCopyMemorySized: return "OpCopyMemorySized"; 4008 case OpAccessChain: return "OpAccessChain"; 4009 case OpInBoundsAccessChain: return "OpInBoundsAccessChain"; 4010 case OpPtrAccessChain: return "OpPtrAccessChain"; 4011 case OpArrayLength: return "OpArrayLength"; 4012 case OpGenericPtrMemSemantics: return "OpGenericPtrMemSemantics"; 4013 case OpInBoundsPtrAccessChain: return "OpInBoundsPtrAccessChain"; 4014 case OpDecorate: return "OpDecorate"; 4015 case OpMemberDecorate: return "OpMemberDecorate"; 4016 case OpDecorationGroup: return "OpDecorationGroup"; 4017 case OpGroupDecorate: return "OpGroupDecorate"; 4018 case OpGroupMemberDecorate: return "OpGroupMemberDecorate"; 4019 case OpVectorExtractDynamic: return "OpVectorExtractDynamic"; 4020 case OpVectorInsertDynamic: return "OpVectorInsertDynamic"; 4021 case OpVectorShuffle: return "OpVectorShuffle"; 4022 case OpCompositeConstruct: return "OpCompositeConstruct"; 4023 case OpCompositeExtract: return "OpCompositeExtract"; 4024 case OpCompositeInsert: return "OpCompositeInsert"; 4025 case OpCopyObject: return "OpCopyObject"; 4026 case OpTranspose: return "OpTranspose"; 4027 case OpSampledImage: return "OpSampledImage"; 4028 case OpImageSampleImplicitLod: return "OpImageSampleImplicitLod"; 4029 case OpImageSampleExplicitLod: return "OpImageSampleExplicitLod"; 4030 case OpImageSampleDrefImplicitLod: return "OpImageSampleDrefImplicitLod"; 4031 case OpImageSampleDrefExplicitLod: return "OpImageSampleDrefExplicitLod"; 4032 case OpImageSampleProjImplicitLod: return "OpImageSampleProjImplicitLod"; 4033 case OpImageSampleProjExplicitLod: return "OpImageSampleProjExplicitLod"; 4034 case OpImageSampleProjDrefImplicitLod: return "OpImageSampleProjDrefImplicitLod"; 4035 case OpImageSampleProjDrefExplicitLod: return "OpImageSampleProjDrefExplicitLod"; 4036 case OpImageFetch: return "OpImageFetch"; 4037 case OpImageGather: return "OpImageGather"; 4038 case OpImageDrefGather: return "OpImageDrefGather"; 4039 case OpImageRead: return "OpImageRead"; 4040 case OpImageWrite: return "OpImageWrite"; 4041 case OpImage: return "OpImage"; 4042 case OpImageQueryFormat: return "OpImageQueryFormat"; 4043 case OpImageQueryOrder: return "OpImageQueryOrder"; 4044 case OpImageQuerySizeLod: return "OpImageQuerySizeLod"; 4045 case OpImageQuerySize: return "OpImageQuerySize"; 4046 case OpImageQueryLod: return "OpImageQueryLod"; 4047 case OpImageQueryLevels: return "OpImageQueryLevels"; 4048 case OpImageQuerySamples: return "OpImageQuerySamples"; 4049 case OpConvertFToU: return "OpConvertFToU"; 4050 case OpConvertFToS: return "OpConvertFToS"; 4051 case OpConvertSToF: return "OpConvertSToF"; 4052 case OpConvertUToF: return "OpConvertUToF"; 4053 case OpUConvert: return "OpUConvert"; 4054 case OpSConvert: return "OpSConvert"; 4055 case OpFConvert: return "OpFConvert"; 4056 case OpQuantizeToF16: return "OpQuantizeToF16"; 4057 case OpConvertPtrToU: return "OpConvertPtrToU"; 4058 case OpSatConvertSToU: return "OpSatConvertSToU"; 4059 case OpSatConvertUToS: return "OpSatConvertUToS"; 4060 case OpConvertUToPtr: return "OpConvertUToPtr"; 4061 case OpPtrCastToGeneric: return "OpPtrCastToGeneric"; 4062 case OpGenericCastToPtr: return "OpGenericCastToPtr"; 4063 case OpGenericCastToPtrExplicit: return "OpGenericCastToPtrExplicit"; 4064 case OpBitcast: return "OpBitcast"; 4065 case OpSNegate: return "OpSNegate"; 4066 case OpFNegate: return "OpFNegate"; 4067 case OpIAdd: return "OpIAdd"; 4068 case OpFAdd: return "OpFAdd"; 4069 case OpISub: return "OpISub"; 4070 case OpFSub: return "OpFSub"; 4071 case OpIMul: return "OpIMul"; 4072 case OpFMul: return "OpFMul"; 4073 case OpUDiv: return "OpUDiv"; 4074 case OpSDiv: return "OpSDiv"; 4075 case OpFDiv: return "OpFDiv"; 4076 case OpUMod: return "OpUMod"; 4077 case OpSRem: return "OpSRem"; 4078 case OpSMod: return "OpSMod"; 4079 case OpFRem: return "OpFRem"; 4080 case OpFMod: return "OpFMod"; 4081 case OpVectorTimesScalar: return "OpVectorTimesScalar"; 4082 case OpMatrixTimesScalar: return "OpMatrixTimesScalar"; 4083 case OpVectorTimesMatrix: return "OpVectorTimesMatrix"; 4084 case OpMatrixTimesVector: return "OpMatrixTimesVector"; 4085 case OpMatrixTimesMatrix: return "OpMatrixTimesMatrix"; 4086 case OpOuterProduct: return "OpOuterProduct"; 4087 case OpDot: return "OpDot"; 4088 case OpIAddCarry: return "OpIAddCarry"; 4089 case OpISubBorrow: return "OpISubBorrow"; 4090 case OpUMulExtended: return "OpUMulExtended"; 4091 case OpSMulExtended: return "OpSMulExtended"; 4092 case OpAny: return "OpAny"; 4093 case OpAll: return "OpAll"; 4094 case OpIsNan: return "OpIsNan"; 4095 case OpIsInf: return "OpIsInf"; 4096 case OpIsFinite: return "OpIsFinite"; 4097 case OpIsNormal: return "OpIsNormal"; 4098 case OpSignBitSet: return "OpSignBitSet"; 4099 case OpLessOrGreater: return "OpLessOrGreater"; 4100 case OpOrdered: return "OpOrdered"; 4101 case OpUnordered: return "OpUnordered"; 4102 case OpLogicalEqual: return "OpLogicalEqual"; 4103 case OpLogicalNotEqual: return "OpLogicalNotEqual"; 4104 case OpLogicalOr: return "OpLogicalOr"; 4105 case OpLogicalAnd: return "OpLogicalAnd"; 4106 case OpLogicalNot: return "OpLogicalNot"; 4107 case OpSelect: return "OpSelect"; 4108 case OpIEqual: return "OpIEqual"; 4109 case OpINotEqual: return "OpINotEqual"; 4110 case OpUGreaterThan: return "OpUGreaterThan"; 4111 case OpSGreaterThan: return "OpSGreaterThan"; 4112 case OpUGreaterThanEqual: return "OpUGreaterThanEqual"; 4113 case OpSGreaterThanEqual: return "OpSGreaterThanEqual"; 4114 case OpULessThan: return "OpULessThan"; 4115 case OpSLessThan: return "OpSLessThan"; 4116 case OpULessThanEqual: return "OpULessThanEqual"; 4117 case OpSLessThanEqual: return "OpSLessThanEqual"; 4118 case OpFOrdEqual: return "OpFOrdEqual"; 4119 case OpFUnordEqual: return "OpFUnordEqual"; 4120 case OpFOrdNotEqual: return "OpFOrdNotEqual"; 4121 case OpFUnordNotEqual: return "OpFUnordNotEqual"; 4122 case OpFOrdLessThan: return "OpFOrdLessThan"; 4123 case OpFUnordLessThan: return "OpFUnordLessThan"; 4124 case OpFOrdGreaterThan: return "OpFOrdGreaterThan"; 4125 case OpFUnordGreaterThan: return "OpFUnordGreaterThan"; 4126 case OpFOrdLessThanEqual: return "OpFOrdLessThanEqual"; 4127 case OpFUnordLessThanEqual: return "OpFUnordLessThanEqual"; 4128 case OpFOrdGreaterThanEqual: return "OpFOrdGreaterThanEqual"; 4129 case OpFUnordGreaterThanEqual: return "OpFUnordGreaterThanEqual"; 4130 case OpShiftRightLogical: return "OpShiftRightLogical"; 4131 case OpShiftRightArithmetic: return "OpShiftRightArithmetic"; 4132 case OpShiftLeftLogical: return "OpShiftLeftLogical"; 4133 case OpBitwiseOr: return "OpBitwiseOr"; 4134 case OpBitwiseXor: return "OpBitwiseXor"; 4135 case OpBitwiseAnd: return "OpBitwiseAnd"; 4136 case OpNot: return "OpNot"; 4137 case OpBitFieldInsert: return "OpBitFieldInsert"; 4138 case OpBitFieldSExtract: return "OpBitFieldSExtract"; 4139 case OpBitFieldUExtract: return "OpBitFieldUExtract"; 4140 case OpBitReverse: return "OpBitReverse"; 4141 case OpBitCount: return "OpBitCount"; 4142 case OpDPdx: return "OpDPdx"; 4143 case OpDPdy: return "OpDPdy"; 4144 case OpFwidth: return "OpFwidth"; 4145 case OpDPdxFine: return "OpDPdxFine"; 4146 case OpDPdyFine: return "OpDPdyFine"; 4147 case OpFwidthFine: return "OpFwidthFine"; 4148 case OpDPdxCoarse: return "OpDPdxCoarse"; 4149 case OpDPdyCoarse: return "OpDPdyCoarse"; 4150 case OpFwidthCoarse: return "OpFwidthCoarse"; 4151 case OpEmitVertex: return "OpEmitVertex"; 4152 case OpEndPrimitive: return "OpEndPrimitive"; 4153 case OpEmitStreamVertex: return "OpEmitStreamVertex"; 4154 case OpEndStreamPrimitive: return "OpEndStreamPrimitive"; 4155 case OpControlBarrier: return "OpControlBarrier"; 4156 case OpMemoryBarrier: return "OpMemoryBarrier"; 4157 case OpAtomicLoad: return "OpAtomicLoad"; 4158 case OpAtomicStore: return "OpAtomicStore"; 4159 case OpAtomicExchange: return "OpAtomicExchange"; 4160 case OpAtomicCompareExchange: return "OpAtomicCompareExchange"; 4161 case OpAtomicCompareExchangeWeak: return "OpAtomicCompareExchangeWeak"; 4162 case OpAtomicIIncrement: return "OpAtomicIIncrement"; 4163 case OpAtomicIDecrement: return "OpAtomicIDecrement"; 4164 case OpAtomicIAdd: return "OpAtomicIAdd"; 4165 case OpAtomicISub: return "OpAtomicISub"; 4166 case OpAtomicSMin: return "OpAtomicSMin"; 4167 case OpAtomicUMin: return "OpAtomicUMin"; 4168 case OpAtomicSMax: return "OpAtomicSMax"; 4169 case OpAtomicUMax: return "OpAtomicUMax"; 4170 case OpAtomicAnd: return "OpAtomicAnd"; 4171 case OpAtomicOr: return "OpAtomicOr"; 4172 case OpAtomicXor: return "OpAtomicXor"; 4173 case OpPhi: return "OpPhi"; 4174 case OpLoopMerge: return "OpLoopMerge"; 4175 case OpSelectionMerge: return "OpSelectionMerge"; 4176 case OpLabel: return "OpLabel"; 4177 case OpBranch: return "OpBranch"; 4178 case OpBranchConditional: return "OpBranchConditional"; 4179 case OpSwitch: return "OpSwitch"; 4180 case OpKill: return "OpKill"; 4181 case OpReturn: return "OpReturn"; 4182 case OpReturnValue: return "OpReturnValue"; 4183 case OpUnreachable: return "OpUnreachable"; 4184 case OpLifetimeStart: return "OpLifetimeStart"; 4185 case OpLifetimeStop: return "OpLifetimeStop"; 4186 case OpGroupAsyncCopy: return "OpGroupAsyncCopy"; 4187 case OpGroupWaitEvents: return "OpGroupWaitEvents"; 4188 case OpGroupAll: return "OpGroupAll"; 4189 case OpGroupAny: return "OpGroupAny"; 4190 case OpGroupBroadcast: return "OpGroupBroadcast"; 4191 case OpGroupIAdd: return "OpGroupIAdd"; 4192 case OpGroupFAdd: return "OpGroupFAdd"; 4193 case OpGroupFMin: return "OpGroupFMin"; 4194 case OpGroupUMin: return "OpGroupUMin"; 4195 case OpGroupSMin: return "OpGroupSMin"; 4196 case OpGroupFMax: return "OpGroupFMax"; 4197 case OpGroupUMax: return "OpGroupUMax"; 4198 case OpGroupSMax: return "OpGroupSMax"; 4199 case OpReadPipe: return "OpReadPipe"; 4200 case OpWritePipe: return "OpWritePipe"; 4201 case OpReservedReadPipe: return "OpReservedReadPipe"; 4202 case OpReservedWritePipe: return "OpReservedWritePipe"; 4203 case OpReserveReadPipePackets: return "OpReserveReadPipePackets"; 4204 case OpReserveWritePipePackets: return "OpReserveWritePipePackets"; 4205 case OpCommitReadPipe: return "OpCommitReadPipe"; 4206 case OpCommitWritePipe: return "OpCommitWritePipe"; 4207 case OpIsValidReserveId: return "OpIsValidReserveId"; 4208 case OpGetNumPipePackets: return "OpGetNumPipePackets"; 4209 case OpGetMaxPipePackets: return "OpGetMaxPipePackets"; 4210 case OpGroupReserveReadPipePackets: return "OpGroupReserveReadPipePackets"; 4211 case OpGroupReserveWritePipePackets: return "OpGroupReserveWritePipePackets"; 4212 case OpGroupCommitReadPipe: return "OpGroupCommitReadPipe"; 4213 case OpGroupCommitWritePipe: return "OpGroupCommitWritePipe"; 4214 case OpEnqueueMarker: return "OpEnqueueMarker"; 4215 case OpEnqueueKernel: return "OpEnqueueKernel"; 4216 case OpGetKernelNDrangeSubGroupCount: return "OpGetKernelNDrangeSubGroupCount"; 4217 case OpGetKernelNDrangeMaxSubGroupSize: return "OpGetKernelNDrangeMaxSubGroupSize"; 4218 case OpGetKernelWorkGroupSize: return "OpGetKernelWorkGroupSize"; 4219 case OpGetKernelPreferredWorkGroupSizeMultiple: return "OpGetKernelPreferredWorkGroupSizeMultiple"; 4220 case OpRetainEvent: return "OpRetainEvent"; 4221 case OpReleaseEvent: return "OpReleaseEvent"; 4222 case OpCreateUserEvent: return "OpCreateUserEvent"; 4223 case OpIsValidEvent: return "OpIsValidEvent"; 4224 case OpSetUserEventStatus: return "OpSetUserEventStatus"; 4225 case OpCaptureEventProfilingInfo: return "OpCaptureEventProfilingInfo"; 4226 case OpGetDefaultQueue: return "OpGetDefaultQueue"; 4227 case OpBuildNDRange: return "OpBuildNDRange"; 4228 case OpImageSparseSampleImplicitLod: return "OpImageSparseSampleImplicitLod"; 4229 case OpImageSparseSampleExplicitLod: return "OpImageSparseSampleExplicitLod"; 4230 case OpImageSparseSampleDrefImplicitLod: return "OpImageSparseSampleDrefImplicitLod"; 4231 case OpImageSparseSampleDrefExplicitLod: return "OpImageSparseSampleDrefExplicitLod"; 4232 case OpImageSparseSampleProjImplicitLod: return "OpImageSparseSampleProjImplicitLod"; 4233 case OpImageSparseSampleProjExplicitLod: return "OpImageSparseSampleProjExplicitLod"; 4234 case OpImageSparseSampleProjDrefImplicitLod: return "OpImageSparseSampleProjDrefImplicitLod"; 4235 case OpImageSparseSampleProjDrefExplicitLod: return "OpImageSparseSampleProjDrefExplicitLod"; 4236 case OpImageSparseFetch: return "OpImageSparseFetch"; 4237 case OpImageSparseGather: return "OpImageSparseGather"; 4238 case OpImageSparseDrefGather: return "OpImageSparseDrefGather"; 4239 case OpImageSparseTexelsResident: return "OpImageSparseTexelsResident"; 4240 case OpNoLine: return "OpNoLine"; 4241 case OpAtomicFlagTestAndSet: return "OpAtomicFlagTestAndSet"; 4242 case OpAtomicFlagClear: return "OpAtomicFlagClear"; 4243 case OpImageSparseRead: return "OpImageSparseRead"; 4244 case OpSizeOf: return "OpSizeOf"; 4245 case OpTypePipeStorage: return "OpTypePipeStorage"; 4246 case OpConstantPipeStorage: return "OpConstantPipeStorage"; 4247 case OpCreatePipeFromPipeStorage: return "OpCreatePipeFromPipeStorage"; 4248 case OpGetKernelLocalSizeForSubgroupCount: return "OpGetKernelLocalSizeForSubgroupCount"; 4249 case OpGetKernelMaxNumSubgroups: return "OpGetKernelMaxNumSubgroups"; 4250 case OpTypeNamedBarrier: return "OpTypeNamedBarrier"; 4251 case OpNamedBarrierInitialize: return "OpNamedBarrierInitialize"; 4252 case OpMemoryNamedBarrier: return "OpMemoryNamedBarrier"; 4253 case OpModuleProcessed: return "OpModuleProcessed"; 4254 case OpExecutionModeId: return "OpExecutionModeId"; 4255 case OpDecorateId: return "OpDecorateId"; 4256 case OpGroupNonUniformElect: return "OpGroupNonUniformElect"; 4257 case OpGroupNonUniformAll: return "OpGroupNonUniformAll"; 4258 case OpGroupNonUniformAny: return "OpGroupNonUniformAny"; 4259 case OpGroupNonUniformAllEqual: return "OpGroupNonUniformAllEqual"; 4260 case OpGroupNonUniformBroadcast: return "OpGroupNonUniformBroadcast"; 4261 case OpGroupNonUniformBroadcastFirst: return "OpGroupNonUniformBroadcastFirst"; 4262 case OpGroupNonUniformBallot: return "OpGroupNonUniformBallot"; 4263 case OpGroupNonUniformInverseBallot: return "OpGroupNonUniformInverseBallot"; 4264 case OpGroupNonUniformBallotBitExtract: return "OpGroupNonUniformBallotBitExtract"; 4265 case OpGroupNonUniformBallotBitCount: return "OpGroupNonUniformBallotBitCount"; 4266 case OpGroupNonUniformBallotFindLSB: return "OpGroupNonUniformBallotFindLSB"; 4267 case OpGroupNonUniformBallotFindMSB: return "OpGroupNonUniformBallotFindMSB"; 4268 case OpGroupNonUniformShuffle: return "OpGroupNonUniformShuffle"; 4269 case OpGroupNonUniformShuffleXor: return "OpGroupNonUniformShuffleXor"; 4270 case OpGroupNonUniformShuffleUp: return "OpGroupNonUniformShuffleUp"; 4271 case OpGroupNonUniformShuffleDown: return "OpGroupNonUniformShuffleDown"; 4272 case OpGroupNonUniformIAdd: return "OpGroupNonUniformIAdd"; 4273 case OpGroupNonUniformFAdd: return "OpGroupNonUniformFAdd"; 4274 case OpGroupNonUniformIMul: return "OpGroupNonUniformIMul"; 4275 case OpGroupNonUniformFMul: return "OpGroupNonUniformFMul"; 4276 case OpGroupNonUniformSMin: return "OpGroupNonUniformSMin"; 4277 case OpGroupNonUniformUMin: return "OpGroupNonUniformUMin"; 4278 case OpGroupNonUniformFMin: return "OpGroupNonUniformFMin"; 4279 case OpGroupNonUniformSMax: return "OpGroupNonUniformSMax"; 4280 case OpGroupNonUniformUMax: return "OpGroupNonUniformUMax"; 4281 case OpGroupNonUniformFMax: return "OpGroupNonUniformFMax"; 4282 case OpGroupNonUniformBitwiseAnd: return "OpGroupNonUniformBitwiseAnd"; 4283 case OpGroupNonUniformBitwiseOr: return "OpGroupNonUniformBitwiseOr"; 4284 case OpGroupNonUniformBitwiseXor: return "OpGroupNonUniformBitwiseXor"; 4285 case OpGroupNonUniformLogicalAnd: return "OpGroupNonUniformLogicalAnd"; 4286 case OpGroupNonUniformLogicalOr: return "OpGroupNonUniformLogicalOr"; 4287 case OpGroupNonUniformLogicalXor: return "OpGroupNonUniformLogicalXor"; 4288 case OpGroupNonUniformQuadBroadcast: return "OpGroupNonUniformQuadBroadcast"; 4289 case OpGroupNonUniformQuadSwap: return "OpGroupNonUniformQuadSwap"; 4290 case OpCopyLogical: return "OpCopyLogical"; 4291 case OpPtrEqual: return "OpPtrEqual"; 4292 case OpPtrNotEqual: return "OpPtrNotEqual"; 4293 case OpPtrDiff: return "OpPtrDiff"; 4294 case OpColorAttachmentReadEXT: return "OpColorAttachmentReadEXT"; 4295 case OpDepthAttachmentReadEXT: return "OpDepthAttachmentReadEXT"; 4296 case OpStencilAttachmentReadEXT: return "OpStencilAttachmentReadEXT"; 4297 case OpTerminateInvocation: return "OpTerminateInvocation"; 4298 case OpSubgroupBallotKHR: return "OpSubgroupBallotKHR"; 4299 case OpSubgroupFirstInvocationKHR: return "OpSubgroupFirstInvocationKHR"; 4300 case OpSubgroupAllKHR: return "OpSubgroupAllKHR"; 4301 case OpSubgroupAnyKHR: return "OpSubgroupAnyKHR"; 4302 case OpSubgroupAllEqualKHR: return "OpSubgroupAllEqualKHR"; 4303 case OpGroupNonUniformRotateKHR: return "OpGroupNonUniformRotateKHR"; 4304 case OpSubgroupReadInvocationKHR: return "OpSubgroupReadInvocationKHR"; 4305 case OpExtInstWithForwardRefsKHR: return "OpExtInstWithForwardRefsKHR"; 4306 case OpTraceRayKHR: return "OpTraceRayKHR"; 4307 case OpExecuteCallableKHR: return "OpExecuteCallableKHR"; 4308 case OpConvertUToAccelerationStructureKHR: return "OpConvertUToAccelerationStructureKHR"; 4309 case OpIgnoreIntersectionKHR: return "OpIgnoreIntersectionKHR"; 4310 case OpTerminateRayKHR: return "OpTerminateRayKHR"; 4311 case OpSDot: return "OpSDot"; 4312 case OpUDot: return "OpUDot"; 4313 case OpSUDot: return "OpSUDot"; 4314 case OpSDotAccSat: return "OpSDotAccSat"; 4315 case OpUDotAccSat: return "OpUDotAccSat"; 4316 case OpSUDotAccSat: return "OpSUDotAccSat"; 4317 case OpTypeCooperativeMatrixKHR: return "OpTypeCooperativeMatrixKHR"; 4318 case OpCooperativeMatrixLoadKHR: return "OpCooperativeMatrixLoadKHR"; 4319 case OpCooperativeMatrixStoreKHR: return "OpCooperativeMatrixStoreKHR"; 4320 case OpCooperativeMatrixMulAddKHR: return "OpCooperativeMatrixMulAddKHR"; 4321 case OpCooperativeMatrixLengthKHR: return "OpCooperativeMatrixLengthKHR"; 4322 case OpConstantCompositeReplicateEXT: return "OpConstantCompositeReplicateEXT"; 4323 case OpSpecConstantCompositeReplicateEXT: return "OpSpecConstantCompositeReplicateEXT"; 4324 case OpCompositeConstructReplicateEXT: return "OpCompositeConstructReplicateEXT"; 4325 case OpTypeRayQueryKHR: return "OpTypeRayQueryKHR"; 4326 case OpRayQueryInitializeKHR: return "OpRayQueryInitializeKHR"; 4327 case OpRayQueryTerminateKHR: return "OpRayQueryTerminateKHR"; 4328 case OpRayQueryGenerateIntersectionKHR: return "OpRayQueryGenerateIntersectionKHR"; 4329 case OpRayQueryConfirmIntersectionKHR: return "OpRayQueryConfirmIntersectionKHR"; 4330 case OpRayQueryProceedKHR: return "OpRayQueryProceedKHR"; 4331 case OpRayQueryGetIntersectionTypeKHR: return "OpRayQueryGetIntersectionTypeKHR"; 4332 case OpImageSampleWeightedQCOM: return "OpImageSampleWeightedQCOM"; 4333 case OpImageBoxFilterQCOM: return "OpImageBoxFilterQCOM"; 4334 case OpImageBlockMatchSSDQCOM: return "OpImageBlockMatchSSDQCOM"; 4335 case OpImageBlockMatchSADQCOM: return "OpImageBlockMatchSADQCOM"; 4336 case OpImageBlockMatchWindowSSDQCOM: return "OpImageBlockMatchWindowSSDQCOM"; 4337 case OpImageBlockMatchWindowSADQCOM: return "OpImageBlockMatchWindowSADQCOM"; 4338 case OpImageBlockMatchGatherSSDQCOM: return "OpImageBlockMatchGatherSSDQCOM"; 4339 case OpImageBlockMatchGatherSADQCOM: return "OpImageBlockMatchGatherSADQCOM"; 4340 case OpGroupIAddNonUniformAMD: return "OpGroupIAddNonUniformAMD"; 4341 case OpGroupFAddNonUniformAMD: return "OpGroupFAddNonUniformAMD"; 4342 case OpGroupFMinNonUniformAMD: return "OpGroupFMinNonUniformAMD"; 4343 case OpGroupUMinNonUniformAMD: return "OpGroupUMinNonUniformAMD"; 4344 case OpGroupSMinNonUniformAMD: return "OpGroupSMinNonUniformAMD"; 4345 case OpGroupFMaxNonUniformAMD: return "OpGroupFMaxNonUniformAMD"; 4346 case OpGroupUMaxNonUniformAMD: return "OpGroupUMaxNonUniformAMD"; 4347 case OpGroupSMaxNonUniformAMD: return "OpGroupSMaxNonUniformAMD"; 4348 case OpFragmentMaskFetchAMD: return "OpFragmentMaskFetchAMD"; 4349 case OpFragmentFetchAMD: return "OpFragmentFetchAMD"; 4350 case OpReadClockKHR: return "OpReadClockKHR"; 4351 case OpFinalizeNodePayloadsAMDX: return "OpFinalizeNodePayloadsAMDX"; 4352 case OpFinishWritingNodePayloadAMDX: return "OpFinishWritingNodePayloadAMDX"; 4353 case OpInitializeNodePayloadsAMDX: return "OpInitializeNodePayloadsAMDX"; 4354 case OpGroupNonUniformQuadAllKHR: return "OpGroupNonUniformQuadAllKHR"; 4355 case OpGroupNonUniformQuadAnyKHR: return "OpGroupNonUniformQuadAnyKHR"; 4356 case OpHitObjectRecordHitMotionNV: return "OpHitObjectRecordHitMotionNV"; 4357 case OpHitObjectRecordHitWithIndexMotionNV: return "OpHitObjectRecordHitWithIndexMotionNV"; 4358 case OpHitObjectRecordMissMotionNV: return "OpHitObjectRecordMissMotionNV"; 4359 case OpHitObjectGetWorldToObjectNV: return "OpHitObjectGetWorldToObjectNV"; 4360 case OpHitObjectGetObjectToWorldNV: return "OpHitObjectGetObjectToWorldNV"; 4361 case OpHitObjectGetObjectRayDirectionNV: return "OpHitObjectGetObjectRayDirectionNV"; 4362 case OpHitObjectGetObjectRayOriginNV: return "OpHitObjectGetObjectRayOriginNV"; 4363 case OpHitObjectTraceRayMotionNV: return "OpHitObjectTraceRayMotionNV"; 4364 case OpHitObjectGetShaderRecordBufferHandleNV: return "OpHitObjectGetShaderRecordBufferHandleNV"; 4365 case OpHitObjectGetShaderBindingTableRecordIndexNV: return "OpHitObjectGetShaderBindingTableRecordIndexNV"; 4366 case OpHitObjectRecordEmptyNV: return "OpHitObjectRecordEmptyNV"; 4367 case OpHitObjectTraceRayNV: return "OpHitObjectTraceRayNV"; 4368 case OpHitObjectRecordHitNV: return "OpHitObjectRecordHitNV"; 4369 case OpHitObjectRecordHitWithIndexNV: return "OpHitObjectRecordHitWithIndexNV"; 4370 case OpHitObjectRecordMissNV: return "OpHitObjectRecordMissNV"; 4371 case OpHitObjectExecuteShaderNV: return "OpHitObjectExecuteShaderNV"; 4372 case OpHitObjectGetCurrentTimeNV: return "OpHitObjectGetCurrentTimeNV"; 4373 case OpHitObjectGetAttributesNV: return "OpHitObjectGetAttributesNV"; 4374 case OpHitObjectGetHitKindNV: return "OpHitObjectGetHitKindNV"; 4375 case OpHitObjectGetPrimitiveIndexNV: return "OpHitObjectGetPrimitiveIndexNV"; 4376 case OpHitObjectGetGeometryIndexNV: return "OpHitObjectGetGeometryIndexNV"; 4377 case OpHitObjectGetInstanceIdNV: return "OpHitObjectGetInstanceIdNV"; 4378 case OpHitObjectGetInstanceCustomIndexNV: return "OpHitObjectGetInstanceCustomIndexNV"; 4379 case OpHitObjectGetWorldRayDirectionNV: return "OpHitObjectGetWorldRayDirectionNV"; 4380 case OpHitObjectGetWorldRayOriginNV: return "OpHitObjectGetWorldRayOriginNV"; 4381 case OpHitObjectGetRayTMaxNV: return "OpHitObjectGetRayTMaxNV"; 4382 case OpHitObjectGetRayTMinNV: return "OpHitObjectGetRayTMinNV"; 4383 case OpHitObjectIsEmptyNV: return "OpHitObjectIsEmptyNV"; 4384 case OpHitObjectIsHitNV: return "OpHitObjectIsHitNV"; 4385 case OpHitObjectIsMissNV: return "OpHitObjectIsMissNV"; 4386 case OpReorderThreadWithHitObjectNV: return "OpReorderThreadWithHitObjectNV"; 4387 case OpReorderThreadWithHintNV: return "OpReorderThreadWithHintNV"; 4388 case OpTypeHitObjectNV: return "OpTypeHitObjectNV"; 4389 case OpImageSampleFootprintNV: return "OpImageSampleFootprintNV"; 4390 case OpEmitMeshTasksEXT: return "OpEmitMeshTasksEXT"; 4391 case OpSetMeshOutputsEXT: return "OpSetMeshOutputsEXT"; 4392 case OpGroupNonUniformPartitionNV: return "OpGroupNonUniformPartitionNV"; 4393 case OpWritePackedPrimitiveIndices4x8NV: return "OpWritePackedPrimitiveIndices4x8NV"; 4394 case OpFetchMicroTriangleVertexPositionNV: return "OpFetchMicroTriangleVertexPositionNV"; 4395 case OpFetchMicroTriangleVertexBarycentricNV: return "OpFetchMicroTriangleVertexBarycentricNV"; 4396 case OpReportIntersectionKHR: return "OpReportIntersectionKHR"; 4397 case OpIgnoreIntersectionNV: return "OpIgnoreIntersectionNV"; 4398 case OpTerminateRayNV: return "OpTerminateRayNV"; 4399 case OpTraceNV: return "OpTraceNV"; 4400 case OpTraceMotionNV: return "OpTraceMotionNV"; 4401 case OpTraceRayMotionNV: return "OpTraceRayMotionNV"; 4402 case OpRayQueryGetIntersectionTriangleVertexPositionsKHR: return "OpRayQueryGetIntersectionTriangleVertexPositionsKHR"; 4403 case OpTypeAccelerationStructureKHR: return "OpTypeAccelerationStructureKHR"; 4404 case OpExecuteCallableNV: return "OpExecuteCallableNV"; 4405 case OpTypeCooperativeMatrixNV: return "OpTypeCooperativeMatrixNV"; 4406 case OpCooperativeMatrixLoadNV: return "OpCooperativeMatrixLoadNV"; 4407 case OpCooperativeMatrixStoreNV: return "OpCooperativeMatrixStoreNV"; 4408 case OpCooperativeMatrixMulAddNV: return "OpCooperativeMatrixMulAddNV"; 4409 case OpCooperativeMatrixLengthNV: return "OpCooperativeMatrixLengthNV"; 4410 case OpBeginInvocationInterlockEXT: return "OpBeginInvocationInterlockEXT"; 4411 case OpEndInvocationInterlockEXT: return "OpEndInvocationInterlockEXT"; 4412 case OpDemoteToHelperInvocation: return "OpDemoteToHelperInvocation"; 4413 case OpIsHelperInvocationEXT: return "OpIsHelperInvocationEXT"; 4414 case OpConvertUToImageNV: return "OpConvertUToImageNV"; 4415 case OpConvertUToSamplerNV: return "OpConvertUToSamplerNV"; 4416 case OpConvertImageToUNV: return "OpConvertImageToUNV"; 4417 case OpConvertSamplerToUNV: return "OpConvertSamplerToUNV"; 4418 case OpConvertUToSampledImageNV: return "OpConvertUToSampledImageNV"; 4419 case OpConvertSampledImageToUNV: return "OpConvertSampledImageToUNV"; 4420 case OpSamplerImageAddressingModeNV: return "OpSamplerImageAddressingModeNV"; 4421 case OpRawAccessChainNV: return "OpRawAccessChainNV"; 4422 case OpSubgroupShuffleINTEL: return "OpSubgroupShuffleINTEL"; 4423 case OpSubgroupShuffleDownINTEL: return "OpSubgroupShuffleDownINTEL"; 4424 case OpSubgroupShuffleUpINTEL: return "OpSubgroupShuffleUpINTEL"; 4425 case OpSubgroupShuffleXorINTEL: return "OpSubgroupShuffleXorINTEL"; 4426 case OpSubgroupBlockReadINTEL: return "OpSubgroupBlockReadINTEL"; 4427 case OpSubgroupBlockWriteINTEL: return "OpSubgroupBlockWriteINTEL"; 4428 case OpSubgroupImageBlockReadINTEL: return "OpSubgroupImageBlockReadINTEL"; 4429 case OpSubgroupImageBlockWriteINTEL: return "OpSubgroupImageBlockWriteINTEL"; 4430 case OpSubgroupImageMediaBlockReadINTEL: return "OpSubgroupImageMediaBlockReadINTEL"; 4431 case OpSubgroupImageMediaBlockWriteINTEL: return "OpSubgroupImageMediaBlockWriteINTEL"; 4432 case OpUCountLeadingZerosINTEL: return "OpUCountLeadingZerosINTEL"; 4433 case OpUCountTrailingZerosINTEL: return "OpUCountTrailingZerosINTEL"; 4434 case OpAbsISubINTEL: return "OpAbsISubINTEL"; 4435 case OpAbsUSubINTEL: return "OpAbsUSubINTEL"; 4436 case OpIAddSatINTEL: return "OpIAddSatINTEL"; 4437 case OpUAddSatINTEL: return "OpUAddSatINTEL"; 4438 case OpIAverageINTEL: return "OpIAverageINTEL"; 4439 case OpUAverageINTEL: return "OpUAverageINTEL"; 4440 case OpIAverageRoundedINTEL: return "OpIAverageRoundedINTEL"; 4441 case OpUAverageRoundedINTEL: return "OpUAverageRoundedINTEL"; 4442 case OpISubSatINTEL: return "OpISubSatINTEL"; 4443 case OpUSubSatINTEL: return "OpUSubSatINTEL"; 4444 case OpIMul32x16INTEL: return "OpIMul32x16INTEL"; 4445 case OpUMul32x16INTEL: return "OpUMul32x16INTEL"; 4446 case OpConstantFunctionPointerINTEL: return "OpConstantFunctionPointerINTEL"; 4447 case OpFunctionPointerCallINTEL: return "OpFunctionPointerCallINTEL"; 4448 case OpAsmTargetINTEL: return "OpAsmTargetINTEL"; 4449 case OpAsmINTEL: return "OpAsmINTEL"; 4450 case OpAsmCallINTEL: return "OpAsmCallINTEL"; 4451 case OpAtomicFMinEXT: return "OpAtomicFMinEXT"; 4452 case OpAtomicFMaxEXT: return "OpAtomicFMaxEXT"; 4453 case OpAssumeTrueKHR: return "OpAssumeTrueKHR"; 4454 case OpExpectKHR: return "OpExpectKHR"; 4455 case OpDecorateString: return "OpDecorateString"; 4456 case OpMemberDecorateString: return "OpMemberDecorateString"; 4457 case OpVmeImageINTEL: return "OpVmeImageINTEL"; 4458 case OpTypeVmeImageINTEL: return "OpTypeVmeImageINTEL"; 4459 case OpTypeAvcImePayloadINTEL: return "OpTypeAvcImePayloadINTEL"; 4460 case OpTypeAvcRefPayloadINTEL: return "OpTypeAvcRefPayloadINTEL"; 4461 case OpTypeAvcSicPayloadINTEL: return "OpTypeAvcSicPayloadINTEL"; 4462 case OpTypeAvcMcePayloadINTEL: return "OpTypeAvcMcePayloadINTEL"; 4463 case OpTypeAvcMceResultINTEL: return "OpTypeAvcMceResultINTEL"; 4464 case OpTypeAvcImeResultINTEL: return "OpTypeAvcImeResultINTEL"; 4465 case OpTypeAvcImeResultSingleReferenceStreamoutINTEL: return "OpTypeAvcImeResultSingleReferenceStreamoutINTEL"; 4466 case OpTypeAvcImeResultDualReferenceStreamoutINTEL: return "OpTypeAvcImeResultDualReferenceStreamoutINTEL"; 4467 case OpTypeAvcImeSingleReferenceStreaminINTEL: return "OpTypeAvcImeSingleReferenceStreaminINTEL"; 4468 case OpTypeAvcImeDualReferenceStreaminINTEL: return "OpTypeAvcImeDualReferenceStreaminINTEL"; 4469 case OpTypeAvcRefResultINTEL: return "OpTypeAvcRefResultINTEL"; 4470 case OpTypeAvcSicResultINTEL: return "OpTypeAvcSicResultINTEL"; 4471 case OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL: return "OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL"; 4472 case OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL: return "OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL"; 4473 case OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL: return "OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL"; 4474 case OpSubgroupAvcMceSetInterShapePenaltyINTEL: return "OpSubgroupAvcMceSetInterShapePenaltyINTEL"; 4475 case OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL: return "OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL"; 4476 case OpSubgroupAvcMceSetInterDirectionPenaltyINTEL: return "OpSubgroupAvcMceSetInterDirectionPenaltyINTEL"; 4477 case OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL: return "OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL"; 4478 case OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL: return "OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL"; 4479 case OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL: return "OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL"; 4480 case OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL: return "OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL"; 4481 case OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL: return "OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL"; 4482 case OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL: return "OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL"; 4483 case OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL: return "OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL"; 4484 case OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL: return "OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL"; 4485 case OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL: return "OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL"; 4486 case OpSubgroupAvcMceSetAcOnlyHaarINTEL: return "OpSubgroupAvcMceSetAcOnlyHaarINTEL"; 4487 case OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL: return "OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL"; 4488 case OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL: return "OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL"; 4489 case OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL: return "OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL"; 4490 case OpSubgroupAvcMceConvertToImePayloadINTEL: return "OpSubgroupAvcMceConvertToImePayloadINTEL"; 4491 case OpSubgroupAvcMceConvertToImeResultINTEL: return "OpSubgroupAvcMceConvertToImeResultINTEL"; 4492 case OpSubgroupAvcMceConvertToRefPayloadINTEL: return "OpSubgroupAvcMceConvertToRefPayloadINTEL"; 4493 case OpSubgroupAvcMceConvertToRefResultINTEL: return "OpSubgroupAvcMceConvertToRefResultINTEL"; 4494 case OpSubgroupAvcMceConvertToSicPayloadINTEL: return "OpSubgroupAvcMceConvertToSicPayloadINTEL"; 4495 case OpSubgroupAvcMceConvertToSicResultINTEL: return "OpSubgroupAvcMceConvertToSicResultINTEL"; 4496 case OpSubgroupAvcMceGetMotionVectorsINTEL: return "OpSubgroupAvcMceGetMotionVectorsINTEL"; 4497 case OpSubgroupAvcMceGetInterDistortionsINTEL: return "OpSubgroupAvcMceGetInterDistortionsINTEL"; 4498 case OpSubgroupAvcMceGetBestInterDistortionsINTEL: return "OpSubgroupAvcMceGetBestInterDistortionsINTEL"; 4499 case OpSubgroupAvcMceGetInterMajorShapeINTEL: return "OpSubgroupAvcMceGetInterMajorShapeINTEL"; 4500 case OpSubgroupAvcMceGetInterMinorShapeINTEL: return "OpSubgroupAvcMceGetInterMinorShapeINTEL"; 4501 case OpSubgroupAvcMceGetInterDirectionsINTEL: return "OpSubgroupAvcMceGetInterDirectionsINTEL"; 4502 case OpSubgroupAvcMceGetInterMotionVectorCountINTEL: return "OpSubgroupAvcMceGetInterMotionVectorCountINTEL"; 4503 case OpSubgroupAvcMceGetInterReferenceIdsINTEL: return "OpSubgroupAvcMceGetInterReferenceIdsINTEL"; 4504 case OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL: return "OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL"; 4505 case OpSubgroupAvcImeInitializeINTEL: return "OpSubgroupAvcImeInitializeINTEL"; 4506 case OpSubgroupAvcImeSetSingleReferenceINTEL: return "OpSubgroupAvcImeSetSingleReferenceINTEL"; 4507 case OpSubgroupAvcImeSetDualReferenceINTEL: return "OpSubgroupAvcImeSetDualReferenceINTEL"; 4508 case OpSubgroupAvcImeRefWindowSizeINTEL: return "OpSubgroupAvcImeRefWindowSizeINTEL"; 4509 case OpSubgroupAvcImeAdjustRefOffsetINTEL: return "OpSubgroupAvcImeAdjustRefOffsetINTEL"; 4510 case OpSubgroupAvcImeConvertToMcePayloadINTEL: return "OpSubgroupAvcImeConvertToMcePayloadINTEL"; 4511 case OpSubgroupAvcImeSetMaxMotionVectorCountINTEL: return "OpSubgroupAvcImeSetMaxMotionVectorCountINTEL"; 4512 case OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL: return "OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL"; 4513 case OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL: return "OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL"; 4514 case OpSubgroupAvcImeSetWeightedSadINTEL: return "OpSubgroupAvcImeSetWeightedSadINTEL"; 4515 case OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL: return "OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL"; 4516 case OpSubgroupAvcImeEvaluateWithDualReferenceINTEL: return "OpSubgroupAvcImeEvaluateWithDualReferenceINTEL"; 4517 case OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL: return "OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL"; 4518 case OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL: return "OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL"; 4519 case OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL: return "OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL"; 4520 case OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL: return "OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL"; 4521 case OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL: return "OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL"; 4522 case OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL: return "OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL"; 4523 case OpSubgroupAvcImeConvertToMceResultINTEL: return "OpSubgroupAvcImeConvertToMceResultINTEL"; 4524 case OpSubgroupAvcImeGetSingleReferenceStreaminINTEL: return "OpSubgroupAvcImeGetSingleReferenceStreaminINTEL"; 4525 case OpSubgroupAvcImeGetDualReferenceStreaminINTEL: return "OpSubgroupAvcImeGetDualReferenceStreaminINTEL"; 4526 case OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL: return "OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL"; 4527 case OpSubgroupAvcImeStripDualReferenceStreamoutINTEL: return "OpSubgroupAvcImeStripDualReferenceStreamoutINTEL"; 4528 case OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL: return "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL"; 4529 case OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL: return "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL"; 4530 case OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL: return "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL"; 4531 case OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL: return "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL"; 4532 case OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL: return "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL"; 4533 case OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL: return "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL"; 4534 case OpSubgroupAvcImeGetBorderReachedINTEL: return "OpSubgroupAvcImeGetBorderReachedINTEL"; 4535 case OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL: return "OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL"; 4536 case OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL: return "OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL"; 4537 case OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL: return "OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL"; 4538 case OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL: return "OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL"; 4539 case OpSubgroupAvcFmeInitializeINTEL: return "OpSubgroupAvcFmeInitializeINTEL"; 4540 case OpSubgroupAvcBmeInitializeINTEL: return "OpSubgroupAvcBmeInitializeINTEL"; 4541 case OpSubgroupAvcRefConvertToMcePayloadINTEL: return "OpSubgroupAvcRefConvertToMcePayloadINTEL"; 4542 case OpSubgroupAvcRefSetBidirectionalMixDisableINTEL: return "OpSubgroupAvcRefSetBidirectionalMixDisableINTEL"; 4543 case OpSubgroupAvcRefSetBilinearFilterEnableINTEL: return "OpSubgroupAvcRefSetBilinearFilterEnableINTEL"; 4544 case OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL: return "OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL"; 4545 case OpSubgroupAvcRefEvaluateWithDualReferenceINTEL: return "OpSubgroupAvcRefEvaluateWithDualReferenceINTEL"; 4546 case OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL: return "OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL"; 4547 case OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL: return "OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL"; 4548 case OpSubgroupAvcRefConvertToMceResultINTEL: return "OpSubgroupAvcRefConvertToMceResultINTEL"; 4549 case OpSubgroupAvcSicInitializeINTEL: return "OpSubgroupAvcSicInitializeINTEL"; 4550 case OpSubgroupAvcSicConfigureSkcINTEL: return "OpSubgroupAvcSicConfigureSkcINTEL"; 4551 case OpSubgroupAvcSicConfigureIpeLumaINTEL: return "OpSubgroupAvcSicConfigureIpeLumaINTEL"; 4552 case OpSubgroupAvcSicConfigureIpeLumaChromaINTEL: return "OpSubgroupAvcSicConfigureIpeLumaChromaINTEL"; 4553 case OpSubgroupAvcSicGetMotionVectorMaskINTEL: return "OpSubgroupAvcSicGetMotionVectorMaskINTEL"; 4554 case OpSubgroupAvcSicConvertToMcePayloadINTEL: return "OpSubgroupAvcSicConvertToMcePayloadINTEL"; 4555 case OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL: return "OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL"; 4556 case OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL: return "OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL"; 4557 case OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL: return "OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL"; 4558 case OpSubgroupAvcSicSetBilinearFilterEnableINTEL: return "OpSubgroupAvcSicSetBilinearFilterEnableINTEL"; 4559 case OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL: return "OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL"; 4560 case OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL: return "OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL"; 4561 case OpSubgroupAvcSicEvaluateIpeINTEL: return "OpSubgroupAvcSicEvaluateIpeINTEL"; 4562 case OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL: return "OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL"; 4563 case OpSubgroupAvcSicEvaluateWithDualReferenceINTEL: return "OpSubgroupAvcSicEvaluateWithDualReferenceINTEL"; 4564 case OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL: return "OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL"; 4565 case OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL: return "OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL"; 4566 case OpSubgroupAvcSicConvertToMceResultINTEL: return "OpSubgroupAvcSicConvertToMceResultINTEL"; 4567 case OpSubgroupAvcSicGetIpeLumaShapeINTEL: return "OpSubgroupAvcSicGetIpeLumaShapeINTEL"; 4568 case OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL: return "OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL"; 4569 case OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL: return "OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL"; 4570 case OpSubgroupAvcSicGetPackedIpeLumaModesINTEL: return "OpSubgroupAvcSicGetPackedIpeLumaModesINTEL"; 4571 case OpSubgroupAvcSicGetIpeChromaModeINTEL: return "OpSubgroupAvcSicGetIpeChromaModeINTEL"; 4572 case OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: return "OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL"; 4573 case OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: return "OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL"; 4574 case OpSubgroupAvcSicGetInterRawSadsINTEL: return "OpSubgroupAvcSicGetInterRawSadsINTEL"; 4575 case OpVariableLengthArrayINTEL: return "OpVariableLengthArrayINTEL"; 4576 case OpSaveMemoryINTEL: return "OpSaveMemoryINTEL"; 4577 case OpRestoreMemoryINTEL: return "OpRestoreMemoryINTEL"; 4578 case OpArbitraryFloatSinCosPiINTEL: return "OpArbitraryFloatSinCosPiINTEL"; 4579 case OpArbitraryFloatCastINTEL: return "OpArbitraryFloatCastINTEL"; 4580 case OpArbitraryFloatCastFromIntINTEL: return "OpArbitraryFloatCastFromIntINTEL"; 4581 case OpArbitraryFloatCastToIntINTEL: return "OpArbitraryFloatCastToIntINTEL"; 4582 case OpArbitraryFloatAddINTEL: return "OpArbitraryFloatAddINTEL"; 4583 case OpArbitraryFloatSubINTEL: return "OpArbitraryFloatSubINTEL"; 4584 case OpArbitraryFloatMulINTEL: return "OpArbitraryFloatMulINTEL"; 4585 case OpArbitraryFloatDivINTEL: return "OpArbitraryFloatDivINTEL"; 4586 case OpArbitraryFloatGTINTEL: return "OpArbitraryFloatGTINTEL"; 4587 case OpArbitraryFloatGEINTEL: return "OpArbitraryFloatGEINTEL"; 4588 case OpArbitraryFloatLTINTEL: return "OpArbitraryFloatLTINTEL"; 4589 case OpArbitraryFloatLEINTEL: return "OpArbitraryFloatLEINTEL"; 4590 case OpArbitraryFloatEQINTEL: return "OpArbitraryFloatEQINTEL"; 4591 case OpArbitraryFloatRecipINTEL: return "OpArbitraryFloatRecipINTEL"; 4592 case OpArbitraryFloatRSqrtINTEL: return "OpArbitraryFloatRSqrtINTEL"; 4593 case OpArbitraryFloatCbrtINTEL: return "OpArbitraryFloatCbrtINTEL"; 4594 case OpArbitraryFloatHypotINTEL: return "OpArbitraryFloatHypotINTEL"; 4595 case OpArbitraryFloatSqrtINTEL: return "OpArbitraryFloatSqrtINTEL"; 4596 case OpArbitraryFloatLogINTEL: return "OpArbitraryFloatLogINTEL"; 4597 case OpArbitraryFloatLog2INTEL: return "OpArbitraryFloatLog2INTEL"; 4598 case OpArbitraryFloatLog10INTEL: return "OpArbitraryFloatLog10INTEL"; 4599 case OpArbitraryFloatLog1pINTEL: return "OpArbitraryFloatLog1pINTEL"; 4600 case OpArbitraryFloatExpINTEL: return "OpArbitraryFloatExpINTEL"; 4601 case OpArbitraryFloatExp2INTEL: return "OpArbitraryFloatExp2INTEL"; 4602 case OpArbitraryFloatExp10INTEL: return "OpArbitraryFloatExp10INTEL"; 4603 case OpArbitraryFloatExpm1INTEL: return "OpArbitraryFloatExpm1INTEL"; 4604 case OpArbitraryFloatSinINTEL: return "OpArbitraryFloatSinINTEL"; 4605 case OpArbitraryFloatCosINTEL: return "OpArbitraryFloatCosINTEL"; 4606 case OpArbitraryFloatSinCosINTEL: return "OpArbitraryFloatSinCosINTEL"; 4607 case OpArbitraryFloatSinPiINTEL: return "OpArbitraryFloatSinPiINTEL"; 4608 case OpArbitraryFloatCosPiINTEL: return "OpArbitraryFloatCosPiINTEL"; 4609 case OpArbitraryFloatASinINTEL: return "OpArbitraryFloatASinINTEL"; 4610 case OpArbitraryFloatASinPiINTEL: return "OpArbitraryFloatASinPiINTEL"; 4611 case OpArbitraryFloatACosINTEL: return "OpArbitraryFloatACosINTEL"; 4612 case OpArbitraryFloatACosPiINTEL: return "OpArbitraryFloatACosPiINTEL"; 4613 case OpArbitraryFloatATanINTEL: return "OpArbitraryFloatATanINTEL"; 4614 case OpArbitraryFloatATanPiINTEL: return "OpArbitraryFloatATanPiINTEL"; 4615 case OpArbitraryFloatATan2INTEL: return "OpArbitraryFloatATan2INTEL"; 4616 case OpArbitraryFloatPowINTEL: return "OpArbitraryFloatPowINTEL"; 4617 case OpArbitraryFloatPowRINTEL: return "OpArbitraryFloatPowRINTEL"; 4618 case OpArbitraryFloatPowNINTEL: return "OpArbitraryFloatPowNINTEL"; 4619 case OpLoopControlINTEL: return "OpLoopControlINTEL"; 4620 case OpAliasDomainDeclINTEL: return "OpAliasDomainDeclINTEL"; 4621 case OpAliasScopeDeclINTEL: return "OpAliasScopeDeclINTEL"; 4622 case OpAliasScopeListDeclINTEL: return "OpAliasScopeListDeclINTEL"; 4623 case OpFixedSqrtINTEL: return "OpFixedSqrtINTEL"; 4624 case OpFixedRecipINTEL: return "OpFixedRecipINTEL"; 4625 case OpFixedRsqrtINTEL: return "OpFixedRsqrtINTEL"; 4626 case OpFixedSinINTEL: return "OpFixedSinINTEL"; 4627 case OpFixedCosINTEL: return "OpFixedCosINTEL"; 4628 case OpFixedSinCosINTEL: return "OpFixedSinCosINTEL"; 4629 case OpFixedSinPiINTEL: return "OpFixedSinPiINTEL"; 4630 case OpFixedCosPiINTEL: return "OpFixedCosPiINTEL"; 4631 case OpFixedSinCosPiINTEL: return "OpFixedSinCosPiINTEL"; 4632 case OpFixedLogINTEL: return "OpFixedLogINTEL"; 4633 case OpFixedExpINTEL: return "OpFixedExpINTEL"; 4634 case OpPtrCastToCrossWorkgroupINTEL: return "OpPtrCastToCrossWorkgroupINTEL"; 4635 case OpCrossWorkgroupCastToPtrINTEL: return "OpCrossWorkgroupCastToPtrINTEL"; 4636 case OpReadPipeBlockingINTEL: return "OpReadPipeBlockingINTEL"; 4637 case OpWritePipeBlockingINTEL: return "OpWritePipeBlockingINTEL"; 4638 case OpFPGARegINTEL: return "OpFPGARegINTEL"; 4639 case OpRayQueryGetRayTMinKHR: return "OpRayQueryGetRayTMinKHR"; 4640 case OpRayQueryGetRayFlagsKHR: return "OpRayQueryGetRayFlagsKHR"; 4641 case OpRayQueryGetIntersectionTKHR: return "OpRayQueryGetIntersectionTKHR"; 4642 case OpRayQueryGetIntersectionInstanceCustomIndexKHR: return "OpRayQueryGetIntersectionInstanceCustomIndexKHR"; 4643 case OpRayQueryGetIntersectionInstanceIdKHR: return "OpRayQueryGetIntersectionInstanceIdKHR"; 4644 case OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR: return "OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR"; 4645 case OpRayQueryGetIntersectionGeometryIndexKHR: return "OpRayQueryGetIntersectionGeometryIndexKHR"; 4646 case OpRayQueryGetIntersectionPrimitiveIndexKHR: return "OpRayQueryGetIntersectionPrimitiveIndexKHR"; 4647 case OpRayQueryGetIntersectionBarycentricsKHR: return "OpRayQueryGetIntersectionBarycentricsKHR"; 4648 case OpRayQueryGetIntersectionFrontFaceKHR: return "OpRayQueryGetIntersectionFrontFaceKHR"; 4649 case OpRayQueryGetIntersectionCandidateAABBOpaqueKHR: return "OpRayQueryGetIntersectionCandidateAABBOpaqueKHR"; 4650 case OpRayQueryGetIntersectionObjectRayDirectionKHR: return "OpRayQueryGetIntersectionObjectRayDirectionKHR"; 4651 case OpRayQueryGetIntersectionObjectRayOriginKHR: return "OpRayQueryGetIntersectionObjectRayOriginKHR"; 4652 case OpRayQueryGetWorldRayDirectionKHR: return "OpRayQueryGetWorldRayDirectionKHR"; 4653 case OpRayQueryGetWorldRayOriginKHR: return "OpRayQueryGetWorldRayOriginKHR"; 4654 case OpRayQueryGetIntersectionObjectToWorldKHR: return "OpRayQueryGetIntersectionObjectToWorldKHR"; 4655 case OpRayQueryGetIntersectionWorldToObjectKHR: return "OpRayQueryGetIntersectionWorldToObjectKHR"; 4656 case OpAtomicFAddEXT: return "OpAtomicFAddEXT"; 4657 case OpTypeBufferSurfaceINTEL: return "OpTypeBufferSurfaceINTEL"; 4658 case OpTypeStructContinuedINTEL: return "OpTypeStructContinuedINTEL"; 4659 case OpConstantCompositeContinuedINTEL: return "OpConstantCompositeContinuedINTEL"; 4660 case OpSpecConstantCompositeContinuedINTEL: return "OpSpecConstantCompositeContinuedINTEL"; 4661 case OpCompositeConstructContinuedINTEL: return "OpCompositeConstructContinuedINTEL"; 4662 case OpConvertFToBF16INTEL: return "OpConvertFToBF16INTEL"; 4663 case OpConvertBF16ToFINTEL: return "OpConvertBF16ToFINTEL"; 4664 case OpControlBarrierArriveINTEL: return "OpControlBarrierArriveINTEL"; 4665 case OpControlBarrierWaitINTEL: return "OpControlBarrierWaitINTEL"; 4666 case OpGroupIMulKHR: return "OpGroupIMulKHR"; 4667 case OpGroupFMulKHR: return "OpGroupFMulKHR"; 4668 case OpGroupBitwiseAndKHR: return "OpGroupBitwiseAndKHR"; 4669 case OpGroupBitwiseOrKHR: return "OpGroupBitwiseOrKHR"; 4670 case OpGroupBitwiseXorKHR: return "OpGroupBitwiseXorKHR"; 4671 case OpGroupLogicalAndKHR: return "OpGroupLogicalAndKHR"; 4672 case OpGroupLogicalOrKHR: return "OpGroupLogicalOrKHR"; 4673 case OpGroupLogicalXorKHR: return "OpGroupLogicalXorKHR"; 4674 case OpMaskedGatherINTEL: return "OpMaskedGatherINTEL"; 4675 case OpMaskedScatterINTEL: return "OpMaskedScatterINTEL"; 4676 default: return "Unknown"; 4677 } 4678} 4679 4680#endif /* SPV_ENABLE_UTILITY_CODE */ 4681 4682// Overload bitwise operators for mask bit combining 4683 4684constexpr ImageOperandsMask operator|(ImageOperandsMask a, ImageOperandsMask b) { return ImageOperandsMask(unsigned(a) | unsigned(b)); } 4685constexpr ImageOperandsMask operator&(ImageOperandsMask a, ImageOperandsMask b) { return ImageOperandsMask(unsigned(a) & unsigned(b)); } 4686constexpr ImageOperandsMask operator^(ImageOperandsMask a, ImageOperandsMask b) { return ImageOperandsMask(unsigned(a) ^ unsigned(b)); } 4687constexpr ImageOperandsMask operator~(ImageOperandsMask a) { return ImageOperandsMask(~unsigned(a)); } 4688constexpr FPFastMathModeMask operator|(FPFastMathModeMask a, FPFastMathModeMask b) { return FPFastMathModeMask(unsigned(a) | unsigned(b)); } 4689constexpr FPFastMathModeMask operator&(FPFastMathModeMask a, FPFastMathModeMask b) { return FPFastMathModeMask(unsigned(a) & unsigned(b)); } 4690constexpr FPFastMathModeMask operator^(FPFastMathModeMask a, FPFastMathModeMask b) { return FPFastMathModeMask(unsigned(a) ^ unsigned(b)); } 4691constexpr FPFastMathModeMask operator~(FPFastMathModeMask a) { return FPFastMathModeMask(~unsigned(a)); } 4692constexpr SelectionControlMask operator|(SelectionControlMask a, SelectionControlMask b) { return SelectionControlMask(unsigned(a) | unsigned(b)); } 4693constexpr SelectionControlMask operator&(SelectionControlMask a, SelectionControlMask b) { return SelectionControlMask(unsigned(a) & unsigned(b)); } 4694constexpr SelectionControlMask operator^(SelectionControlMask a, SelectionControlMask b) { return SelectionControlMask(unsigned(a) ^ unsigned(b)); } 4695constexpr SelectionControlMask operator~(SelectionControlMask a) { return SelectionControlMask(~unsigned(a)); } 4696constexpr LoopControlMask operator|(LoopControlMask a, LoopControlMask b) { return LoopControlMask(unsigned(a) | unsigned(b)); } 4697constexpr LoopControlMask operator&(LoopControlMask a, LoopControlMask b) { return LoopControlMask(unsigned(a) & unsigned(b)); } 4698constexpr LoopControlMask operator^(LoopControlMask a, LoopControlMask b) { return LoopControlMask(unsigned(a) ^ unsigned(b)); } 4699constexpr LoopControlMask operator~(LoopControlMask a) { return LoopControlMask(~unsigned(a)); } 4700constexpr FunctionControlMask operator|(FunctionControlMask a, FunctionControlMask b) { return FunctionControlMask(unsigned(a) | unsigned(b)); } 4701constexpr FunctionControlMask operator&(FunctionControlMask a, FunctionControlMask b) { return FunctionControlMask(unsigned(a) & unsigned(b)); } 4702constexpr FunctionControlMask operator^(FunctionControlMask a, FunctionControlMask b) { return FunctionControlMask(unsigned(a) ^ unsigned(b)); } 4703constexpr FunctionControlMask operator~(FunctionControlMask a) { return FunctionControlMask(~unsigned(a)); } 4704constexpr MemorySemanticsMask operator|(MemorySemanticsMask a, MemorySemanticsMask b) { return MemorySemanticsMask(unsigned(a) | unsigned(b)); } 4705constexpr MemorySemanticsMask operator&(MemorySemanticsMask a, MemorySemanticsMask b) { return MemorySemanticsMask(unsigned(a) & unsigned(b)); } 4706constexpr MemorySemanticsMask operator^(MemorySemanticsMask a, MemorySemanticsMask b) { return MemorySemanticsMask(unsigned(a) ^ unsigned(b)); } 4707constexpr MemorySemanticsMask operator~(MemorySemanticsMask a) { return MemorySemanticsMask(~unsigned(a)); } 4708constexpr MemoryAccessMask operator|(MemoryAccessMask a, MemoryAccessMask b) { return MemoryAccessMask(unsigned(a) | unsigned(b)); } 4709constexpr MemoryAccessMask operator&(MemoryAccessMask a, MemoryAccessMask b) { return MemoryAccessMask(unsigned(a) & unsigned(b)); } 4710constexpr MemoryAccessMask operator^(MemoryAccessMask a, MemoryAccessMask b) { return MemoryAccessMask(unsigned(a) ^ unsigned(b)); } 4711constexpr MemoryAccessMask operator~(MemoryAccessMask a) { return MemoryAccessMask(~unsigned(a)); } 4712constexpr KernelProfilingInfoMask operator|(KernelProfilingInfoMask a, KernelProfilingInfoMask b) { return KernelProfilingInfoMask(unsigned(a) | unsigned(b)); } 4713constexpr KernelProfilingInfoMask operator&(KernelProfilingInfoMask a, KernelProfilingInfoMask b) { return KernelProfilingInfoMask(unsigned(a) & unsigned(b)); } 4714constexpr KernelProfilingInfoMask operator^(KernelProfilingInfoMask a, KernelProfilingInfoMask b) { return KernelProfilingInfoMask(unsigned(a) ^ unsigned(b)); } 4715constexpr KernelProfilingInfoMask operator~(KernelProfilingInfoMask a) { return KernelProfilingInfoMask(~unsigned(a)); } 4716constexpr RayFlagsMask operator|(RayFlagsMask a, RayFlagsMask b) { return RayFlagsMask(unsigned(a) | unsigned(b)); } 4717constexpr RayFlagsMask operator&(RayFlagsMask a, RayFlagsMask b) { return RayFlagsMask(unsigned(a) & unsigned(b)); } 4718constexpr RayFlagsMask operator^(RayFlagsMask a, RayFlagsMask b) { return RayFlagsMask(unsigned(a) ^ unsigned(b)); } 4719constexpr RayFlagsMask operator~(RayFlagsMask a) { return RayFlagsMask(~unsigned(a)); } 4720constexpr FragmentShadingRateMask operator|(FragmentShadingRateMask a, FragmentShadingRateMask b) { return FragmentShadingRateMask(unsigned(a) | unsigned(b)); } 4721constexpr FragmentShadingRateMask operator&(FragmentShadingRateMask a, FragmentShadingRateMask b) { return FragmentShadingRateMask(unsigned(a) & unsigned(b)); } 4722constexpr FragmentShadingRateMask operator^(FragmentShadingRateMask a, FragmentShadingRateMask b) { return FragmentShadingRateMask(unsigned(a) ^ unsigned(b)); } 4723constexpr FragmentShadingRateMask operator~(FragmentShadingRateMask a) { return FragmentShadingRateMask(~unsigned(a)); } 4724constexpr CooperativeMatrixOperandsMask operator|(CooperativeMatrixOperandsMask a, CooperativeMatrixOperandsMask b) { return CooperativeMatrixOperandsMask(unsigned(a) | unsigned(b)); } 4725constexpr CooperativeMatrixOperandsMask operator&(CooperativeMatrixOperandsMask a, CooperativeMatrixOperandsMask b) { return CooperativeMatrixOperandsMask(unsigned(a) & unsigned(b)); } 4726constexpr CooperativeMatrixOperandsMask operator^(CooperativeMatrixOperandsMask a, CooperativeMatrixOperandsMask b) { return CooperativeMatrixOperandsMask(unsigned(a) ^ unsigned(b)); } 4727constexpr CooperativeMatrixOperandsMask operator~(CooperativeMatrixOperandsMask a) { return CooperativeMatrixOperandsMask(~unsigned(a)); } 4728constexpr RawAccessChainOperandsMask operator|(RawAccessChainOperandsMask a, RawAccessChainOperandsMask b) { return RawAccessChainOperandsMask(unsigned(a) | unsigned(b)); } 4729constexpr RawAccessChainOperandsMask operator&(RawAccessChainOperandsMask a, RawAccessChainOperandsMask b) { return RawAccessChainOperandsMask(unsigned(a) & unsigned(b)); } 4730constexpr RawAccessChainOperandsMask operator^(RawAccessChainOperandsMask a, RawAccessChainOperandsMask b) { return RawAccessChainOperandsMask(unsigned(a) ^ unsigned(b)); } 4731constexpr RawAccessChainOperandsMask operator~(RawAccessChainOperandsMask a) { return RawAccessChainOperandsMask(~unsigned(a)); } 4732 4733} // end namespace spv 4734 4735#endif // #ifndef spirv_HPP 4736 4737