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
50 namespace spv {
51
52 typedef unsigned int Id;
53
54 #define SPV_VERSION 0x10600
55 #define SPV_REVISION 1
56
57 static const unsigned int MagicNumber = 0x07230203;
58 static const unsigned int Version = 0x00010600;
59 static const unsigned int Revision = 1;
60 static const unsigned int OpCodeMask = 0xffff;
61 static const unsigned int WordCountShift = 16;
62
63 enum SourceLanguage {
64 SourceLanguageUnknown = 0,
65 SourceLanguageESSL = 1,
66 SourceLanguageGLSL = 2,
67 SourceLanguageOpenCL_C = 3,
68 SourceLanguageOpenCL_CPP = 4,
69 SourceLanguageHLSL = 5,
70 SourceLanguageCPP_for_OpenCL = 6,
71 SourceLanguageSYCL = 7,
72 SourceLanguageHERO_C = 8,
73 SourceLanguageNZSL = 9,
74 SourceLanguageWGSL = 10,
75 SourceLanguageSlang = 11,
76 SourceLanguageZig = 12,
77 SourceLanguageMax = 0x7fffffff,
78 };
79
80 enum ExecutionModel {
81 ExecutionModelVertex = 0,
82 ExecutionModelTessellationControl = 1,
83 ExecutionModelTessellationEvaluation = 2,
84 ExecutionModelGeometry = 3,
85 ExecutionModelFragment = 4,
86 ExecutionModelGLCompute = 5,
87 ExecutionModelKernel = 6,
88 ExecutionModelTaskNV = 5267,
89 ExecutionModelMeshNV = 5268,
90 ExecutionModelRayGenerationKHR = 5313,
91 ExecutionModelRayGenerationNV = 5313,
92 ExecutionModelIntersectionKHR = 5314,
93 ExecutionModelIntersectionNV = 5314,
94 ExecutionModelAnyHitKHR = 5315,
95 ExecutionModelAnyHitNV = 5315,
96 ExecutionModelClosestHitKHR = 5316,
97 ExecutionModelClosestHitNV = 5316,
98 ExecutionModelMissKHR = 5317,
99 ExecutionModelMissNV = 5317,
100 ExecutionModelCallableKHR = 5318,
101 ExecutionModelCallableNV = 5318,
102 ExecutionModelTaskEXT = 5364,
103 ExecutionModelMeshEXT = 5365,
104 ExecutionModelMax = 0x7fffffff,
105 };
106
107 enum AddressingModel {
108 AddressingModelLogical = 0,
109 AddressingModelPhysical32 = 1,
110 AddressingModelPhysical64 = 2,
111 AddressingModelPhysicalStorageBuffer64 = 5348,
112 AddressingModelPhysicalStorageBuffer64EXT = 5348,
113 AddressingModelMax = 0x7fffffff,
114 };
115
116 enum MemoryModel {
117 MemoryModelSimple = 0,
118 MemoryModelGLSL450 = 1,
119 MemoryModelOpenCL = 2,
120 MemoryModelVulkan = 3,
121 MemoryModelVulkanKHR = 3,
122 MemoryModelMax = 0x7fffffff,
123 };
124
125 enum ExecutionMode {
126 ExecutionModeInvocations = 0,
127 ExecutionModeSpacingEqual = 1,
128 ExecutionModeSpacingFractionalEven = 2,
129 ExecutionModeSpacingFractionalOdd = 3,
130 ExecutionModeVertexOrderCw = 4,
131 ExecutionModeVertexOrderCcw = 5,
132 ExecutionModePixelCenterInteger = 6,
133 ExecutionModeOriginUpperLeft = 7,
134 ExecutionModeOriginLowerLeft = 8,
135 ExecutionModeEarlyFragmentTests = 9,
136 ExecutionModePointMode = 10,
137 ExecutionModeXfb = 11,
138 ExecutionModeDepthReplacing = 12,
139 ExecutionModeDepthGreater = 14,
140 ExecutionModeDepthLess = 15,
141 ExecutionModeDepthUnchanged = 16,
142 ExecutionModeLocalSize = 17,
143 ExecutionModeLocalSizeHint = 18,
144 ExecutionModeInputPoints = 19,
145 ExecutionModeInputLines = 20,
146 ExecutionModeInputLinesAdjacency = 21,
147 ExecutionModeTriangles = 22,
148 ExecutionModeInputTrianglesAdjacency = 23,
149 ExecutionModeQuads = 24,
150 ExecutionModeIsolines = 25,
151 ExecutionModeOutputVertices = 26,
152 ExecutionModeOutputPoints = 27,
153 ExecutionModeOutputLineStrip = 28,
154 ExecutionModeOutputTriangleStrip = 29,
155 ExecutionModeVecTypeHint = 30,
156 ExecutionModeContractionOff = 31,
157 ExecutionModeInitializer = 33,
158 ExecutionModeFinalizer = 34,
159 ExecutionModeSubgroupSize = 35,
160 ExecutionModeSubgroupsPerWorkgroup = 36,
161 ExecutionModeSubgroupsPerWorkgroupId = 37,
162 ExecutionModeLocalSizeId = 38,
163 ExecutionModeLocalSizeHintId = 39,
164 ExecutionModeNonCoherentColorAttachmentReadEXT = 4169,
165 ExecutionModeNonCoherentDepthAttachmentReadEXT = 4170,
166 ExecutionModeNonCoherentStencilAttachmentReadEXT = 4171,
167 ExecutionModeSubgroupUniformControlFlowKHR = 4421,
168 ExecutionModePostDepthCoverage = 4446,
169 ExecutionModeDenormPreserve = 4459,
170 ExecutionModeDenormFlushToZero = 4460,
171 ExecutionModeSignedZeroInfNanPreserve = 4461,
172 ExecutionModeRoundingModeRTE = 4462,
173 ExecutionModeRoundingModeRTZ = 4463,
174 ExecutionModeEarlyAndLateFragmentTestsAMD = 5017,
175 ExecutionModeStencilRefReplacingEXT = 5027,
176 ExecutionModeCoalescingAMDX = 5069,
177 ExecutionModeMaxNodeRecursionAMDX = 5071,
178 ExecutionModeStaticNumWorkgroupsAMDX = 5072,
179 ExecutionModeShaderIndexAMDX = 5073,
180 ExecutionModeMaxNumWorkgroupsAMDX = 5077,
181 ExecutionModeStencilRefUnchangedFrontAMD = 5079,
182 ExecutionModeStencilRefGreaterFrontAMD = 5080,
183 ExecutionModeStencilRefLessFrontAMD = 5081,
184 ExecutionModeStencilRefUnchangedBackAMD = 5082,
185 ExecutionModeStencilRefGreaterBackAMD = 5083,
186 ExecutionModeStencilRefLessBackAMD = 5084,
187 ExecutionModeQuadDerivativesKHR = 5088,
188 ExecutionModeRequireFullQuadsKHR = 5089,
189 ExecutionModeOutputLinesEXT = 5269,
190 ExecutionModeOutputLinesNV = 5269,
191 ExecutionModeOutputPrimitivesEXT = 5270,
192 ExecutionModeOutputPrimitivesNV = 5270,
193 ExecutionModeDerivativeGroupQuadsNV = 5289,
194 ExecutionModeDerivativeGroupLinearNV = 5290,
195 ExecutionModeOutputTrianglesEXT = 5298,
196 ExecutionModeOutputTrianglesNV = 5298,
197 ExecutionModePixelInterlockOrderedEXT = 5366,
198 ExecutionModePixelInterlockUnorderedEXT = 5367,
199 ExecutionModeSampleInterlockOrderedEXT = 5368,
200 ExecutionModeSampleInterlockUnorderedEXT = 5369,
201 ExecutionModeShadingRateInterlockOrderedEXT = 5370,
202 ExecutionModeShadingRateInterlockUnorderedEXT = 5371,
203 ExecutionModeSharedLocalMemorySizeINTEL = 5618,
204 ExecutionModeRoundingModeRTPINTEL = 5620,
205 ExecutionModeRoundingModeRTNINTEL = 5621,
206 ExecutionModeFloatingPointModeALTINTEL = 5622,
207 ExecutionModeFloatingPointModeIEEEINTEL = 5623,
208 ExecutionModeMaxWorkgroupSizeINTEL = 5893,
209 ExecutionModeMaxWorkDimINTEL = 5894,
210 ExecutionModeNoGlobalOffsetINTEL = 5895,
211 ExecutionModeNumSIMDWorkitemsINTEL = 5896,
212 ExecutionModeSchedulerTargetFmaxMhzINTEL = 5903,
213 ExecutionModeMaximallyReconvergesKHR = 6023,
214 ExecutionModeFPFastMathDefault = 6028,
215 ExecutionModeStreamingInterfaceINTEL = 6154,
216 ExecutionModeRegisterMapInterfaceINTEL = 6160,
217 ExecutionModeNamedBarrierCountINTEL = 6417,
218 ExecutionModeMaximumRegistersINTEL = 6461,
219 ExecutionModeMaximumRegistersIdINTEL = 6462,
220 ExecutionModeNamedMaximumRegistersINTEL = 6463,
221 ExecutionModeMax = 0x7fffffff,
222 };
223
224 enum StorageClass {
225 StorageClassUniformConstant = 0,
226 StorageClassInput = 1,
227 StorageClassUniform = 2,
228 StorageClassOutput = 3,
229 StorageClassWorkgroup = 4,
230 StorageClassCrossWorkgroup = 5,
231 StorageClassPrivate = 6,
232 StorageClassFunction = 7,
233 StorageClassGeneric = 8,
234 StorageClassPushConstant = 9,
235 StorageClassAtomicCounter = 10,
236 StorageClassImage = 11,
237 StorageClassStorageBuffer = 12,
238 StorageClassTileImageEXT = 4172,
239 StorageClassNodePayloadAMDX = 5068,
240 StorageClassNodeOutputPayloadAMDX = 5076,
241 StorageClassCallableDataKHR = 5328,
242 StorageClassCallableDataNV = 5328,
243 StorageClassIncomingCallableDataKHR = 5329,
244 StorageClassIncomingCallableDataNV = 5329,
245 StorageClassRayPayloadKHR = 5338,
246 StorageClassRayPayloadNV = 5338,
247 StorageClassHitAttributeKHR = 5339,
248 StorageClassHitAttributeNV = 5339,
249 StorageClassIncomingRayPayloadKHR = 5342,
250 StorageClassIncomingRayPayloadNV = 5342,
251 StorageClassShaderRecordBufferKHR = 5343,
252 StorageClassShaderRecordBufferNV = 5343,
253 StorageClassPhysicalStorageBuffer = 5349,
254 StorageClassPhysicalStorageBufferEXT = 5349,
255 StorageClassHitObjectAttributeNV = 5385,
256 StorageClassTaskPayloadWorkgroupEXT = 5402,
257 StorageClassCodeSectionINTEL = 5605,
258 StorageClassDeviceOnlyINTEL = 5936,
259 StorageClassHostOnlyINTEL = 5937,
260 StorageClassMax = 0x7fffffff,
261 };
262
263 enum Dim {
264 Dim1D = 0,
265 Dim2D = 1,
266 Dim3D = 2,
267 DimCube = 3,
268 DimRect = 4,
269 DimBuffer = 5,
270 DimSubpassData = 6,
271 DimTileImageDataEXT = 4173,
272 DimMax = 0x7fffffff,
273 };
274
275 enum SamplerAddressingMode {
276 SamplerAddressingModeNone = 0,
277 SamplerAddressingModeClampToEdge = 1,
278 SamplerAddressingModeClamp = 2,
279 SamplerAddressingModeRepeat = 3,
280 SamplerAddressingModeRepeatMirrored = 4,
281 SamplerAddressingModeMax = 0x7fffffff,
282 };
283
284 enum SamplerFilterMode {
285 SamplerFilterModeNearest = 0,
286 SamplerFilterModeLinear = 1,
287 SamplerFilterModeMax = 0x7fffffff,
288 };
289
290 enum ImageFormat {
291 ImageFormatUnknown = 0,
292 ImageFormatRgba32f = 1,
293 ImageFormatRgba16f = 2,
294 ImageFormatR32f = 3,
295 ImageFormatRgba8 = 4,
296 ImageFormatRgba8Snorm = 5,
297 ImageFormatRg32f = 6,
298 ImageFormatRg16f = 7,
299 ImageFormatR11fG11fB10f = 8,
300 ImageFormatR16f = 9,
301 ImageFormatRgba16 = 10,
302 ImageFormatRgb10A2 = 11,
303 ImageFormatRg16 = 12,
304 ImageFormatRg8 = 13,
305 ImageFormatR16 = 14,
306 ImageFormatR8 = 15,
307 ImageFormatRgba16Snorm = 16,
308 ImageFormatRg16Snorm = 17,
309 ImageFormatRg8Snorm = 18,
310 ImageFormatR16Snorm = 19,
311 ImageFormatR8Snorm = 20,
312 ImageFormatRgba32i = 21,
313 ImageFormatRgba16i = 22,
314 ImageFormatRgba8i = 23,
315 ImageFormatR32i = 24,
316 ImageFormatRg32i = 25,
317 ImageFormatRg16i = 26,
318 ImageFormatRg8i = 27,
319 ImageFormatR16i = 28,
320 ImageFormatR8i = 29,
321 ImageFormatRgba32ui = 30,
322 ImageFormatRgba16ui = 31,
323 ImageFormatRgba8ui = 32,
324 ImageFormatR32ui = 33,
325 ImageFormatRgb10a2ui = 34,
326 ImageFormatRg32ui = 35,
327 ImageFormatRg16ui = 36,
328 ImageFormatRg8ui = 37,
329 ImageFormatR16ui = 38,
330 ImageFormatR8ui = 39,
331 ImageFormatR64ui = 40,
332 ImageFormatR64i = 41,
333 ImageFormatMax = 0x7fffffff,
334 };
335
336 enum ImageChannelOrder {
337 ImageChannelOrderR = 0,
338 ImageChannelOrderA = 1,
339 ImageChannelOrderRG = 2,
340 ImageChannelOrderRA = 3,
341 ImageChannelOrderRGB = 4,
342 ImageChannelOrderRGBA = 5,
343 ImageChannelOrderBGRA = 6,
344 ImageChannelOrderARGB = 7,
345 ImageChannelOrderIntensity = 8,
346 ImageChannelOrderLuminance = 9,
347 ImageChannelOrderRx = 10,
348 ImageChannelOrderRGx = 11,
349 ImageChannelOrderRGBx = 12,
350 ImageChannelOrderDepth = 13,
351 ImageChannelOrderDepthStencil = 14,
352 ImageChannelOrdersRGB = 15,
353 ImageChannelOrdersRGBx = 16,
354 ImageChannelOrdersRGBA = 17,
355 ImageChannelOrdersBGRA = 18,
356 ImageChannelOrderABGR = 19,
357 ImageChannelOrderMax = 0x7fffffff,
358 };
359
360 enum ImageChannelDataType {
361 ImageChannelDataTypeSnormInt8 = 0,
362 ImageChannelDataTypeSnormInt16 = 1,
363 ImageChannelDataTypeUnormInt8 = 2,
364 ImageChannelDataTypeUnormInt16 = 3,
365 ImageChannelDataTypeUnormShort565 = 4,
366 ImageChannelDataTypeUnormShort555 = 5,
367 ImageChannelDataTypeUnormInt101010 = 6,
368 ImageChannelDataTypeSignedInt8 = 7,
369 ImageChannelDataTypeSignedInt16 = 8,
370 ImageChannelDataTypeSignedInt32 = 9,
371 ImageChannelDataTypeUnsignedInt8 = 10,
372 ImageChannelDataTypeUnsignedInt16 = 11,
373 ImageChannelDataTypeUnsignedInt32 = 12,
374 ImageChannelDataTypeHalfFloat = 13,
375 ImageChannelDataTypeFloat = 14,
376 ImageChannelDataTypeUnormInt24 = 15,
377 ImageChannelDataTypeUnormInt101010_2 = 16,
378 ImageChannelDataTypeUnsignedIntRaw10EXT = 19,
379 ImageChannelDataTypeUnsignedIntRaw12EXT = 20,
380 ImageChannelDataTypeMax = 0x7fffffff,
381 };
382
383 enum ImageOperandsShift {
384 ImageOperandsBiasShift = 0,
385 ImageOperandsLodShift = 1,
386 ImageOperandsGradShift = 2,
387 ImageOperandsConstOffsetShift = 3,
388 ImageOperandsOffsetShift = 4,
389 ImageOperandsConstOffsetsShift = 5,
390 ImageOperandsSampleShift = 6,
391 ImageOperandsMinLodShift = 7,
392 ImageOperandsMakeTexelAvailableShift = 8,
393 ImageOperandsMakeTexelAvailableKHRShift = 8,
394 ImageOperandsMakeTexelVisibleShift = 9,
395 ImageOperandsMakeTexelVisibleKHRShift = 9,
396 ImageOperandsNonPrivateTexelShift = 10,
397 ImageOperandsNonPrivateTexelKHRShift = 10,
398 ImageOperandsVolatileTexelShift = 11,
399 ImageOperandsVolatileTexelKHRShift = 11,
400 ImageOperandsSignExtendShift = 12,
401 ImageOperandsZeroExtendShift = 13,
402 ImageOperandsNontemporalShift = 14,
403 ImageOperandsOffsetsShift = 16,
404 ImageOperandsMax = 0x7fffffff,
405 };
406
407 enum ImageOperandsMask {
408 ImageOperandsMaskNone = 0,
409 ImageOperandsBiasMask = 0x00000001,
410 ImageOperandsLodMask = 0x00000002,
411 ImageOperandsGradMask = 0x00000004,
412 ImageOperandsConstOffsetMask = 0x00000008,
413 ImageOperandsOffsetMask = 0x00000010,
414 ImageOperandsConstOffsetsMask = 0x00000020,
415 ImageOperandsSampleMask = 0x00000040,
416 ImageOperandsMinLodMask = 0x00000080,
417 ImageOperandsMakeTexelAvailableMask = 0x00000100,
418 ImageOperandsMakeTexelAvailableKHRMask = 0x00000100,
419 ImageOperandsMakeTexelVisibleMask = 0x00000200,
420 ImageOperandsMakeTexelVisibleKHRMask = 0x00000200,
421 ImageOperandsNonPrivateTexelMask = 0x00000400,
422 ImageOperandsNonPrivateTexelKHRMask = 0x00000400,
423 ImageOperandsVolatileTexelMask = 0x00000800,
424 ImageOperandsVolatileTexelKHRMask = 0x00000800,
425 ImageOperandsSignExtendMask = 0x00001000,
426 ImageOperandsZeroExtendMask = 0x00002000,
427 ImageOperandsNontemporalMask = 0x00004000,
428 ImageOperandsOffsetsMask = 0x00010000,
429 };
430
431 enum FPFastMathModeShift {
432 FPFastMathModeNotNaNShift = 0,
433 FPFastMathModeNotInfShift = 1,
434 FPFastMathModeNSZShift = 2,
435 FPFastMathModeAllowRecipShift = 3,
436 FPFastMathModeFastShift = 4,
437 FPFastMathModeAllowContractShift = 16,
438 FPFastMathModeAllowContractFastINTELShift = 16,
439 FPFastMathModeAllowReassocShift = 17,
440 FPFastMathModeAllowReassocINTELShift = 17,
441 FPFastMathModeAllowTransformShift = 18,
442 FPFastMathModeMax = 0x7fffffff,
443 };
444
445 enum FPFastMathModeMask {
446 FPFastMathModeMaskNone = 0,
447 FPFastMathModeNotNaNMask = 0x00000001,
448 FPFastMathModeNotInfMask = 0x00000002,
449 FPFastMathModeNSZMask = 0x00000004,
450 FPFastMathModeAllowRecipMask = 0x00000008,
451 FPFastMathModeFastMask = 0x00000010,
452 FPFastMathModeAllowContractMask = 0x00010000,
453 FPFastMathModeAllowContractFastINTELMask = 0x00010000,
454 FPFastMathModeAllowReassocMask = 0x00020000,
455 FPFastMathModeAllowReassocINTELMask = 0x00020000,
456 FPFastMathModeAllowTransformMask = 0x00040000,
457 };
458
459 enum FPRoundingMode {
460 FPRoundingModeRTE = 0,
461 FPRoundingModeRTZ = 1,
462 FPRoundingModeRTP = 2,
463 FPRoundingModeRTN = 3,
464 FPRoundingModeMax = 0x7fffffff,
465 };
466
467 enum LinkageType {
468 LinkageTypeExport = 0,
469 LinkageTypeImport = 1,
470 LinkageTypeLinkOnceODR = 2,
471 LinkageTypeMax = 0x7fffffff,
472 };
473
474 enum AccessQualifier {
475 AccessQualifierReadOnly = 0,
476 AccessQualifierWriteOnly = 1,
477 AccessQualifierReadWrite = 2,
478 AccessQualifierMax = 0x7fffffff,
479 };
480
481 enum FunctionParameterAttribute {
482 FunctionParameterAttributeZext = 0,
483 FunctionParameterAttributeSext = 1,
484 FunctionParameterAttributeByVal = 2,
485 FunctionParameterAttributeSret = 3,
486 FunctionParameterAttributeNoAlias = 4,
487 FunctionParameterAttributeNoCapture = 5,
488 FunctionParameterAttributeNoWrite = 6,
489 FunctionParameterAttributeNoReadWrite = 7,
490 FunctionParameterAttributeRuntimeAlignedINTEL = 5940,
491 FunctionParameterAttributeMax = 0x7fffffff,
492 };
493
494 enum Decoration {
495 DecorationRelaxedPrecision = 0,
496 DecorationSpecId = 1,
497 DecorationBlock = 2,
498 DecorationBufferBlock = 3,
499 DecorationRowMajor = 4,
500 DecorationColMajor = 5,
501 DecorationArrayStride = 6,
502 DecorationMatrixStride = 7,
503 DecorationGLSLShared = 8,
504 DecorationGLSLPacked = 9,
505 DecorationCPacked = 10,
506 DecorationBuiltIn = 11,
507 DecorationNoPerspective = 13,
508 DecorationFlat = 14,
509 DecorationPatch = 15,
510 DecorationCentroid = 16,
511 DecorationSample = 17,
512 DecorationInvariant = 18,
513 DecorationRestrict = 19,
514 DecorationAliased = 20,
515 DecorationVolatile = 21,
516 DecorationConstant = 22,
517 DecorationCoherent = 23,
518 DecorationNonWritable = 24,
519 DecorationNonReadable = 25,
520 DecorationUniform = 26,
521 DecorationUniformId = 27,
522 DecorationSaturatedConversion = 28,
523 DecorationStream = 29,
524 DecorationLocation = 30,
525 DecorationComponent = 31,
526 DecorationIndex = 32,
527 DecorationBinding = 33,
528 DecorationDescriptorSet = 34,
529 DecorationOffset = 35,
530 DecorationXfbBuffer = 36,
531 DecorationXfbStride = 37,
532 DecorationFuncParamAttr = 38,
533 DecorationFPRoundingMode = 39,
534 DecorationFPFastMathMode = 40,
535 DecorationLinkageAttributes = 41,
536 DecorationNoContraction = 42,
537 DecorationInputAttachmentIndex = 43,
538 DecorationAlignment = 44,
539 DecorationMaxByteOffset = 45,
540 DecorationAlignmentId = 46,
541 DecorationMaxByteOffsetId = 47,
542 DecorationNoSignedWrap = 4469,
543 DecorationNoUnsignedWrap = 4470,
544 DecorationWeightTextureQCOM = 4487,
545 DecorationBlockMatchTextureQCOM = 4488,
546 DecorationBlockMatchSamplerQCOM = 4499,
547 DecorationExplicitInterpAMD = 4999,
548 DecorationNodeSharesPayloadLimitsWithAMDX = 5019,
549 DecorationNodeMaxPayloadsAMDX = 5020,
550 DecorationTrackFinishWritingAMDX = 5078,
551 DecorationPayloadNodeNameAMDX = 5091,
552 DecorationOverrideCoverageNV = 5248,
553 DecorationPassthroughNV = 5250,
554 DecorationViewportRelativeNV = 5252,
555 DecorationSecondaryViewportRelativeNV = 5256,
556 DecorationPerPrimitiveEXT = 5271,
557 DecorationPerPrimitiveNV = 5271,
558 DecorationPerViewNV = 5272,
559 DecorationPerTaskNV = 5273,
560 DecorationPerVertexKHR = 5285,
561 DecorationPerVertexNV = 5285,
562 DecorationNonUniform = 5300,
563 DecorationNonUniformEXT = 5300,
564 DecorationRestrictPointer = 5355,
565 DecorationRestrictPointerEXT = 5355,
566 DecorationAliasedPointer = 5356,
567 DecorationAliasedPointerEXT = 5356,
568 DecorationHitObjectShaderRecordBufferNV = 5386,
569 DecorationBindlessSamplerNV = 5398,
570 DecorationBindlessImageNV = 5399,
571 DecorationBoundSamplerNV = 5400,
572 DecorationBoundImageNV = 5401,
573 DecorationSIMTCallINTEL = 5599,
574 DecorationReferencedIndirectlyINTEL = 5602,
575 DecorationClobberINTEL = 5607,
576 DecorationSideEffectsINTEL = 5608,
577 DecorationVectorComputeVariableINTEL = 5624,
578 DecorationFuncParamIOKindINTEL = 5625,
579 DecorationVectorComputeFunctionINTEL = 5626,
580 DecorationStackCallINTEL = 5627,
581 DecorationGlobalVariableOffsetINTEL = 5628,
582 DecorationCounterBuffer = 5634,
583 DecorationHlslCounterBufferGOOGLE = 5634,
584 DecorationHlslSemanticGOOGLE = 5635,
585 DecorationUserSemantic = 5635,
586 DecorationUserTypeGOOGLE = 5636,
587 DecorationFunctionRoundingModeINTEL = 5822,
588 DecorationFunctionDenormModeINTEL = 5823,
589 DecorationRegisterINTEL = 5825,
590 DecorationMemoryINTEL = 5826,
591 DecorationNumbanksINTEL = 5827,
592 DecorationBankwidthINTEL = 5828,
593 DecorationMaxPrivateCopiesINTEL = 5829,
594 DecorationSinglepumpINTEL = 5830,
595 DecorationDoublepumpINTEL = 5831,
596 DecorationMaxReplicatesINTEL = 5832,
597 DecorationSimpleDualPortINTEL = 5833,
598 DecorationMergeINTEL = 5834,
599 DecorationBankBitsINTEL = 5835,
600 DecorationForcePow2DepthINTEL = 5836,
601 DecorationStridesizeINTEL = 5883,
602 DecorationWordsizeINTEL = 5884,
603 DecorationTrueDualPortINTEL = 5885,
604 DecorationBurstCoalesceINTEL = 5899,
605 DecorationCacheSizeINTEL = 5900,
606 DecorationDontStaticallyCoalesceINTEL = 5901,
607 DecorationPrefetchINTEL = 5902,
608 DecorationStallEnableINTEL = 5905,
609 DecorationFuseLoopsInFunctionINTEL = 5907,
610 DecorationMathOpDSPModeINTEL = 5909,
611 DecorationAliasScopeINTEL = 5914,
612 DecorationNoAliasINTEL = 5915,
613 DecorationInitiationIntervalINTEL = 5917,
614 DecorationMaxConcurrencyINTEL = 5918,
615 DecorationPipelineEnableINTEL = 5919,
616 DecorationBufferLocationINTEL = 5921,
617 DecorationIOPipeStorageINTEL = 5944,
618 DecorationFunctionFloatingPointModeINTEL = 6080,
619 DecorationSingleElementVectorINTEL = 6085,
620 DecorationVectorComputeCallableFunctionINTEL = 6087,
621 DecorationMediaBlockIOINTEL = 6140,
622 DecorationStallFreeINTEL = 6151,
623 DecorationFPMaxErrorDecorationINTEL = 6170,
624 DecorationLatencyControlLabelINTEL = 6172,
625 DecorationLatencyControlConstraintINTEL = 6173,
626 DecorationConduitKernelArgumentINTEL = 6175,
627 DecorationRegisterMapKernelArgumentINTEL = 6176,
628 DecorationMMHostInterfaceAddressWidthINTEL = 6177,
629 DecorationMMHostInterfaceDataWidthINTEL = 6178,
630 DecorationMMHostInterfaceLatencyINTEL = 6179,
631 DecorationMMHostInterfaceReadWriteModeINTEL = 6180,
632 DecorationMMHostInterfaceMaxBurstINTEL = 6181,
633 DecorationMMHostInterfaceWaitRequestINTEL = 6182,
634 DecorationStableKernelArgumentINTEL = 6183,
635 DecorationHostAccessINTEL = 6188,
636 DecorationInitModeINTEL = 6190,
637 DecorationImplementInRegisterMapINTEL = 6191,
638 DecorationCacheControlLoadINTEL = 6442,
639 DecorationCacheControlStoreINTEL = 6443,
640 DecorationMax = 0x7fffffff,
641 };
642
643 enum BuiltIn {
644 BuiltInPosition = 0,
645 BuiltInPointSize = 1,
646 BuiltInClipDistance = 3,
647 BuiltInCullDistance = 4,
648 BuiltInVertexId = 5,
649 BuiltInInstanceId = 6,
650 BuiltInPrimitiveId = 7,
651 BuiltInInvocationId = 8,
652 BuiltInLayer = 9,
653 BuiltInViewportIndex = 10,
654 BuiltInTessLevelOuter = 11,
655 BuiltInTessLevelInner = 12,
656 BuiltInTessCoord = 13,
657 BuiltInPatchVertices = 14,
658 BuiltInFragCoord = 15,
659 BuiltInPointCoord = 16,
660 BuiltInFrontFacing = 17,
661 BuiltInSampleId = 18,
662 BuiltInSamplePosition = 19,
663 BuiltInSampleMask = 20,
664 BuiltInFragDepth = 22,
665 BuiltInHelperInvocation = 23,
666 BuiltInNumWorkgroups = 24,
667 BuiltInWorkgroupSize = 25,
668 BuiltInWorkgroupId = 26,
669 BuiltInLocalInvocationId = 27,
670 BuiltInGlobalInvocationId = 28,
671 BuiltInLocalInvocationIndex = 29,
672 BuiltInWorkDim = 30,
673 BuiltInGlobalSize = 31,
674 BuiltInEnqueuedWorkgroupSize = 32,
675 BuiltInGlobalOffset = 33,
676 BuiltInGlobalLinearId = 34,
677 BuiltInSubgroupSize = 36,
678 BuiltInSubgroupMaxSize = 37,
679 BuiltInNumSubgroups = 38,
680 BuiltInNumEnqueuedSubgroups = 39,
681 BuiltInSubgroupId = 40,
682 BuiltInSubgroupLocalInvocationId = 41,
683 BuiltInVertexIndex = 42,
684 BuiltInInstanceIndex = 43,
685 BuiltInCoreIDARM = 4160,
686 BuiltInCoreCountARM = 4161,
687 BuiltInCoreMaxIDARM = 4162,
688 BuiltInWarpIDARM = 4163,
689 BuiltInWarpMaxIDARM = 4164,
690 BuiltInSubgroupEqMask = 4416,
691 BuiltInSubgroupEqMaskKHR = 4416,
692 BuiltInSubgroupGeMask = 4417,
693 BuiltInSubgroupGeMaskKHR = 4417,
694 BuiltInSubgroupGtMask = 4418,
695 BuiltInSubgroupGtMaskKHR = 4418,
696 BuiltInSubgroupLeMask = 4419,
697 BuiltInSubgroupLeMaskKHR = 4419,
698 BuiltInSubgroupLtMask = 4420,
699 BuiltInSubgroupLtMaskKHR = 4420,
700 BuiltInBaseVertex = 4424,
701 BuiltInBaseInstance = 4425,
702 BuiltInDrawIndex = 4426,
703 BuiltInPrimitiveShadingRateKHR = 4432,
704 BuiltInDeviceIndex = 4438,
705 BuiltInViewIndex = 4440,
706 BuiltInShadingRateKHR = 4444,
707 BuiltInBaryCoordNoPerspAMD = 4992,
708 BuiltInBaryCoordNoPerspCentroidAMD = 4993,
709 BuiltInBaryCoordNoPerspSampleAMD = 4994,
710 BuiltInBaryCoordSmoothAMD = 4995,
711 BuiltInBaryCoordSmoothCentroidAMD = 4996,
712 BuiltInBaryCoordSmoothSampleAMD = 4997,
713 BuiltInBaryCoordPullModelAMD = 4998,
714 BuiltInFragStencilRefEXT = 5014,
715 BuiltInCoalescedInputCountAMDX = 5021,
716 BuiltInShaderIndexAMDX = 5073,
717 BuiltInViewportMaskNV = 5253,
718 BuiltInSecondaryPositionNV = 5257,
719 BuiltInSecondaryViewportMaskNV = 5258,
720 BuiltInPositionPerViewNV = 5261,
721 BuiltInViewportMaskPerViewNV = 5262,
722 BuiltInFullyCoveredEXT = 5264,
723 BuiltInTaskCountNV = 5274,
724 BuiltInPrimitiveCountNV = 5275,
725 BuiltInPrimitiveIndicesNV = 5276,
726 BuiltInClipDistancePerViewNV = 5277,
727 BuiltInCullDistancePerViewNV = 5278,
728 BuiltInLayerPerViewNV = 5279,
729 BuiltInMeshViewCountNV = 5280,
730 BuiltInMeshViewIndicesNV = 5281,
731 BuiltInBaryCoordKHR = 5286,
732 BuiltInBaryCoordNV = 5286,
733 BuiltInBaryCoordNoPerspKHR = 5287,
734 BuiltInBaryCoordNoPerspNV = 5287,
735 BuiltInFragSizeEXT = 5292,
736 BuiltInFragmentSizeNV = 5292,
737 BuiltInFragInvocationCountEXT = 5293,
738 BuiltInInvocationsPerPixelNV = 5293,
739 BuiltInPrimitivePointIndicesEXT = 5294,
740 BuiltInPrimitiveLineIndicesEXT = 5295,
741 BuiltInPrimitiveTriangleIndicesEXT = 5296,
742 BuiltInCullPrimitiveEXT = 5299,
743 BuiltInLaunchIdKHR = 5319,
744 BuiltInLaunchIdNV = 5319,
745 BuiltInLaunchSizeKHR = 5320,
746 BuiltInLaunchSizeNV = 5320,
747 BuiltInWorldRayOriginKHR = 5321,
748 BuiltInWorldRayOriginNV = 5321,
749 BuiltInWorldRayDirectionKHR = 5322,
750 BuiltInWorldRayDirectionNV = 5322,
751 BuiltInObjectRayOriginKHR = 5323,
752 BuiltInObjectRayOriginNV = 5323,
753 BuiltInObjectRayDirectionKHR = 5324,
754 BuiltInObjectRayDirectionNV = 5324,
755 BuiltInRayTminKHR = 5325,
756 BuiltInRayTminNV = 5325,
757 BuiltInRayTmaxKHR = 5326,
758 BuiltInRayTmaxNV = 5326,
759 BuiltInInstanceCustomIndexKHR = 5327,
760 BuiltInInstanceCustomIndexNV = 5327,
761 BuiltInObjectToWorldKHR = 5330,
762 BuiltInObjectToWorldNV = 5330,
763 BuiltInWorldToObjectKHR = 5331,
764 BuiltInWorldToObjectNV = 5331,
765 BuiltInHitTNV = 5332,
766 BuiltInHitKindKHR = 5333,
767 BuiltInHitKindNV = 5333,
768 BuiltInCurrentRayTimeNV = 5334,
769 BuiltInHitTriangleVertexPositionsKHR = 5335,
770 BuiltInHitMicroTriangleVertexPositionsNV = 5337,
771 BuiltInHitMicroTriangleVertexBarycentricsNV = 5344,
772 BuiltInIncomingRayFlagsKHR = 5351,
773 BuiltInIncomingRayFlagsNV = 5351,
774 BuiltInRayGeometryIndexKHR = 5352,
775 BuiltInWarpsPerSMNV = 5374,
776 BuiltInSMCountNV = 5375,
777 BuiltInWarpIDNV = 5376,
778 BuiltInSMIDNV = 5377,
779 BuiltInHitKindFrontFacingMicroTriangleNV = 5405,
780 BuiltInHitKindBackFacingMicroTriangleNV = 5406,
781 BuiltInCullMaskKHR = 6021,
782 BuiltInMax = 0x7fffffff,
783 };
784
785 enum SelectionControlShift {
786 SelectionControlFlattenShift = 0,
787 SelectionControlDontFlattenShift = 1,
788 SelectionControlMax = 0x7fffffff,
789 };
790
791 enum SelectionControlMask {
792 SelectionControlMaskNone = 0,
793 SelectionControlFlattenMask = 0x00000001,
794 SelectionControlDontFlattenMask = 0x00000002,
795 };
796
797 enum LoopControlShift {
798 LoopControlUnrollShift = 0,
799 LoopControlDontUnrollShift = 1,
800 LoopControlDependencyInfiniteShift = 2,
801 LoopControlDependencyLengthShift = 3,
802 LoopControlMinIterationsShift = 4,
803 LoopControlMaxIterationsShift = 5,
804 LoopControlIterationMultipleShift = 6,
805 LoopControlPeelCountShift = 7,
806 LoopControlPartialCountShift = 8,
807 LoopControlInitiationIntervalINTELShift = 16,
808 LoopControlMaxConcurrencyINTELShift = 17,
809 LoopControlDependencyArrayINTELShift = 18,
810 LoopControlPipelineEnableINTELShift = 19,
811 LoopControlLoopCoalesceINTELShift = 20,
812 LoopControlMaxInterleavingINTELShift = 21,
813 LoopControlSpeculatedIterationsINTELShift = 22,
814 LoopControlNoFusionINTELShift = 23,
815 LoopControlLoopCountINTELShift = 24,
816 LoopControlMaxReinvocationDelayINTELShift = 25,
817 LoopControlMax = 0x7fffffff,
818 };
819
820 enum LoopControlMask {
821 LoopControlMaskNone = 0,
822 LoopControlUnrollMask = 0x00000001,
823 LoopControlDontUnrollMask = 0x00000002,
824 LoopControlDependencyInfiniteMask = 0x00000004,
825 LoopControlDependencyLengthMask = 0x00000008,
826 LoopControlMinIterationsMask = 0x00000010,
827 LoopControlMaxIterationsMask = 0x00000020,
828 LoopControlIterationMultipleMask = 0x00000040,
829 LoopControlPeelCountMask = 0x00000080,
830 LoopControlPartialCountMask = 0x00000100,
831 LoopControlInitiationIntervalINTELMask = 0x00010000,
832 LoopControlMaxConcurrencyINTELMask = 0x00020000,
833 LoopControlDependencyArrayINTELMask = 0x00040000,
834 LoopControlPipelineEnableINTELMask = 0x00080000,
835 LoopControlLoopCoalesceINTELMask = 0x00100000,
836 LoopControlMaxInterleavingINTELMask = 0x00200000,
837 LoopControlSpeculatedIterationsINTELMask = 0x00400000,
838 LoopControlNoFusionINTELMask = 0x00800000,
839 LoopControlLoopCountINTELMask = 0x01000000,
840 LoopControlMaxReinvocationDelayINTELMask = 0x02000000,
841 };
842
843 enum FunctionControlShift {
844 FunctionControlInlineShift = 0,
845 FunctionControlDontInlineShift = 1,
846 FunctionControlPureShift = 2,
847 FunctionControlConstShift = 3,
848 FunctionControlOptNoneINTELShift = 16,
849 FunctionControlMax = 0x7fffffff,
850 };
851
852 enum FunctionControlMask {
853 FunctionControlMaskNone = 0,
854 FunctionControlInlineMask = 0x00000001,
855 FunctionControlDontInlineMask = 0x00000002,
856 FunctionControlPureMask = 0x00000004,
857 FunctionControlConstMask = 0x00000008,
858 FunctionControlOptNoneINTELMask = 0x00010000,
859 };
860
861 enum MemorySemanticsShift {
862 MemorySemanticsAcquireShift = 1,
863 MemorySemanticsReleaseShift = 2,
864 MemorySemanticsAcquireReleaseShift = 3,
865 MemorySemanticsSequentiallyConsistentShift = 4,
866 MemorySemanticsUniformMemoryShift = 6,
867 MemorySemanticsSubgroupMemoryShift = 7,
868 MemorySemanticsWorkgroupMemoryShift = 8,
869 MemorySemanticsCrossWorkgroupMemoryShift = 9,
870 MemorySemanticsAtomicCounterMemoryShift = 10,
871 MemorySemanticsImageMemoryShift = 11,
872 MemorySemanticsOutputMemoryShift = 12,
873 MemorySemanticsOutputMemoryKHRShift = 12,
874 MemorySemanticsMakeAvailableShift = 13,
875 MemorySemanticsMakeAvailableKHRShift = 13,
876 MemorySemanticsMakeVisibleShift = 14,
877 MemorySemanticsMakeVisibleKHRShift = 14,
878 MemorySemanticsVolatileShift = 15,
879 MemorySemanticsMax = 0x7fffffff,
880 };
881
882 enum MemorySemanticsMask {
883 MemorySemanticsMaskNone = 0,
884 MemorySemanticsAcquireMask = 0x00000002,
885 MemorySemanticsReleaseMask = 0x00000004,
886 MemorySemanticsAcquireReleaseMask = 0x00000008,
887 MemorySemanticsSequentiallyConsistentMask = 0x00000010,
888 MemorySemanticsUniformMemoryMask = 0x00000040,
889 MemorySemanticsSubgroupMemoryMask = 0x00000080,
890 MemorySemanticsWorkgroupMemoryMask = 0x00000100,
891 MemorySemanticsCrossWorkgroupMemoryMask = 0x00000200,
892 MemorySemanticsAtomicCounterMemoryMask = 0x00000400,
893 MemorySemanticsImageMemoryMask = 0x00000800,
894 MemorySemanticsOutputMemoryMask = 0x00001000,
895 MemorySemanticsOutputMemoryKHRMask = 0x00001000,
896 MemorySemanticsMakeAvailableMask = 0x00002000,
897 MemorySemanticsMakeAvailableKHRMask = 0x00002000,
898 MemorySemanticsMakeVisibleMask = 0x00004000,
899 MemorySemanticsMakeVisibleKHRMask = 0x00004000,
900 MemorySemanticsVolatileMask = 0x00008000,
901 };
902
903 enum MemoryAccessShift {
904 MemoryAccessVolatileShift = 0,
905 MemoryAccessAlignedShift = 1,
906 MemoryAccessNontemporalShift = 2,
907 MemoryAccessMakePointerAvailableShift = 3,
908 MemoryAccessMakePointerAvailableKHRShift = 3,
909 MemoryAccessMakePointerVisibleShift = 4,
910 MemoryAccessMakePointerVisibleKHRShift = 4,
911 MemoryAccessNonPrivatePointerShift = 5,
912 MemoryAccessNonPrivatePointerKHRShift = 5,
913 MemoryAccessAliasScopeINTELMaskShift = 16,
914 MemoryAccessNoAliasINTELMaskShift = 17,
915 MemoryAccessMax = 0x7fffffff,
916 };
917
918 enum MemoryAccessMask {
919 MemoryAccessMaskNone = 0,
920 MemoryAccessVolatileMask = 0x00000001,
921 MemoryAccessAlignedMask = 0x00000002,
922 MemoryAccessNontemporalMask = 0x00000004,
923 MemoryAccessMakePointerAvailableMask = 0x00000008,
924 MemoryAccessMakePointerAvailableKHRMask = 0x00000008,
925 MemoryAccessMakePointerVisibleMask = 0x00000010,
926 MemoryAccessMakePointerVisibleKHRMask = 0x00000010,
927 MemoryAccessNonPrivatePointerMask = 0x00000020,
928 MemoryAccessNonPrivatePointerKHRMask = 0x00000020,
929 MemoryAccessAliasScopeINTELMaskMask = 0x00010000,
930 MemoryAccessNoAliasINTELMaskMask = 0x00020000,
931 };
932
933 enum Scope {
934 ScopeCrossDevice = 0,
935 ScopeDevice = 1,
936 ScopeWorkgroup = 2,
937 ScopeSubgroup = 3,
938 ScopeInvocation = 4,
939 ScopeQueueFamily = 5,
940 ScopeQueueFamilyKHR = 5,
941 ScopeShaderCallKHR = 6,
942 ScopeMax = 0x7fffffff,
943 };
944
945 enum GroupOperation {
946 GroupOperationReduce = 0,
947 GroupOperationInclusiveScan = 1,
948 GroupOperationExclusiveScan = 2,
949 GroupOperationClusteredReduce = 3,
950 GroupOperationPartitionedReduceNV = 6,
951 GroupOperationPartitionedInclusiveScanNV = 7,
952 GroupOperationPartitionedExclusiveScanNV = 8,
953 GroupOperationMax = 0x7fffffff,
954 };
955
956 enum KernelEnqueueFlags {
957 KernelEnqueueFlagsNoWait = 0,
958 KernelEnqueueFlagsWaitKernel = 1,
959 KernelEnqueueFlagsWaitWorkGroup = 2,
960 KernelEnqueueFlagsMax = 0x7fffffff,
961 };
962
963 enum KernelProfilingInfoShift {
964 KernelProfilingInfoCmdExecTimeShift = 0,
965 KernelProfilingInfoMax = 0x7fffffff,
966 };
967
968 enum KernelProfilingInfoMask {
969 KernelProfilingInfoMaskNone = 0,
970 KernelProfilingInfoCmdExecTimeMask = 0x00000001,
971 };
972
973 enum Capability {
974 CapabilityMatrix = 0,
975 CapabilityShader = 1,
976 CapabilityGeometry = 2,
977 CapabilityTessellation = 3,
978 CapabilityAddresses = 4,
979 CapabilityLinkage = 5,
980 CapabilityKernel = 6,
981 CapabilityVector16 = 7,
982 CapabilityFloat16Buffer = 8,
983 CapabilityFloat16 = 9,
984 CapabilityFloat64 = 10,
985 CapabilityInt64 = 11,
986 CapabilityInt64Atomics = 12,
987 CapabilityImageBasic = 13,
988 CapabilityImageReadWrite = 14,
989 CapabilityImageMipmap = 15,
990 CapabilityPipes = 17,
991 CapabilityGroups = 18,
992 CapabilityDeviceEnqueue = 19,
993 CapabilityLiteralSampler = 20,
994 CapabilityAtomicStorage = 21,
995 CapabilityInt16 = 22,
996 CapabilityTessellationPointSize = 23,
997 CapabilityGeometryPointSize = 24,
998 CapabilityImageGatherExtended = 25,
999 CapabilityStorageImageMultisample = 27,
1000 CapabilityUniformBufferArrayDynamicIndexing = 28,
1001 CapabilitySampledImageArrayDynamicIndexing = 29,
1002 CapabilityStorageBufferArrayDynamicIndexing = 30,
1003 CapabilityStorageImageArrayDynamicIndexing = 31,
1004 CapabilityClipDistance = 32,
1005 CapabilityCullDistance = 33,
1006 CapabilityImageCubeArray = 34,
1007 CapabilitySampleRateShading = 35,
1008 CapabilityImageRect = 36,
1009 CapabilitySampledRect = 37,
1010 CapabilityGenericPointer = 38,
1011 CapabilityInt8 = 39,
1012 CapabilityInputAttachment = 40,
1013 CapabilitySparseResidency = 41,
1014 CapabilityMinLod = 42,
1015 CapabilitySampled1D = 43,
1016 CapabilityImage1D = 44,
1017 CapabilitySampledCubeArray = 45,
1018 CapabilitySampledBuffer = 46,
1019 CapabilityImageBuffer = 47,
1020 CapabilityImageMSArray = 48,
1021 CapabilityStorageImageExtendedFormats = 49,
1022 CapabilityImageQuery = 50,
1023 CapabilityDerivativeControl = 51,
1024 CapabilityInterpolationFunction = 52,
1025 CapabilityTransformFeedback = 53,
1026 CapabilityGeometryStreams = 54,
1027 CapabilityStorageImageReadWithoutFormat = 55,
1028 CapabilityStorageImageWriteWithoutFormat = 56,
1029 CapabilityMultiViewport = 57,
1030 CapabilitySubgroupDispatch = 58,
1031 CapabilityNamedBarrier = 59,
1032 CapabilityPipeStorage = 60,
1033 CapabilityGroupNonUniform = 61,
1034 CapabilityGroupNonUniformVote = 62,
1035 CapabilityGroupNonUniformArithmetic = 63,
1036 CapabilityGroupNonUniformBallot = 64,
1037 CapabilityGroupNonUniformShuffle = 65,
1038 CapabilityGroupNonUniformShuffleRelative = 66,
1039 CapabilityGroupNonUniformClustered = 67,
1040 CapabilityGroupNonUniformQuad = 68,
1041 CapabilityShaderLayer = 69,
1042 CapabilityShaderViewportIndex = 70,
1043 CapabilityUniformDecoration = 71,
1044 CapabilityCoreBuiltinsARM = 4165,
1045 CapabilityTileImageColorReadAccessEXT = 4166,
1046 CapabilityTileImageDepthReadAccessEXT = 4167,
1047 CapabilityTileImageStencilReadAccessEXT = 4168,
1048 CapabilityCooperativeMatrixLayoutsARM = 4201,
1049 CapabilityFragmentShadingRateKHR = 4422,
1050 CapabilitySubgroupBallotKHR = 4423,
1051 CapabilityDrawParameters = 4427,
1052 CapabilityWorkgroupMemoryExplicitLayoutKHR = 4428,
1053 CapabilityWorkgroupMemoryExplicitLayout8BitAccessKHR = 4429,
1054 CapabilityWorkgroupMemoryExplicitLayout16BitAccessKHR = 4430,
1055 CapabilitySubgroupVoteKHR = 4431,
1056 CapabilityStorageBuffer16BitAccess = 4433,
1057 CapabilityStorageUniformBufferBlock16 = 4433,
1058 CapabilityStorageUniform16 = 4434,
1059 CapabilityUniformAndStorageBuffer16BitAccess = 4434,
1060 CapabilityStoragePushConstant16 = 4435,
1061 CapabilityStorageInputOutput16 = 4436,
1062 CapabilityDeviceGroup = 4437,
1063 CapabilityMultiView = 4439,
1064 CapabilityVariablePointersStorageBuffer = 4441,
1065 CapabilityVariablePointers = 4442,
1066 CapabilityAtomicStorageOps = 4445,
1067 CapabilitySampleMaskPostDepthCoverage = 4447,
1068 CapabilityStorageBuffer8BitAccess = 4448,
1069 CapabilityUniformAndStorageBuffer8BitAccess = 4449,
1070 CapabilityStoragePushConstant8 = 4450,
1071 CapabilityDenormPreserve = 4464,
1072 CapabilityDenormFlushToZero = 4465,
1073 CapabilitySignedZeroInfNanPreserve = 4466,
1074 CapabilityRoundingModeRTE = 4467,
1075 CapabilityRoundingModeRTZ = 4468,
1076 CapabilityRayQueryProvisionalKHR = 4471,
1077 CapabilityRayQueryKHR = 4472,
1078 CapabilityRayTraversalPrimitiveCullingKHR = 4478,
1079 CapabilityRayTracingKHR = 4479,
1080 CapabilityTextureSampleWeightedQCOM = 4484,
1081 CapabilityTextureBoxFilterQCOM = 4485,
1082 CapabilityTextureBlockMatchQCOM = 4486,
1083 CapabilityTextureBlockMatch2QCOM = 4498,
1084 CapabilityFloat16ImageAMD = 5008,
1085 CapabilityImageGatherBiasLodAMD = 5009,
1086 CapabilityFragmentMaskAMD = 5010,
1087 CapabilityStencilExportEXT = 5013,
1088 CapabilityImageReadWriteLodAMD = 5015,
1089 CapabilityInt64ImageEXT = 5016,
1090 CapabilityShaderClockKHR = 5055,
1091 CapabilityShaderEnqueueAMDX = 5067,
1092 CapabilityQuadControlKHR = 5087,
1093 CapabilitySampleMaskOverrideCoverageNV = 5249,
1094 CapabilityGeometryShaderPassthroughNV = 5251,
1095 CapabilityShaderViewportIndexLayerEXT = 5254,
1096 CapabilityShaderViewportIndexLayerNV = 5254,
1097 CapabilityShaderViewportMaskNV = 5255,
1098 CapabilityShaderStereoViewNV = 5259,
1099 CapabilityPerViewAttributesNV = 5260,
1100 CapabilityFragmentFullyCoveredEXT = 5265,
1101 CapabilityMeshShadingNV = 5266,
1102 CapabilityImageFootprintNV = 5282,
1103 CapabilityMeshShadingEXT = 5283,
1104 CapabilityFragmentBarycentricKHR = 5284,
1105 CapabilityFragmentBarycentricNV = 5284,
1106 CapabilityComputeDerivativeGroupQuadsNV = 5288,
1107 CapabilityFragmentDensityEXT = 5291,
1108 CapabilityShadingRateNV = 5291,
1109 CapabilityGroupNonUniformPartitionedNV = 5297,
1110 CapabilityShaderNonUniform = 5301,
1111 CapabilityShaderNonUniformEXT = 5301,
1112 CapabilityRuntimeDescriptorArray = 5302,
1113 CapabilityRuntimeDescriptorArrayEXT = 5302,
1114 CapabilityInputAttachmentArrayDynamicIndexing = 5303,
1115 CapabilityInputAttachmentArrayDynamicIndexingEXT = 5303,
1116 CapabilityUniformTexelBufferArrayDynamicIndexing = 5304,
1117 CapabilityUniformTexelBufferArrayDynamicIndexingEXT = 5304,
1118 CapabilityStorageTexelBufferArrayDynamicIndexing = 5305,
1119 CapabilityStorageTexelBufferArrayDynamicIndexingEXT = 5305,
1120 CapabilityUniformBufferArrayNonUniformIndexing = 5306,
1121 CapabilityUniformBufferArrayNonUniformIndexingEXT = 5306,
1122 CapabilitySampledImageArrayNonUniformIndexing = 5307,
1123 CapabilitySampledImageArrayNonUniformIndexingEXT = 5307,
1124 CapabilityStorageBufferArrayNonUniformIndexing = 5308,
1125 CapabilityStorageBufferArrayNonUniformIndexingEXT = 5308,
1126 CapabilityStorageImageArrayNonUniformIndexing = 5309,
1127 CapabilityStorageImageArrayNonUniformIndexingEXT = 5309,
1128 CapabilityInputAttachmentArrayNonUniformIndexing = 5310,
1129 CapabilityInputAttachmentArrayNonUniformIndexingEXT = 5310,
1130 CapabilityUniformTexelBufferArrayNonUniformIndexing = 5311,
1131 CapabilityUniformTexelBufferArrayNonUniformIndexingEXT = 5311,
1132 CapabilityStorageTexelBufferArrayNonUniformIndexing = 5312,
1133 CapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312,
1134 CapabilityRayTracingPositionFetchKHR = 5336,
1135 CapabilityRayTracingNV = 5340,
1136 CapabilityRayTracingMotionBlurNV = 5341,
1137 CapabilityVulkanMemoryModel = 5345,
1138 CapabilityVulkanMemoryModelKHR = 5345,
1139 CapabilityVulkanMemoryModelDeviceScope = 5346,
1140 CapabilityVulkanMemoryModelDeviceScopeKHR = 5346,
1141 CapabilityPhysicalStorageBufferAddresses = 5347,
1142 CapabilityPhysicalStorageBufferAddressesEXT = 5347,
1143 CapabilityComputeDerivativeGroupLinearNV = 5350,
1144 CapabilityRayTracingProvisionalKHR = 5353,
1145 CapabilityCooperativeMatrixNV = 5357,
1146 CapabilityFragmentShaderSampleInterlockEXT = 5363,
1147 CapabilityFragmentShaderShadingRateInterlockEXT = 5372,
1148 CapabilityShaderSMBuiltinsNV = 5373,
1149 CapabilityFragmentShaderPixelInterlockEXT = 5378,
1150 CapabilityDemoteToHelperInvocation = 5379,
1151 CapabilityDemoteToHelperInvocationEXT = 5379,
1152 CapabilityDisplacementMicromapNV = 5380,
1153 CapabilityRayTracingOpacityMicromapEXT = 5381,
1154 CapabilityShaderInvocationReorderNV = 5383,
1155 CapabilityBindlessTextureNV = 5390,
1156 CapabilityRayQueryPositionFetchKHR = 5391,
1157 CapabilityAtomicFloat16VectorNV = 5404,
1158 CapabilityRayTracingDisplacementMicromapNV = 5409,
1159 CapabilityRawAccessChainsNV = 5414,
1160 CapabilitySubgroupShuffleINTEL = 5568,
1161 CapabilitySubgroupBufferBlockIOINTEL = 5569,
1162 CapabilitySubgroupImageBlockIOINTEL = 5570,
1163 CapabilitySubgroupImageMediaBlockIOINTEL = 5579,
1164 CapabilityRoundToInfinityINTEL = 5582,
1165 CapabilityFloatingPointModeINTEL = 5583,
1166 CapabilityIntegerFunctions2INTEL = 5584,
1167 CapabilityFunctionPointersINTEL = 5603,
1168 CapabilityIndirectReferencesINTEL = 5604,
1169 CapabilityAsmINTEL = 5606,
1170 CapabilityAtomicFloat32MinMaxEXT = 5612,
1171 CapabilityAtomicFloat64MinMaxEXT = 5613,
1172 CapabilityAtomicFloat16MinMaxEXT = 5616,
1173 CapabilityVectorComputeINTEL = 5617,
1174 CapabilityVectorAnyINTEL = 5619,
1175 CapabilityExpectAssumeKHR = 5629,
1176 CapabilitySubgroupAvcMotionEstimationINTEL = 5696,
1177 CapabilitySubgroupAvcMotionEstimationIntraINTEL = 5697,
1178 CapabilitySubgroupAvcMotionEstimationChromaINTEL = 5698,
1179 CapabilityVariableLengthArrayINTEL = 5817,
1180 CapabilityFunctionFloatControlINTEL = 5821,
1181 CapabilityFPGAMemoryAttributesINTEL = 5824,
1182 CapabilityFPFastMathModeINTEL = 5837,
1183 CapabilityArbitraryPrecisionIntegersINTEL = 5844,
1184 CapabilityArbitraryPrecisionFloatingPointINTEL = 5845,
1185 CapabilityUnstructuredLoopControlsINTEL = 5886,
1186 CapabilityFPGALoopControlsINTEL = 5888,
1187 CapabilityKernelAttributesINTEL = 5892,
1188 CapabilityFPGAKernelAttributesINTEL = 5897,
1189 CapabilityFPGAMemoryAccessesINTEL = 5898,
1190 CapabilityFPGAClusterAttributesINTEL = 5904,
1191 CapabilityLoopFuseINTEL = 5906,
1192 CapabilityFPGADSPControlINTEL = 5908,
1193 CapabilityMemoryAccessAliasingINTEL = 5910,
1194 CapabilityFPGAInvocationPipeliningAttributesINTEL = 5916,
1195 CapabilityFPGABufferLocationINTEL = 5920,
1196 CapabilityArbitraryPrecisionFixedPointINTEL = 5922,
1197 CapabilityUSMStorageClassesINTEL = 5935,
1198 CapabilityRuntimeAlignedAttributeINTEL = 5939,
1199 CapabilityIOPipesINTEL = 5943,
1200 CapabilityBlockingPipesINTEL = 5945,
1201 CapabilityFPGARegINTEL = 5948,
1202 CapabilityDotProductInputAll = 6016,
1203 CapabilityDotProductInputAllKHR = 6016,
1204 CapabilityDotProductInput4x8Bit = 6017,
1205 CapabilityDotProductInput4x8BitKHR = 6017,
1206 CapabilityDotProductInput4x8BitPacked = 6018,
1207 CapabilityDotProductInput4x8BitPackedKHR = 6018,
1208 CapabilityDotProduct = 6019,
1209 CapabilityDotProductKHR = 6019,
1210 CapabilityRayCullMaskKHR = 6020,
1211 CapabilityCooperativeMatrixKHR = 6022,
1212 CapabilityReplicatedCompositesEXT = 6024,
1213 CapabilityBitInstructions = 6025,
1214 CapabilityGroupNonUniformRotateKHR = 6026,
1215 CapabilityFloatControls2 = 6029,
1216 CapabilityAtomicFloat32AddEXT = 6033,
1217 CapabilityAtomicFloat64AddEXT = 6034,
1218 CapabilityLongCompositesINTEL = 6089,
1219 CapabilityOptNoneINTEL = 6094,
1220 CapabilityAtomicFloat16AddEXT = 6095,
1221 CapabilityDebugInfoModuleINTEL = 6114,
1222 CapabilityBFloat16ConversionINTEL = 6115,
1223 CapabilitySplitBarrierINTEL = 6141,
1224 CapabilityFPGAClusterAttributesV2INTEL = 6150,
1225 CapabilityFPGAKernelAttributesv2INTEL = 6161,
1226 CapabilityFPMaxErrorINTEL = 6169,
1227 CapabilityFPGALatencyControlINTEL = 6171,
1228 CapabilityFPGAArgumentInterfacesINTEL = 6174,
1229 CapabilityGlobalVariableHostAccessINTEL = 6187,
1230 CapabilityGlobalVariableFPGADecorationsINTEL = 6189,
1231 CapabilityGroupUniformArithmeticKHR = 6400,
1232 CapabilityMaskedGatherScatterINTEL = 6427,
1233 CapabilityCacheControlsINTEL = 6441,
1234 CapabilityRegisterLimitsINTEL = 6460,
1235 CapabilityMax = 0x7fffffff,
1236 };
1237
1238 enum RayFlagsShift {
1239 RayFlagsOpaqueKHRShift = 0,
1240 RayFlagsNoOpaqueKHRShift = 1,
1241 RayFlagsTerminateOnFirstHitKHRShift = 2,
1242 RayFlagsSkipClosestHitShaderKHRShift = 3,
1243 RayFlagsCullBackFacingTrianglesKHRShift = 4,
1244 RayFlagsCullFrontFacingTrianglesKHRShift = 5,
1245 RayFlagsCullOpaqueKHRShift = 6,
1246 RayFlagsCullNoOpaqueKHRShift = 7,
1247 RayFlagsSkipTrianglesKHRShift = 8,
1248 RayFlagsSkipAABBsKHRShift = 9,
1249 RayFlagsForceOpacityMicromap2StateEXTShift = 10,
1250 RayFlagsMax = 0x7fffffff,
1251 };
1252
1253 enum RayFlagsMask {
1254 RayFlagsMaskNone = 0,
1255 RayFlagsOpaqueKHRMask = 0x00000001,
1256 RayFlagsNoOpaqueKHRMask = 0x00000002,
1257 RayFlagsTerminateOnFirstHitKHRMask = 0x00000004,
1258 RayFlagsSkipClosestHitShaderKHRMask = 0x00000008,
1259 RayFlagsCullBackFacingTrianglesKHRMask = 0x00000010,
1260 RayFlagsCullFrontFacingTrianglesKHRMask = 0x00000020,
1261 RayFlagsCullOpaqueKHRMask = 0x00000040,
1262 RayFlagsCullNoOpaqueKHRMask = 0x00000080,
1263 RayFlagsSkipTrianglesKHRMask = 0x00000100,
1264 RayFlagsSkipAABBsKHRMask = 0x00000200,
1265 RayFlagsForceOpacityMicromap2StateEXTMask = 0x00000400,
1266 };
1267
1268 enum RayQueryIntersection {
1269 RayQueryIntersectionRayQueryCandidateIntersectionKHR = 0,
1270 RayQueryIntersectionRayQueryCommittedIntersectionKHR = 1,
1271 RayQueryIntersectionMax = 0x7fffffff,
1272 };
1273
1274 enum RayQueryCommittedIntersectionType {
1275 RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionNoneKHR = 0,
1276 RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionTriangleKHR = 1,
1277 RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionGeneratedKHR = 2,
1278 RayQueryCommittedIntersectionTypeMax = 0x7fffffff,
1279 };
1280
1281 enum RayQueryCandidateIntersectionType {
1282 RayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionTriangleKHR = 0,
1283 RayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionAABBKHR = 1,
1284 RayQueryCandidateIntersectionTypeMax = 0x7fffffff,
1285 };
1286
1287 enum FragmentShadingRateShift {
1288 FragmentShadingRateVertical2PixelsShift = 0,
1289 FragmentShadingRateVertical4PixelsShift = 1,
1290 FragmentShadingRateHorizontal2PixelsShift = 2,
1291 FragmentShadingRateHorizontal4PixelsShift = 3,
1292 FragmentShadingRateMax = 0x7fffffff,
1293 };
1294
1295 enum FragmentShadingRateMask {
1296 FragmentShadingRateMaskNone = 0,
1297 FragmentShadingRateVertical2PixelsMask = 0x00000001,
1298 FragmentShadingRateVertical4PixelsMask = 0x00000002,
1299 FragmentShadingRateHorizontal2PixelsMask = 0x00000004,
1300 FragmentShadingRateHorizontal4PixelsMask = 0x00000008,
1301 };
1302
1303 enum FPDenormMode {
1304 FPDenormModePreserve = 0,
1305 FPDenormModeFlushToZero = 1,
1306 FPDenormModeMax = 0x7fffffff,
1307 };
1308
1309 enum FPOperationMode {
1310 FPOperationModeIEEE = 0,
1311 FPOperationModeALT = 1,
1312 FPOperationModeMax = 0x7fffffff,
1313 };
1314
1315 enum QuantizationModes {
1316 QuantizationModesTRN = 0,
1317 QuantizationModesTRN_ZERO = 1,
1318 QuantizationModesRND = 2,
1319 QuantizationModesRND_ZERO = 3,
1320 QuantizationModesRND_INF = 4,
1321 QuantizationModesRND_MIN_INF = 5,
1322 QuantizationModesRND_CONV = 6,
1323 QuantizationModesRND_CONV_ODD = 7,
1324 QuantizationModesMax = 0x7fffffff,
1325 };
1326
1327 enum OverflowModes {
1328 OverflowModesWRAP = 0,
1329 OverflowModesSAT = 1,
1330 OverflowModesSAT_ZERO = 2,
1331 OverflowModesSAT_SYM = 3,
1332 OverflowModesMax = 0x7fffffff,
1333 };
1334
1335 enum PackedVectorFormat {
1336 PackedVectorFormatPackedVectorFormat4x8Bit = 0,
1337 PackedVectorFormatPackedVectorFormat4x8BitKHR = 0,
1338 PackedVectorFormatMax = 0x7fffffff,
1339 };
1340
1341 enum CooperativeMatrixOperandsShift {
1342 CooperativeMatrixOperandsMatrixASignedComponentsKHRShift = 0,
1343 CooperativeMatrixOperandsMatrixBSignedComponentsKHRShift = 1,
1344 CooperativeMatrixOperandsMatrixCSignedComponentsKHRShift = 2,
1345 CooperativeMatrixOperandsMatrixResultSignedComponentsKHRShift = 3,
1346 CooperativeMatrixOperandsSaturatingAccumulationKHRShift = 4,
1347 CooperativeMatrixOperandsMax = 0x7fffffff,
1348 };
1349
1350 enum CooperativeMatrixOperandsMask {
1351 CooperativeMatrixOperandsMaskNone = 0,
1352 CooperativeMatrixOperandsMatrixASignedComponentsKHRMask = 0x00000001,
1353 CooperativeMatrixOperandsMatrixBSignedComponentsKHRMask = 0x00000002,
1354 CooperativeMatrixOperandsMatrixCSignedComponentsKHRMask = 0x00000004,
1355 CooperativeMatrixOperandsMatrixResultSignedComponentsKHRMask = 0x00000008,
1356 CooperativeMatrixOperandsSaturatingAccumulationKHRMask = 0x00000010,
1357 };
1358
1359 enum CooperativeMatrixLayout {
1360 CooperativeMatrixLayoutRowMajorKHR = 0,
1361 CooperativeMatrixLayoutColumnMajorKHR = 1,
1362 CooperativeMatrixLayoutRowBlockedInterleavedARM = 4202,
1363 CooperativeMatrixLayoutColumnBlockedInterleavedARM = 4203,
1364 CooperativeMatrixLayoutMax = 0x7fffffff,
1365 };
1366
1367 enum CooperativeMatrixUse {
1368 CooperativeMatrixUseMatrixAKHR = 0,
1369 CooperativeMatrixUseMatrixBKHR = 1,
1370 CooperativeMatrixUseMatrixAccumulatorKHR = 2,
1371 CooperativeMatrixUseMax = 0x7fffffff,
1372 };
1373
1374 enum InitializationModeQualifier {
1375 InitializationModeQualifierInitOnDeviceReprogramINTEL = 0,
1376 InitializationModeQualifierInitOnDeviceResetINTEL = 1,
1377 InitializationModeQualifierMax = 0x7fffffff,
1378 };
1379
1380 enum HostAccessQualifier {
1381 HostAccessQualifierNoneINTEL = 0,
1382 HostAccessQualifierReadINTEL = 1,
1383 HostAccessQualifierWriteINTEL = 2,
1384 HostAccessQualifierReadWriteINTEL = 3,
1385 HostAccessQualifierMax = 0x7fffffff,
1386 };
1387
1388 enum LoadCacheControl {
1389 LoadCacheControlUncachedINTEL = 0,
1390 LoadCacheControlCachedINTEL = 1,
1391 LoadCacheControlStreamingINTEL = 2,
1392 LoadCacheControlInvalidateAfterReadINTEL = 3,
1393 LoadCacheControlConstCachedINTEL = 4,
1394 LoadCacheControlMax = 0x7fffffff,
1395 };
1396
1397 enum StoreCacheControl {
1398 StoreCacheControlUncachedINTEL = 0,
1399 StoreCacheControlWriteThroughINTEL = 1,
1400 StoreCacheControlWriteBackINTEL = 2,
1401 StoreCacheControlStreamingINTEL = 3,
1402 StoreCacheControlMax = 0x7fffffff,
1403 };
1404
1405 enum NamedMaximumNumberOfRegisters {
1406 NamedMaximumNumberOfRegistersAutoINTEL = 0,
1407 NamedMaximumNumberOfRegistersMax = 0x7fffffff,
1408 };
1409
1410 enum RawAccessChainOperandsShift {
1411 RawAccessChainOperandsRobustnessPerComponentNVShift = 0,
1412 RawAccessChainOperandsRobustnessPerElementNVShift = 1,
1413 RawAccessChainOperandsMax = 0x7fffffff,
1414 };
1415
1416 enum RawAccessChainOperandsMask {
1417 RawAccessChainOperandsMaskNone = 0,
1418 RawAccessChainOperandsRobustnessPerComponentNVMask = 0x00000001,
1419 RawAccessChainOperandsRobustnessPerElementNVMask = 0x00000002,
1420 };
1421
1422 enum Op {
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 OpMax = 0x7fffffff,
2161 };
2162
2163 #ifdef SPV_ENABLE_UTILITY_CODE
2164 #ifndef __cplusplus
2165 #include <stdbool.h>
2166 #endif
HasResultAndType(Op opcode,bool * hasResult,bool * hasResultType)2167 inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
2168 *hasResult = *hasResultType = false;
2169 switch (opcode) {
2170 default: /* unknown opcode */ break;
2171 case OpNop: *hasResult = false; *hasResultType = false; break;
2172 case OpUndef: *hasResult = true; *hasResultType = true; break;
2173 case OpSourceContinued: *hasResult = false; *hasResultType = false; break;
2174 case OpSource: *hasResult = false; *hasResultType = false; break;
2175 case OpSourceExtension: *hasResult = false; *hasResultType = false; break;
2176 case OpName: *hasResult = false; *hasResultType = false; break;
2177 case OpMemberName: *hasResult = false; *hasResultType = false; break;
2178 case OpString: *hasResult = true; *hasResultType = false; break;
2179 case OpLine: *hasResult = false; *hasResultType = false; break;
2180 case OpExtension: *hasResult = false; *hasResultType = false; break;
2181 case OpExtInstImport: *hasResult = true; *hasResultType = false; break;
2182 case OpExtInst: *hasResult = true; *hasResultType = true; break;
2183 case OpMemoryModel: *hasResult = false; *hasResultType = false; break;
2184 case OpEntryPoint: *hasResult = false; *hasResultType = false; break;
2185 case OpExecutionMode: *hasResult = false; *hasResultType = false; break;
2186 case OpCapability: *hasResult = false; *hasResultType = false; break;
2187 case OpTypeVoid: *hasResult = true; *hasResultType = false; break;
2188 case OpTypeBool: *hasResult = true; *hasResultType = false; break;
2189 case OpTypeInt: *hasResult = true; *hasResultType = false; break;
2190 case OpTypeFloat: *hasResult = true; *hasResultType = false; break;
2191 case OpTypeVector: *hasResult = true; *hasResultType = false; break;
2192 case OpTypeMatrix: *hasResult = true; *hasResultType = false; break;
2193 case OpTypeImage: *hasResult = true; *hasResultType = false; break;
2194 case OpTypeSampler: *hasResult = true; *hasResultType = false; break;
2195 case OpTypeSampledImage: *hasResult = true; *hasResultType = false; break;
2196 case OpTypeArray: *hasResult = true; *hasResultType = false; break;
2197 case OpTypeRuntimeArray: *hasResult = true; *hasResultType = false; break;
2198 case OpTypeStruct: *hasResult = true; *hasResultType = false; break;
2199 case OpTypeOpaque: *hasResult = true; *hasResultType = false; break;
2200 case OpTypePointer: *hasResult = true; *hasResultType = false; break;
2201 case OpTypeFunction: *hasResult = true; *hasResultType = false; break;
2202 case OpTypeEvent: *hasResult = true; *hasResultType = false; break;
2203 case OpTypeDeviceEvent: *hasResult = true; *hasResultType = false; break;
2204 case OpTypeReserveId: *hasResult = true; *hasResultType = false; break;
2205 case OpTypeQueue: *hasResult = true; *hasResultType = false; break;
2206 case OpTypePipe: *hasResult = true; *hasResultType = false; break;
2207 case OpTypeForwardPointer: *hasResult = false; *hasResultType = false; break;
2208 case OpConstantTrue: *hasResult = true; *hasResultType = true; break;
2209 case OpConstantFalse: *hasResult = true; *hasResultType = true; break;
2210 case OpConstant: *hasResult = true; *hasResultType = true; break;
2211 case OpConstantComposite: *hasResult = true; *hasResultType = true; break;
2212 case OpConstantSampler: *hasResult = true; *hasResultType = true; break;
2213 case OpConstantNull: *hasResult = true; *hasResultType = true; break;
2214 case OpSpecConstantTrue: *hasResult = true; *hasResultType = true; break;
2215 case OpSpecConstantFalse: *hasResult = true; *hasResultType = true; break;
2216 case OpSpecConstant: *hasResult = true; *hasResultType = true; break;
2217 case OpSpecConstantComposite: *hasResult = true; *hasResultType = true; break;
2218 case OpSpecConstantOp: *hasResult = true; *hasResultType = true; break;
2219 case OpFunction: *hasResult = true; *hasResultType = true; break;
2220 case OpFunctionParameter: *hasResult = true; *hasResultType = true; break;
2221 case OpFunctionEnd: *hasResult = false; *hasResultType = false; break;
2222 case OpFunctionCall: *hasResult = true; *hasResultType = true; break;
2223 case OpVariable: *hasResult = true; *hasResultType = true; break;
2224 case OpImageTexelPointer: *hasResult = true; *hasResultType = true; break;
2225 case OpLoad: *hasResult = true; *hasResultType = true; break;
2226 case OpStore: *hasResult = false; *hasResultType = false; break;
2227 case OpCopyMemory: *hasResult = false; *hasResultType = false; break;
2228 case OpCopyMemorySized: *hasResult = false; *hasResultType = false; break;
2229 case OpAccessChain: *hasResult = true; *hasResultType = true; break;
2230 case OpInBoundsAccessChain: *hasResult = true; *hasResultType = true; break;
2231 case OpPtrAccessChain: *hasResult = true; *hasResultType = true; break;
2232 case OpArrayLength: *hasResult = true; *hasResultType = true; break;
2233 case OpGenericPtrMemSemantics: *hasResult = true; *hasResultType = true; break;
2234 case OpInBoundsPtrAccessChain: *hasResult = true; *hasResultType = true; break;
2235 case OpDecorate: *hasResult = false; *hasResultType = false; break;
2236 case OpMemberDecorate: *hasResult = false; *hasResultType = false; break;
2237 case OpDecorationGroup: *hasResult = true; *hasResultType = false; break;
2238 case OpGroupDecorate: *hasResult = false; *hasResultType = false; break;
2239 case OpGroupMemberDecorate: *hasResult = false; *hasResultType = false; break;
2240 case OpVectorExtractDynamic: *hasResult = true; *hasResultType = true; break;
2241 case OpVectorInsertDynamic: *hasResult = true; *hasResultType = true; break;
2242 case OpVectorShuffle: *hasResult = true; *hasResultType = true; break;
2243 case OpCompositeConstruct: *hasResult = true; *hasResultType = true; break;
2244 case OpCompositeExtract: *hasResult = true; *hasResultType = true; break;
2245 case OpCompositeInsert: *hasResult = true; *hasResultType = true; break;
2246 case OpCopyObject: *hasResult = true; *hasResultType = true; break;
2247 case OpTranspose: *hasResult = true; *hasResultType = true; break;
2248 case OpSampledImage: *hasResult = true; *hasResultType = true; break;
2249 case OpImageSampleImplicitLod: *hasResult = true; *hasResultType = true; break;
2250 case OpImageSampleExplicitLod: *hasResult = true; *hasResultType = true; break;
2251 case OpImageSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
2252 case OpImageSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
2253 case OpImageSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break;
2254 case OpImageSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break;
2255 case OpImageSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
2256 case OpImageSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
2257 case OpImageFetch: *hasResult = true; *hasResultType = true; break;
2258 case OpImageGather: *hasResult = true; *hasResultType = true; break;
2259 case OpImageDrefGather: *hasResult = true; *hasResultType = true; break;
2260 case OpImageRead: *hasResult = true; *hasResultType = true; break;
2261 case OpImageWrite: *hasResult = false; *hasResultType = false; break;
2262 case OpImage: *hasResult = true; *hasResultType = true; break;
2263 case OpImageQueryFormat: *hasResult = true; *hasResultType = true; break;
2264 case OpImageQueryOrder: *hasResult = true; *hasResultType = true; break;
2265 case OpImageQuerySizeLod: *hasResult = true; *hasResultType = true; break;
2266 case OpImageQuerySize: *hasResult = true; *hasResultType = true; break;
2267 case OpImageQueryLod: *hasResult = true; *hasResultType = true; break;
2268 case OpImageQueryLevels: *hasResult = true; *hasResultType = true; break;
2269 case OpImageQuerySamples: *hasResult = true; *hasResultType = true; break;
2270 case OpConvertFToU: *hasResult = true; *hasResultType = true; break;
2271 case OpConvertFToS: *hasResult = true; *hasResultType = true; break;
2272 case OpConvertSToF: *hasResult = true; *hasResultType = true; break;
2273 case OpConvertUToF: *hasResult = true; *hasResultType = true; break;
2274 case OpUConvert: *hasResult = true; *hasResultType = true; break;
2275 case OpSConvert: *hasResult = true; *hasResultType = true; break;
2276 case OpFConvert: *hasResult = true; *hasResultType = true; break;
2277 case OpQuantizeToF16: *hasResult = true; *hasResultType = true; break;
2278 case OpConvertPtrToU: *hasResult = true; *hasResultType = true; break;
2279 case OpSatConvertSToU: *hasResult = true; *hasResultType = true; break;
2280 case OpSatConvertUToS: *hasResult = true; *hasResultType = true; break;
2281 case OpConvertUToPtr: *hasResult = true; *hasResultType = true; break;
2282 case OpPtrCastToGeneric: *hasResult = true; *hasResultType = true; break;
2283 case OpGenericCastToPtr: *hasResult = true; *hasResultType = true; break;
2284 case OpGenericCastToPtrExplicit: *hasResult = true; *hasResultType = true; break;
2285 case OpBitcast: *hasResult = true; *hasResultType = true; break;
2286 case OpSNegate: *hasResult = true; *hasResultType = true; break;
2287 case OpFNegate: *hasResult = true; *hasResultType = true; break;
2288 case OpIAdd: *hasResult = true; *hasResultType = true; break;
2289 case OpFAdd: *hasResult = true; *hasResultType = true; break;
2290 case OpISub: *hasResult = true; *hasResultType = true; break;
2291 case OpFSub: *hasResult = true; *hasResultType = true; break;
2292 case OpIMul: *hasResult = true; *hasResultType = true; break;
2293 case OpFMul: *hasResult = true; *hasResultType = true; break;
2294 case OpUDiv: *hasResult = true; *hasResultType = true; break;
2295 case OpSDiv: *hasResult = true; *hasResultType = true; break;
2296 case OpFDiv: *hasResult = true; *hasResultType = true; break;
2297 case OpUMod: *hasResult = true; *hasResultType = true; break;
2298 case OpSRem: *hasResult = true; *hasResultType = true; break;
2299 case OpSMod: *hasResult = true; *hasResultType = true; break;
2300 case OpFRem: *hasResult = true; *hasResultType = true; break;
2301 case OpFMod: *hasResult = true; *hasResultType = true; break;
2302 case OpVectorTimesScalar: *hasResult = true; *hasResultType = true; break;
2303 case OpMatrixTimesScalar: *hasResult = true; *hasResultType = true; break;
2304 case OpVectorTimesMatrix: *hasResult = true; *hasResultType = true; break;
2305 case OpMatrixTimesVector: *hasResult = true; *hasResultType = true; break;
2306 case OpMatrixTimesMatrix: *hasResult = true; *hasResultType = true; break;
2307 case OpOuterProduct: *hasResult = true; *hasResultType = true; break;
2308 case OpDot: *hasResult = true; *hasResultType = true; break;
2309 case OpIAddCarry: *hasResult = true; *hasResultType = true; break;
2310 case OpISubBorrow: *hasResult = true; *hasResultType = true; break;
2311 case OpUMulExtended: *hasResult = true; *hasResultType = true; break;
2312 case OpSMulExtended: *hasResult = true; *hasResultType = true; break;
2313 case OpAny: *hasResult = true; *hasResultType = true; break;
2314 case OpAll: *hasResult = true; *hasResultType = true; break;
2315 case OpIsNan: *hasResult = true; *hasResultType = true; break;
2316 case OpIsInf: *hasResult = true; *hasResultType = true; break;
2317 case OpIsFinite: *hasResult = true; *hasResultType = true; break;
2318 case OpIsNormal: *hasResult = true; *hasResultType = true; break;
2319 case OpSignBitSet: *hasResult = true; *hasResultType = true; break;
2320 case OpLessOrGreater: *hasResult = true; *hasResultType = true; break;
2321 case OpOrdered: *hasResult = true; *hasResultType = true; break;
2322 case OpUnordered: *hasResult = true; *hasResultType = true; break;
2323 case OpLogicalEqual: *hasResult = true; *hasResultType = true; break;
2324 case OpLogicalNotEqual: *hasResult = true; *hasResultType = true; break;
2325 case OpLogicalOr: *hasResult = true; *hasResultType = true; break;
2326 case OpLogicalAnd: *hasResult = true; *hasResultType = true; break;
2327 case OpLogicalNot: *hasResult = true; *hasResultType = true; break;
2328 case OpSelect: *hasResult = true; *hasResultType = true; break;
2329 case OpIEqual: *hasResult = true; *hasResultType = true; break;
2330 case OpINotEqual: *hasResult = true; *hasResultType = true; break;
2331 case OpUGreaterThan: *hasResult = true; *hasResultType = true; break;
2332 case OpSGreaterThan: *hasResult = true; *hasResultType = true; break;
2333 case OpUGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
2334 case OpSGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
2335 case OpULessThan: *hasResult = true; *hasResultType = true; break;
2336 case OpSLessThan: *hasResult = true; *hasResultType = true; break;
2337 case OpULessThanEqual: *hasResult = true; *hasResultType = true; break;
2338 case OpSLessThanEqual: *hasResult = true; *hasResultType = true; break;
2339 case OpFOrdEqual: *hasResult = true; *hasResultType = true; break;
2340 case OpFUnordEqual: *hasResult = true; *hasResultType = true; break;
2341 case OpFOrdNotEqual: *hasResult = true; *hasResultType = true; break;
2342 case OpFUnordNotEqual: *hasResult = true; *hasResultType = true; break;
2343 case OpFOrdLessThan: *hasResult = true; *hasResultType = true; break;
2344 case OpFUnordLessThan: *hasResult = true; *hasResultType = true; break;
2345 case OpFOrdGreaterThan: *hasResult = true; *hasResultType = true; break;
2346 case OpFUnordGreaterThan: *hasResult = true; *hasResultType = true; break;
2347 case OpFOrdLessThanEqual: *hasResult = true; *hasResultType = true; break;
2348 case OpFUnordLessThanEqual: *hasResult = true; *hasResultType = true; break;
2349 case OpFOrdGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
2350 case OpFUnordGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
2351 case OpShiftRightLogical: *hasResult = true; *hasResultType = true; break;
2352 case OpShiftRightArithmetic: *hasResult = true; *hasResultType = true; break;
2353 case OpShiftLeftLogical: *hasResult = true; *hasResultType = true; break;
2354 case OpBitwiseOr: *hasResult = true; *hasResultType = true; break;
2355 case OpBitwiseXor: *hasResult = true; *hasResultType = true; break;
2356 case OpBitwiseAnd: *hasResult = true; *hasResultType = true; break;
2357 case OpNot: *hasResult = true; *hasResultType = true; break;
2358 case OpBitFieldInsert: *hasResult = true; *hasResultType = true; break;
2359 case OpBitFieldSExtract: *hasResult = true; *hasResultType = true; break;
2360 case OpBitFieldUExtract: *hasResult = true; *hasResultType = true; break;
2361 case OpBitReverse: *hasResult = true; *hasResultType = true; break;
2362 case OpBitCount: *hasResult = true; *hasResultType = true; break;
2363 case OpDPdx: *hasResult = true; *hasResultType = true; break;
2364 case OpDPdy: *hasResult = true; *hasResultType = true; break;
2365 case OpFwidth: *hasResult = true; *hasResultType = true; break;
2366 case OpDPdxFine: *hasResult = true; *hasResultType = true; break;
2367 case OpDPdyFine: *hasResult = true; *hasResultType = true; break;
2368 case OpFwidthFine: *hasResult = true; *hasResultType = true; break;
2369 case OpDPdxCoarse: *hasResult = true; *hasResultType = true; break;
2370 case OpDPdyCoarse: *hasResult = true; *hasResultType = true; break;
2371 case OpFwidthCoarse: *hasResult = true; *hasResultType = true; break;
2372 case OpEmitVertex: *hasResult = false; *hasResultType = false; break;
2373 case OpEndPrimitive: *hasResult = false; *hasResultType = false; break;
2374 case OpEmitStreamVertex: *hasResult = false; *hasResultType = false; break;
2375 case OpEndStreamPrimitive: *hasResult = false; *hasResultType = false; break;
2376 case OpControlBarrier: *hasResult = false; *hasResultType = false; break;
2377 case OpMemoryBarrier: *hasResult = false; *hasResultType = false; break;
2378 case OpAtomicLoad: *hasResult = true; *hasResultType = true; break;
2379 case OpAtomicStore: *hasResult = false; *hasResultType = false; break;
2380 case OpAtomicExchange: *hasResult = true; *hasResultType = true; break;
2381 case OpAtomicCompareExchange: *hasResult = true; *hasResultType = true; break;
2382 case OpAtomicCompareExchangeWeak: *hasResult = true; *hasResultType = true; break;
2383 case OpAtomicIIncrement: *hasResult = true; *hasResultType = true; break;
2384 case OpAtomicIDecrement: *hasResult = true; *hasResultType = true; break;
2385 case OpAtomicIAdd: *hasResult = true; *hasResultType = true; break;
2386 case OpAtomicISub: *hasResult = true; *hasResultType = true; break;
2387 case OpAtomicSMin: *hasResult = true; *hasResultType = true; break;
2388 case OpAtomicUMin: *hasResult = true; *hasResultType = true; break;
2389 case OpAtomicSMax: *hasResult = true; *hasResultType = true; break;
2390 case OpAtomicUMax: *hasResult = true; *hasResultType = true; break;
2391 case OpAtomicAnd: *hasResult = true; *hasResultType = true; break;
2392 case OpAtomicOr: *hasResult = true; *hasResultType = true; break;
2393 case OpAtomicXor: *hasResult = true; *hasResultType = true; break;
2394 case OpPhi: *hasResult = true; *hasResultType = true; break;
2395 case OpLoopMerge: *hasResult = false; *hasResultType = false; break;
2396 case OpSelectionMerge: *hasResult = false; *hasResultType = false; break;
2397 case OpLabel: *hasResult = true; *hasResultType = false; break;
2398 case OpBranch: *hasResult = false; *hasResultType = false; break;
2399 case OpBranchConditional: *hasResult = false; *hasResultType = false; break;
2400 case OpSwitch: *hasResult = false; *hasResultType = false; break;
2401 case OpKill: *hasResult = false; *hasResultType = false; break;
2402 case OpReturn: *hasResult = false; *hasResultType = false; break;
2403 case OpReturnValue: *hasResult = false; *hasResultType = false; break;
2404 case OpUnreachable: *hasResult = false; *hasResultType = false; break;
2405 case OpLifetimeStart: *hasResult = false; *hasResultType = false; break;
2406 case OpLifetimeStop: *hasResult = false; *hasResultType = false; break;
2407 case OpGroupAsyncCopy: *hasResult = true; *hasResultType = true; break;
2408 case OpGroupWaitEvents: *hasResult = false; *hasResultType = false; break;
2409 case OpGroupAll: *hasResult = true; *hasResultType = true; break;
2410 case OpGroupAny: *hasResult = true; *hasResultType = true; break;
2411 case OpGroupBroadcast: *hasResult = true; *hasResultType = true; break;
2412 case OpGroupIAdd: *hasResult = true; *hasResultType = true; break;
2413 case OpGroupFAdd: *hasResult = true; *hasResultType = true; break;
2414 case OpGroupFMin: *hasResult = true; *hasResultType = true; break;
2415 case OpGroupUMin: *hasResult = true; *hasResultType = true; break;
2416 case OpGroupSMin: *hasResult = true; *hasResultType = true; break;
2417 case OpGroupFMax: *hasResult = true; *hasResultType = true; break;
2418 case OpGroupUMax: *hasResult = true; *hasResultType = true; break;
2419 case OpGroupSMax: *hasResult = true; *hasResultType = true; break;
2420 case OpReadPipe: *hasResult = true; *hasResultType = true; break;
2421 case OpWritePipe: *hasResult = true; *hasResultType = true; break;
2422 case OpReservedReadPipe: *hasResult = true; *hasResultType = true; break;
2423 case OpReservedWritePipe: *hasResult = true; *hasResultType = true; break;
2424 case OpReserveReadPipePackets: *hasResult = true; *hasResultType = true; break;
2425 case OpReserveWritePipePackets: *hasResult = true; *hasResultType = true; break;
2426 case OpCommitReadPipe: *hasResult = false; *hasResultType = false; break;
2427 case OpCommitWritePipe: *hasResult = false; *hasResultType = false; break;
2428 case OpIsValidReserveId: *hasResult = true; *hasResultType = true; break;
2429 case OpGetNumPipePackets: *hasResult = true; *hasResultType = true; break;
2430 case OpGetMaxPipePackets: *hasResult = true; *hasResultType = true; break;
2431 case OpGroupReserveReadPipePackets: *hasResult = true; *hasResultType = true; break;
2432 case OpGroupReserveWritePipePackets: *hasResult = true; *hasResultType = true; break;
2433 case OpGroupCommitReadPipe: *hasResult = false; *hasResultType = false; break;
2434 case OpGroupCommitWritePipe: *hasResult = false; *hasResultType = false; break;
2435 case OpEnqueueMarker: *hasResult = true; *hasResultType = true; break;
2436 case OpEnqueueKernel: *hasResult = true; *hasResultType = true; break;
2437 case OpGetKernelNDrangeSubGroupCount: *hasResult = true; *hasResultType = true; break;
2438 case OpGetKernelNDrangeMaxSubGroupSize: *hasResult = true; *hasResultType = true; break;
2439 case OpGetKernelWorkGroupSize: *hasResult = true; *hasResultType = true; break;
2440 case OpGetKernelPreferredWorkGroupSizeMultiple: *hasResult = true; *hasResultType = true; break;
2441 case OpRetainEvent: *hasResult = false; *hasResultType = false; break;
2442 case OpReleaseEvent: *hasResult = false; *hasResultType = false; break;
2443 case OpCreateUserEvent: *hasResult = true; *hasResultType = true; break;
2444 case OpIsValidEvent: *hasResult = true; *hasResultType = true; break;
2445 case OpSetUserEventStatus: *hasResult = false; *hasResultType = false; break;
2446 case OpCaptureEventProfilingInfo: *hasResult = false; *hasResultType = false; break;
2447 case OpGetDefaultQueue: *hasResult = true; *hasResultType = true; break;
2448 case OpBuildNDRange: *hasResult = true; *hasResultType = true; break;
2449 case OpImageSparseSampleImplicitLod: *hasResult = true; *hasResultType = true; break;
2450 case OpImageSparseSampleExplicitLod: *hasResult = true; *hasResultType = true; break;
2451 case OpImageSparseSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
2452 case OpImageSparseSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
2453 case OpImageSparseSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break;
2454 case OpImageSparseSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break;
2455 case OpImageSparseSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
2456 case OpImageSparseSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
2457 case OpImageSparseFetch: *hasResult = true; *hasResultType = true; break;
2458 case OpImageSparseGather: *hasResult = true; *hasResultType = true; break;
2459 case OpImageSparseDrefGather: *hasResult = true; *hasResultType = true; break;
2460 case OpImageSparseTexelsResident: *hasResult = true; *hasResultType = true; break;
2461 case OpNoLine: *hasResult = false; *hasResultType = false; break;
2462 case OpAtomicFlagTestAndSet: *hasResult = true; *hasResultType = true; break;
2463 case OpAtomicFlagClear: *hasResult = false; *hasResultType = false; break;
2464 case OpImageSparseRead: *hasResult = true; *hasResultType = true; break;
2465 case OpSizeOf: *hasResult = true; *hasResultType = true; break;
2466 case OpTypePipeStorage: *hasResult = true; *hasResultType = false; break;
2467 case OpConstantPipeStorage: *hasResult = true; *hasResultType = true; break;
2468 case OpCreatePipeFromPipeStorage: *hasResult = true; *hasResultType = true; break;
2469 case OpGetKernelLocalSizeForSubgroupCount: *hasResult = true; *hasResultType = true; break;
2470 case OpGetKernelMaxNumSubgroups: *hasResult = true; *hasResultType = true; break;
2471 case OpTypeNamedBarrier: *hasResult = true; *hasResultType = false; break;
2472 case OpNamedBarrierInitialize: *hasResult = true; *hasResultType = true; break;
2473 case OpMemoryNamedBarrier: *hasResult = false; *hasResultType = false; break;
2474 case OpModuleProcessed: *hasResult = false; *hasResultType = false; break;
2475 case OpExecutionModeId: *hasResult = false; *hasResultType = false; break;
2476 case OpDecorateId: *hasResult = false; *hasResultType = false; break;
2477 case OpGroupNonUniformElect: *hasResult = true; *hasResultType = true; break;
2478 case OpGroupNonUniformAll: *hasResult = true; *hasResultType = true; break;
2479 case OpGroupNonUniformAny: *hasResult = true; *hasResultType = true; break;
2480 case OpGroupNonUniformAllEqual: *hasResult = true; *hasResultType = true; break;
2481 case OpGroupNonUniformBroadcast: *hasResult = true; *hasResultType = true; break;
2482 case OpGroupNonUniformBroadcastFirst: *hasResult = true; *hasResultType = true; break;
2483 case OpGroupNonUniformBallot: *hasResult = true; *hasResultType = true; break;
2484 case OpGroupNonUniformInverseBallot: *hasResult = true; *hasResultType = true; break;
2485 case OpGroupNonUniformBallotBitExtract: *hasResult = true; *hasResultType = true; break;
2486 case OpGroupNonUniformBallotBitCount: *hasResult = true; *hasResultType = true; break;
2487 case OpGroupNonUniformBallotFindLSB: *hasResult = true; *hasResultType = true; break;
2488 case OpGroupNonUniformBallotFindMSB: *hasResult = true; *hasResultType = true; break;
2489 case OpGroupNonUniformShuffle: *hasResult = true; *hasResultType = true; break;
2490 case OpGroupNonUniformShuffleXor: *hasResult = true; *hasResultType = true; break;
2491 case OpGroupNonUniformShuffleUp: *hasResult = true; *hasResultType = true; break;
2492 case OpGroupNonUniformShuffleDown: *hasResult = true; *hasResultType = true; break;
2493 case OpGroupNonUniformIAdd: *hasResult = true; *hasResultType = true; break;
2494 case OpGroupNonUniformFAdd: *hasResult = true; *hasResultType = true; break;
2495 case OpGroupNonUniformIMul: *hasResult = true; *hasResultType = true; break;
2496 case OpGroupNonUniformFMul: *hasResult = true; *hasResultType = true; break;
2497 case OpGroupNonUniformSMin: *hasResult = true; *hasResultType = true; break;
2498 case OpGroupNonUniformUMin: *hasResult = true; *hasResultType = true; break;
2499 case OpGroupNonUniformFMin: *hasResult = true; *hasResultType = true; break;
2500 case OpGroupNonUniformSMax: *hasResult = true; *hasResultType = true; break;
2501 case OpGroupNonUniformUMax: *hasResult = true; *hasResultType = true; break;
2502 case OpGroupNonUniformFMax: *hasResult = true; *hasResultType = true; break;
2503 case OpGroupNonUniformBitwiseAnd: *hasResult = true; *hasResultType = true; break;
2504 case OpGroupNonUniformBitwiseOr: *hasResult = true; *hasResultType = true; break;
2505 case OpGroupNonUniformBitwiseXor: *hasResult = true; *hasResultType = true; break;
2506 case OpGroupNonUniformLogicalAnd: *hasResult = true; *hasResultType = true; break;
2507 case OpGroupNonUniformLogicalOr: *hasResult = true; *hasResultType = true; break;
2508 case OpGroupNonUniformLogicalXor: *hasResult = true; *hasResultType = true; break;
2509 case OpGroupNonUniformQuadBroadcast: *hasResult = true; *hasResultType = true; break;
2510 case OpGroupNonUniformQuadSwap: *hasResult = true; *hasResultType = true; break;
2511 case OpCopyLogical: *hasResult = true; *hasResultType = true; break;
2512 case OpPtrEqual: *hasResult = true; *hasResultType = true; break;
2513 case OpPtrNotEqual: *hasResult = true; *hasResultType = true; break;
2514 case OpPtrDiff: *hasResult = true; *hasResultType = true; break;
2515 case OpColorAttachmentReadEXT: *hasResult = true; *hasResultType = true; break;
2516 case OpDepthAttachmentReadEXT: *hasResult = true; *hasResultType = true; break;
2517 case OpStencilAttachmentReadEXT: *hasResult = true; *hasResultType = true; break;
2518 case OpTerminateInvocation: *hasResult = false; *hasResultType = false; break;
2519 case OpSubgroupBallotKHR: *hasResult = true; *hasResultType = true; break;
2520 case OpSubgroupFirstInvocationKHR: *hasResult = true; *hasResultType = true; break;
2521 case OpSubgroupAllKHR: *hasResult = true; *hasResultType = true; break;
2522 case OpSubgroupAnyKHR: *hasResult = true; *hasResultType = true; break;
2523 case OpSubgroupAllEqualKHR: *hasResult = true; *hasResultType = true; break;
2524 case OpGroupNonUniformRotateKHR: *hasResult = true; *hasResultType = true; break;
2525 case OpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = true; break;
2526 case OpExtInstWithForwardRefsKHR: *hasResult = true; *hasResultType = true; break;
2527 case OpTraceRayKHR: *hasResult = false; *hasResultType = false; break;
2528 case OpExecuteCallableKHR: *hasResult = false; *hasResultType = false; break;
2529 case OpConvertUToAccelerationStructureKHR: *hasResult = true; *hasResultType = true; break;
2530 case OpIgnoreIntersectionKHR: *hasResult = false; *hasResultType = false; break;
2531 case OpTerminateRayKHR: *hasResult = false; *hasResultType = false; break;
2532 case OpSDot: *hasResult = true; *hasResultType = true; break;
2533 case OpUDot: *hasResult = true; *hasResultType = true; break;
2534 case OpSUDot: *hasResult = true; *hasResultType = true; break;
2535 case OpSDotAccSat: *hasResult = true; *hasResultType = true; break;
2536 case OpUDotAccSat: *hasResult = true; *hasResultType = true; break;
2537 case OpSUDotAccSat: *hasResult = true; *hasResultType = true; break;
2538 case OpTypeCooperativeMatrixKHR: *hasResult = true; *hasResultType = false; break;
2539 case OpCooperativeMatrixLoadKHR: *hasResult = true; *hasResultType = true; break;
2540 case OpCooperativeMatrixStoreKHR: *hasResult = false; *hasResultType = false; break;
2541 case OpCooperativeMatrixMulAddKHR: *hasResult = true; *hasResultType = true; break;
2542 case OpCooperativeMatrixLengthKHR: *hasResult = true; *hasResultType = true; break;
2543 case OpConstantCompositeReplicateEXT: *hasResult = true; *hasResultType = true; break;
2544 case OpSpecConstantCompositeReplicateEXT: *hasResult = true; *hasResultType = true; break;
2545 case OpCompositeConstructReplicateEXT: *hasResult = true; *hasResultType = true; break;
2546 case OpTypeRayQueryKHR: *hasResult = true; *hasResultType = false; break;
2547 case OpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break;
2548 case OpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break;
2549 case OpRayQueryGenerateIntersectionKHR: *hasResult = false; *hasResultType = false; break;
2550 case OpRayQueryConfirmIntersectionKHR: *hasResult = false; *hasResultType = false; break;
2551 case OpRayQueryProceedKHR: *hasResult = true; *hasResultType = true; break;
2552 case OpRayQueryGetIntersectionTypeKHR: *hasResult = true; *hasResultType = true; break;
2553 case OpImageSampleWeightedQCOM: *hasResult = true; *hasResultType = true; break;
2554 case OpImageBoxFilterQCOM: *hasResult = true; *hasResultType = true; break;
2555 case OpImageBlockMatchSSDQCOM: *hasResult = true; *hasResultType = true; break;
2556 case OpImageBlockMatchSADQCOM: *hasResult = true; *hasResultType = true; break;
2557 case OpImageBlockMatchWindowSSDQCOM: *hasResult = true; *hasResultType = true; break;
2558 case OpImageBlockMatchWindowSADQCOM: *hasResult = true; *hasResultType = true; break;
2559 case OpImageBlockMatchGatherSSDQCOM: *hasResult = true; *hasResultType = true; break;
2560 case OpImageBlockMatchGatherSADQCOM: *hasResult = true; *hasResultType = true; break;
2561 case OpGroupIAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
2562 case OpGroupFAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
2563 case OpGroupFMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
2564 case OpGroupUMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
2565 case OpGroupSMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
2566 case OpGroupFMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
2567 case OpGroupUMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
2568 case OpGroupSMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
2569 case OpFragmentMaskFetchAMD: *hasResult = true; *hasResultType = true; break;
2570 case OpFragmentFetchAMD: *hasResult = true; *hasResultType = true; break;
2571 case OpReadClockKHR: *hasResult = true; *hasResultType = true; break;
2572 case OpFinalizeNodePayloadsAMDX: *hasResult = false; *hasResultType = false; break;
2573 case OpFinishWritingNodePayloadAMDX: *hasResult = true; *hasResultType = true; break;
2574 case OpInitializeNodePayloadsAMDX: *hasResult = false; *hasResultType = false; break;
2575 case OpGroupNonUniformQuadAllKHR: *hasResult = true; *hasResultType = true; break;
2576 case OpGroupNonUniformQuadAnyKHR: *hasResult = true; *hasResultType = true; break;
2577 case OpHitObjectRecordHitMotionNV: *hasResult = false; *hasResultType = false; break;
2578 case OpHitObjectRecordHitWithIndexMotionNV: *hasResult = false; *hasResultType = false; break;
2579 case OpHitObjectRecordMissMotionNV: *hasResult = false; *hasResultType = false; break;
2580 case OpHitObjectGetWorldToObjectNV: *hasResult = true; *hasResultType = true; break;
2581 case OpHitObjectGetObjectToWorldNV: *hasResult = true; *hasResultType = true; break;
2582 case OpHitObjectGetObjectRayDirectionNV: *hasResult = true; *hasResultType = true; break;
2583 case OpHitObjectGetObjectRayOriginNV: *hasResult = true; *hasResultType = true; break;
2584 case OpHitObjectTraceRayMotionNV: *hasResult = false; *hasResultType = false; break;
2585 case OpHitObjectGetShaderRecordBufferHandleNV: *hasResult = true; *hasResultType = true; break;
2586 case OpHitObjectGetShaderBindingTableRecordIndexNV: *hasResult = true; *hasResultType = true; break;
2587 case OpHitObjectRecordEmptyNV: *hasResult = false; *hasResultType = false; break;
2588 case OpHitObjectTraceRayNV: *hasResult = false; *hasResultType = false; break;
2589 case OpHitObjectRecordHitNV: *hasResult = false; *hasResultType = false; break;
2590 case OpHitObjectRecordHitWithIndexNV: *hasResult = false; *hasResultType = false; break;
2591 case OpHitObjectRecordMissNV: *hasResult = false; *hasResultType = false; break;
2592 case OpHitObjectExecuteShaderNV: *hasResult = false; *hasResultType = false; break;
2593 case OpHitObjectGetCurrentTimeNV: *hasResult = true; *hasResultType = true; break;
2594 case OpHitObjectGetAttributesNV: *hasResult = false; *hasResultType = false; break;
2595 case OpHitObjectGetHitKindNV: *hasResult = true; *hasResultType = true; break;
2596 case OpHitObjectGetPrimitiveIndexNV: *hasResult = true; *hasResultType = true; break;
2597 case OpHitObjectGetGeometryIndexNV: *hasResult = true; *hasResultType = true; break;
2598 case OpHitObjectGetInstanceIdNV: *hasResult = true; *hasResultType = true; break;
2599 case OpHitObjectGetInstanceCustomIndexNV: *hasResult = true; *hasResultType = true; break;
2600 case OpHitObjectGetWorldRayDirectionNV: *hasResult = true; *hasResultType = true; break;
2601 case OpHitObjectGetWorldRayOriginNV: *hasResult = true; *hasResultType = true; break;
2602 case OpHitObjectGetRayTMaxNV: *hasResult = true; *hasResultType = true; break;
2603 case OpHitObjectGetRayTMinNV: *hasResult = true; *hasResultType = true; break;
2604 case OpHitObjectIsEmptyNV: *hasResult = true; *hasResultType = true; break;
2605 case OpHitObjectIsHitNV: *hasResult = true; *hasResultType = true; break;
2606 case OpHitObjectIsMissNV: *hasResult = true; *hasResultType = true; break;
2607 case OpReorderThreadWithHitObjectNV: *hasResult = false; *hasResultType = false; break;
2608 case OpReorderThreadWithHintNV: *hasResult = false; *hasResultType = false; break;
2609 case OpTypeHitObjectNV: *hasResult = true; *hasResultType = false; break;
2610 case OpImageSampleFootprintNV: *hasResult = true; *hasResultType = true; break;
2611 case OpEmitMeshTasksEXT: *hasResult = false; *hasResultType = false; break;
2612 case OpSetMeshOutputsEXT: *hasResult = false; *hasResultType = false; break;
2613 case OpGroupNonUniformPartitionNV: *hasResult = true; *hasResultType = true; break;
2614 case OpWritePackedPrimitiveIndices4x8NV: *hasResult = false; *hasResultType = false; break;
2615 case OpFetchMicroTriangleVertexPositionNV: *hasResult = true; *hasResultType = true; break;
2616 case OpFetchMicroTriangleVertexBarycentricNV: *hasResult = true; *hasResultType = true; break;
2617 case OpReportIntersectionKHR: *hasResult = true; *hasResultType = true; break;
2618 case OpIgnoreIntersectionNV: *hasResult = false; *hasResultType = false; break;
2619 case OpTerminateRayNV: *hasResult = false; *hasResultType = false; break;
2620 case OpTraceNV: *hasResult = false; *hasResultType = false; break;
2621 case OpTraceMotionNV: *hasResult = false; *hasResultType = false; break;
2622 case OpTraceRayMotionNV: *hasResult = false; *hasResultType = false; break;
2623 case OpRayQueryGetIntersectionTriangleVertexPositionsKHR: *hasResult = true; *hasResultType = true; break;
2624 case OpTypeAccelerationStructureKHR: *hasResult = true; *hasResultType = false; break;
2625 case OpExecuteCallableNV: *hasResult = false; *hasResultType = false; break;
2626 case OpTypeCooperativeMatrixNV: *hasResult = true; *hasResultType = false; break;
2627 case OpCooperativeMatrixLoadNV: *hasResult = true; *hasResultType = true; break;
2628 case OpCooperativeMatrixStoreNV: *hasResult = false; *hasResultType = false; break;
2629 case OpCooperativeMatrixMulAddNV: *hasResult = true; *hasResultType = true; break;
2630 case OpCooperativeMatrixLengthNV: *hasResult = true; *hasResultType = true; break;
2631 case OpBeginInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
2632 case OpEndInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
2633 case OpDemoteToHelperInvocation: *hasResult = false; *hasResultType = false; break;
2634 case OpIsHelperInvocationEXT: *hasResult = true; *hasResultType = true; break;
2635 case OpConvertUToImageNV: *hasResult = true; *hasResultType = true; break;
2636 case OpConvertUToSamplerNV: *hasResult = true; *hasResultType = true; break;
2637 case OpConvertImageToUNV: *hasResult = true; *hasResultType = true; break;
2638 case OpConvertSamplerToUNV: *hasResult = true; *hasResultType = true; break;
2639 case OpConvertUToSampledImageNV: *hasResult = true; *hasResultType = true; break;
2640 case OpConvertSampledImageToUNV: *hasResult = true; *hasResultType = true; break;
2641 case OpSamplerImageAddressingModeNV: *hasResult = false; *hasResultType = false; break;
2642 case OpRawAccessChainNV: *hasResult = true; *hasResultType = true; break;
2643 case OpSubgroupShuffleINTEL: *hasResult = true; *hasResultType = true; break;
2644 case OpSubgroupShuffleDownINTEL: *hasResult = true; *hasResultType = true; break;
2645 case OpSubgroupShuffleUpINTEL: *hasResult = true; *hasResultType = true; break;
2646 case OpSubgroupShuffleXorINTEL: *hasResult = true; *hasResultType = true; break;
2647 case OpSubgroupBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
2648 case OpSubgroupBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
2649 case OpSubgroupImageBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
2650 case OpSubgroupImageBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
2651 case OpSubgroupImageMediaBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
2652 case OpSubgroupImageMediaBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
2653 case OpUCountLeadingZerosINTEL: *hasResult = true; *hasResultType = true; break;
2654 case OpUCountTrailingZerosINTEL: *hasResult = true; *hasResultType = true; break;
2655 case OpAbsISubINTEL: *hasResult = true; *hasResultType = true; break;
2656 case OpAbsUSubINTEL: *hasResult = true; *hasResultType = true; break;
2657 case OpIAddSatINTEL: *hasResult = true; *hasResultType = true; break;
2658 case OpUAddSatINTEL: *hasResult = true; *hasResultType = true; break;
2659 case OpIAverageINTEL: *hasResult = true; *hasResultType = true; break;
2660 case OpUAverageINTEL: *hasResult = true; *hasResultType = true; break;
2661 case OpIAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break;
2662 case OpUAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break;
2663 case OpISubSatINTEL: *hasResult = true; *hasResultType = true; break;
2664 case OpUSubSatINTEL: *hasResult = true; *hasResultType = true; break;
2665 case OpIMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
2666 case OpUMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
2667 case OpConstantFunctionPointerINTEL: *hasResult = true; *hasResultType = true; break;
2668 case OpFunctionPointerCallINTEL: *hasResult = true; *hasResultType = true; break;
2669 case OpAsmTargetINTEL: *hasResult = true; *hasResultType = true; break;
2670 case OpAsmINTEL: *hasResult = true; *hasResultType = true; break;
2671 case OpAsmCallINTEL: *hasResult = true; *hasResultType = true; break;
2672 case OpAtomicFMinEXT: *hasResult = true; *hasResultType = true; break;
2673 case OpAtomicFMaxEXT: *hasResult = true; *hasResultType = true; break;
2674 case OpAssumeTrueKHR: *hasResult = false; *hasResultType = false; break;
2675 case OpExpectKHR: *hasResult = true; *hasResultType = true; break;
2676 case OpDecorateString: *hasResult = false; *hasResultType = false; break;
2677 case OpMemberDecorateString: *hasResult = false; *hasResultType = false; break;
2678 case OpVmeImageINTEL: *hasResult = true; *hasResultType = true; break;
2679 case OpTypeVmeImageINTEL: *hasResult = true; *hasResultType = false; break;
2680 case OpTypeAvcImePayloadINTEL: *hasResult = true; *hasResultType = false; break;
2681 case OpTypeAvcRefPayloadINTEL: *hasResult = true; *hasResultType = false; break;
2682 case OpTypeAvcSicPayloadINTEL: *hasResult = true; *hasResultType = false; break;
2683 case OpTypeAvcMcePayloadINTEL: *hasResult = true; *hasResultType = false; break;
2684 case OpTypeAvcMceResultINTEL: *hasResult = true; *hasResultType = false; break;
2685 case OpTypeAvcImeResultINTEL: *hasResult = true; *hasResultType = false; break;
2686 case OpTypeAvcImeResultSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break;
2687 case OpTypeAvcImeResultDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break;
2688 case OpTypeAvcImeSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break;
2689 case OpTypeAvcImeDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break;
2690 case OpTypeAvcRefResultINTEL: *hasResult = true; *hasResultType = false; break;
2691 case OpTypeAvcSicResultINTEL: *hasResult = true; *hasResultType = false; break;
2692 case OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
2693 case OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
2694 case OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
2695 case OpSubgroupAvcMceSetInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
2696 case OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
2697 case OpSubgroupAvcMceSetInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
2698 case OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
2699 case OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL: *hasResult = true; *hasResultType = true; break;
2700 case OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
2701 case OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
2702 case OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
2703 case OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
2704 case OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
2705 case OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
2706 case OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
2707 case OpSubgroupAvcMceSetAcOnlyHaarINTEL: *hasResult = true; *hasResultType = true; break;
2708 case OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break;
2709 case OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break;
2710 case OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break;
2711 case OpSubgroupAvcMceConvertToImePayloadINTEL: *hasResult = true; *hasResultType = true; break;
2712 case OpSubgroupAvcMceConvertToImeResultINTEL: *hasResult = true; *hasResultType = true; break;
2713 case OpSubgroupAvcMceConvertToRefPayloadINTEL: *hasResult = true; *hasResultType = true; break;
2714 case OpSubgroupAvcMceConvertToRefResultINTEL: *hasResult = true; *hasResultType = true; break;
2715 case OpSubgroupAvcMceConvertToSicPayloadINTEL: *hasResult = true; *hasResultType = true; break;
2716 case OpSubgroupAvcMceConvertToSicResultINTEL: *hasResult = true; *hasResultType = true; break;
2717 case OpSubgroupAvcMceGetMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
2718 case OpSubgroupAvcMceGetInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
2719 case OpSubgroupAvcMceGetBestInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
2720 case OpSubgroupAvcMceGetInterMajorShapeINTEL: *hasResult = true; *hasResultType = true; break;
2721 case OpSubgroupAvcMceGetInterMinorShapeINTEL: *hasResult = true; *hasResultType = true; break;
2722 case OpSubgroupAvcMceGetInterDirectionsINTEL: *hasResult = true; *hasResultType = true; break;
2723 case OpSubgroupAvcMceGetInterMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break;
2724 case OpSubgroupAvcMceGetInterReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
2725 case OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break;
2726 case OpSubgroupAvcImeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
2727 case OpSubgroupAvcImeSetSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
2728 case OpSubgroupAvcImeSetDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
2729 case OpSubgroupAvcImeRefWindowSizeINTEL: *hasResult = true; *hasResultType = true; break;
2730 case OpSubgroupAvcImeAdjustRefOffsetINTEL: *hasResult = true; *hasResultType = true; break;
2731 case OpSubgroupAvcImeConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
2732 case OpSubgroupAvcImeSetMaxMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break;
2733 case OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break;
2734 case OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL: *hasResult = true; *hasResultType = true; break;
2735 case OpSubgroupAvcImeSetWeightedSadINTEL: *hasResult = true; *hasResultType = true; break;
2736 case OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
2737 case OpSubgroupAvcImeEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
2738 case OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
2739 case OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
2740 case OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
2741 case OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
2742 case OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break;
2743 case OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break;
2744 case OpSubgroupAvcImeConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
2745 case OpSubgroupAvcImeGetSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
2746 case OpSubgroupAvcImeGetDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
2747 case OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
2748 case OpSubgroupAvcImeStripDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
2749 case OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
2750 case OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
2751 case OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
2752 case OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
2753 case OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
2754 case OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
2755 case OpSubgroupAvcImeGetBorderReachedINTEL: *hasResult = true; *hasResultType = true; break;
2756 case OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL: *hasResult = true; *hasResultType = true; break;
2757 case OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL: *hasResult = true; *hasResultType = true; break;
2758 case OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL: *hasResult = true; *hasResultType = true; break;
2759 case OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL: *hasResult = true; *hasResultType = true; break;
2760 case OpSubgroupAvcFmeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
2761 case OpSubgroupAvcBmeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
2762 case OpSubgroupAvcRefConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
2763 case OpSubgroupAvcRefSetBidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break;
2764 case OpSubgroupAvcRefSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break;
2765 case OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
2766 case OpSubgroupAvcRefEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
2767 case OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break;
2768 case OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break;
2769 case OpSubgroupAvcRefConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
2770 case OpSubgroupAvcSicInitializeINTEL: *hasResult = true; *hasResultType = true; break;
2771 case OpSubgroupAvcSicConfigureSkcINTEL: *hasResult = true; *hasResultType = true; break;
2772 case OpSubgroupAvcSicConfigureIpeLumaINTEL: *hasResult = true; *hasResultType = true; break;
2773 case OpSubgroupAvcSicConfigureIpeLumaChromaINTEL: *hasResult = true; *hasResultType = true; break;
2774 case OpSubgroupAvcSicGetMotionVectorMaskINTEL: *hasResult = true; *hasResultType = true; break;
2775 case OpSubgroupAvcSicConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
2776 case OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
2777 case OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
2778 case OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
2779 case OpSubgroupAvcSicSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break;
2780 case OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL: *hasResult = true; *hasResultType = true; break;
2781 case OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL: *hasResult = true; *hasResultType = true; break;
2782 case OpSubgroupAvcSicEvaluateIpeINTEL: *hasResult = true; *hasResultType = true; break;
2783 case OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
2784 case OpSubgroupAvcSicEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
2785 case OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break;
2786 case OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break;
2787 case OpSubgroupAvcSicConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
2788 case OpSubgroupAvcSicGetIpeLumaShapeINTEL: *hasResult = true; *hasResultType = true; break;
2789 case OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL: *hasResult = true; *hasResultType = true; break;
2790 case OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL: *hasResult = true; *hasResultType = true; break;
2791 case OpSubgroupAvcSicGetPackedIpeLumaModesINTEL: *hasResult = true; *hasResultType = true; break;
2792 case OpSubgroupAvcSicGetIpeChromaModeINTEL: *hasResult = true; *hasResultType = true; break;
2793 case OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: *hasResult = true; *hasResultType = true; break;
2794 case OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: *hasResult = true; *hasResultType = true; break;
2795 case OpSubgroupAvcSicGetInterRawSadsINTEL: *hasResult = true; *hasResultType = true; break;
2796 case OpVariableLengthArrayINTEL: *hasResult = true; *hasResultType = true; break;
2797 case OpSaveMemoryINTEL: *hasResult = true; *hasResultType = true; break;
2798 case OpRestoreMemoryINTEL: *hasResult = false; *hasResultType = false; break;
2799 case OpArbitraryFloatSinCosPiINTEL: *hasResult = true; *hasResultType = true; break;
2800 case OpArbitraryFloatCastINTEL: *hasResult = true; *hasResultType = true; break;
2801 case OpArbitraryFloatCastFromIntINTEL: *hasResult = true; *hasResultType = true; break;
2802 case OpArbitraryFloatCastToIntINTEL: *hasResult = true; *hasResultType = true; break;
2803 case OpArbitraryFloatAddINTEL: *hasResult = true; *hasResultType = true; break;
2804 case OpArbitraryFloatSubINTEL: *hasResult = true; *hasResultType = true; break;
2805 case OpArbitraryFloatMulINTEL: *hasResult = true; *hasResultType = true; break;
2806 case OpArbitraryFloatDivINTEL: *hasResult = true; *hasResultType = true; break;
2807 case OpArbitraryFloatGTINTEL: *hasResult = true; *hasResultType = true; break;
2808 case OpArbitraryFloatGEINTEL: *hasResult = true; *hasResultType = true; break;
2809 case OpArbitraryFloatLTINTEL: *hasResult = true; *hasResultType = true; break;
2810 case OpArbitraryFloatLEINTEL: *hasResult = true; *hasResultType = true; break;
2811 case OpArbitraryFloatEQINTEL: *hasResult = true; *hasResultType = true; break;
2812 case OpArbitraryFloatRecipINTEL: *hasResult = true; *hasResultType = true; break;
2813 case OpArbitraryFloatRSqrtINTEL: *hasResult = true; *hasResultType = true; break;
2814 case OpArbitraryFloatCbrtINTEL: *hasResult = true; *hasResultType = true; break;
2815 case OpArbitraryFloatHypotINTEL: *hasResult = true; *hasResultType = true; break;
2816 case OpArbitraryFloatSqrtINTEL: *hasResult = true; *hasResultType = true; break;
2817 case OpArbitraryFloatLogINTEL: *hasResult = true; *hasResultType = true; break;
2818 case OpArbitraryFloatLog2INTEL: *hasResult = true; *hasResultType = true; break;
2819 case OpArbitraryFloatLog10INTEL: *hasResult = true; *hasResultType = true; break;
2820 case OpArbitraryFloatLog1pINTEL: *hasResult = true; *hasResultType = true; break;
2821 case OpArbitraryFloatExpINTEL: *hasResult = true; *hasResultType = true; break;
2822 case OpArbitraryFloatExp2INTEL: *hasResult = true; *hasResultType = true; break;
2823 case OpArbitraryFloatExp10INTEL: *hasResult = true; *hasResultType = true; break;
2824 case OpArbitraryFloatExpm1INTEL: *hasResult = true; *hasResultType = true; break;
2825 case OpArbitraryFloatSinINTEL: *hasResult = true; *hasResultType = true; break;
2826 case OpArbitraryFloatCosINTEL: *hasResult = true; *hasResultType = true; break;
2827 case OpArbitraryFloatSinCosINTEL: *hasResult = true; *hasResultType = true; break;
2828 case OpArbitraryFloatSinPiINTEL: *hasResult = true; *hasResultType = true; break;
2829 case OpArbitraryFloatCosPiINTEL: *hasResult = true; *hasResultType = true; break;
2830 case OpArbitraryFloatASinINTEL: *hasResult = true; *hasResultType = true; break;
2831 case OpArbitraryFloatASinPiINTEL: *hasResult = true; *hasResultType = true; break;
2832 case OpArbitraryFloatACosINTEL: *hasResult = true; *hasResultType = true; break;
2833 case OpArbitraryFloatACosPiINTEL: *hasResult = true; *hasResultType = true; break;
2834 case OpArbitraryFloatATanINTEL: *hasResult = true; *hasResultType = true; break;
2835 case OpArbitraryFloatATanPiINTEL: *hasResult = true; *hasResultType = true; break;
2836 case OpArbitraryFloatATan2INTEL: *hasResult = true; *hasResultType = true; break;
2837 case OpArbitraryFloatPowINTEL: *hasResult = true; *hasResultType = true; break;
2838 case OpArbitraryFloatPowRINTEL: *hasResult = true; *hasResultType = true; break;
2839 case OpArbitraryFloatPowNINTEL: *hasResult = true; *hasResultType = true; break;
2840 case OpLoopControlINTEL: *hasResult = false; *hasResultType = false; break;
2841 case OpAliasDomainDeclINTEL: *hasResult = true; *hasResultType = false; break;
2842 case OpAliasScopeDeclINTEL: *hasResult = true; *hasResultType = false; break;
2843 case OpAliasScopeListDeclINTEL: *hasResult = true; *hasResultType = false; break;
2844 case OpFixedSqrtINTEL: *hasResult = true; *hasResultType = true; break;
2845 case OpFixedRecipINTEL: *hasResult = true; *hasResultType = true; break;
2846 case OpFixedRsqrtINTEL: *hasResult = true; *hasResultType = true; break;
2847 case OpFixedSinINTEL: *hasResult = true; *hasResultType = true; break;
2848 case OpFixedCosINTEL: *hasResult = true; *hasResultType = true; break;
2849 case OpFixedSinCosINTEL: *hasResult = true; *hasResultType = true; break;
2850 case OpFixedSinPiINTEL: *hasResult = true; *hasResultType = true; break;
2851 case OpFixedCosPiINTEL: *hasResult = true; *hasResultType = true; break;
2852 case OpFixedSinCosPiINTEL: *hasResult = true; *hasResultType = true; break;
2853 case OpFixedLogINTEL: *hasResult = true; *hasResultType = true; break;
2854 case OpFixedExpINTEL: *hasResult = true; *hasResultType = true; break;
2855 case OpPtrCastToCrossWorkgroupINTEL: *hasResult = true; *hasResultType = true; break;
2856 case OpCrossWorkgroupCastToPtrINTEL: *hasResult = true; *hasResultType = true; break;
2857 case OpReadPipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
2858 case OpWritePipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
2859 case OpFPGARegINTEL: *hasResult = true; *hasResultType = true; break;
2860 case OpRayQueryGetRayTMinKHR: *hasResult = true; *hasResultType = true; break;
2861 case OpRayQueryGetRayFlagsKHR: *hasResult = true; *hasResultType = true; break;
2862 case OpRayQueryGetIntersectionTKHR: *hasResult = true; *hasResultType = true; break;
2863 case OpRayQueryGetIntersectionInstanceCustomIndexKHR: *hasResult = true; *hasResultType = true; break;
2864 case OpRayQueryGetIntersectionInstanceIdKHR: *hasResult = true; *hasResultType = true; break;
2865 case OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR: *hasResult = true; *hasResultType = true; break;
2866 case OpRayQueryGetIntersectionGeometryIndexKHR: *hasResult = true; *hasResultType = true; break;
2867 case OpRayQueryGetIntersectionPrimitiveIndexKHR: *hasResult = true; *hasResultType = true; break;
2868 case OpRayQueryGetIntersectionBarycentricsKHR: *hasResult = true; *hasResultType = true; break;
2869 case OpRayQueryGetIntersectionFrontFaceKHR: *hasResult = true; *hasResultType = true; break;
2870 case OpRayQueryGetIntersectionCandidateAABBOpaqueKHR: *hasResult = true; *hasResultType = true; break;
2871 case OpRayQueryGetIntersectionObjectRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
2872 case OpRayQueryGetIntersectionObjectRayOriginKHR: *hasResult = true; *hasResultType = true; break;
2873 case OpRayQueryGetWorldRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
2874 case OpRayQueryGetWorldRayOriginKHR: *hasResult = true; *hasResultType = true; break;
2875 case OpRayQueryGetIntersectionObjectToWorldKHR: *hasResult = true; *hasResultType = true; break;
2876 case OpRayQueryGetIntersectionWorldToObjectKHR: *hasResult = true; *hasResultType = true; break;
2877 case OpAtomicFAddEXT: *hasResult = true; *hasResultType = true; break;
2878 case OpTypeBufferSurfaceINTEL: *hasResult = true; *hasResultType = false; break;
2879 case OpTypeStructContinuedINTEL: *hasResult = false; *hasResultType = false; break;
2880 case OpConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
2881 case OpSpecConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
2882 case OpCompositeConstructContinuedINTEL: *hasResult = true; *hasResultType = true; break;
2883 case OpConvertFToBF16INTEL: *hasResult = true; *hasResultType = true; break;
2884 case OpConvertBF16ToFINTEL: *hasResult = true; *hasResultType = true; break;
2885 case OpControlBarrierArriveINTEL: *hasResult = false; *hasResultType = false; break;
2886 case OpControlBarrierWaitINTEL: *hasResult = false; *hasResultType = false; break;
2887 case OpGroupIMulKHR: *hasResult = true; *hasResultType = true; break;
2888 case OpGroupFMulKHR: *hasResult = true; *hasResultType = true; break;
2889 case OpGroupBitwiseAndKHR: *hasResult = true; *hasResultType = true; break;
2890 case OpGroupBitwiseOrKHR: *hasResult = true; *hasResultType = true; break;
2891 case OpGroupBitwiseXorKHR: *hasResult = true; *hasResultType = true; break;
2892 case OpGroupLogicalAndKHR: *hasResult = true; *hasResultType = true; break;
2893 case OpGroupLogicalOrKHR: *hasResult = true; *hasResultType = true; break;
2894 case OpGroupLogicalXorKHR: *hasResult = true; *hasResultType = true; break;
2895 case OpMaskedGatherINTEL: *hasResult = true; *hasResultType = true; break;
2896 case OpMaskedScatterINTEL: *hasResult = false; *hasResultType = false; break;
2897 }
2898 }
SourceLanguageToString(SourceLanguage value)2899 inline 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
ExecutionModelToString(ExecutionModel value)2918 inline 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
AddressingModelToString(AddressingModel value)2941 inline 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
MemoryModelToString(MemoryModel value)2951 inline 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
ExecutionModeToString(ExecutionMode value)2961 inline 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
StorageClassToString(StorageClass value)3059 inline 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
DimToString(Dim value)3093 inline 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
SamplerAddressingModeToString(SamplerAddressingMode value)3107 inline 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
SamplerFilterModeToString(SamplerFilterMode value)3118 inline 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
ImageFormatToString(ImageFormat value)3126 inline 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
ImageChannelOrderToString(ImageChannelOrder value)3174 inline 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
ImageChannelDataTypeToString(ImageChannelDataType value)3200 inline 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
FPRoundingModeToString(FPRoundingMode value)3225 inline 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
LinkageTypeToString(LinkageType value)3235 inline 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
AccessQualifierToString(AccessQualifier value)3244 inline 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
FunctionParameterAttributeToString(FunctionParameterAttribute value)3253 inline 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
DecorationToString(Decoration value)3268 inline 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
BuiltInToString(BuiltIn value)3412 inline 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
ScopeToString(Scope value)3534 inline 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
GroupOperationToString(GroupOperation value)3547 inline 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
KernelEnqueueFlagsToString(KernelEnqueueFlags value)3560 inline 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
CapabilityToString(Capability value)3569 inline 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
RayQueryIntersectionToString(RayQueryIntersection value)3811 inline 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
RayQueryCommittedIntersectionTypeToString(RayQueryCommittedIntersectionType value)3819 inline 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
RayQueryCandidateIntersectionTypeToString(RayQueryCandidateIntersectionType value)3828 inline 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
FPDenormModeToString(FPDenormMode value)3836 inline 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
FPOperationModeToString(FPOperationMode value)3844 inline 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
QuantizationModesToString(QuantizationModes value)3852 inline 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
OverflowModesToString(OverflowModes value)3866 inline 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
PackedVectorFormatToString(PackedVectorFormat value)3876 inline const char* PackedVectorFormatToString(PackedVectorFormat value) {
3877 switch (value) {
3878 case PackedVectorFormatPackedVectorFormat4x8Bit: return "PackedVectorFormat4x8Bit";
3879 default: return "Unknown";
3880 }
3881 }
3882
CooperativeMatrixLayoutToString(CooperativeMatrixLayout value)3883 inline 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
CooperativeMatrixUseToString(CooperativeMatrixUse value)3893 inline 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
InitializationModeQualifierToString(InitializationModeQualifier value)3902 inline 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
HostAccessQualifierToString(HostAccessQualifier value)3910 inline 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
LoadCacheControlToString(LoadCacheControl value)3920 inline 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
StoreCacheControlToString(StoreCacheControl value)3931 inline 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
NamedMaximumNumberOfRegistersToString(NamedMaximumNumberOfRegisters value)3941 inline const char* NamedMaximumNumberOfRegistersToString(NamedMaximumNumberOfRegisters value) {
3942 switch (value) {
3943 case NamedMaximumNumberOfRegistersAutoINTEL: return "AutoINTEL";
3944 default: return "Unknown";
3945 }
3946 }
3947
OpToString(Op value)3948 inline 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
operator |(ImageOperandsMask a,ImageOperandsMask b)4684 inline ImageOperandsMask operator|(ImageOperandsMask a, ImageOperandsMask b) { return ImageOperandsMask(unsigned(a) | unsigned(b)); }
operator &(ImageOperandsMask a,ImageOperandsMask b)4685 inline ImageOperandsMask operator&(ImageOperandsMask a, ImageOperandsMask b) { return ImageOperandsMask(unsigned(a) & unsigned(b)); }
operator ^(ImageOperandsMask a,ImageOperandsMask b)4686 inline ImageOperandsMask operator^(ImageOperandsMask a, ImageOperandsMask b) { return ImageOperandsMask(unsigned(a) ^ unsigned(b)); }
operator ~(ImageOperandsMask a)4687 inline ImageOperandsMask operator~(ImageOperandsMask a) { return ImageOperandsMask(~unsigned(a)); }
operator |(FPFastMathModeMask a,FPFastMathModeMask b)4688 inline FPFastMathModeMask operator|(FPFastMathModeMask a, FPFastMathModeMask b) { return FPFastMathModeMask(unsigned(a) | unsigned(b)); }
operator &(FPFastMathModeMask a,FPFastMathModeMask b)4689 inline FPFastMathModeMask operator&(FPFastMathModeMask a, FPFastMathModeMask b) { return FPFastMathModeMask(unsigned(a) & unsigned(b)); }
operator ^(FPFastMathModeMask a,FPFastMathModeMask b)4690 inline FPFastMathModeMask operator^(FPFastMathModeMask a, FPFastMathModeMask b) { return FPFastMathModeMask(unsigned(a) ^ unsigned(b)); }
operator ~(FPFastMathModeMask a)4691 inline FPFastMathModeMask operator~(FPFastMathModeMask a) { return FPFastMathModeMask(~unsigned(a)); }
operator |(SelectionControlMask a,SelectionControlMask b)4692 inline SelectionControlMask operator|(SelectionControlMask a, SelectionControlMask b) { return SelectionControlMask(unsigned(a) | unsigned(b)); }
operator &(SelectionControlMask a,SelectionControlMask b)4693 inline SelectionControlMask operator&(SelectionControlMask a, SelectionControlMask b) { return SelectionControlMask(unsigned(a) & unsigned(b)); }
operator ^(SelectionControlMask a,SelectionControlMask b)4694 inline SelectionControlMask operator^(SelectionControlMask a, SelectionControlMask b) { return SelectionControlMask(unsigned(a) ^ unsigned(b)); }
operator ~(SelectionControlMask a)4695 inline SelectionControlMask operator~(SelectionControlMask a) { return SelectionControlMask(~unsigned(a)); }
operator |(LoopControlMask a,LoopControlMask b)4696 inline LoopControlMask operator|(LoopControlMask a, LoopControlMask b) { return LoopControlMask(unsigned(a) | unsigned(b)); }
operator &(LoopControlMask a,LoopControlMask b)4697 inline LoopControlMask operator&(LoopControlMask a, LoopControlMask b) { return LoopControlMask(unsigned(a) & unsigned(b)); }
operator ^(LoopControlMask a,LoopControlMask b)4698 inline LoopControlMask operator^(LoopControlMask a, LoopControlMask b) { return LoopControlMask(unsigned(a) ^ unsigned(b)); }
operator ~(LoopControlMask a)4699 inline LoopControlMask operator~(LoopControlMask a) { return LoopControlMask(~unsigned(a)); }
operator |(FunctionControlMask a,FunctionControlMask b)4700 inline FunctionControlMask operator|(FunctionControlMask a, FunctionControlMask b) { return FunctionControlMask(unsigned(a) | unsigned(b)); }
operator &(FunctionControlMask a,FunctionControlMask b)4701 inline FunctionControlMask operator&(FunctionControlMask a, FunctionControlMask b) { return FunctionControlMask(unsigned(a) & unsigned(b)); }
operator ^(FunctionControlMask a,FunctionControlMask b)4702 inline FunctionControlMask operator^(FunctionControlMask a, FunctionControlMask b) { return FunctionControlMask(unsigned(a) ^ unsigned(b)); }
operator ~(FunctionControlMask a)4703 inline FunctionControlMask operator~(FunctionControlMask a) { return FunctionControlMask(~unsigned(a)); }
operator |(MemorySemanticsMask a,MemorySemanticsMask b)4704 inline MemorySemanticsMask operator|(MemorySemanticsMask a, MemorySemanticsMask b) { return MemorySemanticsMask(unsigned(a) | unsigned(b)); }
operator &(MemorySemanticsMask a,MemorySemanticsMask b)4705 inline MemorySemanticsMask operator&(MemorySemanticsMask a, MemorySemanticsMask b) { return MemorySemanticsMask(unsigned(a) & unsigned(b)); }
operator ^(MemorySemanticsMask a,MemorySemanticsMask b)4706 inline MemorySemanticsMask operator^(MemorySemanticsMask a, MemorySemanticsMask b) { return MemorySemanticsMask(unsigned(a) ^ unsigned(b)); }
operator ~(MemorySemanticsMask a)4707 inline MemorySemanticsMask operator~(MemorySemanticsMask a) { return MemorySemanticsMask(~unsigned(a)); }
operator |(MemoryAccessMask a,MemoryAccessMask b)4708 inline MemoryAccessMask operator|(MemoryAccessMask a, MemoryAccessMask b) { return MemoryAccessMask(unsigned(a) | unsigned(b)); }
operator &(MemoryAccessMask a,MemoryAccessMask b)4709 inline MemoryAccessMask operator&(MemoryAccessMask a, MemoryAccessMask b) { return MemoryAccessMask(unsigned(a) & unsigned(b)); }
operator ^(MemoryAccessMask a,MemoryAccessMask b)4710 inline MemoryAccessMask operator^(MemoryAccessMask a, MemoryAccessMask b) { return MemoryAccessMask(unsigned(a) ^ unsigned(b)); }
operator ~(MemoryAccessMask a)4711 inline MemoryAccessMask operator~(MemoryAccessMask a) { return MemoryAccessMask(~unsigned(a)); }
operator |(KernelProfilingInfoMask a,KernelProfilingInfoMask b)4712 inline KernelProfilingInfoMask operator|(KernelProfilingInfoMask a, KernelProfilingInfoMask b) { return KernelProfilingInfoMask(unsigned(a) | unsigned(b)); }
operator &(KernelProfilingInfoMask a,KernelProfilingInfoMask b)4713 inline KernelProfilingInfoMask operator&(KernelProfilingInfoMask a, KernelProfilingInfoMask b) { return KernelProfilingInfoMask(unsigned(a) & unsigned(b)); }
operator ^(KernelProfilingInfoMask a,KernelProfilingInfoMask b)4714 inline KernelProfilingInfoMask operator^(KernelProfilingInfoMask a, KernelProfilingInfoMask b) { return KernelProfilingInfoMask(unsigned(a) ^ unsigned(b)); }
operator ~(KernelProfilingInfoMask a)4715 inline KernelProfilingInfoMask operator~(KernelProfilingInfoMask a) { return KernelProfilingInfoMask(~unsigned(a)); }
operator |(RayFlagsMask a,RayFlagsMask b)4716 inline RayFlagsMask operator|(RayFlagsMask a, RayFlagsMask b) { return RayFlagsMask(unsigned(a) | unsigned(b)); }
operator &(RayFlagsMask a,RayFlagsMask b)4717 inline RayFlagsMask operator&(RayFlagsMask a, RayFlagsMask b) { return RayFlagsMask(unsigned(a) & unsigned(b)); }
operator ^(RayFlagsMask a,RayFlagsMask b)4718 inline RayFlagsMask operator^(RayFlagsMask a, RayFlagsMask b) { return RayFlagsMask(unsigned(a) ^ unsigned(b)); }
operator ~(RayFlagsMask a)4719 inline RayFlagsMask operator~(RayFlagsMask a) { return RayFlagsMask(~unsigned(a)); }
operator |(FragmentShadingRateMask a,FragmentShadingRateMask b)4720 inline FragmentShadingRateMask operator|(FragmentShadingRateMask a, FragmentShadingRateMask b) { return FragmentShadingRateMask(unsigned(a) | unsigned(b)); }
operator &(FragmentShadingRateMask a,FragmentShadingRateMask b)4721 inline FragmentShadingRateMask operator&(FragmentShadingRateMask a, FragmentShadingRateMask b) { return FragmentShadingRateMask(unsigned(a) & unsigned(b)); }
operator ^(FragmentShadingRateMask a,FragmentShadingRateMask b)4722 inline FragmentShadingRateMask operator^(FragmentShadingRateMask a, FragmentShadingRateMask b) { return FragmentShadingRateMask(unsigned(a) ^ unsigned(b)); }
operator ~(FragmentShadingRateMask a)4723 inline FragmentShadingRateMask operator~(FragmentShadingRateMask a) { return FragmentShadingRateMask(~unsigned(a)); }
operator |(CooperativeMatrixOperandsMask a,CooperativeMatrixOperandsMask b)4724 inline CooperativeMatrixOperandsMask operator|(CooperativeMatrixOperandsMask a, CooperativeMatrixOperandsMask b) { return CooperativeMatrixOperandsMask(unsigned(a) | unsigned(b)); }
operator &(CooperativeMatrixOperandsMask a,CooperativeMatrixOperandsMask b)4725 inline CooperativeMatrixOperandsMask operator&(CooperativeMatrixOperandsMask a, CooperativeMatrixOperandsMask b) { return CooperativeMatrixOperandsMask(unsigned(a) & unsigned(b)); }
operator ^(CooperativeMatrixOperandsMask a,CooperativeMatrixOperandsMask b)4726 inline CooperativeMatrixOperandsMask operator^(CooperativeMatrixOperandsMask a, CooperativeMatrixOperandsMask b) { return CooperativeMatrixOperandsMask(unsigned(a) ^ unsigned(b)); }
operator ~(CooperativeMatrixOperandsMask a)4727 inline CooperativeMatrixOperandsMask operator~(CooperativeMatrixOperandsMask a) { return CooperativeMatrixOperandsMask(~unsigned(a)); }
operator |(RawAccessChainOperandsMask a,RawAccessChainOperandsMask b)4728 inline RawAccessChainOperandsMask operator|(RawAccessChainOperandsMask a, RawAccessChainOperandsMask b) { return RawAccessChainOperandsMask(unsigned(a) | unsigned(b)); }
operator &(RawAccessChainOperandsMask a,RawAccessChainOperandsMask b)4729 inline RawAccessChainOperandsMask operator&(RawAccessChainOperandsMask a, RawAccessChainOperandsMask b) { return RawAccessChainOperandsMask(unsigned(a) & unsigned(b)); }
operator ^(RawAccessChainOperandsMask a,RawAccessChainOperandsMask b)4730 inline RawAccessChainOperandsMask operator^(RawAccessChainOperandsMask a, RawAccessChainOperandsMask b) { return RawAccessChainOperandsMask(unsigned(a) ^ unsigned(b)); }
operator ~(RawAccessChainOperandsMask a)4731 inline RawAccessChainOperandsMask operator~(RawAccessChainOperandsMask a) { return RawAccessChainOperandsMask(~unsigned(a)); }
4732
4733 } // end namespace spv
4734
4735 #endif // #ifndef spirv_HPP
4736
4737