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

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