1 /*
2 ** Copyright (c) 2014-2024 The Khronos Group Inc.
3 **
4 ** Permission is hereby granted, free of charge, to any person obtaining a copy
5 ** of this software and/or associated documentation files (the "Materials"),
6 ** to deal in the Materials without restriction, including without limitation
7 ** the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 ** and/or sell copies of the Materials, and to permit persons to whom the
9 ** Materials are furnished to do so, subject to the following conditions:
10 **
11 ** The above copyright notice and this permission notice shall be included in
12 ** all copies or substantial portions of the Materials.
13 **
14 ** MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS
15 ** STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND
16 ** HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/
17 **
18 ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
19 ** OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 ** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
21 ** THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 ** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
23 ** FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS
24 ** IN THE MATERIALS.
25 */
26
27 /*
28 ** This header is automatically generated by the same tool that creates
29 ** the Binary Section of the SPIR-V specification.
30 */
31
32 /*
33 ** Enumeration tokens for SPIR-V, in various styles:
34 ** C, C++, C++11, JSON, Lua, Python, C#, D, Beef
35 **
36 ** - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
37 ** - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
38 ** - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL
39 ** - Lua will use tables, e.g.: spv.SourceLanguage.GLSL
40 ** - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']
41 ** - C# will use enum classes in the Specification class located in the "Spv" namespace,
42 ** e.g.: Spv.Specification.SourceLanguage.GLSL
43 ** - D will have tokens under the "spv" module, e.g: spv.SourceLanguage.GLSL
44 ** - Beef will use enum classes in the Specification class located in the "Spv" namespace,
45 ** e.g.: Spv.Specification.SourceLanguage.GLSL
46 **
47 ** Some tokens act like mask values, which can be OR'd together,
48 ** while others are mutually exclusive. The mask-like ones have
49 ** "Mask" in their name, and a parallel enum that has the shift
50 ** amount (1 << x) for each corresponding enumerant.
51 */
52
53 #ifndef spirv_H
54 #define spirv_H
55
56 typedef unsigned int SpvId;
57
58 #define SPV_VERSION 0x10600
59 #define SPV_REVISION 1
60
61 static const unsigned int SpvMagicNumber = 0x07230203;
62 static const unsigned int SpvVersion = 0x00010600;
63 static const unsigned int SpvRevision = 1;
64 static const unsigned int SpvOpCodeMask = 0xffff;
65 static const unsigned int SpvWordCountShift = 16;
66
67 typedef enum SpvSourceLanguage_ {
68 SpvSourceLanguageUnknown = 0,
69 SpvSourceLanguageESSL = 1,
70 SpvSourceLanguageGLSL = 2,
71 SpvSourceLanguageOpenCL_C = 3,
72 SpvSourceLanguageOpenCL_CPP = 4,
73 SpvSourceLanguageHLSL = 5,
74 SpvSourceLanguageCPP_for_OpenCL = 6,
75 SpvSourceLanguageSYCL = 7,
76 SpvSourceLanguageHERO_C = 8,
77 SpvSourceLanguageNZSL = 9,
78 SpvSourceLanguageWGSL = 10,
79 SpvSourceLanguageSlang = 11,
80 SpvSourceLanguageZig = 12,
81 SpvSourceLanguageMax = 0x7fffffff,
82 } SpvSourceLanguage;
83
84 typedef enum SpvExecutionModel_ {
85 SpvExecutionModelVertex = 0,
86 SpvExecutionModelTessellationControl = 1,
87 SpvExecutionModelTessellationEvaluation = 2,
88 SpvExecutionModelGeometry = 3,
89 SpvExecutionModelFragment = 4,
90 SpvExecutionModelGLCompute = 5,
91 SpvExecutionModelKernel = 6,
92 SpvExecutionModelTaskNV = 5267,
93 SpvExecutionModelMeshNV = 5268,
94 SpvExecutionModelRayGenerationKHR = 5313,
95 SpvExecutionModelRayGenerationNV = 5313,
96 SpvExecutionModelIntersectionKHR = 5314,
97 SpvExecutionModelIntersectionNV = 5314,
98 SpvExecutionModelAnyHitKHR = 5315,
99 SpvExecutionModelAnyHitNV = 5315,
100 SpvExecutionModelClosestHitKHR = 5316,
101 SpvExecutionModelClosestHitNV = 5316,
102 SpvExecutionModelMissKHR = 5317,
103 SpvExecutionModelMissNV = 5317,
104 SpvExecutionModelCallableKHR = 5318,
105 SpvExecutionModelCallableNV = 5318,
106 SpvExecutionModelTaskEXT = 5364,
107 SpvExecutionModelMeshEXT = 5365,
108 SpvExecutionModelMax = 0x7fffffff,
109 } SpvExecutionModel;
110
111 typedef enum SpvAddressingModel_ {
112 SpvAddressingModelLogical = 0,
113 SpvAddressingModelPhysical32 = 1,
114 SpvAddressingModelPhysical64 = 2,
115 SpvAddressingModelPhysicalStorageBuffer64 = 5348,
116 SpvAddressingModelPhysicalStorageBuffer64EXT = 5348,
117 SpvAddressingModelMax = 0x7fffffff,
118 } SpvAddressingModel;
119
120 typedef enum SpvMemoryModel_ {
121 SpvMemoryModelSimple = 0,
122 SpvMemoryModelGLSL450 = 1,
123 SpvMemoryModelOpenCL = 2,
124 SpvMemoryModelVulkan = 3,
125 SpvMemoryModelVulkanKHR = 3,
126 SpvMemoryModelMax = 0x7fffffff,
127 } SpvMemoryModel;
128
129 typedef enum SpvExecutionMode_ {
130 SpvExecutionModeInvocations = 0,
131 SpvExecutionModeSpacingEqual = 1,
132 SpvExecutionModeSpacingFractionalEven = 2,
133 SpvExecutionModeSpacingFractionalOdd = 3,
134 SpvExecutionModeVertexOrderCw = 4,
135 SpvExecutionModeVertexOrderCcw = 5,
136 SpvExecutionModePixelCenterInteger = 6,
137 SpvExecutionModeOriginUpperLeft = 7,
138 SpvExecutionModeOriginLowerLeft = 8,
139 SpvExecutionModeEarlyFragmentTests = 9,
140 SpvExecutionModePointMode = 10,
141 SpvExecutionModeXfb = 11,
142 SpvExecutionModeDepthReplacing = 12,
143 SpvExecutionModeDepthGreater = 14,
144 SpvExecutionModeDepthLess = 15,
145 SpvExecutionModeDepthUnchanged = 16,
146 SpvExecutionModeLocalSize = 17,
147 SpvExecutionModeLocalSizeHint = 18,
148 SpvExecutionModeInputPoints = 19,
149 SpvExecutionModeInputLines = 20,
150 SpvExecutionModeInputLinesAdjacency = 21,
151 SpvExecutionModeTriangles = 22,
152 SpvExecutionModeInputTrianglesAdjacency = 23,
153 SpvExecutionModeQuads = 24,
154 SpvExecutionModeIsolines = 25,
155 SpvExecutionModeOutputVertices = 26,
156 SpvExecutionModeOutputPoints = 27,
157 SpvExecutionModeOutputLineStrip = 28,
158 SpvExecutionModeOutputTriangleStrip = 29,
159 SpvExecutionModeVecTypeHint = 30,
160 SpvExecutionModeContractionOff = 31,
161 SpvExecutionModeInitializer = 33,
162 SpvExecutionModeFinalizer = 34,
163 SpvExecutionModeSubgroupSize = 35,
164 SpvExecutionModeSubgroupsPerWorkgroup = 36,
165 SpvExecutionModeSubgroupsPerWorkgroupId = 37,
166 SpvExecutionModeLocalSizeId = 38,
167 SpvExecutionModeLocalSizeHintId = 39,
168 SpvExecutionModeNonCoherentColorAttachmentReadEXT = 4169,
169 SpvExecutionModeNonCoherentDepthAttachmentReadEXT = 4170,
170 SpvExecutionModeNonCoherentStencilAttachmentReadEXT = 4171,
171 SpvExecutionModeSubgroupUniformControlFlowKHR = 4421,
172 SpvExecutionModePostDepthCoverage = 4446,
173 SpvExecutionModeDenormPreserve = 4459,
174 SpvExecutionModeDenormFlushToZero = 4460,
175 SpvExecutionModeSignedZeroInfNanPreserve = 4461,
176 SpvExecutionModeRoundingModeRTE = 4462,
177 SpvExecutionModeRoundingModeRTZ = 4463,
178 SpvExecutionModeEarlyAndLateFragmentTestsAMD = 5017,
179 SpvExecutionModeStencilRefReplacingEXT = 5027,
180 SpvExecutionModeCoalescingAMDX = 5069,
181 SpvExecutionModeIsApiEntryAMDX = 5070,
182 SpvExecutionModeMaxNodeRecursionAMDX = 5071,
183 SpvExecutionModeStaticNumWorkgroupsAMDX = 5072,
184 SpvExecutionModeShaderIndexAMDX = 5073,
185 SpvExecutionModeMaxNumWorkgroupsAMDX = 5077,
186 SpvExecutionModeStencilRefUnchangedFrontAMD = 5079,
187 SpvExecutionModeStencilRefGreaterFrontAMD = 5080,
188 SpvExecutionModeStencilRefLessFrontAMD = 5081,
189 SpvExecutionModeStencilRefUnchangedBackAMD = 5082,
190 SpvExecutionModeStencilRefGreaterBackAMD = 5083,
191 SpvExecutionModeStencilRefLessBackAMD = 5084,
192 SpvExecutionModeQuadDerivativesKHR = 5088,
193 SpvExecutionModeRequireFullQuadsKHR = 5089,
194 SpvExecutionModeSharesInputWithAMDX = 5102,
195 SpvExecutionModeOutputLinesEXT = 5269,
196 SpvExecutionModeOutputLinesNV = 5269,
197 SpvExecutionModeOutputPrimitivesEXT = 5270,
198 SpvExecutionModeOutputPrimitivesNV = 5270,
199 SpvExecutionModeDerivativeGroupQuadsKHR = 5289,
200 SpvExecutionModeDerivativeGroupQuadsNV = 5289,
201 SpvExecutionModeDerivativeGroupLinearKHR = 5290,
202 SpvExecutionModeDerivativeGroupLinearNV = 5290,
203 SpvExecutionModeOutputTrianglesEXT = 5298,
204 SpvExecutionModeOutputTrianglesNV = 5298,
205 SpvExecutionModePixelInterlockOrderedEXT = 5366,
206 SpvExecutionModePixelInterlockUnorderedEXT = 5367,
207 SpvExecutionModeSampleInterlockOrderedEXT = 5368,
208 SpvExecutionModeSampleInterlockUnorderedEXT = 5369,
209 SpvExecutionModeShadingRateInterlockOrderedEXT = 5370,
210 SpvExecutionModeShadingRateInterlockUnorderedEXT = 5371,
211 SpvExecutionModeSharedLocalMemorySizeINTEL = 5618,
212 SpvExecutionModeRoundingModeRTPINTEL = 5620,
213 SpvExecutionModeRoundingModeRTNINTEL = 5621,
214 SpvExecutionModeFloatingPointModeALTINTEL = 5622,
215 SpvExecutionModeFloatingPointModeIEEEINTEL = 5623,
216 SpvExecutionModeMaxWorkgroupSizeINTEL = 5893,
217 SpvExecutionModeMaxWorkDimINTEL = 5894,
218 SpvExecutionModeNoGlobalOffsetINTEL = 5895,
219 SpvExecutionModeNumSIMDWorkitemsINTEL = 5896,
220 SpvExecutionModeSchedulerTargetFmaxMhzINTEL = 5903,
221 SpvExecutionModeMaximallyReconvergesKHR = 6023,
222 SpvExecutionModeFPFastMathDefault = 6028,
223 SpvExecutionModeStreamingInterfaceINTEL = 6154,
224 SpvExecutionModeRegisterMapInterfaceINTEL = 6160,
225 SpvExecutionModeNamedBarrierCountINTEL = 6417,
226 SpvExecutionModeMaximumRegistersINTEL = 6461,
227 SpvExecutionModeMaximumRegistersIdINTEL = 6462,
228 SpvExecutionModeNamedMaximumRegistersINTEL = 6463,
229 SpvExecutionModeMax = 0x7fffffff,
230 } SpvExecutionMode;
231
232 typedef enum SpvStorageClass_ {
233 SpvStorageClassUniformConstant = 0,
234 SpvStorageClassInput = 1,
235 SpvStorageClassUniform = 2,
236 SpvStorageClassOutput = 3,
237 SpvStorageClassWorkgroup = 4,
238 SpvStorageClassCrossWorkgroup = 5,
239 SpvStorageClassPrivate = 6,
240 SpvStorageClassFunction = 7,
241 SpvStorageClassGeneric = 8,
242 SpvStorageClassPushConstant = 9,
243 SpvStorageClassAtomicCounter = 10,
244 SpvStorageClassImage = 11,
245 SpvStorageClassStorageBuffer = 12,
246 SpvStorageClassTileImageEXT = 4172,
247 SpvStorageClassNodePayloadAMDX = 5068,
248 SpvStorageClassCallableDataKHR = 5328,
249 SpvStorageClassCallableDataNV = 5328,
250 SpvStorageClassIncomingCallableDataKHR = 5329,
251 SpvStorageClassIncomingCallableDataNV = 5329,
252 SpvStorageClassRayPayloadKHR = 5338,
253 SpvStorageClassRayPayloadNV = 5338,
254 SpvStorageClassHitAttributeKHR = 5339,
255 SpvStorageClassHitAttributeNV = 5339,
256 SpvStorageClassIncomingRayPayloadKHR = 5342,
257 SpvStorageClassIncomingRayPayloadNV = 5342,
258 SpvStorageClassShaderRecordBufferKHR = 5343,
259 SpvStorageClassShaderRecordBufferNV = 5343,
260 SpvStorageClassPhysicalStorageBuffer = 5349,
261 SpvStorageClassPhysicalStorageBufferEXT = 5349,
262 SpvStorageClassHitObjectAttributeNV = 5385,
263 SpvStorageClassTaskPayloadWorkgroupEXT = 5402,
264 SpvStorageClassCodeSectionINTEL = 5605,
265 SpvStorageClassDeviceOnlyINTEL = 5936,
266 SpvStorageClassHostOnlyINTEL = 5937,
267 SpvStorageClassMax = 0x7fffffff,
268 } SpvStorageClass;
269
270 typedef enum SpvDim_ {
271 SpvDim1D = 0,
272 SpvDim2D = 1,
273 SpvDim3D = 2,
274 SpvDimCube = 3,
275 SpvDimRect = 4,
276 SpvDimBuffer = 5,
277 SpvDimSubpassData = 6,
278 SpvDimTileImageDataEXT = 4173,
279 SpvDimMax = 0x7fffffff,
280 } SpvDim;
281
282 typedef enum SpvSamplerAddressingMode_ {
283 SpvSamplerAddressingModeNone = 0,
284 SpvSamplerAddressingModeClampToEdge = 1,
285 SpvSamplerAddressingModeClamp = 2,
286 SpvSamplerAddressingModeRepeat = 3,
287 SpvSamplerAddressingModeRepeatMirrored = 4,
288 SpvSamplerAddressingModeMax = 0x7fffffff,
289 } SpvSamplerAddressingMode;
290
291 typedef enum SpvSamplerFilterMode_ {
292 SpvSamplerFilterModeNearest = 0,
293 SpvSamplerFilterModeLinear = 1,
294 SpvSamplerFilterModeMax = 0x7fffffff,
295 } SpvSamplerFilterMode;
296
297 typedef enum SpvImageFormat_ {
298 SpvImageFormatUnknown = 0,
299 SpvImageFormatRgba32f = 1,
300 SpvImageFormatRgba16f = 2,
301 SpvImageFormatR32f = 3,
302 SpvImageFormatRgba8 = 4,
303 SpvImageFormatRgba8Snorm = 5,
304 SpvImageFormatRg32f = 6,
305 SpvImageFormatRg16f = 7,
306 SpvImageFormatR11fG11fB10f = 8,
307 SpvImageFormatR16f = 9,
308 SpvImageFormatRgba16 = 10,
309 SpvImageFormatRgb10A2 = 11,
310 SpvImageFormatRg16 = 12,
311 SpvImageFormatRg8 = 13,
312 SpvImageFormatR16 = 14,
313 SpvImageFormatR8 = 15,
314 SpvImageFormatRgba16Snorm = 16,
315 SpvImageFormatRg16Snorm = 17,
316 SpvImageFormatRg8Snorm = 18,
317 SpvImageFormatR16Snorm = 19,
318 SpvImageFormatR8Snorm = 20,
319 SpvImageFormatRgba32i = 21,
320 SpvImageFormatRgba16i = 22,
321 SpvImageFormatRgba8i = 23,
322 SpvImageFormatR32i = 24,
323 SpvImageFormatRg32i = 25,
324 SpvImageFormatRg16i = 26,
325 SpvImageFormatRg8i = 27,
326 SpvImageFormatR16i = 28,
327 SpvImageFormatR8i = 29,
328 SpvImageFormatRgba32ui = 30,
329 SpvImageFormatRgba16ui = 31,
330 SpvImageFormatRgba8ui = 32,
331 SpvImageFormatR32ui = 33,
332 SpvImageFormatRgb10a2ui = 34,
333 SpvImageFormatRg32ui = 35,
334 SpvImageFormatRg16ui = 36,
335 SpvImageFormatRg8ui = 37,
336 SpvImageFormatR16ui = 38,
337 SpvImageFormatR8ui = 39,
338 SpvImageFormatR64ui = 40,
339 SpvImageFormatR64i = 41,
340 SpvImageFormatMax = 0x7fffffff,
341 } SpvImageFormat;
342
343 typedef enum SpvImageChannelOrder_ {
344 SpvImageChannelOrderR = 0,
345 SpvImageChannelOrderA = 1,
346 SpvImageChannelOrderRG = 2,
347 SpvImageChannelOrderRA = 3,
348 SpvImageChannelOrderRGB = 4,
349 SpvImageChannelOrderRGBA = 5,
350 SpvImageChannelOrderBGRA = 6,
351 SpvImageChannelOrderARGB = 7,
352 SpvImageChannelOrderIntensity = 8,
353 SpvImageChannelOrderLuminance = 9,
354 SpvImageChannelOrderRx = 10,
355 SpvImageChannelOrderRGx = 11,
356 SpvImageChannelOrderRGBx = 12,
357 SpvImageChannelOrderDepth = 13,
358 SpvImageChannelOrderDepthStencil = 14,
359 SpvImageChannelOrdersRGB = 15,
360 SpvImageChannelOrdersRGBx = 16,
361 SpvImageChannelOrdersRGBA = 17,
362 SpvImageChannelOrdersBGRA = 18,
363 SpvImageChannelOrderABGR = 19,
364 SpvImageChannelOrderMax = 0x7fffffff,
365 } SpvImageChannelOrder;
366
367 typedef enum SpvImageChannelDataType_ {
368 SpvImageChannelDataTypeSnormInt8 = 0,
369 SpvImageChannelDataTypeSnormInt16 = 1,
370 SpvImageChannelDataTypeUnormInt8 = 2,
371 SpvImageChannelDataTypeUnormInt16 = 3,
372 SpvImageChannelDataTypeUnormShort565 = 4,
373 SpvImageChannelDataTypeUnormShort555 = 5,
374 SpvImageChannelDataTypeUnormInt101010 = 6,
375 SpvImageChannelDataTypeSignedInt8 = 7,
376 SpvImageChannelDataTypeSignedInt16 = 8,
377 SpvImageChannelDataTypeSignedInt32 = 9,
378 SpvImageChannelDataTypeUnsignedInt8 = 10,
379 SpvImageChannelDataTypeUnsignedInt16 = 11,
380 SpvImageChannelDataTypeUnsignedInt32 = 12,
381 SpvImageChannelDataTypeHalfFloat = 13,
382 SpvImageChannelDataTypeFloat = 14,
383 SpvImageChannelDataTypeUnormInt24 = 15,
384 SpvImageChannelDataTypeUnormInt101010_2 = 16,
385 SpvImageChannelDataTypeUnsignedIntRaw10EXT = 19,
386 SpvImageChannelDataTypeUnsignedIntRaw12EXT = 20,
387 SpvImageChannelDataTypeUnormInt2_101010EXT = 21,
388 SpvImageChannelDataTypeMax = 0x7fffffff,
389 } SpvImageChannelDataType;
390
391 typedef enum SpvImageOperandsShift_ {
392 SpvImageOperandsBiasShift = 0,
393 SpvImageOperandsLodShift = 1,
394 SpvImageOperandsGradShift = 2,
395 SpvImageOperandsConstOffsetShift = 3,
396 SpvImageOperandsOffsetShift = 4,
397 SpvImageOperandsConstOffsetsShift = 5,
398 SpvImageOperandsSampleShift = 6,
399 SpvImageOperandsMinLodShift = 7,
400 SpvImageOperandsMakeTexelAvailableShift = 8,
401 SpvImageOperandsMakeTexelAvailableKHRShift = 8,
402 SpvImageOperandsMakeTexelVisibleShift = 9,
403 SpvImageOperandsMakeTexelVisibleKHRShift = 9,
404 SpvImageOperandsNonPrivateTexelShift = 10,
405 SpvImageOperandsNonPrivateTexelKHRShift = 10,
406 SpvImageOperandsVolatileTexelShift = 11,
407 SpvImageOperandsVolatileTexelKHRShift = 11,
408 SpvImageOperandsSignExtendShift = 12,
409 SpvImageOperandsZeroExtendShift = 13,
410 SpvImageOperandsNontemporalShift = 14,
411 SpvImageOperandsOffsetsShift = 16,
412 SpvImageOperandsMax = 0x7fffffff,
413 } SpvImageOperandsShift;
414
415 typedef enum SpvImageOperandsMask_ {
416 SpvImageOperandsMaskNone = 0,
417 SpvImageOperandsBiasMask = 0x00000001,
418 SpvImageOperandsLodMask = 0x00000002,
419 SpvImageOperandsGradMask = 0x00000004,
420 SpvImageOperandsConstOffsetMask = 0x00000008,
421 SpvImageOperandsOffsetMask = 0x00000010,
422 SpvImageOperandsConstOffsetsMask = 0x00000020,
423 SpvImageOperandsSampleMask = 0x00000040,
424 SpvImageOperandsMinLodMask = 0x00000080,
425 SpvImageOperandsMakeTexelAvailableMask = 0x00000100,
426 SpvImageOperandsMakeTexelAvailableKHRMask = 0x00000100,
427 SpvImageOperandsMakeTexelVisibleMask = 0x00000200,
428 SpvImageOperandsMakeTexelVisibleKHRMask = 0x00000200,
429 SpvImageOperandsNonPrivateTexelMask = 0x00000400,
430 SpvImageOperandsNonPrivateTexelKHRMask = 0x00000400,
431 SpvImageOperandsVolatileTexelMask = 0x00000800,
432 SpvImageOperandsVolatileTexelKHRMask = 0x00000800,
433 SpvImageOperandsSignExtendMask = 0x00001000,
434 SpvImageOperandsZeroExtendMask = 0x00002000,
435 SpvImageOperandsNontemporalMask = 0x00004000,
436 SpvImageOperandsOffsetsMask = 0x00010000,
437 } SpvImageOperandsMask;
438
439 typedef enum SpvFPFastMathModeShift_ {
440 SpvFPFastMathModeNotNaNShift = 0,
441 SpvFPFastMathModeNotInfShift = 1,
442 SpvFPFastMathModeNSZShift = 2,
443 SpvFPFastMathModeAllowRecipShift = 3,
444 SpvFPFastMathModeFastShift = 4,
445 SpvFPFastMathModeAllowContractShift = 16,
446 SpvFPFastMathModeAllowContractFastINTELShift = 16,
447 SpvFPFastMathModeAllowReassocShift = 17,
448 SpvFPFastMathModeAllowReassocINTELShift = 17,
449 SpvFPFastMathModeAllowTransformShift = 18,
450 SpvFPFastMathModeMax = 0x7fffffff,
451 } SpvFPFastMathModeShift;
452
453 typedef enum SpvFPFastMathModeMask_ {
454 SpvFPFastMathModeMaskNone = 0,
455 SpvFPFastMathModeNotNaNMask = 0x00000001,
456 SpvFPFastMathModeNotInfMask = 0x00000002,
457 SpvFPFastMathModeNSZMask = 0x00000004,
458 SpvFPFastMathModeAllowRecipMask = 0x00000008,
459 SpvFPFastMathModeFastMask = 0x00000010,
460 SpvFPFastMathModeAllowContractMask = 0x00010000,
461 SpvFPFastMathModeAllowContractFastINTELMask = 0x00010000,
462 SpvFPFastMathModeAllowReassocMask = 0x00020000,
463 SpvFPFastMathModeAllowReassocINTELMask = 0x00020000,
464 SpvFPFastMathModeAllowTransformMask = 0x00040000,
465 } SpvFPFastMathModeMask;
466
467 typedef enum SpvFPRoundingMode_ {
468 SpvFPRoundingModeRTE = 0,
469 SpvFPRoundingModeRTZ = 1,
470 SpvFPRoundingModeRTP = 2,
471 SpvFPRoundingModeRTN = 3,
472 SpvFPRoundingModeMax = 0x7fffffff,
473 } SpvFPRoundingMode;
474
475 typedef enum SpvLinkageType_ {
476 SpvLinkageTypeExport = 0,
477 SpvLinkageTypeImport = 1,
478 SpvLinkageTypeLinkOnceODR = 2,
479 SpvLinkageTypeMax = 0x7fffffff,
480 } SpvLinkageType;
481
482 typedef enum SpvAccessQualifier_ {
483 SpvAccessQualifierReadOnly = 0,
484 SpvAccessQualifierWriteOnly = 1,
485 SpvAccessQualifierReadWrite = 2,
486 SpvAccessQualifierMax = 0x7fffffff,
487 } SpvAccessQualifier;
488
489 typedef enum SpvFunctionParameterAttribute_ {
490 SpvFunctionParameterAttributeZext = 0,
491 SpvFunctionParameterAttributeSext = 1,
492 SpvFunctionParameterAttributeByVal = 2,
493 SpvFunctionParameterAttributeSret = 3,
494 SpvFunctionParameterAttributeNoAlias = 4,
495 SpvFunctionParameterAttributeNoCapture = 5,
496 SpvFunctionParameterAttributeNoWrite = 6,
497 SpvFunctionParameterAttributeNoReadWrite = 7,
498 SpvFunctionParameterAttributeRuntimeAlignedINTEL = 5940,
499 SpvFunctionParameterAttributeMax = 0x7fffffff,
500 } SpvFunctionParameterAttribute;
501
502 typedef enum SpvDecoration_ {
503 SpvDecorationRelaxedPrecision = 0,
504 SpvDecorationSpecId = 1,
505 SpvDecorationBlock = 2,
506 SpvDecorationBufferBlock = 3,
507 SpvDecorationRowMajor = 4,
508 SpvDecorationColMajor = 5,
509 SpvDecorationArrayStride = 6,
510 SpvDecorationMatrixStride = 7,
511 SpvDecorationGLSLShared = 8,
512 SpvDecorationGLSLPacked = 9,
513 SpvDecorationCPacked = 10,
514 SpvDecorationBuiltIn = 11,
515 SpvDecorationNoPerspective = 13,
516 SpvDecorationFlat = 14,
517 SpvDecorationPatch = 15,
518 SpvDecorationCentroid = 16,
519 SpvDecorationSample = 17,
520 SpvDecorationInvariant = 18,
521 SpvDecorationRestrict = 19,
522 SpvDecorationAliased = 20,
523 SpvDecorationVolatile = 21,
524 SpvDecorationConstant = 22,
525 SpvDecorationCoherent = 23,
526 SpvDecorationNonWritable = 24,
527 SpvDecorationNonReadable = 25,
528 SpvDecorationUniform = 26,
529 SpvDecorationUniformId = 27,
530 SpvDecorationSaturatedConversion = 28,
531 SpvDecorationStream = 29,
532 SpvDecorationLocation = 30,
533 SpvDecorationComponent = 31,
534 SpvDecorationIndex = 32,
535 SpvDecorationBinding = 33,
536 SpvDecorationDescriptorSet = 34,
537 SpvDecorationOffset = 35,
538 SpvDecorationXfbBuffer = 36,
539 SpvDecorationXfbStride = 37,
540 SpvDecorationFuncParamAttr = 38,
541 SpvDecorationFPRoundingMode = 39,
542 SpvDecorationFPFastMathMode = 40,
543 SpvDecorationLinkageAttributes = 41,
544 SpvDecorationNoContraction = 42,
545 SpvDecorationInputAttachmentIndex = 43,
546 SpvDecorationAlignment = 44,
547 SpvDecorationMaxByteOffset = 45,
548 SpvDecorationAlignmentId = 46,
549 SpvDecorationMaxByteOffsetId = 47,
550 SpvDecorationNoSignedWrap = 4469,
551 SpvDecorationNoUnsignedWrap = 4470,
552 SpvDecorationWeightTextureQCOM = 4487,
553 SpvDecorationBlockMatchTextureQCOM = 4488,
554 SpvDecorationBlockMatchSamplerQCOM = 4499,
555 SpvDecorationExplicitInterpAMD = 4999,
556 SpvDecorationNodeSharesPayloadLimitsWithAMDX = 5019,
557 SpvDecorationNodeMaxPayloadsAMDX = 5020,
558 SpvDecorationTrackFinishWritingAMDX = 5078,
559 SpvDecorationPayloadNodeNameAMDX = 5091,
560 SpvDecorationPayloadNodeBaseIndexAMDX = 5098,
561 SpvDecorationPayloadNodeSparseArrayAMDX = 5099,
562 SpvDecorationPayloadNodeArraySizeAMDX = 5100,
563 SpvDecorationPayloadDispatchIndirectAMDX = 5105,
564 SpvDecorationOverrideCoverageNV = 5248,
565 SpvDecorationPassthroughNV = 5250,
566 SpvDecorationViewportRelativeNV = 5252,
567 SpvDecorationSecondaryViewportRelativeNV = 5256,
568 SpvDecorationPerPrimitiveEXT = 5271,
569 SpvDecorationPerPrimitiveNV = 5271,
570 SpvDecorationPerViewNV = 5272,
571 SpvDecorationPerTaskNV = 5273,
572 SpvDecorationPerVertexKHR = 5285,
573 SpvDecorationPerVertexNV = 5285,
574 SpvDecorationNonUniform = 5300,
575 SpvDecorationNonUniformEXT = 5300,
576 SpvDecorationRestrictPointer = 5355,
577 SpvDecorationRestrictPointerEXT = 5355,
578 SpvDecorationAliasedPointer = 5356,
579 SpvDecorationAliasedPointerEXT = 5356,
580 SpvDecorationHitObjectShaderRecordBufferNV = 5386,
581 SpvDecorationBindlessSamplerNV = 5398,
582 SpvDecorationBindlessImageNV = 5399,
583 SpvDecorationBoundSamplerNV = 5400,
584 SpvDecorationBoundImageNV = 5401,
585 SpvDecorationSIMTCallINTEL = 5599,
586 SpvDecorationReferencedIndirectlyINTEL = 5602,
587 SpvDecorationClobberINTEL = 5607,
588 SpvDecorationSideEffectsINTEL = 5608,
589 SpvDecorationVectorComputeVariableINTEL = 5624,
590 SpvDecorationFuncParamIOKindINTEL = 5625,
591 SpvDecorationVectorComputeFunctionINTEL = 5626,
592 SpvDecorationStackCallINTEL = 5627,
593 SpvDecorationGlobalVariableOffsetINTEL = 5628,
594 SpvDecorationCounterBuffer = 5634,
595 SpvDecorationHlslCounterBufferGOOGLE = 5634,
596 SpvDecorationHlslSemanticGOOGLE = 5635,
597 SpvDecorationUserSemantic = 5635,
598 SpvDecorationUserTypeGOOGLE = 5636,
599 SpvDecorationFunctionRoundingModeINTEL = 5822,
600 SpvDecorationFunctionDenormModeINTEL = 5823,
601 SpvDecorationRegisterINTEL = 5825,
602 SpvDecorationMemoryINTEL = 5826,
603 SpvDecorationNumbanksINTEL = 5827,
604 SpvDecorationBankwidthINTEL = 5828,
605 SpvDecorationMaxPrivateCopiesINTEL = 5829,
606 SpvDecorationSinglepumpINTEL = 5830,
607 SpvDecorationDoublepumpINTEL = 5831,
608 SpvDecorationMaxReplicatesINTEL = 5832,
609 SpvDecorationSimpleDualPortINTEL = 5833,
610 SpvDecorationMergeINTEL = 5834,
611 SpvDecorationBankBitsINTEL = 5835,
612 SpvDecorationForcePow2DepthINTEL = 5836,
613 SpvDecorationStridesizeINTEL = 5883,
614 SpvDecorationWordsizeINTEL = 5884,
615 SpvDecorationTrueDualPortINTEL = 5885,
616 SpvDecorationBurstCoalesceINTEL = 5899,
617 SpvDecorationCacheSizeINTEL = 5900,
618 SpvDecorationDontStaticallyCoalesceINTEL = 5901,
619 SpvDecorationPrefetchINTEL = 5902,
620 SpvDecorationStallEnableINTEL = 5905,
621 SpvDecorationFuseLoopsInFunctionINTEL = 5907,
622 SpvDecorationMathOpDSPModeINTEL = 5909,
623 SpvDecorationAliasScopeINTEL = 5914,
624 SpvDecorationNoAliasINTEL = 5915,
625 SpvDecorationInitiationIntervalINTEL = 5917,
626 SpvDecorationMaxConcurrencyINTEL = 5918,
627 SpvDecorationPipelineEnableINTEL = 5919,
628 SpvDecorationBufferLocationINTEL = 5921,
629 SpvDecorationIOPipeStorageINTEL = 5944,
630 SpvDecorationFunctionFloatingPointModeINTEL = 6080,
631 SpvDecorationSingleElementVectorINTEL = 6085,
632 SpvDecorationVectorComputeCallableFunctionINTEL = 6087,
633 SpvDecorationMediaBlockIOINTEL = 6140,
634 SpvDecorationStallFreeINTEL = 6151,
635 SpvDecorationFPMaxErrorDecorationINTEL = 6170,
636 SpvDecorationLatencyControlLabelINTEL = 6172,
637 SpvDecorationLatencyControlConstraintINTEL = 6173,
638 SpvDecorationConduitKernelArgumentINTEL = 6175,
639 SpvDecorationRegisterMapKernelArgumentINTEL = 6176,
640 SpvDecorationMMHostInterfaceAddressWidthINTEL = 6177,
641 SpvDecorationMMHostInterfaceDataWidthINTEL = 6178,
642 SpvDecorationMMHostInterfaceLatencyINTEL = 6179,
643 SpvDecorationMMHostInterfaceReadWriteModeINTEL = 6180,
644 SpvDecorationMMHostInterfaceMaxBurstINTEL = 6181,
645 SpvDecorationMMHostInterfaceWaitRequestINTEL = 6182,
646 SpvDecorationStableKernelArgumentINTEL = 6183,
647 SpvDecorationHostAccessINTEL = 6188,
648 SpvDecorationInitModeINTEL = 6190,
649 SpvDecorationImplementInRegisterMapINTEL = 6191,
650 SpvDecorationCacheControlLoadINTEL = 6442,
651 SpvDecorationCacheControlStoreINTEL = 6443,
652 SpvDecorationMax = 0x7fffffff,
653 } SpvDecoration;
654
655 typedef enum SpvBuiltIn_ {
656 SpvBuiltInPosition = 0,
657 SpvBuiltInPointSize = 1,
658 SpvBuiltInClipDistance = 3,
659 SpvBuiltInCullDistance = 4,
660 SpvBuiltInVertexId = 5,
661 SpvBuiltInInstanceId = 6,
662 SpvBuiltInPrimitiveId = 7,
663 SpvBuiltInInvocationId = 8,
664 SpvBuiltInLayer = 9,
665 SpvBuiltInViewportIndex = 10,
666 SpvBuiltInTessLevelOuter = 11,
667 SpvBuiltInTessLevelInner = 12,
668 SpvBuiltInTessCoord = 13,
669 SpvBuiltInPatchVertices = 14,
670 SpvBuiltInFragCoord = 15,
671 SpvBuiltInPointCoord = 16,
672 SpvBuiltInFrontFacing = 17,
673 SpvBuiltInSampleId = 18,
674 SpvBuiltInSamplePosition = 19,
675 SpvBuiltInSampleMask = 20,
676 SpvBuiltInFragDepth = 22,
677 SpvBuiltInHelperInvocation = 23,
678 SpvBuiltInNumWorkgroups = 24,
679 SpvBuiltInWorkgroupSize = 25,
680 SpvBuiltInWorkgroupId = 26,
681 SpvBuiltInLocalInvocationId = 27,
682 SpvBuiltInGlobalInvocationId = 28,
683 SpvBuiltInLocalInvocationIndex = 29,
684 SpvBuiltInWorkDim = 30,
685 SpvBuiltInGlobalSize = 31,
686 SpvBuiltInEnqueuedWorkgroupSize = 32,
687 SpvBuiltInGlobalOffset = 33,
688 SpvBuiltInGlobalLinearId = 34,
689 SpvBuiltInSubgroupSize = 36,
690 SpvBuiltInSubgroupMaxSize = 37,
691 SpvBuiltInNumSubgroups = 38,
692 SpvBuiltInNumEnqueuedSubgroups = 39,
693 SpvBuiltInSubgroupId = 40,
694 SpvBuiltInSubgroupLocalInvocationId = 41,
695 SpvBuiltInVertexIndex = 42,
696 SpvBuiltInInstanceIndex = 43,
697 SpvBuiltInCoreIDARM = 4160,
698 SpvBuiltInCoreCountARM = 4161,
699 SpvBuiltInCoreMaxIDARM = 4162,
700 SpvBuiltInWarpIDARM = 4163,
701 SpvBuiltInWarpMaxIDARM = 4164,
702 SpvBuiltInSubgroupEqMask = 4416,
703 SpvBuiltInSubgroupEqMaskKHR = 4416,
704 SpvBuiltInSubgroupGeMask = 4417,
705 SpvBuiltInSubgroupGeMaskKHR = 4417,
706 SpvBuiltInSubgroupGtMask = 4418,
707 SpvBuiltInSubgroupGtMaskKHR = 4418,
708 SpvBuiltInSubgroupLeMask = 4419,
709 SpvBuiltInSubgroupLeMaskKHR = 4419,
710 SpvBuiltInSubgroupLtMask = 4420,
711 SpvBuiltInSubgroupLtMaskKHR = 4420,
712 SpvBuiltInBaseVertex = 4424,
713 SpvBuiltInBaseInstance = 4425,
714 SpvBuiltInDrawIndex = 4426,
715 SpvBuiltInPrimitiveShadingRateKHR = 4432,
716 SpvBuiltInDeviceIndex = 4438,
717 SpvBuiltInViewIndex = 4440,
718 SpvBuiltInShadingRateKHR = 4444,
719 SpvBuiltInBaryCoordNoPerspAMD = 4992,
720 SpvBuiltInBaryCoordNoPerspCentroidAMD = 4993,
721 SpvBuiltInBaryCoordNoPerspSampleAMD = 4994,
722 SpvBuiltInBaryCoordSmoothAMD = 4995,
723 SpvBuiltInBaryCoordSmoothCentroidAMD = 4996,
724 SpvBuiltInBaryCoordSmoothSampleAMD = 4997,
725 SpvBuiltInBaryCoordPullModelAMD = 4998,
726 SpvBuiltInFragStencilRefEXT = 5014,
727 SpvBuiltInRemainingRecursionLevelsAMDX = 5021,
728 SpvBuiltInShaderIndexAMDX = 5073,
729 SpvBuiltInViewportMaskNV = 5253,
730 SpvBuiltInSecondaryPositionNV = 5257,
731 SpvBuiltInSecondaryViewportMaskNV = 5258,
732 SpvBuiltInPositionPerViewNV = 5261,
733 SpvBuiltInViewportMaskPerViewNV = 5262,
734 SpvBuiltInFullyCoveredEXT = 5264,
735 SpvBuiltInTaskCountNV = 5274,
736 SpvBuiltInPrimitiveCountNV = 5275,
737 SpvBuiltInPrimitiveIndicesNV = 5276,
738 SpvBuiltInClipDistancePerViewNV = 5277,
739 SpvBuiltInCullDistancePerViewNV = 5278,
740 SpvBuiltInLayerPerViewNV = 5279,
741 SpvBuiltInMeshViewCountNV = 5280,
742 SpvBuiltInMeshViewIndicesNV = 5281,
743 SpvBuiltInBaryCoordKHR = 5286,
744 SpvBuiltInBaryCoordNV = 5286,
745 SpvBuiltInBaryCoordNoPerspKHR = 5287,
746 SpvBuiltInBaryCoordNoPerspNV = 5287,
747 SpvBuiltInFragSizeEXT = 5292,
748 SpvBuiltInFragmentSizeNV = 5292,
749 SpvBuiltInFragInvocationCountEXT = 5293,
750 SpvBuiltInInvocationsPerPixelNV = 5293,
751 SpvBuiltInPrimitivePointIndicesEXT = 5294,
752 SpvBuiltInPrimitiveLineIndicesEXT = 5295,
753 SpvBuiltInPrimitiveTriangleIndicesEXT = 5296,
754 SpvBuiltInCullPrimitiveEXT = 5299,
755 SpvBuiltInLaunchIdKHR = 5319,
756 SpvBuiltInLaunchIdNV = 5319,
757 SpvBuiltInLaunchSizeKHR = 5320,
758 SpvBuiltInLaunchSizeNV = 5320,
759 SpvBuiltInWorldRayOriginKHR = 5321,
760 SpvBuiltInWorldRayOriginNV = 5321,
761 SpvBuiltInWorldRayDirectionKHR = 5322,
762 SpvBuiltInWorldRayDirectionNV = 5322,
763 SpvBuiltInObjectRayOriginKHR = 5323,
764 SpvBuiltInObjectRayOriginNV = 5323,
765 SpvBuiltInObjectRayDirectionKHR = 5324,
766 SpvBuiltInObjectRayDirectionNV = 5324,
767 SpvBuiltInRayTminKHR = 5325,
768 SpvBuiltInRayTminNV = 5325,
769 SpvBuiltInRayTmaxKHR = 5326,
770 SpvBuiltInRayTmaxNV = 5326,
771 SpvBuiltInInstanceCustomIndexKHR = 5327,
772 SpvBuiltInInstanceCustomIndexNV = 5327,
773 SpvBuiltInObjectToWorldKHR = 5330,
774 SpvBuiltInObjectToWorldNV = 5330,
775 SpvBuiltInWorldToObjectKHR = 5331,
776 SpvBuiltInWorldToObjectNV = 5331,
777 SpvBuiltInHitTNV = 5332,
778 SpvBuiltInHitKindKHR = 5333,
779 SpvBuiltInHitKindNV = 5333,
780 SpvBuiltInCurrentRayTimeNV = 5334,
781 SpvBuiltInHitTriangleVertexPositionsKHR = 5335,
782 SpvBuiltInHitMicroTriangleVertexPositionsNV = 5337,
783 SpvBuiltInHitMicroTriangleVertexBarycentricsNV = 5344,
784 SpvBuiltInIncomingRayFlagsKHR = 5351,
785 SpvBuiltInIncomingRayFlagsNV = 5351,
786 SpvBuiltInRayGeometryIndexKHR = 5352,
787 SpvBuiltInWarpsPerSMNV = 5374,
788 SpvBuiltInSMCountNV = 5375,
789 SpvBuiltInWarpIDNV = 5376,
790 SpvBuiltInSMIDNV = 5377,
791 SpvBuiltInHitKindFrontFacingMicroTriangleNV = 5405,
792 SpvBuiltInHitKindBackFacingMicroTriangleNV = 5406,
793 SpvBuiltInCullMaskKHR = 6021,
794 SpvBuiltInMax = 0x7fffffff,
795 } SpvBuiltIn;
796
797 typedef enum SpvSelectionControlShift_ {
798 SpvSelectionControlFlattenShift = 0,
799 SpvSelectionControlDontFlattenShift = 1,
800 SpvSelectionControlMax = 0x7fffffff,
801 } SpvSelectionControlShift;
802
803 typedef enum SpvSelectionControlMask_ {
804 SpvSelectionControlMaskNone = 0,
805 SpvSelectionControlFlattenMask = 0x00000001,
806 SpvSelectionControlDontFlattenMask = 0x00000002,
807 } SpvSelectionControlMask;
808
809 typedef enum SpvLoopControlShift_ {
810 SpvLoopControlUnrollShift = 0,
811 SpvLoopControlDontUnrollShift = 1,
812 SpvLoopControlDependencyInfiniteShift = 2,
813 SpvLoopControlDependencyLengthShift = 3,
814 SpvLoopControlMinIterationsShift = 4,
815 SpvLoopControlMaxIterationsShift = 5,
816 SpvLoopControlIterationMultipleShift = 6,
817 SpvLoopControlPeelCountShift = 7,
818 SpvLoopControlPartialCountShift = 8,
819 SpvLoopControlInitiationIntervalINTELShift = 16,
820 SpvLoopControlMaxConcurrencyINTELShift = 17,
821 SpvLoopControlDependencyArrayINTELShift = 18,
822 SpvLoopControlPipelineEnableINTELShift = 19,
823 SpvLoopControlLoopCoalesceINTELShift = 20,
824 SpvLoopControlMaxInterleavingINTELShift = 21,
825 SpvLoopControlSpeculatedIterationsINTELShift = 22,
826 SpvLoopControlNoFusionINTELShift = 23,
827 SpvLoopControlLoopCountINTELShift = 24,
828 SpvLoopControlMaxReinvocationDelayINTELShift = 25,
829 SpvLoopControlMax = 0x7fffffff,
830 } SpvLoopControlShift;
831
832 typedef enum SpvLoopControlMask_ {
833 SpvLoopControlMaskNone = 0,
834 SpvLoopControlUnrollMask = 0x00000001,
835 SpvLoopControlDontUnrollMask = 0x00000002,
836 SpvLoopControlDependencyInfiniteMask = 0x00000004,
837 SpvLoopControlDependencyLengthMask = 0x00000008,
838 SpvLoopControlMinIterationsMask = 0x00000010,
839 SpvLoopControlMaxIterationsMask = 0x00000020,
840 SpvLoopControlIterationMultipleMask = 0x00000040,
841 SpvLoopControlPeelCountMask = 0x00000080,
842 SpvLoopControlPartialCountMask = 0x00000100,
843 SpvLoopControlInitiationIntervalINTELMask = 0x00010000,
844 SpvLoopControlMaxConcurrencyINTELMask = 0x00020000,
845 SpvLoopControlDependencyArrayINTELMask = 0x00040000,
846 SpvLoopControlPipelineEnableINTELMask = 0x00080000,
847 SpvLoopControlLoopCoalesceINTELMask = 0x00100000,
848 SpvLoopControlMaxInterleavingINTELMask = 0x00200000,
849 SpvLoopControlSpeculatedIterationsINTELMask = 0x00400000,
850 SpvLoopControlNoFusionINTELMask = 0x00800000,
851 SpvLoopControlLoopCountINTELMask = 0x01000000,
852 SpvLoopControlMaxReinvocationDelayINTELMask = 0x02000000,
853 } SpvLoopControlMask;
854
855 typedef enum SpvFunctionControlShift_ {
856 SpvFunctionControlInlineShift = 0,
857 SpvFunctionControlDontInlineShift = 1,
858 SpvFunctionControlPureShift = 2,
859 SpvFunctionControlConstShift = 3,
860 SpvFunctionControlOptNoneEXTShift = 16,
861 SpvFunctionControlOptNoneINTELShift = 16,
862 SpvFunctionControlMax = 0x7fffffff,
863 } SpvFunctionControlShift;
864
865 typedef enum SpvFunctionControlMask_ {
866 SpvFunctionControlMaskNone = 0,
867 SpvFunctionControlInlineMask = 0x00000001,
868 SpvFunctionControlDontInlineMask = 0x00000002,
869 SpvFunctionControlPureMask = 0x00000004,
870 SpvFunctionControlConstMask = 0x00000008,
871 SpvFunctionControlOptNoneEXTMask = 0x00010000,
872 SpvFunctionControlOptNoneINTELMask = 0x00010000,
873 } SpvFunctionControlMask;
874
875 typedef enum SpvMemorySemanticsShift_ {
876 SpvMemorySemanticsAcquireShift = 1,
877 SpvMemorySemanticsReleaseShift = 2,
878 SpvMemorySemanticsAcquireReleaseShift = 3,
879 SpvMemorySemanticsSequentiallyConsistentShift = 4,
880 SpvMemorySemanticsUniformMemoryShift = 6,
881 SpvMemorySemanticsSubgroupMemoryShift = 7,
882 SpvMemorySemanticsWorkgroupMemoryShift = 8,
883 SpvMemorySemanticsCrossWorkgroupMemoryShift = 9,
884 SpvMemorySemanticsAtomicCounterMemoryShift = 10,
885 SpvMemorySemanticsImageMemoryShift = 11,
886 SpvMemorySemanticsOutputMemoryShift = 12,
887 SpvMemorySemanticsOutputMemoryKHRShift = 12,
888 SpvMemorySemanticsMakeAvailableShift = 13,
889 SpvMemorySemanticsMakeAvailableKHRShift = 13,
890 SpvMemorySemanticsMakeVisibleShift = 14,
891 SpvMemorySemanticsMakeVisibleKHRShift = 14,
892 SpvMemorySemanticsVolatileShift = 15,
893 SpvMemorySemanticsMax = 0x7fffffff,
894 } SpvMemorySemanticsShift;
895
896 typedef enum SpvMemorySemanticsMask_ {
897 SpvMemorySemanticsMaskNone = 0,
898 SpvMemorySemanticsAcquireMask = 0x00000002,
899 SpvMemorySemanticsReleaseMask = 0x00000004,
900 SpvMemorySemanticsAcquireReleaseMask = 0x00000008,
901 SpvMemorySemanticsSequentiallyConsistentMask = 0x00000010,
902 SpvMemorySemanticsUniformMemoryMask = 0x00000040,
903 SpvMemorySemanticsSubgroupMemoryMask = 0x00000080,
904 SpvMemorySemanticsWorkgroupMemoryMask = 0x00000100,
905 SpvMemorySemanticsCrossWorkgroupMemoryMask = 0x00000200,
906 SpvMemorySemanticsAtomicCounterMemoryMask = 0x00000400,
907 SpvMemorySemanticsImageMemoryMask = 0x00000800,
908 SpvMemorySemanticsOutputMemoryMask = 0x00001000,
909 SpvMemorySemanticsOutputMemoryKHRMask = 0x00001000,
910 SpvMemorySemanticsMakeAvailableMask = 0x00002000,
911 SpvMemorySemanticsMakeAvailableKHRMask = 0x00002000,
912 SpvMemorySemanticsMakeVisibleMask = 0x00004000,
913 SpvMemorySemanticsMakeVisibleKHRMask = 0x00004000,
914 SpvMemorySemanticsVolatileMask = 0x00008000,
915 } SpvMemorySemanticsMask;
916
917 typedef enum SpvMemoryAccessShift_ {
918 SpvMemoryAccessVolatileShift = 0,
919 SpvMemoryAccessAlignedShift = 1,
920 SpvMemoryAccessNontemporalShift = 2,
921 SpvMemoryAccessMakePointerAvailableShift = 3,
922 SpvMemoryAccessMakePointerAvailableKHRShift = 3,
923 SpvMemoryAccessMakePointerVisibleShift = 4,
924 SpvMemoryAccessMakePointerVisibleKHRShift = 4,
925 SpvMemoryAccessNonPrivatePointerShift = 5,
926 SpvMemoryAccessNonPrivatePointerKHRShift = 5,
927 SpvMemoryAccessAliasScopeINTELMaskShift = 16,
928 SpvMemoryAccessNoAliasINTELMaskShift = 17,
929 SpvMemoryAccessMax = 0x7fffffff,
930 } SpvMemoryAccessShift;
931
932 typedef enum SpvMemoryAccessMask_ {
933 SpvMemoryAccessMaskNone = 0,
934 SpvMemoryAccessVolatileMask = 0x00000001,
935 SpvMemoryAccessAlignedMask = 0x00000002,
936 SpvMemoryAccessNontemporalMask = 0x00000004,
937 SpvMemoryAccessMakePointerAvailableMask = 0x00000008,
938 SpvMemoryAccessMakePointerAvailableKHRMask = 0x00000008,
939 SpvMemoryAccessMakePointerVisibleMask = 0x00000010,
940 SpvMemoryAccessMakePointerVisibleKHRMask = 0x00000010,
941 SpvMemoryAccessNonPrivatePointerMask = 0x00000020,
942 SpvMemoryAccessNonPrivatePointerKHRMask = 0x00000020,
943 SpvMemoryAccessAliasScopeINTELMaskMask = 0x00010000,
944 SpvMemoryAccessNoAliasINTELMaskMask = 0x00020000,
945 } SpvMemoryAccessMask;
946
947 typedef enum SpvScope_ {
948 SpvScopeCrossDevice = 0,
949 SpvScopeDevice = 1,
950 SpvScopeWorkgroup = 2,
951 SpvScopeSubgroup = 3,
952 SpvScopeInvocation = 4,
953 SpvScopeQueueFamily = 5,
954 SpvScopeQueueFamilyKHR = 5,
955 SpvScopeShaderCallKHR = 6,
956 SpvScopeMax = 0x7fffffff,
957 } SpvScope;
958
959 typedef enum SpvGroupOperation_ {
960 SpvGroupOperationReduce = 0,
961 SpvGroupOperationInclusiveScan = 1,
962 SpvGroupOperationExclusiveScan = 2,
963 SpvGroupOperationClusteredReduce = 3,
964 SpvGroupOperationPartitionedReduceNV = 6,
965 SpvGroupOperationPartitionedInclusiveScanNV = 7,
966 SpvGroupOperationPartitionedExclusiveScanNV = 8,
967 SpvGroupOperationMax = 0x7fffffff,
968 } SpvGroupOperation;
969
970 typedef enum SpvKernelEnqueueFlags_ {
971 SpvKernelEnqueueFlagsNoWait = 0,
972 SpvKernelEnqueueFlagsWaitKernel = 1,
973 SpvKernelEnqueueFlagsWaitWorkGroup = 2,
974 SpvKernelEnqueueFlagsMax = 0x7fffffff,
975 } SpvKernelEnqueueFlags;
976
977 typedef enum SpvKernelProfilingInfoShift_ {
978 SpvKernelProfilingInfoCmdExecTimeShift = 0,
979 SpvKernelProfilingInfoMax = 0x7fffffff,
980 } SpvKernelProfilingInfoShift;
981
982 typedef enum SpvKernelProfilingInfoMask_ {
983 SpvKernelProfilingInfoMaskNone = 0,
984 SpvKernelProfilingInfoCmdExecTimeMask = 0x00000001,
985 } SpvKernelProfilingInfoMask;
986
987 typedef enum SpvCapability_ {
988 SpvCapabilityMatrix = 0,
989 SpvCapabilityShader = 1,
990 SpvCapabilityGeometry = 2,
991 SpvCapabilityTessellation = 3,
992 SpvCapabilityAddresses = 4,
993 SpvCapabilityLinkage = 5,
994 SpvCapabilityKernel = 6,
995 SpvCapabilityVector16 = 7,
996 SpvCapabilityFloat16Buffer = 8,
997 SpvCapabilityFloat16 = 9,
998 SpvCapabilityFloat64 = 10,
999 SpvCapabilityInt64 = 11,
1000 SpvCapabilityInt64Atomics = 12,
1001 SpvCapabilityImageBasic = 13,
1002 SpvCapabilityImageReadWrite = 14,
1003 SpvCapabilityImageMipmap = 15,
1004 SpvCapabilityPipes = 17,
1005 SpvCapabilityGroups = 18,
1006 SpvCapabilityDeviceEnqueue = 19,
1007 SpvCapabilityLiteralSampler = 20,
1008 SpvCapabilityAtomicStorage = 21,
1009 SpvCapabilityInt16 = 22,
1010 SpvCapabilityTessellationPointSize = 23,
1011 SpvCapabilityGeometryPointSize = 24,
1012 SpvCapabilityImageGatherExtended = 25,
1013 SpvCapabilityStorageImageMultisample = 27,
1014 SpvCapabilityUniformBufferArrayDynamicIndexing = 28,
1015 SpvCapabilitySampledImageArrayDynamicIndexing = 29,
1016 SpvCapabilityStorageBufferArrayDynamicIndexing = 30,
1017 SpvCapabilityStorageImageArrayDynamicIndexing = 31,
1018 SpvCapabilityClipDistance = 32,
1019 SpvCapabilityCullDistance = 33,
1020 SpvCapabilityImageCubeArray = 34,
1021 SpvCapabilitySampleRateShading = 35,
1022 SpvCapabilityImageRect = 36,
1023 SpvCapabilitySampledRect = 37,
1024 SpvCapabilityGenericPointer = 38,
1025 SpvCapabilityInt8 = 39,
1026 SpvCapabilityInputAttachment = 40,
1027 SpvCapabilitySparseResidency = 41,
1028 SpvCapabilityMinLod = 42,
1029 SpvCapabilitySampled1D = 43,
1030 SpvCapabilityImage1D = 44,
1031 SpvCapabilitySampledCubeArray = 45,
1032 SpvCapabilitySampledBuffer = 46,
1033 SpvCapabilityImageBuffer = 47,
1034 SpvCapabilityImageMSArray = 48,
1035 SpvCapabilityStorageImageExtendedFormats = 49,
1036 SpvCapabilityImageQuery = 50,
1037 SpvCapabilityDerivativeControl = 51,
1038 SpvCapabilityInterpolationFunction = 52,
1039 SpvCapabilityTransformFeedback = 53,
1040 SpvCapabilityGeometryStreams = 54,
1041 SpvCapabilityStorageImageReadWithoutFormat = 55,
1042 SpvCapabilityStorageImageWriteWithoutFormat = 56,
1043 SpvCapabilityMultiViewport = 57,
1044 SpvCapabilitySubgroupDispatch = 58,
1045 SpvCapabilityNamedBarrier = 59,
1046 SpvCapabilityPipeStorage = 60,
1047 SpvCapabilityGroupNonUniform = 61,
1048 SpvCapabilityGroupNonUniformVote = 62,
1049 SpvCapabilityGroupNonUniformArithmetic = 63,
1050 SpvCapabilityGroupNonUniformBallot = 64,
1051 SpvCapabilityGroupNonUniformShuffle = 65,
1052 SpvCapabilityGroupNonUniformShuffleRelative = 66,
1053 SpvCapabilityGroupNonUniformClustered = 67,
1054 SpvCapabilityGroupNonUniformQuad = 68,
1055 SpvCapabilityShaderLayer = 69,
1056 SpvCapabilityShaderViewportIndex = 70,
1057 SpvCapabilityUniformDecoration = 71,
1058 SpvCapabilityCoreBuiltinsARM = 4165,
1059 SpvCapabilityTileImageColorReadAccessEXT = 4166,
1060 SpvCapabilityTileImageDepthReadAccessEXT = 4167,
1061 SpvCapabilityTileImageStencilReadAccessEXT = 4168,
1062 SpvCapabilityCooperativeMatrixLayoutsARM = 4201,
1063 SpvCapabilityFragmentShadingRateKHR = 4422,
1064 SpvCapabilitySubgroupBallotKHR = 4423,
1065 SpvCapabilityDrawParameters = 4427,
1066 SpvCapabilityWorkgroupMemoryExplicitLayoutKHR = 4428,
1067 SpvCapabilityWorkgroupMemoryExplicitLayout8BitAccessKHR = 4429,
1068 SpvCapabilityWorkgroupMemoryExplicitLayout16BitAccessKHR = 4430,
1069 SpvCapabilitySubgroupVoteKHR = 4431,
1070 SpvCapabilityStorageBuffer16BitAccess = 4433,
1071 SpvCapabilityStorageUniformBufferBlock16 = 4433,
1072 SpvCapabilityStorageUniform16 = 4434,
1073 SpvCapabilityUniformAndStorageBuffer16BitAccess = 4434,
1074 SpvCapabilityStoragePushConstant16 = 4435,
1075 SpvCapabilityStorageInputOutput16 = 4436,
1076 SpvCapabilityDeviceGroup = 4437,
1077 SpvCapabilityMultiView = 4439,
1078 SpvCapabilityVariablePointersStorageBuffer = 4441,
1079 SpvCapabilityVariablePointers = 4442,
1080 SpvCapabilityAtomicStorageOps = 4445,
1081 SpvCapabilitySampleMaskPostDepthCoverage = 4447,
1082 SpvCapabilityStorageBuffer8BitAccess = 4448,
1083 SpvCapabilityUniformAndStorageBuffer8BitAccess = 4449,
1084 SpvCapabilityStoragePushConstant8 = 4450,
1085 SpvCapabilityDenormPreserve = 4464,
1086 SpvCapabilityDenormFlushToZero = 4465,
1087 SpvCapabilitySignedZeroInfNanPreserve = 4466,
1088 SpvCapabilityRoundingModeRTE = 4467,
1089 SpvCapabilityRoundingModeRTZ = 4468,
1090 SpvCapabilityRayQueryProvisionalKHR = 4471,
1091 SpvCapabilityRayQueryKHR = 4472,
1092 SpvCapabilityUntypedPointersKHR = 4473,
1093 SpvCapabilityRayTraversalPrimitiveCullingKHR = 4478,
1094 SpvCapabilityRayTracingKHR = 4479,
1095 SpvCapabilityTextureSampleWeightedQCOM = 4484,
1096 SpvCapabilityTextureBoxFilterQCOM = 4485,
1097 SpvCapabilityTextureBlockMatchQCOM = 4486,
1098 SpvCapabilityTextureBlockMatch2QCOM = 4498,
1099 SpvCapabilityFloat16ImageAMD = 5008,
1100 SpvCapabilityImageGatherBiasLodAMD = 5009,
1101 SpvCapabilityFragmentMaskAMD = 5010,
1102 SpvCapabilityStencilExportEXT = 5013,
1103 SpvCapabilityImageReadWriteLodAMD = 5015,
1104 SpvCapabilityInt64ImageEXT = 5016,
1105 SpvCapabilityShaderClockKHR = 5055,
1106 SpvCapabilityShaderEnqueueAMDX = 5067,
1107 SpvCapabilityQuadControlKHR = 5087,
1108 SpvCapabilitySampleMaskOverrideCoverageNV = 5249,
1109 SpvCapabilityGeometryShaderPassthroughNV = 5251,
1110 SpvCapabilityShaderViewportIndexLayerEXT = 5254,
1111 SpvCapabilityShaderViewportIndexLayerNV = 5254,
1112 SpvCapabilityShaderViewportMaskNV = 5255,
1113 SpvCapabilityShaderStereoViewNV = 5259,
1114 SpvCapabilityPerViewAttributesNV = 5260,
1115 SpvCapabilityFragmentFullyCoveredEXT = 5265,
1116 SpvCapabilityMeshShadingNV = 5266,
1117 SpvCapabilityImageFootprintNV = 5282,
1118 SpvCapabilityMeshShadingEXT = 5283,
1119 SpvCapabilityFragmentBarycentricKHR = 5284,
1120 SpvCapabilityFragmentBarycentricNV = 5284,
1121 SpvCapabilityComputeDerivativeGroupQuadsKHR = 5288,
1122 SpvCapabilityComputeDerivativeGroupQuadsNV = 5288,
1123 SpvCapabilityFragmentDensityEXT = 5291,
1124 SpvCapabilityShadingRateNV = 5291,
1125 SpvCapabilityGroupNonUniformPartitionedNV = 5297,
1126 SpvCapabilityShaderNonUniform = 5301,
1127 SpvCapabilityShaderNonUniformEXT = 5301,
1128 SpvCapabilityRuntimeDescriptorArray = 5302,
1129 SpvCapabilityRuntimeDescriptorArrayEXT = 5302,
1130 SpvCapabilityInputAttachmentArrayDynamicIndexing = 5303,
1131 SpvCapabilityInputAttachmentArrayDynamicIndexingEXT = 5303,
1132 SpvCapabilityUniformTexelBufferArrayDynamicIndexing = 5304,
1133 SpvCapabilityUniformTexelBufferArrayDynamicIndexingEXT = 5304,
1134 SpvCapabilityStorageTexelBufferArrayDynamicIndexing = 5305,
1135 SpvCapabilityStorageTexelBufferArrayDynamicIndexingEXT = 5305,
1136 SpvCapabilityUniformBufferArrayNonUniformIndexing = 5306,
1137 SpvCapabilityUniformBufferArrayNonUniformIndexingEXT = 5306,
1138 SpvCapabilitySampledImageArrayNonUniformIndexing = 5307,
1139 SpvCapabilitySampledImageArrayNonUniformIndexingEXT = 5307,
1140 SpvCapabilityStorageBufferArrayNonUniformIndexing = 5308,
1141 SpvCapabilityStorageBufferArrayNonUniformIndexingEXT = 5308,
1142 SpvCapabilityStorageImageArrayNonUniformIndexing = 5309,
1143 SpvCapabilityStorageImageArrayNonUniformIndexingEXT = 5309,
1144 SpvCapabilityInputAttachmentArrayNonUniformIndexing = 5310,
1145 SpvCapabilityInputAttachmentArrayNonUniformIndexingEXT = 5310,
1146 SpvCapabilityUniformTexelBufferArrayNonUniformIndexing = 5311,
1147 SpvCapabilityUniformTexelBufferArrayNonUniformIndexingEXT = 5311,
1148 SpvCapabilityStorageTexelBufferArrayNonUniformIndexing = 5312,
1149 SpvCapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312,
1150 SpvCapabilityRayTracingPositionFetchKHR = 5336,
1151 SpvCapabilityRayTracingNV = 5340,
1152 SpvCapabilityRayTracingMotionBlurNV = 5341,
1153 SpvCapabilityVulkanMemoryModel = 5345,
1154 SpvCapabilityVulkanMemoryModelKHR = 5345,
1155 SpvCapabilityVulkanMemoryModelDeviceScope = 5346,
1156 SpvCapabilityVulkanMemoryModelDeviceScopeKHR = 5346,
1157 SpvCapabilityPhysicalStorageBufferAddresses = 5347,
1158 SpvCapabilityPhysicalStorageBufferAddressesEXT = 5347,
1159 SpvCapabilityComputeDerivativeGroupLinearKHR = 5350,
1160 SpvCapabilityComputeDerivativeGroupLinearNV = 5350,
1161 SpvCapabilityRayTracingProvisionalKHR = 5353,
1162 SpvCapabilityCooperativeMatrixNV = 5357,
1163 SpvCapabilityFragmentShaderSampleInterlockEXT = 5363,
1164 SpvCapabilityFragmentShaderShadingRateInterlockEXT = 5372,
1165 SpvCapabilityShaderSMBuiltinsNV = 5373,
1166 SpvCapabilityFragmentShaderPixelInterlockEXT = 5378,
1167 SpvCapabilityDemoteToHelperInvocation = 5379,
1168 SpvCapabilityDemoteToHelperInvocationEXT = 5379,
1169 SpvCapabilityDisplacementMicromapNV = 5380,
1170 SpvCapabilityRayTracingOpacityMicromapEXT = 5381,
1171 SpvCapabilityShaderInvocationReorderNV = 5383,
1172 SpvCapabilityBindlessTextureNV = 5390,
1173 SpvCapabilityRayQueryPositionFetchKHR = 5391,
1174 SpvCapabilityAtomicFloat16VectorNV = 5404,
1175 SpvCapabilityRayTracingDisplacementMicromapNV = 5409,
1176 SpvCapabilityRawAccessChainsNV = 5414,
1177 SpvCapabilityCooperativeMatrixReductionsNV = 5430,
1178 SpvCapabilityCooperativeMatrixConversionsNV = 5431,
1179 SpvCapabilityCooperativeMatrixPerElementOperationsNV = 5432,
1180 SpvCapabilityCooperativeMatrixTensorAddressingNV = 5433,
1181 SpvCapabilityCooperativeMatrixBlockLoadsNV = 5434,
1182 SpvCapabilityTensorAddressingNV = 5439,
1183 SpvCapabilitySubgroupShuffleINTEL = 5568,
1184 SpvCapabilitySubgroupBufferBlockIOINTEL = 5569,
1185 SpvCapabilitySubgroupImageBlockIOINTEL = 5570,
1186 SpvCapabilitySubgroupImageMediaBlockIOINTEL = 5579,
1187 SpvCapabilityRoundToInfinityINTEL = 5582,
1188 SpvCapabilityFloatingPointModeINTEL = 5583,
1189 SpvCapabilityIntegerFunctions2INTEL = 5584,
1190 SpvCapabilityFunctionPointersINTEL = 5603,
1191 SpvCapabilityIndirectReferencesINTEL = 5604,
1192 SpvCapabilityAsmINTEL = 5606,
1193 SpvCapabilityAtomicFloat32MinMaxEXT = 5612,
1194 SpvCapabilityAtomicFloat64MinMaxEXT = 5613,
1195 SpvCapabilityAtomicFloat16MinMaxEXT = 5616,
1196 SpvCapabilityVectorComputeINTEL = 5617,
1197 SpvCapabilityVectorAnyINTEL = 5619,
1198 SpvCapabilityExpectAssumeKHR = 5629,
1199 SpvCapabilitySubgroupAvcMotionEstimationINTEL = 5696,
1200 SpvCapabilitySubgroupAvcMotionEstimationIntraINTEL = 5697,
1201 SpvCapabilitySubgroupAvcMotionEstimationChromaINTEL = 5698,
1202 SpvCapabilityVariableLengthArrayINTEL = 5817,
1203 SpvCapabilityFunctionFloatControlINTEL = 5821,
1204 SpvCapabilityFPGAMemoryAttributesINTEL = 5824,
1205 SpvCapabilityFPFastMathModeINTEL = 5837,
1206 SpvCapabilityArbitraryPrecisionIntegersINTEL = 5844,
1207 SpvCapabilityArbitraryPrecisionFloatingPointINTEL = 5845,
1208 SpvCapabilityUnstructuredLoopControlsINTEL = 5886,
1209 SpvCapabilityFPGALoopControlsINTEL = 5888,
1210 SpvCapabilityKernelAttributesINTEL = 5892,
1211 SpvCapabilityFPGAKernelAttributesINTEL = 5897,
1212 SpvCapabilityFPGAMemoryAccessesINTEL = 5898,
1213 SpvCapabilityFPGAClusterAttributesINTEL = 5904,
1214 SpvCapabilityLoopFuseINTEL = 5906,
1215 SpvCapabilityFPGADSPControlINTEL = 5908,
1216 SpvCapabilityMemoryAccessAliasingINTEL = 5910,
1217 SpvCapabilityFPGAInvocationPipeliningAttributesINTEL = 5916,
1218 SpvCapabilityFPGABufferLocationINTEL = 5920,
1219 SpvCapabilityArbitraryPrecisionFixedPointINTEL = 5922,
1220 SpvCapabilityUSMStorageClassesINTEL = 5935,
1221 SpvCapabilityRuntimeAlignedAttributeINTEL = 5939,
1222 SpvCapabilityIOPipesINTEL = 5943,
1223 SpvCapabilityBlockingPipesINTEL = 5945,
1224 SpvCapabilityFPGARegINTEL = 5948,
1225 SpvCapabilityDotProductInputAll = 6016,
1226 SpvCapabilityDotProductInputAllKHR = 6016,
1227 SpvCapabilityDotProductInput4x8Bit = 6017,
1228 SpvCapabilityDotProductInput4x8BitKHR = 6017,
1229 SpvCapabilityDotProductInput4x8BitPacked = 6018,
1230 SpvCapabilityDotProductInput4x8BitPackedKHR = 6018,
1231 SpvCapabilityDotProduct = 6019,
1232 SpvCapabilityDotProductKHR = 6019,
1233 SpvCapabilityRayCullMaskKHR = 6020,
1234 SpvCapabilityCooperativeMatrixKHR = 6022,
1235 SpvCapabilityReplicatedCompositesEXT = 6024,
1236 SpvCapabilityBitInstructions = 6025,
1237 SpvCapabilityGroupNonUniformRotateKHR = 6026,
1238 SpvCapabilityFloatControls2 = 6029,
1239 SpvCapabilityAtomicFloat32AddEXT = 6033,
1240 SpvCapabilityAtomicFloat64AddEXT = 6034,
1241 SpvCapabilityLongCompositesINTEL = 6089,
1242 SpvCapabilityOptNoneEXT = 6094,
1243 SpvCapabilityOptNoneINTEL = 6094,
1244 SpvCapabilityAtomicFloat16AddEXT = 6095,
1245 SpvCapabilityDebugInfoModuleINTEL = 6114,
1246 SpvCapabilityBFloat16ConversionINTEL = 6115,
1247 SpvCapabilitySplitBarrierINTEL = 6141,
1248 SpvCapabilityArithmeticFenceEXT = 6144,
1249 SpvCapabilityFPGAClusterAttributesV2INTEL = 6150,
1250 SpvCapabilityFPGAKernelAttributesv2INTEL = 6161,
1251 SpvCapabilityFPMaxErrorINTEL = 6169,
1252 SpvCapabilityFPGALatencyControlINTEL = 6171,
1253 SpvCapabilityFPGAArgumentInterfacesINTEL = 6174,
1254 SpvCapabilityGlobalVariableHostAccessINTEL = 6187,
1255 SpvCapabilityGlobalVariableFPGADecorationsINTEL = 6189,
1256 SpvCapabilitySubgroupBufferPrefetchINTEL = 6220,
1257 SpvCapabilityGroupUniformArithmeticKHR = 6400,
1258 SpvCapabilityMaskedGatherScatterINTEL = 6427,
1259 SpvCapabilityCacheControlsINTEL = 6441,
1260 SpvCapabilityRegisterLimitsINTEL = 6460,
1261 SpvCapabilityMax = 0x7fffffff,
1262 } SpvCapability;
1263
1264 typedef enum SpvRayFlagsShift_ {
1265 SpvRayFlagsOpaqueKHRShift = 0,
1266 SpvRayFlagsNoOpaqueKHRShift = 1,
1267 SpvRayFlagsTerminateOnFirstHitKHRShift = 2,
1268 SpvRayFlagsSkipClosestHitShaderKHRShift = 3,
1269 SpvRayFlagsCullBackFacingTrianglesKHRShift = 4,
1270 SpvRayFlagsCullFrontFacingTrianglesKHRShift = 5,
1271 SpvRayFlagsCullOpaqueKHRShift = 6,
1272 SpvRayFlagsCullNoOpaqueKHRShift = 7,
1273 SpvRayFlagsSkipTrianglesKHRShift = 8,
1274 SpvRayFlagsSkipAABBsKHRShift = 9,
1275 SpvRayFlagsForceOpacityMicromap2StateEXTShift = 10,
1276 SpvRayFlagsMax = 0x7fffffff,
1277 } SpvRayFlagsShift;
1278
1279 typedef enum SpvRayFlagsMask_ {
1280 SpvRayFlagsMaskNone = 0,
1281 SpvRayFlagsOpaqueKHRMask = 0x00000001,
1282 SpvRayFlagsNoOpaqueKHRMask = 0x00000002,
1283 SpvRayFlagsTerminateOnFirstHitKHRMask = 0x00000004,
1284 SpvRayFlagsSkipClosestHitShaderKHRMask = 0x00000008,
1285 SpvRayFlagsCullBackFacingTrianglesKHRMask = 0x00000010,
1286 SpvRayFlagsCullFrontFacingTrianglesKHRMask = 0x00000020,
1287 SpvRayFlagsCullOpaqueKHRMask = 0x00000040,
1288 SpvRayFlagsCullNoOpaqueKHRMask = 0x00000080,
1289 SpvRayFlagsSkipTrianglesKHRMask = 0x00000100,
1290 SpvRayFlagsSkipAABBsKHRMask = 0x00000200,
1291 SpvRayFlagsForceOpacityMicromap2StateEXTMask = 0x00000400,
1292 } SpvRayFlagsMask;
1293
1294 typedef enum SpvRayQueryIntersection_ {
1295 SpvRayQueryIntersectionRayQueryCandidateIntersectionKHR = 0,
1296 SpvRayQueryIntersectionRayQueryCommittedIntersectionKHR = 1,
1297 SpvRayQueryIntersectionMax = 0x7fffffff,
1298 } SpvRayQueryIntersection;
1299
1300 typedef enum SpvRayQueryCommittedIntersectionType_ {
1301 SpvRayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionNoneKHR = 0,
1302 SpvRayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionTriangleKHR = 1,
1303 SpvRayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionGeneratedKHR = 2,
1304 SpvRayQueryCommittedIntersectionTypeMax = 0x7fffffff,
1305 } SpvRayQueryCommittedIntersectionType;
1306
1307 typedef enum SpvRayQueryCandidateIntersectionType_ {
1308 SpvRayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionTriangleKHR = 0,
1309 SpvRayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionAABBKHR = 1,
1310 SpvRayQueryCandidateIntersectionTypeMax = 0x7fffffff,
1311 } SpvRayQueryCandidateIntersectionType;
1312
1313 typedef enum SpvFragmentShadingRateShift_ {
1314 SpvFragmentShadingRateVertical2PixelsShift = 0,
1315 SpvFragmentShadingRateVertical4PixelsShift = 1,
1316 SpvFragmentShadingRateHorizontal2PixelsShift = 2,
1317 SpvFragmentShadingRateHorizontal4PixelsShift = 3,
1318 SpvFragmentShadingRateMax = 0x7fffffff,
1319 } SpvFragmentShadingRateShift;
1320
1321 typedef enum SpvFragmentShadingRateMask_ {
1322 SpvFragmentShadingRateMaskNone = 0,
1323 SpvFragmentShadingRateVertical2PixelsMask = 0x00000001,
1324 SpvFragmentShadingRateVertical4PixelsMask = 0x00000002,
1325 SpvFragmentShadingRateHorizontal2PixelsMask = 0x00000004,
1326 SpvFragmentShadingRateHorizontal4PixelsMask = 0x00000008,
1327 } SpvFragmentShadingRateMask;
1328
1329 typedef enum SpvFPDenormMode_ {
1330 SpvFPDenormModePreserve = 0,
1331 SpvFPDenormModeFlushToZero = 1,
1332 SpvFPDenormModeMax = 0x7fffffff,
1333 } SpvFPDenormMode;
1334
1335 typedef enum SpvFPOperationMode_ {
1336 SpvFPOperationModeIEEE = 0,
1337 SpvFPOperationModeALT = 1,
1338 SpvFPOperationModeMax = 0x7fffffff,
1339 } SpvFPOperationMode;
1340
1341 typedef enum SpvQuantizationModes_ {
1342 SpvQuantizationModesTRN = 0,
1343 SpvQuantizationModesTRN_ZERO = 1,
1344 SpvQuantizationModesRND = 2,
1345 SpvQuantizationModesRND_ZERO = 3,
1346 SpvQuantizationModesRND_INF = 4,
1347 SpvQuantizationModesRND_MIN_INF = 5,
1348 SpvQuantizationModesRND_CONV = 6,
1349 SpvQuantizationModesRND_CONV_ODD = 7,
1350 SpvQuantizationModesMax = 0x7fffffff,
1351 } SpvQuantizationModes;
1352
1353 typedef enum SpvOverflowModes_ {
1354 SpvOverflowModesWRAP = 0,
1355 SpvOverflowModesSAT = 1,
1356 SpvOverflowModesSAT_ZERO = 2,
1357 SpvOverflowModesSAT_SYM = 3,
1358 SpvOverflowModesMax = 0x7fffffff,
1359 } SpvOverflowModes;
1360
1361 typedef enum SpvPackedVectorFormat_ {
1362 SpvPackedVectorFormatPackedVectorFormat4x8Bit = 0,
1363 SpvPackedVectorFormatPackedVectorFormat4x8BitKHR = 0,
1364 SpvPackedVectorFormatMax = 0x7fffffff,
1365 } SpvPackedVectorFormat;
1366
1367 typedef enum SpvCooperativeMatrixOperandsShift_ {
1368 SpvCooperativeMatrixOperandsMatrixASignedComponentsKHRShift = 0,
1369 SpvCooperativeMatrixOperandsMatrixBSignedComponentsKHRShift = 1,
1370 SpvCooperativeMatrixOperandsMatrixCSignedComponentsKHRShift = 2,
1371 SpvCooperativeMatrixOperandsMatrixResultSignedComponentsKHRShift = 3,
1372 SpvCooperativeMatrixOperandsSaturatingAccumulationKHRShift = 4,
1373 SpvCooperativeMatrixOperandsMax = 0x7fffffff,
1374 } SpvCooperativeMatrixOperandsShift;
1375
1376 typedef enum SpvCooperativeMatrixOperandsMask_ {
1377 SpvCooperativeMatrixOperandsMaskNone = 0,
1378 SpvCooperativeMatrixOperandsMatrixASignedComponentsKHRMask = 0x00000001,
1379 SpvCooperativeMatrixOperandsMatrixBSignedComponentsKHRMask = 0x00000002,
1380 SpvCooperativeMatrixOperandsMatrixCSignedComponentsKHRMask = 0x00000004,
1381 SpvCooperativeMatrixOperandsMatrixResultSignedComponentsKHRMask = 0x00000008,
1382 SpvCooperativeMatrixOperandsSaturatingAccumulationKHRMask = 0x00000010,
1383 } SpvCooperativeMatrixOperandsMask;
1384
1385 typedef enum SpvCooperativeMatrixLayout_ {
1386 SpvCooperativeMatrixLayoutRowMajorKHR = 0,
1387 SpvCooperativeMatrixLayoutColumnMajorKHR = 1,
1388 SpvCooperativeMatrixLayoutRowBlockedInterleavedARM = 4202,
1389 SpvCooperativeMatrixLayoutColumnBlockedInterleavedARM = 4203,
1390 SpvCooperativeMatrixLayoutMax = 0x7fffffff,
1391 } SpvCooperativeMatrixLayout;
1392
1393 typedef enum SpvCooperativeMatrixUse_ {
1394 SpvCooperativeMatrixUseMatrixAKHR = 0,
1395 SpvCooperativeMatrixUseMatrixBKHR = 1,
1396 SpvCooperativeMatrixUseMatrixAccumulatorKHR = 2,
1397 SpvCooperativeMatrixUseMax = 0x7fffffff,
1398 } SpvCooperativeMatrixUse;
1399
1400 typedef enum SpvCooperativeMatrixReduceShift_ {
1401 SpvCooperativeMatrixReduceRowShift = 0,
1402 SpvCooperativeMatrixReduceColumnShift = 1,
1403 SpvCooperativeMatrixReduce2x2Shift = 2,
1404 SpvCooperativeMatrixReduceMax = 0x7fffffff,
1405 } SpvCooperativeMatrixReduceShift;
1406
1407 typedef enum SpvCooperativeMatrixReduceMask_ {
1408 SpvCooperativeMatrixReduceMaskNone = 0,
1409 SpvCooperativeMatrixReduceRowMask = 0x00000001,
1410 SpvCooperativeMatrixReduceColumnMask = 0x00000002,
1411 SpvCooperativeMatrixReduce2x2Mask = 0x00000004,
1412 } SpvCooperativeMatrixReduceMask;
1413
1414 typedef enum SpvTensorClampMode_ {
1415 SpvTensorClampModeUndefined = 0,
1416 SpvTensorClampModeConstant = 1,
1417 SpvTensorClampModeClampToEdge = 2,
1418 SpvTensorClampModeRepeat = 3,
1419 SpvTensorClampModeRepeatMirrored = 4,
1420 SpvTensorClampModeMax = 0x7fffffff,
1421 } SpvTensorClampMode;
1422
1423 typedef enum SpvTensorAddressingOperandsShift_ {
1424 SpvTensorAddressingOperandsTensorViewShift = 0,
1425 SpvTensorAddressingOperandsDecodeFuncShift = 1,
1426 SpvTensorAddressingOperandsMax = 0x7fffffff,
1427 } SpvTensorAddressingOperandsShift;
1428
1429 typedef enum SpvTensorAddressingOperandsMask_ {
1430 SpvTensorAddressingOperandsMaskNone = 0,
1431 SpvTensorAddressingOperandsTensorViewMask = 0x00000001,
1432 SpvTensorAddressingOperandsDecodeFuncMask = 0x00000002,
1433 } SpvTensorAddressingOperandsMask;
1434
1435 typedef enum SpvInitializationModeQualifier_ {
1436 SpvInitializationModeQualifierInitOnDeviceReprogramINTEL = 0,
1437 SpvInitializationModeQualifierInitOnDeviceResetINTEL = 1,
1438 SpvInitializationModeQualifierMax = 0x7fffffff,
1439 } SpvInitializationModeQualifier;
1440
1441 typedef enum SpvHostAccessQualifier_ {
1442 SpvHostAccessQualifierNoneINTEL = 0,
1443 SpvHostAccessQualifierReadINTEL = 1,
1444 SpvHostAccessQualifierWriteINTEL = 2,
1445 SpvHostAccessQualifierReadWriteINTEL = 3,
1446 SpvHostAccessQualifierMax = 0x7fffffff,
1447 } SpvHostAccessQualifier;
1448
1449 typedef enum SpvLoadCacheControl_ {
1450 SpvLoadCacheControlUncachedINTEL = 0,
1451 SpvLoadCacheControlCachedINTEL = 1,
1452 SpvLoadCacheControlStreamingINTEL = 2,
1453 SpvLoadCacheControlInvalidateAfterReadINTEL = 3,
1454 SpvLoadCacheControlConstCachedINTEL = 4,
1455 SpvLoadCacheControlMax = 0x7fffffff,
1456 } SpvLoadCacheControl;
1457
1458 typedef enum SpvStoreCacheControl_ {
1459 SpvStoreCacheControlUncachedINTEL = 0,
1460 SpvStoreCacheControlWriteThroughINTEL = 1,
1461 SpvStoreCacheControlWriteBackINTEL = 2,
1462 SpvStoreCacheControlStreamingINTEL = 3,
1463 SpvStoreCacheControlMax = 0x7fffffff,
1464 } SpvStoreCacheControl;
1465
1466 typedef enum SpvNamedMaximumNumberOfRegisters_ {
1467 SpvNamedMaximumNumberOfRegistersAutoINTEL = 0,
1468 SpvNamedMaximumNumberOfRegistersMax = 0x7fffffff,
1469 } SpvNamedMaximumNumberOfRegisters;
1470
1471 typedef enum SpvRawAccessChainOperandsShift_ {
1472 SpvRawAccessChainOperandsRobustnessPerComponentNVShift = 0,
1473 SpvRawAccessChainOperandsRobustnessPerElementNVShift = 1,
1474 SpvRawAccessChainOperandsMax = 0x7fffffff,
1475 } SpvRawAccessChainOperandsShift;
1476
1477 typedef enum SpvRawAccessChainOperandsMask_ {
1478 SpvRawAccessChainOperandsMaskNone = 0,
1479 SpvRawAccessChainOperandsRobustnessPerComponentNVMask = 0x00000001,
1480 SpvRawAccessChainOperandsRobustnessPerElementNVMask = 0x00000002,
1481 } SpvRawAccessChainOperandsMask;
1482
1483 typedef enum SpvFPEncoding_ {
1484 SpvFPEncodingMax = 0x7fffffff,
1485 } SpvFPEncoding;
1486
1487 typedef enum SpvOp_ {
1488 SpvOpNop = 0,
1489 SpvOpUndef = 1,
1490 SpvOpSourceContinued = 2,
1491 SpvOpSource = 3,
1492 SpvOpSourceExtension = 4,
1493 SpvOpName = 5,
1494 SpvOpMemberName = 6,
1495 SpvOpString = 7,
1496 SpvOpLine = 8,
1497 SpvOpExtension = 10,
1498 SpvOpExtInstImport = 11,
1499 SpvOpExtInst = 12,
1500 SpvOpMemoryModel = 14,
1501 SpvOpEntryPoint = 15,
1502 SpvOpExecutionMode = 16,
1503 SpvOpCapability = 17,
1504 SpvOpTypeVoid = 19,
1505 SpvOpTypeBool = 20,
1506 SpvOpTypeInt = 21,
1507 SpvOpTypeFloat = 22,
1508 SpvOpTypeVector = 23,
1509 SpvOpTypeMatrix = 24,
1510 SpvOpTypeImage = 25,
1511 SpvOpTypeSampler = 26,
1512 SpvOpTypeSampledImage = 27,
1513 SpvOpTypeArray = 28,
1514 SpvOpTypeRuntimeArray = 29,
1515 SpvOpTypeStruct = 30,
1516 SpvOpTypeOpaque = 31,
1517 SpvOpTypePointer = 32,
1518 SpvOpTypeFunction = 33,
1519 SpvOpTypeEvent = 34,
1520 SpvOpTypeDeviceEvent = 35,
1521 SpvOpTypeReserveId = 36,
1522 SpvOpTypeQueue = 37,
1523 SpvOpTypePipe = 38,
1524 SpvOpTypeForwardPointer = 39,
1525 SpvOpConstantTrue = 41,
1526 SpvOpConstantFalse = 42,
1527 SpvOpConstant = 43,
1528 SpvOpConstantComposite = 44,
1529 SpvOpConstantSampler = 45,
1530 SpvOpConstantNull = 46,
1531 SpvOpSpecConstantTrue = 48,
1532 SpvOpSpecConstantFalse = 49,
1533 SpvOpSpecConstant = 50,
1534 SpvOpSpecConstantComposite = 51,
1535 SpvOpSpecConstantOp = 52,
1536 SpvOpFunction = 54,
1537 SpvOpFunctionParameter = 55,
1538 SpvOpFunctionEnd = 56,
1539 SpvOpFunctionCall = 57,
1540 SpvOpVariable = 59,
1541 SpvOpImageTexelPointer = 60,
1542 SpvOpLoad = 61,
1543 SpvOpStore = 62,
1544 SpvOpCopyMemory = 63,
1545 SpvOpCopyMemorySized = 64,
1546 SpvOpAccessChain = 65,
1547 SpvOpInBoundsAccessChain = 66,
1548 SpvOpPtrAccessChain = 67,
1549 SpvOpArrayLength = 68,
1550 SpvOpGenericPtrMemSemantics = 69,
1551 SpvOpInBoundsPtrAccessChain = 70,
1552 SpvOpDecorate = 71,
1553 SpvOpMemberDecorate = 72,
1554 SpvOpDecorationGroup = 73,
1555 SpvOpGroupDecorate = 74,
1556 SpvOpGroupMemberDecorate = 75,
1557 SpvOpVectorExtractDynamic = 77,
1558 SpvOpVectorInsertDynamic = 78,
1559 SpvOpVectorShuffle = 79,
1560 SpvOpCompositeConstruct = 80,
1561 SpvOpCompositeExtract = 81,
1562 SpvOpCompositeInsert = 82,
1563 SpvOpCopyObject = 83,
1564 SpvOpTranspose = 84,
1565 SpvOpSampledImage = 86,
1566 SpvOpImageSampleImplicitLod = 87,
1567 SpvOpImageSampleExplicitLod = 88,
1568 SpvOpImageSampleDrefImplicitLod = 89,
1569 SpvOpImageSampleDrefExplicitLod = 90,
1570 SpvOpImageSampleProjImplicitLod = 91,
1571 SpvOpImageSampleProjExplicitLod = 92,
1572 SpvOpImageSampleProjDrefImplicitLod = 93,
1573 SpvOpImageSampleProjDrefExplicitLod = 94,
1574 SpvOpImageFetch = 95,
1575 SpvOpImageGather = 96,
1576 SpvOpImageDrefGather = 97,
1577 SpvOpImageRead = 98,
1578 SpvOpImageWrite = 99,
1579 SpvOpImage = 100,
1580 SpvOpImageQueryFormat = 101,
1581 SpvOpImageQueryOrder = 102,
1582 SpvOpImageQuerySizeLod = 103,
1583 SpvOpImageQuerySize = 104,
1584 SpvOpImageQueryLod = 105,
1585 SpvOpImageQueryLevels = 106,
1586 SpvOpImageQuerySamples = 107,
1587 SpvOpConvertFToU = 109,
1588 SpvOpConvertFToS = 110,
1589 SpvOpConvertSToF = 111,
1590 SpvOpConvertUToF = 112,
1591 SpvOpUConvert = 113,
1592 SpvOpSConvert = 114,
1593 SpvOpFConvert = 115,
1594 SpvOpQuantizeToF16 = 116,
1595 SpvOpConvertPtrToU = 117,
1596 SpvOpSatConvertSToU = 118,
1597 SpvOpSatConvertUToS = 119,
1598 SpvOpConvertUToPtr = 120,
1599 SpvOpPtrCastToGeneric = 121,
1600 SpvOpGenericCastToPtr = 122,
1601 SpvOpGenericCastToPtrExplicit = 123,
1602 SpvOpBitcast = 124,
1603 SpvOpSNegate = 126,
1604 SpvOpFNegate = 127,
1605 SpvOpIAdd = 128,
1606 SpvOpFAdd = 129,
1607 SpvOpISub = 130,
1608 SpvOpFSub = 131,
1609 SpvOpIMul = 132,
1610 SpvOpFMul = 133,
1611 SpvOpUDiv = 134,
1612 SpvOpSDiv = 135,
1613 SpvOpFDiv = 136,
1614 SpvOpUMod = 137,
1615 SpvOpSRem = 138,
1616 SpvOpSMod = 139,
1617 SpvOpFRem = 140,
1618 SpvOpFMod = 141,
1619 SpvOpVectorTimesScalar = 142,
1620 SpvOpMatrixTimesScalar = 143,
1621 SpvOpVectorTimesMatrix = 144,
1622 SpvOpMatrixTimesVector = 145,
1623 SpvOpMatrixTimesMatrix = 146,
1624 SpvOpOuterProduct = 147,
1625 SpvOpDot = 148,
1626 SpvOpIAddCarry = 149,
1627 SpvOpISubBorrow = 150,
1628 SpvOpUMulExtended = 151,
1629 SpvOpSMulExtended = 152,
1630 SpvOpAny = 154,
1631 SpvOpAll = 155,
1632 SpvOpIsNan = 156,
1633 SpvOpIsInf = 157,
1634 SpvOpIsFinite = 158,
1635 SpvOpIsNormal = 159,
1636 SpvOpSignBitSet = 160,
1637 SpvOpLessOrGreater = 161,
1638 SpvOpOrdered = 162,
1639 SpvOpUnordered = 163,
1640 SpvOpLogicalEqual = 164,
1641 SpvOpLogicalNotEqual = 165,
1642 SpvOpLogicalOr = 166,
1643 SpvOpLogicalAnd = 167,
1644 SpvOpLogicalNot = 168,
1645 SpvOpSelect = 169,
1646 SpvOpIEqual = 170,
1647 SpvOpINotEqual = 171,
1648 SpvOpUGreaterThan = 172,
1649 SpvOpSGreaterThan = 173,
1650 SpvOpUGreaterThanEqual = 174,
1651 SpvOpSGreaterThanEqual = 175,
1652 SpvOpULessThan = 176,
1653 SpvOpSLessThan = 177,
1654 SpvOpULessThanEqual = 178,
1655 SpvOpSLessThanEqual = 179,
1656 SpvOpFOrdEqual = 180,
1657 SpvOpFUnordEqual = 181,
1658 SpvOpFOrdNotEqual = 182,
1659 SpvOpFUnordNotEqual = 183,
1660 SpvOpFOrdLessThan = 184,
1661 SpvOpFUnordLessThan = 185,
1662 SpvOpFOrdGreaterThan = 186,
1663 SpvOpFUnordGreaterThan = 187,
1664 SpvOpFOrdLessThanEqual = 188,
1665 SpvOpFUnordLessThanEqual = 189,
1666 SpvOpFOrdGreaterThanEqual = 190,
1667 SpvOpFUnordGreaterThanEqual = 191,
1668 SpvOpShiftRightLogical = 194,
1669 SpvOpShiftRightArithmetic = 195,
1670 SpvOpShiftLeftLogical = 196,
1671 SpvOpBitwiseOr = 197,
1672 SpvOpBitwiseXor = 198,
1673 SpvOpBitwiseAnd = 199,
1674 SpvOpNot = 200,
1675 SpvOpBitFieldInsert = 201,
1676 SpvOpBitFieldSExtract = 202,
1677 SpvOpBitFieldUExtract = 203,
1678 SpvOpBitReverse = 204,
1679 SpvOpBitCount = 205,
1680 SpvOpDPdx = 207,
1681 SpvOpDPdy = 208,
1682 SpvOpFwidth = 209,
1683 SpvOpDPdxFine = 210,
1684 SpvOpDPdyFine = 211,
1685 SpvOpFwidthFine = 212,
1686 SpvOpDPdxCoarse = 213,
1687 SpvOpDPdyCoarse = 214,
1688 SpvOpFwidthCoarse = 215,
1689 SpvOpEmitVertex = 218,
1690 SpvOpEndPrimitive = 219,
1691 SpvOpEmitStreamVertex = 220,
1692 SpvOpEndStreamPrimitive = 221,
1693 SpvOpControlBarrier = 224,
1694 SpvOpMemoryBarrier = 225,
1695 SpvOpAtomicLoad = 227,
1696 SpvOpAtomicStore = 228,
1697 SpvOpAtomicExchange = 229,
1698 SpvOpAtomicCompareExchange = 230,
1699 SpvOpAtomicCompareExchangeWeak = 231,
1700 SpvOpAtomicIIncrement = 232,
1701 SpvOpAtomicIDecrement = 233,
1702 SpvOpAtomicIAdd = 234,
1703 SpvOpAtomicISub = 235,
1704 SpvOpAtomicSMin = 236,
1705 SpvOpAtomicUMin = 237,
1706 SpvOpAtomicSMax = 238,
1707 SpvOpAtomicUMax = 239,
1708 SpvOpAtomicAnd = 240,
1709 SpvOpAtomicOr = 241,
1710 SpvOpAtomicXor = 242,
1711 SpvOpPhi = 245,
1712 SpvOpLoopMerge = 246,
1713 SpvOpSelectionMerge = 247,
1714 SpvOpLabel = 248,
1715 SpvOpBranch = 249,
1716 SpvOpBranchConditional = 250,
1717 SpvOpSwitch = 251,
1718 SpvOpKill = 252,
1719 SpvOpReturn = 253,
1720 SpvOpReturnValue = 254,
1721 SpvOpUnreachable = 255,
1722 SpvOpLifetimeStart = 256,
1723 SpvOpLifetimeStop = 257,
1724 SpvOpGroupAsyncCopy = 259,
1725 SpvOpGroupWaitEvents = 260,
1726 SpvOpGroupAll = 261,
1727 SpvOpGroupAny = 262,
1728 SpvOpGroupBroadcast = 263,
1729 SpvOpGroupIAdd = 264,
1730 SpvOpGroupFAdd = 265,
1731 SpvOpGroupFMin = 266,
1732 SpvOpGroupUMin = 267,
1733 SpvOpGroupSMin = 268,
1734 SpvOpGroupFMax = 269,
1735 SpvOpGroupUMax = 270,
1736 SpvOpGroupSMax = 271,
1737 SpvOpReadPipe = 274,
1738 SpvOpWritePipe = 275,
1739 SpvOpReservedReadPipe = 276,
1740 SpvOpReservedWritePipe = 277,
1741 SpvOpReserveReadPipePackets = 278,
1742 SpvOpReserveWritePipePackets = 279,
1743 SpvOpCommitReadPipe = 280,
1744 SpvOpCommitWritePipe = 281,
1745 SpvOpIsValidReserveId = 282,
1746 SpvOpGetNumPipePackets = 283,
1747 SpvOpGetMaxPipePackets = 284,
1748 SpvOpGroupReserveReadPipePackets = 285,
1749 SpvOpGroupReserveWritePipePackets = 286,
1750 SpvOpGroupCommitReadPipe = 287,
1751 SpvOpGroupCommitWritePipe = 288,
1752 SpvOpEnqueueMarker = 291,
1753 SpvOpEnqueueKernel = 292,
1754 SpvOpGetKernelNDrangeSubGroupCount = 293,
1755 SpvOpGetKernelNDrangeMaxSubGroupSize = 294,
1756 SpvOpGetKernelWorkGroupSize = 295,
1757 SpvOpGetKernelPreferredWorkGroupSizeMultiple = 296,
1758 SpvOpRetainEvent = 297,
1759 SpvOpReleaseEvent = 298,
1760 SpvOpCreateUserEvent = 299,
1761 SpvOpIsValidEvent = 300,
1762 SpvOpSetUserEventStatus = 301,
1763 SpvOpCaptureEventProfilingInfo = 302,
1764 SpvOpGetDefaultQueue = 303,
1765 SpvOpBuildNDRange = 304,
1766 SpvOpImageSparseSampleImplicitLod = 305,
1767 SpvOpImageSparseSampleExplicitLod = 306,
1768 SpvOpImageSparseSampleDrefImplicitLod = 307,
1769 SpvOpImageSparseSampleDrefExplicitLod = 308,
1770 SpvOpImageSparseSampleProjImplicitLod = 309,
1771 SpvOpImageSparseSampleProjExplicitLod = 310,
1772 SpvOpImageSparseSampleProjDrefImplicitLod = 311,
1773 SpvOpImageSparseSampleProjDrefExplicitLod = 312,
1774 SpvOpImageSparseFetch = 313,
1775 SpvOpImageSparseGather = 314,
1776 SpvOpImageSparseDrefGather = 315,
1777 SpvOpImageSparseTexelsResident = 316,
1778 SpvOpNoLine = 317,
1779 SpvOpAtomicFlagTestAndSet = 318,
1780 SpvOpAtomicFlagClear = 319,
1781 SpvOpImageSparseRead = 320,
1782 SpvOpSizeOf = 321,
1783 SpvOpTypePipeStorage = 322,
1784 SpvOpConstantPipeStorage = 323,
1785 SpvOpCreatePipeFromPipeStorage = 324,
1786 SpvOpGetKernelLocalSizeForSubgroupCount = 325,
1787 SpvOpGetKernelMaxNumSubgroups = 326,
1788 SpvOpTypeNamedBarrier = 327,
1789 SpvOpNamedBarrierInitialize = 328,
1790 SpvOpMemoryNamedBarrier = 329,
1791 SpvOpModuleProcessed = 330,
1792 SpvOpExecutionModeId = 331,
1793 SpvOpDecorateId = 332,
1794 SpvOpGroupNonUniformElect = 333,
1795 SpvOpGroupNonUniformAll = 334,
1796 SpvOpGroupNonUniformAny = 335,
1797 SpvOpGroupNonUniformAllEqual = 336,
1798 SpvOpGroupNonUniformBroadcast = 337,
1799 SpvOpGroupNonUniformBroadcastFirst = 338,
1800 SpvOpGroupNonUniformBallot = 339,
1801 SpvOpGroupNonUniformInverseBallot = 340,
1802 SpvOpGroupNonUniformBallotBitExtract = 341,
1803 SpvOpGroupNonUniformBallotBitCount = 342,
1804 SpvOpGroupNonUniformBallotFindLSB = 343,
1805 SpvOpGroupNonUniformBallotFindMSB = 344,
1806 SpvOpGroupNonUniformShuffle = 345,
1807 SpvOpGroupNonUniformShuffleXor = 346,
1808 SpvOpGroupNonUniformShuffleUp = 347,
1809 SpvOpGroupNonUniformShuffleDown = 348,
1810 SpvOpGroupNonUniformIAdd = 349,
1811 SpvOpGroupNonUniformFAdd = 350,
1812 SpvOpGroupNonUniformIMul = 351,
1813 SpvOpGroupNonUniformFMul = 352,
1814 SpvOpGroupNonUniformSMin = 353,
1815 SpvOpGroupNonUniformUMin = 354,
1816 SpvOpGroupNonUniformFMin = 355,
1817 SpvOpGroupNonUniformSMax = 356,
1818 SpvOpGroupNonUniformUMax = 357,
1819 SpvOpGroupNonUniformFMax = 358,
1820 SpvOpGroupNonUniformBitwiseAnd = 359,
1821 SpvOpGroupNonUniformBitwiseOr = 360,
1822 SpvOpGroupNonUniformBitwiseXor = 361,
1823 SpvOpGroupNonUniformLogicalAnd = 362,
1824 SpvOpGroupNonUniformLogicalOr = 363,
1825 SpvOpGroupNonUniformLogicalXor = 364,
1826 SpvOpGroupNonUniformQuadBroadcast = 365,
1827 SpvOpGroupNonUniformQuadSwap = 366,
1828 SpvOpCopyLogical = 400,
1829 SpvOpPtrEqual = 401,
1830 SpvOpPtrNotEqual = 402,
1831 SpvOpPtrDiff = 403,
1832 SpvOpColorAttachmentReadEXT = 4160,
1833 SpvOpDepthAttachmentReadEXT = 4161,
1834 SpvOpStencilAttachmentReadEXT = 4162,
1835 SpvOpTerminateInvocation = 4416,
1836 SpvOpTypeUntypedPointerKHR = 4417,
1837 SpvOpUntypedVariableKHR = 4418,
1838 SpvOpUntypedAccessChainKHR = 4419,
1839 SpvOpUntypedInBoundsAccessChainKHR = 4420,
1840 SpvOpSubgroupBallotKHR = 4421,
1841 SpvOpSubgroupFirstInvocationKHR = 4422,
1842 SpvOpUntypedPtrAccessChainKHR = 4423,
1843 SpvOpUntypedInBoundsPtrAccessChainKHR = 4424,
1844 SpvOpUntypedArrayLengthKHR = 4425,
1845 SpvOpUntypedPrefetchKHR = 4426,
1846 SpvOpSubgroupAllKHR = 4428,
1847 SpvOpSubgroupAnyKHR = 4429,
1848 SpvOpSubgroupAllEqualKHR = 4430,
1849 SpvOpGroupNonUniformRotateKHR = 4431,
1850 SpvOpSubgroupReadInvocationKHR = 4432,
1851 SpvOpExtInstWithForwardRefsKHR = 4433,
1852 SpvOpTraceRayKHR = 4445,
1853 SpvOpExecuteCallableKHR = 4446,
1854 SpvOpConvertUToAccelerationStructureKHR = 4447,
1855 SpvOpIgnoreIntersectionKHR = 4448,
1856 SpvOpTerminateRayKHR = 4449,
1857 SpvOpSDot = 4450,
1858 SpvOpSDotKHR = 4450,
1859 SpvOpUDot = 4451,
1860 SpvOpUDotKHR = 4451,
1861 SpvOpSUDot = 4452,
1862 SpvOpSUDotKHR = 4452,
1863 SpvOpSDotAccSat = 4453,
1864 SpvOpSDotAccSatKHR = 4453,
1865 SpvOpUDotAccSat = 4454,
1866 SpvOpUDotAccSatKHR = 4454,
1867 SpvOpSUDotAccSat = 4455,
1868 SpvOpSUDotAccSatKHR = 4455,
1869 SpvOpTypeCooperativeMatrixKHR = 4456,
1870 SpvOpCooperativeMatrixLoadKHR = 4457,
1871 SpvOpCooperativeMatrixStoreKHR = 4458,
1872 SpvOpCooperativeMatrixMulAddKHR = 4459,
1873 SpvOpCooperativeMatrixLengthKHR = 4460,
1874 SpvOpConstantCompositeReplicateEXT = 4461,
1875 SpvOpSpecConstantCompositeReplicateEXT = 4462,
1876 SpvOpCompositeConstructReplicateEXT = 4463,
1877 SpvOpTypeRayQueryKHR = 4472,
1878 SpvOpRayQueryInitializeKHR = 4473,
1879 SpvOpRayQueryTerminateKHR = 4474,
1880 SpvOpRayQueryGenerateIntersectionKHR = 4475,
1881 SpvOpRayQueryConfirmIntersectionKHR = 4476,
1882 SpvOpRayQueryProceedKHR = 4477,
1883 SpvOpRayQueryGetIntersectionTypeKHR = 4479,
1884 SpvOpImageSampleWeightedQCOM = 4480,
1885 SpvOpImageBoxFilterQCOM = 4481,
1886 SpvOpImageBlockMatchSSDQCOM = 4482,
1887 SpvOpImageBlockMatchSADQCOM = 4483,
1888 SpvOpImageBlockMatchWindowSSDQCOM = 4500,
1889 SpvOpImageBlockMatchWindowSADQCOM = 4501,
1890 SpvOpImageBlockMatchGatherSSDQCOM = 4502,
1891 SpvOpImageBlockMatchGatherSADQCOM = 4503,
1892 SpvOpGroupIAddNonUniformAMD = 5000,
1893 SpvOpGroupFAddNonUniformAMD = 5001,
1894 SpvOpGroupFMinNonUniformAMD = 5002,
1895 SpvOpGroupUMinNonUniformAMD = 5003,
1896 SpvOpGroupSMinNonUniformAMD = 5004,
1897 SpvOpGroupFMaxNonUniformAMD = 5005,
1898 SpvOpGroupUMaxNonUniformAMD = 5006,
1899 SpvOpGroupSMaxNonUniformAMD = 5007,
1900 SpvOpFragmentMaskFetchAMD = 5011,
1901 SpvOpFragmentFetchAMD = 5012,
1902 SpvOpReadClockKHR = 5056,
1903 SpvOpAllocateNodePayloadsAMDX = 5074,
1904 SpvOpEnqueueNodePayloadsAMDX = 5075,
1905 SpvOpTypeNodePayloadArrayAMDX = 5076,
1906 SpvOpFinishWritingNodePayloadAMDX = 5078,
1907 SpvOpNodePayloadArrayLengthAMDX = 5090,
1908 SpvOpIsNodePayloadValidAMDX = 5101,
1909 SpvOpConstantStringAMDX = 5103,
1910 SpvOpSpecConstantStringAMDX = 5104,
1911 SpvOpGroupNonUniformQuadAllKHR = 5110,
1912 SpvOpGroupNonUniformQuadAnyKHR = 5111,
1913 SpvOpHitObjectRecordHitMotionNV = 5249,
1914 SpvOpHitObjectRecordHitWithIndexMotionNV = 5250,
1915 SpvOpHitObjectRecordMissMotionNV = 5251,
1916 SpvOpHitObjectGetWorldToObjectNV = 5252,
1917 SpvOpHitObjectGetObjectToWorldNV = 5253,
1918 SpvOpHitObjectGetObjectRayDirectionNV = 5254,
1919 SpvOpHitObjectGetObjectRayOriginNV = 5255,
1920 SpvOpHitObjectTraceRayMotionNV = 5256,
1921 SpvOpHitObjectGetShaderRecordBufferHandleNV = 5257,
1922 SpvOpHitObjectGetShaderBindingTableRecordIndexNV = 5258,
1923 SpvOpHitObjectRecordEmptyNV = 5259,
1924 SpvOpHitObjectTraceRayNV = 5260,
1925 SpvOpHitObjectRecordHitNV = 5261,
1926 SpvOpHitObjectRecordHitWithIndexNV = 5262,
1927 SpvOpHitObjectRecordMissNV = 5263,
1928 SpvOpHitObjectExecuteShaderNV = 5264,
1929 SpvOpHitObjectGetCurrentTimeNV = 5265,
1930 SpvOpHitObjectGetAttributesNV = 5266,
1931 SpvOpHitObjectGetHitKindNV = 5267,
1932 SpvOpHitObjectGetPrimitiveIndexNV = 5268,
1933 SpvOpHitObjectGetGeometryIndexNV = 5269,
1934 SpvOpHitObjectGetInstanceIdNV = 5270,
1935 SpvOpHitObjectGetInstanceCustomIndexNV = 5271,
1936 SpvOpHitObjectGetWorldRayDirectionNV = 5272,
1937 SpvOpHitObjectGetWorldRayOriginNV = 5273,
1938 SpvOpHitObjectGetRayTMaxNV = 5274,
1939 SpvOpHitObjectGetRayTMinNV = 5275,
1940 SpvOpHitObjectIsEmptyNV = 5276,
1941 SpvOpHitObjectIsHitNV = 5277,
1942 SpvOpHitObjectIsMissNV = 5278,
1943 SpvOpReorderThreadWithHitObjectNV = 5279,
1944 SpvOpReorderThreadWithHintNV = 5280,
1945 SpvOpTypeHitObjectNV = 5281,
1946 SpvOpImageSampleFootprintNV = 5283,
1947 SpvOpCooperativeMatrixConvertNV = 5293,
1948 SpvOpEmitMeshTasksEXT = 5294,
1949 SpvOpSetMeshOutputsEXT = 5295,
1950 SpvOpGroupNonUniformPartitionNV = 5296,
1951 SpvOpWritePackedPrimitiveIndices4x8NV = 5299,
1952 SpvOpFetchMicroTriangleVertexPositionNV = 5300,
1953 SpvOpFetchMicroTriangleVertexBarycentricNV = 5301,
1954 SpvOpReportIntersectionKHR = 5334,
1955 SpvOpReportIntersectionNV = 5334,
1956 SpvOpIgnoreIntersectionNV = 5335,
1957 SpvOpTerminateRayNV = 5336,
1958 SpvOpTraceNV = 5337,
1959 SpvOpTraceMotionNV = 5338,
1960 SpvOpTraceRayMotionNV = 5339,
1961 SpvOpRayQueryGetIntersectionTriangleVertexPositionsKHR = 5340,
1962 SpvOpTypeAccelerationStructureKHR = 5341,
1963 SpvOpTypeAccelerationStructureNV = 5341,
1964 SpvOpExecuteCallableNV = 5344,
1965 SpvOpTypeCooperativeMatrixNV = 5358,
1966 SpvOpCooperativeMatrixLoadNV = 5359,
1967 SpvOpCooperativeMatrixStoreNV = 5360,
1968 SpvOpCooperativeMatrixMulAddNV = 5361,
1969 SpvOpCooperativeMatrixLengthNV = 5362,
1970 SpvOpBeginInvocationInterlockEXT = 5364,
1971 SpvOpEndInvocationInterlockEXT = 5365,
1972 SpvOpCooperativeMatrixReduceNV = 5366,
1973 SpvOpCooperativeMatrixLoadTensorNV = 5367,
1974 SpvOpCooperativeMatrixStoreTensorNV = 5368,
1975 SpvOpCooperativeMatrixPerElementOpNV = 5369,
1976 SpvOpTypeTensorLayoutNV = 5370,
1977 SpvOpTypeTensorViewNV = 5371,
1978 SpvOpCreateTensorLayoutNV = 5372,
1979 SpvOpTensorLayoutSetDimensionNV = 5373,
1980 SpvOpTensorLayoutSetStrideNV = 5374,
1981 SpvOpTensorLayoutSliceNV = 5375,
1982 SpvOpTensorLayoutSetClampValueNV = 5376,
1983 SpvOpCreateTensorViewNV = 5377,
1984 SpvOpTensorViewSetDimensionNV = 5378,
1985 SpvOpTensorViewSetStrideNV = 5379,
1986 SpvOpDemoteToHelperInvocation = 5380,
1987 SpvOpDemoteToHelperInvocationEXT = 5380,
1988 SpvOpIsHelperInvocationEXT = 5381,
1989 SpvOpTensorViewSetClipNV = 5382,
1990 SpvOpTensorLayoutSetBlockSizeNV = 5384,
1991 SpvOpCooperativeMatrixTransposeNV = 5390,
1992 SpvOpConvertUToImageNV = 5391,
1993 SpvOpConvertUToSamplerNV = 5392,
1994 SpvOpConvertImageToUNV = 5393,
1995 SpvOpConvertSamplerToUNV = 5394,
1996 SpvOpConvertUToSampledImageNV = 5395,
1997 SpvOpConvertSampledImageToUNV = 5396,
1998 SpvOpSamplerImageAddressingModeNV = 5397,
1999 SpvOpRawAccessChainNV = 5398,
2000 SpvOpSubgroupShuffleINTEL = 5571,
2001 SpvOpSubgroupShuffleDownINTEL = 5572,
2002 SpvOpSubgroupShuffleUpINTEL = 5573,
2003 SpvOpSubgroupShuffleXorINTEL = 5574,
2004 SpvOpSubgroupBlockReadINTEL = 5575,
2005 SpvOpSubgroupBlockWriteINTEL = 5576,
2006 SpvOpSubgroupImageBlockReadINTEL = 5577,
2007 SpvOpSubgroupImageBlockWriteINTEL = 5578,
2008 SpvOpSubgroupImageMediaBlockReadINTEL = 5580,
2009 SpvOpSubgroupImageMediaBlockWriteINTEL = 5581,
2010 SpvOpUCountLeadingZerosINTEL = 5585,
2011 SpvOpUCountTrailingZerosINTEL = 5586,
2012 SpvOpAbsISubINTEL = 5587,
2013 SpvOpAbsUSubINTEL = 5588,
2014 SpvOpIAddSatINTEL = 5589,
2015 SpvOpUAddSatINTEL = 5590,
2016 SpvOpIAverageINTEL = 5591,
2017 SpvOpUAverageINTEL = 5592,
2018 SpvOpIAverageRoundedINTEL = 5593,
2019 SpvOpUAverageRoundedINTEL = 5594,
2020 SpvOpISubSatINTEL = 5595,
2021 SpvOpUSubSatINTEL = 5596,
2022 SpvOpIMul32x16INTEL = 5597,
2023 SpvOpUMul32x16INTEL = 5598,
2024 SpvOpConstantFunctionPointerINTEL = 5600,
2025 SpvOpFunctionPointerCallINTEL = 5601,
2026 SpvOpAsmTargetINTEL = 5609,
2027 SpvOpAsmINTEL = 5610,
2028 SpvOpAsmCallINTEL = 5611,
2029 SpvOpAtomicFMinEXT = 5614,
2030 SpvOpAtomicFMaxEXT = 5615,
2031 SpvOpAssumeTrueKHR = 5630,
2032 SpvOpExpectKHR = 5631,
2033 SpvOpDecorateString = 5632,
2034 SpvOpDecorateStringGOOGLE = 5632,
2035 SpvOpMemberDecorateString = 5633,
2036 SpvOpMemberDecorateStringGOOGLE = 5633,
2037 SpvOpVmeImageINTEL = 5699,
2038 SpvOpTypeVmeImageINTEL = 5700,
2039 SpvOpTypeAvcImePayloadINTEL = 5701,
2040 SpvOpTypeAvcRefPayloadINTEL = 5702,
2041 SpvOpTypeAvcSicPayloadINTEL = 5703,
2042 SpvOpTypeAvcMcePayloadINTEL = 5704,
2043 SpvOpTypeAvcMceResultINTEL = 5705,
2044 SpvOpTypeAvcImeResultINTEL = 5706,
2045 SpvOpTypeAvcImeResultSingleReferenceStreamoutINTEL = 5707,
2046 SpvOpTypeAvcImeResultDualReferenceStreamoutINTEL = 5708,
2047 SpvOpTypeAvcImeSingleReferenceStreaminINTEL = 5709,
2048 SpvOpTypeAvcImeDualReferenceStreaminINTEL = 5710,
2049 SpvOpTypeAvcRefResultINTEL = 5711,
2050 SpvOpTypeAvcSicResultINTEL = 5712,
2051 SpvOpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL = 5713,
2052 SpvOpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL = 5714,
2053 SpvOpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL = 5715,
2054 SpvOpSubgroupAvcMceSetInterShapePenaltyINTEL = 5716,
2055 SpvOpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL = 5717,
2056 SpvOpSubgroupAvcMceSetInterDirectionPenaltyINTEL = 5718,
2057 SpvOpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL = 5719,
2058 SpvOpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL = 5720,
2059 SpvOpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL = 5721,
2060 SpvOpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL = 5722,
2061 SpvOpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL = 5723,
2062 SpvOpSubgroupAvcMceSetMotionVectorCostFunctionINTEL = 5724,
2063 SpvOpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL = 5725,
2064 SpvOpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL = 5726,
2065 SpvOpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL = 5727,
2066 SpvOpSubgroupAvcMceSetAcOnlyHaarINTEL = 5728,
2067 SpvOpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL = 5729,
2068 SpvOpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL = 5730,
2069 SpvOpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL = 5731,
2070 SpvOpSubgroupAvcMceConvertToImePayloadINTEL = 5732,
2071 SpvOpSubgroupAvcMceConvertToImeResultINTEL = 5733,
2072 SpvOpSubgroupAvcMceConvertToRefPayloadINTEL = 5734,
2073 SpvOpSubgroupAvcMceConvertToRefResultINTEL = 5735,
2074 SpvOpSubgroupAvcMceConvertToSicPayloadINTEL = 5736,
2075 SpvOpSubgroupAvcMceConvertToSicResultINTEL = 5737,
2076 SpvOpSubgroupAvcMceGetMotionVectorsINTEL = 5738,
2077 SpvOpSubgroupAvcMceGetInterDistortionsINTEL = 5739,
2078 SpvOpSubgroupAvcMceGetBestInterDistortionsINTEL = 5740,
2079 SpvOpSubgroupAvcMceGetInterMajorShapeINTEL = 5741,
2080 SpvOpSubgroupAvcMceGetInterMinorShapeINTEL = 5742,
2081 SpvOpSubgroupAvcMceGetInterDirectionsINTEL = 5743,
2082 SpvOpSubgroupAvcMceGetInterMotionVectorCountINTEL = 5744,
2083 SpvOpSubgroupAvcMceGetInterReferenceIdsINTEL = 5745,
2084 SpvOpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL = 5746,
2085 SpvOpSubgroupAvcImeInitializeINTEL = 5747,
2086 SpvOpSubgroupAvcImeSetSingleReferenceINTEL = 5748,
2087 SpvOpSubgroupAvcImeSetDualReferenceINTEL = 5749,
2088 SpvOpSubgroupAvcImeRefWindowSizeINTEL = 5750,
2089 SpvOpSubgroupAvcImeAdjustRefOffsetINTEL = 5751,
2090 SpvOpSubgroupAvcImeConvertToMcePayloadINTEL = 5752,
2091 SpvOpSubgroupAvcImeSetMaxMotionVectorCountINTEL = 5753,
2092 SpvOpSubgroupAvcImeSetUnidirectionalMixDisableINTEL = 5754,
2093 SpvOpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL = 5755,
2094 SpvOpSubgroupAvcImeSetWeightedSadINTEL = 5756,
2095 SpvOpSubgroupAvcImeEvaluateWithSingleReferenceINTEL = 5757,
2096 SpvOpSubgroupAvcImeEvaluateWithDualReferenceINTEL = 5758,
2097 SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL = 5759,
2098 SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL = 5760,
2099 SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL = 5761,
2100 SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL = 5762,
2101 SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL = 5763,
2102 SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL = 5764,
2103 SpvOpSubgroupAvcImeConvertToMceResultINTEL = 5765,
2104 SpvOpSubgroupAvcImeGetSingleReferenceStreaminINTEL = 5766,
2105 SpvOpSubgroupAvcImeGetDualReferenceStreaminINTEL = 5767,
2106 SpvOpSubgroupAvcImeStripSingleReferenceStreamoutINTEL = 5768,
2107 SpvOpSubgroupAvcImeStripDualReferenceStreamoutINTEL = 5769,
2108 SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL = 5770,
2109 SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL = 5771,
2110 SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL = 5772,
2111 SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL = 5773,
2112 SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL = 5774,
2113 SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL = 5775,
2114 SpvOpSubgroupAvcImeGetBorderReachedINTEL = 5776,
2115 SpvOpSubgroupAvcImeGetTruncatedSearchIndicationINTEL = 5777,
2116 SpvOpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL = 5778,
2117 SpvOpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL = 5779,
2118 SpvOpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL = 5780,
2119 SpvOpSubgroupAvcFmeInitializeINTEL = 5781,
2120 SpvOpSubgroupAvcBmeInitializeINTEL = 5782,
2121 SpvOpSubgroupAvcRefConvertToMcePayloadINTEL = 5783,
2122 SpvOpSubgroupAvcRefSetBidirectionalMixDisableINTEL = 5784,
2123 SpvOpSubgroupAvcRefSetBilinearFilterEnableINTEL = 5785,
2124 SpvOpSubgroupAvcRefEvaluateWithSingleReferenceINTEL = 5786,
2125 SpvOpSubgroupAvcRefEvaluateWithDualReferenceINTEL = 5787,
2126 SpvOpSubgroupAvcRefEvaluateWithMultiReferenceINTEL = 5788,
2127 SpvOpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL = 5789,
2128 SpvOpSubgroupAvcRefConvertToMceResultINTEL = 5790,
2129 SpvOpSubgroupAvcSicInitializeINTEL = 5791,
2130 SpvOpSubgroupAvcSicConfigureSkcINTEL = 5792,
2131 SpvOpSubgroupAvcSicConfigureIpeLumaINTEL = 5793,
2132 SpvOpSubgroupAvcSicConfigureIpeLumaChromaINTEL = 5794,
2133 SpvOpSubgroupAvcSicGetMotionVectorMaskINTEL = 5795,
2134 SpvOpSubgroupAvcSicConvertToMcePayloadINTEL = 5796,
2135 SpvOpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL = 5797,
2136 SpvOpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL = 5798,
2137 SpvOpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL = 5799,
2138 SpvOpSubgroupAvcSicSetBilinearFilterEnableINTEL = 5800,
2139 SpvOpSubgroupAvcSicSetSkcForwardTransformEnableINTEL = 5801,
2140 SpvOpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL = 5802,
2141 SpvOpSubgroupAvcSicEvaluateIpeINTEL = 5803,
2142 SpvOpSubgroupAvcSicEvaluateWithSingleReferenceINTEL = 5804,
2143 SpvOpSubgroupAvcSicEvaluateWithDualReferenceINTEL = 5805,
2144 SpvOpSubgroupAvcSicEvaluateWithMultiReferenceINTEL = 5806,
2145 SpvOpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL = 5807,
2146 SpvOpSubgroupAvcSicConvertToMceResultINTEL = 5808,
2147 SpvOpSubgroupAvcSicGetIpeLumaShapeINTEL = 5809,
2148 SpvOpSubgroupAvcSicGetBestIpeLumaDistortionINTEL = 5810,
2149 SpvOpSubgroupAvcSicGetBestIpeChromaDistortionINTEL = 5811,
2150 SpvOpSubgroupAvcSicGetPackedIpeLumaModesINTEL = 5812,
2151 SpvOpSubgroupAvcSicGetIpeChromaModeINTEL = 5813,
2152 SpvOpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
2153 SpvOpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
2154 SpvOpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
2155 SpvOpVariableLengthArrayINTEL = 5818,
2156 SpvOpSaveMemoryINTEL = 5819,
2157 SpvOpRestoreMemoryINTEL = 5820,
2158 SpvOpArbitraryFloatSinCosPiINTEL = 5840,
2159 SpvOpArbitraryFloatCastINTEL = 5841,
2160 SpvOpArbitraryFloatCastFromIntINTEL = 5842,
2161 SpvOpArbitraryFloatCastToIntINTEL = 5843,
2162 SpvOpArbitraryFloatAddINTEL = 5846,
2163 SpvOpArbitraryFloatSubINTEL = 5847,
2164 SpvOpArbitraryFloatMulINTEL = 5848,
2165 SpvOpArbitraryFloatDivINTEL = 5849,
2166 SpvOpArbitraryFloatGTINTEL = 5850,
2167 SpvOpArbitraryFloatGEINTEL = 5851,
2168 SpvOpArbitraryFloatLTINTEL = 5852,
2169 SpvOpArbitraryFloatLEINTEL = 5853,
2170 SpvOpArbitraryFloatEQINTEL = 5854,
2171 SpvOpArbitraryFloatRecipINTEL = 5855,
2172 SpvOpArbitraryFloatRSqrtINTEL = 5856,
2173 SpvOpArbitraryFloatCbrtINTEL = 5857,
2174 SpvOpArbitraryFloatHypotINTEL = 5858,
2175 SpvOpArbitraryFloatSqrtINTEL = 5859,
2176 SpvOpArbitraryFloatLogINTEL = 5860,
2177 SpvOpArbitraryFloatLog2INTEL = 5861,
2178 SpvOpArbitraryFloatLog10INTEL = 5862,
2179 SpvOpArbitraryFloatLog1pINTEL = 5863,
2180 SpvOpArbitraryFloatExpINTEL = 5864,
2181 SpvOpArbitraryFloatExp2INTEL = 5865,
2182 SpvOpArbitraryFloatExp10INTEL = 5866,
2183 SpvOpArbitraryFloatExpm1INTEL = 5867,
2184 SpvOpArbitraryFloatSinINTEL = 5868,
2185 SpvOpArbitraryFloatCosINTEL = 5869,
2186 SpvOpArbitraryFloatSinCosINTEL = 5870,
2187 SpvOpArbitraryFloatSinPiINTEL = 5871,
2188 SpvOpArbitraryFloatCosPiINTEL = 5872,
2189 SpvOpArbitraryFloatASinINTEL = 5873,
2190 SpvOpArbitraryFloatASinPiINTEL = 5874,
2191 SpvOpArbitraryFloatACosINTEL = 5875,
2192 SpvOpArbitraryFloatACosPiINTEL = 5876,
2193 SpvOpArbitraryFloatATanINTEL = 5877,
2194 SpvOpArbitraryFloatATanPiINTEL = 5878,
2195 SpvOpArbitraryFloatATan2INTEL = 5879,
2196 SpvOpArbitraryFloatPowINTEL = 5880,
2197 SpvOpArbitraryFloatPowRINTEL = 5881,
2198 SpvOpArbitraryFloatPowNINTEL = 5882,
2199 SpvOpLoopControlINTEL = 5887,
2200 SpvOpAliasDomainDeclINTEL = 5911,
2201 SpvOpAliasScopeDeclINTEL = 5912,
2202 SpvOpAliasScopeListDeclINTEL = 5913,
2203 SpvOpFixedSqrtINTEL = 5923,
2204 SpvOpFixedRecipINTEL = 5924,
2205 SpvOpFixedRsqrtINTEL = 5925,
2206 SpvOpFixedSinINTEL = 5926,
2207 SpvOpFixedCosINTEL = 5927,
2208 SpvOpFixedSinCosINTEL = 5928,
2209 SpvOpFixedSinPiINTEL = 5929,
2210 SpvOpFixedCosPiINTEL = 5930,
2211 SpvOpFixedSinCosPiINTEL = 5931,
2212 SpvOpFixedLogINTEL = 5932,
2213 SpvOpFixedExpINTEL = 5933,
2214 SpvOpPtrCastToCrossWorkgroupINTEL = 5934,
2215 SpvOpCrossWorkgroupCastToPtrINTEL = 5938,
2216 SpvOpReadPipeBlockingINTEL = 5946,
2217 SpvOpWritePipeBlockingINTEL = 5947,
2218 SpvOpFPGARegINTEL = 5949,
2219 SpvOpRayQueryGetRayTMinKHR = 6016,
2220 SpvOpRayQueryGetRayFlagsKHR = 6017,
2221 SpvOpRayQueryGetIntersectionTKHR = 6018,
2222 SpvOpRayQueryGetIntersectionInstanceCustomIndexKHR = 6019,
2223 SpvOpRayQueryGetIntersectionInstanceIdKHR = 6020,
2224 SpvOpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR = 6021,
2225 SpvOpRayQueryGetIntersectionGeometryIndexKHR = 6022,
2226 SpvOpRayQueryGetIntersectionPrimitiveIndexKHR = 6023,
2227 SpvOpRayQueryGetIntersectionBarycentricsKHR = 6024,
2228 SpvOpRayQueryGetIntersectionFrontFaceKHR = 6025,
2229 SpvOpRayQueryGetIntersectionCandidateAABBOpaqueKHR = 6026,
2230 SpvOpRayQueryGetIntersectionObjectRayDirectionKHR = 6027,
2231 SpvOpRayQueryGetIntersectionObjectRayOriginKHR = 6028,
2232 SpvOpRayQueryGetWorldRayDirectionKHR = 6029,
2233 SpvOpRayQueryGetWorldRayOriginKHR = 6030,
2234 SpvOpRayQueryGetIntersectionObjectToWorldKHR = 6031,
2235 SpvOpRayQueryGetIntersectionWorldToObjectKHR = 6032,
2236 SpvOpAtomicFAddEXT = 6035,
2237 SpvOpTypeBufferSurfaceINTEL = 6086,
2238 SpvOpTypeStructContinuedINTEL = 6090,
2239 SpvOpConstantCompositeContinuedINTEL = 6091,
2240 SpvOpSpecConstantCompositeContinuedINTEL = 6092,
2241 SpvOpCompositeConstructContinuedINTEL = 6096,
2242 SpvOpConvertFToBF16INTEL = 6116,
2243 SpvOpConvertBF16ToFINTEL = 6117,
2244 SpvOpControlBarrierArriveINTEL = 6142,
2245 SpvOpControlBarrierWaitINTEL = 6143,
2246 SpvOpArithmeticFenceEXT = 6145,
2247 SpvOpSubgroupBlockPrefetchINTEL = 6221,
2248 SpvOpGroupIMulKHR = 6401,
2249 SpvOpGroupFMulKHR = 6402,
2250 SpvOpGroupBitwiseAndKHR = 6403,
2251 SpvOpGroupBitwiseOrKHR = 6404,
2252 SpvOpGroupBitwiseXorKHR = 6405,
2253 SpvOpGroupLogicalAndKHR = 6406,
2254 SpvOpGroupLogicalOrKHR = 6407,
2255 SpvOpGroupLogicalXorKHR = 6408,
2256 SpvOpMaskedGatherINTEL = 6428,
2257 SpvOpMaskedScatterINTEL = 6429,
2258 SpvOpMax = 0x7fffffff,
2259 } SpvOp;
2260
2261 #ifdef SPV_ENABLE_UTILITY_CODE
2262 #ifndef __cplusplus
2263 #include <stdbool.h>
2264 #endif
SpvHasResultAndType(SpvOp opcode,bool * hasResult,bool * hasResultType)2265 inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultType) {
2266 *hasResult = *hasResultType = false;
2267 switch (opcode) {
2268 default: /* unknown opcode */ break;
2269 case SpvOpNop: *hasResult = false; *hasResultType = false; break;
2270 case SpvOpUndef: *hasResult = true; *hasResultType = true; break;
2271 case SpvOpSourceContinued: *hasResult = false; *hasResultType = false; break;
2272 case SpvOpSource: *hasResult = false; *hasResultType = false; break;
2273 case SpvOpSourceExtension: *hasResult = false; *hasResultType = false; break;
2274 case SpvOpName: *hasResult = false; *hasResultType = false; break;
2275 case SpvOpMemberName: *hasResult = false; *hasResultType = false; break;
2276 case SpvOpString: *hasResult = true; *hasResultType = false; break;
2277 case SpvOpLine: *hasResult = false; *hasResultType = false; break;
2278 case SpvOpExtension: *hasResult = false; *hasResultType = false; break;
2279 case SpvOpExtInstImport: *hasResult = true; *hasResultType = false; break;
2280 case SpvOpExtInst: *hasResult = true; *hasResultType = true; break;
2281 case SpvOpMemoryModel: *hasResult = false; *hasResultType = false; break;
2282 case SpvOpEntryPoint: *hasResult = false; *hasResultType = false; break;
2283 case SpvOpExecutionMode: *hasResult = false; *hasResultType = false; break;
2284 case SpvOpCapability: *hasResult = false; *hasResultType = false; break;
2285 case SpvOpTypeVoid: *hasResult = true; *hasResultType = false; break;
2286 case SpvOpTypeBool: *hasResult = true; *hasResultType = false; break;
2287 case SpvOpTypeInt: *hasResult = true; *hasResultType = false; break;
2288 case SpvOpTypeFloat: *hasResult = true; *hasResultType = false; break;
2289 case SpvOpTypeVector: *hasResult = true; *hasResultType = false; break;
2290 case SpvOpTypeMatrix: *hasResult = true; *hasResultType = false; break;
2291 case SpvOpTypeImage: *hasResult = true; *hasResultType = false; break;
2292 case SpvOpTypeSampler: *hasResult = true; *hasResultType = false; break;
2293 case SpvOpTypeSampledImage: *hasResult = true; *hasResultType = false; break;
2294 case SpvOpTypeArray: *hasResult = true; *hasResultType = false; break;
2295 case SpvOpTypeRuntimeArray: *hasResult = true; *hasResultType = false; break;
2296 case SpvOpTypeStruct: *hasResult = true; *hasResultType = false; break;
2297 case SpvOpTypeOpaque: *hasResult = true; *hasResultType = false; break;
2298 case SpvOpTypePointer: *hasResult = true; *hasResultType = false; break;
2299 case SpvOpTypeFunction: *hasResult = true; *hasResultType = false; break;
2300 case SpvOpTypeEvent: *hasResult = true; *hasResultType = false; break;
2301 case SpvOpTypeDeviceEvent: *hasResult = true; *hasResultType = false; break;
2302 case SpvOpTypeReserveId: *hasResult = true; *hasResultType = false; break;
2303 case SpvOpTypeQueue: *hasResult = true; *hasResultType = false; break;
2304 case SpvOpTypePipe: *hasResult = true; *hasResultType = false; break;
2305 case SpvOpTypeForwardPointer: *hasResult = false; *hasResultType = false; break;
2306 case SpvOpConstantTrue: *hasResult = true; *hasResultType = true; break;
2307 case SpvOpConstantFalse: *hasResult = true; *hasResultType = true; break;
2308 case SpvOpConstant: *hasResult = true; *hasResultType = true; break;
2309 case SpvOpConstantComposite: *hasResult = true; *hasResultType = true; break;
2310 case SpvOpConstantSampler: *hasResult = true; *hasResultType = true; break;
2311 case SpvOpConstantNull: *hasResult = true; *hasResultType = true; break;
2312 case SpvOpSpecConstantTrue: *hasResult = true; *hasResultType = true; break;
2313 case SpvOpSpecConstantFalse: *hasResult = true; *hasResultType = true; break;
2314 case SpvOpSpecConstant: *hasResult = true; *hasResultType = true; break;
2315 case SpvOpSpecConstantComposite: *hasResult = true; *hasResultType = true; break;
2316 case SpvOpSpecConstantOp: *hasResult = true; *hasResultType = true; break;
2317 case SpvOpFunction: *hasResult = true; *hasResultType = true; break;
2318 case SpvOpFunctionParameter: *hasResult = true; *hasResultType = true; break;
2319 case SpvOpFunctionEnd: *hasResult = false; *hasResultType = false; break;
2320 case SpvOpFunctionCall: *hasResult = true; *hasResultType = true; break;
2321 case SpvOpVariable: *hasResult = true; *hasResultType = true; break;
2322 case SpvOpImageTexelPointer: *hasResult = true; *hasResultType = true; break;
2323 case SpvOpLoad: *hasResult = true; *hasResultType = true; break;
2324 case SpvOpStore: *hasResult = false; *hasResultType = false; break;
2325 case SpvOpCopyMemory: *hasResult = false; *hasResultType = false; break;
2326 case SpvOpCopyMemorySized: *hasResult = false; *hasResultType = false; break;
2327 case SpvOpAccessChain: *hasResult = true; *hasResultType = true; break;
2328 case SpvOpInBoundsAccessChain: *hasResult = true; *hasResultType = true; break;
2329 case SpvOpPtrAccessChain: *hasResult = true; *hasResultType = true; break;
2330 case SpvOpArrayLength: *hasResult = true; *hasResultType = true; break;
2331 case SpvOpGenericPtrMemSemantics: *hasResult = true; *hasResultType = true; break;
2332 case SpvOpInBoundsPtrAccessChain: *hasResult = true; *hasResultType = true; break;
2333 case SpvOpDecorate: *hasResult = false; *hasResultType = false; break;
2334 case SpvOpMemberDecorate: *hasResult = false; *hasResultType = false; break;
2335 case SpvOpDecorationGroup: *hasResult = true; *hasResultType = false; break;
2336 case SpvOpGroupDecorate: *hasResult = false; *hasResultType = false; break;
2337 case SpvOpGroupMemberDecorate: *hasResult = false; *hasResultType = false; break;
2338 case SpvOpVectorExtractDynamic: *hasResult = true; *hasResultType = true; break;
2339 case SpvOpVectorInsertDynamic: *hasResult = true; *hasResultType = true; break;
2340 case SpvOpVectorShuffle: *hasResult = true; *hasResultType = true; break;
2341 case SpvOpCompositeConstruct: *hasResult = true; *hasResultType = true; break;
2342 case SpvOpCompositeExtract: *hasResult = true; *hasResultType = true; break;
2343 case SpvOpCompositeInsert: *hasResult = true; *hasResultType = true; break;
2344 case SpvOpCopyObject: *hasResult = true; *hasResultType = true; break;
2345 case SpvOpTranspose: *hasResult = true; *hasResultType = true; break;
2346 case SpvOpSampledImage: *hasResult = true; *hasResultType = true; break;
2347 case SpvOpImageSampleImplicitLod: *hasResult = true; *hasResultType = true; break;
2348 case SpvOpImageSampleExplicitLod: *hasResult = true; *hasResultType = true; break;
2349 case SpvOpImageSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
2350 case SpvOpImageSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
2351 case SpvOpImageSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break;
2352 case SpvOpImageSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break;
2353 case SpvOpImageSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
2354 case SpvOpImageSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
2355 case SpvOpImageFetch: *hasResult = true; *hasResultType = true; break;
2356 case SpvOpImageGather: *hasResult = true; *hasResultType = true; break;
2357 case SpvOpImageDrefGather: *hasResult = true; *hasResultType = true; break;
2358 case SpvOpImageRead: *hasResult = true; *hasResultType = true; break;
2359 case SpvOpImageWrite: *hasResult = false; *hasResultType = false; break;
2360 case SpvOpImage: *hasResult = true; *hasResultType = true; break;
2361 case SpvOpImageQueryFormat: *hasResult = true; *hasResultType = true; break;
2362 case SpvOpImageQueryOrder: *hasResult = true; *hasResultType = true; break;
2363 case SpvOpImageQuerySizeLod: *hasResult = true; *hasResultType = true; break;
2364 case SpvOpImageQuerySize: *hasResult = true; *hasResultType = true; break;
2365 case SpvOpImageQueryLod: *hasResult = true; *hasResultType = true; break;
2366 case SpvOpImageQueryLevels: *hasResult = true; *hasResultType = true; break;
2367 case SpvOpImageQuerySamples: *hasResult = true; *hasResultType = true; break;
2368 case SpvOpConvertFToU: *hasResult = true; *hasResultType = true; break;
2369 case SpvOpConvertFToS: *hasResult = true; *hasResultType = true; break;
2370 case SpvOpConvertSToF: *hasResult = true; *hasResultType = true; break;
2371 case SpvOpConvertUToF: *hasResult = true; *hasResultType = true; break;
2372 case SpvOpUConvert: *hasResult = true; *hasResultType = true; break;
2373 case SpvOpSConvert: *hasResult = true; *hasResultType = true; break;
2374 case SpvOpFConvert: *hasResult = true; *hasResultType = true; break;
2375 case SpvOpQuantizeToF16: *hasResult = true; *hasResultType = true; break;
2376 case SpvOpConvertPtrToU: *hasResult = true; *hasResultType = true; break;
2377 case SpvOpSatConvertSToU: *hasResult = true; *hasResultType = true; break;
2378 case SpvOpSatConvertUToS: *hasResult = true; *hasResultType = true; break;
2379 case SpvOpConvertUToPtr: *hasResult = true; *hasResultType = true; break;
2380 case SpvOpPtrCastToGeneric: *hasResult = true; *hasResultType = true; break;
2381 case SpvOpGenericCastToPtr: *hasResult = true; *hasResultType = true; break;
2382 case SpvOpGenericCastToPtrExplicit: *hasResult = true; *hasResultType = true; break;
2383 case SpvOpBitcast: *hasResult = true; *hasResultType = true; break;
2384 case SpvOpSNegate: *hasResult = true; *hasResultType = true; break;
2385 case SpvOpFNegate: *hasResult = true; *hasResultType = true; break;
2386 case SpvOpIAdd: *hasResult = true; *hasResultType = true; break;
2387 case SpvOpFAdd: *hasResult = true; *hasResultType = true; break;
2388 case SpvOpISub: *hasResult = true; *hasResultType = true; break;
2389 case SpvOpFSub: *hasResult = true; *hasResultType = true; break;
2390 case SpvOpIMul: *hasResult = true; *hasResultType = true; break;
2391 case SpvOpFMul: *hasResult = true; *hasResultType = true; break;
2392 case SpvOpUDiv: *hasResult = true; *hasResultType = true; break;
2393 case SpvOpSDiv: *hasResult = true; *hasResultType = true; break;
2394 case SpvOpFDiv: *hasResult = true; *hasResultType = true; break;
2395 case SpvOpUMod: *hasResult = true; *hasResultType = true; break;
2396 case SpvOpSRem: *hasResult = true; *hasResultType = true; break;
2397 case SpvOpSMod: *hasResult = true; *hasResultType = true; break;
2398 case SpvOpFRem: *hasResult = true; *hasResultType = true; break;
2399 case SpvOpFMod: *hasResult = true; *hasResultType = true; break;
2400 case SpvOpVectorTimesScalar: *hasResult = true; *hasResultType = true; break;
2401 case SpvOpMatrixTimesScalar: *hasResult = true; *hasResultType = true; break;
2402 case SpvOpVectorTimesMatrix: *hasResult = true; *hasResultType = true; break;
2403 case SpvOpMatrixTimesVector: *hasResult = true; *hasResultType = true; break;
2404 case SpvOpMatrixTimesMatrix: *hasResult = true; *hasResultType = true; break;
2405 case SpvOpOuterProduct: *hasResult = true; *hasResultType = true; break;
2406 case SpvOpDot: *hasResult = true; *hasResultType = true; break;
2407 case SpvOpIAddCarry: *hasResult = true; *hasResultType = true; break;
2408 case SpvOpISubBorrow: *hasResult = true; *hasResultType = true; break;
2409 case SpvOpUMulExtended: *hasResult = true; *hasResultType = true; break;
2410 case SpvOpSMulExtended: *hasResult = true; *hasResultType = true; break;
2411 case SpvOpAny: *hasResult = true; *hasResultType = true; break;
2412 case SpvOpAll: *hasResult = true; *hasResultType = true; break;
2413 case SpvOpIsNan: *hasResult = true; *hasResultType = true; break;
2414 case SpvOpIsInf: *hasResult = true; *hasResultType = true; break;
2415 case SpvOpIsFinite: *hasResult = true; *hasResultType = true; break;
2416 case SpvOpIsNormal: *hasResult = true; *hasResultType = true; break;
2417 case SpvOpSignBitSet: *hasResult = true; *hasResultType = true; break;
2418 case SpvOpLessOrGreater: *hasResult = true; *hasResultType = true; break;
2419 case SpvOpOrdered: *hasResult = true; *hasResultType = true; break;
2420 case SpvOpUnordered: *hasResult = true; *hasResultType = true; break;
2421 case SpvOpLogicalEqual: *hasResult = true; *hasResultType = true; break;
2422 case SpvOpLogicalNotEqual: *hasResult = true; *hasResultType = true; break;
2423 case SpvOpLogicalOr: *hasResult = true; *hasResultType = true; break;
2424 case SpvOpLogicalAnd: *hasResult = true; *hasResultType = true; break;
2425 case SpvOpLogicalNot: *hasResult = true; *hasResultType = true; break;
2426 case SpvOpSelect: *hasResult = true; *hasResultType = true; break;
2427 case SpvOpIEqual: *hasResult = true; *hasResultType = true; break;
2428 case SpvOpINotEqual: *hasResult = true; *hasResultType = true; break;
2429 case SpvOpUGreaterThan: *hasResult = true; *hasResultType = true; break;
2430 case SpvOpSGreaterThan: *hasResult = true; *hasResultType = true; break;
2431 case SpvOpUGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
2432 case SpvOpSGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
2433 case SpvOpULessThan: *hasResult = true; *hasResultType = true; break;
2434 case SpvOpSLessThan: *hasResult = true; *hasResultType = true; break;
2435 case SpvOpULessThanEqual: *hasResult = true; *hasResultType = true; break;
2436 case SpvOpSLessThanEqual: *hasResult = true; *hasResultType = true; break;
2437 case SpvOpFOrdEqual: *hasResult = true; *hasResultType = true; break;
2438 case SpvOpFUnordEqual: *hasResult = true; *hasResultType = true; break;
2439 case SpvOpFOrdNotEqual: *hasResult = true; *hasResultType = true; break;
2440 case SpvOpFUnordNotEqual: *hasResult = true; *hasResultType = true; break;
2441 case SpvOpFOrdLessThan: *hasResult = true; *hasResultType = true; break;
2442 case SpvOpFUnordLessThan: *hasResult = true; *hasResultType = true; break;
2443 case SpvOpFOrdGreaterThan: *hasResult = true; *hasResultType = true; break;
2444 case SpvOpFUnordGreaterThan: *hasResult = true; *hasResultType = true; break;
2445 case SpvOpFOrdLessThanEqual: *hasResult = true; *hasResultType = true; break;
2446 case SpvOpFUnordLessThanEqual: *hasResult = true; *hasResultType = true; break;
2447 case SpvOpFOrdGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
2448 case SpvOpFUnordGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
2449 case SpvOpShiftRightLogical: *hasResult = true; *hasResultType = true; break;
2450 case SpvOpShiftRightArithmetic: *hasResult = true; *hasResultType = true; break;
2451 case SpvOpShiftLeftLogical: *hasResult = true; *hasResultType = true; break;
2452 case SpvOpBitwiseOr: *hasResult = true; *hasResultType = true; break;
2453 case SpvOpBitwiseXor: *hasResult = true; *hasResultType = true; break;
2454 case SpvOpBitwiseAnd: *hasResult = true; *hasResultType = true; break;
2455 case SpvOpNot: *hasResult = true; *hasResultType = true; break;
2456 case SpvOpBitFieldInsert: *hasResult = true; *hasResultType = true; break;
2457 case SpvOpBitFieldSExtract: *hasResult = true; *hasResultType = true; break;
2458 case SpvOpBitFieldUExtract: *hasResult = true; *hasResultType = true; break;
2459 case SpvOpBitReverse: *hasResult = true; *hasResultType = true; break;
2460 case SpvOpBitCount: *hasResult = true; *hasResultType = true; break;
2461 case SpvOpDPdx: *hasResult = true; *hasResultType = true; break;
2462 case SpvOpDPdy: *hasResult = true; *hasResultType = true; break;
2463 case SpvOpFwidth: *hasResult = true; *hasResultType = true; break;
2464 case SpvOpDPdxFine: *hasResult = true; *hasResultType = true; break;
2465 case SpvOpDPdyFine: *hasResult = true; *hasResultType = true; break;
2466 case SpvOpFwidthFine: *hasResult = true; *hasResultType = true; break;
2467 case SpvOpDPdxCoarse: *hasResult = true; *hasResultType = true; break;
2468 case SpvOpDPdyCoarse: *hasResult = true; *hasResultType = true; break;
2469 case SpvOpFwidthCoarse: *hasResult = true; *hasResultType = true; break;
2470 case SpvOpEmitVertex: *hasResult = false; *hasResultType = false; break;
2471 case SpvOpEndPrimitive: *hasResult = false; *hasResultType = false; break;
2472 case SpvOpEmitStreamVertex: *hasResult = false; *hasResultType = false; break;
2473 case SpvOpEndStreamPrimitive: *hasResult = false; *hasResultType = false; break;
2474 case SpvOpControlBarrier: *hasResult = false; *hasResultType = false; break;
2475 case SpvOpMemoryBarrier: *hasResult = false; *hasResultType = false; break;
2476 case SpvOpAtomicLoad: *hasResult = true; *hasResultType = true; break;
2477 case SpvOpAtomicStore: *hasResult = false; *hasResultType = false; break;
2478 case SpvOpAtomicExchange: *hasResult = true; *hasResultType = true; break;
2479 case SpvOpAtomicCompareExchange: *hasResult = true; *hasResultType = true; break;
2480 case SpvOpAtomicCompareExchangeWeak: *hasResult = true; *hasResultType = true; break;
2481 case SpvOpAtomicIIncrement: *hasResult = true; *hasResultType = true; break;
2482 case SpvOpAtomicIDecrement: *hasResult = true; *hasResultType = true; break;
2483 case SpvOpAtomicIAdd: *hasResult = true; *hasResultType = true; break;
2484 case SpvOpAtomicISub: *hasResult = true; *hasResultType = true; break;
2485 case SpvOpAtomicSMin: *hasResult = true; *hasResultType = true; break;
2486 case SpvOpAtomicUMin: *hasResult = true; *hasResultType = true; break;
2487 case SpvOpAtomicSMax: *hasResult = true; *hasResultType = true; break;
2488 case SpvOpAtomicUMax: *hasResult = true; *hasResultType = true; break;
2489 case SpvOpAtomicAnd: *hasResult = true; *hasResultType = true; break;
2490 case SpvOpAtomicOr: *hasResult = true; *hasResultType = true; break;
2491 case SpvOpAtomicXor: *hasResult = true; *hasResultType = true; break;
2492 case SpvOpPhi: *hasResult = true; *hasResultType = true; break;
2493 case SpvOpLoopMerge: *hasResult = false; *hasResultType = false; break;
2494 case SpvOpSelectionMerge: *hasResult = false; *hasResultType = false; break;
2495 case SpvOpLabel: *hasResult = true; *hasResultType = false; break;
2496 case SpvOpBranch: *hasResult = false; *hasResultType = false; break;
2497 case SpvOpBranchConditional: *hasResult = false; *hasResultType = false; break;
2498 case SpvOpSwitch: *hasResult = false; *hasResultType = false; break;
2499 case SpvOpKill: *hasResult = false; *hasResultType = false; break;
2500 case SpvOpReturn: *hasResult = false; *hasResultType = false; break;
2501 case SpvOpReturnValue: *hasResult = false; *hasResultType = false; break;
2502 case SpvOpUnreachable: *hasResult = false; *hasResultType = false; break;
2503 case SpvOpLifetimeStart: *hasResult = false; *hasResultType = false; break;
2504 case SpvOpLifetimeStop: *hasResult = false; *hasResultType = false; break;
2505 case SpvOpGroupAsyncCopy: *hasResult = true; *hasResultType = true; break;
2506 case SpvOpGroupWaitEvents: *hasResult = false; *hasResultType = false; break;
2507 case SpvOpGroupAll: *hasResult = true; *hasResultType = true; break;
2508 case SpvOpGroupAny: *hasResult = true; *hasResultType = true; break;
2509 case SpvOpGroupBroadcast: *hasResult = true; *hasResultType = true; break;
2510 case SpvOpGroupIAdd: *hasResult = true; *hasResultType = true; break;
2511 case SpvOpGroupFAdd: *hasResult = true; *hasResultType = true; break;
2512 case SpvOpGroupFMin: *hasResult = true; *hasResultType = true; break;
2513 case SpvOpGroupUMin: *hasResult = true; *hasResultType = true; break;
2514 case SpvOpGroupSMin: *hasResult = true; *hasResultType = true; break;
2515 case SpvOpGroupFMax: *hasResult = true; *hasResultType = true; break;
2516 case SpvOpGroupUMax: *hasResult = true; *hasResultType = true; break;
2517 case SpvOpGroupSMax: *hasResult = true; *hasResultType = true; break;
2518 case SpvOpReadPipe: *hasResult = true; *hasResultType = true; break;
2519 case SpvOpWritePipe: *hasResult = true; *hasResultType = true; break;
2520 case SpvOpReservedReadPipe: *hasResult = true; *hasResultType = true; break;
2521 case SpvOpReservedWritePipe: *hasResult = true; *hasResultType = true; break;
2522 case SpvOpReserveReadPipePackets: *hasResult = true; *hasResultType = true; break;
2523 case SpvOpReserveWritePipePackets: *hasResult = true; *hasResultType = true; break;
2524 case SpvOpCommitReadPipe: *hasResult = false; *hasResultType = false; break;
2525 case SpvOpCommitWritePipe: *hasResult = false; *hasResultType = false; break;
2526 case SpvOpIsValidReserveId: *hasResult = true; *hasResultType = true; break;
2527 case SpvOpGetNumPipePackets: *hasResult = true; *hasResultType = true; break;
2528 case SpvOpGetMaxPipePackets: *hasResult = true; *hasResultType = true; break;
2529 case SpvOpGroupReserveReadPipePackets: *hasResult = true; *hasResultType = true; break;
2530 case SpvOpGroupReserveWritePipePackets: *hasResult = true; *hasResultType = true; break;
2531 case SpvOpGroupCommitReadPipe: *hasResult = false; *hasResultType = false; break;
2532 case SpvOpGroupCommitWritePipe: *hasResult = false; *hasResultType = false; break;
2533 case SpvOpEnqueueMarker: *hasResult = true; *hasResultType = true; break;
2534 case SpvOpEnqueueKernel: *hasResult = true; *hasResultType = true; break;
2535 case SpvOpGetKernelNDrangeSubGroupCount: *hasResult = true; *hasResultType = true; break;
2536 case SpvOpGetKernelNDrangeMaxSubGroupSize: *hasResult = true; *hasResultType = true; break;
2537 case SpvOpGetKernelWorkGroupSize: *hasResult = true; *hasResultType = true; break;
2538 case SpvOpGetKernelPreferredWorkGroupSizeMultiple: *hasResult = true; *hasResultType = true; break;
2539 case SpvOpRetainEvent: *hasResult = false; *hasResultType = false; break;
2540 case SpvOpReleaseEvent: *hasResult = false; *hasResultType = false; break;
2541 case SpvOpCreateUserEvent: *hasResult = true; *hasResultType = true; break;
2542 case SpvOpIsValidEvent: *hasResult = true; *hasResultType = true; break;
2543 case SpvOpSetUserEventStatus: *hasResult = false; *hasResultType = false; break;
2544 case SpvOpCaptureEventProfilingInfo: *hasResult = false; *hasResultType = false; break;
2545 case SpvOpGetDefaultQueue: *hasResult = true; *hasResultType = true; break;
2546 case SpvOpBuildNDRange: *hasResult = true; *hasResultType = true; break;
2547 case SpvOpImageSparseSampleImplicitLod: *hasResult = true; *hasResultType = true; break;
2548 case SpvOpImageSparseSampleExplicitLod: *hasResult = true; *hasResultType = true; break;
2549 case SpvOpImageSparseSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
2550 case SpvOpImageSparseSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
2551 case SpvOpImageSparseSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break;
2552 case SpvOpImageSparseSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break;
2553 case SpvOpImageSparseSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
2554 case SpvOpImageSparseSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
2555 case SpvOpImageSparseFetch: *hasResult = true; *hasResultType = true; break;
2556 case SpvOpImageSparseGather: *hasResult = true; *hasResultType = true; break;
2557 case SpvOpImageSparseDrefGather: *hasResult = true; *hasResultType = true; break;
2558 case SpvOpImageSparseTexelsResident: *hasResult = true; *hasResultType = true; break;
2559 case SpvOpNoLine: *hasResult = false; *hasResultType = false; break;
2560 case SpvOpAtomicFlagTestAndSet: *hasResult = true; *hasResultType = true; break;
2561 case SpvOpAtomicFlagClear: *hasResult = false; *hasResultType = false; break;
2562 case SpvOpImageSparseRead: *hasResult = true; *hasResultType = true; break;
2563 case SpvOpSizeOf: *hasResult = true; *hasResultType = true; break;
2564 case SpvOpTypePipeStorage: *hasResult = true; *hasResultType = false; break;
2565 case SpvOpConstantPipeStorage: *hasResult = true; *hasResultType = true; break;
2566 case SpvOpCreatePipeFromPipeStorage: *hasResult = true; *hasResultType = true; break;
2567 case SpvOpGetKernelLocalSizeForSubgroupCount: *hasResult = true; *hasResultType = true; break;
2568 case SpvOpGetKernelMaxNumSubgroups: *hasResult = true; *hasResultType = true; break;
2569 case SpvOpTypeNamedBarrier: *hasResult = true; *hasResultType = false; break;
2570 case SpvOpNamedBarrierInitialize: *hasResult = true; *hasResultType = true; break;
2571 case SpvOpMemoryNamedBarrier: *hasResult = false; *hasResultType = false; break;
2572 case SpvOpModuleProcessed: *hasResult = false; *hasResultType = false; break;
2573 case SpvOpExecutionModeId: *hasResult = false; *hasResultType = false; break;
2574 case SpvOpDecorateId: *hasResult = false; *hasResultType = false; break;
2575 case SpvOpGroupNonUniformElect: *hasResult = true; *hasResultType = true; break;
2576 case SpvOpGroupNonUniformAll: *hasResult = true; *hasResultType = true; break;
2577 case SpvOpGroupNonUniformAny: *hasResult = true; *hasResultType = true; break;
2578 case SpvOpGroupNonUniformAllEqual: *hasResult = true; *hasResultType = true; break;
2579 case SpvOpGroupNonUniformBroadcast: *hasResult = true; *hasResultType = true; break;
2580 case SpvOpGroupNonUniformBroadcastFirst: *hasResult = true; *hasResultType = true; break;
2581 case SpvOpGroupNonUniformBallot: *hasResult = true; *hasResultType = true; break;
2582 case SpvOpGroupNonUniformInverseBallot: *hasResult = true; *hasResultType = true; break;
2583 case SpvOpGroupNonUniformBallotBitExtract: *hasResult = true; *hasResultType = true; break;
2584 case SpvOpGroupNonUniformBallotBitCount: *hasResult = true; *hasResultType = true; break;
2585 case SpvOpGroupNonUniformBallotFindLSB: *hasResult = true; *hasResultType = true; break;
2586 case SpvOpGroupNonUniformBallotFindMSB: *hasResult = true; *hasResultType = true; break;
2587 case SpvOpGroupNonUniformShuffle: *hasResult = true; *hasResultType = true; break;
2588 case SpvOpGroupNonUniformShuffleXor: *hasResult = true; *hasResultType = true; break;
2589 case SpvOpGroupNonUniformShuffleUp: *hasResult = true; *hasResultType = true; break;
2590 case SpvOpGroupNonUniformShuffleDown: *hasResult = true; *hasResultType = true; break;
2591 case SpvOpGroupNonUniformIAdd: *hasResult = true; *hasResultType = true; break;
2592 case SpvOpGroupNonUniformFAdd: *hasResult = true; *hasResultType = true; break;
2593 case SpvOpGroupNonUniformIMul: *hasResult = true; *hasResultType = true; break;
2594 case SpvOpGroupNonUniformFMul: *hasResult = true; *hasResultType = true; break;
2595 case SpvOpGroupNonUniformSMin: *hasResult = true; *hasResultType = true; break;
2596 case SpvOpGroupNonUniformUMin: *hasResult = true; *hasResultType = true; break;
2597 case SpvOpGroupNonUniformFMin: *hasResult = true; *hasResultType = true; break;
2598 case SpvOpGroupNonUniformSMax: *hasResult = true; *hasResultType = true; break;
2599 case SpvOpGroupNonUniformUMax: *hasResult = true; *hasResultType = true; break;
2600 case SpvOpGroupNonUniformFMax: *hasResult = true; *hasResultType = true; break;
2601 case SpvOpGroupNonUniformBitwiseAnd: *hasResult = true; *hasResultType = true; break;
2602 case SpvOpGroupNonUniformBitwiseOr: *hasResult = true; *hasResultType = true; break;
2603 case SpvOpGroupNonUniformBitwiseXor: *hasResult = true; *hasResultType = true; break;
2604 case SpvOpGroupNonUniformLogicalAnd: *hasResult = true; *hasResultType = true; break;
2605 case SpvOpGroupNonUniformLogicalOr: *hasResult = true; *hasResultType = true; break;
2606 case SpvOpGroupNonUniformLogicalXor: *hasResult = true; *hasResultType = true; break;
2607 case SpvOpGroupNonUniformQuadBroadcast: *hasResult = true; *hasResultType = true; break;
2608 case SpvOpGroupNonUniformQuadSwap: *hasResult = true; *hasResultType = true; break;
2609 case SpvOpCopyLogical: *hasResult = true; *hasResultType = true; break;
2610 case SpvOpPtrEqual: *hasResult = true; *hasResultType = true; break;
2611 case SpvOpPtrNotEqual: *hasResult = true; *hasResultType = true; break;
2612 case SpvOpPtrDiff: *hasResult = true; *hasResultType = true; break;
2613 case SpvOpColorAttachmentReadEXT: *hasResult = true; *hasResultType = true; break;
2614 case SpvOpDepthAttachmentReadEXT: *hasResult = true; *hasResultType = true; break;
2615 case SpvOpStencilAttachmentReadEXT: *hasResult = true; *hasResultType = true; break;
2616 case SpvOpTerminateInvocation: *hasResult = false; *hasResultType = false; break;
2617 case SpvOpTypeUntypedPointerKHR: *hasResult = true; *hasResultType = false; break;
2618 case SpvOpUntypedVariableKHR: *hasResult = true; *hasResultType = true; break;
2619 case SpvOpUntypedAccessChainKHR: *hasResult = true; *hasResultType = true; break;
2620 case SpvOpUntypedInBoundsAccessChainKHR: *hasResult = true; *hasResultType = true; break;
2621 case SpvOpSubgroupBallotKHR: *hasResult = true; *hasResultType = true; break;
2622 case SpvOpSubgroupFirstInvocationKHR: *hasResult = true; *hasResultType = true; break;
2623 case SpvOpUntypedPtrAccessChainKHR: *hasResult = true; *hasResultType = true; break;
2624 case SpvOpUntypedInBoundsPtrAccessChainKHR: *hasResult = true; *hasResultType = true; break;
2625 case SpvOpUntypedArrayLengthKHR: *hasResult = true; *hasResultType = true; break;
2626 case SpvOpUntypedPrefetchKHR: *hasResult = false; *hasResultType = false; break;
2627 case SpvOpSubgroupAllKHR: *hasResult = true; *hasResultType = true; break;
2628 case SpvOpSubgroupAnyKHR: *hasResult = true; *hasResultType = true; break;
2629 case SpvOpSubgroupAllEqualKHR: *hasResult = true; *hasResultType = true; break;
2630 case SpvOpGroupNonUniformRotateKHR: *hasResult = true; *hasResultType = true; break;
2631 case SpvOpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = true; break;
2632 case SpvOpExtInstWithForwardRefsKHR: *hasResult = true; *hasResultType = true; break;
2633 case SpvOpTraceRayKHR: *hasResult = false; *hasResultType = false; break;
2634 case SpvOpExecuteCallableKHR: *hasResult = false; *hasResultType = false; break;
2635 case SpvOpConvertUToAccelerationStructureKHR: *hasResult = true; *hasResultType = true; break;
2636 case SpvOpIgnoreIntersectionKHR: *hasResult = false; *hasResultType = false; break;
2637 case SpvOpTerminateRayKHR: *hasResult = false; *hasResultType = false; break;
2638 case SpvOpSDot: *hasResult = true; *hasResultType = true; break;
2639 case SpvOpUDot: *hasResult = true; *hasResultType = true; break;
2640 case SpvOpSUDot: *hasResult = true; *hasResultType = true; break;
2641 case SpvOpSDotAccSat: *hasResult = true; *hasResultType = true; break;
2642 case SpvOpUDotAccSat: *hasResult = true; *hasResultType = true; break;
2643 case SpvOpSUDotAccSat: *hasResult = true; *hasResultType = true; break;
2644 case SpvOpTypeCooperativeMatrixKHR: *hasResult = true; *hasResultType = false; break;
2645 case SpvOpCooperativeMatrixLoadKHR: *hasResult = true; *hasResultType = true; break;
2646 case SpvOpCooperativeMatrixStoreKHR: *hasResult = false; *hasResultType = false; break;
2647 case SpvOpCooperativeMatrixMulAddKHR: *hasResult = true; *hasResultType = true; break;
2648 case SpvOpCooperativeMatrixLengthKHR: *hasResult = true; *hasResultType = true; break;
2649 case SpvOpConstantCompositeReplicateEXT: *hasResult = true; *hasResultType = true; break;
2650 case SpvOpSpecConstantCompositeReplicateEXT: *hasResult = true; *hasResultType = true; break;
2651 case SpvOpCompositeConstructReplicateEXT: *hasResult = true; *hasResultType = true; break;
2652 case SpvOpTypeRayQueryKHR: *hasResult = true; *hasResultType = false; break;
2653 case SpvOpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break;
2654 case SpvOpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break;
2655 case SpvOpRayQueryGenerateIntersectionKHR: *hasResult = false; *hasResultType = false; break;
2656 case SpvOpRayQueryConfirmIntersectionKHR: *hasResult = false; *hasResultType = false; break;
2657 case SpvOpRayQueryProceedKHR: *hasResult = true; *hasResultType = true; break;
2658 case SpvOpRayQueryGetIntersectionTypeKHR: *hasResult = true; *hasResultType = true; break;
2659 case SpvOpImageSampleWeightedQCOM: *hasResult = true; *hasResultType = true; break;
2660 case SpvOpImageBoxFilterQCOM: *hasResult = true; *hasResultType = true; break;
2661 case SpvOpImageBlockMatchSSDQCOM: *hasResult = true; *hasResultType = true; break;
2662 case SpvOpImageBlockMatchSADQCOM: *hasResult = true; *hasResultType = true; break;
2663 case SpvOpImageBlockMatchWindowSSDQCOM: *hasResult = true; *hasResultType = true; break;
2664 case SpvOpImageBlockMatchWindowSADQCOM: *hasResult = true; *hasResultType = true; break;
2665 case SpvOpImageBlockMatchGatherSSDQCOM: *hasResult = true; *hasResultType = true; break;
2666 case SpvOpImageBlockMatchGatherSADQCOM: *hasResult = true; *hasResultType = true; break;
2667 case SpvOpGroupIAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
2668 case SpvOpGroupFAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
2669 case SpvOpGroupFMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
2670 case SpvOpGroupUMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
2671 case SpvOpGroupSMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
2672 case SpvOpGroupFMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
2673 case SpvOpGroupUMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
2674 case SpvOpGroupSMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
2675 case SpvOpFragmentMaskFetchAMD: *hasResult = true; *hasResultType = true; break;
2676 case SpvOpFragmentFetchAMD: *hasResult = true; *hasResultType = true; break;
2677 case SpvOpReadClockKHR: *hasResult = true; *hasResultType = true; break;
2678 case SpvOpAllocateNodePayloadsAMDX: *hasResult = true; *hasResultType = true; break;
2679 case SpvOpEnqueueNodePayloadsAMDX: *hasResult = false; *hasResultType = false; break;
2680 case SpvOpTypeNodePayloadArrayAMDX: *hasResult = true; *hasResultType = false; break;
2681 case SpvOpFinishWritingNodePayloadAMDX: *hasResult = true; *hasResultType = true; break;
2682 case SpvOpNodePayloadArrayLengthAMDX: *hasResult = true; *hasResultType = true; break;
2683 case SpvOpIsNodePayloadValidAMDX: *hasResult = true; *hasResultType = true; break;
2684 case SpvOpConstantStringAMDX: *hasResult = true; *hasResultType = false; break;
2685 case SpvOpSpecConstantStringAMDX: *hasResult = true; *hasResultType = false; break;
2686 case SpvOpGroupNonUniformQuadAllKHR: *hasResult = true; *hasResultType = true; break;
2687 case SpvOpGroupNonUniformQuadAnyKHR: *hasResult = true; *hasResultType = true; break;
2688 case SpvOpHitObjectRecordHitMotionNV: *hasResult = false; *hasResultType = false; break;
2689 case SpvOpHitObjectRecordHitWithIndexMotionNV: *hasResult = false; *hasResultType = false; break;
2690 case SpvOpHitObjectRecordMissMotionNV: *hasResult = false; *hasResultType = false; break;
2691 case SpvOpHitObjectGetWorldToObjectNV: *hasResult = true; *hasResultType = true; break;
2692 case SpvOpHitObjectGetObjectToWorldNV: *hasResult = true; *hasResultType = true; break;
2693 case SpvOpHitObjectGetObjectRayDirectionNV: *hasResult = true; *hasResultType = true; break;
2694 case SpvOpHitObjectGetObjectRayOriginNV: *hasResult = true; *hasResultType = true; break;
2695 case SpvOpHitObjectTraceRayMotionNV: *hasResult = false; *hasResultType = false; break;
2696 case SpvOpHitObjectGetShaderRecordBufferHandleNV: *hasResult = true; *hasResultType = true; break;
2697 case SpvOpHitObjectGetShaderBindingTableRecordIndexNV: *hasResult = true; *hasResultType = true; break;
2698 case SpvOpHitObjectRecordEmptyNV: *hasResult = false; *hasResultType = false; break;
2699 case SpvOpHitObjectTraceRayNV: *hasResult = false; *hasResultType = false; break;
2700 case SpvOpHitObjectRecordHitNV: *hasResult = false; *hasResultType = false; break;
2701 case SpvOpHitObjectRecordHitWithIndexNV: *hasResult = false; *hasResultType = false; break;
2702 case SpvOpHitObjectRecordMissNV: *hasResult = false; *hasResultType = false; break;
2703 case SpvOpHitObjectExecuteShaderNV: *hasResult = false; *hasResultType = false; break;
2704 case SpvOpHitObjectGetCurrentTimeNV: *hasResult = true; *hasResultType = true; break;
2705 case SpvOpHitObjectGetAttributesNV: *hasResult = false; *hasResultType = false; break;
2706 case SpvOpHitObjectGetHitKindNV: *hasResult = true; *hasResultType = true; break;
2707 case SpvOpHitObjectGetPrimitiveIndexNV: *hasResult = true; *hasResultType = true; break;
2708 case SpvOpHitObjectGetGeometryIndexNV: *hasResult = true; *hasResultType = true; break;
2709 case SpvOpHitObjectGetInstanceIdNV: *hasResult = true; *hasResultType = true; break;
2710 case SpvOpHitObjectGetInstanceCustomIndexNV: *hasResult = true; *hasResultType = true; break;
2711 case SpvOpHitObjectGetWorldRayDirectionNV: *hasResult = true; *hasResultType = true; break;
2712 case SpvOpHitObjectGetWorldRayOriginNV: *hasResult = true; *hasResultType = true; break;
2713 case SpvOpHitObjectGetRayTMaxNV: *hasResult = true; *hasResultType = true; break;
2714 case SpvOpHitObjectGetRayTMinNV: *hasResult = true; *hasResultType = true; break;
2715 case SpvOpHitObjectIsEmptyNV: *hasResult = true; *hasResultType = true; break;
2716 case SpvOpHitObjectIsHitNV: *hasResult = true; *hasResultType = true; break;
2717 case SpvOpHitObjectIsMissNV: *hasResult = true; *hasResultType = true; break;
2718 case SpvOpReorderThreadWithHitObjectNV: *hasResult = false; *hasResultType = false; break;
2719 case SpvOpReorderThreadWithHintNV: *hasResult = false; *hasResultType = false; break;
2720 case SpvOpTypeHitObjectNV: *hasResult = true; *hasResultType = false; break;
2721 case SpvOpImageSampleFootprintNV: *hasResult = true; *hasResultType = true; break;
2722 case SpvOpCooperativeMatrixConvertNV: *hasResult = true; *hasResultType = true; break;
2723 case SpvOpEmitMeshTasksEXT: *hasResult = false; *hasResultType = false; break;
2724 case SpvOpSetMeshOutputsEXT: *hasResult = false; *hasResultType = false; break;
2725 case SpvOpGroupNonUniformPartitionNV: *hasResult = true; *hasResultType = true; break;
2726 case SpvOpWritePackedPrimitiveIndices4x8NV: *hasResult = false; *hasResultType = false; break;
2727 case SpvOpFetchMicroTriangleVertexPositionNV: *hasResult = true; *hasResultType = true; break;
2728 case SpvOpFetchMicroTriangleVertexBarycentricNV: *hasResult = true; *hasResultType = true; break;
2729 case SpvOpReportIntersectionKHR: *hasResult = true; *hasResultType = true; break;
2730 case SpvOpIgnoreIntersectionNV: *hasResult = false; *hasResultType = false; break;
2731 case SpvOpTerminateRayNV: *hasResult = false; *hasResultType = false; break;
2732 case SpvOpTraceNV: *hasResult = false; *hasResultType = false; break;
2733 case SpvOpTraceMotionNV: *hasResult = false; *hasResultType = false; break;
2734 case SpvOpTraceRayMotionNV: *hasResult = false; *hasResultType = false; break;
2735 case SpvOpRayQueryGetIntersectionTriangleVertexPositionsKHR: *hasResult = true; *hasResultType = true; break;
2736 case SpvOpTypeAccelerationStructureKHR: *hasResult = true; *hasResultType = false; break;
2737 case SpvOpExecuteCallableNV: *hasResult = false; *hasResultType = false; break;
2738 case SpvOpTypeCooperativeMatrixNV: *hasResult = true; *hasResultType = false; break;
2739 case SpvOpCooperativeMatrixLoadNV: *hasResult = true; *hasResultType = true; break;
2740 case SpvOpCooperativeMatrixStoreNV: *hasResult = false; *hasResultType = false; break;
2741 case SpvOpCooperativeMatrixMulAddNV: *hasResult = true; *hasResultType = true; break;
2742 case SpvOpCooperativeMatrixLengthNV: *hasResult = true; *hasResultType = true; break;
2743 case SpvOpBeginInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
2744 case SpvOpEndInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
2745 case SpvOpCooperativeMatrixReduceNV: *hasResult = true; *hasResultType = true; break;
2746 case SpvOpCooperativeMatrixLoadTensorNV: *hasResult = true; *hasResultType = true; break;
2747 case SpvOpCooperativeMatrixStoreTensorNV: *hasResult = false; *hasResultType = false; break;
2748 case SpvOpCooperativeMatrixPerElementOpNV: *hasResult = true; *hasResultType = true; break;
2749 case SpvOpTypeTensorLayoutNV: *hasResult = true; *hasResultType = false; break;
2750 case SpvOpTypeTensorViewNV: *hasResult = true; *hasResultType = false; break;
2751 case SpvOpCreateTensorLayoutNV: *hasResult = true; *hasResultType = true; break;
2752 case SpvOpTensorLayoutSetDimensionNV: *hasResult = true; *hasResultType = true; break;
2753 case SpvOpTensorLayoutSetStrideNV: *hasResult = true; *hasResultType = true; break;
2754 case SpvOpTensorLayoutSliceNV: *hasResult = true; *hasResultType = true; break;
2755 case SpvOpTensorLayoutSetClampValueNV: *hasResult = true; *hasResultType = true; break;
2756 case SpvOpCreateTensorViewNV: *hasResult = true; *hasResultType = true; break;
2757 case SpvOpTensorViewSetDimensionNV: *hasResult = true; *hasResultType = true; break;
2758 case SpvOpTensorViewSetStrideNV: *hasResult = true; *hasResultType = true; break;
2759 case SpvOpDemoteToHelperInvocation: *hasResult = false; *hasResultType = false; break;
2760 case SpvOpIsHelperInvocationEXT: *hasResult = true; *hasResultType = true; break;
2761 case SpvOpTensorViewSetClipNV: *hasResult = true; *hasResultType = true; break;
2762 case SpvOpTensorLayoutSetBlockSizeNV: *hasResult = true; *hasResultType = true; break;
2763 case SpvOpCooperativeMatrixTransposeNV: *hasResult = true; *hasResultType = true; break;
2764 case SpvOpConvertUToImageNV: *hasResult = true; *hasResultType = true; break;
2765 case SpvOpConvertUToSamplerNV: *hasResult = true; *hasResultType = true; break;
2766 case SpvOpConvertImageToUNV: *hasResult = true; *hasResultType = true; break;
2767 case SpvOpConvertSamplerToUNV: *hasResult = true; *hasResultType = true; break;
2768 case SpvOpConvertUToSampledImageNV: *hasResult = true; *hasResultType = true; break;
2769 case SpvOpConvertSampledImageToUNV: *hasResult = true; *hasResultType = true; break;
2770 case SpvOpSamplerImageAddressingModeNV: *hasResult = false; *hasResultType = false; break;
2771 case SpvOpRawAccessChainNV: *hasResult = true; *hasResultType = true; break;
2772 case SpvOpSubgroupShuffleINTEL: *hasResult = true; *hasResultType = true; break;
2773 case SpvOpSubgroupShuffleDownINTEL: *hasResult = true; *hasResultType = true; break;
2774 case SpvOpSubgroupShuffleUpINTEL: *hasResult = true; *hasResultType = true; break;
2775 case SpvOpSubgroupShuffleXorINTEL: *hasResult = true; *hasResultType = true; break;
2776 case SpvOpSubgroupBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
2777 case SpvOpSubgroupBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
2778 case SpvOpSubgroupImageBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
2779 case SpvOpSubgroupImageBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
2780 case SpvOpSubgroupImageMediaBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
2781 case SpvOpSubgroupImageMediaBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
2782 case SpvOpUCountLeadingZerosINTEL: *hasResult = true; *hasResultType = true; break;
2783 case SpvOpUCountTrailingZerosINTEL: *hasResult = true; *hasResultType = true; break;
2784 case SpvOpAbsISubINTEL: *hasResult = true; *hasResultType = true; break;
2785 case SpvOpAbsUSubINTEL: *hasResult = true; *hasResultType = true; break;
2786 case SpvOpIAddSatINTEL: *hasResult = true; *hasResultType = true; break;
2787 case SpvOpUAddSatINTEL: *hasResult = true; *hasResultType = true; break;
2788 case SpvOpIAverageINTEL: *hasResult = true; *hasResultType = true; break;
2789 case SpvOpUAverageINTEL: *hasResult = true; *hasResultType = true; break;
2790 case SpvOpIAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break;
2791 case SpvOpUAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break;
2792 case SpvOpISubSatINTEL: *hasResult = true; *hasResultType = true; break;
2793 case SpvOpUSubSatINTEL: *hasResult = true; *hasResultType = true; break;
2794 case SpvOpIMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
2795 case SpvOpUMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
2796 case SpvOpConstantFunctionPointerINTEL: *hasResult = true; *hasResultType = true; break;
2797 case SpvOpFunctionPointerCallINTEL: *hasResult = true; *hasResultType = true; break;
2798 case SpvOpAsmTargetINTEL: *hasResult = true; *hasResultType = true; break;
2799 case SpvOpAsmINTEL: *hasResult = true; *hasResultType = true; break;
2800 case SpvOpAsmCallINTEL: *hasResult = true; *hasResultType = true; break;
2801 case SpvOpAtomicFMinEXT: *hasResult = true; *hasResultType = true; break;
2802 case SpvOpAtomicFMaxEXT: *hasResult = true; *hasResultType = true; break;
2803 case SpvOpAssumeTrueKHR: *hasResult = false; *hasResultType = false; break;
2804 case SpvOpExpectKHR: *hasResult = true; *hasResultType = true; break;
2805 case SpvOpDecorateString: *hasResult = false; *hasResultType = false; break;
2806 case SpvOpMemberDecorateString: *hasResult = false; *hasResultType = false; break;
2807 case SpvOpVmeImageINTEL: *hasResult = true; *hasResultType = true; break;
2808 case SpvOpTypeVmeImageINTEL: *hasResult = true; *hasResultType = false; break;
2809 case SpvOpTypeAvcImePayloadINTEL: *hasResult = true; *hasResultType = false; break;
2810 case SpvOpTypeAvcRefPayloadINTEL: *hasResult = true; *hasResultType = false; break;
2811 case SpvOpTypeAvcSicPayloadINTEL: *hasResult = true; *hasResultType = false; break;
2812 case SpvOpTypeAvcMcePayloadINTEL: *hasResult = true; *hasResultType = false; break;
2813 case SpvOpTypeAvcMceResultINTEL: *hasResult = true; *hasResultType = false; break;
2814 case SpvOpTypeAvcImeResultINTEL: *hasResult = true; *hasResultType = false; break;
2815 case SpvOpTypeAvcImeResultSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break;
2816 case SpvOpTypeAvcImeResultDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break;
2817 case SpvOpTypeAvcImeSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break;
2818 case SpvOpTypeAvcImeDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break;
2819 case SpvOpTypeAvcRefResultINTEL: *hasResult = true; *hasResultType = false; break;
2820 case SpvOpTypeAvcSicResultINTEL: *hasResult = true; *hasResultType = false; break;
2821 case SpvOpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
2822 case SpvOpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
2823 case SpvOpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
2824 case SpvOpSubgroupAvcMceSetInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
2825 case SpvOpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
2826 case SpvOpSubgroupAvcMceSetInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
2827 case SpvOpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
2828 case SpvOpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL: *hasResult = true; *hasResultType = true; break;
2829 case SpvOpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
2830 case SpvOpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
2831 case SpvOpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
2832 case SpvOpSubgroupAvcMceSetMotionVectorCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
2833 case SpvOpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
2834 case SpvOpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
2835 case SpvOpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
2836 case SpvOpSubgroupAvcMceSetAcOnlyHaarINTEL: *hasResult = true; *hasResultType = true; break;
2837 case SpvOpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break;
2838 case SpvOpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break;
2839 case SpvOpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break;
2840 case SpvOpSubgroupAvcMceConvertToImePayloadINTEL: *hasResult = true; *hasResultType = true; break;
2841 case SpvOpSubgroupAvcMceConvertToImeResultINTEL: *hasResult = true; *hasResultType = true; break;
2842 case SpvOpSubgroupAvcMceConvertToRefPayloadINTEL: *hasResult = true; *hasResultType = true; break;
2843 case SpvOpSubgroupAvcMceConvertToRefResultINTEL: *hasResult = true; *hasResultType = true; break;
2844 case SpvOpSubgroupAvcMceConvertToSicPayloadINTEL: *hasResult = true; *hasResultType = true; break;
2845 case SpvOpSubgroupAvcMceConvertToSicResultINTEL: *hasResult = true; *hasResultType = true; break;
2846 case SpvOpSubgroupAvcMceGetMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
2847 case SpvOpSubgroupAvcMceGetInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
2848 case SpvOpSubgroupAvcMceGetBestInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
2849 case SpvOpSubgroupAvcMceGetInterMajorShapeINTEL: *hasResult = true; *hasResultType = true; break;
2850 case SpvOpSubgroupAvcMceGetInterMinorShapeINTEL: *hasResult = true; *hasResultType = true; break;
2851 case SpvOpSubgroupAvcMceGetInterDirectionsINTEL: *hasResult = true; *hasResultType = true; break;
2852 case SpvOpSubgroupAvcMceGetInterMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break;
2853 case SpvOpSubgroupAvcMceGetInterReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
2854 case SpvOpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break;
2855 case SpvOpSubgroupAvcImeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
2856 case SpvOpSubgroupAvcImeSetSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
2857 case SpvOpSubgroupAvcImeSetDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
2858 case SpvOpSubgroupAvcImeRefWindowSizeINTEL: *hasResult = true; *hasResultType = true; break;
2859 case SpvOpSubgroupAvcImeAdjustRefOffsetINTEL: *hasResult = true; *hasResultType = true; break;
2860 case SpvOpSubgroupAvcImeConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
2861 case SpvOpSubgroupAvcImeSetMaxMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break;
2862 case SpvOpSubgroupAvcImeSetUnidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break;
2863 case SpvOpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL: *hasResult = true; *hasResultType = true; break;
2864 case SpvOpSubgroupAvcImeSetWeightedSadINTEL: *hasResult = true; *hasResultType = true; break;
2865 case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
2866 case SpvOpSubgroupAvcImeEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
2867 case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
2868 case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
2869 case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
2870 case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
2871 case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break;
2872 case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break;
2873 case SpvOpSubgroupAvcImeConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
2874 case SpvOpSubgroupAvcImeGetSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
2875 case SpvOpSubgroupAvcImeGetDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
2876 case SpvOpSubgroupAvcImeStripSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
2877 case SpvOpSubgroupAvcImeStripDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
2878 case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
2879 case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
2880 case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
2881 case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
2882 case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
2883 case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
2884 case SpvOpSubgroupAvcImeGetBorderReachedINTEL: *hasResult = true; *hasResultType = true; break;
2885 case SpvOpSubgroupAvcImeGetTruncatedSearchIndicationINTEL: *hasResult = true; *hasResultType = true; break;
2886 case SpvOpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL: *hasResult = true; *hasResultType = true; break;
2887 case SpvOpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL: *hasResult = true; *hasResultType = true; break;
2888 case SpvOpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL: *hasResult = true; *hasResultType = true; break;
2889 case SpvOpSubgroupAvcFmeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
2890 case SpvOpSubgroupAvcBmeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
2891 case SpvOpSubgroupAvcRefConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
2892 case SpvOpSubgroupAvcRefSetBidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break;
2893 case SpvOpSubgroupAvcRefSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break;
2894 case SpvOpSubgroupAvcRefEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
2895 case SpvOpSubgroupAvcRefEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
2896 case SpvOpSubgroupAvcRefEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break;
2897 case SpvOpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break;
2898 case SpvOpSubgroupAvcRefConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
2899 case SpvOpSubgroupAvcSicInitializeINTEL: *hasResult = true; *hasResultType = true; break;
2900 case SpvOpSubgroupAvcSicConfigureSkcINTEL: *hasResult = true; *hasResultType = true; break;
2901 case SpvOpSubgroupAvcSicConfigureIpeLumaINTEL: *hasResult = true; *hasResultType = true; break;
2902 case SpvOpSubgroupAvcSicConfigureIpeLumaChromaINTEL: *hasResult = true; *hasResultType = true; break;
2903 case SpvOpSubgroupAvcSicGetMotionVectorMaskINTEL: *hasResult = true; *hasResultType = true; break;
2904 case SpvOpSubgroupAvcSicConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
2905 case SpvOpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
2906 case SpvOpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
2907 case SpvOpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
2908 case SpvOpSubgroupAvcSicSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break;
2909 case SpvOpSubgroupAvcSicSetSkcForwardTransformEnableINTEL: *hasResult = true; *hasResultType = true; break;
2910 case SpvOpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL: *hasResult = true; *hasResultType = true; break;
2911 case SpvOpSubgroupAvcSicEvaluateIpeINTEL: *hasResult = true; *hasResultType = true; break;
2912 case SpvOpSubgroupAvcSicEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
2913 case SpvOpSubgroupAvcSicEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
2914 case SpvOpSubgroupAvcSicEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break;
2915 case SpvOpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break;
2916 case SpvOpSubgroupAvcSicConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
2917 case SpvOpSubgroupAvcSicGetIpeLumaShapeINTEL: *hasResult = true; *hasResultType = true; break;
2918 case SpvOpSubgroupAvcSicGetBestIpeLumaDistortionINTEL: *hasResult = true; *hasResultType = true; break;
2919 case SpvOpSubgroupAvcSicGetBestIpeChromaDistortionINTEL: *hasResult = true; *hasResultType = true; break;
2920 case SpvOpSubgroupAvcSicGetPackedIpeLumaModesINTEL: *hasResult = true; *hasResultType = true; break;
2921 case SpvOpSubgroupAvcSicGetIpeChromaModeINTEL: *hasResult = true; *hasResultType = true; break;
2922 case SpvOpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: *hasResult = true; *hasResultType = true; break;
2923 case SpvOpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: *hasResult = true; *hasResultType = true; break;
2924 case SpvOpSubgroupAvcSicGetInterRawSadsINTEL: *hasResult = true; *hasResultType = true; break;
2925 case SpvOpVariableLengthArrayINTEL: *hasResult = true; *hasResultType = true; break;
2926 case SpvOpSaveMemoryINTEL: *hasResult = true; *hasResultType = true; break;
2927 case SpvOpRestoreMemoryINTEL: *hasResult = false; *hasResultType = false; break;
2928 case SpvOpArbitraryFloatSinCosPiINTEL: *hasResult = true; *hasResultType = true; break;
2929 case SpvOpArbitraryFloatCastINTEL: *hasResult = true; *hasResultType = true; break;
2930 case SpvOpArbitraryFloatCastFromIntINTEL: *hasResult = true; *hasResultType = true; break;
2931 case SpvOpArbitraryFloatCastToIntINTEL: *hasResult = true; *hasResultType = true; break;
2932 case SpvOpArbitraryFloatAddINTEL: *hasResult = true; *hasResultType = true; break;
2933 case SpvOpArbitraryFloatSubINTEL: *hasResult = true; *hasResultType = true; break;
2934 case SpvOpArbitraryFloatMulINTEL: *hasResult = true; *hasResultType = true; break;
2935 case SpvOpArbitraryFloatDivINTEL: *hasResult = true; *hasResultType = true; break;
2936 case SpvOpArbitraryFloatGTINTEL: *hasResult = true; *hasResultType = true; break;
2937 case SpvOpArbitraryFloatGEINTEL: *hasResult = true; *hasResultType = true; break;
2938 case SpvOpArbitraryFloatLTINTEL: *hasResult = true; *hasResultType = true; break;
2939 case SpvOpArbitraryFloatLEINTEL: *hasResult = true; *hasResultType = true; break;
2940 case SpvOpArbitraryFloatEQINTEL: *hasResult = true; *hasResultType = true; break;
2941 case SpvOpArbitraryFloatRecipINTEL: *hasResult = true; *hasResultType = true; break;
2942 case SpvOpArbitraryFloatRSqrtINTEL: *hasResult = true; *hasResultType = true; break;
2943 case SpvOpArbitraryFloatCbrtINTEL: *hasResult = true; *hasResultType = true; break;
2944 case SpvOpArbitraryFloatHypotINTEL: *hasResult = true; *hasResultType = true; break;
2945 case SpvOpArbitraryFloatSqrtINTEL: *hasResult = true; *hasResultType = true; break;
2946 case SpvOpArbitraryFloatLogINTEL: *hasResult = true; *hasResultType = true; break;
2947 case SpvOpArbitraryFloatLog2INTEL: *hasResult = true; *hasResultType = true; break;
2948 case SpvOpArbitraryFloatLog10INTEL: *hasResult = true; *hasResultType = true; break;
2949 case SpvOpArbitraryFloatLog1pINTEL: *hasResult = true; *hasResultType = true; break;
2950 case SpvOpArbitraryFloatExpINTEL: *hasResult = true; *hasResultType = true; break;
2951 case SpvOpArbitraryFloatExp2INTEL: *hasResult = true; *hasResultType = true; break;
2952 case SpvOpArbitraryFloatExp10INTEL: *hasResult = true; *hasResultType = true; break;
2953 case SpvOpArbitraryFloatExpm1INTEL: *hasResult = true; *hasResultType = true; break;
2954 case SpvOpArbitraryFloatSinINTEL: *hasResult = true; *hasResultType = true; break;
2955 case SpvOpArbitraryFloatCosINTEL: *hasResult = true; *hasResultType = true; break;
2956 case SpvOpArbitraryFloatSinCosINTEL: *hasResult = true; *hasResultType = true; break;
2957 case SpvOpArbitraryFloatSinPiINTEL: *hasResult = true; *hasResultType = true; break;
2958 case SpvOpArbitraryFloatCosPiINTEL: *hasResult = true; *hasResultType = true; break;
2959 case SpvOpArbitraryFloatASinINTEL: *hasResult = true; *hasResultType = true; break;
2960 case SpvOpArbitraryFloatASinPiINTEL: *hasResult = true; *hasResultType = true; break;
2961 case SpvOpArbitraryFloatACosINTEL: *hasResult = true; *hasResultType = true; break;
2962 case SpvOpArbitraryFloatACosPiINTEL: *hasResult = true; *hasResultType = true; break;
2963 case SpvOpArbitraryFloatATanINTEL: *hasResult = true; *hasResultType = true; break;
2964 case SpvOpArbitraryFloatATanPiINTEL: *hasResult = true; *hasResultType = true; break;
2965 case SpvOpArbitraryFloatATan2INTEL: *hasResult = true; *hasResultType = true; break;
2966 case SpvOpArbitraryFloatPowINTEL: *hasResult = true; *hasResultType = true; break;
2967 case SpvOpArbitraryFloatPowRINTEL: *hasResult = true; *hasResultType = true; break;
2968 case SpvOpArbitraryFloatPowNINTEL: *hasResult = true; *hasResultType = true; break;
2969 case SpvOpLoopControlINTEL: *hasResult = false; *hasResultType = false; break;
2970 case SpvOpAliasDomainDeclINTEL: *hasResult = true; *hasResultType = false; break;
2971 case SpvOpAliasScopeDeclINTEL: *hasResult = true; *hasResultType = false; break;
2972 case SpvOpAliasScopeListDeclINTEL: *hasResult = true; *hasResultType = false; break;
2973 case SpvOpFixedSqrtINTEL: *hasResult = true; *hasResultType = true; break;
2974 case SpvOpFixedRecipINTEL: *hasResult = true; *hasResultType = true; break;
2975 case SpvOpFixedRsqrtINTEL: *hasResult = true; *hasResultType = true; break;
2976 case SpvOpFixedSinINTEL: *hasResult = true; *hasResultType = true; break;
2977 case SpvOpFixedCosINTEL: *hasResult = true; *hasResultType = true; break;
2978 case SpvOpFixedSinCosINTEL: *hasResult = true; *hasResultType = true; break;
2979 case SpvOpFixedSinPiINTEL: *hasResult = true; *hasResultType = true; break;
2980 case SpvOpFixedCosPiINTEL: *hasResult = true; *hasResultType = true; break;
2981 case SpvOpFixedSinCosPiINTEL: *hasResult = true; *hasResultType = true; break;
2982 case SpvOpFixedLogINTEL: *hasResult = true; *hasResultType = true; break;
2983 case SpvOpFixedExpINTEL: *hasResult = true; *hasResultType = true; break;
2984 case SpvOpPtrCastToCrossWorkgroupINTEL: *hasResult = true; *hasResultType = true; break;
2985 case SpvOpCrossWorkgroupCastToPtrINTEL: *hasResult = true; *hasResultType = true; break;
2986 case SpvOpReadPipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
2987 case SpvOpWritePipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
2988 case SpvOpFPGARegINTEL: *hasResult = true; *hasResultType = true; break;
2989 case SpvOpRayQueryGetRayTMinKHR: *hasResult = true; *hasResultType = true; break;
2990 case SpvOpRayQueryGetRayFlagsKHR: *hasResult = true; *hasResultType = true; break;
2991 case SpvOpRayQueryGetIntersectionTKHR: *hasResult = true; *hasResultType = true; break;
2992 case SpvOpRayQueryGetIntersectionInstanceCustomIndexKHR: *hasResult = true; *hasResultType = true; break;
2993 case SpvOpRayQueryGetIntersectionInstanceIdKHR: *hasResult = true; *hasResultType = true; break;
2994 case SpvOpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR: *hasResult = true; *hasResultType = true; break;
2995 case SpvOpRayQueryGetIntersectionGeometryIndexKHR: *hasResult = true; *hasResultType = true; break;
2996 case SpvOpRayQueryGetIntersectionPrimitiveIndexKHR: *hasResult = true; *hasResultType = true; break;
2997 case SpvOpRayQueryGetIntersectionBarycentricsKHR: *hasResult = true; *hasResultType = true; break;
2998 case SpvOpRayQueryGetIntersectionFrontFaceKHR: *hasResult = true; *hasResultType = true; break;
2999 case SpvOpRayQueryGetIntersectionCandidateAABBOpaqueKHR: *hasResult = true; *hasResultType = true; break;
3000 case SpvOpRayQueryGetIntersectionObjectRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
3001 case SpvOpRayQueryGetIntersectionObjectRayOriginKHR: *hasResult = true; *hasResultType = true; break;
3002 case SpvOpRayQueryGetWorldRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
3003 case SpvOpRayQueryGetWorldRayOriginKHR: *hasResult = true; *hasResultType = true; break;
3004 case SpvOpRayQueryGetIntersectionObjectToWorldKHR: *hasResult = true; *hasResultType = true; break;
3005 case SpvOpRayQueryGetIntersectionWorldToObjectKHR: *hasResult = true; *hasResultType = true; break;
3006 case SpvOpAtomicFAddEXT: *hasResult = true; *hasResultType = true; break;
3007 case SpvOpTypeBufferSurfaceINTEL: *hasResult = true; *hasResultType = false; break;
3008 case SpvOpTypeStructContinuedINTEL: *hasResult = false; *hasResultType = false; break;
3009 case SpvOpConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
3010 case SpvOpSpecConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
3011 case SpvOpCompositeConstructContinuedINTEL: *hasResult = true; *hasResultType = true; break;
3012 case SpvOpConvertFToBF16INTEL: *hasResult = true; *hasResultType = true; break;
3013 case SpvOpConvertBF16ToFINTEL: *hasResult = true; *hasResultType = true; break;
3014 case SpvOpControlBarrierArriveINTEL: *hasResult = false; *hasResultType = false; break;
3015 case SpvOpControlBarrierWaitINTEL: *hasResult = false; *hasResultType = false; break;
3016 case SpvOpArithmeticFenceEXT: *hasResult = true; *hasResultType = true; break;
3017 case SpvOpSubgroupBlockPrefetchINTEL: *hasResult = false; *hasResultType = false; break;
3018 case SpvOpGroupIMulKHR: *hasResult = true; *hasResultType = true; break;
3019 case SpvOpGroupFMulKHR: *hasResult = true; *hasResultType = true; break;
3020 case SpvOpGroupBitwiseAndKHR: *hasResult = true; *hasResultType = true; break;
3021 case SpvOpGroupBitwiseOrKHR: *hasResult = true; *hasResultType = true; break;
3022 case SpvOpGroupBitwiseXorKHR: *hasResult = true; *hasResultType = true; break;
3023 case SpvOpGroupLogicalAndKHR: *hasResult = true; *hasResultType = true; break;
3024 case SpvOpGroupLogicalOrKHR: *hasResult = true; *hasResultType = true; break;
3025 case SpvOpGroupLogicalXorKHR: *hasResult = true; *hasResultType = true; break;
3026 case SpvOpMaskedGatherINTEL: *hasResult = true; *hasResultType = true; break;
3027 case SpvOpMaskedScatterINTEL: *hasResult = false; *hasResultType = false; break;
3028 }
3029 }
SpvSourceLanguageToString(SpvSourceLanguage value)3030 inline const char* SpvSourceLanguageToString(SpvSourceLanguage value) {
3031 switch (value) {
3032 case SpvSourceLanguageUnknown: return "Unknown";
3033 case SpvSourceLanguageESSL: return "ESSL";
3034 case SpvSourceLanguageGLSL: return "GLSL";
3035 case SpvSourceLanguageOpenCL_C: return "OpenCL_C";
3036 case SpvSourceLanguageOpenCL_CPP: return "OpenCL_CPP";
3037 case SpvSourceLanguageHLSL: return "HLSL";
3038 case SpvSourceLanguageCPP_for_OpenCL: return "CPP_for_OpenCL";
3039 case SpvSourceLanguageSYCL: return "SYCL";
3040 case SpvSourceLanguageHERO_C: return "HERO_C";
3041 case SpvSourceLanguageNZSL: return "NZSL";
3042 case SpvSourceLanguageWGSL: return "WGSL";
3043 case SpvSourceLanguageSlang: return "Slang";
3044 case SpvSourceLanguageZig: return "Zig";
3045 default: return "Unknown";
3046 }
3047 }
3048
SpvExecutionModelToString(SpvExecutionModel value)3049 inline const char* SpvExecutionModelToString(SpvExecutionModel value) {
3050 switch (value) {
3051 case SpvExecutionModelVertex: return "Vertex";
3052 case SpvExecutionModelTessellationControl: return "TessellationControl";
3053 case SpvExecutionModelTessellationEvaluation: return "TessellationEvaluation";
3054 case SpvExecutionModelGeometry: return "Geometry";
3055 case SpvExecutionModelFragment: return "Fragment";
3056 case SpvExecutionModelGLCompute: return "GLCompute";
3057 case SpvExecutionModelKernel: return "Kernel";
3058 case SpvExecutionModelTaskNV: return "TaskNV";
3059 case SpvExecutionModelMeshNV: return "MeshNV";
3060 case SpvExecutionModelRayGenerationKHR: return "RayGenerationKHR";
3061 case SpvExecutionModelIntersectionKHR: return "IntersectionKHR";
3062 case SpvExecutionModelAnyHitKHR: return "AnyHitKHR";
3063 case SpvExecutionModelClosestHitKHR: return "ClosestHitKHR";
3064 case SpvExecutionModelMissKHR: return "MissKHR";
3065 case SpvExecutionModelCallableKHR: return "CallableKHR";
3066 case SpvExecutionModelTaskEXT: return "TaskEXT";
3067 case SpvExecutionModelMeshEXT: return "MeshEXT";
3068 default: return "Unknown";
3069 }
3070 }
3071
SpvAddressingModelToString(SpvAddressingModel value)3072 inline const char* SpvAddressingModelToString(SpvAddressingModel value) {
3073 switch (value) {
3074 case SpvAddressingModelLogical: return "Logical";
3075 case SpvAddressingModelPhysical32: return "Physical32";
3076 case SpvAddressingModelPhysical64: return "Physical64";
3077 case SpvAddressingModelPhysicalStorageBuffer64: return "PhysicalStorageBuffer64";
3078 default: return "Unknown";
3079 }
3080 }
3081
SpvMemoryModelToString(SpvMemoryModel value)3082 inline const char* SpvMemoryModelToString(SpvMemoryModel value) {
3083 switch (value) {
3084 case SpvMemoryModelSimple: return "Simple";
3085 case SpvMemoryModelGLSL450: return "GLSL450";
3086 case SpvMemoryModelOpenCL: return "OpenCL";
3087 case SpvMemoryModelVulkan: return "Vulkan";
3088 default: return "Unknown";
3089 }
3090 }
3091
SpvExecutionModeToString(SpvExecutionMode value)3092 inline const char* SpvExecutionModeToString(SpvExecutionMode value) {
3093 switch (value) {
3094 case SpvExecutionModeInvocations: return "Invocations";
3095 case SpvExecutionModeSpacingEqual: return "SpacingEqual";
3096 case SpvExecutionModeSpacingFractionalEven: return "SpacingFractionalEven";
3097 case SpvExecutionModeSpacingFractionalOdd: return "SpacingFractionalOdd";
3098 case SpvExecutionModeVertexOrderCw: return "VertexOrderCw";
3099 case SpvExecutionModeVertexOrderCcw: return "VertexOrderCcw";
3100 case SpvExecutionModePixelCenterInteger: return "PixelCenterInteger";
3101 case SpvExecutionModeOriginUpperLeft: return "OriginUpperLeft";
3102 case SpvExecutionModeOriginLowerLeft: return "OriginLowerLeft";
3103 case SpvExecutionModeEarlyFragmentTests: return "EarlyFragmentTests";
3104 case SpvExecutionModePointMode: return "PointMode";
3105 case SpvExecutionModeXfb: return "Xfb";
3106 case SpvExecutionModeDepthReplacing: return "DepthReplacing";
3107 case SpvExecutionModeDepthGreater: return "DepthGreater";
3108 case SpvExecutionModeDepthLess: return "DepthLess";
3109 case SpvExecutionModeDepthUnchanged: return "DepthUnchanged";
3110 case SpvExecutionModeLocalSize: return "LocalSize";
3111 case SpvExecutionModeLocalSizeHint: return "LocalSizeHint";
3112 case SpvExecutionModeInputPoints: return "InputPoints";
3113 case SpvExecutionModeInputLines: return "InputLines";
3114 case SpvExecutionModeInputLinesAdjacency: return "InputLinesAdjacency";
3115 case SpvExecutionModeTriangles: return "Triangles";
3116 case SpvExecutionModeInputTrianglesAdjacency: return "InputTrianglesAdjacency";
3117 case SpvExecutionModeQuads: return "Quads";
3118 case SpvExecutionModeIsolines: return "Isolines";
3119 case SpvExecutionModeOutputVertices: return "OutputVertices";
3120 case SpvExecutionModeOutputPoints: return "OutputPoints";
3121 case SpvExecutionModeOutputLineStrip: return "OutputLineStrip";
3122 case SpvExecutionModeOutputTriangleStrip: return "OutputTriangleStrip";
3123 case SpvExecutionModeVecTypeHint: return "VecTypeHint";
3124 case SpvExecutionModeContractionOff: return "ContractionOff";
3125 case SpvExecutionModeInitializer: return "Initializer";
3126 case SpvExecutionModeFinalizer: return "Finalizer";
3127 case SpvExecutionModeSubgroupSize: return "SubgroupSize";
3128 case SpvExecutionModeSubgroupsPerWorkgroup: return "SubgroupsPerWorkgroup";
3129 case SpvExecutionModeSubgroupsPerWorkgroupId: return "SubgroupsPerWorkgroupId";
3130 case SpvExecutionModeLocalSizeId: return "LocalSizeId";
3131 case SpvExecutionModeLocalSizeHintId: return "LocalSizeHintId";
3132 case SpvExecutionModeNonCoherentColorAttachmentReadEXT: return "NonCoherentColorAttachmentReadEXT";
3133 case SpvExecutionModeNonCoherentDepthAttachmentReadEXT: return "NonCoherentDepthAttachmentReadEXT";
3134 case SpvExecutionModeNonCoherentStencilAttachmentReadEXT: return "NonCoherentStencilAttachmentReadEXT";
3135 case SpvExecutionModeSubgroupUniformControlFlowKHR: return "SubgroupUniformControlFlowKHR";
3136 case SpvExecutionModePostDepthCoverage: return "PostDepthCoverage";
3137 case SpvExecutionModeDenormPreserve: return "DenormPreserve";
3138 case SpvExecutionModeDenormFlushToZero: return "DenormFlushToZero";
3139 case SpvExecutionModeSignedZeroInfNanPreserve: return "SignedZeroInfNanPreserve";
3140 case SpvExecutionModeRoundingModeRTE: return "RoundingModeRTE";
3141 case SpvExecutionModeRoundingModeRTZ: return "RoundingModeRTZ";
3142 case SpvExecutionModeEarlyAndLateFragmentTestsAMD: return "EarlyAndLateFragmentTestsAMD";
3143 case SpvExecutionModeStencilRefReplacingEXT: return "StencilRefReplacingEXT";
3144 case SpvExecutionModeCoalescingAMDX: return "CoalescingAMDX";
3145 case SpvExecutionModeIsApiEntryAMDX: return "IsApiEntryAMDX";
3146 case SpvExecutionModeMaxNodeRecursionAMDX: return "MaxNodeRecursionAMDX";
3147 case SpvExecutionModeStaticNumWorkgroupsAMDX: return "StaticNumWorkgroupsAMDX";
3148 case SpvExecutionModeShaderIndexAMDX: return "ShaderIndexAMDX";
3149 case SpvExecutionModeMaxNumWorkgroupsAMDX: return "MaxNumWorkgroupsAMDX";
3150 case SpvExecutionModeStencilRefUnchangedFrontAMD: return "StencilRefUnchangedFrontAMD";
3151 case SpvExecutionModeStencilRefGreaterFrontAMD: return "StencilRefGreaterFrontAMD";
3152 case SpvExecutionModeStencilRefLessFrontAMD: return "StencilRefLessFrontAMD";
3153 case SpvExecutionModeStencilRefUnchangedBackAMD: return "StencilRefUnchangedBackAMD";
3154 case SpvExecutionModeStencilRefGreaterBackAMD: return "StencilRefGreaterBackAMD";
3155 case SpvExecutionModeStencilRefLessBackAMD: return "StencilRefLessBackAMD";
3156 case SpvExecutionModeQuadDerivativesKHR: return "QuadDerivativesKHR";
3157 case SpvExecutionModeRequireFullQuadsKHR: return "RequireFullQuadsKHR";
3158 case SpvExecutionModeSharesInputWithAMDX: return "SharesInputWithAMDX";
3159 case SpvExecutionModeOutputLinesEXT: return "OutputLinesEXT";
3160 case SpvExecutionModeOutputPrimitivesEXT: return "OutputPrimitivesEXT";
3161 case SpvExecutionModeDerivativeGroupQuadsKHR: return "DerivativeGroupQuadsKHR";
3162 case SpvExecutionModeDerivativeGroupLinearKHR: return "DerivativeGroupLinearKHR";
3163 case SpvExecutionModeOutputTrianglesEXT: return "OutputTrianglesEXT";
3164 case SpvExecutionModePixelInterlockOrderedEXT: return "PixelInterlockOrderedEXT";
3165 case SpvExecutionModePixelInterlockUnorderedEXT: return "PixelInterlockUnorderedEXT";
3166 case SpvExecutionModeSampleInterlockOrderedEXT: return "SampleInterlockOrderedEXT";
3167 case SpvExecutionModeSampleInterlockUnorderedEXT: return "SampleInterlockUnorderedEXT";
3168 case SpvExecutionModeShadingRateInterlockOrderedEXT: return "ShadingRateInterlockOrderedEXT";
3169 case SpvExecutionModeShadingRateInterlockUnorderedEXT: return "ShadingRateInterlockUnorderedEXT";
3170 case SpvExecutionModeSharedLocalMemorySizeINTEL: return "SharedLocalMemorySizeINTEL";
3171 case SpvExecutionModeRoundingModeRTPINTEL: return "RoundingModeRTPINTEL";
3172 case SpvExecutionModeRoundingModeRTNINTEL: return "RoundingModeRTNINTEL";
3173 case SpvExecutionModeFloatingPointModeALTINTEL: return "FloatingPointModeALTINTEL";
3174 case SpvExecutionModeFloatingPointModeIEEEINTEL: return "FloatingPointModeIEEEINTEL";
3175 case SpvExecutionModeMaxWorkgroupSizeINTEL: return "MaxWorkgroupSizeINTEL";
3176 case SpvExecutionModeMaxWorkDimINTEL: return "MaxWorkDimINTEL";
3177 case SpvExecutionModeNoGlobalOffsetINTEL: return "NoGlobalOffsetINTEL";
3178 case SpvExecutionModeNumSIMDWorkitemsINTEL: return "NumSIMDWorkitemsINTEL";
3179 case SpvExecutionModeSchedulerTargetFmaxMhzINTEL: return "SchedulerTargetFmaxMhzINTEL";
3180 case SpvExecutionModeMaximallyReconvergesKHR: return "MaximallyReconvergesKHR";
3181 case SpvExecutionModeFPFastMathDefault: return "FPFastMathDefault";
3182 case SpvExecutionModeStreamingInterfaceINTEL: return "StreamingInterfaceINTEL";
3183 case SpvExecutionModeRegisterMapInterfaceINTEL: return "RegisterMapInterfaceINTEL";
3184 case SpvExecutionModeNamedBarrierCountINTEL: return "NamedBarrierCountINTEL";
3185 case SpvExecutionModeMaximumRegistersINTEL: return "MaximumRegistersINTEL";
3186 case SpvExecutionModeMaximumRegistersIdINTEL: return "MaximumRegistersIdINTEL";
3187 case SpvExecutionModeNamedMaximumRegistersINTEL: return "NamedMaximumRegistersINTEL";
3188 default: return "Unknown";
3189 }
3190 }
3191
SpvStorageClassToString(SpvStorageClass value)3192 inline const char* SpvStorageClassToString(SpvStorageClass value) {
3193 switch (value) {
3194 case SpvStorageClassUniformConstant: return "UniformConstant";
3195 case SpvStorageClassInput: return "Input";
3196 case SpvStorageClassUniform: return "Uniform";
3197 case SpvStorageClassOutput: return "Output";
3198 case SpvStorageClassWorkgroup: return "Workgroup";
3199 case SpvStorageClassCrossWorkgroup: return "CrossWorkgroup";
3200 case SpvStorageClassPrivate: return "Private";
3201 case SpvStorageClassFunction: return "Function";
3202 case SpvStorageClassGeneric: return "Generic";
3203 case SpvStorageClassPushConstant: return "PushConstant";
3204 case SpvStorageClassAtomicCounter: return "AtomicCounter";
3205 case SpvStorageClassImage: return "Image";
3206 case SpvStorageClassStorageBuffer: return "StorageBuffer";
3207 case SpvStorageClassTileImageEXT: return "TileImageEXT";
3208 case SpvStorageClassNodePayloadAMDX: return "NodePayloadAMDX";
3209 case SpvStorageClassCallableDataKHR: return "CallableDataKHR";
3210 case SpvStorageClassIncomingCallableDataKHR: return "IncomingCallableDataKHR";
3211 case SpvStorageClassRayPayloadKHR: return "RayPayloadKHR";
3212 case SpvStorageClassHitAttributeKHR: return "HitAttributeKHR";
3213 case SpvStorageClassIncomingRayPayloadKHR: return "IncomingRayPayloadKHR";
3214 case SpvStorageClassShaderRecordBufferKHR: return "ShaderRecordBufferKHR";
3215 case SpvStorageClassPhysicalStorageBuffer: return "PhysicalStorageBuffer";
3216 case SpvStorageClassHitObjectAttributeNV: return "HitObjectAttributeNV";
3217 case SpvStorageClassTaskPayloadWorkgroupEXT: return "TaskPayloadWorkgroupEXT";
3218 case SpvStorageClassCodeSectionINTEL: return "CodeSectionINTEL";
3219 case SpvStorageClassDeviceOnlyINTEL: return "DeviceOnlyINTEL";
3220 case SpvStorageClassHostOnlyINTEL: return "HostOnlyINTEL";
3221 default: return "Unknown";
3222 }
3223 }
3224
SpvDimToString(SpvDim value)3225 inline const char* SpvDimToString(SpvDim value) {
3226 switch (value) {
3227 case SpvDim1D: return "1D";
3228 case SpvDim2D: return "2D";
3229 case SpvDim3D: return "3D";
3230 case SpvDimCube: return "Cube";
3231 case SpvDimRect: return "Rect";
3232 case SpvDimBuffer: return "Buffer";
3233 case SpvDimSubpassData: return "SubpassData";
3234 case SpvDimTileImageDataEXT: return "TileImageDataEXT";
3235 default: return "Unknown";
3236 }
3237 }
3238
SpvSamplerAddressingModeToString(SpvSamplerAddressingMode value)3239 inline const char* SpvSamplerAddressingModeToString(SpvSamplerAddressingMode value) {
3240 switch (value) {
3241 case SpvSamplerAddressingModeNone: return "None";
3242 case SpvSamplerAddressingModeClampToEdge: return "ClampToEdge";
3243 case SpvSamplerAddressingModeClamp: return "Clamp";
3244 case SpvSamplerAddressingModeRepeat: return "Repeat";
3245 case SpvSamplerAddressingModeRepeatMirrored: return "RepeatMirrored";
3246 default: return "Unknown";
3247 }
3248 }
3249
SpvSamplerFilterModeToString(SpvSamplerFilterMode value)3250 inline const char* SpvSamplerFilterModeToString(SpvSamplerFilterMode value) {
3251 switch (value) {
3252 case SpvSamplerFilterModeNearest: return "Nearest";
3253 case SpvSamplerFilterModeLinear: return "Linear";
3254 default: return "Unknown";
3255 }
3256 }
3257
SpvImageFormatToString(SpvImageFormat value)3258 inline const char* SpvImageFormatToString(SpvImageFormat value) {
3259 switch (value) {
3260 case SpvImageFormatUnknown: return "Unknown";
3261 case SpvImageFormatRgba32f: return "Rgba32f";
3262 case SpvImageFormatRgba16f: return "Rgba16f";
3263 case SpvImageFormatR32f: return "R32f";
3264 case SpvImageFormatRgba8: return "Rgba8";
3265 case SpvImageFormatRgba8Snorm: return "Rgba8Snorm";
3266 case SpvImageFormatRg32f: return "Rg32f";
3267 case SpvImageFormatRg16f: return "Rg16f";
3268 case SpvImageFormatR11fG11fB10f: return "R11fG11fB10f";
3269 case SpvImageFormatR16f: return "R16f";
3270 case SpvImageFormatRgba16: return "Rgba16";
3271 case SpvImageFormatRgb10A2: return "Rgb10A2";
3272 case SpvImageFormatRg16: return "Rg16";
3273 case SpvImageFormatRg8: return "Rg8";
3274 case SpvImageFormatR16: return "R16";
3275 case SpvImageFormatR8: return "R8";
3276 case SpvImageFormatRgba16Snorm: return "Rgba16Snorm";
3277 case SpvImageFormatRg16Snorm: return "Rg16Snorm";
3278 case SpvImageFormatRg8Snorm: return "Rg8Snorm";
3279 case SpvImageFormatR16Snorm: return "R16Snorm";
3280 case SpvImageFormatR8Snorm: return "R8Snorm";
3281 case SpvImageFormatRgba32i: return "Rgba32i";
3282 case SpvImageFormatRgba16i: return "Rgba16i";
3283 case SpvImageFormatRgba8i: return "Rgba8i";
3284 case SpvImageFormatR32i: return "R32i";
3285 case SpvImageFormatRg32i: return "Rg32i";
3286 case SpvImageFormatRg16i: return "Rg16i";
3287 case SpvImageFormatRg8i: return "Rg8i";
3288 case SpvImageFormatR16i: return "R16i";
3289 case SpvImageFormatR8i: return "R8i";
3290 case SpvImageFormatRgba32ui: return "Rgba32ui";
3291 case SpvImageFormatRgba16ui: return "Rgba16ui";
3292 case SpvImageFormatRgba8ui: return "Rgba8ui";
3293 case SpvImageFormatR32ui: return "R32ui";
3294 case SpvImageFormatRgb10a2ui: return "Rgb10a2ui";
3295 case SpvImageFormatRg32ui: return "Rg32ui";
3296 case SpvImageFormatRg16ui: return "Rg16ui";
3297 case SpvImageFormatRg8ui: return "Rg8ui";
3298 case SpvImageFormatR16ui: return "R16ui";
3299 case SpvImageFormatR8ui: return "R8ui";
3300 case SpvImageFormatR64ui: return "R64ui";
3301 case SpvImageFormatR64i: return "R64i";
3302 default: return "Unknown";
3303 }
3304 }
3305
SpvImageChannelOrderToString(SpvImageChannelOrder value)3306 inline const char* SpvImageChannelOrderToString(SpvImageChannelOrder value) {
3307 switch (value) {
3308 case SpvImageChannelOrderR: return "R";
3309 case SpvImageChannelOrderA: return "A";
3310 case SpvImageChannelOrderRG: return "RG";
3311 case SpvImageChannelOrderRA: return "RA";
3312 case SpvImageChannelOrderRGB: return "RGB";
3313 case SpvImageChannelOrderRGBA: return "RGBA";
3314 case SpvImageChannelOrderBGRA: return "BGRA";
3315 case SpvImageChannelOrderARGB: return "ARGB";
3316 case SpvImageChannelOrderIntensity: return "Intensity";
3317 case SpvImageChannelOrderLuminance: return "Luminance";
3318 case SpvImageChannelOrderRx: return "Rx";
3319 case SpvImageChannelOrderRGx: return "RGx";
3320 case SpvImageChannelOrderRGBx: return "RGBx";
3321 case SpvImageChannelOrderDepth: return "Depth";
3322 case SpvImageChannelOrderDepthStencil: return "DepthStencil";
3323 case SpvImageChannelOrdersRGB: return "sRGB";
3324 case SpvImageChannelOrdersRGBx: return "sRGBx";
3325 case SpvImageChannelOrdersRGBA: return "sRGBA";
3326 case SpvImageChannelOrdersBGRA: return "sBGRA";
3327 case SpvImageChannelOrderABGR: return "ABGR";
3328 default: return "Unknown";
3329 }
3330 }
3331
SpvImageChannelDataTypeToString(SpvImageChannelDataType value)3332 inline const char* SpvImageChannelDataTypeToString(SpvImageChannelDataType value) {
3333 switch (value) {
3334 case SpvImageChannelDataTypeSnormInt8: return "SnormInt8";
3335 case SpvImageChannelDataTypeSnormInt16: return "SnormInt16";
3336 case SpvImageChannelDataTypeUnormInt8: return "UnormInt8";
3337 case SpvImageChannelDataTypeUnormInt16: return "UnormInt16";
3338 case SpvImageChannelDataTypeUnormShort565: return "UnormShort565";
3339 case SpvImageChannelDataTypeUnormShort555: return "UnormShort555";
3340 case SpvImageChannelDataTypeUnormInt101010: return "UnormInt101010";
3341 case SpvImageChannelDataTypeSignedInt8: return "SignedInt8";
3342 case SpvImageChannelDataTypeSignedInt16: return "SignedInt16";
3343 case SpvImageChannelDataTypeSignedInt32: return "SignedInt32";
3344 case SpvImageChannelDataTypeUnsignedInt8: return "UnsignedInt8";
3345 case SpvImageChannelDataTypeUnsignedInt16: return "UnsignedInt16";
3346 case SpvImageChannelDataTypeUnsignedInt32: return "UnsignedInt32";
3347 case SpvImageChannelDataTypeHalfFloat: return "HalfFloat";
3348 case SpvImageChannelDataTypeFloat: return "Float";
3349 case SpvImageChannelDataTypeUnormInt24: return "UnormInt24";
3350 case SpvImageChannelDataTypeUnormInt101010_2: return "UnormInt101010_2";
3351 case SpvImageChannelDataTypeUnsignedIntRaw10EXT: return "UnsignedIntRaw10EXT";
3352 case SpvImageChannelDataTypeUnsignedIntRaw12EXT: return "UnsignedIntRaw12EXT";
3353 case SpvImageChannelDataTypeUnormInt2_101010EXT: return "UnormInt2_101010EXT";
3354 default: return "Unknown";
3355 }
3356 }
3357
SpvFPRoundingModeToString(SpvFPRoundingMode value)3358 inline const char* SpvFPRoundingModeToString(SpvFPRoundingMode value) {
3359 switch (value) {
3360 case SpvFPRoundingModeRTE: return "RTE";
3361 case SpvFPRoundingModeRTZ: return "RTZ";
3362 case SpvFPRoundingModeRTP: return "RTP";
3363 case SpvFPRoundingModeRTN: return "RTN";
3364 default: return "Unknown";
3365 }
3366 }
3367
SpvLinkageTypeToString(SpvLinkageType value)3368 inline const char* SpvLinkageTypeToString(SpvLinkageType value) {
3369 switch (value) {
3370 case SpvLinkageTypeExport: return "Export";
3371 case SpvLinkageTypeImport: return "Import";
3372 case SpvLinkageTypeLinkOnceODR: return "LinkOnceODR";
3373 default: return "Unknown";
3374 }
3375 }
3376
SpvAccessQualifierToString(SpvAccessQualifier value)3377 inline const char* SpvAccessQualifierToString(SpvAccessQualifier value) {
3378 switch (value) {
3379 case SpvAccessQualifierReadOnly: return "ReadOnly";
3380 case SpvAccessQualifierWriteOnly: return "WriteOnly";
3381 case SpvAccessQualifierReadWrite: return "ReadWrite";
3382 default: return "Unknown";
3383 }
3384 }
3385
SpvFunctionParameterAttributeToString(SpvFunctionParameterAttribute value)3386 inline const char* SpvFunctionParameterAttributeToString(SpvFunctionParameterAttribute value) {
3387 switch (value) {
3388 case SpvFunctionParameterAttributeZext: return "Zext";
3389 case SpvFunctionParameterAttributeSext: return "Sext";
3390 case SpvFunctionParameterAttributeByVal: return "ByVal";
3391 case SpvFunctionParameterAttributeSret: return "Sret";
3392 case SpvFunctionParameterAttributeNoAlias: return "NoAlias";
3393 case SpvFunctionParameterAttributeNoCapture: return "NoCapture";
3394 case SpvFunctionParameterAttributeNoWrite: return "NoWrite";
3395 case SpvFunctionParameterAttributeNoReadWrite: return "NoReadWrite";
3396 case SpvFunctionParameterAttributeRuntimeAlignedINTEL: return "RuntimeAlignedINTEL";
3397 default: return "Unknown";
3398 }
3399 }
3400
SpvDecorationToString(SpvDecoration value)3401 inline const char* SpvDecorationToString(SpvDecoration value) {
3402 switch (value) {
3403 case SpvDecorationRelaxedPrecision: return "RelaxedPrecision";
3404 case SpvDecorationSpecId: return "SpecId";
3405 case SpvDecorationBlock: return "Block";
3406 case SpvDecorationBufferBlock: return "BufferBlock";
3407 case SpvDecorationRowMajor: return "RowMajor";
3408 case SpvDecorationColMajor: return "ColMajor";
3409 case SpvDecorationArrayStride: return "ArrayStride";
3410 case SpvDecorationMatrixStride: return "MatrixStride";
3411 case SpvDecorationGLSLShared: return "GLSLShared";
3412 case SpvDecorationGLSLPacked: return "GLSLPacked";
3413 case SpvDecorationCPacked: return "CPacked";
3414 case SpvDecorationBuiltIn: return "BuiltIn";
3415 case SpvDecorationNoPerspective: return "NoPerspective";
3416 case SpvDecorationFlat: return "Flat";
3417 case SpvDecorationPatch: return "Patch";
3418 case SpvDecorationCentroid: return "Centroid";
3419 case SpvDecorationSample: return "Sample";
3420 case SpvDecorationInvariant: return "Invariant";
3421 case SpvDecorationRestrict: return "Restrict";
3422 case SpvDecorationAliased: return "Aliased";
3423 case SpvDecorationVolatile: return "Volatile";
3424 case SpvDecorationConstant: return "Constant";
3425 case SpvDecorationCoherent: return "Coherent";
3426 case SpvDecorationNonWritable: return "NonWritable";
3427 case SpvDecorationNonReadable: return "NonReadable";
3428 case SpvDecorationUniform: return "Uniform";
3429 case SpvDecorationUniformId: return "UniformId";
3430 case SpvDecorationSaturatedConversion: return "SaturatedConversion";
3431 case SpvDecorationStream: return "Stream";
3432 case SpvDecorationLocation: return "Location";
3433 case SpvDecorationComponent: return "Component";
3434 case SpvDecorationIndex: return "Index";
3435 case SpvDecorationBinding: return "Binding";
3436 case SpvDecorationDescriptorSet: return "DescriptorSet";
3437 case SpvDecorationOffset: return "Offset";
3438 case SpvDecorationXfbBuffer: return "XfbBuffer";
3439 case SpvDecorationXfbStride: return "XfbStride";
3440 case SpvDecorationFuncParamAttr: return "FuncParamAttr";
3441 case SpvDecorationFPRoundingMode: return "FPRoundingMode";
3442 case SpvDecorationFPFastMathMode: return "FPFastMathMode";
3443 case SpvDecorationLinkageAttributes: return "LinkageAttributes";
3444 case SpvDecorationNoContraction: return "NoContraction";
3445 case SpvDecorationInputAttachmentIndex: return "InputAttachmentIndex";
3446 case SpvDecorationAlignment: return "Alignment";
3447 case SpvDecorationMaxByteOffset: return "MaxByteOffset";
3448 case SpvDecorationAlignmentId: return "AlignmentId";
3449 case SpvDecorationMaxByteOffsetId: return "MaxByteOffsetId";
3450 case SpvDecorationNoSignedWrap: return "NoSignedWrap";
3451 case SpvDecorationNoUnsignedWrap: return "NoUnsignedWrap";
3452 case SpvDecorationWeightTextureQCOM: return "WeightTextureQCOM";
3453 case SpvDecorationBlockMatchTextureQCOM: return "BlockMatchTextureQCOM";
3454 case SpvDecorationBlockMatchSamplerQCOM: return "BlockMatchSamplerQCOM";
3455 case SpvDecorationExplicitInterpAMD: return "ExplicitInterpAMD";
3456 case SpvDecorationNodeSharesPayloadLimitsWithAMDX: return "NodeSharesPayloadLimitsWithAMDX";
3457 case SpvDecorationNodeMaxPayloadsAMDX: return "NodeMaxPayloadsAMDX";
3458 case SpvDecorationTrackFinishWritingAMDX: return "TrackFinishWritingAMDX";
3459 case SpvDecorationPayloadNodeNameAMDX: return "PayloadNodeNameAMDX";
3460 case SpvDecorationPayloadNodeBaseIndexAMDX: return "PayloadNodeBaseIndexAMDX";
3461 case SpvDecorationPayloadNodeSparseArrayAMDX: return "PayloadNodeSparseArrayAMDX";
3462 case SpvDecorationPayloadNodeArraySizeAMDX: return "PayloadNodeArraySizeAMDX";
3463 case SpvDecorationPayloadDispatchIndirectAMDX: return "PayloadDispatchIndirectAMDX";
3464 case SpvDecorationOverrideCoverageNV: return "OverrideCoverageNV";
3465 case SpvDecorationPassthroughNV: return "PassthroughNV";
3466 case SpvDecorationViewportRelativeNV: return "ViewportRelativeNV";
3467 case SpvDecorationSecondaryViewportRelativeNV: return "SecondaryViewportRelativeNV";
3468 case SpvDecorationPerPrimitiveEXT: return "PerPrimitiveEXT";
3469 case SpvDecorationPerViewNV: return "PerViewNV";
3470 case SpvDecorationPerTaskNV: return "PerTaskNV";
3471 case SpvDecorationPerVertexKHR: return "PerVertexKHR";
3472 case SpvDecorationNonUniform: return "NonUniform";
3473 case SpvDecorationRestrictPointer: return "RestrictPointer";
3474 case SpvDecorationAliasedPointer: return "AliasedPointer";
3475 case SpvDecorationHitObjectShaderRecordBufferNV: return "HitObjectShaderRecordBufferNV";
3476 case SpvDecorationBindlessSamplerNV: return "BindlessSamplerNV";
3477 case SpvDecorationBindlessImageNV: return "BindlessImageNV";
3478 case SpvDecorationBoundSamplerNV: return "BoundSamplerNV";
3479 case SpvDecorationBoundImageNV: return "BoundImageNV";
3480 case SpvDecorationSIMTCallINTEL: return "SIMTCallINTEL";
3481 case SpvDecorationReferencedIndirectlyINTEL: return "ReferencedIndirectlyINTEL";
3482 case SpvDecorationClobberINTEL: return "ClobberINTEL";
3483 case SpvDecorationSideEffectsINTEL: return "SideEffectsINTEL";
3484 case SpvDecorationVectorComputeVariableINTEL: return "VectorComputeVariableINTEL";
3485 case SpvDecorationFuncParamIOKindINTEL: return "FuncParamIOKindINTEL";
3486 case SpvDecorationVectorComputeFunctionINTEL: return "VectorComputeFunctionINTEL";
3487 case SpvDecorationStackCallINTEL: return "StackCallINTEL";
3488 case SpvDecorationGlobalVariableOffsetINTEL: return "GlobalVariableOffsetINTEL";
3489 case SpvDecorationCounterBuffer: return "CounterBuffer";
3490 case SpvDecorationHlslSemanticGOOGLE: return "HlslSemanticGOOGLE";
3491 case SpvDecorationUserTypeGOOGLE: return "UserTypeGOOGLE";
3492 case SpvDecorationFunctionRoundingModeINTEL: return "FunctionRoundingModeINTEL";
3493 case SpvDecorationFunctionDenormModeINTEL: return "FunctionDenormModeINTEL";
3494 case SpvDecorationRegisterINTEL: return "RegisterINTEL";
3495 case SpvDecorationMemoryINTEL: return "MemoryINTEL";
3496 case SpvDecorationNumbanksINTEL: return "NumbanksINTEL";
3497 case SpvDecorationBankwidthINTEL: return "BankwidthINTEL";
3498 case SpvDecorationMaxPrivateCopiesINTEL: return "MaxPrivateCopiesINTEL";
3499 case SpvDecorationSinglepumpINTEL: return "SinglepumpINTEL";
3500 case SpvDecorationDoublepumpINTEL: return "DoublepumpINTEL";
3501 case SpvDecorationMaxReplicatesINTEL: return "MaxReplicatesINTEL";
3502 case SpvDecorationSimpleDualPortINTEL: return "SimpleDualPortINTEL";
3503 case SpvDecorationMergeINTEL: return "MergeINTEL";
3504 case SpvDecorationBankBitsINTEL: return "BankBitsINTEL";
3505 case SpvDecorationForcePow2DepthINTEL: return "ForcePow2DepthINTEL";
3506 case SpvDecorationStridesizeINTEL: return "StridesizeINTEL";
3507 case SpvDecorationWordsizeINTEL: return "WordsizeINTEL";
3508 case SpvDecorationTrueDualPortINTEL: return "TrueDualPortINTEL";
3509 case SpvDecorationBurstCoalesceINTEL: return "BurstCoalesceINTEL";
3510 case SpvDecorationCacheSizeINTEL: return "CacheSizeINTEL";
3511 case SpvDecorationDontStaticallyCoalesceINTEL: return "DontStaticallyCoalesceINTEL";
3512 case SpvDecorationPrefetchINTEL: return "PrefetchINTEL";
3513 case SpvDecorationStallEnableINTEL: return "StallEnableINTEL";
3514 case SpvDecorationFuseLoopsInFunctionINTEL: return "FuseLoopsInFunctionINTEL";
3515 case SpvDecorationMathOpDSPModeINTEL: return "MathOpDSPModeINTEL";
3516 case SpvDecorationAliasScopeINTEL: return "AliasScopeINTEL";
3517 case SpvDecorationNoAliasINTEL: return "NoAliasINTEL";
3518 case SpvDecorationInitiationIntervalINTEL: return "InitiationIntervalINTEL";
3519 case SpvDecorationMaxConcurrencyINTEL: return "MaxConcurrencyINTEL";
3520 case SpvDecorationPipelineEnableINTEL: return "PipelineEnableINTEL";
3521 case SpvDecorationBufferLocationINTEL: return "BufferLocationINTEL";
3522 case SpvDecorationIOPipeStorageINTEL: return "IOPipeStorageINTEL";
3523 case SpvDecorationFunctionFloatingPointModeINTEL: return "FunctionFloatingPointModeINTEL";
3524 case SpvDecorationSingleElementVectorINTEL: return "SingleElementVectorINTEL";
3525 case SpvDecorationVectorComputeCallableFunctionINTEL: return "VectorComputeCallableFunctionINTEL";
3526 case SpvDecorationMediaBlockIOINTEL: return "MediaBlockIOINTEL";
3527 case SpvDecorationStallFreeINTEL: return "StallFreeINTEL";
3528 case SpvDecorationFPMaxErrorDecorationINTEL: return "FPMaxErrorDecorationINTEL";
3529 case SpvDecorationLatencyControlLabelINTEL: return "LatencyControlLabelINTEL";
3530 case SpvDecorationLatencyControlConstraintINTEL: return "LatencyControlConstraintINTEL";
3531 case SpvDecorationConduitKernelArgumentINTEL: return "ConduitKernelArgumentINTEL";
3532 case SpvDecorationRegisterMapKernelArgumentINTEL: return "RegisterMapKernelArgumentINTEL";
3533 case SpvDecorationMMHostInterfaceAddressWidthINTEL: return "MMHostInterfaceAddressWidthINTEL";
3534 case SpvDecorationMMHostInterfaceDataWidthINTEL: return "MMHostInterfaceDataWidthINTEL";
3535 case SpvDecorationMMHostInterfaceLatencyINTEL: return "MMHostInterfaceLatencyINTEL";
3536 case SpvDecorationMMHostInterfaceReadWriteModeINTEL: return "MMHostInterfaceReadWriteModeINTEL";
3537 case SpvDecorationMMHostInterfaceMaxBurstINTEL: return "MMHostInterfaceMaxBurstINTEL";
3538 case SpvDecorationMMHostInterfaceWaitRequestINTEL: return "MMHostInterfaceWaitRequestINTEL";
3539 case SpvDecorationStableKernelArgumentINTEL: return "StableKernelArgumentINTEL";
3540 case SpvDecorationHostAccessINTEL: return "HostAccessINTEL";
3541 case SpvDecorationInitModeINTEL: return "InitModeINTEL";
3542 case SpvDecorationImplementInRegisterMapINTEL: return "ImplementInRegisterMapINTEL";
3543 case SpvDecorationCacheControlLoadINTEL: return "CacheControlLoadINTEL";
3544 case SpvDecorationCacheControlStoreINTEL: return "CacheControlStoreINTEL";
3545 default: return "Unknown";
3546 }
3547 }
3548
SpvBuiltInToString(SpvBuiltIn value)3549 inline const char* SpvBuiltInToString(SpvBuiltIn value) {
3550 switch (value) {
3551 case SpvBuiltInPosition: return "Position";
3552 case SpvBuiltInPointSize: return "PointSize";
3553 case SpvBuiltInClipDistance: return "ClipDistance";
3554 case SpvBuiltInCullDistance: return "CullDistance";
3555 case SpvBuiltInVertexId: return "VertexId";
3556 case SpvBuiltInInstanceId: return "InstanceId";
3557 case SpvBuiltInPrimitiveId: return "PrimitiveId";
3558 case SpvBuiltInInvocationId: return "InvocationId";
3559 case SpvBuiltInLayer: return "Layer";
3560 case SpvBuiltInViewportIndex: return "ViewportIndex";
3561 case SpvBuiltInTessLevelOuter: return "TessLevelOuter";
3562 case SpvBuiltInTessLevelInner: return "TessLevelInner";
3563 case SpvBuiltInTessCoord: return "TessCoord";
3564 case SpvBuiltInPatchVertices: return "PatchVertices";
3565 case SpvBuiltInFragCoord: return "FragCoord";
3566 case SpvBuiltInPointCoord: return "PointCoord";
3567 case SpvBuiltInFrontFacing: return "FrontFacing";
3568 case SpvBuiltInSampleId: return "SampleId";
3569 case SpvBuiltInSamplePosition: return "SamplePosition";
3570 case SpvBuiltInSampleMask: return "SampleMask";
3571 case SpvBuiltInFragDepth: return "FragDepth";
3572 case SpvBuiltInHelperInvocation: return "HelperInvocation";
3573 case SpvBuiltInNumWorkgroups: return "NumWorkgroups";
3574 case SpvBuiltInWorkgroupSize: return "WorkgroupSize";
3575 case SpvBuiltInWorkgroupId: return "WorkgroupId";
3576 case SpvBuiltInLocalInvocationId: return "LocalInvocationId";
3577 case SpvBuiltInGlobalInvocationId: return "GlobalInvocationId";
3578 case SpvBuiltInLocalInvocationIndex: return "LocalInvocationIndex";
3579 case SpvBuiltInWorkDim: return "WorkDim";
3580 case SpvBuiltInGlobalSize: return "GlobalSize";
3581 case SpvBuiltInEnqueuedWorkgroupSize: return "EnqueuedWorkgroupSize";
3582 case SpvBuiltInGlobalOffset: return "GlobalOffset";
3583 case SpvBuiltInGlobalLinearId: return "GlobalLinearId";
3584 case SpvBuiltInSubgroupSize: return "SubgroupSize";
3585 case SpvBuiltInSubgroupMaxSize: return "SubgroupMaxSize";
3586 case SpvBuiltInNumSubgroups: return "NumSubgroups";
3587 case SpvBuiltInNumEnqueuedSubgroups: return "NumEnqueuedSubgroups";
3588 case SpvBuiltInSubgroupId: return "SubgroupId";
3589 case SpvBuiltInSubgroupLocalInvocationId: return "SubgroupLocalInvocationId";
3590 case SpvBuiltInVertexIndex: return "VertexIndex";
3591 case SpvBuiltInInstanceIndex: return "InstanceIndex";
3592 case SpvBuiltInCoreIDARM: return "CoreIDARM";
3593 case SpvBuiltInCoreCountARM: return "CoreCountARM";
3594 case SpvBuiltInCoreMaxIDARM: return "CoreMaxIDARM";
3595 case SpvBuiltInWarpIDARM: return "WarpIDARM";
3596 case SpvBuiltInWarpMaxIDARM: return "WarpMaxIDARM";
3597 case SpvBuiltInSubgroupEqMask: return "SubgroupEqMask";
3598 case SpvBuiltInSubgroupGeMask: return "SubgroupGeMask";
3599 case SpvBuiltInSubgroupGtMask: return "SubgroupGtMask";
3600 case SpvBuiltInSubgroupLeMask: return "SubgroupLeMask";
3601 case SpvBuiltInSubgroupLtMask: return "SubgroupLtMask";
3602 case SpvBuiltInBaseVertex: return "BaseVertex";
3603 case SpvBuiltInBaseInstance: return "BaseInstance";
3604 case SpvBuiltInDrawIndex: return "DrawIndex";
3605 case SpvBuiltInPrimitiveShadingRateKHR: return "PrimitiveShadingRateKHR";
3606 case SpvBuiltInDeviceIndex: return "DeviceIndex";
3607 case SpvBuiltInViewIndex: return "ViewIndex";
3608 case SpvBuiltInShadingRateKHR: return "ShadingRateKHR";
3609 case SpvBuiltInBaryCoordNoPerspAMD: return "BaryCoordNoPerspAMD";
3610 case SpvBuiltInBaryCoordNoPerspCentroidAMD: return "BaryCoordNoPerspCentroidAMD";
3611 case SpvBuiltInBaryCoordNoPerspSampleAMD: return "BaryCoordNoPerspSampleAMD";
3612 case SpvBuiltInBaryCoordSmoothAMD: return "BaryCoordSmoothAMD";
3613 case SpvBuiltInBaryCoordSmoothCentroidAMD: return "BaryCoordSmoothCentroidAMD";
3614 case SpvBuiltInBaryCoordSmoothSampleAMD: return "BaryCoordSmoothSampleAMD";
3615 case SpvBuiltInBaryCoordPullModelAMD: return "BaryCoordPullModelAMD";
3616 case SpvBuiltInFragStencilRefEXT: return "FragStencilRefEXT";
3617 case SpvBuiltInRemainingRecursionLevelsAMDX: return "RemainingRecursionLevelsAMDX";
3618 case SpvBuiltInShaderIndexAMDX: return "ShaderIndexAMDX";
3619 case SpvBuiltInViewportMaskNV: return "ViewportMaskNV";
3620 case SpvBuiltInSecondaryPositionNV: return "SecondaryPositionNV";
3621 case SpvBuiltInSecondaryViewportMaskNV: return "SecondaryViewportMaskNV";
3622 case SpvBuiltInPositionPerViewNV: return "PositionPerViewNV";
3623 case SpvBuiltInViewportMaskPerViewNV: return "ViewportMaskPerViewNV";
3624 case SpvBuiltInFullyCoveredEXT: return "FullyCoveredEXT";
3625 case SpvBuiltInTaskCountNV: return "TaskCountNV";
3626 case SpvBuiltInPrimitiveCountNV: return "PrimitiveCountNV";
3627 case SpvBuiltInPrimitiveIndicesNV: return "PrimitiveIndicesNV";
3628 case SpvBuiltInClipDistancePerViewNV: return "ClipDistancePerViewNV";
3629 case SpvBuiltInCullDistancePerViewNV: return "CullDistancePerViewNV";
3630 case SpvBuiltInLayerPerViewNV: return "LayerPerViewNV";
3631 case SpvBuiltInMeshViewCountNV: return "MeshViewCountNV";
3632 case SpvBuiltInMeshViewIndicesNV: return "MeshViewIndicesNV";
3633 case SpvBuiltInBaryCoordKHR: return "BaryCoordKHR";
3634 case SpvBuiltInBaryCoordNoPerspKHR: return "BaryCoordNoPerspKHR";
3635 case SpvBuiltInFragSizeEXT: return "FragSizeEXT";
3636 case SpvBuiltInFragInvocationCountEXT: return "FragInvocationCountEXT";
3637 case SpvBuiltInPrimitivePointIndicesEXT: return "PrimitivePointIndicesEXT";
3638 case SpvBuiltInPrimitiveLineIndicesEXT: return "PrimitiveLineIndicesEXT";
3639 case SpvBuiltInPrimitiveTriangleIndicesEXT: return "PrimitiveTriangleIndicesEXT";
3640 case SpvBuiltInCullPrimitiveEXT: return "CullPrimitiveEXT";
3641 case SpvBuiltInLaunchIdKHR: return "LaunchIdKHR";
3642 case SpvBuiltInLaunchSizeKHR: return "LaunchSizeKHR";
3643 case SpvBuiltInWorldRayOriginKHR: return "WorldRayOriginKHR";
3644 case SpvBuiltInWorldRayDirectionKHR: return "WorldRayDirectionKHR";
3645 case SpvBuiltInObjectRayOriginKHR: return "ObjectRayOriginKHR";
3646 case SpvBuiltInObjectRayDirectionKHR: return "ObjectRayDirectionKHR";
3647 case SpvBuiltInRayTminKHR: return "RayTminKHR";
3648 case SpvBuiltInRayTmaxKHR: return "RayTmaxKHR";
3649 case SpvBuiltInInstanceCustomIndexKHR: return "InstanceCustomIndexKHR";
3650 case SpvBuiltInObjectToWorldKHR: return "ObjectToWorldKHR";
3651 case SpvBuiltInWorldToObjectKHR: return "WorldToObjectKHR";
3652 case SpvBuiltInHitTNV: return "HitTNV";
3653 case SpvBuiltInHitKindKHR: return "HitKindKHR";
3654 case SpvBuiltInCurrentRayTimeNV: return "CurrentRayTimeNV";
3655 case SpvBuiltInHitTriangleVertexPositionsKHR: return "HitTriangleVertexPositionsKHR";
3656 case SpvBuiltInHitMicroTriangleVertexPositionsNV: return "HitMicroTriangleVertexPositionsNV";
3657 case SpvBuiltInHitMicroTriangleVertexBarycentricsNV: return "HitMicroTriangleVertexBarycentricsNV";
3658 case SpvBuiltInIncomingRayFlagsKHR: return "IncomingRayFlagsKHR";
3659 case SpvBuiltInRayGeometryIndexKHR: return "RayGeometryIndexKHR";
3660 case SpvBuiltInWarpsPerSMNV: return "WarpsPerSMNV";
3661 case SpvBuiltInSMCountNV: return "SMCountNV";
3662 case SpvBuiltInWarpIDNV: return "WarpIDNV";
3663 case SpvBuiltInSMIDNV: return "SMIDNV";
3664 case SpvBuiltInHitKindFrontFacingMicroTriangleNV: return "HitKindFrontFacingMicroTriangleNV";
3665 case SpvBuiltInHitKindBackFacingMicroTriangleNV: return "HitKindBackFacingMicroTriangleNV";
3666 case SpvBuiltInCullMaskKHR: return "CullMaskKHR";
3667 default: return "Unknown";
3668 }
3669 }
3670
SpvScopeToString(SpvScope value)3671 inline const char* SpvScopeToString(SpvScope value) {
3672 switch (value) {
3673 case SpvScopeCrossDevice: return "CrossDevice";
3674 case SpvScopeDevice: return "Device";
3675 case SpvScopeWorkgroup: return "Workgroup";
3676 case SpvScopeSubgroup: return "Subgroup";
3677 case SpvScopeInvocation: return "Invocation";
3678 case SpvScopeQueueFamily: return "QueueFamily";
3679 case SpvScopeShaderCallKHR: return "ShaderCallKHR";
3680 default: return "Unknown";
3681 }
3682 }
3683
SpvGroupOperationToString(SpvGroupOperation value)3684 inline const char* SpvGroupOperationToString(SpvGroupOperation value) {
3685 switch (value) {
3686 case SpvGroupOperationReduce: return "Reduce";
3687 case SpvGroupOperationInclusiveScan: return "InclusiveScan";
3688 case SpvGroupOperationExclusiveScan: return "ExclusiveScan";
3689 case SpvGroupOperationClusteredReduce: return "ClusteredReduce";
3690 case SpvGroupOperationPartitionedReduceNV: return "PartitionedReduceNV";
3691 case SpvGroupOperationPartitionedInclusiveScanNV: return "PartitionedInclusiveScanNV";
3692 case SpvGroupOperationPartitionedExclusiveScanNV: return "PartitionedExclusiveScanNV";
3693 default: return "Unknown";
3694 }
3695 }
3696
SpvKernelEnqueueFlagsToString(SpvKernelEnqueueFlags value)3697 inline const char* SpvKernelEnqueueFlagsToString(SpvKernelEnqueueFlags value) {
3698 switch (value) {
3699 case SpvKernelEnqueueFlagsNoWait: return "NoWait";
3700 case SpvKernelEnqueueFlagsWaitKernel: return "WaitKernel";
3701 case SpvKernelEnqueueFlagsWaitWorkGroup: return "WaitWorkGroup";
3702 default: return "Unknown";
3703 }
3704 }
3705
SpvCapabilityToString(SpvCapability value)3706 inline const char* SpvCapabilityToString(SpvCapability value) {
3707 switch (value) {
3708 case SpvCapabilityMatrix: return "Matrix";
3709 case SpvCapabilityShader: return "Shader";
3710 case SpvCapabilityGeometry: return "Geometry";
3711 case SpvCapabilityTessellation: return "Tessellation";
3712 case SpvCapabilityAddresses: return "Addresses";
3713 case SpvCapabilityLinkage: return "Linkage";
3714 case SpvCapabilityKernel: return "Kernel";
3715 case SpvCapabilityVector16: return "Vector16";
3716 case SpvCapabilityFloat16Buffer: return "Float16Buffer";
3717 case SpvCapabilityFloat16: return "Float16";
3718 case SpvCapabilityFloat64: return "Float64";
3719 case SpvCapabilityInt64: return "Int64";
3720 case SpvCapabilityInt64Atomics: return "Int64Atomics";
3721 case SpvCapabilityImageBasic: return "ImageBasic";
3722 case SpvCapabilityImageReadWrite: return "ImageReadWrite";
3723 case SpvCapabilityImageMipmap: return "ImageMipmap";
3724 case SpvCapabilityPipes: return "Pipes";
3725 case SpvCapabilityGroups: return "Groups";
3726 case SpvCapabilityDeviceEnqueue: return "DeviceEnqueue";
3727 case SpvCapabilityLiteralSampler: return "LiteralSampler";
3728 case SpvCapabilityAtomicStorage: return "AtomicStorage";
3729 case SpvCapabilityInt16: return "Int16";
3730 case SpvCapabilityTessellationPointSize: return "TessellationPointSize";
3731 case SpvCapabilityGeometryPointSize: return "GeometryPointSize";
3732 case SpvCapabilityImageGatherExtended: return "ImageGatherExtended";
3733 case SpvCapabilityStorageImageMultisample: return "StorageImageMultisample";
3734 case SpvCapabilityUniformBufferArrayDynamicIndexing: return "UniformBufferArrayDynamicIndexing";
3735 case SpvCapabilitySampledImageArrayDynamicIndexing: return "SampledImageArrayDynamicIndexing";
3736 case SpvCapabilityStorageBufferArrayDynamicIndexing: return "StorageBufferArrayDynamicIndexing";
3737 case SpvCapabilityStorageImageArrayDynamicIndexing: return "StorageImageArrayDynamicIndexing";
3738 case SpvCapabilityClipDistance: return "ClipDistance";
3739 case SpvCapabilityCullDistance: return "CullDistance";
3740 case SpvCapabilityImageCubeArray: return "ImageCubeArray";
3741 case SpvCapabilitySampleRateShading: return "SampleRateShading";
3742 case SpvCapabilityImageRect: return "ImageRect";
3743 case SpvCapabilitySampledRect: return "SampledRect";
3744 case SpvCapabilityGenericPointer: return "GenericPointer";
3745 case SpvCapabilityInt8: return "Int8";
3746 case SpvCapabilityInputAttachment: return "InputAttachment";
3747 case SpvCapabilitySparseResidency: return "SparseResidency";
3748 case SpvCapabilityMinLod: return "MinLod";
3749 case SpvCapabilitySampled1D: return "Sampled1D";
3750 case SpvCapabilityImage1D: return "Image1D";
3751 case SpvCapabilitySampledCubeArray: return "SampledCubeArray";
3752 case SpvCapabilitySampledBuffer: return "SampledBuffer";
3753 case SpvCapabilityImageBuffer: return "ImageBuffer";
3754 case SpvCapabilityImageMSArray: return "ImageMSArray";
3755 case SpvCapabilityStorageImageExtendedFormats: return "StorageImageExtendedFormats";
3756 case SpvCapabilityImageQuery: return "ImageQuery";
3757 case SpvCapabilityDerivativeControl: return "DerivativeControl";
3758 case SpvCapabilityInterpolationFunction: return "InterpolationFunction";
3759 case SpvCapabilityTransformFeedback: return "TransformFeedback";
3760 case SpvCapabilityGeometryStreams: return "GeometryStreams";
3761 case SpvCapabilityStorageImageReadWithoutFormat: return "StorageImageReadWithoutFormat";
3762 case SpvCapabilityStorageImageWriteWithoutFormat: return "StorageImageWriteWithoutFormat";
3763 case SpvCapabilityMultiViewport: return "MultiViewport";
3764 case SpvCapabilitySubgroupDispatch: return "SubgroupDispatch";
3765 case SpvCapabilityNamedBarrier: return "NamedBarrier";
3766 case SpvCapabilityPipeStorage: return "PipeStorage";
3767 case SpvCapabilityGroupNonUniform: return "GroupNonUniform";
3768 case SpvCapabilityGroupNonUniformVote: return "GroupNonUniformVote";
3769 case SpvCapabilityGroupNonUniformArithmetic: return "GroupNonUniformArithmetic";
3770 case SpvCapabilityGroupNonUniformBallot: return "GroupNonUniformBallot";
3771 case SpvCapabilityGroupNonUniformShuffle: return "GroupNonUniformShuffle";
3772 case SpvCapabilityGroupNonUniformShuffleRelative: return "GroupNonUniformShuffleRelative";
3773 case SpvCapabilityGroupNonUniformClustered: return "GroupNonUniformClustered";
3774 case SpvCapabilityGroupNonUniformQuad: return "GroupNonUniformQuad";
3775 case SpvCapabilityShaderLayer: return "ShaderLayer";
3776 case SpvCapabilityShaderViewportIndex: return "ShaderViewportIndex";
3777 case SpvCapabilityUniformDecoration: return "UniformDecoration";
3778 case SpvCapabilityCoreBuiltinsARM: return "CoreBuiltinsARM";
3779 case SpvCapabilityTileImageColorReadAccessEXT: return "TileImageColorReadAccessEXT";
3780 case SpvCapabilityTileImageDepthReadAccessEXT: return "TileImageDepthReadAccessEXT";
3781 case SpvCapabilityTileImageStencilReadAccessEXT: return "TileImageStencilReadAccessEXT";
3782 case SpvCapabilityCooperativeMatrixLayoutsARM: return "CooperativeMatrixLayoutsARM";
3783 case SpvCapabilityFragmentShadingRateKHR: return "FragmentShadingRateKHR";
3784 case SpvCapabilitySubgroupBallotKHR: return "SubgroupBallotKHR";
3785 case SpvCapabilityDrawParameters: return "DrawParameters";
3786 case SpvCapabilityWorkgroupMemoryExplicitLayoutKHR: return "WorkgroupMemoryExplicitLayoutKHR";
3787 case SpvCapabilityWorkgroupMemoryExplicitLayout8BitAccessKHR: return "WorkgroupMemoryExplicitLayout8BitAccessKHR";
3788 case SpvCapabilityWorkgroupMemoryExplicitLayout16BitAccessKHR: return "WorkgroupMemoryExplicitLayout16BitAccessKHR";
3789 case SpvCapabilitySubgroupVoteKHR: return "SubgroupVoteKHR";
3790 case SpvCapabilityStorageBuffer16BitAccess: return "StorageBuffer16BitAccess";
3791 case SpvCapabilityStorageUniform16: return "StorageUniform16";
3792 case SpvCapabilityStoragePushConstant16: return "StoragePushConstant16";
3793 case SpvCapabilityStorageInputOutput16: return "StorageInputOutput16";
3794 case SpvCapabilityDeviceGroup: return "DeviceGroup";
3795 case SpvCapabilityMultiView: return "MultiView";
3796 case SpvCapabilityVariablePointersStorageBuffer: return "VariablePointersStorageBuffer";
3797 case SpvCapabilityVariablePointers: return "VariablePointers";
3798 case SpvCapabilityAtomicStorageOps: return "AtomicStorageOps";
3799 case SpvCapabilitySampleMaskPostDepthCoverage: return "SampleMaskPostDepthCoverage";
3800 case SpvCapabilityStorageBuffer8BitAccess: return "StorageBuffer8BitAccess";
3801 case SpvCapabilityUniformAndStorageBuffer8BitAccess: return "UniformAndStorageBuffer8BitAccess";
3802 case SpvCapabilityStoragePushConstant8: return "StoragePushConstant8";
3803 case SpvCapabilityDenormPreserve: return "DenormPreserve";
3804 case SpvCapabilityDenormFlushToZero: return "DenormFlushToZero";
3805 case SpvCapabilitySignedZeroInfNanPreserve: return "SignedZeroInfNanPreserve";
3806 case SpvCapabilityRoundingModeRTE: return "RoundingModeRTE";
3807 case SpvCapabilityRoundingModeRTZ: return "RoundingModeRTZ";
3808 case SpvCapabilityRayQueryProvisionalKHR: return "RayQueryProvisionalKHR";
3809 case SpvCapabilityRayQueryKHR: return "RayQueryKHR";
3810 case SpvCapabilityUntypedPointersKHR: return "UntypedPointersKHR";
3811 case SpvCapabilityRayTraversalPrimitiveCullingKHR: return "RayTraversalPrimitiveCullingKHR";
3812 case SpvCapabilityRayTracingKHR: return "RayTracingKHR";
3813 case SpvCapabilityTextureSampleWeightedQCOM: return "TextureSampleWeightedQCOM";
3814 case SpvCapabilityTextureBoxFilterQCOM: return "TextureBoxFilterQCOM";
3815 case SpvCapabilityTextureBlockMatchQCOM: return "TextureBlockMatchQCOM";
3816 case SpvCapabilityTextureBlockMatch2QCOM: return "TextureBlockMatch2QCOM";
3817 case SpvCapabilityFloat16ImageAMD: return "Float16ImageAMD";
3818 case SpvCapabilityImageGatherBiasLodAMD: return "ImageGatherBiasLodAMD";
3819 case SpvCapabilityFragmentMaskAMD: return "FragmentMaskAMD";
3820 case SpvCapabilityStencilExportEXT: return "StencilExportEXT";
3821 case SpvCapabilityImageReadWriteLodAMD: return "ImageReadWriteLodAMD";
3822 case SpvCapabilityInt64ImageEXT: return "Int64ImageEXT";
3823 case SpvCapabilityShaderClockKHR: return "ShaderClockKHR";
3824 case SpvCapabilityShaderEnqueueAMDX: return "ShaderEnqueueAMDX";
3825 case SpvCapabilityQuadControlKHR: return "QuadControlKHR";
3826 case SpvCapabilitySampleMaskOverrideCoverageNV: return "SampleMaskOverrideCoverageNV";
3827 case SpvCapabilityGeometryShaderPassthroughNV: return "GeometryShaderPassthroughNV";
3828 case SpvCapabilityShaderViewportIndexLayerEXT: return "ShaderViewportIndexLayerEXT";
3829 case SpvCapabilityShaderViewportMaskNV: return "ShaderViewportMaskNV";
3830 case SpvCapabilityShaderStereoViewNV: return "ShaderStereoViewNV";
3831 case SpvCapabilityPerViewAttributesNV: return "PerViewAttributesNV";
3832 case SpvCapabilityFragmentFullyCoveredEXT: return "FragmentFullyCoveredEXT";
3833 case SpvCapabilityMeshShadingNV: return "MeshShadingNV";
3834 case SpvCapabilityImageFootprintNV: return "ImageFootprintNV";
3835 case SpvCapabilityMeshShadingEXT: return "MeshShadingEXT";
3836 case SpvCapabilityFragmentBarycentricKHR: return "FragmentBarycentricKHR";
3837 case SpvCapabilityComputeDerivativeGroupQuadsKHR: return "ComputeDerivativeGroupQuadsKHR";
3838 case SpvCapabilityFragmentDensityEXT: return "FragmentDensityEXT";
3839 case SpvCapabilityGroupNonUniformPartitionedNV: return "GroupNonUniformPartitionedNV";
3840 case SpvCapabilityShaderNonUniform: return "ShaderNonUniform";
3841 case SpvCapabilityRuntimeDescriptorArray: return "RuntimeDescriptorArray";
3842 case SpvCapabilityInputAttachmentArrayDynamicIndexing: return "InputAttachmentArrayDynamicIndexing";
3843 case SpvCapabilityUniformTexelBufferArrayDynamicIndexing: return "UniformTexelBufferArrayDynamicIndexing";
3844 case SpvCapabilityStorageTexelBufferArrayDynamicIndexing: return "StorageTexelBufferArrayDynamicIndexing";
3845 case SpvCapabilityUniformBufferArrayNonUniformIndexing: return "UniformBufferArrayNonUniformIndexing";
3846 case SpvCapabilitySampledImageArrayNonUniformIndexing: return "SampledImageArrayNonUniformIndexing";
3847 case SpvCapabilityStorageBufferArrayNonUniformIndexing: return "StorageBufferArrayNonUniformIndexing";
3848 case SpvCapabilityStorageImageArrayNonUniformIndexing: return "StorageImageArrayNonUniformIndexing";
3849 case SpvCapabilityInputAttachmentArrayNonUniformIndexing: return "InputAttachmentArrayNonUniformIndexing";
3850 case SpvCapabilityUniformTexelBufferArrayNonUniformIndexing: return "UniformTexelBufferArrayNonUniformIndexing";
3851 case SpvCapabilityStorageTexelBufferArrayNonUniformIndexing: return "StorageTexelBufferArrayNonUniformIndexing";
3852 case SpvCapabilityRayTracingPositionFetchKHR: return "RayTracingPositionFetchKHR";
3853 case SpvCapabilityRayTracingNV: return "RayTracingNV";
3854 case SpvCapabilityRayTracingMotionBlurNV: return "RayTracingMotionBlurNV";
3855 case SpvCapabilityVulkanMemoryModel: return "VulkanMemoryModel";
3856 case SpvCapabilityVulkanMemoryModelDeviceScope: return "VulkanMemoryModelDeviceScope";
3857 case SpvCapabilityPhysicalStorageBufferAddresses: return "PhysicalStorageBufferAddresses";
3858 case SpvCapabilityComputeDerivativeGroupLinearKHR: return "ComputeDerivativeGroupLinearKHR";
3859 case SpvCapabilityRayTracingProvisionalKHR: return "RayTracingProvisionalKHR";
3860 case SpvCapabilityCooperativeMatrixNV: return "CooperativeMatrixNV";
3861 case SpvCapabilityFragmentShaderSampleInterlockEXT: return "FragmentShaderSampleInterlockEXT";
3862 case SpvCapabilityFragmentShaderShadingRateInterlockEXT: return "FragmentShaderShadingRateInterlockEXT";
3863 case SpvCapabilityShaderSMBuiltinsNV: return "ShaderSMBuiltinsNV";
3864 case SpvCapabilityFragmentShaderPixelInterlockEXT: return "FragmentShaderPixelInterlockEXT";
3865 case SpvCapabilityDemoteToHelperInvocation: return "DemoteToHelperInvocation";
3866 case SpvCapabilityDisplacementMicromapNV: return "DisplacementMicromapNV";
3867 case SpvCapabilityRayTracingOpacityMicromapEXT: return "RayTracingOpacityMicromapEXT";
3868 case SpvCapabilityShaderInvocationReorderNV: return "ShaderInvocationReorderNV";
3869 case SpvCapabilityBindlessTextureNV: return "BindlessTextureNV";
3870 case SpvCapabilityRayQueryPositionFetchKHR: return "RayQueryPositionFetchKHR";
3871 case SpvCapabilityAtomicFloat16VectorNV: return "AtomicFloat16VectorNV";
3872 case SpvCapabilityRayTracingDisplacementMicromapNV: return "RayTracingDisplacementMicromapNV";
3873 case SpvCapabilityRawAccessChainsNV: return "RawAccessChainsNV";
3874 case SpvCapabilityCooperativeMatrixReductionsNV: return "CooperativeMatrixReductionsNV";
3875 case SpvCapabilityCooperativeMatrixConversionsNV: return "CooperativeMatrixConversionsNV";
3876 case SpvCapabilityCooperativeMatrixPerElementOperationsNV: return "CooperativeMatrixPerElementOperationsNV";
3877 case SpvCapabilityCooperativeMatrixTensorAddressingNV: return "CooperativeMatrixTensorAddressingNV";
3878 case SpvCapabilityCooperativeMatrixBlockLoadsNV: return "CooperativeMatrixBlockLoadsNV";
3879 case SpvCapabilityTensorAddressingNV: return "TensorAddressingNV";
3880 case SpvCapabilitySubgroupShuffleINTEL: return "SubgroupShuffleINTEL";
3881 case SpvCapabilitySubgroupBufferBlockIOINTEL: return "SubgroupBufferBlockIOINTEL";
3882 case SpvCapabilitySubgroupImageBlockIOINTEL: return "SubgroupImageBlockIOINTEL";
3883 case SpvCapabilitySubgroupImageMediaBlockIOINTEL: return "SubgroupImageMediaBlockIOINTEL";
3884 case SpvCapabilityRoundToInfinityINTEL: return "RoundToInfinityINTEL";
3885 case SpvCapabilityFloatingPointModeINTEL: return "FloatingPointModeINTEL";
3886 case SpvCapabilityIntegerFunctions2INTEL: return "IntegerFunctions2INTEL";
3887 case SpvCapabilityFunctionPointersINTEL: return "FunctionPointersINTEL";
3888 case SpvCapabilityIndirectReferencesINTEL: return "IndirectReferencesINTEL";
3889 case SpvCapabilityAsmINTEL: return "AsmINTEL";
3890 case SpvCapabilityAtomicFloat32MinMaxEXT: return "AtomicFloat32MinMaxEXT";
3891 case SpvCapabilityAtomicFloat64MinMaxEXT: return "AtomicFloat64MinMaxEXT";
3892 case SpvCapabilityAtomicFloat16MinMaxEXT: return "AtomicFloat16MinMaxEXT";
3893 case SpvCapabilityVectorComputeINTEL: return "VectorComputeINTEL";
3894 case SpvCapabilityVectorAnyINTEL: return "VectorAnyINTEL";
3895 case SpvCapabilityExpectAssumeKHR: return "ExpectAssumeKHR";
3896 case SpvCapabilitySubgroupAvcMotionEstimationINTEL: return "SubgroupAvcMotionEstimationINTEL";
3897 case SpvCapabilitySubgroupAvcMotionEstimationIntraINTEL: return "SubgroupAvcMotionEstimationIntraINTEL";
3898 case SpvCapabilitySubgroupAvcMotionEstimationChromaINTEL: return "SubgroupAvcMotionEstimationChromaINTEL";
3899 case SpvCapabilityVariableLengthArrayINTEL: return "VariableLengthArrayINTEL";
3900 case SpvCapabilityFunctionFloatControlINTEL: return "FunctionFloatControlINTEL";
3901 case SpvCapabilityFPGAMemoryAttributesINTEL: return "FPGAMemoryAttributesINTEL";
3902 case SpvCapabilityFPFastMathModeINTEL: return "FPFastMathModeINTEL";
3903 case SpvCapabilityArbitraryPrecisionIntegersINTEL: return "ArbitraryPrecisionIntegersINTEL";
3904 case SpvCapabilityArbitraryPrecisionFloatingPointINTEL: return "ArbitraryPrecisionFloatingPointINTEL";
3905 case SpvCapabilityUnstructuredLoopControlsINTEL: return "UnstructuredLoopControlsINTEL";
3906 case SpvCapabilityFPGALoopControlsINTEL: return "FPGALoopControlsINTEL";
3907 case SpvCapabilityKernelAttributesINTEL: return "KernelAttributesINTEL";
3908 case SpvCapabilityFPGAKernelAttributesINTEL: return "FPGAKernelAttributesINTEL";
3909 case SpvCapabilityFPGAMemoryAccessesINTEL: return "FPGAMemoryAccessesINTEL";
3910 case SpvCapabilityFPGAClusterAttributesINTEL: return "FPGAClusterAttributesINTEL";
3911 case SpvCapabilityLoopFuseINTEL: return "LoopFuseINTEL";
3912 case SpvCapabilityFPGADSPControlINTEL: return "FPGADSPControlINTEL";
3913 case SpvCapabilityMemoryAccessAliasingINTEL: return "MemoryAccessAliasingINTEL";
3914 case SpvCapabilityFPGAInvocationPipeliningAttributesINTEL: return "FPGAInvocationPipeliningAttributesINTEL";
3915 case SpvCapabilityFPGABufferLocationINTEL: return "FPGABufferLocationINTEL";
3916 case SpvCapabilityArbitraryPrecisionFixedPointINTEL: return "ArbitraryPrecisionFixedPointINTEL";
3917 case SpvCapabilityUSMStorageClassesINTEL: return "USMStorageClassesINTEL";
3918 case SpvCapabilityRuntimeAlignedAttributeINTEL: return "RuntimeAlignedAttributeINTEL";
3919 case SpvCapabilityIOPipesINTEL: return "IOPipesINTEL";
3920 case SpvCapabilityBlockingPipesINTEL: return "BlockingPipesINTEL";
3921 case SpvCapabilityFPGARegINTEL: return "FPGARegINTEL";
3922 case SpvCapabilityDotProductInputAll: return "DotProductInputAll";
3923 case SpvCapabilityDotProductInput4x8Bit: return "DotProductInput4x8Bit";
3924 case SpvCapabilityDotProductInput4x8BitPacked: return "DotProductInput4x8BitPacked";
3925 case SpvCapabilityDotProduct: return "DotProduct";
3926 case SpvCapabilityRayCullMaskKHR: return "RayCullMaskKHR";
3927 case SpvCapabilityCooperativeMatrixKHR: return "CooperativeMatrixKHR";
3928 case SpvCapabilityReplicatedCompositesEXT: return "ReplicatedCompositesEXT";
3929 case SpvCapabilityBitInstructions: return "BitInstructions";
3930 case SpvCapabilityGroupNonUniformRotateKHR: return "GroupNonUniformRotateKHR";
3931 case SpvCapabilityFloatControls2: return "FloatControls2";
3932 case SpvCapabilityAtomicFloat32AddEXT: return "AtomicFloat32AddEXT";
3933 case SpvCapabilityAtomicFloat64AddEXT: return "AtomicFloat64AddEXT";
3934 case SpvCapabilityLongCompositesINTEL: return "LongCompositesINTEL";
3935 case SpvCapabilityOptNoneEXT: return "OptNoneEXT";
3936 case SpvCapabilityAtomicFloat16AddEXT: return "AtomicFloat16AddEXT";
3937 case SpvCapabilityDebugInfoModuleINTEL: return "DebugInfoModuleINTEL";
3938 case SpvCapabilityBFloat16ConversionINTEL: return "BFloat16ConversionINTEL";
3939 case SpvCapabilitySplitBarrierINTEL: return "SplitBarrierINTEL";
3940 case SpvCapabilityArithmeticFenceEXT: return "ArithmeticFenceEXT";
3941 case SpvCapabilityFPGAClusterAttributesV2INTEL: return "FPGAClusterAttributesV2INTEL";
3942 case SpvCapabilityFPGAKernelAttributesv2INTEL: return "FPGAKernelAttributesv2INTEL";
3943 case SpvCapabilityFPMaxErrorINTEL: return "FPMaxErrorINTEL";
3944 case SpvCapabilityFPGALatencyControlINTEL: return "FPGALatencyControlINTEL";
3945 case SpvCapabilityFPGAArgumentInterfacesINTEL: return "FPGAArgumentInterfacesINTEL";
3946 case SpvCapabilityGlobalVariableHostAccessINTEL: return "GlobalVariableHostAccessINTEL";
3947 case SpvCapabilityGlobalVariableFPGADecorationsINTEL: return "GlobalVariableFPGADecorationsINTEL";
3948 case SpvCapabilitySubgroupBufferPrefetchINTEL: return "SubgroupBufferPrefetchINTEL";
3949 case SpvCapabilityGroupUniformArithmeticKHR: return "GroupUniformArithmeticKHR";
3950 case SpvCapabilityMaskedGatherScatterINTEL: return "MaskedGatherScatterINTEL";
3951 case SpvCapabilityCacheControlsINTEL: return "CacheControlsINTEL";
3952 case SpvCapabilityRegisterLimitsINTEL: return "RegisterLimitsINTEL";
3953 default: return "Unknown";
3954 }
3955 }
3956
SpvRayQueryIntersectionToString(SpvRayQueryIntersection value)3957 inline const char* SpvRayQueryIntersectionToString(SpvRayQueryIntersection value) {
3958 switch (value) {
3959 case SpvRayQueryIntersectionRayQueryCandidateIntersectionKHR: return "RayQueryCandidateIntersectionKHR";
3960 case SpvRayQueryIntersectionRayQueryCommittedIntersectionKHR: return "RayQueryCommittedIntersectionKHR";
3961 default: return "Unknown";
3962 }
3963 }
3964
SpvRayQueryCommittedIntersectionTypeToString(SpvRayQueryCommittedIntersectionType value)3965 inline const char* SpvRayQueryCommittedIntersectionTypeToString(SpvRayQueryCommittedIntersectionType value) {
3966 switch (value) {
3967 case SpvRayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionNoneKHR: return "RayQueryCommittedIntersectionNoneKHR";
3968 case SpvRayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionTriangleKHR: return "RayQueryCommittedIntersectionTriangleKHR";
3969 case SpvRayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionGeneratedKHR: return "RayQueryCommittedIntersectionGeneratedKHR";
3970 default: return "Unknown";
3971 }
3972 }
3973
SpvRayQueryCandidateIntersectionTypeToString(SpvRayQueryCandidateIntersectionType value)3974 inline const char* SpvRayQueryCandidateIntersectionTypeToString(SpvRayQueryCandidateIntersectionType value) {
3975 switch (value) {
3976 case SpvRayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionTriangleKHR: return "RayQueryCandidateIntersectionTriangleKHR";
3977 case SpvRayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionAABBKHR: return "RayQueryCandidateIntersectionAABBKHR";
3978 default: return "Unknown";
3979 }
3980 }
3981
SpvFPDenormModeToString(SpvFPDenormMode value)3982 inline const char* SpvFPDenormModeToString(SpvFPDenormMode value) {
3983 switch (value) {
3984 case SpvFPDenormModePreserve: return "Preserve";
3985 case SpvFPDenormModeFlushToZero: return "FlushToZero";
3986 default: return "Unknown";
3987 }
3988 }
3989
SpvFPOperationModeToString(SpvFPOperationMode value)3990 inline const char* SpvFPOperationModeToString(SpvFPOperationMode value) {
3991 switch (value) {
3992 case SpvFPOperationModeIEEE: return "IEEE";
3993 case SpvFPOperationModeALT: return "ALT";
3994 default: return "Unknown";
3995 }
3996 }
3997
SpvQuantizationModesToString(SpvQuantizationModes value)3998 inline const char* SpvQuantizationModesToString(SpvQuantizationModes value) {
3999 switch (value) {
4000 case SpvQuantizationModesTRN: return "TRN";
4001 case SpvQuantizationModesTRN_ZERO: return "TRN_ZERO";
4002 case SpvQuantizationModesRND: return "RND";
4003 case SpvQuantizationModesRND_ZERO: return "RND_ZERO";
4004 case SpvQuantizationModesRND_INF: return "RND_INF";
4005 case SpvQuantizationModesRND_MIN_INF: return "RND_MIN_INF";
4006 case SpvQuantizationModesRND_CONV: return "RND_CONV";
4007 case SpvQuantizationModesRND_CONV_ODD: return "RND_CONV_ODD";
4008 default: return "Unknown";
4009 }
4010 }
4011
SpvOverflowModesToString(SpvOverflowModes value)4012 inline const char* SpvOverflowModesToString(SpvOverflowModes value) {
4013 switch (value) {
4014 case SpvOverflowModesWRAP: return "WRAP";
4015 case SpvOverflowModesSAT: return "SAT";
4016 case SpvOverflowModesSAT_ZERO: return "SAT_ZERO";
4017 case SpvOverflowModesSAT_SYM: return "SAT_SYM";
4018 default: return "Unknown";
4019 }
4020 }
4021
SpvPackedVectorFormatToString(SpvPackedVectorFormat value)4022 inline const char* SpvPackedVectorFormatToString(SpvPackedVectorFormat value) {
4023 switch (value) {
4024 case SpvPackedVectorFormatPackedVectorFormat4x8Bit: return "PackedVectorFormat4x8Bit";
4025 default: return "Unknown";
4026 }
4027 }
4028
SpvCooperativeMatrixLayoutToString(SpvCooperativeMatrixLayout value)4029 inline const char* SpvCooperativeMatrixLayoutToString(SpvCooperativeMatrixLayout value) {
4030 switch (value) {
4031 case SpvCooperativeMatrixLayoutRowMajorKHR: return "RowMajorKHR";
4032 case SpvCooperativeMatrixLayoutColumnMajorKHR: return "ColumnMajorKHR";
4033 case SpvCooperativeMatrixLayoutRowBlockedInterleavedARM: return "RowBlockedInterleavedARM";
4034 case SpvCooperativeMatrixLayoutColumnBlockedInterleavedARM: return "ColumnBlockedInterleavedARM";
4035 default: return "Unknown";
4036 }
4037 }
4038
SpvCooperativeMatrixUseToString(SpvCooperativeMatrixUse value)4039 inline const char* SpvCooperativeMatrixUseToString(SpvCooperativeMatrixUse value) {
4040 switch (value) {
4041 case SpvCooperativeMatrixUseMatrixAKHR: return "MatrixAKHR";
4042 case SpvCooperativeMatrixUseMatrixBKHR: return "MatrixBKHR";
4043 case SpvCooperativeMatrixUseMatrixAccumulatorKHR: return "MatrixAccumulatorKHR";
4044 default: return "Unknown";
4045 }
4046 }
4047
SpvTensorClampModeToString(SpvTensorClampMode value)4048 inline const char* SpvTensorClampModeToString(SpvTensorClampMode value) {
4049 switch (value) {
4050 case SpvTensorClampModeUndefined: return "Undefined";
4051 case SpvTensorClampModeConstant: return "Constant";
4052 case SpvTensorClampModeClampToEdge: return "ClampToEdge";
4053 case SpvTensorClampModeRepeat: return "Repeat";
4054 case SpvTensorClampModeRepeatMirrored: return "RepeatMirrored";
4055 default: return "Unknown";
4056 }
4057 }
4058
SpvInitializationModeQualifierToString(SpvInitializationModeQualifier value)4059 inline const char* SpvInitializationModeQualifierToString(SpvInitializationModeQualifier value) {
4060 switch (value) {
4061 case SpvInitializationModeQualifierInitOnDeviceReprogramINTEL: return "InitOnDeviceReprogramINTEL";
4062 case SpvInitializationModeQualifierInitOnDeviceResetINTEL: return "InitOnDeviceResetINTEL";
4063 default: return "Unknown";
4064 }
4065 }
4066
SpvHostAccessQualifierToString(SpvHostAccessQualifier value)4067 inline const char* SpvHostAccessQualifierToString(SpvHostAccessQualifier value) {
4068 switch (value) {
4069 case SpvHostAccessQualifierNoneINTEL: return "NoneINTEL";
4070 case SpvHostAccessQualifierReadINTEL: return "ReadINTEL";
4071 case SpvHostAccessQualifierWriteINTEL: return "WriteINTEL";
4072 case SpvHostAccessQualifierReadWriteINTEL: return "ReadWriteINTEL";
4073 default: return "Unknown";
4074 }
4075 }
4076
SpvLoadCacheControlToString(SpvLoadCacheControl value)4077 inline const char* SpvLoadCacheControlToString(SpvLoadCacheControl value) {
4078 switch (value) {
4079 case SpvLoadCacheControlUncachedINTEL: return "UncachedINTEL";
4080 case SpvLoadCacheControlCachedINTEL: return "CachedINTEL";
4081 case SpvLoadCacheControlStreamingINTEL: return "StreamingINTEL";
4082 case SpvLoadCacheControlInvalidateAfterReadINTEL: return "InvalidateAfterReadINTEL";
4083 case SpvLoadCacheControlConstCachedINTEL: return "ConstCachedINTEL";
4084 default: return "Unknown";
4085 }
4086 }
4087
SpvStoreCacheControlToString(SpvStoreCacheControl value)4088 inline const char* SpvStoreCacheControlToString(SpvStoreCacheControl value) {
4089 switch (value) {
4090 case SpvStoreCacheControlUncachedINTEL: return "UncachedINTEL";
4091 case SpvStoreCacheControlWriteThroughINTEL: return "WriteThroughINTEL";
4092 case SpvStoreCacheControlWriteBackINTEL: return "WriteBackINTEL";
4093 case SpvStoreCacheControlStreamingINTEL: return "StreamingINTEL";
4094 default: return "Unknown";
4095 }
4096 }
4097
SpvNamedMaximumNumberOfRegistersToString(SpvNamedMaximumNumberOfRegisters value)4098 inline const char* SpvNamedMaximumNumberOfRegistersToString(SpvNamedMaximumNumberOfRegisters value) {
4099 switch (value) {
4100 case SpvNamedMaximumNumberOfRegistersAutoINTEL: return "AutoINTEL";
4101 default: return "Unknown";
4102 }
4103 }
4104
SpvFPEncodingToString(SpvFPEncoding value)4105 inline const char* SpvFPEncodingToString(SpvFPEncoding value) {
4106 switch (value) {
4107 default: return "Unknown";
4108 }
4109 }
4110
SpvOpToString(SpvOp value)4111 inline const char* SpvOpToString(SpvOp value) {
4112 switch (value) {
4113 case SpvOpNop: return "OpNop";
4114 case SpvOpUndef: return "OpUndef";
4115 case SpvOpSourceContinued: return "OpSourceContinued";
4116 case SpvOpSource: return "OpSource";
4117 case SpvOpSourceExtension: return "OpSourceExtension";
4118 case SpvOpName: return "OpName";
4119 case SpvOpMemberName: return "OpMemberName";
4120 case SpvOpString: return "OpString";
4121 case SpvOpLine: return "OpLine";
4122 case SpvOpExtension: return "OpExtension";
4123 case SpvOpExtInstImport: return "OpExtInstImport";
4124 case SpvOpExtInst: return "OpExtInst";
4125 case SpvOpMemoryModel: return "OpMemoryModel";
4126 case SpvOpEntryPoint: return "OpEntryPoint";
4127 case SpvOpExecutionMode: return "OpExecutionMode";
4128 case SpvOpCapability: return "OpCapability";
4129 case SpvOpTypeVoid: return "OpTypeVoid";
4130 case SpvOpTypeBool: return "OpTypeBool";
4131 case SpvOpTypeInt: return "OpTypeInt";
4132 case SpvOpTypeFloat: return "OpTypeFloat";
4133 case SpvOpTypeVector: return "OpTypeVector";
4134 case SpvOpTypeMatrix: return "OpTypeMatrix";
4135 case SpvOpTypeImage: return "OpTypeImage";
4136 case SpvOpTypeSampler: return "OpTypeSampler";
4137 case SpvOpTypeSampledImage: return "OpTypeSampledImage";
4138 case SpvOpTypeArray: return "OpTypeArray";
4139 case SpvOpTypeRuntimeArray: return "OpTypeRuntimeArray";
4140 case SpvOpTypeStruct: return "OpTypeStruct";
4141 case SpvOpTypeOpaque: return "OpTypeOpaque";
4142 case SpvOpTypePointer: return "OpTypePointer";
4143 case SpvOpTypeFunction: return "OpTypeFunction";
4144 case SpvOpTypeEvent: return "OpTypeEvent";
4145 case SpvOpTypeDeviceEvent: return "OpTypeDeviceEvent";
4146 case SpvOpTypeReserveId: return "OpTypeReserveId";
4147 case SpvOpTypeQueue: return "OpTypeQueue";
4148 case SpvOpTypePipe: return "OpTypePipe";
4149 case SpvOpTypeForwardPointer: return "OpTypeForwardPointer";
4150 case SpvOpConstantTrue: return "OpConstantTrue";
4151 case SpvOpConstantFalse: return "OpConstantFalse";
4152 case SpvOpConstant: return "OpConstant";
4153 case SpvOpConstantComposite: return "OpConstantComposite";
4154 case SpvOpConstantSampler: return "OpConstantSampler";
4155 case SpvOpConstantNull: return "OpConstantNull";
4156 case SpvOpSpecConstantTrue: return "OpSpecConstantTrue";
4157 case SpvOpSpecConstantFalse: return "OpSpecConstantFalse";
4158 case SpvOpSpecConstant: return "OpSpecConstant";
4159 case SpvOpSpecConstantComposite: return "OpSpecConstantComposite";
4160 case SpvOpSpecConstantOp: return "OpSpecConstantOp";
4161 case SpvOpFunction: return "OpFunction";
4162 case SpvOpFunctionParameter: return "OpFunctionParameter";
4163 case SpvOpFunctionEnd: return "OpFunctionEnd";
4164 case SpvOpFunctionCall: return "OpFunctionCall";
4165 case SpvOpVariable: return "OpVariable";
4166 case SpvOpImageTexelPointer: return "OpImageTexelPointer";
4167 case SpvOpLoad: return "OpLoad";
4168 case SpvOpStore: return "OpStore";
4169 case SpvOpCopyMemory: return "OpCopyMemory";
4170 case SpvOpCopyMemorySized: return "OpCopyMemorySized";
4171 case SpvOpAccessChain: return "OpAccessChain";
4172 case SpvOpInBoundsAccessChain: return "OpInBoundsAccessChain";
4173 case SpvOpPtrAccessChain: return "OpPtrAccessChain";
4174 case SpvOpArrayLength: return "OpArrayLength";
4175 case SpvOpGenericPtrMemSemantics: return "OpGenericPtrMemSemantics";
4176 case SpvOpInBoundsPtrAccessChain: return "OpInBoundsPtrAccessChain";
4177 case SpvOpDecorate: return "OpDecorate";
4178 case SpvOpMemberDecorate: return "OpMemberDecorate";
4179 case SpvOpDecorationGroup: return "OpDecorationGroup";
4180 case SpvOpGroupDecorate: return "OpGroupDecorate";
4181 case SpvOpGroupMemberDecorate: return "OpGroupMemberDecorate";
4182 case SpvOpVectorExtractDynamic: return "OpVectorExtractDynamic";
4183 case SpvOpVectorInsertDynamic: return "OpVectorInsertDynamic";
4184 case SpvOpVectorShuffle: return "OpVectorShuffle";
4185 case SpvOpCompositeConstruct: return "OpCompositeConstruct";
4186 case SpvOpCompositeExtract: return "OpCompositeExtract";
4187 case SpvOpCompositeInsert: return "OpCompositeInsert";
4188 case SpvOpCopyObject: return "OpCopyObject";
4189 case SpvOpTranspose: return "OpTranspose";
4190 case SpvOpSampledImage: return "OpSampledImage";
4191 case SpvOpImageSampleImplicitLod: return "OpImageSampleImplicitLod";
4192 case SpvOpImageSampleExplicitLod: return "OpImageSampleExplicitLod";
4193 case SpvOpImageSampleDrefImplicitLod: return "OpImageSampleDrefImplicitLod";
4194 case SpvOpImageSampleDrefExplicitLod: return "OpImageSampleDrefExplicitLod";
4195 case SpvOpImageSampleProjImplicitLod: return "OpImageSampleProjImplicitLod";
4196 case SpvOpImageSampleProjExplicitLod: return "OpImageSampleProjExplicitLod";
4197 case SpvOpImageSampleProjDrefImplicitLod: return "OpImageSampleProjDrefImplicitLod";
4198 case SpvOpImageSampleProjDrefExplicitLod: return "OpImageSampleProjDrefExplicitLod";
4199 case SpvOpImageFetch: return "OpImageFetch";
4200 case SpvOpImageGather: return "OpImageGather";
4201 case SpvOpImageDrefGather: return "OpImageDrefGather";
4202 case SpvOpImageRead: return "OpImageRead";
4203 case SpvOpImageWrite: return "OpImageWrite";
4204 case SpvOpImage: return "OpImage";
4205 case SpvOpImageQueryFormat: return "OpImageQueryFormat";
4206 case SpvOpImageQueryOrder: return "OpImageQueryOrder";
4207 case SpvOpImageQuerySizeLod: return "OpImageQuerySizeLod";
4208 case SpvOpImageQuerySize: return "OpImageQuerySize";
4209 case SpvOpImageQueryLod: return "OpImageQueryLod";
4210 case SpvOpImageQueryLevels: return "OpImageQueryLevels";
4211 case SpvOpImageQuerySamples: return "OpImageQuerySamples";
4212 case SpvOpConvertFToU: return "OpConvertFToU";
4213 case SpvOpConvertFToS: return "OpConvertFToS";
4214 case SpvOpConvertSToF: return "OpConvertSToF";
4215 case SpvOpConvertUToF: return "OpConvertUToF";
4216 case SpvOpUConvert: return "OpUConvert";
4217 case SpvOpSConvert: return "OpSConvert";
4218 case SpvOpFConvert: return "OpFConvert";
4219 case SpvOpQuantizeToF16: return "OpQuantizeToF16";
4220 case SpvOpConvertPtrToU: return "OpConvertPtrToU";
4221 case SpvOpSatConvertSToU: return "OpSatConvertSToU";
4222 case SpvOpSatConvertUToS: return "OpSatConvertUToS";
4223 case SpvOpConvertUToPtr: return "OpConvertUToPtr";
4224 case SpvOpPtrCastToGeneric: return "OpPtrCastToGeneric";
4225 case SpvOpGenericCastToPtr: return "OpGenericCastToPtr";
4226 case SpvOpGenericCastToPtrExplicit: return "OpGenericCastToPtrExplicit";
4227 case SpvOpBitcast: return "OpBitcast";
4228 case SpvOpSNegate: return "OpSNegate";
4229 case SpvOpFNegate: return "OpFNegate";
4230 case SpvOpIAdd: return "OpIAdd";
4231 case SpvOpFAdd: return "OpFAdd";
4232 case SpvOpISub: return "OpISub";
4233 case SpvOpFSub: return "OpFSub";
4234 case SpvOpIMul: return "OpIMul";
4235 case SpvOpFMul: return "OpFMul";
4236 case SpvOpUDiv: return "OpUDiv";
4237 case SpvOpSDiv: return "OpSDiv";
4238 case SpvOpFDiv: return "OpFDiv";
4239 case SpvOpUMod: return "OpUMod";
4240 case SpvOpSRem: return "OpSRem";
4241 case SpvOpSMod: return "OpSMod";
4242 case SpvOpFRem: return "OpFRem";
4243 case SpvOpFMod: return "OpFMod";
4244 case SpvOpVectorTimesScalar: return "OpVectorTimesScalar";
4245 case SpvOpMatrixTimesScalar: return "OpMatrixTimesScalar";
4246 case SpvOpVectorTimesMatrix: return "OpVectorTimesMatrix";
4247 case SpvOpMatrixTimesVector: return "OpMatrixTimesVector";
4248 case SpvOpMatrixTimesMatrix: return "OpMatrixTimesMatrix";
4249 case SpvOpOuterProduct: return "OpOuterProduct";
4250 case SpvOpDot: return "OpDot";
4251 case SpvOpIAddCarry: return "OpIAddCarry";
4252 case SpvOpISubBorrow: return "OpISubBorrow";
4253 case SpvOpUMulExtended: return "OpUMulExtended";
4254 case SpvOpSMulExtended: return "OpSMulExtended";
4255 case SpvOpAny: return "OpAny";
4256 case SpvOpAll: return "OpAll";
4257 case SpvOpIsNan: return "OpIsNan";
4258 case SpvOpIsInf: return "OpIsInf";
4259 case SpvOpIsFinite: return "OpIsFinite";
4260 case SpvOpIsNormal: return "OpIsNormal";
4261 case SpvOpSignBitSet: return "OpSignBitSet";
4262 case SpvOpLessOrGreater: return "OpLessOrGreater";
4263 case SpvOpOrdered: return "OpOrdered";
4264 case SpvOpUnordered: return "OpUnordered";
4265 case SpvOpLogicalEqual: return "OpLogicalEqual";
4266 case SpvOpLogicalNotEqual: return "OpLogicalNotEqual";
4267 case SpvOpLogicalOr: return "OpLogicalOr";
4268 case SpvOpLogicalAnd: return "OpLogicalAnd";
4269 case SpvOpLogicalNot: return "OpLogicalNot";
4270 case SpvOpSelect: return "OpSelect";
4271 case SpvOpIEqual: return "OpIEqual";
4272 case SpvOpINotEqual: return "OpINotEqual";
4273 case SpvOpUGreaterThan: return "OpUGreaterThan";
4274 case SpvOpSGreaterThan: return "OpSGreaterThan";
4275 case SpvOpUGreaterThanEqual: return "OpUGreaterThanEqual";
4276 case SpvOpSGreaterThanEqual: return "OpSGreaterThanEqual";
4277 case SpvOpULessThan: return "OpULessThan";
4278 case SpvOpSLessThan: return "OpSLessThan";
4279 case SpvOpULessThanEqual: return "OpULessThanEqual";
4280 case SpvOpSLessThanEqual: return "OpSLessThanEqual";
4281 case SpvOpFOrdEqual: return "OpFOrdEqual";
4282 case SpvOpFUnordEqual: return "OpFUnordEqual";
4283 case SpvOpFOrdNotEqual: return "OpFOrdNotEqual";
4284 case SpvOpFUnordNotEqual: return "OpFUnordNotEqual";
4285 case SpvOpFOrdLessThan: return "OpFOrdLessThan";
4286 case SpvOpFUnordLessThan: return "OpFUnordLessThan";
4287 case SpvOpFOrdGreaterThan: return "OpFOrdGreaterThan";
4288 case SpvOpFUnordGreaterThan: return "OpFUnordGreaterThan";
4289 case SpvOpFOrdLessThanEqual: return "OpFOrdLessThanEqual";
4290 case SpvOpFUnordLessThanEqual: return "OpFUnordLessThanEqual";
4291 case SpvOpFOrdGreaterThanEqual: return "OpFOrdGreaterThanEqual";
4292 case SpvOpFUnordGreaterThanEqual: return "OpFUnordGreaterThanEqual";
4293 case SpvOpShiftRightLogical: return "OpShiftRightLogical";
4294 case SpvOpShiftRightArithmetic: return "OpShiftRightArithmetic";
4295 case SpvOpShiftLeftLogical: return "OpShiftLeftLogical";
4296 case SpvOpBitwiseOr: return "OpBitwiseOr";
4297 case SpvOpBitwiseXor: return "OpBitwiseXor";
4298 case SpvOpBitwiseAnd: return "OpBitwiseAnd";
4299 case SpvOpNot: return "OpNot";
4300 case SpvOpBitFieldInsert: return "OpBitFieldInsert";
4301 case SpvOpBitFieldSExtract: return "OpBitFieldSExtract";
4302 case SpvOpBitFieldUExtract: return "OpBitFieldUExtract";
4303 case SpvOpBitReverse: return "OpBitReverse";
4304 case SpvOpBitCount: return "OpBitCount";
4305 case SpvOpDPdx: return "OpDPdx";
4306 case SpvOpDPdy: return "OpDPdy";
4307 case SpvOpFwidth: return "OpFwidth";
4308 case SpvOpDPdxFine: return "OpDPdxFine";
4309 case SpvOpDPdyFine: return "OpDPdyFine";
4310 case SpvOpFwidthFine: return "OpFwidthFine";
4311 case SpvOpDPdxCoarse: return "OpDPdxCoarse";
4312 case SpvOpDPdyCoarse: return "OpDPdyCoarse";
4313 case SpvOpFwidthCoarse: return "OpFwidthCoarse";
4314 case SpvOpEmitVertex: return "OpEmitVertex";
4315 case SpvOpEndPrimitive: return "OpEndPrimitive";
4316 case SpvOpEmitStreamVertex: return "OpEmitStreamVertex";
4317 case SpvOpEndStreamPrimitive: return "OpEndStreamPrimitive";
4318 case SpvOpControlBarrier: return "OpControlBarrier";
4319 case SpvOpMemoryBarrier: return "OpMemoryBarrier";
4320 case SpvOpAtomicLoad: return "OpAtomicLoad";
4321 case SpvOpAtomicStore: return "OpAtomicStore";
4322 case SpvOpAtomicExchange: return "OpAtomicExchange";
4323 case SpvOpAtomicCompareExchange: return "OpAtomicCompareExchange";
4324 case SpvOpAtomicCompareExchangeWeak: return "OpAtomicCompareExchangeWeak";
4325 case SpvOpAtomicIIncrement: return "OpAtomicIIncrement";
4326 case SpvOpAtomicIDecrement: return "OpAtomicIDecrement";
4327 case SpvOpAtomicIAdd: return "OpAtomicIAdd";
4328 case SpvOpAtomicISub: return "OpAtomicISub";
4329 case SpvOpAtomicSMin: return "OpAtomicSMin";
4330 case SpvOpAtomicUMin: return "OpAtomicUMin";
4331 case SpvOpAtomicSMax: return "OpAtomicSMax";
4332 case SpvOpAtomicUMax: return "OpAtomicUMax";
4333 case SpvOpAtomicAnd: return "OpAtomicAnd";
4334 case SpvOpAtomicOr: return "OpAtomicOr";
4335 case SpvOpAtomicXor: return "OpAtomicXor";
4336 case SpvOpPhi: return "OpPhi";
4337 case SpvOpLoopMerge: return "OpLoopMerge";
4338 case SpvOpSelectionMerge: return "OpSelectionMerge";
4339 case SpvOpLabel: return "OpLabel";
4340 case SpvOpBranch: return "OpBranch";
4341 case SpvOpBranchConditional: return "OpBranchConditional";
4342 case SpvOpSwitch: return "OpSwitch";
4343 case SpvOpKill: return "OpKill";
4344 case SpvOpReturn: return "OpReturn";
4345 case SpvOpReturnValue: return "OpReturnValue";
4346 case SpvOpUnreachable: return "OpUnreachable";
4347 case SpvOpLifetimeStart: return "OpLifetimeStart";
4348 case SpvOpLifetimeStop: return "OpLifetimeStop";
4349 case SpvOpGroupAsyncCopy: return "OpGroupAsyncCopy";
4350 case SpvOpGroupWaitEvents: return "OpGroupWaitEvents";
4351 case SpvOpGroupAll: return "OpGroupAll";
4352 case SpvOpGroupAny: return "OpGroupAny";
4353 case SpvOpGroupBroadcast: return "OpGroupBroadcast";
4354 case SpvOpGroupIAdd: return "OpGroupIAdd";
4355 case SpvOpGroupFAdd: return "OpGroupFAdd";
4356 case SpvOpGroupFMin: return "OpGroupFMin";
4357 case SpvOpGroupUMin: return "OpGroupUMin";
4358 case SpvOpGroupSMin: return "OpGroupSMin";
4359 case SpvOpGroupFMax: return "OpGroupFMax";
4360 case SpvOpGroupUMax: return "OpGroupUMax";
4361 case SpvOpGroupSMax: return "OpGroupSMax";
4362 case SpvOpReadPipe: return "OpReadPipe";
4363 case SpvOpWritePipe: return "OpWritePipe";
4364 case SpvOpReservedReadPipe: return "OpReservedReadPipe";
4365 case SpvOpReservedWritePipe: return "OpReservedWritePipe";
4366 case SpvOpReserveReadPipePackets: return "OpReserveReadPipePackets";
4367 case SpvOpReserveWritePipePackets: return "OpReserveWritePipePackets";
4368 case SpvOpCommitReadPipe: return "OpCommitReadPipe";
4369 case SpvOpCommitWritePipe: return "OpCommitWritePipe";
4370 case SpvOpIsValidReserveId: return "OpIsValidReserveId";
4371 case SpvOpGetNumPipePackets: return "OpGetNumPipePackets";
4372 case SpvOpGetMaxPipePackets: return "OpGetMaxPipePackets";
4373 case SpvOpGroupReserveReadPipePackets: return "OpGroupReserveReadPipePackets";
4374 case SpvOpGroupReserveWritePipePackets: return "OpGroupReserveWritePipePackets";
4375 case SpvOpGroupCommitReadPipe: return "OpGroupCommitReadPipe";
4376 case SpvOpGroupCommitWritePipe: return "OpGroupCommitWritePipe";
4377 case SpvOpEnqueueMarker: return "OpEnqueueMarker";
4378 case SpvOpEnqueueKernel: return "OpEnqueueKernel";
4379 case SpvOpGetKernelNDrangeSubGroupCount: return "OpGetKernelNDrangeSubGroupCount";
4380 case SpvOpGetKernelNDrangeMaxSubGroupSize: return "OpGetKernelNDrangeMaxSubGroupSize";
4381 case SpvOpGetKernelWorkGroupSize: return "OpGetKernelWorkGroupSize";
4382 case SpvOpGetKernelPreferredWorkGroupSizeMultiple: return "OpGetKernelPreferredWorkGroupSizeMultiple";
4383 case SpvOpRetainEvent: return "OpRetainEvent";
4384 case SpvOpReleaseEvent: return "OpReleaseEvent";
4385 case SpvOpCreateUserEvent: return "OpCreateUserEvent";
4386 case SpvOpIsValidEvent: return "OpIsValidEvent";
4387 case SpvOpSetUserEventStatus: return "OpSetUserEventStatus";
4388 case SpvOpCaptureEventProfilingInfo: return "OpCaptureEventProfilingInfo";
4389 case SpvOpGetDefaultQueue: return "OpGetDefaultQueue";
4390 case SpvOpBuildNDRange: return "OpBuildNDRange";
4391 case SpvOpImageSparseSampleImplicitLod: return "OpImageSparseSampleImplicitLod";
4392 case SpvOpImageSparseSampleExplicitLod: return "OpImageSparseSampleExplicitLod";
4393 case SpvOpImageSparseSampleDrefImplicitLod: return "OpImageSparseSampleDrefImplicitLod";
4394 case SpvOpImageSparseSampleDrefExplicitLod: return "OpImageSparseSampleDrefExplicitLod";
4395 case SpvOpImageSparseSampleProjImplicitLod: return "OpImageSparseSampleProjImplicitLod";
4396 case SpvOpImageSparseSampleProjExplicitLod: return "OpImageSparseSampleProjExplicitLod";
4397 case SpvOpImageSparseSampleProjDrefImplicitLod: return "OpImageSparseSampleProjDrefImplicitLod";
4398 case SpvOpImageSparseSampleProjDrefExplicitLod: return "OpImageSparseSampleProjDrefExplicitLod";
4399 case SpvOpImageSparseFetch: return "OpImageSparseFetch";
4400 case SpvOpImageSparseGather: return "OpImageSparseGather";
4401 case SpvOpImageSparseDrefGather: return "OpImageSparseDrefGather";
4402 case SpvOpImageSparseTexelsResident: return "OpImageSparseTexelsResident";
4403 case SpvOpNoLine: return "OpNoLine";
4404 case SpvOpAtomicFlagTestAndSet: return "OpAtomicFlagTestAndSet";
4405 case SpvOpAtomicFlagClear: return "OpAtomicFlagClear";
4406 case SpvOpImageSparseRead: return "OpImageSparseRead";
4407 case SpvOpSizeOf: return "OpSizeOf";
4408 case SpvOpTypePipeStorage: return "OpTypePipeStorage";
4409 case SpvOpConstantPipeStorage: return "OpConstantPipeStorage";
4410 case SpvOpCreatePipeFromPipeStorage: return "OpCreatePipeFromPipeStorage";
4411 case SpvOpGetKernelLocalSizeForSubgroupCount: return "OpGetKernelLocalSizeForSubgroupCount";
4412 case SpvOpGetKernelMaxNumSubgroups: return "OpGetKernelMaxNumSubgroups";
4413 case SpvOpTypeNamedBarrier: return "OpTypeNamedBarrier";
4414 case SpvOpNamedBarrierInitialize: return "OpNamedBarrierInitialize";
4415 case SpvOpMemoryNamedBarrier: return "OpMemoryNamedBarrier";
4416 case SpvOpModuleProcessed: return "OpModuleProcessed";
4417 case SpvOpExecutionModeId: return "OpExecutionModeId";
4418 case SpvOpDecorateId: return "OpDecorateId";
4419 case SpvOpGroupNonUniformElect: return "OpGroupNonUniformElect";
4420 case SpvOpGroupNonUniformAll: return "OpGroupNonUniformAll";
4421 case SpvOpGroupNonUniformAny: return "OpGroupNonUniformAny";
4422 case SpvOpGroupNonUniformAllEqual: return "OpGroupNonUniformAllEqual";
4423 case SpvOpGroupNonUniformBroadcast: return "OpGroupNonUniformBroadcast";
4424 case SpvOpGroupNonUniformBroadcastFirst: return "OpGroupNonUniformBroadcastFirst";
4425 case SpvOpGroupNonUniformBallot: return "OpGroupNonUniformBallot";
4426 case SpvOpGroupNonUniformInverseBallot: return "OpGroupNonUniformInverseBallot";
4427 case SpvOpGroupNonUniformBallotBitExtract: return "OpGroupNonUniformBallotBitExtract";
4428 case SpvOpGroupNonUniformBallotBitCount: return "OpGroupNonUniformBallotBitCount";
4429 case SpvOpGroupNonUniformBallotFindLSB: return "OpGroupNonUniformBallotFindLSB";
4430 case SpvOpGroupNonUniformBallotFindMSB: return "OpGroupNonUniformBallotFindMSB";
4431 case SpvOpGroupNonUniformShuffle: return "OpGroupNonUniformShuffle";
4432 case SpvOpGroupNonUniformShuffleXor: return "OpGroupNonUniformShuffleXor";
4433 case SpvOpGroupNonUniformShuffleUp: return "OpGroupNonUniformShuffleUp";
4434 case SpvOpGroupNonUniformShuffleDown: return "OpGroupNonUniformShuffleDown";
4435 case SpvOpGroupNonUniformIAdd: return "OpGroupNonUniformIAdd";
4436 case SpvOpGroupNonUniformFAdd: return "OpGroupNonUniformFAdd";
4437 case SpvOpGroupNonUniformIMul: return "OpGroupNonUniformIMul";
4438 case SpvOpGroupNonUniformFMul: return "OpGroupNonUniformFMul";
4439 case SpvOpGroupNonUniformSMin: return "OpGroupNonUniformSMin";
4440 case SpvOpGroupNonUniformUMin: return "OpGroupNonUniformUMin";
4441 case SpvOpGroupNonUniformFMin: return "OpGroupNonUniformFMin";
4442 case SpvOpGroupNonUniformSMax: return "OpGroupNonUniformSMax";
4443 case SpvOpGroupNonUniformUMax: return "OpGroupNonUniformUMax";
4444 case SpvOpGroupNonUniformFMax: return "OpGroupNonUniformFMax";
4445 case SpvOpGroupNonUniformBitwiseAnd: return "OpGroupNonUniformBitwiseAnd";
4446 case SpvOpGroupNonUniformBitwiseOr: return "OpGroupNonUniformBitwiseOr";
4447 case SpvOpGroupNonUniformBitwiseXor: return "OpGroupNonUniformBitwiseXor";
4448 case SpvOpGroupNonUniformLogicalAnd: return "OpGroupNonUniformLogicalAnd";
4449 case SpvOpGroupNonUniformLogicalOr: return "OpGroupNonUniformLogicalOr";
4450 case SpvOpGroupNonUniformLogicalXor: return "OpGroupNonUniformLogicalXor";
4451 case SpvOpGroupNonUniformQuadBroadcast: return "OpGroupNonUniformQuadBroadcast";
4452 case SpvOpGroupNonUniformQuadSwap: return "OpGroupNonUniformQuadSwap";
4453 case SpvOpCopyLogical: return "OpCopyLogical";
4454 case SpvOpPtrEqual: return "OpPtrEqual";
4455 case SpvOpPtrNotEqual: return "OpPtrNotEqual";
4456 case SpvOpPtrDiff: return "OpPtrDiff";
4457 case SpvOpColorAttachmentReadEXT: return "OpColorAttachmentReadEXT";
4458 case SpvOpDepthAttachmentReadEXT: return "OpDepthAttachmentReadEXT";
4459 case SpvOpStencilAttachmentReadEXT: return "OpStencilAttachmentReadEXT";
4460 case SpvOpTerminateInvocation: return "OpTerminateInvocation";
4461 case SpvOpTypeUntypedPointerKHR: return "OpTypeUntypedPointerKHR";
4462 case SpvOpUntypedVariableKHR: return "OpUntypedVariableKHR";
4463 case SpvOpUntypedAccessChainKHR: return "OpUntypedAccessChainKHR";
4464 case SpvOpUntypedInBoundsAccessChainKHR: return "OpUntypedInBoundsAccessChainKHR";
4465 case SpvOpSubgroupBallotKHR: return "OpSubgroupBallotKHR";
4466 case SpvOpSubgroupFirstInvocationKHR: return "OpSubgroupFirstInvocationKHR";
4467 case SpvOpUntypedPtrAccessChainKHR: return "OpUntypedPtrAccessChainKHR";
4468 case SpvOpUntypedInBoundsPtrAccessChainKHR: return "OpUntypedInBoundsPtrAccessChainKHR";
4469 case SpvOpUntypedArrayLengthKHR: return "OpUntypedArrayLengthKHR";
4470 case SpvOpUntypedPrefetchKHR: return "OpUntypedPrefetchKHR";
4471 case SpvOpSubgroupAllKHR: return "OpSubgroupAllKHR";
4472 case SpvOpSubgroupAnyKHR: return "OpSubgroupAnyKHR";
4473 case SpvOpSubgroupAllEqualKHR: return "OpSubgroupAllEqualKHR";
4474 case SpvOpGroupNonUniformRotateKHR: return "OpGroupNonUniformRotateKHR";
4475 case SpvOpSubgroupReadInvocationKHR: return "OpSubgroupReadInvocationKHR";
4476 case SpvOpExtInstWithForwardRefsKHR: return "OpExtInstWithForwardRefsKHR";
4477 case SpvOpTraceRayKHR: return "OpTraceRayKHR";
4478 case SpvOpExecuteCallableKHR: return "OpExecuteCallableKHR";
4479 case SpvOpConvertUToAccelerationStructureKHR: return "OpConvertUToAccelerationStructureKHR";
4480 case SpvOpIgnoreIntersectionKHR: return "OpIgnoreIntersectionKHR";
4481 case SpvOpTerminateRayKHR: return "OpTerminateRayKHR";
4482 case SpvOpSDot: return "OpSDot";
4483 case SpvOpUDot: return "OpUDot";
4484 case SpvOpSUDot: return "OpSUDot";
4485 case SpvOpSDotAccSat: return "OpSDotAccSat";
4486 case SpvOpUDotAccSat: return "OpUDotAccSat";
4487 case SpvOpSUDotAccSat: return "OpSUDotAccSat";
4488 case SpvOpTypeCooperativeMatrixKHR: return "OpTypeCooperativeMatrixKHR";
4489 case SpvOpCooperativeMatrixLoadKHR: return "OpCooperativeMatrixLoadKHR";
4490 case SpvOpCooperativeMatrixStoreKHR: return "OpCooperativeMatrixStoreKHR";
4491 case SpvOpCooperativeMatrixMulAddKHR: return "OpCooperativeMatrixMulAddKHR";
4492 case SpvOpCooperativeMatrixLengthKHR: return "OpCooperativeMatrixLengthKHR";
4493 case SpvOpConstantCompositeReplicateEXT: return "OpConstantCompositeReplicateEXT";
4494 case SpvOpSpecConstantCompositeReplicateEXT: return "OpSpecConstantCompositeReplicateEXT";
4495 case SpvOpCompositeConstructReplicateEXT: return "OpCompositeConstructReplicateEXT";
4496 case SpvOpTypeRayQueryKHR: return "OpTypeRayQueryKHR";
4497 case SpvOpRayQueryInitializeKHR: return "OpRayQueryInitializeKHR";
4498 case SpvOpRayQueryTerminateKHR: return "OpRayQueryTerminateKHR";
4499 case SpvOpRayQueryGenerateIntersectionKHR: return "OpRayQueryGenerateIntersectionKHR";
4500 case SpvOpRayQueryConfirmIntersectionKHR: return "OpRayQueryConfirmIntersectionKHR";
4501 case SpvOpRayQueryProceedKHR: return "OpRayQueryProceedKHR";
4502 case SpvOpRayQueryGetIntersectionTypeKHR: return "OpRayQueryGetIntersectionTypeKHR";
4503 case SpvOpImageSampleWeightedQCOM: return "OpImageSampleWeightedQCOM";
4504 case SpvOpImageBoxFilterQCOM: return "OpImageBoxFilterQCOM";
4505 case SpvOpImageBlockMatchSSDQCOM: return "OpImageBlockMatchSSDQCOM";
4506 case SpvOpImageBlockMatchSADQCOM: return "OpImageBlockMatchSADQCOM";
4507 case SpvOpImageBlockMatchWindowSSDQCOM: return "OpImageBlockMatchWindowSSDQCOM";
4508 case SpvOpImageBlockMatchWindowSADQCOM: return "OpImageBlockMatchWindowSADQCOM";
4509 case SpvOpImageBlockMatchGatherSSDQCOM: return "OpImageBlockMatchGatherSSDQCOM";
4510 case SpvOpImageBlockMatchGatherSADQCOM: return "OpImageBlockMatchGatherSADQCOM";
4511 case SpvOpGroupIAddNonUniformAMD: return "OpGroupIAddNonUniformAMD";
4512 case SpvOpGroupFAddNonUniformAMD: return "OpGroupFAddNonUniformAMD";
4513 case SpvOpGroupFMinNonUniformAMD: return "OpGroupFMinNonUniformAMD";
4514 case SpvOpGroupUMinNonUniformAMD: return "OpGroupUMinNonUniformAMD";
4515 case SpvOpGroupSMinNonUniformAMD: return "OpGroupSMinNonUniformAMD";
4516 case SpvOpGroupFMaxNonUniformAMD: return "OpGroupFMaxNonUniformAMD";
4517 case SpvOpGroupUMaxNonUniformAMD: return "OpGroupUMaxNonUniformAMD";
4518 case SpvOpGroupSMaxNonUniformAMD: return "OpGroupSMaxNonUniformAMD";
4519 case SpvOpFragmentMaskFetchAMD: return "OpFragmentMaskFetchAMD";
4520 case SpvOpFragmentFetchAMD: return "OpFragmentFetchAMD";
4521 case SpvOpReadClockKHR: return "OpReadClockKHR";
4522 case SpvOpAllocateNodePayloadsAMDX: return "OpAllocateNodePayloadsAMDX";
4523 case SpvOpEnqueueNodePayloadsAMDX: return "OpEnqueueNodePayloadsAMDX";
4524 case SpvOpTypeNodePayloadArrayAMDX: return "OpTypeNodePayloadArrayAMDX";
4525 case SpvOpFinishWritingNodePayloadAMDX: return "OpFinishWritingNodePayloadAMDX";
4526 case SpvOpNodePayloadArrayLengthAMDX: return "OpNodePayloadArrayLengthAMDX";
4527 case SpvOpIsNodePayloadValidAMDX: return "OpIsNodePayloadValidAMDX";
4528 case SpvOpConstantStringAMDX: return "OpConstantStringAMDX";
4529 case SpvOpSpecConstantStringAMDX: return "OpSpecConstantStringAMDX";
4530 case SpvOpGroupNonUniformQuadAllKHR: return "OpGroupNonUniformQuadAllKHR";
4531 case SpvOpGroupNonUniformQuadAnyKHR: return "OpGroupNonUniformQuadAnyKHR";
4532 case SpvOpHitObjectRecordHitMotionNV: return "OpHitObjectRecordHitMotionNV";
4533 case SpvOpHitObjectRecordHitWithIndexMotionNV: return "OpHitObjectRecordHitWithIndexMotionNV";
4534 case SpvOpHitObjectRecordMissMotionNV: return "OpHitObjectRecordMissMotionNV";
4535 case SpvOpHitObjectGetWorldToObjectNV: return "OpHitObjectGetWorldToObjectNV";
4536 case SpvOpHitObjectGetObjectToWorldNV: return "OpHitObjectGetObjectToWorldNV";
4537 case SpvOpHitObjectGetObjectRayDirectionNV: return "OpHitObjectGetObjectRayDirectionNV";
4538 case SpvOpHitObjectGetObjectRayOriginNV: return "OpHitObjectGetObjectRayOriginNV";
4539 case SpvOpHitObjectTraceRayMotionNV: return "OpHitObjectTraceRayMotionNV";
4540 case SpvOpHitObjectGetShaderRecordBufferHandleNV: return "OpHitObjectGetShaderRecordBufferHandleNV";
4541 case SpvOpHitObjectGetShaderBindingTableRecordIndexNV: return "OpHitObjectGetShaderBindingTableRecordIndexNV";
4542 case SpvOpHitObjectRecordEmptyNV: return "OpHitObjectRecordEmptyNV";
4543 case SpvOpHitObjectTraceRayNV: return "OpHitObjectTraceRayNV";
4544 case SpvOpHitObjectRecordHitNV: return "OpHitObjectRecordHitNV";
4545 case SpvOpHitObjectRecordHitWithIndexNV: return "OpHitObjectRecordHitWithIndexNV";
4546 case SpvOpHitObjectRecordMissNV: return "OpHitObjectRecordMissNV";
4547 case SpvOpHitObjectExecuteShaderNV: return "OpHitObjectExecuteShaderNV";
4548 case SpvOpHitObjectGetCurrentTimeNV: return "OpHitObjectGetCurrentTimeNV";
4549 case SpvOpHitObjectGetAttributesNV: return "OpHitObjectGetAttributesNV";
4550 case SpvOpHitObjectGetHitKindNV: return "OpHitObjectGetHitKindNV";
4551 case SpvOpHitObjectGetPrimitiveIndexNV: return "OpHitObjectGetPrimitiveIndexNV";
4552 case SpvOpHitObjectGetGeometryIndexNV: return "OpHitObjectGetGeometryIndexNV";
4553 case SpvOpHitObjectGetInstanceIdNV: return "OpHitObjectGetInstanceIdNV";
4554 case SpvOpHitObjectGetInstanceCustomIndexNV: return "OpHitObjectGetInstanceCustomIndexNV";
4555 case SpvOpHitObjectGetWorldRayDirectionNV: return "OpHitObjectGetWorldRayDirectionNV";
4556 case SpvOpHitObjectGetWorldRayOriginNV: return "OpHitObjectGetWorldRayOriginNV";
4557 case SpvOpHitObjectGetRayTMaxNV: return "OpHitObjectGetRayTMaxNV";
4558 case SpvOpHitObjectGetRayTMinNV: return "OpHitObjectGetRayTMinNV";
4559 case SpvOpHitObjectIsEmptyNV: return "OpHitObjectIsEmptyNV";
4560 case SpvOpHitObjectIsHitNV: return "OpHitObjectIsHitNV";
4561 case SpvOpHitObjectIsMissNV: return "OpHitObjectIsMissNV";
4562 case SpvOpReorderThreadWithHitObjectNV: return "OpReorderThreadWithHitObjectNV";
4563 case SpvOpReorderThreadWithHintNV: return "OpReorderThreadWithHintNV";
4564 case SpvOpTypeHitObjectNV: return "OpTypeHitObjectNV";
4565 case SpvOpImageSampleFootprintNV: return "OpImageSampleFootprintNV";
4566 case SpvOpCooperativeMatrixConvertNV: return "OpCooperativeMatrixConvertNV";
4567 case SpvOpEmitMeshTasksEXT: return "OpEmitMeshTasksEXT";
4568 case SpvOpSetMeshOutputsEXT: return "OpSetMeshOutputsEXT";
4569 case SpvOpGroupNonUniformPartitionNV: return "OpGroupNonUniformPartitionNV";
4570 case SpvOpWritePackedPrimitiveIndices4x8NV: return "OpWritePackedPrimitiveIndices4x8NV";
4571 case SpvOpFetchMicroTriangleVertexPositionNV: return "OpFetchMicroTriangleVertexPositionNV";
4572 case SpvOpFetchMicroTriangleVertexBarycentricNV: return "OpFetchMicroTriangleVertexBarycentricNV";
4573 case SpvOpReportIntersectionKHR: return "OpReportIntersectionKHR";
4574 case SpvOpIgnoreIntersectionNV: return "OpIgnoreIntersectionNV";
4575 case SpvOpTerminateRayNV: return "OpTerminateRayNV";
4576 case SpvOpTraceNV: return "OpTraceNV";
4577 case SpvOpTraceMotionNV: return "OpTraceMotionNV";
4578 case SpvOpTraceRayMotionNV: return "OpTraceRayMotionNV";
4579 case SpvOpRayQueryGetIntersectionTriangleVertexPositionsKHR: return "OpRayQueryGetIntersectionTriangleVertexPositionsKHR";
4580 case SpvOpTypeAccelerationStructureKHR: return "OpTypeAccelerationStructureKHR";
4581 case SpvOpExecuteCallableNV: return "OpExecuteCallableNV";
4582 case SpvOpTypeCooperativeMatrixNV: return "OpTypeCooperativeMatrixNV";
4583 case SpvOpCooperativeMatrixLoadNV: return "OpCooperativeMatrixLoadNV";
4584 case SpvOpCooperativeMatrixStoreNV: return "OpCooperativeMatrixStoreNV";
4585 case SpvOpCooperativeMatrixMulAddNV: return "OpCooperativeMatrixMulAddNV";
4586 case SpvOpCooperativeMatrixLengthNV: return "OpCooperativeMatrixLengthNV";
4587 case SpvOpBeginInvocationInterlockEXT: return "OpBeginInvocationInterlockEXT";
4588 case SpvOpEndInvocationInterlockEXT: return "OpEndInvocationInterlockEXT";
4589 case SpvOpCooperativeMatrixReduceNV: return "OpCooperativeMatrixReduceNV";
4590 case SpvOpCooperativeMatrixLoadTensorNV: return "OpCooperativeMatrixLoadTensorNV";
4591 case SpvOpCooperativeMatrixStoreTensorNV: return "OpCooperativeMatrixStoreTensorNV";
4592 case SpvOpCooperativeMatrixPerElementOpNV: return "OpCooperativeMatrixPerElementOpNV";
4593 case SpvOpTypeTensorLayoutNV: return "OpTypeTensorLayoutNV";
4594 case SpvOpTypeTensorViewNV: return "OpTypeTensorViewNV";
4595 case SpvOpCreateTensorLayoutNV: return "OpCreateTensorLayoutNV";
4596 case SpvOpTensorLayoutSetDimensionNV: return "OpTensorLayoutSetDimensionNV";
4597 case SpvOpTensorLayoutSetStrideNV: return "OpTensorLayoutSetStrideNV";
4598 case SpvOpTensorLayoutSliceNV: return "OpTensorLayoutSliceNV";
4599 case SpvOpTensorLayoutSetClampValueNV: return "OpTensorLayoutSetClampValueNV";
4600 case SpvOpCreateTensorViewNV: return "OpCreateTensorViewNV";
4601 case SpvOpTensorViewSetDimensionNV: return "OpTensorViewSetDimensionNV";
4602 case SpvOpTensorViewSetStrideNV: return "OpTensorViewSetStrideNV";
4603 case SpvOpDemoteToHelperInvocation: return "OpDemoteToHelperInvocation";
4604 case SpvOpIsHelperInvocationEXT: return "OpIsHelperInvocationEXT";
4605 case SpvOpTensorViewSetClipNV: return "OpTensorViewSetClipNV";
4606 case SpvOpTensorLayoutSetBlockSizeNV: return "OpTensorLayoutSetBlockSizeNV";
4607 case SpvOpCooperativeMatrixTransposeNV: return "OpCooperativeMatrixTransposeNV";
4608 case SpvOpConvertUToImageNV: return "OpConvertUToImageNV";
4609 case SpvOpConvertUToSamplerNV: return "OpConvertUToSamplerNV";
4610 case SpvOpConvertImageToUNV: return "OpConvertImageToUNV";
4611 case SpvOpConvertSamplerToUNV: return "OpConvertSamplerToUNV";
4612 case SpvOpConvertUToSampledImageNV: return "OpConvertUToSampledImageNV";
4613 case SpvOpConvertSampledImageToUNV: return "OpConvertSampledImageToUNV";
4614 case SpvOpSamplerImageAddressingModeNV: return "OpSamplerImageAddressingModeNV";
4615 case SpvOpRawAccessChainNV: return "OpRawAccessChainNV";
4616 case SpvOpSubgroupShuffleINTEL: return "OpSubgroupShuffleINTEL";
4617 case SpvOpSubgroupShuffleDownINTEL: return "OpSubgroupShuffleDownINTEL";
4618 case SpvOpSubgroupShuffleUpINTEL: return "OpSubgroupShuffleUpINTEL";
4619 case SpvOpSubgroupShuffleXorINTEL: return "OpSubgroupShuffleXorINTEL";
4620 case SpvOpSubgroupBlockReadINTEL: return "OpSubgroupBlockReadINTEL";
4621 case SpvOpSubgroupBlockWriteINTEL: return "OpSubgroupBlockWriteINTEL";
4622 case SpvOpSubgroupImageBlockReadINTEL: return "OpSubgroupImageBlockReadINTEL";
4623 case SpvOpSubgroupImageBlockWriteINTEL: return "OpSubgroupImageBlockWriteINTEL";
4624 case SpvOpSubgroupImageMediaBlockReadINTEL: return "OpSubgroupImageMediaBlockReadINTEL";
4625 case SpvOpSubgroupImageMediaBlockWriteINTEL: return "OpSubgroupImageMediaBlockWriteINTEL";
4626 case SpvOpUCountLeadingZerosINTEL: return "OpUCountLeadingZerosINTEL";
4627 case SpvOpUCountTrailingZerosINTEL: return "OpUCountTrailingZerosINTEL";
4628 case SpvOpAbsISubINTEL: return "OpAbsISubINTEL";
4629 case SpvOpAbsUSubINTEL: return "OpAbsUSubINTEL";
4630 case SpvOpIAddSatINTEL: return "OpIAddSatINTEL";
4631 case SpvOpUAddSatINTEL: return "OpUAddSatINTEL";
4632 case SpvOpIAverageINTEL: return "OpIAverageINTEL";
4633 case SpvOpUAverageINTEL: return "OpUAverageINTEL";
4634 case SpvOpIAverageRoundedINTEL: return "OpIAverageRoundedINTEL";
4635 case SpvOpUAverageRoundedINTEL: return "OpUAverageRoundedINTEL";
4636 case SpvOpISubSatINTEL: return "OpISubSatINTEL";
4637 case SpvOpUSubSatINTEL: return "OpUSubSatINTEL";
4638 case SpvOpIMul32x16INTEL: return "OpIMul32x16INTEL";
4639 case SpvOpUMul32x16INTEL: return "OpUMul32x16INTEL";
4640 case SpvOpConstantFunctionPointerINTEL: return "OpConstantFunctionPointerINTEL";
4641 case SpvOpFunctionPointerCallINTEL: return "OpFunctionPointerCallINTEL";
4642 case SpvOpAsmTargetINTEL: return "OpAsmTargetINTEL";
4643 case SpvOpAsmINTEL: return "OpAsmINTEL";
4644 case SpvOpAsmCallINTEL: return "OpAsmCallINTEL";
4645 case SpvOpAtomicFMinEXT: return "OpAtomicFMinEXT";
4646 case SpvOpAtomicFMaxEXT: return "OpAtomicFMaxEXT";
4647 case SpvOpAssumeTrueKHR: return "OpAssumeTrueKHR";
4648 case SpvOpExpectKHR: return "OpExpectKHR";
4649 case SpvOpDecorateString: return "OpDecorateString";
4650 case SpvOpMemberDecorateString: return "OpMemberDecorateString";
4651 case SpvOpVmeImageINTEL: return "OpVmeImageINTEL";
4652 case SpvOpTypeVmeImageINTEL: return "OpTypeVmeImageINTEL";
4653 case SpvOpTypeAvcImePayloadINTEL: return "OpTypeAvcImePayloadINTEL";
4654 case SpvOpTypeAvcRefPayloadINTEL: return "OpTypeAvcRefPayloadINTEL";
4655 case SpvOpTypeAvcSicPayloadINTEL: return "OpTypeAvcSicPayloadINTEL";
4656 case SpvOpTypeAvcMcePayloadINTEL: return "OpTypeAvcMcePayloadINTEL";
4657 case SpvOpTypeAvcMceResultINTEL: return "OpTypeAvcMceResultINTEL";
4658 case SpvOpTypeAvcImeResultINTEL: return "OpTypeAvcImeResultINTEL";
4659 case SpvOpTypeAvcImeResultSingleReferenceStreamoutINTEL: return "OpTypeAvcImeResultSingleReferenceStreamoutINTEL";
4660 case SpvOpTypeAvcImeResultDualReferenceStreamoutINTEL: return "OpTypeAvcImeResultDualReferenceStreamoutINTEL";
4661 case SpvOpTypeAvcImeSingleReferenceStreaminINTEL: return "OpTypeAvcImeSingleReferenceStreaminINTEL";
4662 case SpvOpTypeAvcImeDualReferenceStreaminINTEL: return "OpTypeAvcImeDualReferenceStreaminINTEL";
4663 case SpvOpTypeAvcRefResultINTEL: return "OpTypeAvcRefResultINTEL";
4664 case SpvOpTypeAvcSicResultINTEL: return "OpTypeAvcSicResultINTEL";
4665 case SpvOpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL: return "OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL";
4666 case SpvOpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL: return "OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL";
4667 case SpvOpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL: return "OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL";
4668 case SpvOpSubgroupAvcMceSetInterShapePenaltyINTEL: return "OpSubgroupAvcMceSetInterShapePenaltyINTEL";
4669 case SpvOpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL: return "OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL";
4670 case SpvOpSubgroupAvcMceSetInterDirectionPenaltyINTEL: return "OpSubgroupAvcMceSetInterDirectionPenaltyINTEL";
4671 case SpvOpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL: return "OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL";
4672 case SpvOpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL: return "OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL";
4673 case SpvOpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL: return "OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL";
4674 case SpvOpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL: return "OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL";
4675 case SpvOpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL: return "OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL";
4676 case SpvOpSubgroupAvcMceSetMotionVectorCostFunctionINTEL: return "OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL";
4677 case SpvOpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL: return "OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL";
4678 case SpvOpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL: return "OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL";
4679 case SpvOpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL: return "OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL";
4680 case SpvOpSubgroupAvcMceSetAcOnlyHaarINTEL: return "OpSubgroupAvcMceSetAcOnlyHaarINTEL";
4681 case SpvOpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL: return "OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL";
4682 case SpvOpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL: return "OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL";
4683 case SpvOpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL: return "OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL";
4684 case SpvOpSubgroupAvcMceConvertToImePayloadINTEL: return "OpSubgroupAvcMceConvertToImePayloadINTEL";
4685 case SpvOpSubgroupAvcMceConvertToImeResultINTEL: return "OpSubgroupAvcMceConvertToImeResultINTEL";
4686 case SpvOpSubgroupAvcMceConvertToRefPayloadINTEL: return "OpSubgroupAvcMceConvertToRefPayloadINTEL";
4687 case SpvOpSubgroupAvcMceConvertToRefResultINTEL: return "OpSubgroupAvcMceConvertToRefResultINTEL";
4688 case SpvOpSubgroupAvcMceConvertToSicPayloadINTEL: return "OpSubgroupAvcMceConvertToSicPayloadINTEL";
4689 case SpvOpSubgroupAvcMceConvertToSicResultINTEL: return "OpSubgroupAvcMceConvertToSicResultINTEL";
4690 case SpvOpSubgroupAvcMceGetMotionVectorsINTEL: return "OpSubgroupAvcMceGetMotionVectorsINTEL";
4691 case SpvOpSubgroupAvcMceGetInterDistortionsINTEL: return "OpSubgroupAvcMceGetInterDistortionsINTEL";
4692 case SpvOpSubgroupAvcMceGetBestInterDistortionsINTEL: return "OpSubgroupAvcMceGetBestInterDistortionsINTEL";
4693 case SpvOpSubgroupAvcMceGetInterMajorShapeINTEL: return "OpSubgroupAvcMceGetInterMajorShapeINTEL";
4694 case SpvOpSubgroupAvcMceGetInterMinorShapeINTEL: return "OpSubgroupAvcMceGetInterMinorShapeINTEL";
4695 case SpvOpSubgroupAvcMceGetInterDirectionsINTEL: return "OpSubgroupAvcMceGetInterDirectionsINTEL";
4696 case SpvOpSubgroupAvcMceGetInterMotionVectorCountINTEL: return "OpSubgroupAvcMceGetInterMotionVectorCountINTEL";
4697 case SpvOpSubgroupAvcMceGetInterReferenceIdsINTEL: return "OpSubgroupAvcMceGetInterReferenceIdsINTEL";
4698 case SpvOpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL: return "OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL";
4699 case SpvOpSubgroupAvcImeInitializeINTEL: return "OpSubgroupAvcImeInitializeINTEL";
4700 case SpvOpSubgroupAvcImeSetSingleReferenceINTEL: return "OpSubgroupAvcImeSetSingleReferenceINTEL";
4701 case SpvOpSubgroupAvcImeSetDualReferenceINTEL: return "OpSubgroupAvcImeSetDualReferenceINTEL";
4702 case SpvOpSubgroupAvcImeRefWindowSizeINTEL: return "OpSubgroupAvcImeRefWindowSizeINTEL";
4703 case SpvOpSubgroupAvcImeAdjustRefOffsetINTEL: return "OpSubgroupAvcImeAdjustRefOffsetINTEL";
4704 case SpvOpSubgroupAvcImeConvertToMcePayloadINTEL: return "OpSubgroupAvcImeConvertToMcePayloadINTEL";
4705 case SpvOpSubgroupAvcImeSetMaxMotionVectorCountINTEL: return "OpSubgroupAvcImeSetMaxMotionVectorCountINTEL";
4706 case SpvOpSubgroupAvcImeSetUnidirectionalMixDisableINTEL: return "OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL";
4707 case SpvOpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL: return "OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL";
4708 case SpvOpSubgroupAvcImeSetWeightedSadINTEL: return "OpSubgroupAvcImeSetWeightedSadINTEL";
4709 case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceINTEL: return "OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL";
4710 case SpvOpSubgroupAvcImeEvaluateWithDualReferenceINTEL: return "OpSubgroupAvcImeEvaluateWithDualReferenceINTEL";
4711 case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL: return "OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL";
4712 case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL: return "OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL";
4713 case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL: return "OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL";
4714 case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL: return "OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL";
4715 case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL: return "OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL";
4716 case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL: return "OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL";
4717 case SpvOpSubgroupAvcImeConvertToMceResultINTEL: return "OpSubgroupAvcImeConvertToMceResultINTEL";
4718 case SpvOpSubgroupAvcImeGetSingleReferenceStreaminINTEL: return "OpSubgroupAvcImeGetSingleReferenceStreaminINTEL";
4719 case SpvOpSubgroupAvcImeGetDualReferenceStreaminINTEL: return "OpSubgroupAvcImeGetDualReferenceStreaminINTEL";
4720 case SpvOpSubgroupAvcImeStripSingleReferenceStreamoutINTEL: return "OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL";
4721 case SpvOpSubgroupAvcImeStripDualReferenceStreamoutINTEL: return "OpSubgroupAvcImeStripDualReferenceStreamoutINTEL";
4722 case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL: return "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL";
4723 case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL: return "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL";
4724 case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL: return "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL";
4725 case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL: return "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL";
4726 case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL: return "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL";
4727 case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL: return "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL";
4728 case SpvOpSubgroupAvcImeGetBorderReachedINTEL: return "OpSubgroupAvcImeGetBorderReachedINTEL";
4729 case SpvOpSubgroupAvcImeGetTruncatedSearchIndicationINTEL: return "OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL";
4730 case SpvOpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL: return "OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL";
4731 case SpvOpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL: return "OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL";
4732 case SpvOpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL: return "OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL";
4733 case SpvOpSubgroupAvcFmeInitializeINTEL: return "OpSubgroupAvcFmeInitializeINTEL";
4734 case SpvOpSubgroupAvcBmeInitializeINTEL: return "OpSubgroupAvcBmeInitializeINTEL";
4735 case SpvOpSubgroupAvcRefConvertToMcePayloadINTEL: return "OpSubgroupAvcRefConvertToMcePayloadINTEL";
4736 case SpvOpSubgroupAvcRefSetBidirectionalMixDisableINTEL: return "OpSubgroupAvcRefSetBidirectionalMixDisableINTEL";
4737 case SpvOpSubgroupAvcRefSetBilinearFilterEnableINTEL: return "OpSubgroupAvcRefSetBilinearFilterEnableINTEL";
4738 case SpvOpSubgroupAvcRefEvaluateWithSingleReferenceINTEL: return "OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL";
4739 case SpvOpSubgroupAvcRefEvaluateWithDualReferenceINTEL: return "OpSubgroupAvcRefEvaluateWithDualReferenceINTEL";
4740 case SpvOpSubgroupAvcRefEvaluateWithMultiReferenceINTEL: return "OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL";
4741 case SpvOpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL: return "OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL";
4742 case SpvOpSubgroupAvcRefConvertToMceResultINTEL: return "OpSubgroupAvcRefConvertToMceResultINTEL";
4743 case SpvOpSubgroupAvcSicInitializeINTEL: return "OpSubgroupAvcSicInitializeINTEL";
4744 case SpvOpSubgroupAvcSicConfigureSkcINTEL: return "OpSubgroupAvcSicConfigureSkcINTEL";
4745 case SpvOpSubgroupAvcSicConfigureIpeLumaINTEL: return "OpSubgroupAvcSicConfigureIpeLumaINTEL";
4746 case SpvOpSubgroupAvcSicConfigureIpeLumaChromaINTEL: return "OpSubgroupAvcSicConfigureIpeLumaChromaINTEL";
4747 case SpvOpSubgroupAvcSicGetMotionVectorMaskINTEL: return "OpSubgroupAvcSicGetMotionVectorMaskINTEL";
4748 case SpvOpSubgroupAvcSicConvertToMcePayloadINTEL: return "OpSubgroupAvcSicConvertToMcePayloadINTEL";
4749 case SpvOpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL: return "OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL";
4750 case SpvOpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL: return "OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL";
4751 case SpvOpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL: return "OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL";
4752 case SpvOpSubgroupAvcSicSetBilinearFilterEnableINTEL: return "OpSubgroupAvcSicSetBilinearFilterEnableINTEL";
4753 case SpvOpSubgroupAvcSicSetSkcForwardTransformEnableINTEL: return "OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL";
4754 case SpvOpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL: return "OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL";
4755 case SpvOpSubgroupAvcSicEvaluateIpeINTEL: return "OpSubgroupAvcSicEvaluateIpeINTEL";
4756 case SpvOpSubgroupAvcSicEvaluateWithSingleReferenceINTEL: return "OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL";
4757 case SpvOpSubgroupAvcSicEvaluateWithDualReferenceINTEL: return "OpSubgroupAvcSicEvaluateWithDualReferenceINTEL";
4758 case SpvOpSubgroupAvcSicEvaluateWithMultiReferenceINTEL: return "OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL";
4759 case SpvOpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL: return "OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL";
4760 case SpvOpSubgroupAvcSicConvertToMceResultINTEL: return "OpSubgroupAvcSicConvertToMceResultINTEL";
4761 case SpvOpSubgroupAvcSicGetIpeLumaShapeINTEL: return "OpSubgroupAvcSicGetIpeLumaShapeINTEL";
4762 case SpvOpSubgroupAvcSicGetBestIpeLumaDistortionINTEL: return "OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL";
4763 case SpvOpSubgroupAvcSicGetBestIpeChromaDistortionINTEL: return "OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL";
4764 case SpvOpSubgroupAvcSicGetPackedIpeLumaModesINTEL: return "OpSubgroupAvcSicGetPackedIpeLumaModesINTEL";
4765 case SpvOpSubgroupAvcSicGetIpeChromaModeINTEL: return "OpSubgroupAvcSicGetIpeChromaModeINTEL";
4766 case SpvOpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: return "OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL";
4767 case SpvOpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: return "OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL";
4768 case SpvOpSubgroupAvcSicGetInterRawSadsINTEL: return "OpSubgroupAvcSicGetInterRawSadsINTEL";
4769 case SpvOpVariableLengthArrayINTEL: return "OpVariableLengthArrayINTEL";
4770 case SpvOpSaveMemoryINTEL: return "OpSaveMemoryINTEL";
4771 case SpvOpRestoreMemoryINTEL: return "OpRestoreMemoryINTEL";
4772 case SpvOpArbitraryFloatSinCosPiINTEL: return "OpArbitraryFloatSinCosPiINTEL";
4773 case SpvOpArbitraryFloatCastINTEL: return "OpArbitraryFloatCastINTEL";
4774 case SpvOpArbitraryFloatCastFromIntINTEL: return "OpArbitraryFloatCastFromIntINTEL";
4775 case SpvOpArbitraryFloatCastToIntINTEL: return "OpArbitraryFloatCastToIntINTEL";
4776 case SpvOpArbitraryFloatAddINTEL: return "OpArbitraryFloatAddINTEL";
4777 case SpvOpArbitraryFloatSubINTEL: return "OpArbitraryFloatSubINTEL";
4778 case SpvOpArbitraryFloatMulINTEL: return "OpArbitraryFloatMulINTEL";
4779 case SpvOpArbitraryFloatDivINTEL: return "OpArbitraryFloatDivINTEL";
4780 case SpvOpArbitraryFloatGTINTEL: return "OpArbitraryFloatGTINTEL";
4781 case SpvOpArbitraryFloatGEINTEL: return "OpArbitraryFloatGEINTEL";
4782 case SpvOpArbitraryFloatLTINTEL: return "OpArbitraryFloatLTINTEL";
4783 case SpvOpArbitraryFloatLEINTEL: return "OpArbitraryFloatLEINTEL";
4784 case SpvOpArbitraryFloatEQINTEL: return "OpArbitraryFloatEQINTEL";
4785 case SpvOpArbitraryFloatRecipINTEL: return "OpArbitraryFloatRecipINTEL";
4786 case SpvOpArbitraryFloatRSqrtINTEL: return "OpArbitraryFloatRSqrtINTEL";
4787 case SpvOpArbitraryFloatCbrtINTEL: return "OpArbitraryFloatCbrtINTEL";
4788 case SpvOpArbitraryFloatHypotINTEL: return "OpArbitraryFloatHypotINTEL";
4789 case SpvOpArbitraryFloatSqrtINTEL: return "OpArbitraryFloatSqrtINTEL";
4790 case SpvOpArbitraryFloatLogINTEL: return "OpArbitraryFloatLogINTEL";
4791 case SpvOpArbitraryFloatLog2INTEL: return "OpArbitraryFloatLog2INTEL";
4792 case SpvOpArbitraryFloatLog10INTEL: return "OpArbitraryFloatLog10INTEL";
4793 case SpvOpArbitraryFloatLog1pINTEL: return "OpArbitraryFloatLog1pINTEL";
4794 case SpvOpArbitraryFloatExpINTEL: return "OpArbitraryFloatExpINTEL";
4795 case SpvOpArbitraryFloatExp2INTEL: return "OpArbitraryFloatExp2INTEL";
4796 case SpvOpArbitraryFloatExp10INTEL: return "OpArbitraryFloatExp10INTEL";
4797 case SpvOpArbitraryFloatExpm1INTEL: return "OpArbitraryFloatExpm1INTEL";
4798 case SpvOpArbitraryFloatSinINTEL: return "OpArbitraryFloatSinINTEL";
4799 case SpvOpArbitraryFloatCosINTEL: return "OpArbitraryFloatCosINTEL";
4800 case SpvOpArbitraryFloatSinCosINTEL: return "OpArbitraryFloatSinCosINTEL";
4801 case SpvOpArbitraryFloatSinPiINTEL: return "OpArbitraryFloatSinPiINTEL";
4802 case SpvOpArbitraryFloatCosPiINTEL: return "OpArbitraryFloatCosPiINTEL";
4803 case SpvOpArbitraryFloatASinINTEL: return "OpArbitraryFloatASinINTEL";
4804 case SpvOpArbitraryFloatASinPiINTEL: return "OpArbitraryFloatASinPiINTEL";
4805 case SpvOpArbitraryFloatACosINTEL: return "OpArbitraryFloatACosINTEL";
4806 case SpvOpArbitraryFloatACosPiINTEL: return "OpArbitraryFloatACosPiINTEL";
4807 case SpvOpArbitraryFloatATanINTEL: return "OpArbitraryFloatATanINTEL";
4808 case SpvOpArbitraryFloatATanPiINTEL: return "OpArbitraryFloatATanPiINTEL";
4809 case SpvOpArbitraryFloatATan2INTEL: return "OpArbitraryFloatATan2INTEL";
4810 case SpvOpArbitraryFloatPowINTEL: return "OpArbitraryFloatPowINTEL";
4811 case SpvOpArbitraryFloatPowRINTEL: return "OpArbitraryFloatPowRINTEL";
4812 case SpvOpArbitraryFloatPowNINTEL: return "OpArbitraryFloatPowNINTEL";
4813 case SpvOpLoopControlINTEL: return "OpLoopControlINTEL";
4814 case SpvOpAliasDomainDeclINTEL: return "OpAliasDomainDeclINTEL";
4815 case SpvOpAliasScopeDeclINTEL: return "OpAliasScopeDeclINTEL";
4816 case SpvOpAliasScopeListDeclINTEL: return "OpAliasScopeListDeclINTEL";
4817 case SpvOpFixedSqrtINTEL: return "OpFixedSqrtINTEL";
4818 case SpvOpFixedRecipINTEL: return "OpFixedRecipINTEL";
4819 case SpvOpFixedRsqrtINTEL: return "OpFixedRsqrtINTEL";
4820 case SpvOpFixedSinINTEL: return "OpFixedSinINTEL";
4821 case SpvOpFixedCosINTEL: return "OpFixedCosINTEL";
4822 case SpvOpFixedSinCosINTEL: return "OpFixedSinCosINTEL";
4823 case SpvOpFixedSinPiINTEL: return "OpFixedSinPiINTEL";
4824 case SpvOpFixedCosPiINTEL: return "OpFixedCosPiINTEL";
4825 case SpvOpFixedSinCosPiINTEL: return "OpFixedSinCosPiINTEL";
4826 case SpvOpFixedLogINTEL: return "OpFixedLogINTEL";
4827 case SpvOpFixedExpINTEL: return "OpFixedExpINTEL";
4828 case SpvOpPtrCastToCrossWorkgroupINTEL: return "OpPtrCastToCrossWorkgroupINTEL";
4829 case SpvOpCrossWorkgroupCastToPtrINTEL: return "OpCrossWorkgroupCastToPtrINTEL";
4830 case SpvOpReadPipeBlockingINTEL: return "OpReadPipeBlockingINTEL";
4831 case SpvOpWritePipeBlockingINTEL: return "OpWritePipeBlockingINTEL";
4832 case SpvOpFPGARegINTEL: return "OpFPGARegINTEL";
4833 case SpvOpRayQueryGetRayTMinKHR: return "OpRayQueryGetRayTMinKHR";
4834 case SpvOpRayQueryGetRayFlagsKHR: return "OpRayQueryGetRayFlagsKHR";
4835 case SpvOpRayQueryGetIntersectionTKHR: return "OpRayQueryGetIntersectionTKHR";
4836 case SpvOpRayQueryGetIntersectionInstanceCustomIndexKHR: return "OpRayQueryGetIntersectionInstanceCustomIndexKHR";
4837 case SpvOpRayQueryGetIntersectionInstanceIdKHR: return "OpRayQueryGetIntersectionInstanceIdKHR";
4838 case SpvOpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR: return "OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR";
4839 case SpvOpRayQueryGetIntersectionGeometryIndexKHR: return "OpRayQueryGetIntersectionGeometryIndexKHR";
4840 case SpvOpRayQueryGetIntersectionPrimitiveIndexKHR: return "OpRayQueryGetIntersectionPrimitiveIndexKHR";
4841 case SpvOpRayQueryGetIntersectionBarycentricsKHR: return "OpRayQueryGetIntersectionBarycentricsKHR";
4842 case SpvOpRayQueryGetIntersectionFrontFaceKHR: return "OpRayQueryGetIntersectionFrontFaceKHR";
4843 case SpvOpRayQueryGetIntersectionCandidateAABBOpaqueKHR: return "OpRayQueryGetIntersectionCandidateAABBOpaqueKHR";
4844 case SpvOpRayQueryGetIntersectionObjectRayDirectionKHR: return "OpRayQueryGetIntersectionObjectRayDirectionKHR";
4845 case SpvOpRayQueryGetIntersectionObjectRayOriginKHR: return "OpRayQueryGetIntersectionObjectRayOriginKHR";
4846 case SpvOpRayQueryGetWorldRayDirectionKHR: return "OpRayQueryGetWorldRayDirectionKHR";
4847 case SpvOpRayQueryGetWorldRayOriginKHR: return "OpRayQueryGetWorldRayOriginKHR";
4848 case SpvOpRayQueryGetIntersectionObjectToWorldKHR: return "OpRayQueryGetIntersectionObjectToWorldKHR";
4849 case SpvOpRayQueryGetIntersectionWorldToObjectKHR: return "OpRayQueryGetIntersectionWorldToObjectKHR";
4850 case SpvOpAtomicFAddEXT: return "OpAtomicFAddEXT";
4851 case SpvOpTypeBufferSurfaceINTEL: return "OpTypeBufferSurfaceINTEL";
4852 case SpvOpTypeStructContinuedINTEL: return "OpTypeStructContinuedINTEL";
4853 case SpvOpConstantCompositeContinuedINTEL: return "OpConstantCompositeContinuedINTEL";
4854 case SpvOpSpecConstantCompositeContinuedINTEL: return "OpSpecConstantCompositeContinuedINTEL";
4855 case SpvOpCompositeConstructContinuedINTEL: return "OpCompositeConstructContinuedINTEL";
4856 case SpvOpConvertFToBF16INTEL: return "OpConvertFToBF16INTEL";
4857 case SpvOpConvertBF16ToFINTEL: return "OpConvertBF16ToFINTEL";
4858 case SpvOpControlBarrierArriveINTEL: return "OpControlBarrierArriveINTEL";
4859 case SpvOpControlBarrierWaitINTEL: return "OpControlBarrierWaitINTEL";
4860 case SpvOpArithmeticFenceEXT: return "OpArithmeticFenceEXT";
4861 case SpvOpSubgroupBlockPrefetchINTEL: return "OpSubgroupBlockPrefetchINTEL";
4862 case SpvOpGroupIMulKHR: return "OpGroupIMulKHR";
4863 case SpvOpGroupFMulKHR: return "OpGroupFMulKHR";
4864 case SpvOpGroupBitwiseAndKHR: return "OpGroupBitwiseAndKHR";
4865 case SpvOpGroupBitwiseOrKHR: return "OpGroupBitwiseOrKHR";
4866 case SpvOpGroupBitwiseXorKHR: return "OpGroupBitwiseXorKHR";
4867 case SpvOpGroupLogicalAndKHR: return "OpGroupLogicalAndKHR";
4868 case SpvOpGroupLogicalOrKHR: return "OpGroupLogicalOrKHR";
4869 case SpvOpGroupLogicalXorKHR: return "OpGroupLogicalXorKHR";
4870 case SpvOpMaskedGatherINTEL: return "OpMaskedGatherINTEL";
4871 case SpvOpMaskedScatterINTEL: return "OpMaskedScatterINTEL";
4872 default: return "Unknown";
4873 }
4874 }
4875
4876 #endif /* SPV_ENABLE_UTILITY_CODE */
4877
4878 #endif
4879
4880