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