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