1/*
2** Copyright (c) 2014-2020 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
56typedef unsigned int SpvId;
57
58#define SPV_VERSION 0x10600
59#define SPV_REVISION 1
60
61static const unsigned int SpvMagicNumber = 0x07230203;
62static const unsigned int SpvVersion = 0x00010600;
63static const unsigned int SpvRevision = 1;
64static const unsigned int SpvOpCodeMask = 0xffff;
65static const unsigned int SpvWordCountShift = 16;
66
67typedef 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 SpvSourceLanguageMax = 0x7fffffff,
77} SpvSourceLanguage;
78
79typedef enum SpvExecutionModel_ {
80 SpvExecutionModelVertex = 0,
81 SpvExecutionModelTessellationControl = 1,
82 SpvExecutionModelTessellationEvaluation = 2,
83 SpvExecutionModelGeometry = 3,
84 SpvExecutionModelFragment = 4,
85 SpvExecutionModelGLCompute = 5,
86 SpvExecutionModelKernel = 6,
87 SpvExecutionModelTaskNV = 5267,
88 SpvExecutionModelMeshNV = 5268,
89 SpvExecutionModelRayGenerationKHR = 5313,
90 SpvExecutionModelRayGenerationNV = 5313,
91 SpvExecutionModelIntersectionKHR = 5314,
92 SpvExecutionModelIntersectionNV = 5314,
93 SpvExecutionModelAnyHitKHR = 5315,
94 SpvExecutionModelAnyHitNV = 5315,
95 SpvExecutionModelClosestHitKHR = 5316,
96 SpvExecutionModelClosestHitNV = 5316,
97 SpvExecutionModelMissKHR = 5317,
98 SpvExecutionModelMissNV = 5317,
99 SpvExecutionModelCallableKHR = 5318,
100 SpvExecutionModelCallableNV = 5318,
101 SpvExecutionModelMax = 0x7fffffff,
102} SpvExecutionModel;
103
104typedef enum SpvAddressingModel_ {
105 SpvAddressingModelLogical = 0,
106 SpvAddressingModelPhysical32 = 1,
107 SpvAddressingModelPhysical64 = 2,
108 SpvAddressingModelPhysicalStorageBuffer64 = 5348,
109 SpvAddressingModelPhysicalStorageBuffer64EXT = 5348,
110 SpvAddressingModelMax = 0x7fffffff,
111} SpvAddressingModel;
112
113typedef enum SpvMemoryModel_ {
114 SpvMemoryModelSimple = 0,
115 SpvMemoryModelGLSL450 = 1,
116 SpvMemoryModelOpenCL = 2,
117 SpvMemoryModelVulkan = 3,
118 SpvMemoryModelVulkanKHR = 3,
119 SpvMemoryModelMax = 0x7fffffff,
120} SpvMemoryModel;
121
122typedef enum SpvExecutionMode_ {
123 SpvExecutionModeInvocations = 0,
124 SpvExecutionModeSpacingEqual = 1,
125 SpvExecutionModeSpacingFractionalEven = 2,
126 SpvExecutionModeSpacingFractionalOdd = 3,
127 SpvExecutionModeVertexOrderCw = 4,
128 SpvExecutionModeVertexOrderCcw = 5,
129 SpvExecutionModePixelCenterInteger = 6,
130 SpvExecutionModeOriginUpperLeft = 7,
131 SpvExecutionModeOriginLowerLeft = 8,
132 SpvExecutionModeEarlyFragmentTests = 9,
133 SpvExecutionModePointMode = 10,
134 SpvExecutionModeXfb = 11,
135 SpvExecutionModeDepthReplacing = 12,
136 SpvExecutionModeDepthGreater = 14,
137 SpvExecutionModeDepthLess = 15,
138 SpvExecutionModeDepthUnchanged = 16,
139 SpvExecutionModeLocalSize = 17,
140 SpvExecutionModeLocalSizeHint = 18,
141 SpvExecutionModeInputPoints = 19,
142 SpvExecutionModeInputLines = 20,
143 SpvExecutionModeInputLinesAdjacency = 21,
144 SpvExecutionModeTriangles = 22,
145 SpvExecutionModeInputTrianglesAdjacency = 23,
146 SpvExecutionModeQuads = 24,
147 SpvExecutionModeIsolines = 25,
148 SpvExecutionModeOutputVertices = 26,
149 SpvExecutionModeOutputPoints = 27,
150 SpvExecutionModeOutputLineStrip = 28,
151 SpvExecutionModeOutputTriangleStrip = 29,
152 SpvExecutionModeVecTypeHint = 30,
153 SpvExecutionModeContractionOff = 31,
154 SpvExecutionModeInitializer = 33,
155 SpvExecutionModeFinalizer = 34,
156 SpvExecutionModeSubgroupSize = 35,
157 SpvExecutionModeSubgroupsPerWorkgroup = 36,
158 SpvExecutionModeSubgroupsPerWorkgroupId = 37,
159 SpvExecutionModeLocalSizeId = 38,
160 SpvExecutionModeLocalSizeHintId = 39,
161 SpvExecutionModeSubgroupUniformControlFlowKHR = 4421,
162 SpvExecutionModePostDepthCoverage = 4446,
163 SpvExecutionModeDenormPreserve = 4459,
164 SpvExecutionModeDenormFlushToZero = 4460,
165 SpvExecutionModeSignedZeroInfNanPreserve = 4461,
166 SpvExecutionModeRoundingModeRTE = 4462,
167 SpvExecutionModeRoundingModeRTZ = 4463,
168 SpvExecutionModeStencilRefReplacingEXT = 5027,
169 SpvExecutionModeOutputLinesNV = 5269,
170 SpvExecutionModeOutputPrimitivesNV = 5270,
171 SpvExecutionModeDerivativeGroupQuadsNV = 5289,
172 SpvExecutionModeDerivativeGroupLinearNV = 5290,
173 SpvExecutionModeOutputTrianglesNV = 5298,
174 SpvExecutionModePixelInterlockOrderedEXT = 5366,
175 SpvExecutionModePixelInterlockUnorderedEXT = 5367,
176 SpvExecutionModeSampleInterlockOrderedEXT = 5368,
177 SpvExecutionModeSampleInterlockUnorderedEXT = 5369,
178 SpvExecutionModeShadingRateInterlockOrderedEXT = 5370,
179 SpvExecutionModeShadingRateInterlockUnorderedEXT = 5371,
180 SpvExecutionModeSharedLocalMemorySizeINTEL = 5618,
181 SpvExecutionModeRoundingModeRTPINTEL = 5620,
182 SpvExecutionModeRoundingModeRTNINTEL = 5621,
183 SpvExecutionModeFloatingPointModeALTINTEL = 5622,
184 SpvExecutionModeFloatingPointModeIEEEINTEL = 5623,
185 SpvExecutionModeMaxWorkgroupSizeINTEL = 5893,
186 SpvExecutionModeMaxWorkDimINTEL = 5894,
187 SpvExecutionModeNoGlobalOffsetINTEL = 5895,
188 SpvExecutionModeNumSIMDWorkitemsINTEL = 5896,
189 SpvExecutionModeSchedulerTargetFmaxMhzINTEL = 5903,
190 SpvExecutionModeNamedBarrierCountINTEL = 6417,
191 SpvExecutionModeMax = 0x7fffffff,
192} SpvExecutionMode;
193
194typedef enum SpvStorageClass_ {
195 SpvStorageClassUniformConstant = 0,
196 SpvStorageClassInput = 1,
197 SpvStorageClassUniform = 2,
198 SpvStorageClassOutput = 3,
199 SpvStorageClassWorkgroup = 4,
200 SpvStorageClassCrossWorkgroup = 5,
201 SpvStorageClassPrivate = 6,
202 SpvStorageClassFunction = 7,
203 SpvStorageClassGeneric = 8,
204 SpvStorageClassPushConstant = 9,
205 SpvStorageClassAtomicCounter = 10,
206 SpvStorageClassImage = 11,
207 SpvStorageClassStorageBuffer = 12,
208 SpvStorageClassCallableDataKHR = 5328,
209 SpvStorageClassCallableDataNV = 5328,
210 SpvStorageClassIncomingCallableDataKHR = 5329,
211 SpvStorageClassIncomingCallableDataNV = 5329,
212 SpvStorageClassRayPayloadKHR = 5338,
213 SpvStorageClassRayPayloadNV = 5338,
214 SpvStorageClassHitAttributeKHR = 5339,
215 SpvStorageClassHitAttributeNV = 5339,
216 SpvStorageClassIncomingRayPayloadKHR = 5342,
217 SpvStorageClassIncomingRayPayloadNV = 5342,
218 SpvStorageClassShaderRecordBufferKHR = 5343,
219 SpvStorageClassShaderRecordBufferNV = 5343,
220 SpvStorageClassPhysicalStorageBuffer = 5349,
221 SpvStorageClassPhysicalStorageBufferEXT = 5349,
222 SpvStorageClassCodeSectionINTEL = 5605,
223 SpvStorageClassDeviceOnlyINTEL = 5936,
224 SpvStorageClassHostOnlyINTEL = 5937,
225 SpvStorageClassMax = 0x7fffffff,
226} SpvStorageClass;
227
228typedef enum SpvDim_ {
229 SpvDim1D = 0,
230 SpvDim2D = 1,
231 SpvDim3D = 2,
232 SpvDimCube = 3,
233 SpvDimRect = 4,
234 SpvDimBuffer = 5,
235 SpvDimSubpassData = 6,
236 SpvDimMax = 0x7fffffff,
237} SpvDim;
238
239typedef enum SpvSamplerAddressingMode_ {
240 SpvSamplerAddressingModeNone = 0,
241 SpvSamplerAddressingModeClampToEdge = 1,
242 SpvSamplerAddressingModeClamp = 2,
243 SpvSamplerAddressingModeRepeat = 3,
244 SpvSamplerAddressingModeRepeatMirrored = 4,
245 SpvSamplerAddressingModeMax = 0x7fffffff,
246} SpvSamplerAddressingMode;
247
248typedef enum SpvSamplerFilterMode_ {
249 SpvSamplerFilterModeNearest = 0,
250 SpvSamplerFilterModeLinear = 1,
251 SpvSamplerFilterModeMax = 0x7fffffff,
252} SpvSamplerFilterMode;
253
254typedef enum SpvImageFormat_ {
255 SpvImageFormatUnknown = 0,
256 SpvImageFormatRgba32f = 1,
257 SpvImageFormatRgba16f = 2,
258 SpvImageFormatR32f = 3,
259 SpvImageFormatRgba8 = 4,
260 SpvImageFormatRgba8Snorm = 5,
261 SpvImageFormatRg32f = 6,
262 SpvImageFormatRg16f = 7,
263 SpvImageFormatR11fG11fB10f = 8,
264 SpvImageFormatR16f = 9,
265 SpvImageFormatRgba16 = 10,
266 SpvImageFormatRgb10A2 = 11,
267 SpvImageFormatRg16 = 12,
268 SpvImageFormatRg8 = 13,
269 SpvImageFormatR16 = 14,
270 SpvImageFormatR8 = 15,
271 SpvImageFormatRgba16Snorm = 16,
272 SpvImageFormatRg16Snorm = 17,
273 SpvImageFormatRg8Snorm = 18,
274 SpvImageFormatR16Snorm = 19,
275 SpvImageFormatR8Snorm = 20,
276 SpvImageFormatRgba32i = 21,
277 SpvImageFormatRgba16i = 22,
278 SpvImageFormatRgba8i = 23,
279 SpvImageFormatR32i = 24,
280 SpvImageFormatRg32i = 25,
281 SpvImageFormatRg16i = 26,
282 SpvImageFormatRg8i = 27,
283 SpvImageFormatR16i = 28,
284 SpvImageFormatR8i = 29,
285 SpvImageFormatRgba32ui = 30,
286 SpvImageFormatRgba16ui = 31,
287 SpvImageFormatRgba8ui = 32,
288 SpvImageFormatR32ui = 33,
289 SpvImageFormatRgb10a2ui = 34,
290 SpvImageFormatRg32ui = 35,
291 SpvImageFormatRg16ui = 36,
292 SpvImageFormatRg8ui = 37,
293 SpvImageFormatR16ui = 38,
294 SpvImageFormatR8ui = 39,
295 SpvImageFormatR64ui = 40,
296 SpvImageFormatR64i = 41,
297 SpvImageFormatMax = 0x7fffffff,
298} SpvImageFormat;
299
300typedef enum SpvImageChannelOrder_ {
301 SpvImageChannelOrderR = 0,
302 SpvImageChannelOrderA = 1,
303 SpvImageChannelOrderRG = 2,
304 SpvImageChannelOrderRA = 3,
305 SpvImageChannelOrderRGB = 4,
306 SpvImageChannelOrderRGBA = 5,
307 SpvImageChannelOrderBGRA = 6,
308 SpvImageChannelOrderARGB = 7,
309 SpvImageChannelOrderIntensity = 8,
310 SpvImageChannelOrderLuminance = 9,
311 SpvImageChannelOrderRx = 10,
312 SpvImageChannelOrderRGx = 11,
313 SpvImageChannelOrderRGBx = 12,
314 SpvImageChannelOrderDepth = 13,
315 SpvImageChannelOrderDepthStencil = 14,
316 SpvImageChannelOrdersRGB = 15,
317 SpvImageChannelOrdersRGBx = 16,
318 SpvImageChannelOrdersRGBA = 17,
319 SpvImageChannelOrdersBGRA = 18,
320 SpvImageChannelOrderABGR = 19,
321 SpvImageChannelOrderMax = 0x7fffffff,
322} SpvImageChannelOrder;
323
324typedef enum SpvImageChannelDataType_ {
325 SpvImageChannelDataTypeSnormInt8 = 0,
326 SpvImageChannelDataTypeSnormInt16 = 1,
327 SpvImageChannelDataTypeUnormInt8 = 2,
328 SpvImageChannelDataTypeUnormInt16 = 3,
329 SpvImageChannelDataTypeUnormShort565 = 4,
330 SpvImageChannelDataTypeUnormShort555 = 5,
331 SpvImageChannelDataTypeUnormInt101010 = 6,
332 SpvImageChannelDataTypeSignedInt8 = 7,
333 SpvImageChannelDataTypeSignedInt16 = 8,
334 SpvImageChannelDataTypeSignedInt32 = 9,
335 SpvImageChannelDataTypeUnsignedInt8 = 10,
336 SpvImageChannelDataTypeUnsignedInt16 = 11,
337 SpvImageChannelDataTypeUnsignedInt32 = 12,
338 SpvImageChannelDataTypeHalfFloat = 13,
339 SpvImageChannelDataTypeFloat = 14,
340 SpvImageChannelDataTypeUnormInt24 = 15,
341 SpvImageChannelDataTypeUnormInt101010_2 = 16,
342 SpvImageChannelDataTypeMax = 0x7fffffff,
343} SpvImageChannelDataType;
344
345typedef enum SpvImageOperandsShift_ {
346 SpvImageOperandsBiasShift = 0,
347 SpvImageOperandsLodShift = 1,
348 SpvImageOperandsGradShift = 2,
349 SpvImageOperandsConstOffsetShift = 3,
350 SpvImageOperandsOffsetShift = 4,
351 SpvImageOperandsConstOffsetsShift = 5,
352 SpvImageOperandsSampleShift = 6,
353 SpvImageOperandsMinLodShift = 7,
354 SpvImageOperandsMakeTexelAvailableShift = 8,
355 SpvImageOperandsMakeTexelAvailableKHRShift = 8,
356 SpvImageOperandsMakeTexelVisibleShift = 9,
357 SpvImageOperandsMakeTexelVisibleKHRShift = 9,
358 SpvImageOperandsNonPrivateTexelShift = 10,
359 SpvImageOperandsNonPrivateTexelKHRShift = 10,
360 SpvImageOperandsVolatileTexelShift = 11,
361 SpvImageOperandsVolatileTexelKHRShift = 11,
362 SpvImageOperandsSignExtendShift = 12,
363 SpvImageOperandsZeroExtendShift = 13,
364 SpvImageOperandsNontemporalShift = 14,
365 SpvImageOperandsOffsetsShift = 16,
366 SpvImageOperandsMax = 0x7fffffff,
367} SpvImageOperandsShift;
368
369typedef enum SpvImageOperandsMask_ {
370 SpvImageOperandsMaskNone = 0,
371 SpvImageOperandsBiasMask = 0x00000001,
372 SpvImageOperandsLodMask = 0x00000002,
373 SpvImageOperandsGradMask = 0x00000004,
374 SpvImageOperandsConstOffsetMask = 0x00000008,
375 SpvImageOperandsOffsetMask = 0x00000010,
376 SpvImageOperandsConstOffsetsMask = 0x00000020,
377 SpvImageOperandsSampleMask = 0x00000040,
378 SpvImageOperandsMinLodMask = 0x00000080,
379 SpvImageOperandsMakeTexelAvailableMask = 0x00000100,
380 SpvImageOperandsMakeTexelAvailableKHRMask = 0x00000100,
381 SpvImageOperandsMakeTexelVisibleMask = 0x00000200,
382 SpvImageOperandsMakeTexelVisibleKHRMask = 0x00000200,
383 SpvImageOperandsNonPrivateTexelMask = 0x00000400,
384 SpvImageOperandsNonPrivateTexelKHRMask = 0x00000400,
385 SpvImageOperandsVolatileTexelMask = 0x00000800,
386 SpvImageOperandsVolatileTexelKHRMask = 0x00000800,
387 SpvImageOperandsSignExtendMask = 0x00001000,
388 SpvImageOperandsZeroExtendMask = 0x00002000,
389 SpvImageOperandsNontemporalMask = 0x00004000,
390 SpvImageOperandsOffsetsMask = 0x00010000,
391} SpvImageOperandsMask;
392
393typedef enum SpvFPFastMathModeShift_ {
394 SpvFPFastMathModeNotNaNShift = 0,
395 SpvFPFastMathModeNotInfShift = 1,
396 SpvFPFastMathModeNSZShift = 2,
397 SpvFPFastMathModeAllowRecipShift = 3,
398 SpvFPFastMathModeFastShift = 4,
399 SpvFPFastMathModeAllowContractFastINTELShift = 16,
400 SpvFPFastMathModeAllowReassocINTELShift = 17,
401 SpvFPFastMathModeMax = 0x7fffffff,
402} SpvFPFastMathModeShift;
403
404typedef enum SpvFPFastMathModeMask_ {
405 SpvFPFastMathModeMaskNone = 0,
406 SpvFPFastMathModeNotNaNMask = 0x00000001,
407 SpvFPFastMathModeNotInfMask = 0x00000002,
408 SpvFPFastMathModeNSZMask = 0x00000004,
409 SpvFPFastMathModeAllowRecipMask = 0x00000008,
410 SpvFPFastMathModeFastMask = 0x00000010,
411 SpvFPFastMathModeAllowContractFastINTELMask = 0x00010000,
412 SpvFPFastMathModeAllowReassocINTELMask = 0x00020000,
413} SpvFPFastMathModeMask;
414
415typedef enum SpvFPRoundingMode_ {
416 SpvFPRoundingModeRTE = 0,
417 SpvFPRoundingModeRTZ = 1,
418 SpvFPRoundingModeRTP = 2,
419 SpvFPRoundingModeRTN = 3,
420 SpvFPRoundingModeMax = 0x7fffffff,
421} SpvFPRoundingMode;
422
423typedef enum SpvLinkageType_ {
424 SpvLinkageTypeExport = 0,
425 SpvLinkageTypeImport = 1,
426 SpvLinkageTypeLinkOnceODR = 2,
427 SpvLinkageTypeMax = 0x7fffffff,
428} SpvLinkageType;
429
430typedef enum SpvAccessQualifier_ {
431 SpvAccessQualifierReadOnly = 0,
432 SpvAccessQualifierWriteOnly = 1,
433 SpvAccessQualifierReadWrite = 2,
434 SpvAccessQualifierMax = 0x7fffffff,
435} SpvAccessQualifier;
436
437typedef enum SpvFunctionParameterAttribute_ {
438 SpvFunctionParameterAttributeZext = 0,
439 SpvFunctionParameterAttributeSext = 1,
440 SpvFunctionParameterAttributeByVal = 2,
441 SpvFunctionParameterAttributeSret = 3,
442 SpvFunctionParameterAttributeNoAlias = 4,
443 SpvFunctionParameterAttributeNoCapture = 5,
444 SpvFunctionParameterAttributeNoWrite = 6,
445 SpvFunctionParameterAttributeNoReadWrite = 7,
446 SpvFunctionParameterAttributeMax = 0x7fffffff,
447} SpvFunctionParameterAttribute;
448
449typedef enum SpvDecoration_ {
450 SpvDecorationRelaxedPrecision = 0,
451 SpvDecorationSpecId = 1,
452 SpvDecorationBlock = 2,
453 SpvDecorationBufferBlock = 3,
454 SpvDecorationRowMajor = 4,
455 SpvDecorationColMajor = 5,
456 SpvDecorationArrayStride = 6,
457 SpvDecorationMatrixStride = 7,
458 SpvDecorationGLSLShared = 8,
459 SpvDecorationGLSLPacked = 9,
460 SpvDecorationCPacked = 10,
461 SpvDecorationBuiltIn = 11,
462 SpvDecorationNoPerspective = 13,
463 SpvDecorationFlat = 14,
464 SpvDecorationPatch = 15,
465 SpvDecorationCentroid = 16,
466 SpvDecorationSample = 17,
467 SpvDecorationInvariant = 18,
468 SpvDecorationRestrict = 19,
469 SpvDecorationAliased = 20,
470 SpvDecorationVolatile = 21,
471 SpvDecorationConstant = 22,
472 SpvDecorationCoherent = 23,
473 SpvDecorationNonWritable = 24,
474 SpvDecorationNonReadable = 25,
475 SpvDecorationUniform = 26,
476 SpvDecorationUniformId = 27,
477 SpvDecorationSaturatedConversion = 28,
478 SpvDecorationStream = 29,
479 SpvDecorationLocation = 30,
480 SpvDecorationComponent = 31,
481 SpvDecorationIndex = 32,
482 SpvDecorationBinding = 33,
483 SpvDecorationDescriptorSet = 34,
484 SpvDecorationOffset = 35,
485 SpvDecorationXfbBuffer = 36,
486 SpvDecorationXfbStride = 37,
487 SpvDecorationFuncParamAttr = 38,
488 SpvDecorationFPRoundingMode = 39,
489 SpvDecorationFPFastMathMode = 40,
490 SpvDecorationLinkageAttributes = 41,
491 SpvDecorationNoContraction = 42,
492 SpvDecorationInputAttachmentIndex = 43,
493 SpvDecorationAlignment = 44,
494 SpvDecorationMaxByteOffset = 45,
495 SpvDecorationAlignmentId = 46,
496 SpvDecorationMaxByteOffsetId = 47,
497 SpvDecorationNoSignedWrap = 4469,
498 SpvDecorationNoUnsignedWrap = 4470,
499 SpvDecorationExplicitInterpAMD = 4999,
500 SpvDecorationOverrideCoverageNV = 5248,
501 SpvDecorationPassthroughNV = 5250,
502 SpvDecorationViewportRelativeNV = 5252,
503 SpvDecorationSecondaryViewportRelativeNV = 5256,
504 SpvDecorationPerPrimitiveNV = 5271,
505 SpvDecorationPerViewNV = 5272,
506 SpvDecorationPerTaskNV = 5273,
507 SpvDecorationPerVertexKHR = 5285,
508 SpvDecorationPerVertexNV = 5285,
509 SpvDecorationNonUniform = 5300,
510 SpvDecorationNonUniformEXT = 5300,
511 SpvDecorationRestrictPointer = 5355,
512 SpvDecorationRestrictPointerEXT = 5355,
513 SpvDecorationAliasedPointer = 5356,
514 SpvDecorationAliasedPointerEXT = 5356,
515 SpvDecorationBindlessSamplerNV = 5398,
516 SpvDecorationBindlessImageNV = 5399,
517 SpvDecorationBoundSamplerNV = 5400,
518 SpvDecorationBoundImageNV = 5401,
519 SpvDecorationSIMTCallINTEL = 5599,
520 SpvDecorationReferencedIndirectlyINTEL = 5602,
521 SpvDecorationClobberINTEL = 5607,
522 SpvDecorationSideEffectsINTEL = 5608,
523 SpvDecorationVectorComputeVariableINTEL = 5624,
524 SpvDecorationFuncParamIOKindINTEL = 5625,
525 SpvDecorationVectorComputeFunctionINTEL = 5626,
526 SpvDecorationStackCallINTEL = 5627,
527 SpvDecorationGlobalVariableOffsetINTEL = 5628,
528 SpvDecorationCounterBuffer = 5634,
529 SpvDecorationHlslCounterBufferGOOGLE = 5634,
530 SpvDecorationHlslSemanticGOOGLE = 5635,
531 SpvDecorationUserSemantic = 5635,
532 SpvDecorationUserTypeGOOGLE = 5636,
533 SpvDecorationFunctionRoundingModeINTEL = 5822,
534 SpvDecorationFunctionDenormModeINTEL = 5823,
535 SpvDecorationRegisterINTEL = 5825,
536 SpvDecorationMemoryINTEL = 5826,
537 SpvDecorationNumbanksINTEL = 5827,
538 SpvDecorationBankwidthINTEL = 5828,
539 SpvDecorationMaxPrivateCopiesINTEL = 5829,
540 SpvDecorationSinglepumpINTEL = 5830,
541 SpvDecorationDoublepumpINTEL = 5831,
542 SpvDecorationMaxReplicatesINTEL = 5832,
543 SpvDecorationSimpleDualPortINTEL = 5833,
544 SpvDecorationMergeINTEL = 5834,
545 SpvDecorationBankBitsINTEL = 5835,
546 SpvDecorationForcePow2DepthINTEL = 5836,
547 SpvDecorationBurstCoalesceINTEL = 5899,
548 SpvDecorationCacheSizeINTEL = 5900,
549 SpvDecorationDontStaticallyCoalesceINTEL = 5901,
550 SpvDecorationPrefetchINTEL = 5902,
551 SpvDecorationStallEnableINTEL = 5905,
552 SpvDecorationFuseLoopsInFunctionINTEL = 5907,
553 SpvDecorationAliasScopeINTEL = 5914,
554 SpvDecorationNoAliasINTEL = 5915,
555 SpvDecorationBufferLocationINTEL = 5921,
556 SpvDecorationIOPipeStorageINTEL = 5944,
557 SpvDecorationFunctionFloatingPointModeINTEL = 6080,
558 SpvDecorationSingleElementVectorINTEL = 6085,
559 SpvDecorationVectorComputeCallableFunctionINTEL = 6087,
560 SpvDecorationMediaBlockIOINTEL = 6140,
561 SpvDecorationMax = 0x7fffffff,
562} SpvDecoration;
563
564typedef enum SpvBuiltIn_ {
565 SpvBuiltInPosition = 0,
566 SpvBuiltInPointSize = 1,
567 SpvBuiltInClipDistance = 3,
568 SpvBuiltInCullDistance = 4,
569 SpvBuiltInVertexId = 5,
570 SpvBuiltInInstanceId = 6,
571 SpvBuiltInPrimitiveId = 7,
572 SpvBuiltInInvocationId = 8,
573 SpvBuiltInLayer = 9,
574 SpvBuiltInViewportIndex = 10,
575 SpvBuiltInTessLevelOuter = 11,
576 SpvBuiltInTessLevelInner = 12,
577 SpvBuiltInTessCoord = 13,
578 SpvBuiltInPatchVertices = 14,
579 SpvBuiltInFragCoord = 15,
580 SpvBuiltInPointCoord = 16,
581 SpvBuiltInFrontFacing = 17,
582 SpvBuiltInSampleId = 18,
583 SpvBuiltInSamplePosition = 19,
584 SpvBuiltInSampleMask = 20,
585 SpvBuiltInFragDepth = 22,
586 SpvBuiltInHelperInvocation = 23,
587 SpvBuiltInNumWorkgroups = 24,
588 SpvBuiltInWorkgroupSize = 25,
589 SpvBuiltInWorkgroupId = 26,
590 SpvBuiltInLocalInvocationId = 27,
591 SpvBuiltInGlobalInvocationId = 28,
592 SpvBuiltInLocalInvocationIndex = 29,
593 SpvBuiltInWorkDim = 30,
594 SpvBuiltInGlobalSize = 31,
595 SpvBuiltInEnqueuedWorkgroupSize = 32,
596 SpvBuiltInGlobalOffset = 33,
597 SpvBuiltInGlobalLinearId = 34,
598 SpvBuiltInSubgroupSize = 36,
599 SpvBuiltInSubgroupMaxSize = 37,
600 SpvBuiltInNumSubgroups = 38,
601 SpvBuiltInNumEnqueuedSubgroups = 39,
602 SpvBuiltInSubgroupId = 40,
603 SpvBuiltInSubgroupLocalInvocationId = 41,
604 SpvBuiltInVertexIndex = 42,
605 SpvBuiltInInstanceIndex = 43,
606 SpvBuiltInSubgroupEqMask = 4416,
607 SpvBuiltInSubgroupEqMaskKHR = 4416,
608 SpvBuiltInSubgroupGeMask = 4417,
609 SpvBuiltInSubgroupGeMaskKHR = 4417,
610 SpvBuiltInSubgroupGtMask = 4418,
611 SpvBuiltInSubgroupGtMaskKHR = 4418,
612 SpvBuiltInSubgroupLeMask = 4419,
613 SpvBuiltInSubgroupLeMaskKHR = 4419,
614 SpvBuiltInSubgroupLtMask = 4420,
615 SpvBuiltInSubgroupLtMaskKHR = 4420,
616 SpvBuiltInBaseVertex = 4424,
617 SpvBuiltInBaseInstance = 4425,
618 SpvBuiltInDrawIndex = 4426,
619 SpvBuiltInPrimitiveShadingRateKHR = 4432,
620 SpvBuiltInDeviceIndex = 4438,
621 SpvBuiltInViewIndex = 4440,
622 SpvBuiltInShadingRateKHR = 4444,
623 SpvBuiltInBaryCoordNoPerspAMD = 4992,
624 SpvBuiltInBaryCoordNoPerspCentroidAMD = 4993,
625 SpvBuiltInBaryCoordNoPerspSampleAMD = 4994,
626 SpvBuiltInBaryCoordSmoothAMD = 4995,
627 SpvBuiltInBaryCoordSmoothCentroidAMD = 4996,
628 SpvBuiltInBaryCoordSmoothSampleAMD = 4997,
629 SpvBuiltInBaryCoordPullModelAMD = 4998,
630 SpvBuiltInFragStencilRefEXT = 5014,
631 SpvBuiltInViewportMaskNV = 5253,
632 SpvBuiltInSecondaryPositionNV = 5257,
633 SpvBuiltInSecondaryViewportMaskNV = 5258,
634 SpvBuiltInPositionPerViewNV = 5261,
635 SpvBuiltInViewportMaskPerViewNV = 5262,
636 SpvBuiltInFullyCoveredEXT = 5264,
637 SpvBuiltInTaskCountNV = 5274,
638 SpvBuiltInPrimitiveCountNV = 5275,
639 SpvBuiltInPrimitiveIndicesNV = 5276,
640 SpvBuiltInClipDistancePerViewNV = 5277,
641 SpvBuiltInCullDistancePerViewNV = 5278,
642 SpvBuiltInLayerPerViewNV = 5279,
643 SpvBuiltInMeshViewCountNV = 5280,
644 SpvBuiltInMeshViewIndicesNV = 5281,
645 SpvBuiltInBaryCoordKHR = 5286,
646 SpvBuiltInBaryCoordNV = 5286,
647 SpvBuiltInBaryCoordNoPerspKHR = 5287,
648 SpvBuiltInBaryCoordNoPerspNV = 5287,
649 SpvBuiltInFragSizeEXT = 5292,
650 SpvBuiltInFragmentSizeNV = 5292,
651 SpvBuiltInFragInvocationCountEXT = 5293,
652 SpvBuiltInInvocationsPerPixelNV = 5293,
653 SpvBuiltInLaunchIdKHR = 5319,
654 SpvBuiltInLaunchIdNV = 5319,
655 SpvBuiltInLaunchSizeKHR = 5320,
656 SpvBuiltInLaunchSizeNV = 5320,
657 SpvBuiltInWorldRayOriginKHR = 5321,
658 SpvBuiltInWorldRayOriginNV = 5321,
659 SpvBuiltInWorldRayDirectionKHR = 5322,
660 SpvBuiltInWorldRayDirectionNV = 5322,
661 SpvBuiltInObjectRayOriginKHR = 5323,
662 SpvBuiltInObjectRayOriginNV = 5323,
663 SpvBuiltInObjectRayDirectionKHR = 5324,
664 SpvBuiltInObjectRayDirectionNV = 5324,
665 SpvBuiltInRayTminKHR = 5325,
666 SpvBuiltInRayTminNV = 5325,
667 SpvBuiltInRayTmaxKHR = 5326,
668 SpvBuiltInRayTmaxNV = 5326,
669 SpvBuiltInInstanceCustomIndexKHR = 5327,
670 SpvBuiltInInstanceCustomIndexNV = 5327,
671 SpvBuiltInObjectToWorldKHR = 5330,
672 SpvBuiltInObjectToWorldNV = 5330,
673 SpvBuiltInWorldToObjectKHR = 5331,
674 SpvBuiltInWorldToObjectNV = 5331,
675 SpvBuiltInHitTNV = 5332,
676 SpvBuiltInHitKindKHR = 5333,
677 SpvBuiltInHitKindNV = 5333,
678 SpvBuiltInCurrentRayTimeNV = 5334,
679 SpvBuiltInIncomingRayFlagsKHR = 5351,
680 SpvBuiltInIncomingRayFlagsNV = 5351,
681 SpvBuiltInRayGeometryIndexKHR = 5352,
682 SpvBuiltInWarpsPerSMNV = 5374,
683 SpvBuiltInSMCountNV = 5375,
684 SpvBuiltInWarpIDNV = 5376,
685 SpvBuiltInSMIDNV = 5377,
686 SpvBuiltInCullMaskKHR = 6021,
687 SpvBuiltInMax = 0x7fffffff,
688} SpvBuiltIn;
689
690typedef enum SpvSelectionControlShift_ {
691 SpvSelectionControlFlattenShift = 0,
692 SpvSelectionControlDontFlattenShift = 1,
693 SpvSelectionControlMax = 0x7fffffff,
694} SpvSelectionControlShift;
695
696typedef enum SpvSelectionControlMask_ {
697 SpvSelectionControlMaskNone = 0,
698 SpvSelectionControlFlattenMask = 0x00000001,
699 SpvSelectionControlDontFlattenMask = 0x00000002,
700} SpvSelectionControlMask;
701
702typedef enum SpvLoopControlShift_ {
703 SpvLoopControlUnrollShift = 0,
704 SpvLoopControlDontUnrollShift = 1,
705 SpvLoopControlDependencyInfiniteShift = 2,
706 SpvLoopControlDependencyLengthShift = 3,
707 SpvLoopControlMinIterationsShift = 4,
708 SpvLoopControlMaxIterationsShift = 5,
709 SpvLoopControlIterationMultipleShift = 6,
710 SpvLoopControlPeelCountShift = 7,
711 SpvLoopControlPartialCountShift = 8,
712 SpvLoopControlInitiationIntervalINTELShift = 16,
713 SpvLoopControlMaxConcurrencyINTELShift = 17,
714 SpvLoopControlDependencyArrayINTELShift = 18,
715 SpvLoopControlPipelineEnableINTELShift = 19,
716 SpvLoopControlLoopCoalesceINTELShift = 20,
717 SpvLoopControlMaxInterleavingINTELShift = 21,
718 SpvLoopControlSpeculatedIterationsINTELShift = 22,
719 SpvLoopControlNoFusionINTELShift = 23,
720 SpvLoopControlMax = 0x7fffffff,
721} SpvLoopControlShift;
722
723typedef enum SpvLoopControlMask_ {
724 SpvLoopControlMaskNone = 0,
725 SpvLoopControlUnrollMask = 0x00000001,
726 SpvLoopControlDontUnrollMask = 0x00000002,
727 SpvLoopControlDependencyInfiniteMask = 0x00000004,
728 SpvLoopControlDependencyLengthMask = 0x00000008,
729 SpvLoopControlMinIterationsMask = 0x00000010,
730 SpvLoopControlMaxIterationsMask = 0x00000020,
731 SpvLoopControlIterationMultipleMask = 0x00000040,
732 SpvLoopControlPeelCountMask = 0x00000080,
733 SpvLoopControlPartialCountMask = 0x00000100,
734 SpvLoopControlInitiationIntervalINTELMask = 0x00010000,
735 SpvLoopControlMaxConcurrencyINTELMask = 0x00020000,
736 SpvLoopControlDependencyArrayINTELMask = 0x00040000,
737 SpvLoopControlPipelineEnableINTELMask = 0x00080000,
738 SpvLoopControlLoopCoalesceINTELMask = 0x00100000,
739 SpvLoopControlMaxInterleavingINTELMask = 0x00200000,
740 SpvLoopControlSpeculatedIterationsINTELMask = 0x00400000,
741 SpvLoopControlNoFusionINTELMask = 0x00800000,
742} SpvLoopControlMask;
743
744typedef enum SpvFunctionControlShift_ {
745 SpvFunctionControlInlineShift = 0,
746 SpvFunctionControlDontInlineShift = 1,
747 SpvFunctionControlPureShift = 2,
748 SpvFunctionControlConstShift = 3,
749 SpvFunctionControlOptNoneINTELShift = 16,
750 SpvFunctionControlMax = 0x7fffffff,
751} SpvFunctionControlShift;
752
753typedef enum SpvFunctionControlMask_ {
754 SpvFunctionControlMaskNone = 0,
755 SpvFunctionControlInlineMask = 0x00000001,
756 SpvFunctionControlDontInlineMask = 0x00000002,
757 SpvFunctionControlPureMask = 0x00000004,
758 SpvFunctionControlConstMask = 0x00000008,
759 SpvFunctionControlOptNoneINTELMask = 0x00010000,
760} SpvFunctionControlMask;
761
762typedef enum SpvMemorySemanticsShift_ {
763 SpvMemorySemanticsAcquireShift = 1,
764 SpvMemorySemanticsReleaseShift = 2,
765 SpvMemorySemanticsAcquireReleaseShift = 3,
766 SpvMemorySemanticsSequentiallyConsistentShift = 4,
767 SpvMemorySemanticsUniformMemoryShift = 6,
768 SpvMemorySemanticsSubgroupMemoryShift = 7,
769 SpvMemorySemanticsWorkgroupMemoryShift = 8,
770 SpvMemorySemanticsCrossWorkgroupMemoryShift = 9,
771 SpvMemorySemanticsAtomicCounterMemoryShift = 10,
772 SpvMemorySemanticsImageMemoryShift = 11,
773 SpvMemorySemanticsOutputMemoryShift = 12,
774 SpvMemorySemanticsOutputMemoryKHRShift = 12,
775 SpvMemorySemanticsMakeAvailableShift = 13,
776 SpvMemorySemanticsMakeAvailableKHRShift = 13,
777 SpvMemorySemanticsMakeVisibleShift = 14,
778 SpvMemorySemanticsMakeVisibleKHRShift = 14,
779 SpvMemorySemanticsVolatileShift = 15,
780 SpvMemorySemanticsMax = 0x7fffffff,
781} SpvMemorySemanticsShift;
782
783typedef enum SpvMemorySemanticsMask_ {
784 SpvMemorySemanticsMaskNone = 0,
785 SpvMemorySemanticsAcquireMask = 0x00000002,
786 SpvMemorySemanticsReleaseMask = 0x00000004,
787 SpvMemorySemanticsAcquireReleaseMask = 0x00000008,
788 SpvMemorySemanticsSequentiallyConsistentMask = 0x00000010,
789 SpvMemorySemanticsUniformMemoryMask = 0x00000040,
790 SpvMemorySemanticsSubgroupMemoryMask = 0x00000080,
791 SpvMemorySemanticsWorkgroupMemoryMask = 0x00000100,
792 SpvMemorySemanticsCrossWorkgroupMemoryMask = 0x00000200,
793 SpvMemorySemanticsAtomicCounterMemoryMask = 0x00000400,
794 SpvMemorySemanticsImageMemoryMask = 0x00000800,
795 SpvMemorySemanticsOutputMemoryMask = 0x00001000,
796 SpvMemorySemanticsOutputMemoryKHRMask = 0x00001000,
797 SpvMemorySemanticsMakeAvailableMask = 0x00002000,
798 SpvMemorySemanticsMakeAvailableKHRMask = 0x00002000,
799 SpvMemorySemanticsMakeVisibleMask = 0x00004000,
800 SpvMemorySemanticsMakeVisibleKHRMask = 0x00004000,
801 SpvMemorySemanticsVolatileMask = 0x00008000,
802} SpvMemorySemanticsMask;
803
804typedef enum SpvMemoryAccessShift_ {
805 SpvMemoryAccessVolatileShift = 0,
806 SpvMemoryAccessAlignedShift = 1,
807 SpvMemoryAccessNontemporalShift = 2,
808 SpvMemoryAccessMakePointerAvailableShift = 3,
809 SpvMemoryAccessMakePointerAvailableKHRShift = 3,
810 SpvMemoryAccessMakePointerVisibleShift = 4,
811 SpvMemoryAccessMakePointerVisibleKHRShift = 4,
812 SpvMemoryAccessNonPrivatePointerShift = 5,
813 SpvMemoryAccessNonPrivatePointerKHRShift = 5,
814 SpvMemoryAccessAliasScopeINTELMaskShift = 16,
815 SpvMemoryAccessNoAliasINTELMaskShift = 17,
816 SpvMemoryAccessMax = 0x7fffffff,
817} SpvMemoryAccessShift;
818
819typedef enum SpvMemoryAccessMask_ {
820 SpvMemoryAccessMaskNone = 0,
821 SpvMemoryAccessVolatileMask = 0x00000001,
822 SpvMemoryAccessAlignedMask = 0x00000002,
823 SpvMemoryAccessNontemporalMask = 0x00000004,
824 SpvMemoryAccessMakePointerAvailableMask = 0x00000008,
825 SpvMemoryAccessMakePointerAvailableKHRMask = 0x00000008,
826 SpvMemoryAccessMakePointerVisibleMask = 0x00000010,
827 SpvMemoryAccessMakePointerVisibleKHRMask = 0x00000010,
828 SpvMemoryAccessNonPrivatePointerMask = 0x00000020,
829 SpvMemoryAccessNonPrivatePointerKHRMask = 0x00000020,
830 SpvMemoryAccessAliasScopeINTELMaskMask = 0x00010000,
831 SpvMemoryAccessNoAliasINTELMaskMask = 0x00020000,
832} SpvMemoryAccessMask;
833
834typedef enum SpvScope_ {
835 SpvScopeCrossDevice = 0,
836 SpvScopeDevice = 1,
837 SpvScopeWorkgroup = 2,
838 SpvScopeSubgroup = 3,
839 SpvScopeInvocation = 4,
840 SpvScopeQueueFamily = 5,
841 SpvScopeQueueFamilyKHR = 5,
842 SpvScopeShaderCallKHR = 6,
843 SpvScopeMax = 0x7fffffff,
844} SpvScope;
845
846typedef enum SpvGroupOperation_ {
847 SpvGroupOperationReduce = 0,
848 SpvGroupOperationInclusiveScan = 1,
849 SpvGroupOperationExclusiveScan = 2,
850 SpvGroupOperationClusteredReduce = 3,
851 SpvGroupOperationPartitionedReduceNV = 6,
852 SpvGroupOperationPartitionedInclusiveScanNV = 7,
853 SpvGroupOperationPartitionedExclusiveScanNV = 8,
854 SpvGroupOperationMax = 0x7fffffff,
855} SpvGroupOperation;
856
857typedef enum SpvKernelEnqueueFlags_ {
858 SpvKernelEnqueueFlagsNoWait = 0,
859 SpvKernelEnqueueFlagsWaitKernel = 1,
860 SpvKernelEnqueueFlagsWaitWorkGroup = 2,
861 SpvKernelEnqueueFlagsMax = 0x7fffffff,
862} SpvKernelEnqueueFlags;
863
864typedef enum SpvKernelProfilingInfoShift_ {
865 SpvKernelProfilingInfoCmdExecTimeShift = 0,
866 SpvKernelProfilingInfoMax = 0x7fffffff,
867} SpvKernelProfilingInfoShift;
868
869typedef enum SpvKernelProfilingInfoMask_ {
870 SpvKernelProfilingInfoMaskNone = 0,
871 SpvKernelProfilingInfoCmdExecTimeMask = 0x00000001,
872} SpvKernelProfilingInfoMask;
873
874typedef enum SpvCapability_ {
875 SpvCapabilityMatrix = 0,
876 SpvCapabilityShader = 1,
877 SpvCapabilityGeometry = 2,
878 SpvCapabilityTessellation = 3,
879 SpvCapabilityAddresses = 4,
880 SpvCapabilityLinkage = 5,
881 SpvCapabilityKernel = 6,
882 SpvCapabilityVector16 = 7,
883 SpvCapabilityFloat16Buffer = 8,
884 SpvCapabilityFloat16 = 9,
885 SpvCapabilityFloat64 = 10,
886 SpvCapabilityInt64 = 11,
887 SpvCapabilityInt64Atomics = 12,
888 SpvCapabilityImageBasic = 13,
889 SpvCapabilityImageReadWrite = 14,
890 SpvCapabilityImageMipmap = 15,
891 SpvCapabilityPipes = 17,
892 SpvCapabilityGroups = 18,
893 SpvCapabilityDeviceEnqueue = 19,
894 SpvCapabilityLiteralSampler = 20,
895 SpvCapabilityAtomicStorage = 21,
896 SpvCapabilityInt16 = 22,
897 SpvCapabilityTessellationPointSize = 23,
898 SpvCapabilityGeometryPointSize = 24,
899 SpvCapabilityImageGatherExtended = 25,
900 SpvCapabilityStorageImageMultisample = 27,
901 SpvCapabilityUniformBufferArrayDynamicIndexing = 28,
902 SpvCapabilitySampledImageArrayDynamicIndexing = 29,
903 SpvCapabilityStorageBufferArrayDynamicIndexing = 30,
904 SpvCapabilityStorageImageArrayDynamicIndexing = 31,
905 SpvCapabilityClipDistance = 32,
906 SpvCapabilityCullDistance = 33,
907 SpvCapabilityImageCubeArray = 34,
908 SpvCapabilitySampleRateShading = 35,
909 SpvCapabilityImageRect = 36,
910 SpvCapabilitySampledRect = 37,
911 SpvCapabilityGenericPointer = 38,
912 SpvCapabilityInt8 = 39,
913 SpvCapabilityInputAttachment = 40,
914 SpvCapabilitySparseResidency = 41,
915 SpvCapabilityMinLod = 42,
916 SpvCapabilitySampled1D = 43,
917 SpvCapabilityImage1D = 44,
918 SpvCapabilitySampledCubeArray = 45,
919 SpvCapabilitySampledBuffer = 46,
920 SpvCapabilityImageBuffer = 47,
921 SpvCapabilityImageMSArray = 48,
922 SpvCapabilityStorageImageExtendedFormats = 49,
923 SpvCapabilityImageQuery = 50,
924 SpvCapabilityDerivativeControl = 51,
925 SpvCapabilityInterpolationFunction = 52,
926 SpvCapabilityTransformFeedback = 53,
927 SpvCapabilityGeometryStreams = 54,
928 SpvCapabilityStorageImageReadWithoutFormat = 55,
929 SpvCapabilityStorageImageWriteWithoutFormat = 56,
930 SpvCapabilityMultiViewport = 57,
931 SpvCapabilitySubgroupDispatch = 58,
932 SpvCapabilityNamedBarrier = 59,
933 SpvCapabilityPipeStorage = 60,
934 SpvCapabilityGroupNonUniform = 61,
935 SpvCapabilityGroupNonUniformVote = 62,
936 SpvCapabilityGroupNonUniformArithmetic = 63,
937 SpvCapabilityGroupNonUniformBallot = 64,
938 SpvCapabilityGroupNonUniformShuffle = 65,
939 SpvCapabilityGroupNonUniformShuffleRelative = 66,
940 SpvCapabilityGroupNonUniformClustered = 67,
941 SpvCapabilityGroupNonUniformQuad = 68,
942 SpvCapabilityShaderLayer = 69,
943 SpvCapabilityShaderViewportIndex = 70,
944 SpvCapabilityUniformDecoration = 71,
945 SpvCapabilityFragmentShadingRateKHR = 4422,
946 SpvCapabilitySubgroupBallotKHR = 4423,
947 SpvCapabilityDrawParameters = 4427,
948 SpvCapabilityWorkgroupMemoryExplicitLayoutKHR = 4428,
949 SpvCapabilityWorkgroupMemoryExplicitLayout8BitAccessKHR = 4429,
950 SpvCapabilityWorkgroupMemoryExplicitLayout16BitAccessKHR = 4430,
951 SpvCapabilitySubgroupVoteKHR = 4431,
952 SpvCapabilityStorageBuffer16BitAccess = 4433,
953 SpvCapabilityStorageUniformBufferBlock16 = 4433,
954 SpvCapabilityStorageUniform16 = 4434,
955 SpvCapabilityUniformAndStorageBuffer16BitAccess = 4434,
956 SpvCapabilityStoragePushConstant16 = 4435,
957 SpvCapabilityStorageInputOutput16 = 4436,
958 SpvCapabilityDeviceGroup = 4437,
959 SpvCapabilityMultiView = 4439,
960 SpvCapabilityVariablePointersStorageBuffer = 4441,
961 SpvCapabilityVariablePointers = 4442,
962 SpvCapabilityAtomicStorageOps = 4445,
963 SpvCapabilitySampleMaskPostDepthCoverage = 4447,
964 SpvCapabilityStorageBuffer8BitAccess = 4448,
965 SpvCapabilityUniformAndStorageBuffer8BitAccess = 4449,
966 SpvCapabilityStoragePushConstant8 = 4450,
967 SpvCapabilityDenormPreserve = 4464,
968 SpvCapabilityDenormFlushToZero = 4465,
969 SpvCapabilitySignedZeroInfNanPreserve = 4466,
970 SpvCapabilityRoundingModeRTE = 4467,
971 SpvCapabilityRoundingModeRTZ = 4468,
972 SpvCapabilityRayQueryProvisionalKHR = 4471,
973 SpvCapabilityRayQueryKHR = 4472,
974 SpvCapabilityRayTraversalPrimitiveCullingKHR = 4478,
975 SpvCapabilityRayTracingKHR = 4479,
976 SpvCapabilityFloat16ImageAMD = 5008,
977 SpvCapabilityImageGatherBiasLodAMD = 5009,
978 SpvCapabilityFragmentMaskAMD = 5010,
979 SpvCapabilityStencilExportEXT = 5013,
980 SpvCapabilityImageReadWriteLodAMD = 5015,
981 SpvCapabilityInt64ImageEXT = 5016,
982 SpvCapabilityShaderClockKHR = 5055,
983 SpvCapabilitySampleMaskOverrideCoverageNV = 5249,
984 SpvCapabilityGeometryShaderPassthroughNV = 5251,
985 SpvCapabilityShaderViewportIndexLayerEXT = 5254,
986 SpvCapabilityShaderViewportIndexLayerNV = 5254,
987 SpvCapabilityShaderViewportMaskNV = 5255,
988 SpvCapabilityShaderStereoViewNV = 5259,
989 SpvCapabilityPerViewAttributesNV = 5260,
990 SpvCapabilityFragmentFullyCoveredEXT = 5265,
991 SpvCapabilityMeshShadingNV = 5266,
992 SpvCapabilityImageFootprintNV = 5282,
993 SpvCapabilityFragmentBarycentricKHR = 5284,
994 SpvCapabilityFragmentBarycentricNV = 5284,
995 SpvCapabilityComputeDerivativeGroupQuadsNV = 5288,
996 SpvCapabilityFragmentDensityEXT = 5291,
997 SpvCapabilityShadingRateNV = 5291,
998 SpvCapabilityGroupNonUniformPartitionedNV = 5297,
999 SpvCapabilityShaderNonUniform = 5301,
1000 SpvCapabilityShaderNonUniformEXT = 5301,
1001 SpvCapabilityRuntimeDescriptorArray = 5302,
1002 SpvCapabilityRuntimeDescriptorArrayEXT = 5302,
1003 SpvCapabilityInputAttachmentArrayDynamicIndexing = 5303,
1004 SpvCapabilityInputAttachmentArrayDynamicIndexingEXT = 5303,
1005 SpvCapabilityUniformTexelBufferArrayDynamicIndexing = 5304,
1006 SpvCapabilityUniformTexelBufferArrayDynamicIndexingEXT = 5304,
1007 SpvCapabilityStorageTexelBufferArrayDynamicIndexing = 5305,
1008 SpvCapabilityStorageTexelBufferArrayDynamicIndexingEXT = 5305,
1009 SpvCapabilityUniformBufferArrayNonUniformIndexing = 5306,
1010 SpvCapabilityUniformBufferArrayNonUniformIndexingEXT = 5306,
1011 SpvCapabilitySampledImageArrayNonUniformIndexing = 5307,
1012 SpvCapabilitySampledImageArrayNonUniformIndexingEXT = 5307,
1013 SpvCapabilityStorageBufferArrayNonUniformIndexing = 5308,
1014 SpvCapabilityStorageBufferArrayNonUniformIndexingEXT = 5308,
1015 SpvCapabilityStorageImageArrayNonUniformIndexing = 5309,
1016 SpvCapabilityStorageImageArrayNonUniformIndexingEXT = 5309,
1017 SpvCapabilityInputAttachmentArrayNonUniformIndexing = 5310,
1018 SpvCapabilityInputAttachmentArrayNonUniformIndexingEXT = 5310,
1019 SpvCapabilityUniformTexelBufferArrayNonUniformIndexing = 5311,
1020 SpvCapabilityUniformTexelBufferArrayNonUniformIndexingEXT = 5311,
1021 SpvCapabilityStorageTexelBufferArrayNonUniformIndexing = 5312,
1022 SpvCapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312,
1023 SpvCapabilityRayTracingNV = 5340,
1024 SpvCapabilityRayTracingMotionBlurNV = 5341,
1025 SpvCapabilityVulkanMemoryModel = 5345,
1026 SpvCapabilityVulkanMemoryModelKHR = 5345,
1027 SpvCapabilityVulkanMemoryModelDeviceScope = 5346,
1028 SpvCapabilityVulkanMemoryModelDeviceScopeKHR = 5346,
1029 SpvCapabilityPhysicalStorageBufferAddresses = 5347,
1030 SpvCapabilityPhysicalStorageBufferAddressesEXT = 5347,
1031 SpvCapabilityComputeDerivativeGroupLinearNV = 5350,
1032 SpvCapabilityRayTracingProvisionalKHR = 5353,
1033 SpvCapabilityCooperativeMatrixNV = 5357,
1034 SpvCapabilityFragmentShaderSampleInterlockEXT = 5363,
1035 SpvCapabilityFragmentShaderShadingRateInterlockEXT = 5372,
1036 SpvCapabilityShaderSMBuiltinsNV = 5373,
1037 SpvCapabilityFragmentShaderPixelInterlockEXT = 5378,
1038 SpvCapabilityDemoteToHelperInvocation = 5379,
1039 SpvCapabilityDemoteToHelperInvocationEXT = 5379,
1040 SpvCapabilityBindlessTextureNV = 5390,
1041 SpvCapabilitySubgroupShuffleINTEL = 5568,
1042 SpvCapabilitySubgroupBufferBlockIOINTEL = 5569,
1043 SpvCapabilitySubgroupImageBlockIOINTEL = 5570,
1044 SpvCapabilitySubgroupImageMediaBlockIOINTEL = 5579,
1045 SpvCapabilityRoundToInfinityINTEL = 5582,
1046 SpvCapabilityFloatingPointModeINTEL = 5583,
1047 SpvCapabilityIntegerFunctions2INTEL = 5584,
1048 SpvCapabilityFunctionPointersINTEL = 5603,
1049 SpvCapabilityIndirectReferencesINTEL = 5604,
1050 SpvCapabilityAsmINTEL = 5606,
1051 SpvCapabilityAtomicFloat32MinMaxEXT = 5612,
1052 SpvCapabilityAtomicFloat64MinMaxEXT = 5613,
1053 SpvCapabilityAtomicFloat16MinMaxEXT = 5616,
1054 SpvCapabilityVectorComputeINTEL = 5617,
1055 SpvCapabilityVectorAnyINTEL = 5619,
1056 SpvCapabilityExpectAssumeKHR = 5629,
1057 SpvCapabilitySubgroupAvcMotionEstimationINTEL = 5696,
1058 SpvCapabilitySubgroupAvcMotionEstimationIntraINTEL = 5697,
1059 SpvCapabilitySubgroupAvcMotionEstimationChromaINTEL = 5698,
1060 SpvCapabilityVariableLengthArrayINTEL = 5817,
1061 SpvCapabilityFunctionFloatControlINTEL = 5821,
1062 SpvCapabilityFPGAMemoryAttributesINTEL = 5824,
1063 SpvCapabilityFPFastMathModeINTEL = 5837,
1064 SpvCapabilityArbitraryPrecisionIntegersINTEL = 5844,
1065 SpvCapabilityArbitraryPrecisionFloatingPointINTEL = 5845,
1066 SpvCapabilityUnstructuredLoopControlsINTEL = 5886,
1067 SpvCapabilityFPGALoopControlsINTEL = 5888,
1068 SpvCapabilityKernelAttributesINTEL = 5892,
1069 SpvCapabilityFPGAKernelAttributesINTEL = 5897,
1070 SpvCapabilityFPGAMemoryAccessesINTEL = 5898,
1071 SpvCapabilityFPGAClusterAttributesINTEL = 5904,
1072 SpvCapabilityLoopFuseINTEL = 5906,
1073 SpvCapabilityMemoryAccessAliasingINTEL = 5910,
1074 SpvCapabilityFPGABufferLocationINTEL = 5920,
1075 SpvCapabilityArbitraryPrecisionFixedPointINTEL = 5922,
1076 SpvCapabilityUSMStorageClassesINTEL = 5935,
1077 SpvCapabilityIOPipesINTEL = 5943,
1078 SpvCapabilityBlockingPipesINTEL = 5945,
1079 SpvCapabilityFPGARegINTEL = 5948,
1080 SpvCapabilityDotProductInputAll = 6016,
1081 SpvCapabilityDotProductInputAllKHR = 6016,
1082 SpvCapabilityDotProductInput4x8Bit = 6017,
1083 SpvCapabilityDotProductInput4x8BitKHR = 6017,
1084 SpvCapabilityDotProductInput4x8BitPacked = 6018,
1085 SpvCapabilityDotProductInput4x8BitPackedKHR = 6018,
1086 SpvCapabilityDotProduct = 6019,
1087 SpvCapabilityDotProductKHR = 6019,
1088 SpvCapabilityRayCullMaskKHR = 6020,
1089 SpvCapabilityBitInstructions = 6025,
1090 SpvCapabilityGroupNonUniformRotateKHR = 6026,
1091 SpvCapabilityAtomicFloat32AddEXT = 6033,
1092 SpvCapabilityAtomicFloat64AddEXT = 6034,
1093 SpvCapabilityLongConstantCompositeINTEL = 6089,
1094 SpvCapabilityOptNoneINTEL = 6094,
1095 SpvCapabilityAtomicFloat16AddEXT = 6095,
1096 SpvCapabilityDebugInfoModuleINTEL = 6114,
1097 SpvCapabilitySplitBarrierINTEL = 6141,
1098 SpvCapabilityGroupUniformArithmeticKHR = 6400,
1099 SpvCapabilityMax = 0x7fffffff,
1100} SpvCapability;
1101
1102typedef enum SpvRayFlagsShift_ {
1103 SpvRayFlagsOpaqueKHRShift = 0,
1104 SpvRayFlagsNoOpaqueKHRShift = 1,
1105 SpvRayFlagsTerminateOnFirstHitKHRShift = 2,
1106 SpvRayFlagsSkipClosestHitShaderKHRShift = 3,
1107 SpvRayFlagsCullBackFacingTrianglesKHRShift = 4,
1108 SpvRayFlagsCullFrontFacingTrianglesKHRShift = 5,
1109 SpvRayFlagsCullOpaqueKHRShift = 6,
1110 SpvRayFlagsCullNoOpaqueKHRShift = 7,
1111 SpvRayFlagsSkipTrianglesKHRShift = 8,
1112 SpvRayFlagsSkipAABBsKHRShift = 9,
1113 SpvRayFlagsMax = 0x7fffffff,
1114} SpvRayFlagsShift;
1115
1116typedef enum SpvRayFlagsMask_ {
1117 SpvRayFlagsMaskNone = 0,
1118 SpvRayFlagsOpaqueKHRMask = 0x00000001,
1119 SpvRayFlagsNoOpaqueKHRMask = 0x00000002,
1120 SpvRayFlagsTerminateOnFirstHitKHRMask = 0x00000004,
1121 SpvRayFlagsSkipClosestHitShaderKHRMask = 0x00000008,
1122 SpvRayFlagsCullBackFacingTrianglesKHRMask = 0x00000010,
1123 SpvRayFlagsCullFrontFacingTrianglesKHRMask = 0x00000020,
1124 SpvRayFlagsCullOpaqueKHRMask = 0x00000040,
1125 SpvRayFlagsCullNoOpaqueKHRMask = 0x00000080,
1126 SpvRayFlagsSkipTrianglesKHRMask = 0x00000100,
1127 SpvRayFlagsSkipAABBsKHRMask = 0x00000200,
1128} SpvRayFlagsMask;
1129
1130typedef enum SpvRayQueryIntersection_ {
1131 SpvRayQueryIntersectionRayQueryCandidateIntersectionKHR = 0,
1132 SpvRayQueryIntersectionRayQueryCommittedIntersectionKHR = 1,
1133 SpvRayQueryIntersectionMax = 0x7fffffff,
1134} SpvRayQueryIntersection;
1135
1136typedef enum SpvRayQueryCommittedIntersectionType_ {
1137 SpvRayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionNoneKHR = 0,
1138 SpvRayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionTriangleKHR = 1,
1139 SpvRayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionGeneratedKHR = 2,
1140 SpvRayQueryCommittedIntersectionTypeMax = 0x7fffffff,
1141} SpvRayQueryCommittedIntersectionType;
1142
1143typedef enum SpvRayQueryCandidateIntersectionType_ {
1144 SpvRayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionTriangleKHR = 0,
1145 SpvRayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionAABBKHR = 1,
1146 SpvRayQueryCandidateIntersectionTypeMax = 0x7fffffff,
1147} SpvRayQueryCandidateIntersectionType;
1148
1149typedef enum SpvFragmentShadingRateShift_ {
1150 SpvFragmentShadingRateVertical2PixelsShift = 0,
1151 SpvFragmentShadingRateVertical4PixelsShift = 1,
1152 SpvFragmentShadingRateHorizontal2PixelsShift = 2,
1153 SpvFragmentShadingRateHorizontal4PixelsShift = 3,
1154 SpvFragmentShadingRateMax = 0x7fffffff,
1155} SpvFragmentShadingRateShift;
1156
1157typedef enum SpvFragmentShadingRateMask_ {
1158 SpvFragmentShadingRateMaskNone = 0,
1159 SpvFragmentShadingRateVertical2PixelsMask = 0x00000001,
1160 SpvFragmentShadingRateVertical4PixelsMask = 0x00000002,
1161 SpvFragmentShadingRateHorizontal2PixelsMask = 0x00000004,
1162 SpvFragmentShadingRateHorizontal4PixelsMask = 0x00000008,
1163} SpvFragmentShadingRateMask;
1164
1165typedef enum SpvFPDenormMode_ {
1166 SpvFPDenormModePreserve = 0,
1167 SpvFPDenormModeFlushToZero = 1,
1168 SpvFPDenormModeMax = 0x7fffffff,
1169} SpvFPDenormMode;
1170
1171typedef enum SpvFPOperationMode_ {
1172 SpvFPOperationModeIEEE = 0,
1173 SpvFPOperationModeALT = 1,
1174 SpvFPOperationModeMax = 0x7fffffff,
1175} SpvFPOperationMode;
1176
1177typedef enum SpvQuantizationModes_ {
1178 SpvQuantizationModesTRN = 0,
1179 SpvQuantizationModesTRN_ZERO = 1,
1180 SpvQuantizationModesRND = 2,
1181 SpvQuantizationModesRND_ZERO = 3,
1182 SpvQuantizationModesRND_INF = 4,
1183 SpvQuantizationModesRND_MIN_INF = 5,
1184 SpvQuantizationModesRND_CONV = 6,
1185 SpvQuantizationModesRND_CONV_ODD = 7,
1186 SpvQuantizationModesMax = 0x7fffffff,
1187} SpvQuantizationModes;
1188
1189typedef enum SpvOverflowModes_ {
1190 SpvOverflowModesWRAP = 0,
1191 SpvOverflowModesSAT = 1,
1192 SpvOverflowModesSAT_ZERO = 2,
1193 SpvOverflowModesSAT_SYM = 3,
1194 SpvOverflowModesMax = 0x7fffffff,
1195} SpvOverflowModes;
1196
1197typedef enum SpvPackedVectorFormat_ {
1198 SpvPackedVectorFormatPackedVectorFormat4x8Bit = 0,
1199 SpvPackedVectorFormatPackedVectorFormat4x8BitKHR = 0,
1200 SpvPackedVectorFormatMax = 0x7fffffff,
1201} SpvPackedVectorFormat;
1202
1203typedef enum SpvOp_ {
1204 SpvOpNop = 0,
1205 SpvOpUndef = 1,
1206 SpvOpSourceContinued = 2,
1207 SpvOpSource = 3,
1208 SpvOpSourceExtension = 4,
1209 SpvOpName = 5,
1210 SpvOpMemberName = 6,
1211 SpvOpString = 7,
1212 SpvOpLine = 8,
1213 SpvOpExtension = 10,
1214 SpvOpExtInstImport = 11,
1215 SpvOpExtInst = 12,
1216 SpvOpMemoryModel = 14,
1217 SpvOpEntryPoint = 15,
1218 SpvOpExecutionMode = 16,
1219 SpvOpCapability = 17,
1220 SpvOpTypeVoid = 19,
1221 SpvOpTypeBool = 20,
1222 SpvOpTypeInt = 21,
1223 SpvOpTypeFloat = 22,
1224 SpvOpTypeVector = 23,
1225 SpvOpTypeMatrix = 24,
1226 SpvOpTypeImage = 25,
1227 SpvOpTypeSampler = 26,
1228 SpvOpTypeSampledImage = 27,
1229 SpvOpTypeArray = 28,
1230 SpvOpTypeRuntimeArray = 29,
1231 SpvOpTypeStruct = 30,
1232 SpvOpTypeOpaque = 31,
1233 SpvOpTypePointer = 32,
1234 SpvOpTypeFunction = 33,
1235 SpvOpTypeEvent = 34,
1236 SpvOpTypeDeviceEvent = 35,
1237 SpvOpTypeReserveId = 36,
1238 SpvOpTypeQueue = 37,
1239 SpvOpTypePipe = 38,
1240 SpvOpTypeForwardPointer = 39,
1241 SpvOpConstantTrue = 41,
1242 SpvOpConstantFalse = 42,
1243 SpvOpConstant = 43,
1244 SpvOpConstantComposite = 44,
1245 SpvOpConstantSampler = 45,
1246 SpvOpConstantNull = 46,
1247 SpvOpSpecConstantTrue = 48,
1248 SpvOpSpecConstantFalse = 49,
1249 SpvOpSpecConstant = 50,
1250 SpvOpSpecConstantComposite = 51,
1251 SpvOpSpecConstantOp = 52,
1252 SpvOpFunction = 54,
1253 SpvOpFunctionParameter = 55,
1254 SpvOpFunctionEnd = 56,
1255 SpvOpFunctionCall = 57,
1256 SpvOpVariable = 59,
1257 SpvOpImageTexelPointer = 60,
1258 SpvOpLoad = 61,
1259 SpvOpStore = 62,
1260 SpvOpCopyMemory = 63,
1261 SpvOpCopyMemorySized = 64,
1262 SpvOpAccessChain = 65,
1263 SpvOpInBoundsAccessChain = 66,
1264 SpvOpPtrAccessChain = 67,
1265 SpvOpArrayLength = 68,
1266 SpvOpGenericPtrMemSemantics = 69,
1267 SpvOpInBoundsPtrAccessChain = 70,
1268 SpvOpDecorate = 71,
1269 SpvOpMemberDecorate = 72,
1270 SpvOpDecorationGroup = 73,
1271 SpvOpGroupDecorate = 74,
1272 SpvOpGroupMemberDecorate = 75,
1273 SpvOpVectorExtractDynamic = 77,
1274 SpvOpVectorInsertDynamic = 78,
1275 SpvOpVectorShuffle = 79,
1276 SpvOpCompositeConstruct = 80,
1277 SpvOpCompositeExtract = 81,
1278 SpvOpCompositeInsert = 82,
1279 SpvOpCopyObject = 83,
1280 SpvOpTranspose = 84,
1281 SpvOpSampledImage = 86,
1282 SpvOpImageSampleImplicitLod = 87,
1283 SpvOpImageSampleExplicitLod = 88,
1284 SpvOpImageSampleDrefImplicitLod = 89,
1285 SpvOpImageSampleDrefExplicitLod = 90,
1286 SpvOpImageSampleProjImplicitLod = 91,
1287 SpvOpImageSampleProjExplicitLod = 92,
1288 SpvOpImageSampleProjDrefImplicitLod = 93,
1289 SpvOpImageSampleProjDrefExplicitLod = 94,
1290 SpvOpImageFetch = 95,
1291 SpvOpImageGather = 96,
1292 SpvOpImageDrefGather = 97,
1293 SpvOpImageRead = 98,
1294 SpvOpImageWrite = 99,
1295 SpvOpImage = 100,
1296 SpvOpImageQueryFormat = 101,
1297 SpvOpImageQueryOrder = 102,
1298 SpvOpImageQuerySizeLod = 103,
1299 SpvOpImageQuerySize = 104,
1300 SpvOpImageQueryLod = 105,
1301 SpvOpImageQueryLevels = 106,
1302 SpvOpImageQuerySamples = 107,
1303 SpvOpConvertFToU = 109,
1304 SpvOpConvertFToS = 110,
1305 SpvOpConvertSToF = 111,
1306 SpvOpConvertUToF = 112,
1307 SpvOpUConvert = 113,
1308 SpvOpSConvert = 114,
1309 SpvOpFConvert = 115,
1310 SpvOpQuantizeToF16 = 116,
1311 SpvOpConvertPtrToU = 117,
1312 SpvOpSatConvertSToU = 118,
1313 SpvOpSatConvertUToS = 119,
1314 SpvOpConvertUToPtr = 120,
1315 SpvOpPtrCastToGeneric = 121,
1316 SpvOpGenericCastToPtr = 122,
1317 SpvOpGenericCastToPtrExplicit = 123,
1318 SpvOpBitcast = 124,
1319 SpvOpSNegate = 126,
1320 SpvOpFNegate = 127,
1321 SpvOpIAdd = 128,
1322 SpvOpFAdd = 129,
1323 SpvOpISub = 130,
1324 SpvOpFSub = 131,
1325 SpvOpIMul = 132,
1326 SpvOpFMul = 133,
1327 SpvOpUDiv = 134,
1328 SpvOpSDiv = 135,
1329 SpvOpFDiv = 136,
1330 SpvOpUMod = 137,
1331 SpvOpSRem = 138,
1332 SpvOpSMod = 139,
1333 SpvOpFRem = 140,
1334 SpvOpFMod = 141,
1335 SpvOpVectorTimesScalar = 142,
1336 SpvOpMatrixTimesScalar = 143,
1337 SpvOpVectorTimesMatrix = 144,
1338 SpvOpMatrixTimesVector = 145,
1339 SpvOpMatrixTimesMatrix = 146,
1340 SpvOpOuterProduct = 147,
1341 SpvOpDot = 148,
1342 SpvOpIAddCarry = 149,
1343 SpvOpISubBorrow = 150,
1344 SpvOpUMulExtended = 151,
1345 SpvOpSMulExtended = 152,
1346 SpvOpAny = 154,
1347 SpvOpAll = 155,
1348 SpvOpIsNan = 156,
1349 SpvOpIsInf = 157,
1350 SpvOpIsFinite = 158,
1351 SpvOpIsNormal = 159,
1352 SpvOpSignBitSet = 160,
1353 SpvOpLessOrGreater = 161,
1354 SpvOpOrdered = 162,
1355 SpvOpUnordered = 163,
1356 SpvOpLogicalEqual = 164,
1357 SpvOpLogicalNotEqual = 165,
1358 SpvOpLogicalOr = 166,
1359 SpvOpLogicalAnd = 167,
1360 SpvOpLogicalNot = 168,
1361 SpvOpSelect = 169,
1362 SpvOpIEqual = 170,
1363 SpvOpINotEqual = 171,
1364 SpvOpUGreaterThan = 172,
1365 SpvOpSGreaterThan = 173,
1366 SpvOpUGreaterThanEqual = 174,
1367 SpvOpSGreaterThanEqual = 175,
1368 SpvOpULessThan = 176,
1369 SpvOpSLessThan = 177,
1370 SpvOpULessThanEqual = 178,
1371 SpvOpSLessThanEqual = 179,
1372 SpvOpFOrdEqual = 180,
1373 SpvOpFUnordEqual = 181,
1374 SpvOpFOrdNotEqual = 182,
1375 SpvOpFUnordNotEqual = 183,
1376 SpvOpFOrdLessThan = 184,
1377 SpvOpFUnordLessThan = 185,
1378 SpvOpFOrdGreaterThan = 186,
1379 SpvOpFUnordGreaterThan = 187,
1380 SpvOpFOrdLessThanEqual = 188,
1381 SpvOpFUnordLessThanEqual = 189,
1382 SpvOpFOrdGreaterThanEqual = 190,
1383 SpvOpFUnordGreaterThanEqual = 191,
1384 SpvOpShiftRightLogical = 194,
1385 SpvOpShiftRightArithmetic = 195,
1386 SpvOpShiftLeftLogical = 196,
1387 SpvOpBitwiseOr = 197,
1388 SpvOpBitwiseXor = 198,
1389 SpvOpBitwiseAnd = 199,
1390 SpvOpNot = 200,
1391 SpvOpBitFieldInsert = 201,
1392 SpvOpBitFieldSExtract = 202,
1393 SpvOpBitFieldUExtract = 203,
1394 SpvOpBitReverse = 204,
1395 SpvOpBitCount = 205,
1396 SpvOpDPdx = 207,
1397 SpvOpDPdy = 208,
1398 SpvOpFwidth = 209,
1399 SpvOpDPdxFine = 210,
1400 SpvOpDPdyFine = 211,
1401 SpvOpFwidthFine = 212,
1402 SpvOpDPdxCoarse = 213,
1403 SpvOpDPdyCoarse = 214,
1404 SpvOpFwidthCoarse = 215,
1405 SpvOpEmitVertex = 218,
1406 SpvOpEndPrimitive = 219,
1407 SpvOpEmitStreamVertex = 220,
1408 SpvOpEndStreamPrimitive = 221,
1409 SpvOpControlBarrier = 224,
1410 SpvOpMemoryBarrier = 225,
1411 SpvOpAtomicLoad = 227,
1412 SpvOpAtomicStore = 228,
1413 SpvOpAtomicExchange = 229,
1414 SpvOpAtomicCompareExchange = 230,
1415 SpvOpAtomicCompareExchangeWeak = 231,
1416 SpvOpAtomicIIncrement = 232,
1417 SpvOpAtomicIDecrement = 233,
1418 SpvOpAtomicIAdd = 234,
1419 SpvOpAtomicISub = 235,
1420 SpvOpAtomicSMin = 236,
1421 SpvOpAtomicUMin = 237,
1422 SpvOpAtomicSMax = 238,
1423 SpvOpAtomicUMax = 239,
1424 SpvOpAtomicAnd = 240,
1425 SpvOpAtomicOr = 241,
1426 SpvOpAtomicXor = 242,
1427 SpvOpPhi = 245,
1428 SpvOpLoopMerge = 246,
1429 SpvOpSelectionMerge = 247,
1430 SpvOpLabel = 248,
1431 SpvOpBranch = 249,
1432 SpvOpBranchConditional = 250,
1433 SpvOpSwitch = 251,
1434 SpvOpKill = 252,
1435 SpvOpReturn = 253,
1436 SpvOpReturnValue = 254,
1437 SpvOpUnreachable = 255,
1438 SpvOpLifetimeStart = 256,
1439 SpvOpLifetimeStop = 257,
1440 SpvOpGroupAsyncCopy = 259,
1441 SpvOpGroupWaitEvents = 260,
1442 SpvOpGroupAll = 261,
1443 SpvOpGroupAny = 262,
1444 SpvOpGroupBroadcast = 263,
1445 SpvOpGroupIAdd = 264,
1446 SpvOpGroupFAdd = 265,
1447 SpvOpGroupFMin = 266,
1448 SpvOpGroupUMin = 267,
1449 SpvOpGroupSMin = 268,
1450 SpvOpGroupFMax = 269,
1451 SpvOpGroupUMax = 270,
1452 SpvOpGroupSMax = 271,
1453 SpvOpReadPipe = 274,
1454 SpvOpWritePipe = 275,
1455 SpvOpReservedReadPipe = 276,
1456 SpvOpReservedWritePipe = 277,
1457 SpvOpReserveReadPipePackets = 278,
1458 SpvOpReserveWritePipePackets = 279,
1459 SpvOpCommitReadPipe = 280,
1460 SpvOpCommitWritePipe = 281,
1461 SpvOpIsValidReserveId = 282,
1462 SpvOpGetNumPipePackets = 283,
1463 SpvOpGetMaxPipePackets = 284,
1464 SpvOpGroupReserveReadPipePackets = 285,
1465 SpvOpGroupReserveWritePipePackets = 286,
1466 SpvOpGroupCommitReadPipe = 287,
1467 SpvOpGroupCommitWritePipe = 288,
1468 SpvOpEnqueueMarker = 291,
1469 SpvOpEnqueueKernel = 292,
1470 SpvOpGetKernelNDrangeSubGroupCount = 293,
1471 SpvOpGetKernelNDrangeMaxSubGroupSize = 294,
1472 SpvOpGetKernelWorkGroupSize = 295,
1473 SpvOpGetKernelPreferredWorkGroupSizeMultiple = 296,
1474 SpvOpRetainEvent = 297,
1475 SpvOpReleaseEvent = 298,
1476 SpvOpCreateUserEvent = 299,
1477 SpvOpIsValidEvent = 300,
1478 SpvOpSetUserEventStatus = 301,
1479 SpvOpCaptureEventProfilingInfo = 302,
1480 SpvOpGetDefaultQueue = 303,
1481 SpvOpBuildNDRange = 304,
1482 SpvOpImageSparseSampleImplicitLod = 305,
1483 SpvOpImageSparseSampleExplicitLod = 306,
1484 SpvOpImageSparseSampleDrefImplicitLod = 307,
1485 SpvOpImageSparseSampleDrefExplicitLod = 308,
1486 SpvOpImageSparseSampleProjImplicitLod = 309,
1487 SpvOpImageSparseSampleProjExplicitLod = 310,
1488 SpvOpImageSparseSampleProjDrefImplicitLod = 311,
1489 SpvOpImageSparseSampleProjDrefExplicitLod = 312,
1490 SpvOpImageSparseFetch = 313,
1491 SpvOpImageSparseGather = 314,
1492 SpvOpImageSparseDrefGather = 315,
1493 SpvOpImageSparseTexelsResident = 316,
1494 SpvOpNoLine = 317,
1495 SpvOpAtomicFlagTestAndSet = 318,
1496 SpvOpAtomicFlagClear = 319,
1497 SpvOpImageSparseRead = 320,
1498 SpvOpSizeOf = 321,
1499 SpvOpTypePipeStorage = 322,
1500 SpvOpConstantPipeStorage = 323,
1501 SpvOpCreatePipeFromPipeStorage = 324,
1502 SpvOpGetKernelLocalSizeForSubgroupCount = 325,
1503 SpvOpGetKernelMaxNumSubgroups = 326,
1504 SpvOpTypeNamedBarrier = 327,
1505 SpvOpNamedBarrierInitialize = 328,
1506 SpvOpMemoryNamedBarrier = 329,
1507 SpvOpModuleProcessed = 330,
1508 SpvOpExecutionModeId = 331,
1509 SpvOpDecorateId = 332,
1510 SpvOpGroupNonUniformElect = 333,
1511 SpvOpGroupNonUniformAll = 334,
1512 SpvOpGroupNonUniformAny = 335,
1513 SpvOpGroupNonUniformAllEqual = 336,
1514 SpvOpGroupNonUniformBroadcast = 337,
1515 SpvOpGroupNonUniformBroadcastFirst = 338,
1516 SpvOpGroupNonUniformBallot = 339,
1517 SpvOpGroupNonUniformInverseBallot = 340,
1518 SpvOpGroupNonUniformBallotBitExtract = 341,
1519 SpvOpGroupNonUniformBallotBitCount = 342,
1520 SpvOpGroupNonUniformBallotFindLSB = 343,
1521 SpvOpGroupNonUniformBallotFindMSB = 344,
1522 SpvOpGroupNonUniformShuffle = 345,
1523 SpvOpGroupNonUniformShuffleXor = 346,
1524 SpvOpGroupNonUniformShuffleUp = 347,
1525 SpvOpGroupNonUniformShuffleDown = 348,
1526 SpvOpGroupNonUniformIAdd = 349,
1527 SpvOpGroupNonUniformFAdd = 350,
1528 SpvOpGroupNonUniformIMul = 351,
1529 SpvOpGroupNonUniformFMul = 352,
1530 SpvOpGroupNonUniformSMin = 353,
1531 SpvOpGroupNonUniformUMin = 354,
1532 SpvOpGroupNonUniformFMin = 355,
1533 SpvOpGroupNonUniformSMax = 356,
1534 SpvOpGroupNonUniformUMax = 357,
1535 SpvOpGroupNonUniformFMax = 358,
1536 SpvOpGroupNonUniformBitwiseAnd = 359,
1537 SpvOpGroupNonUniformBitwiseOr = 360,
1538 SpvOpGroupNonUniformBitwiseXor = 361,
1539 SpvOpGroupNonUniformLogicalAnd = 362,
1540 SpvOpGroupNonUniformLogicalOr = 363,
1541 SpvOpGroupNonUniformLogicalXor = 364,
1542 SpvOpGroupNonUniformQuadBroadcast = 365,
1543 SpvOpGroupNonUniformQuadSwap = 366,
1544 SpvOpCopyLogical = 400,
1545 SpvOpPtrEqual = 401,
1546 SpvOpPtrNotEqual = 402,
1547 SpvOpPtrDiff = 403,
1548 SpvOpTerminateInvocation = 4416,
1549 SpvOpSubgroupBallotKHR = 4421,
1550 SpvOpSubgroupFirstInvocationKHR = 4422,
1551 SpvOpSubgroupAllKHR = 4428,
1552 SpvOpSubgroupAnyKHR = 4429,
1553 SpvOpSubgroupAllEqualKHR = 4430,
1554 SpvOpGroupNonUniformRotateKHR = 4431,
1555 SpvOpSubgroupReadInvocationKHR = 4432,
1556 SpvOpTraceRayKHR = 4445,
1557 SpvOpExecuteCallableKHR = 4446,
1558 SpvOpConvertUToAccelerationStructureKHR = 4447,
1559 SpvOpIgnoreIntersectionKHR = 4448,
1560 SpvOpTerminateRayKHR = 4449,
1561 SpvOpSDot = 4450,
1562 SpvOpSDotKHR = 4450,
1563 SpvOpUDot = 4451,
1564 SpvOpUDotKHR = 4451,
1565 SpvOpSUDot = 4452,
1566 SpvOpSUDotKHR = 4452,
1567 SpvOpSDotAccSat = 4453,
1568 SpvOpSDotAccSatKHR = 4453,
1569 SpvOpUDotAccSat = 4454,
1570 SpvOpUDotAccSatKHR = 4454,
1571 SpvOpSUDotAccSat = 4455,
1572 SpvOpSUDotAccSatKHR = 4455,
1573 SpvOpTypeRayQueryKHR = 4472,
1574 SpvOpRayQueryInitializeKHR = 4473,
1575 SpvOpRayQueryTerminateKHR = 4474,
1576 SpvOpRayQueryGenerateIntersectionKHR = 4475,
1577 SpvOpRayQueryConfirmIntersectionKHR = 4476,
1578 SpvOpRayQueryProceedKHR = 4477,
1579 SpvOpRayQueryGetIntersectionTypeKHR = 4479,
1580 SpvOpGroupIAddNonUniformAMD = 5000,
1581 SpvOpGroupFAddNonUniformAMD = 5001,
1582 SpvOpGroupFMinNonUniformAMD = 5002,
1583 SpvOpGroupUMinNonUniformAMD = 5003,
1584 SpvOpGroupSMinNonUniformAMD = 5004,
1585 SpvOpGroupFMaxNonUniformAMD = 5005,
1586 SpvOpGroupUMaxNonUniformAMD = 5006,
1587 SpvOpGroupSMaxNonUniformAMD = 5007,
1588 SpvOpFragmentMaskFetchAMD = 5011,
1589 SpvOpFragmentFetchAMD = 5012,
1590 SpvOpReadClockKHR = 5056,
1591 SpvOpImageSampleFootprintNV = 5283,
1592 SpvOpGroupNonUniformPartitionNV = 5296,
1593 SpvOpWritePackedPrimitiveIndices4x8NV = 5299,
1594 SpvOpReportIntersectionKHR = 5334,
1595 SpvOpReportIntersectionNV = 5334,
1596 SpvOpIgnoreIntersectionNV = 5335,
1597 SpvOpTerminateRayNV = 5336,
1598 SpvOpTraceNV = 5337,
1599 SpvOpTraceMotionNV = 5338,
1600 SpvOpTraceRayMotionNV = 5339,
1601 SpvOpTypeAccelerationStructureKHR = 5341,
1602 SpvOpTypeAccelerationStructureNV = 5341,
1603 SpvOpExecuteCallableNV = 5344,
1604 SpvOpTypeCooperativeMatrixNV = 5358,
1605 SpvOpCooperativeMatrixLoadNV = 5359,
1606 SpvOpCooperativeMatrixStoreNV = 5360,
1607 SpvOpCooperativeMatrixMulAddNV = 5361,
1608 SpvOpCooperativeMatrixLengthNV = 5362,
1609 SpvOpBeginInvocationInterlockEXT = 5364,
1610 SpvOpEndInvocationInterlockEXT = 5365,
1611 SpvOpDemoteToHelperInvocation = 5380,
1612 SpvOpDemoteToHelperInvocationEXT = 5380,
1613 SpvOpIsHelperInvocationEXT = 5381,
1614 SpvOpConvertUToImageNV = 5391,
1615 SpvOpConvertUToSamplerNV = 5392,
1616 SpvOpConvertImageToUNV = 5393,
1617 SpvOpConvertSamplerToUNV = 5394,
1618 SpvOpConvertUToSampledImageNV = 5395,
1619 SpvOpConvertSampledImageToUNV = 5396,
1620 SpvOpSamplerImageAddressingModeNV = 5397,
1621 SpvOpSubgroupShuffleINTEL = 5571,
1622 SpvOpSubgroupShuffleDownINTEL = 5572,
1623 SpvOpSubgroupShuffleUpINTEL = 5573,
1624 SpvOpSubgroupShuffleXorINTEL = 5574,
1625 SpvOpSubgroupBlockReadINTEL = 5575,
1626 SpvOpSubgroupBlockWriteINTEL = 5576,
1627 SpvOpSubgroupImageBlockReadINTEL = 5577,
1628 SpvOpSubgroupImageBlockWriteINTEL = 5578,
1629 SpvOpSubgroupImageMediaBlockReadINTEL = 5580,
1630 SpvOpSubgroupImageMediaBlockWriteINTEL = 5581,
1631 SpvOpUCountLeadingZerosINTEL = 5585,
1632 SpvOpUCountTrailingZerosINTEL = 5586,
1633 SpvOpAbsISubINTEL = 5587,
1634 SpvOpAbsUSubINTEL = 5588,
1635 SpvOpIAddSatINTEL = 5589,
1636 SpvOpUAddSatINTEL = 5590,
1637 SpvOpIAverageINTEL = 5591,
1638 SpvOpUAverageINTEL = 5592,
1639 SpvOpIAverageRoundedINTEL = 5593,
1640 SpvOpUAverageRoundedINTEL = 5594,
1641 SpvOpISubSatINTEL = 5595,
1642 SpvOpUSubSatINTEL = 5596,
1643 SpvOpIMul32x16INTEL = 5597,
1644 SpvOpUMul32x16INTEL = 5598,
1645 SpvOpConstantFunctionPointerINTEL = 5600,
1646 SpvOpFunctionPointerCallINTEL = 5601,
1647 SpvOpAsmTargetINTEL = 5609,
1648 SpvOpAsmINTEL = 5610,
1649 SpvOpAsmCallINTEL = 5611,
1650 SpvOpAtomicFMinEXT = 5614,
1651 SpvOpAtomicFMaxEXT = 5615,
1652 SpvOpAssumeTrueKHR = 5630,
1653 SpvOpExpectKHR = 5631,
1654 SpvOpDecorateString = 5632,
1655 SpvOpDecorateStringGOOGLE = 5632,
1656 SpvOpMemberDecorateString = 5633,
1657 SpvOpMemberDecorateStringGOOGLE = 5633,
1658 SpvOpVmeImageINTEL = 5699,
1659 SpvOpTypeVmeImageINTEL = 5700,
1660 SpvOpTypeAvcImePayloadINTEL = 5701,
1661 SpvOpTypeAvcRefPayloadINTEL = 5702,
1662 SpvOpTypeAvcSicPayloadINTEL = 5703,
1663 SpvOpTypeAvcMcePayloadINTEL = 5704,
1664 SpvOpTypeAvcMceResultINTEL = 5705,
1665 SpvOpTypeAvcImeResultINTEL = 5706,
1666 SpvOpTypeAvcImeResultSingleReferenceStreamoutINTEL = 5707,
1667 SpvOpTypeAvcImeResultDualReferenceStreamoutINTEL = 5708,
1668 SpvOpTypeAvcImeSingleReferenceStreaminINTEL = 5709,
1669 SpvOpTypeAvcImeDualReferenceStreaminINTEL = 5710,
1670 SpvOpTypeAvcRefResultINTEL = 5711,
1671 SpvOpTypeAvcSicResultINTEL = 5712,
1672 SpvOpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL = 5713,
1673 SpvOpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL = 5714,
1674 SpvOpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL = 5715,
1675 SpvOpSubgroupAvcMceSetInterShapePenaltyINTEL = 5716,
1676 SpvOpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL = 5717,
1677 SpvOpSubgroupAvcMceSetInterDirectionPenaltyINTEL = 5718,
1678 SpvOpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL = 5719,
1679 SpvOpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL = 5720,
1680 SpvOpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL = 5721,
1681 SpvOpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL = 5722,
1682 SpvOpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL = 5723,
1683 SpvOpSubgroupAvcMceSetMotionVectorCostFunctionINTEL = 5724,
1684 SpvOpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL = 5725,
1685 SpvOpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL = 5726,
1686 SpvOpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL = 5727,
1687 SpvOpSubgroupAvcMceSetAcOnlyHaarINTEL = 5728,
1688 SpvOpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL = 5729,
1689 SpvOpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL = 5730,
1690 SpvOpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL = 5731,
1691 SpvOpSubgroupAvcMceConvertToImePayloadINTEL = 5732,
1692 SpvOpSubgroupAvcMceConvertToImeResultINTEL = 5733,
1693 SpvOpSubgroupAvcMceConvertToRefPayloadINTEL = 5734,
1694 SpvOpSubgroupAvcMceConvertToRefResultINTEL = 5735,
1695 SpvOpSubgroupAvcMceConvertToSicPayloadINTEL = 5736,
1696 SpvOpSubgroupAvcMceConvertToSicResultINTEL = 5737,
1697 SpvOpSubgroupAvcMceGetMotionVectorsINTEL = 5738,
1698 SpvOpSubgroupAvcMceGetInterDistortionsINTEL = 5739,
1699 SpvOpSubgroupAvcMceGetBestInterDistortionsINTEL = 5740,
1700 SpvOpSubgroupAvcMceGetInterMajorShapeINTEL = 5741,
1701 SpvOpSubgroupAvcMceGetInterMinorShapeINTEL = 5742,
1702 SpvOpSubgroupAvcMceGetInterDirectionsINTEL = 5743,
1703 SpvOpSubgroupAvcMceGetInterMotionVectorCountINTEL = 5744,
1704 SpvOpSubgroupAvcMceGetInterReferenceIdsINTEL = 5745,
1705 SpvOpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL = 5746,
1706 SpvOpSubgroupAvcImeInitializeINTEL = 5747,
1707 SpvOpSubgroupAvcImeSetSingleReferenceINTEL = 5748,
1708 SpvOpSubgroupAvcImeSetDualReferenceINTEL = 5749,
1709 SpvOpSubgroupAvcImeRefWindowSizeINTEL = 5750,
1710 SpvOpSubgroupAvcImeAdjustRefOffsetINTEL = 5751,
1711 SpvOpSubgroupAvcImeConvertToMcePayloadINTEL = 5752,
1712 SpvOpSubgroupAvcImeSetMaxMotionVectorCountINTEL = 5753,
1713 SpvOpSubgroupAvcImeSetUnidirectionalMixDisableINTEL = 5754,
1714 SpvOpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL = 5755,
1715 SpvOpSubgroupAvcImeSetWeightedSadINTEL = 5756,
1716 SpvOpSubgroupAvcImeEvaluateWithSingleReferenceINTEL = 5757,
1717 SpvOpSubgroupAvcImeEvaluateWithDualReferenceINTEL = 5758,
1718 SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL = 5759,
1719 SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL = 5760,
1720 SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL = 5761,
1721 SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL = 5762,
1722 SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL = 5763,
1723 SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL = 5764,
1724 SpvOpSubgroupAvcImeConvertToMceResultINTEL = 5765,
1725 SpvOpSubgroupAvcImeGetSingleReferenceStreaminINTEL = 5766,
1726 SpvOpSubgroupAvcImeGetDualReferenceStreaminINTEL = 5767,
1727 SpvOpSubgroupAvcImeStripSingleReferenceStreamoutINTEL = 5768,
1728 SpvOpSubgroupAvcImeStripDualReferenceStreamoutINTEL = 5769,
1729 SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL = 5770,
1730 SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL = 5771,
1731 SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL = 5772,
1732 SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL = 5773,
1733 SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL = 5774,
1734 SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL = 5775,
1735 SpvOpSubgroupAvcImeGetBorderReachedINTEL = 5776,
1736 SpvOpSubgroupAvcImeGetTruncatedSearchIndicationINTEL = 5777,
1737 SpvOpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL = 5778,
1738 SpvOpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL = 5779,
1739 SpvOpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL = 5780,
1740 SpvOpSubgroupAvcFmeInitializeINTEL = 5781,
1741 SpvOpSubgroupAvcBmeInitializeINTEL = 5782,
1742 SpvOpSubgroupAvcRefConvertToMcePayloadINTEL = 5783,
1743 SpvOpSubgroupAvcRefSetBidirectionalMixDisableINTEL = 5784,
1744 SpvOpSubgroupAvcRefSetBilinearFilterEnableINTEL = 5785,
1745 SpvOpSubgroupAvcRefEvaluateWithSingleReferenceINTEL = 5786,
1746 SpvOpSubgroupAvcRefEvaluateWithDualReferenceINTEL = 5787,
1747 SpvOpSubgroupAvcRefEvaluateWithMultiReferenceINTEL = 5788,
1748 SpvOpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL = 5789,
1749 SpvOpSubgroupAvcRefConvertToMceResultINTEL = 5790,
1750 SpvOpSubgroupAvcSicInitializeINTEL = 5791,
1751 SpvOpSubgroupAvcSicConfigureSkcINTEL = 5792,
1752 SpvOpSubgroupAvcSicConfigureIpeLumaINTEL = 5793,
1753 SpvOpSubgroupAvcSicConfigureIpeLumaChromaINTEL = 5794,
1754 SpvOpSubgroupAvcSicGetMotionVectorMaskINTEL = 5795,
1755 SpvOpSubgroupAvcSicConvertToMcePayloadINTEL = 5796,
1756 SpvOpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL = 5797,
1757 SpvOpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL = 5798,
1758 SpvOpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL = 5799,
1759 SpvOpSubgroupAvcSicSetBilinearFilterEnableINTEL = 5800,
1760 SpvOpSubgroupAvcSicSetSkcForwardTransformEnableINTEL = 5801,
1761 SpvOpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL = 5802,
1762 SpvOpSubgroupAvcSicEvaluateIpeINTEL = 5803,
1763 SpvOpSubgroupAvcSicEvaluateWithSingleReferenceINTEL = 5804,
1764 SpvOpSubgroupAvcSicEvaluateWithDualReferenceINTEL = 5805,
1765 SpvOpSubgroupAvcSicEvaluateWithMultiReferenceINTEL = 5806,
1766 SpvOpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL = 5807,
1767 SpvOpSubgroupAvcSicConvertToMceResultINTEL = 5808,
1768 SpvOpSubgroupAvcSicGetIpeLumaShapeINTEL = 5809,
1769 SpvOpSubgroupAvcSicGetBestIpeLumaDistortionINTEL = 5810,
1770 SpvOpSubgroupAvcSicGetBestIpeChromaDistortionINTEL = 5811,
1771 SpvOpSubgroupAvcSicGetPackedIpeLumaModesINTEL = 5812,
1772 SpvOpSubgroupAvcSicGetIpeChromaModeINTEL = 5813,
1773 SpvOpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
1774 SpvOpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
1775 SpvOpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
1776 SpvOpVariableLengthArrayINTEL = 5818,
1777 SpvOpSaveMemoryINTEL = 5819,
1778 SpvOpRestoreMemoryINTEL = 5820,
1779 SpvOpArbitraryFloatSinCosPiINTEL = 5840,
1780 SpvOpArbitraryFloatCastINTEL = 5841,
1781 SpvOpArbitraryFloatCastFromIntINTEL = 5842,
1782 SpvOpArbitraryFloatCastToIntINTEL = 5843,
1783 SpvOpArbitraryFloatAddINTEL = 5846,
1784 SpvOpArbitraryFloatSubINTEL = 5847,
1785 SpvOpArbitraryFloatMulINTEL = 5848,
1786 SpvOpArbitraryFloatDivINTEL = 5849,
1787 SpvOpArbitraryFloatGTINTEL = 5850,
1788 SpvOpArbitraryFloatGEINTEL = 5851,
1789 SpvOpArbitraryFloatLTINTEL = 5852,
1790 SpvOpArbitraryFloatLEINTEL = 5853,
1791 SpvOpArbitraryFloatEQINTEL = 5854,
1792 SpvOpArbitraryFloatRecipINTEL = 5855,
1793 SpvOpArbitraryFloatRSqrtINTEL = 5856,
1794 SpvOpArbitraryFloatCbrtINTEL = 5857,
1795 SpvOpArbitraryFloatHypotINTEL = 5858,
1796 SpvOpArbitraryFloatSqrtINTEL = 5859,
1797 SpvOpArbitraryFloatLogINTEL = 5860,
1798 SpvOpArbitraryFloatLog2INTEL = 5861,
1799 SpvOpArbitraryFloatLog10INTEL = 5862,
1800 SpvOpArbitraryFloatLog1pINTEL = 5863,
1801 SpvOpArbitraryFloatExpINTEL = 5864,
1802 SpvOpArbitraryFloatExp2INTEL = 5865,
1803 SpvOpArbitraryFloatExp10INTEL = 5866,
1804 SpvOpArbitraryFloatExpm1INTEL = 5867,
1805 SpvOpArbitraryFloatSinINTEL = 5868,
1806 SpvOpArbitraryFloatCosINTEL = 5869,
1807 SpvOpArbitraryFloatSinCosINTEL = 5870,
1808 SpvOpArbitraryFloatSinPiINTEL = 5871,
1809 SpvOpArbitraryFloatCosPiINTEL = 5872,
1810 SpvOpArbitraryFloatASinINTEL = 5873,
1811 SpvOpArbitraryFloatASinPiINTEL = 5874,
1812 SpvOpArbitraryFloatACosINTEL = 5875,
1813 SpvOpArbitraryFloatACosPiINTEL = 5876,
1814 SpvOpArbitraryFloatATanINTEL = 5877,
1815 SpvOpArbitraryFloatATanPiINTEL = 5878,
1816 SpvOpArbitraryFloatATan2INTEL = 5879,
1817 SpvOpArbitraryFloatPowINTEL = 5880,
1818 SpvOpArbitraryFloatPowRINTEL = 5881,
1819 SpvOpArbitraryFloatPowNINTEL = 5882,
1820 SpvOpLoopControlINTEL = 5887,
1821 SpvOpAliasDomainDeclINTEL = 5911,
1822 SpvOpAliasScopeDeclINTEL = 5912,
1823 SpvOpAliasScopeListDeclINTEL = 5913,
1824 SpvOpFixedSqrtINTEL = 5923,
1825 SpvOpFixedRecipINTEL = 5924,
1826 SpvOpFixedRsqrtINTEL = 5925,
1827 SpvOpFixedSinINTEL = 5926,
1828 SpvOpFixedCosINTEL = 5927,
1829 SpvOpFixedSinCosINTEL = 5928,
1830 SpvOpFixedSinPiINTEL = 5929,
1831 SpvOpFixedCosPiINTEL = 5930,
1832 SpvOpFixedSinCosPiINTEL = 5931,
1833 SpvOpFixedLogINTEL = 5932,
1834 SpvOpFixedExpINTEL = 5933,
1835 SpvOpPtrCastToCrossWorkgroupINTEL = 5934,
1836 SpvOpCrossWorkgroupCastToPtrINTEL = 5938,
1837 SpvOpReadPipeBlockingINTEL = 5946,
1838 SpvOpWritePipeBlockingINTEL = 5947,
1839 SpvOpFPGARegINTEL = 5949,
1840 SpvOpRayQueryGetRayTMinKHR = 6016,
1841 SpvOpRayQueryGetRayFlagsKHR = 6017,
1842 SpvOpRayQueryGetIntersectionTKHR = 6018,
1843 SpvOpRayQueryGetIntersectionInstanceCustomIndexKHR = 6019,
1844 SpvOpRayQueryGetIntersectionInstanceIdKHR = 6020,
1845 SpvOpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR = 6021,
1846 SpvOpRayQueryGetIntersectionGeometryIndexKHR = 6022,
1847 SpvOpRayQueryGetIntersectionPrimitiveIndexKHR = 6023,
1848 SpvOpRayQueryGetIntersectionBarycentricsKHR = 6024,
1849 SpvOpRayQueryGetIntersectionFrontFaceKHR = 6025,
1850 SpvOpRayQueryGetIntersectionCandidateAABBOpaqueKHR = 6026,
1851 SpvOpRayQueryGetIntersectionObjectRayDirectionKHR = 6027,
1852 SpvOpRayQueryGetIntersectionObjectRayOriginKHR = 6028,
1853 SpvOpRayQueryGetWorldRayDirectionKHR = 6029,
1854 SpvOpRayQueryGetWorldRayOriginKHR = 6030,
1855 SpvOpRayQueryGetIntersectionObjectToWorldKHR = 6031,
1856 SpvOpRayQueryGetIntersectionWorldToObjectKHR = 6032,
1857 SpvOpAtomicFAddEXT = 6035,
1858 SpvOpTypeBufferSurfaceINTEL = 6086,
1859 SpvOpTypeStructContinuedINTEL = 6090,
1860 SpvOpConstantCompositeContinuedINTEL = 6091,
1861 SpvOpSpecConstantCompositeContinuedINTEL = 6092,
1862 SpvOpControlBarrierArriveINTEL = 6142,
1863 SpvOpControlBarrierWaitINTEL = 6143,
1864 SpvOpGroupIMulKHR = 6401,
1865 SpvOpGroupFMulKHR = 6402,
1866 SpvOpGroupBitwiseAndKHR = 6403,
1867 SpvOpGroupBitwiseOrKHR = 6404,
1868 SpvOpGroupBitwiseXorKHR = 6405,
1869 SpvOpGroupLogicalAndKHR = 6406,
1870 SpvOpGroupLogicalOrKHR = 6407,
1871 SpvOpGroupLogicalXorKHR = 6408,
1872 SpvOpMax = 0x7fffffff,
1873} SpvOp;
1874
1875#ifdef SPV_ENABLE_UTILITY_CODE
1876#ifndef __cplusplus
1877#include <stdbool.h>
1878#endif
1879inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultType) {
1880 *hasResult = *hasResultType = false;
1881 switch (opcode) {
1882 default: /* unknown opcode */ break;
1883 case SpvOpNop: *hasResult = false; *hasResultType = false; break;
1884 case SpvOpUndef: *hasResult = true; *hasResultType = true; break;
1885 case SpvOpSourceContinued: *hasResult = false; *hasResultType = false; break;
1886 case SpvOpSource: *hasResult = false; *hasResultType = false; break;
1887 case SpvOpSourceExtension: *hasResult = false; *hasResultType = false; break;
1888 case SpvOpName: *hasResult = false; *hasResultType = false; break;
1889 case SpvOpMemberName: *hasResult = false; *hasResultType = false; break;
1890 case SpvOpString: *hasResult = true; *hasResultType = false; break;
1891 case SpvOpLine: *hasResult = false; *hasResultType = false; break;
1892 case SpvOpExtension: *hasResult = false; *hasResultType = false; break;
1893 case SpvOpExtInstImport: *hasResult = true; *hasResultType = false; break;
1894 case SpvOpExtInst: *hasResult = true; *hasResultType = true; break;
1895 case SpvOpMemoryModel: *hasResult = false; *hasResultType = false; break;
1896 case SpvOpEntryPoint: *hasResult = false; *hasResultType = false; break;
1897 case SpvOpExecutionMode: *hasResult = false; *hasResultType = false; break;
1898 case SpvOpCapability: *hasResult = false; *hasResultType = false; break;
1899 case SpvOpTypeVoid: *hasResult = true; *hasResultType = false; break;
1900 case SpvOpTypeBool: *hasResult = true; *hasResultType = false; break;
1901 case SpvOpTypeInt: *hasResult = true; *hasResultType = false; break;
1902 case SpvOpTypeFloat: *hasResult = true; *hasResultType = false; break;
1903 case SpvOpTypeVector: *hasResult = true; *hasResultType = false; break;
1904 case SpvOpTypeMatrix: *hasResult = true; *hasResultType = false; break;
1905 case SpvOpTypeImage: *hasResult = true; *hasResultType = false; break;
1906 case SpvOpTypeSampler: *hasResult = true; *hasResultType = false; break;
1907 case SpvOpTypeSampledImage: *hasResult = true; *hasResultType = false; break;
1908 case SpvOpTypeArray: *hasResult = true; *hasResultType = false; break;
1909 case SpvOpTypeRuntimeArray: *hasResult = true; *hasResultType = false; break;
1910 case SpvOpTypeStruct: *hasResult = true; *hasResultType = false; break;
1911 case SpvOpTypeOpaque: *hasResult = true; *hasResultType = false; break;
1912 case SpvOpTypePointer: *hasResult = true; *hasResultType = false; break;
1913 case SpvOpTypeFunction: *hasResult = true; *hasResultType = false; break;
1914 case SpvOpTypeEvent: *hasResult = true; *hasResultType = false; break;
1915 case SpvOpTypeDeviceEvent: *hasResult = true; *hasResultType = false; break;
1916 case SpvOpTypeReserveId: *hasResult = true; *hasResultType = false; break;
1917 case SpvOpTypeQueue: *hasResult = true; *hasResultType = false; break;
1918 case SpvOpTypePipe: *hasResult = true; *hasResultType = false; break;
1919 case SpvOpTypeForwardPointer: *hasResult = false; *hasResultType = false; break;
1920 case SpvOpConstantTrue: *hasResult = true; *hasResultType = true; break;
1921 case SpvOpConstantFalse: *hasResult = true; *hasResultType = true; break;
1922 case SpvOpConstant: *hasResult = true; *hasResultType = true; break;
1923 case SpvOpConstantComposite: *hasResult = true; *hasResultType = true; break;
1924 case SpvOpConstantSampler: *hasResult = true; *hasResultType = true; break;
1925 case SpvOpConstantNull: *hasResult = true; *hasResultType = true; break;
1926 case SpvOpSpecConstantTrue: *hasResult = true; *hasResultType = true; break;
1927 case SpvOpSpecConstantFalse: *hasResult = true; *hasResultType = true; break;
1928 case SpvOpSpecConstant: *hasResult = true; *hasResultType = true; break;
1929 case SpvOpSpecConstantComposite: *hasResult = true; *hasResultType = true; break;
1930 case SpvOpSpecConstantOp: *hasResult = true; *hasResultType = true; break;
1931 case SpvOpFunction: *hasResult = true; *hasResultType = true; break;
1932 case SpvOpFunctionParameter: *hasResult = true; *hasResultType = true; break;
1933 case SpvOpFunctionEnd: *hasResult = false; *hasResultType = false; break;
1934 case SpvOpFunctionCall: *hasResult = true; *hasResultType = true; break;
1935 case SpvOpVariable: *hasResult = true; *hasResultType = true; break;
1936 case SpvOpImageTexelPointer: *hasResult = true; *hasResultType = true; break;
1937 case SpvOpLoad: *hasResult = true; *hasResultType = true; break;
1938 case SpvOpStore: *hasResult = false; *hasResultType = false; break;
1939 case SpvOpCopyMemory: *hasResult = false; *hasResultType = false; break;
1940 case SpvOpCopyMemorySized: *hasResult = false; *hasResultType = false; break;
1941 case SpvOpAccessChain: *hasResult = true; *hasResultType = true; break;
1942 case SpvOpInBoundsAccessChain: *hasResult = true; *hasResultType = true; break;
1943 case SpvOpPtrAccessChain: *hasResult = true; *hasResultType = true; break;
1944 case SpvOpArrayLength: *hasResult = true; *hasResultType = true; break;
1945 case SpvOpGenericPtrMemSemantics: *hasResult = true; *hasResultType = true; break;
1946 case SpvOpInBoundsPtrAccessChain: *hasResult = true; *hasResultType = true; break;
1947 case SpvOpDecorate: *hasResult = false; *hasResultType = false; break;
1948 case SpvOpMemberDecorate: *hasResult = false; *hasResultType = false; break;
1949 case SpvOpDecorationGroup: *hasResult = true; *hasResultType = false; break;
1950 case SpvOpGroupDecorate: *hasResult = false; *hasResultType = false; break;
1951 case SpvOpGroupMemberDecorate: *hasResult = false; *hasResultType = false; break;
1952 case SpvOpVectorExtractDynamic: *hasResult = true; *hasResultType = true; break;
1953 case SpvOpVectorInsertDynamic: *hasResult = true; *hasResultType = true; break;
1954 case SpvOpVectorShuffle: *hasResult = true; *hasResultType = true; break;
1955 case SpvOpCompositeConstruct: *hasResult = true; *hasResultType = true; break;
1956 case SpvOpCompositeExtract: *hasResult = true; *hasResultType = true; break;
1957 case SpvOpCompositeInsert: *hasResult = true; *hasResultType = true; break;
1958 case SpvOpCopyObject: *hasResult = true; *hasResultType = true; break;
1959 case SpvOpTranspose: *hasResult = true; *hasResultType = true; break;
1960 case SpvOpSampledImage: *hasResult = true; *hasResultType = true; break;
1961 case SpvOpImageSampleImplicitLod: *hasResult = true; *hasResultType = true; break;
1962 case SpvOpImageSampleExplicitLod: *hasResult = true; *hasResultType = true; break;
1963 case SpvOpImageSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
1964 case SpvOpImageSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
1965 case SpvOpImageSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break;
1966 case SpvOpImageSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break;
1967 case SpvOpImageSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
1968 case SpvOpImageSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
1969 case SpvOpImageFetch: *hasResult = true; *hasResultType = true; break;
1970 case SpvOpImageGather: *hasResult = true; *hasResultType = true; break;
1971 case SpvOpImageDrefGather: *hasResult = true; *hasResultType = true; break;
1972 case SpvOpImageRead: *hasResult = true; *hasResultType = true; break;
1973 case SpvOpImageWrite: *hasResult = false; *hasResultType = false; break;
1974 case SpvOpImage: *hasResult = true; *hasResultType = true; break;
1975 case SpvOpImageQueryFormat: *hasResult = true; *hasResultType = true; break;
1976 case SpvOpImageQueryOrder: *hasResult = true; *hasResultType = true; break;
1977 case SpvOpImageQuerySizeLod: *hasResult = true; *hasResultType = true; break;
1978 case SpvOpImageQuerySize: *hasResult = true; *hasResultType = true; break;
1979 case SpvOpImageQueryLod: *hasResult = true; *hasResultType = true; break;
1980 case SpvOpImageQueryLevels: *hasResult = true; *hasResultType = true; break;
1981 case SpvOpImageQuerySamples: *hasResult = true; *hasResultType = true; break;
1982 case SpvOpConvertFToU: *hasResult = true; *hasResultType = true; break;
1983 case SpvOpConvertFToS: *hasResult = true; *hasResultType = true; break;
1984 case SpvOpConvertSToF: *hasResult = true; *hasResultType = true; break;
1985 case SpvOpConvertUToF: *hasResult = true; *hasResultType = true; break;
1986 case SpvOpUConvert: *hasResult = true; *hasResultType = true; break;
1987 case SpvOpSConvert: *hasResult = true; *hasResultType = true; break;
1988 case SpvOpFConvert: *hasResult = true; *hasResultType = true; break;
1989 case SpvOpQuantizeToF16: *hasResult = true; *hasResultType = true; break;
1990 case SpvOpConvertPtrToU: *hasResult = true; *hasResultType = true; break;
1991 case SpvOpSatConvertSToU: *hasResult = true; *hasResultType = true; break;
1992 case SpvOpSatConvertUToS: *hasResult = true; *hasResultType = true; break;
1993 case SpvOpConvertUToPtr: *hasResult = true; *hasResultType = true; break;
1994 case SpvOpPtrCastToGeneric: *hasResult = true; *hasResultType = true; break;
1995 case SpvOpGenericCastToPtr: *hasResult = true; *hasResultType = true; break;
1996 case SpvOpGenericCastToPtrExplicit: *hasResult = true; *hasResultType = true; break;
1997 case SpvOpBitcast: *hasResult = true; *hasResultType = true; break;
1998 case SpvOpSNegate: *hasResult = true; *hasResultType = true; break;
1999 case SpvOpFNegate: *hasResult = true; *hasResultType = true; break;
2000 case SpvOpIAdd: *hasResult = true; *hasResultType = true; break;
2001 case SpvOpFAdd: *hasResult = true; *hasResultType = true; break;
2002 case SpvOpISub: *hasResult = true; *hasResultType = true; break;
2003 case SpvOpFSub: *hasResult = true; *hasResultType = true; break;
2004 case SpvOpIMul: *hasResult = true; *hasResultType = true; break;
2005 case SpvOpFMul: *hasResult = true; *hasResultType = true; break;
2006 case SpvOpUDiv: *hasResult = true; *hasResultType = true; break;
2007 case SpvOpSDiv: *hasResult = true; *hasResultType = true; break;
2008 case SpvOpFDiv: *hasResult = true; *hasResultType = true; break;
2009 case SpvOpUMod: *hasResult = true; *hasResultType = true; break;
2010 case SpvOpSRem: *hasResult = true; *hasResultType = true; break;
2011 case SpvOpSMod: *hasResult = true; *hasResultType = true; break;
2012 case SpvOpFRem: *hasResult = true; *hasResultType = true; break;
2013 case SpvOpFMod: *hasResult = true; *hasResultType = true; break;
2014 case SpvOpVectorTimesScalar: *hasResult = true; *hasResultType = true; break;
2015 case SpvOpMatrixTimesScalar: *hasResult = true; *hasResultType = true; break;
2016 case SpvOpVectorTimesMatrix: *hasResult = true; *hasResultType = true; break;
2017 case SpvOpMatrixTimesVector: *hasResult = true; *hasResultType = true; break;
2018 case SpvOpMatrixTimesMatrix: *hasResult = true; *hasResultType = true; break;
2019 case SpvOpOuterProduct: *hasResult = true; *hasResultType = true; break;
2020 case SpvOpDot: *hasResult = true; *hasResultType = true; break;
2021 case SpvOpIAddCarry: *hasResult = true; *hasResultType = true; break;
2022 case SpvOpISubBorrow: *hasResult = true; *hasResultType = true; break;
2023 case SpvOpUMulExtended: *hasResult = true; *hasResultType = true; break;
2024 case SpvOpSMulExtended: *hasResult = true; *hasResultType = true; break;
2025 case SpvOpAny: *hasResult = true; *hasResultType = true; break;
2026 case SpvOpAll: *hasResult = true; *hasResultType = true; break;
2027 case SpvOpIsNan: *hasResult = true; *hasResultType = true; break;
2028 case SpvOpIsInf: *hasResult = true; *hasResultType = true; break;
2029 case SpvOpIsFinite: *hasResult = true; *hasResultType = true; break;
2030 case SpvOpIsNormal: *hasResult = true; *hasResultType = true; break;
2031 case SpvOpSignBitSet: *hasResult = true; *hasResultType = true; break;
2032 case SpvOpLessOrGreater: *hasResult = true; *hasResultType = true; break;
2033 case SpvOpOrdered: *hasResult = true; *hasResultType = true; break;
2034 case SpvOpUnordered: *hasResult = true; *hasResultType = true; break;
2035 case SpvOpLogicalEqual: *hasResult = true; *hasResultType = true; break;
2036 case SpvOpLogicalNotEqual: *hasResult = true; *hasResultType = true; break;
2037 case SpvOpLogicalOr: *hasResult = true; *hasResultType = true; break;
2038 case SpvOpLogicalAnd: *hasResult = true; *hasResultType = true; break;
2039 case SpvOpLogicalNot: *hasResult = true; *hasResultType = true; break;
2040 case SpvOpSelect: *hasResult = true; *hasResultType = true; break;
2041 case SpvOpIEqual: *hasResult = true; *hasResultType = true; break;
2042 case SpvOpINotEqual: *hasResult = true; *hasResultType = true; break;
2043 case SpvOpUGreaterThan: *hasResult = true; *hasResultType = true; break;
2044 case SpvOpSGreaterThan: *hasResult = true; *hasResultType = true; break;
2045 case SpvOpUGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
2046 case SpvOpSGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
2047 case SpvOpULessThan: *hasResult = true; *hasResultType = true; break;
2048 case SpvOpSLessThan: *hasResult = true; *hasResultType = true; break;
2049 case SpvOpULessThanEqual: *hasResult = true; *hasResultType = true; break;
2050 case SpvOpSLessThanEqual: *hasResult = true; *hasResultType = true; break;
2051 case SpvOpFOrdEqual: *hasResult = true; *hasResultType = true; break;
2052 case SpvOpFUnordEqual: *hasResult = true; *hasResultType = true; break;
2053 case SpvOpFOrdNotEqual: *hasResult = true; *hasResultType = true; break;
2054 case SpvOpFUnordNotEqual: *hasResult = true; *hasResultType = true; break;
2055 case SpvOpFOrdLessThan: *hasResult = true; *hasResultType = true; break;
2056 case SpvOpFUnordLessThan: *hasResult = true; *hasResultType = true; break;
2057 case SpvOpFOrdGreaterThan: *hasResult = true; *hasResultType = true; break;
2058 case SpvOpFUnordGreaterThan: *hasResult = true; *hasResultType = true; break;
2059 case SpvOpFOrdLessThanEqual: *hasResult = true; *hasResultType = true; break;
2060 case SpvOpFUnordLessThanEqual: *hasResult = true; *hasResultType = true; break;
2061 case SpvOpFOrdGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
2062 case SpvOpFUnordGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
2063 case SpvOpShiftRightLogical: *hasResult = true; *hasResultType = true; break;
2064 case SpvOpShiftRightArithmetic: *hasResult = true; *hasResultType = true; break;
2065 case SpvOpShiftLeftLogical: *hasResult = true; *hasResultType = true; break;
2066 case SpvOpBitwiseOr: *hasResult = true; *hasResultType = true; break;
2067 case SpvOpBitwiseXor: *hasResult = true; *hasResultType = true; break;
2068 case SpvOpBitwiseAnd: *hasResult = true; *hasResultType = true; break;
2069 case SpvOpNot: *hasResult = true; *hasResultType = true; break;
2070 case SpvOpBitFieldInsert: *hasResult = true; *hasResultType = true; break;
2071 case SpvOpBitFieldSExtract: *hasResult = true; *hasResultType = true; break;
2072 case SpvOpBitFieldUExtract: *hasResult = true; *hasResultType = true; break;
2073 case SpvOpBitReverse: *hasResult = true; *hasResultType = true; break;
2074 case SpvOpBitCount: *hasResult = true; *hasResultType = true; break;
2075 case SpvOpDPdx: *hasResult = true; *hasResultType = true; break;
2076 case SpvOpDPdy: *hasResult = true; *hasResultType = true; break;
2077 case SpvOpFwidth: *hasResult = true; *hasResultType = true; break;
2078 case SpvOpDPdxFine: *hasResult = true; *hasResultType = true; break;
2079 case SpvOpDPdyFine: *hasResult = true; *hasResultType = true; break;
2080 case SpvOpFwidthFine: *hasResult = true; *hasResultType = true; break;
2081 case SpvOpDPdxCoarse: *hasResult = true; *hasResultType = true; break;
2082 case SpvOpDPdyCoarse: *hasResult = true; *hasResultType = true; break;
2083 case SpvOpFwidthCoarse: *hasResult = true; *hasResultType = true; break;
2084 case SpvOpEmitVertex: *hasResult = false; *hasResultType = false; break;
2085 case SpvOpEndPrimitive: *hasResult = false; *hasResultType = false; break;
2086 case SpvOpEmitStreamVertex: *hasResult = false; *hasResultType = false; break;
2087 case SpvOpEndStreamPrimitive: *hasResult = false; *hasResultType = false; break;
2088 case SpvOpControlBarrier: *hasResult = false; *hasResultType = false; break;
2089 case SpvOpMemoryBarrier: *hasResult = false; *hasResultType = false; break;
2090 case SpvOpAtomicLoad: *hasResult = true; *hasResultType = true; break;
2091 case SpvOpAtomicStore: *hasResult = false; *hasResultType = false; break;
2092 case SpvOpAtomicExchange: *hasResult = true; *hasResultType = true; break;
2093 case SpvOpAtomicCompareExchange: *hasResult = true; *hasResultType = true; break;
2094 case SpvOpAtomicCompareExchangeWeak: *hasResult = true; *hasResultType = true; break;
2095 case SpvOpAtomicIIncrement: *hasResult = true; *hasResultType = true; break;
2096 case SpvOpAtomicIDecrement: *hasResult = true; *hasResultType = true; break;
2097 case SpvOpAtomicIAdd: *hasResult = true; *hasResultType = true; break;
2098 case SpvOpAtomicISub: *hasResult = true; *hasResultType = true; break;
2099 case SpvOpAtomicSMin: *hasResult = true; *hasResultType = true; break;
2100 case SpvOpAtomicUMin: *hasResult = true; *hasResultType = true; break;
2101 case SpvOpAtomicSMax: *hasResult = true; *hasResultType = true; break;
2102 case SpvOpAtomicUMax: *hasResult = true; *hasResultType = true; break;
2103 case SpvOpAtomicAnd: *hasResult = true; *hasResultType = true; break;
2104 case SpvOpAtomicOr: *hasResult = true; *hasResultType = true; break;
2105 case SpvOpAtomicXor: *hasResult = true; *hasResultType = true; break;
2106 case SpvOpPhi: *hasResult = true; *hasResultType = true; break;
2107 case SpvOpLoopMerge: *hasResult = false; *hasResultType = false; break;
2108 case SpvOpSelectionMerge: *hasResult = false; *hasResultType = false; break;
2109 case SpvOpLabel: *hasResult = true; *hasResultType = false; break;
2110 case SpvOpBranch: *hasResult = false; *hasResultType = false; break;
2111 case SpvOpBranchConditional: *hasResult = false; *hasResultType = false; break;
2112 case SpvOpSwitch: *hasResult = false; *hasResultType = false; break;
2113 case SpvOpKill: *hasResult = false; *hasResultType = false; break;
2114 case SpvOpReturn: *hasResult = false; *hasResultType = false; break;
2115 case SpvOpReturnValue: *hasResult = false; *hasResultType = false; break;
2116 case SpvOpUnreachable: *hasResult = false; *hasResultType = false; break;
2117 case SpvOpLifetimeStart: *hasResult = false; *hasResultType = false; break;
2118 case SpvOpLifetimeStop: *hasResult = false; *hasResultType = false; break;
2119 case SpvOpGroupAsyncCopy: *hasResult = true; *hasResultType = true; break;
2120 case SpvOpGroupWaitEvents: *hasResult = false; *hasResultType = false; break;
2121 case SpvOpGroupAll: *hasResult = true; *hasResultType = true; break;
2122 case SpvOpGroupAny: *hasResult = true; *hasResultType = true; break;
2123 case SpvOpGroupBroadcast: *hasResult = true; *hasResultType = true; break;
2124 case SpvOpGroupIAdd: *hasResult = true; *hasResultType = true; break;
2125 case SpvOpGroupFAdd: *hasResult = true; *hasResultType = true; break;
2126 case SpvOpGroupFMin: *hasResult = true; *hasResultType = true; break;
2127 case SpvOpGroupUMin: *hasResult = true; *hasResultType = true; break;
2128 case SpvOpGroupSMin: *hasResult = true; *hasResultType = true; break;
2129 case SpvOpGroupFMax: *hasResult = true; *hasResultType = true; break;
2130 case SpvOpGroupUMax: *hasResult = true; *hasResultType = true; break;
2131 case SpvOpGroupSMax: *hasResult = true; *hasResultType = true; break;
2132 case SpvOpReadPipe: *hasResult = true; *hasResultType = true; break;
2133 case SpvOpWritePipe: *hasResult = true; *hasResultType = true; break;
2134 case SpvOpReservedReadPipe: *hasResult = true; *hasResultType = true; break;
2135 case SpvOpReservedWritePipe: *hasResult = true; *hasResultType = true; break;
2136 case SpvOpReserveReadPipePackets: *hasResult = true; *hasResultType = true; break;
2137 case SpvOpReserveWritePipePackets: *hasResult = true; *hasResultType = true; break;
2138 case SpvOpCommitReadPipe: *hasResult = false; *hasResultType = false; break;
2139 case SpvOpCommitWritePipe: *hasResult = false; *hasResultType = false; break;
2140 case SpvOpIsValidReserveId: *hasResult = true; *hasResultType = true; break;
2141 case SpvOpGetNumPipePackets: *hasResult = true; *hasResultType = true; break;
2142 case SpvOpGetMaxPipePackets: *hasResult = true; *hasResultType = true; break;
2143 case SpvOpGroupReserveReadPipePackets: *hasResult = true; *hasResultType = true; break;
2144 case SpvOpGroupReserveWritePipePackets: *hasResult = true; *hasResultType = true; break;
2145 case SpvOpGroupCommitReadPipe: *hasResult = false; *hasResultType = false; break;
2146 case SpvOpGroupCommitWritePipe: *hasResult = false; *hasResultType = false; break;
2147 case SpvOpEnqueueMarker: *hasResult = true; *hasResultType = true; break;
2148 case SpvOpEnqueueKernel: *hasResult = true; *hasResultType = true; break;
2149 case SpvOpGetKernelNDrangeSubGroupCount: *hasResult = true; *hasResultType = true; break;
2150 case SpvOpGetKernelNDrangeMaxSubGroupSize: *hasResult = true; *hasResultType = true; break;
2151 case SpvOpGetKernelWorkGroupSize: *hasResult = true; *hasResultType = true; break;
2152 case SpvOpGetKernelPreferredWorkGroupSizeMultiple: *hasResult = true; *hasResultType = true; break;
2153 case SpvOpRetainEvent: *hasResult = false; *hasResultType = false; break;
2154 case SpvOpReleaseEvent: *hasResult = false; *hasResultType = false; break;
2155 case SpvOpCreateUserEvent: *hasResult = true; *hasResultType = true; break;
2156 case SpvOpIsValidEvent: *hasResult = true; *hasResultType = true; break;
2157 case SpvOpSetUserEventStatus: *hasResult = false; *hasResultType = false; break;
2158 case SpvOpCaptureEventProfilingInfo: *hasResult = false; *hasResultType = false; break;
2159 case SpvOpGetDefaultQueue: *hasResult = true; *hasResultType = true; break;
2160 case SpvOpBuildNDRange: *hasResult = true; *hasResultType = true; break;
2161 case SpvOpImageSparseSampleImplicitLod: *hasResult = true; *hasResultType = true; break;
2162 case SpvOpImageSparseSampleExplicitLod: *hasResult = true; *hasResultType = true; break;
2163 case SpvOpImageSparseSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
2164 case SpvOpImageSparseSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
2165 case SpvOpImageSparseSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break;
2166 case SpvOpImageSparseSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break;
2167 case SpvOpImageSparseSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
2168 case SpvOpImageSparseSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
2169 case SpvOpImageSparseFetch: *hasResult = true; *hasResultType = true; break;
2170 case SpvOpImageSparseGather: *hasResult = true; *hasResultType = true; break;
2171 case SpvOpImageSparseDrefGather: *hasResult = true; *hasResultType = true; break;
2172 case SpvOpImageSparseTexelsResident: *hasResult = true; *hasResultType = true; break;
2173 case SpvOpNoLine: *hasResult = false; *hasResultType = false; break;
2174 case SpvOpAtomicFlagTestAndSet: *hasResult = true; *hasResultType = true; break;
2175 case SpvOpAtomicFlagClear: *hasResult = false; *hasResultType = false; break;
2176 case SpvOpImageSparseRead: *hasResult = true; *hasResultType = true; break;
2177 case SpvOpSizeOf: *hasResult = true; *hasResultType = true; break;
2178 case SpvOpTypePipeStorage: *hasResult = true; *hasResultType = false; break;
2179 case SpvOpConstantPipeStorage: *hasResult = true; *hasResultType = true; break;
2180 case SpvOpCreatePipeFromPipeStorage: *hasResult = true; *hasResultType = true; break;
2181 case SpvOpGetKernelLocalSizeForSubgroupCount: *hasResult = true; *hasResultType = true; break;
2182 case SpvOpGetKernelMaxNumSubgroups: *hasResult = true; *hasResultType = true; break;
2183 case SpvOpTypeNamedBarrier: *hasResult = true; *hasResultType = false; break;
2184 case SpvOpNamedBarrierInitialize: *hasResult = true; *hasResultType = true; break;
2185 case SpvOpMemoryNamedBarrier: *hasResult = false; *hasResultType = false; break;
2186 case SpvOpModuleProcessed: *hasResult = false; *hasResultType = false; break;
2187 case SpvOpExecutionModeId: *hasResult = false; *hasResultType = false; break;
2188 case SpvOpDecorateId: *hasResult = false; *hasResultType = false; break;
2189 case SpvOpGroupNonUniformElect: *hasResult = true; *hasResultType = true; break;
2190 case SpvOpGroupNonUniformAll: *hasResult = true; *hasResultType = true; break;
2191 case SpvOpGroupNonUniformAny: *hasResult = true; *hasResultType = true; break;
2192 case SpvOpGroupNonUniformAllEqual: *hasResult = true; *hasResultType = true; break;
2193 case SpvOpGroupNonUniformBroadcast: *hasResult = true; *hasResultType = true; break;
2194 case SpvOpGroupNonUniformBroadcastFirst: *hasResult = true; *hasResultType = true; break;
2195 case SpvOpGroupNonUniformBallot: *hasResult = true; *hasResultType = true; break;
2196 case SpvOpGroupNonUniformInverseBallot: *hasResult = true; *hasResultType = true; break;
2197 case SpvOpGroupNonUniformBallotBitExtract: *hasResult = true; *hasResultType = true; break;
2198 case SpvOpGroupNonUniformBallotBitCount: *hasResult = true; *hasResultType = true; break;
2199 case SpvOpGroupNonUniformBallotFindLSB: *hasResult = true; *hasResultType = true; break;
2200 case SpvOpGroupNonUniformBallotFindMSB: *hasResult = true; *hasResultType = true; break;
2201 case SpvOpGroupNonUniformShuffle: *hasResult = true; *hasResultType = true; break;
2202 case SpvOpGroupNonUniformShuffleXor: *hasResult = true; *hasResultType = true; break;
2203 case SpvOpGroupNonUniformShuffleUp: *hasResult = true; *hasResultType = true; break;
2204 case SpvOpGroupNonUniformShuffleDown: *hasResult = true; *hasResultType = true; break;
2205 case SpvOpGroupNonUniformIAdd: *hasResult = true; *hasResultType = true; break;
2206 case SpvOpGroupNonUniformFAdd: *hasResult = true; *hasResultType = true; break;
2207 case SpvOpGroupNonUniformIMul: *hasResult = true; *hasResultType = true; break;
2208 case SpvOpGroupNonUniformFMul: *hasResult = true; *hasResultType = true; break;
2209 case SpvOpGroupNonUniformSMin: *hasResult = true; *hasResultType = true; break;
2210 case SpvOpGroupNonUniformUMin: *hasResult = true; *hasResultType = true; break;
2211 case SpvOpGroupNonUniformFMin: *hasResult = true; *hasResultType = true; break;
2212 case SpvOpGroupNonUniformSMax: *hasResult = true; *hasResultType = true; break;
2213 case SpvOpGroupNonUniformUMax: *hasResult = true; *hasResultType = true; break;
2214 case SpvOpGroupNonUniformFMax: *hasResult = true; *hasResultType = true; break;
2215 case SpvOpGroupNonUniformBitwiseAnd: *hasResult = true; *hasResultType = true; break;
2216 case SpvOpGroupNonUniformBitwiseOr: *hasResult = true; *hasResultType = true; break;
2217 case SpvOpGroupNonUniformBitwiseXor: *hasResult = true; *hasResultType = true; break;
2218 case SpvOpGroupNonUniformLogicalAnd: *hasResult = true; *hasResultType = true; break;
2219 case SpvOpGroupNonUniformLogicalOr: *hasResult = true; *hasResultType = true; break;
2220 case SpvOpGroupNonUniformLogicalXor: *hasResult = true; *hasResultType = true; break;
2221 case SpvOpGroupNonUniformQuadBroadcast: *hasResult = true; *hasResultType = true; break;
2222 case SpvOpGroupNonUniformQuadSwap: *hasResult = true; *hasResultType = true; break;
2223 case SpvOpCopyLogical: *hasResult = true; *hasResultType = true; break;
2224 case SpvOpPtrEqual: *hasResult = true; *hasResultType = true; break;
2225 case SpvOpPtrNotEqual: *hasResult = true; *hasResultType = true; break;
2226 case SpvOpPtrDiff: *hasResult = true; *hasResultType = true; break;
2227 case SpvOpTerminateInvocation: *hasResult = false; *hasResultType = false; break;
2228 case SpvOpSubgroupBallotKHR: *hasResult = true; *hasResultType = true; break;
2229 case SpvOpSubgroupFirstInvocationKHR: *hasResult = true; *hasResultType = true; break;
2230 case SpvOpSubgroupAllKHR: *hasResult = true; *hasResultType = true; break;
2231 case SpvOpSubgroupAnyKHR: *hasResult = true; *hasResultType = true; break;
2232 case SpvOpSubgroupAllEqualKHR: *hasResult = true; *hasResultType = true; break;
2233 case SpvOpGroupNonUniformRotateKHR: *hasResult = true; *hasResultType = true; break;
2234 case SpvOpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = true; break;
2235 case SpvOpTraceRayKHR: *hasResult = false; *hasResultType = false; break;
2236 case SpvOpExecuteCallableKHR: *hasResult = false; *hasResultType = false; break;
2237 case SpvOpConvertUToAccelerationStructureKHR: *hasResult = true; *hasResultType = true; break;
2238 case SpvOpIgnoreIntersectionKHR: *hasResult = false; *hasResultType = false; break;
2239 case SpvOpTerminateRayKHR: *hasResult = false; *hasResultType = false; break;
2240 case SpvOpSDot: *hasResult = true; *hasResultType = true; break;
2241 case SpvOpUDot: *hasResult = true; *hasResultType = true; break;
2242 case SpvOpSUDot: *hasResult = true; *hasResultType = true; break;
2243 case SpvOpSDotAccSat: *hasResult = true; *hasResultType = true; break;
2244 case SpvOpUDotAccSat: *hasResult = true; *hasResultType = true; break;
2245 case SpvOpSUDotAccSat: *hasResult = true; *hasResultType = true; break;
2246 case SpvOpTypeRayQueryKHR: *hasResult = true; *hasResultType = false; break;
2247 case SpvOpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break;
2248 case SpvOpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break;
2249 case SpvOpRayQueryGenerateIntersectionKHR: *hasResult = false; *hasResultType = false; break;
2250 case SpvOpRayQueryConfirmIntersectionKHR: *hasResult = false; *hasResultType = false; break;
2251 case SpvOpRayQueryProceedKHR: *hasResult = true; *hasResultType = true; break;
2252 case SpvOpRayQueryGetIntersectionTypeKHR: *hasResult = true; *hasResultType = true; break;
2253 case SpvOpGroupIAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
2254 case SpvOpGroupFAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
2255 case SpvOpGroupFMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
2256 case SpvOpGroupUMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
2257 case SpvOpGroupSMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
2258 case SpvOpGroupFMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
2259 case SpvOpGroupUMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
2260 case SpvOpGroupSMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
2261 case SpvOpFragmentMaskFetchAMD: *hasResult = true; *hasResultType = true; break;
2262 case SpvOpFragmentFetchAMD: *hasResult = true; *hasResultType = true; break;
2263 case SpvOpReadClockKHR: *hasResult = true; *hasResultType = true; break;
2264 case SpvOpImageSampleFootprintNV: *hasResult = true; *hasResultType = true; break;
2265 case SpvOpGroupNonUniformPartitionNV: *hasResult = true; *hasResultType = true; break;
2266 case SpvOpWritePackedPrimitiveIndices4x8NV: *hasResult = false; *hasResultType = false; break;
2267 case SpvOpReportIntersectionNV: *hasResult = true; *hasResultType = true; break;
2268 case SpvOpIgnoreIntersectionNV: *hasResult = false; *hasResultType = false; break;
2269 case SpvOpTerminateRayNV: *hasResult = false; *hasResultType = false; break;
2270 case SpvOpTraceNV: *hasResult = false; *hasResultType = false; break;
2271 case SpvOpTraceMotionNV: *hasResult = false; *hasResultType = false; break;
2272 case SpvOpTraceRayMotionNV: *hasResult = false; *hasResultType = false; break;
2273 case SpvOpTypeAccelerationStructureNV: *hasResult = true; *hasResultType = false; break;
2274 case SpvOpExecuteCallableNV: *hasResult = false; *hasResultType = false; break;
2275 case SpvOpTypeCooperativeMatrixNV: *hasResult = true; *hasResultType = false; break;
2276 case SpvOpCooperativeMatrixLoadNV: *hasResult = true; *hasResultType = true; break;
2277 case SpvOpCooperativeMatrixStoreNV: *hasResult = false; *hasResultType = false; break;
2278 case SpvOpCooperativeMatrixMulAddNV: *hasResult = true; *hasResultType = true; break;
2279 case SpvOpCooperativeMatrixLengthNV: *hasResult = true; *hasResultType = true; break;
2280 case SpvOpBeginInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
2281 case SpvOpEndInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
2282 case SpvOpDemoteToHelperInvocation: *hasResult = false; *hasResultType = false; break;
2283 case SpvOpIsHelperInvocationEXT: *hasResult = true; *hasResultType = true; break;
2284 case SpvOpConvertUToImageNV: *hasResult = true; *hasResultType = true; break;
2285 case SpvOpConvertUToSamplerNV: *hasResult = true; *hasResultType = true; break;
2286 case SpvOpConvertImageToUNV: *hasResult = true; *hasResultType = true; break;
2287 case SpvOpConvertSamplerToUNV: *hasResult = true; *hasResultType = true; break;
2288 case SpvOpConvertUToSampledImageNV: *hasResult = true; *hasResultType = true; break;
2289 case SpvOpConvertSampledImageToUNV: *hasResult = true; *hasResultType = true; break;
2290 case SpvOpSamplerImageAddressingModeNV: *hasResult = false; *hasResultType = false; break;
2291 case SpvOpSubgroupShuffleINTEL: *hasResult = true; *hasResultType = true; break;
2292 case SpvOpSubgroupShuffleDownINTEL: *hasResult = true; *hasResultType = true; break;
2293 case SpvOpSubgroupShuffleUpINTEL: *hasResult = true; *hasResultType = true; break;
2294 case SpvOpSubgroupShuffleXorINTEL: *hasResult = true; *hasResultType = true; break;
2295 case SpvOpSubgroupBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
2296 case SpvOpSubgroupBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
2297 case SpvOpSubgroupImageBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
2298 case SpvOpSubgroupImageBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
2299 case SpvOpSubgroupImageMediaBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
2300 case SpvOpSubgroupImageMediaBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
2301 case SpvOpUCountLeadingZerosINTEL: *hasResult = true; *hasResultType = true; break;
2302 case SpvOpUCountTrailingZerosINTEL: *hasResult = true; *hasResultType = true; break;
2303 case SpvOpAbsISubINTEL: *hasResult = true; *hasResultType = true; break;
2304 case SpvOpAbsUSubINTEL: *hasResult = true; *hasResultType = true; break;
2305 case SpvOpIAddSatINTEL: *hasResult = true; *hasResultType = true; break;
2306 case SpvOpUAddSatINTEL: *hasResult = true; *hasResultType = true; break;
2307 case SpvOpIAverageINTEL: *hasResult = true; *hasResultType = true; break;
2308 case SpvOpUAverageINTEL: *hasResult = true; *hasResultType = true; break;
2309 case SpvOpIAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break;
2310 case SpvOpUAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break;
2311 case SpvOpISubSatINTEL: *hasResult = true; *hasResultType = true; break;
2312 case SpvOpUSubSatINTEL: *hasResult = true; *hasResultType = true; break;
2313 case SpvOpIMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
2314 case SpvOpUMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
2315 case SpvOpConstantFunctionPointerINTEL: *hasResult = true; *hasResultType = true; break;
2316 case SpvOpFunctionPointerCallINTEL: *hasResult = true; *hasResultType = true; break;
2317 case SpvOpAsmTargetINTEL: *hasResult = true; *hasResultType = true; break;
2318 case SpvOpAsmINTEL: *hasResult = true; *hasResultType = true; break;
2319 case SpvOpAsmCallINTEL: *hasResult = true; *hasResultType = true; break;
2320 case SpvOpAtomicFMinEXT: *hasResult = true; *hasResultType = true; break;
2321 case SpvOpAtomicFMaxEXT: *hasResult = true; *hasResultType = true; break;
2322 case SpvOpAssumeTrueKHR: *hasResult = false; *hasResultType = false; break;
2323 case SpvOpExpectKHR: *hasResult = true; *hasResultType = true; break;
2324 case SpvOpDecorateString: *hasResult = false; *hasResultType = false; break;
2325 case SpvOpMemberDecorateString: *hasResult = false; *hasResultType = false; break;
2326 case SpvOpVmeImageINTEL: *hasResult = true; *hasResultType = true; break;
2327 case SpvOpTypeVmeImageINTEL: *hasResult = true; *hasResultType = false; break;
2328 case SpvOpTypeAvcImePayloadINTEL: *hasResult = true; *hasResultType = false; break;
2329 case SpvOpTypeAvcRefPayloadINTEL: *hasResult = true; *hasResultType = false; break;
2330 case SpvOpTypeAvcSicPayloadINTEL: *hasResult = true; *hasResultType = false; break;
2331 case SpvOpTypeAvcMcePayloadINTEL: *hasResult = true; *hasResultType = false; break;
2332 case SpvOpTypeAvcMceResultINTEL: *hasResult = true; *hasResultType = false; break;
2333 case SpvOpTypeAvcImeResultINTEL: *hasResult = true; *hasResultType = false; break;
2334 case SpvOpTypeAvcImeResultSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break;
2335 case SpvOpTypeAvcImeResultDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break;
2336 case SpvOpTypeAvcImeSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break;
2337 case SpvOpTypeAvcImeDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break;
2338 case SpvOpTypeAvcRefResultINTEL: *hasResult = true; *hasResultType = false; break;
2339 case SpvOpTypeAvcSicResultINTEL: *hasResult = true; *hasResultType = false; break;
2340 case SpvOpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
2341 case SpvOpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
2342 case SpvOpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
2343 case SpvOpSubgroupAvcMceSetInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
2344 case SpvOpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
2345 case SpvOpSubgroupAvcMceSetInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
2346 case SpvOpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
2347 case SpvOpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL: *hasResult = true; *hasResultType = true; break;
2348 case SpvOpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
2349 case SpvOpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
2350 case SpvOpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
2351 case SpvOpSubgroupAvcMceSetMotionVectorCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
2352 case SpvOpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
2353 case SpvOpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
2354 case SpvOpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
2355 case SpvOpSubgroupAvcMceSetAcOnlyHaarINTEL: *hasResult = true; *hasResultType = true; break;
2356 case SpvOpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break;
2357 case SpvOpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break;
2358 case SpvOpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break;
2359 case SpvOpSubgroupAvcMceConvertToImePayloadINTEL: *hasResult = true; *hasResultType = true; break;
2360 case SpvOpSubgroupAvcMceConvertToImeResultINTEL: *hasResult = true; *hasResultType = true; break;
2361 case SpvOpSubgroupAvcMceConvertToRefPayloadINTEL: *hasResult = true; *hasResultType = true; break;
2362 case SpvOpSubgroupAvcMceConvertToRefResultINTEL: *hasResult = true; *hasResultType = true; break;
2363 case SpvOpSubgroupAvcMceConvertToSicPayloadINTEL: *hasResult = true; *hasResultType = true; break;
2364 case SpvOpSubgroupAvcMceConvertToSicResultINTEL: *hasResult = true; *hasResultType = true; break;
2365 case SpvOpSubgroupAvcMceGetMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
2366 case SpvOpSubgroupAvcMceGetInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
2367 case SpvOpSubgroupAvcMceGetBestInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
2368 case SpvOpSubgroupAvcMceGetInterMajorShapeINTEL: *hasResult = true; *hasResultType = true; break;
2369 case SpvOpSubgroupAvcMceGetInterMinorShapeINTEL: *hasResult = true; *hasResultType = true; break;
2370 case SpvOpSubgroupAvcMceGetInterDirectionsINTEL: *hasResult = true; *hasResultType = true; break;
2371 case SpvOpSubgroupAvcMceGetInterMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break;
2372 case SpvOpSubgroupAvcMceGetInterReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
2373 case SpvOpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break;
2374 case SpvOpSubgroupAvcImeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
2375 case SpvOpSubgroupAvcImeSetSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
2376 case SpvOpSubgroupAvcImeSetDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
2377 case SpvOpSubgroupAvcImeRefWindowSizeINTEL: *hasResult = true; *hasResultType = true; break;
2378 case SpvOpSubgroupAvcImeAdjustRefOffsetINTEL: *hasResult = true; *hasResultType = true; break;
2379 case SpvOpSubgroupAvcImeConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
2380 case SpvOpSubgroupAvcImeSetMaxMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break;
2381 case SpvOpSubgroupAvcImeSetUnidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break;
2382 case SpvOpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL: *hasResult = true; *hasResultType = true; break;
2383 case SpvOpSubgroupAvcImeSetWeightedSadINTEL: *hasResult = true; *hasResultType = true; break;
2384 case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
2385 case SpvOpSubgroupAvcImeEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
2386 case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
2387 case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
2388 case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
2389 case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
2390 case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break;
2391 case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break;
2392 case SpvOpSubgroupAvcImeConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
2393 case SpvOpSubgroupAvcImeGetSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
2394 case SpvOpSubgroupAvcImeGetDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
2395 case SpvOpSubgroupAvcImeStripSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
2396 case SpvOpSubgroupAvcImeStripDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
2397 case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
2398 case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
2399 case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
2400 case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
2401 case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
2402 case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
2403 case SpvOpSubgroupAvcImeGetBorderReachedINTEL: *hasResult = true; *hasResultType = true; break;
2404 case SpvOpSubgroupAvcImeGetTruncatedSearchIndicationINTEL: *hasResult = true; *hasResultType = true; break;
2405 case SpvOpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL: *hasResult = true; *hasResultType = true; break;
2406 case SpvOpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL: *hasResult = true; *hasResultType = true; break;
2407 case SpvOpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL: *hasResult = true; *hasResultType = true; break;
2408 case SpvOpSubgroupAvcFmeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
2409 case SpvOpSubgroupAvcBmeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
2410 case SpvOpSubgroupAvcRefConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
2411 case SpvOpSubgroupAvcRefSetBidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break;
2412 case SpvOpSubgroupAvcRefSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break;
2413 case SpvOpSubgroupAvcRefEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
2414 case SpvOpSubgroupAvcRefEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
2415 case SpvOpSubgroupAvcRefEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break;
2416 case SpvOpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break;
2417 case SpvOpSubgroupAvcRefConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
2418 case SpvOpSubgroupAvcSicInitializeINTEL: *hasResult = true; *hasResultType = true; break;
2419 case SpvOpSubgroupAvcSicConfigureSkcINTEL: *hasResult = true; *hasResultType = true; break;
2420 case SpvOpSubgroupAvcSicConfigureIpeLumaINTEL: *hasResult = true; *hasResultType = true; break;
2421 case SpvOpSubgroupAvcSicConfigureIpeLumaChromaINTEL: *hasResult = true; *hasResultType = true; break;
2422 case SpvOpSubgroupAvcSicGetMotionVectorMaskINTEL: *hasResult = true; *hasResultType = true; break;
2423 case SpvOpSubgroupAvcSicConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
2424 case SpvOpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
2425 case SpvOpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
2426 case SpvOpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
2427 case SpvOpSubgroupAvcSicSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break;
2428 case SpvOpSubgroupAvcSicSetSkcForwardTransformEnableINTEL: *hasResult = true; *hasResultType = true; break;
2429 case SpvOpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL: *hasResult = true; *hasResultType = true; break;
2430 case SpvOpSubgroupAvcSicEvaluateIpeINTEL: *hasResult = true; *hasResultType = true; break;
2431 case SpvOpSubgroupAvcSicEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
2432 case SpvOpSubgroupAvcSicEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
2433 case SpvOpSubgroupAvcSicEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break;
2434 case SpvOpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break;
2435 case SpvOpSubgroupAvcSicConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
2436 case SpvOpSubgroupAvcSicGetIpeLumaShapeINTEL: *hasResult = true; *hasResultType = true; break;
2437 case SpvOpSubgroupAvcSicGetBestIpeLumaDistortionINTEL: *hasResult = true; *hasResultType = true; break;
2438 case SpvOpSubgroupAvcSicGetBestIpeChromaDistortionINTEL: *hasResult = true; *hasResultType = true; break;
2439 case SpvOpSubgroupAvcSicGetPackedIpeLumaModesINTEL: *hasResult = true; *hasResultType = true; break;
2440 case SpvOpSubgroupAvcSicGetIpeChromaModeINTEL: *hasResult = true; *hasResultType = true; break;
2441 case SpvOpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: *hasResult = true; *hasResultType = true; break;
2442 case SpvOpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: *hasResult = true; *hasResultType = true; break;
2443 case SpvOpSubgroupAvcSicGetInterRawSadsINTEL: *hasResult = true; *hasResultType = true; break;
2444 case SpvOpVariableLengthArrayINTEL: *hasResult = true; *hasResultType = true; break;
2445 case SpvOpSaveMemoryINTEL: *hasResult = true; *hasResultType = true; break;
2446 case SpvOpRestoreMemoryINTEL: *hasResult = false; *hasResultType = false; break;
2447 case SpvOpArbitraryFloatSinCosPiINTEL: *hasResult = true; *hasResultType = true; break;
2448 case SpvOpArbitraryFloatCastINTEL: *hasResult = true; *hasResultType = true; break;
2449 case SpvOpArbitraryFloatCastFromIntINTEL: *hasResult = true; *hasResultType = true; break;
2450 case SpvOpArbitraryFloatCastToIntINTEL: *hasResult = true; *hasResultType = true; break;
2451 case SpvOpArbitraryFloatAddINTEL: *hasResult = true; *hasResultType = true; break;
2452 case SpvOpArbitraryFloatSubINTEL: *hasResult = true; *hasResultType = true; break;
2453 case SpvOpArbitraryFloatMulINTEL: *hasResult = true; *hasResultType = true; break;
2454 case SpvOpArbitraryFloatDivINTEL: *hasResult = true; *hasResultType = true; break;
2455 case SpvOpArbitraryFloatGTINTEL: *hasResult = true; *hasResultType = true; break;
2456 case SpvOpArbitraryFloatGEINTEL: *hasResult = true; *hasResultType = true; break;
2457 case SpvOpArbitraryFloatLTINTEL: *hasResult = true; *hasResultType = true; break;
2458 case SpvOpArbitraryFloatLEINTEL: *hasResult = true; *hasResultType = true; break;
2459 case SpvOpArbitraryFloatEQINTEL: *hasResult = true; *hasResultType = true; break;
2460 case SpvOpArbitraryFloatRecipINTEL: *hasResult = true; *hasResultType = true; break;
2461 case SpvOpArbitraryFloatRSqrtINTEL: *hasResult = true; *hasResultType = true; break;
2462 case SpvOpArbitraryFloatCbrtINTEL: *hasResult = true; *hasResultType = true; break;
2463 case SpvOpArbitraryFloatHypotINTEL: *hasResult = true; *hasResultType = true; break;
2464 case SpvOpArbitraryFloatSqrtINTEL: *hasResult = true; *hasResultType = true; break;
2465 case SpvOpArbitraryFloatLogINTEL: *hasResult = true; *hasResultType = true; break;
2466 case SpvOpArbitraryFloatLog2INTEL: *hasResult = true; *hasResultType = true; break;
2467 case SpvOpArbitraryFloatLog10INTEL: *hasResult = true; *hasResultType = true; break;
2468 case SpvOpArbitraryFloatLog1pINTEL: *hasResult = true; *hasResultType = true; break;
2469 case SpvOpArbitraryFloatExpINTEL: *hasResult = true; *hasResultType = true; break;
2470 case SpvOpArbitraryFloatExp2INTEL: *hasResult = true; *hasResultType = true; break;
2471 case SpvOpArbitraryFloatExp10INTEL: *hasResult = true; *hasResultType = true; break;
2472 case SpvOpArbitraryFloatExpm1INTEL: *hasResult = true; *hasResultType = true; break;
2473 case SpvOpArbitraryFloatSinINTEL: *hasResult = true; *hasResultType = true; break;
2474 case SpvOpArbitraryFloatCosINTEL: *hasResult = true; *hasResultType = true; break;
2475 case SpvOpArbitraryFloatSinCosINTEL: *hasResult = true; *hasResultType = true; break;
2476 case SpvOpArbitraryFloatSinPiINTEL: *hasResult = true; *hasResultType = true; break;
2477 case SpvOpArbitraryFloatCosPiINTEL: *hasResult = true; *hasResultType = true; break;
2478 case SpvOpArbitraryFloatASinINTEL: *hasResult = true; *hasResultType = true; break;
2479 case SpvOpArbitraryFloatASinPiINTEL: *hasResult = true; *hasResultType = true; break;
2480 case SpvOpArbitraryFloatACosINTEL: *hasResult = true; *hasResultType = true; break;
2481 case SpvOpArbitraryFloatACosPiINTEL: *hasResult = true; *hasResultType = true; break;
2482 case SpvOpArbitraryFloatATanINTEL: *hasResult = true; *hasResultType = true; break;
2483 case SpvOpArbitraryFloatATanPiINTEL: *hasResult = true; *hasResultType = true; break;
2484 case SpvOpArbitraryFloatATan2INTEL: *hasResult = true; *hasResultType = true; break;
2485 case SpvOpArbitraryFloatPowINTEL: *hasResult = true; *hasResultType = true; break;
2486 case SpvOpArbitraryFloatPowRINTEL: *hasResult = true; *hasResultType = true; break;
2487 case SpvOpArbitraryFloatPowNINTEL: *hasResult = true; *hasResultType = true; break;
2488 case SpvOpLoopControlINTEL: *hasResult = false; *hasResultType = false; break;
2489 case SpvOpAliasDomainDeclINTEL: *hasResult = true; *hasResultType = false; break;
2490 case SpvOpAliasScopeDeclINTEL: *hasResult = true; *hasResultType = false; break;
2491 case SpvOpAliasScopeListDeclINTEL: *hasResult = true; *hasResultType = false; break;
2492 case SpvOpFixedSqrtINTEL: *hasResult = true; *hasResultType = true; break;
2493 case SpvOpFixedRecipINTEL: *hasResult = true; *hasResultType = true; break;
2494 case SpvOpFixedRsqrtINTEL: *hasResult = true; *hasResultType = true; break;
2495 case SpvOpFixedSinINTEL: *hasResult = true; *hasResultType = true; break;
2496 case SpvOpFixedCosINTEL: *hasResult = true; *hasResultType = true; break;
2497 case SpvOpFixedSinCosINTEL: *hasResult = true; *hasResultType = true; break;
2498 case SpvOpFixedSinPiINTEL: *hasResult = true; *hasResultType = true; break;
2499 case SpvOpFixedCosPiINTEL: *hasResult = true; *hasResultType = true; break;
2500 case SpvOpFixedSinCosPiINTEL: *hasResult = true; *hasResultType = true; break;
2501 case SpvOpFixedLogINTEL: *hasResult = true; *hasResultType = true; break;
2502 case SpvOpFixedExpINTEL: *hasResult = true; *hasResultType = true; break;
2503 case SpvOpPtrCastToCrossWorkgroupINTEL: *hasResult = true; *hasResultType = true; break;
2504 case SpvOpCrossWorkgroupCastToPtrINTEL: *hasResult = true; *hasResultType = true; break;
2505 case SpvOpReadPipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
2506 case SpvOpWritePipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
2507 case SpvOpFPGARegINTEL: *hasResult = true; *hasResultType = true; break;
2508 case SpvOpRayQueryGetRayTMinKHR: *hasResult = true; *hasResultType = true; break;
2509 case SpvOpRayQueryGetRayFlagsKHR: *hasResult = true; *hasResultType = true; break;
2510 case SpvOpRayQueryGetIntersectionTKHR: *hasResult = true; *hasResultType = true; break;
2511 case SpvOpRayQueryGetIntersectionInstanceCustomIndexKHR: *hasResult = true; *hasResultType = true; break;
2512 case SpvOpRayQueryGetIntersectionInstanceIdKHR: *hasResult = true; *hasResultType = true; break;
2513 case SpvOpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR: *hasResult = true; *hasResultType = true; break;
2514 case SpvOpRayQueryGetIntersectionGeometryIndexKHR: *hasResult = true; *hasResultType = true; break;
2515 case SpvOpRayQueryGetIntersectionPrimitiveIndexKHR: *hasResult = true; *hasResultType = true; break;
2516 case SpvOpRayQueryGetIntersectionBarycentricsKHR: *hasResult = true; *hasResultType = true; break;
2517 case SpvOpRayQueryGetIntersectionFrontFaceKHR: *hasResult = true; *hasResultType = true; break;
2518 case SpvOpRayQueryGetIntersectionCandidateAABBOpaqueKHR: *hasResult = true; *hasResultType = true; break;
2519 case SpvOpRayQueryGetIntersectionObjectRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
2520 case SpvOpRayQueryGetIntersectionObjectRayOriginKHR: *hasResult = true; *hasResultType = true; break;
2521 case SpvOpRayQueryGetWorldRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
2522 case SpvOpRayQueryGetWorldRayOriginKHR: *hasResult = true; *hasResultType = true; break;
2523 case SpvOpRayQueryGetIntersectionObjectToWorldKHR: *hasResult = true; *hasResultType = true; break;
2524 case SpvOpRayQueryGetIntersectionWorldToObjectKHR: *hasResult = true; *hasResultType = true; break;
2525 case SpvOpAtomicFAddEXT: *hasResult = true; *hasResultType = true; break;
2526 case SpvOpTypeBufferSurfaceINTEL: *hasResult = true; *hasResultType = false; break;
2527 case SpvOpTypeStructContinuedINTEL: *hasResult = false; *hasResultType = false; break;
2528 case SpvOpConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
2529 case SpvOpSpecConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
2530 case SpvOpControlBarrierArriveINTEL: *hasResult = false; *hasResultType = false; break;
2531 case SpvOpControlBarrierWaitINTEL: *hasResult = false; *hasResultType = false; break;
2532 case SpvOpGroupIMulKHR: *hasResult = true; *hasResultType = true; break;
2533 case SpvOpGroupFMulKHR: *hasResult = true; *hasResultType = true; break;
2534 case SpvOpGroupBitwiseAndKHR: *hasResult = true; *hasResultType = true; break;
2535 case SpvOpGroupBitwiseOrKHR: *hasResult = true; *hasResultType = true; break;
2536 case SpvOpGroupBitwiseXorKHR: *hasResult = true; *hasResultType = true; break;
2537 case SpvOpGroupLogicalAndKHR: *hasResult = true; *hasResultType = true; break;
2538 case SpvOpGroupLogicalOrKHR: *hasResult = true; *hasResultType = true; break;
2539 case SpvOpGroupLogicalXorKHR: *hasResult = true; *hasResultType = true; break;
2540 }
2541}
2542#endif /* SPV_ENABLE_UTILITY_CODE */
2543
2544#endif
2545
2546

source code of qtshadertools/src/3rdparty/SPIRV-Cross/spirv.h