2 ** Copyright (c) 2014-2020 The Khronos Group Inc.
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:
11 ** The above copyright notice and this permission notice shall be included in
12 ** all copies or substantial portions of the Materials.
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/
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
28 ** This header is automatically generated by the same tool that creates
29 ** the Binary Section of the SPIR-V specification.
33 ** Enumeration tokens for SPIR-V, in various styles:
34 ** C, C++, C++11, JSON, Lua, Python, C#, D
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
45 ** Some tokens act like mask values, which can be OR'd together,
46 ** while others are mutually exclusive. The mask-like ones have
47 ** "Mask" in their name, and a parallel enum that has the shift
48 ** amount (1 << x) for each corresponding enumerant.
54 typedef unsigned int SpvId
;
56 #define SPV_VERSION 0x10500
57 #define SPV_REVISION 3
59 static const unsigned int SpvMagicNumber
= 0x07230203;
60 static const unsigned int SpvVersion
= 0x00010500;
61 static const unsigned int SpvRevision
= 3;
62 static const unsigned int SpvOpCodeMask
= 0xffff;
63 static const unsigned int SpvWordCountShift
= 16;
65 typedef enum SpvSourceLanguage_
{
66 SpvSourceLanguageUnknown
= 0,
67 SpvSourceLanguageESSL
= 1,
68 SpvSourceLanguageGLSL
= 2,
69 SpvSourceLanguageOpenCL_C
= 3,
70 SpvSourceLanguageOpenCL_CPP
= 4,
71 SpvSourceLanguageHLSL
= 5,
72 SpvSourceLanguageMax
= 0x7fffffff,
75 typedef enum SpvExecutionModel_
{
76 SpvExecutionModelVertex
= 0,
77 SpvExecutionModelTessellationControl
= 1,
78 SpvExecutionModelTessellationEvaluation
= 2,
79 SpvExecutionModelGeometry
= 3,
80 SpvExecutionModelFragment
= 4,
81 SpvExecutionModelGLCompute
= 5,
82 SpvExecutionModelKernel
= 6,
83 SpvExecutionModelTaskNV
= 5267,
84 SpvExecutionModelMeshNV
= 5268,
85 SpvExecutionModelRayGenerationKHR
= 5313,
86 SpvExecutionModelRayGenerationNV
= 5313,
87 SpvExecutionModelIntersectionKHR
= 5314,
88 SpvExecutionModelIntersectionNV
= 5314,
89 SpvExecutionModelAnyHitKHR
= 5315,
90 SpvExecutionModelAnyHitNV
= 5315,
91 SpvExecutionModelClosestHitKHR
= 5316,
92 SpvExecutionModelClosestHitNV
= 5316,
93 SpvExecutionModelMissKHR
= 5317,
94 SpvExecutionModelMissNV
= 5317,
95 SpvExecutionModelCallableKHR
= 5318,
96 SpvExecutionModelCallableNV
= 5318,
97 SpvExecutionModelMax
= 0x7fffffff,
100 typedef enum SpvAddressingModel_
{
101 SpvAddressingModelLogical
= 0,
102 SpvAddressingModelPhysical32
= 1,
103 SpvAddressingModelPhysical64
= 2,
104 SpvAddressingModelPhysicalStorageBuffer64
= 5348,
105 SpvAddressingModelPhysicalStorageBuffer64EXT
= 5348,
106 SpvAddressingModelMax
= 0x7fffffff,
107 } SpvAddressingModel
;
109 typedef enum SpvMemoryModel_
{
110 SpvMemoryModelSimple
= 0,
111 SpvMemoryModelGLSL450
= 1,
112 SpvMemoryModelOpenCL
= 2,
113 SpvMemoryModelVulkan
= 3,
114 SpvMemoryModelVulkanKHR
= 3,
115 SpvMemoryModelMax
= 0x7fffffff,
118 typedef enum SpvExecutionMode_
{
119 SpvExecutionModeInvocations
= 0,
120 SpvExecutionModeSpacingEqual
= 1,
121 SpvExecutionModeSpacingFractionalEven
= 2,
122 SpvExecutionModeSpacingFractionalOdd
= 3,
123 SpvExecutionModeVertexOrderCw
= 4,
124 SpvExecutionModeVertexOrderCcw
= 5,
125 SpvExecutionModePixelCenterInteger
= 6,
126 SpvExecutionModeOriginUpperLeft
= 7,
127 SpvExecutionModeOriginLowerLeft
= 8,
128 SpvExecutionModeEarlyFragmentTests
= 9,
129 SpvExecutionModePointMode
= 10,
130 SpvExecutionModeXfb
= 11,
131 SpvExecutionModeDepthReplacing
= 12,
132 SpvExecutionModeDepthGreater
= 14,
133 SpvExecutionModeDepthLess
= 15,
134 SpvExecutionModeDepthUnchanged
= 16,
135 SpvExecutionModeLocalSize
= 17,
136 SpvExecutionModeLocalSizeHint
= 18,
137 SpvExecutionModeInputPoints
= 19,
138 SpvExecutionModeInputLines
= 20,
139 SpvExecutionModeInputLinesAdjacency
= 21,
140 SpvExecutionModeTriangles
= 22,
141 SpvExecutionModeInputTrianglesAdjacency
= 23,
142 SpvExecutionModeQuads
= 24,
143 SpvExecutionModeIsolines
= 25,
144 SpvExecutionModeOutputVertices
= 26,
145 SpvExecutionModeOutputPoints
= 27,
146 SpvExecutionModeOutputLineStrip
= 28,
147 SpvExecutionModeOutputTriangleStrip
= 29,
148 SpvExecutionModeVecTypeHint
= 30,
149 SpvExecutionModeContractionOff
= 31,
150 SpvExecutionModeInitializer
= 33,
151 SpvExecutionModeFinalizer
= 34,
152 SpvExecutionModeSubgroupSize
= 35,
153 SpvExecutionModeSubgroupsPerWorkgroup
= 36,
154 SpvExecutionModeSubgroupsPerWorkgroupId
= 37,
155 SpvExecutionModeLocalSizeId
= 38,
156 SpvExecutionModeLocalSizeHintId
= 39,
157 SpvExecutionModePostDepthCoverage
= 4446,
158 SpvExecutionModeDenormPreserve
= 4459,
159 SpvExecutionModeDenormFlushToZero
= 4460,
160 SpvExecutionModeSignedZeroInfNanPreserve
= 4461,
161 SpvExecutionModeRoundingModeRTE
= 4462,
162 SpvExecutionModeRoundingModeRTZ
= 4463,
163 SpvExecutionModeStencilRefReplacingEXT
= 5027,
164 SpvExecutionModeOutputLinesNV
= 5269,
165 SpvExecutionModeOutputPrimitivesNV
= 5270,
166 SpvExecutionModeDerivativeGroupQuadsNV
= 5289,
167 SpvExecutionModeDerivativeGroupLinearNV
= 5290,
168 SpvExecutionModeOutputTrianglesNV
= 5298,
169 SpvExecutionModePixelInterlockOrderedEXT
= 5366,
170 SpvExecutionModePixelInterlockUnorderedEXT
= 5367,
171 SpvExecutionModeSampleInterlockOrderedEXT
= 5368,
172 SpvExecutionModeSampleInterlockUnorderedEXT
= 5369,
173 SpvExecutionModeShadingRateInterlockOrderedEXT
= 5370,
174 SpvExecutionModeShadingRateInterlockUnorderedEXT
= 5371,
175 SpvExecutionModeMaxWorkgroupSizeINTEL
= 5893,
176 SpvExecutionModeMaxWorkDimINTEL
= 5894,
177 SpvExecutionModeNoGlobalOffsetINTEL
= 5895,
178 SpvExecutionModeNumSIMDWorkitemsINTEL
= 5896,
179 SpvExecutionModeMax
= 0x7fffffff,
182 typedef enum SpvStorageClass_
{
183 SpvStorageClassUniformConstant
= 0,
184 SpvStorageClassInput
= 1,
185 SpvStorageClassUniform
= 2,
186 SpvStorageClassOutput
= 3,
187 SpvStorageClassWorkgroup
= 4,
188 SpvStorageClassCrossWorkgroup
= 5,
189 SpvStorageClassPrivate
= 6,
190 SpvStorageClassFunction
= 7,
191 SpvStorageClassGeneric
= 8,
192 SpvStorageClassPushConstant
= 9,
193 SpvStorageClassAtomicCounter
= 10,
194 SpvStorageClassImage
= 11,
195 SpvStorageClassStorageBuffer
= 12,
196 SpvStorageClassCallableDataKHR
= 5328,
197 SpvStorageClassCallableDataNV
= 5328,
198 SpvStorageClassIncomingCallableDataKHR
= 5329,
199 SpvStorageClassIncomingCallableDataNV
= 5329,
200 SpvStorageClassRayPayloadKHR
= 5338,
201 SpvStorageClassRayPayloadNV
= 5338,
202 SpvStorageClassHitAttributeKHR
= 5339,
203 SpvStorageClassHitAttributeNV
= 5339,
204 SpvStorageClassIncomingRayPayloadKHR
= 5342,
205 SpvStorageClassIncomingRayPayloadNV
= 5342,
206 SpvStorageClassShaderRecordBufferKHR
= 5343,
207 SpvStorageClassShaderRecordBufferNV
= 5343,
208 SpvStorageClassPhysicalStorageBuffer
= 5349,
209 SpvStorageClassPhysicalStorageBufferEXT
= 5349,
210 SpvStorageClassCodeSectionINTEL
= 5605,
211 SpvStorageClassMax
= 0x7fffffff,
214 typedef enum SpvDim_
{
221 SpvDimSubpassData
= 6,
222 SpvDimMax
= 0x7fffffff,
225 typedef enum SpvSamplerAddressingMode_
{
226 SpvSamplerAddressingModeNone
= 0,
227 SpvSamplerAddressingModeClampToEdge
= 1,
228 SpvSamplerAddressingModeClamp
= 2,
229 SpvSamplerAddressingModeRepeat
= 3,
230 SpvSamplerAddressingModeRepeatMirrored
= 4,
231 SpvSamplerAddressingModeMax
= 0x7fffffff,
232 } SpvSamplerAddressingMode
;
234 typedef enum SpvSamplerFilterMode_
{
235 SpvSamplerFilterModeNearest
= 0,
236 SpvSamplerFilterModeLinear
= 1,
237 SpvSamplerFilterModeMax
= 0x7fffffff,
238 } SpvSamplerFilterMode
;
240 typedef enum SpvImageFormat_
{
241 SpvImageFormatUnknown
= 0,
242 SpvImageFormatRgba32f
= 1,
243 SpvImageFormatRgba16f
= 2,
244 SpvImageFormatR32f
= 3,
245 SpvImageFormatRgba8
= 4,
246 SpvImageFormatRgba8Snorm
= 5,
247 SpvImageFormatRg32f
= 6,
248 SpvImageFormatRg16f
= 7,
249 SpvImageFormatR11fG11fB10f
= 8,
250 SpvImageFormatR16f
= 9,
251 SpvImageFormatRgba16
= 10,
252 SpvImageFormatRgb10A2
= 11,
253 SpvImageFormatRg16
= 12,
254 SpvImageFormatRg8
= 13,
255 SpvImageFormatR16
= 14,
256 SpvImageFormatR8
= 15,
257 SpvImageFormatRgba16Snorm
= 16,
258 SpvImageFormatRg16Snorm
= 17,
259 SpvImageFormatRg8Snorm
= 18,
260 SpvImageFormatR16Snorm
= 19,
261 SpvImageFormatR8Snorm
= 20,
262 SpvImageFormatRgba32i
= 21,
263 SpvImageFormatRgba16i
= 22,
264 SpvImageFormatRgba8i
= 23,
265 SpvImageFormatR32i
= 24,
266 SpvImageFormatRg32i
= 25,
267 SpvImageFormatRg16i
= 26,
268 SpvImageFormatRg8i
= 27,
269 SpvImageFormatR16i
= 28,
270 SpvImageFormatR8i
= 29,
271 SpvImageFormatRgba32ui
= 30,
272 SpvImageFormatRgba16ui
= 31,
273 SpvImageFormatRgba8ui
= 32,
274 SpvImageFormatR32ui
= 33,
275 SpvImageFormatRgb10a2ui
= 34,
276 SpvImageFormatRg32ui
= 35,
277 SpvImageFormatRg16ui
= 36,
278 SpvImageFormatRg8ui
= 37,
279 SpvImageFormatR16ui
= 38,
280 SpvImageFormatR8ui
= 39,
281 SpvImageFormatMax
= 0x7fffffff,
284 typedef enum SpvImageChannelOrder_
{
285 SpvImageChannelOrderR
= 0,
286 SpvImageChannelOrderA
= 1,
287 SpvImageChannelOrderRG
= 2,
288 SpvImageChannelOrderRA
= 3,
289 SpvImageChannelOrderRGB
= 4,
290 SpvImageChannelOrderRGBA
= 5,
291 SpvImageChannelOrderBGRA
= 6,
292 SpvImageChannelOrderARGB
= 7,
293 SpvImageChannelOrderIntensity
= 8,
294 SpvImageChannelOrderLuminance
= 9,
295 SpvImageChannelOrderRx
= 10,
296 SpvImageChannelOrderRGx
= 11,
297 SpvImageChannelOrderRGBx
= 12,
298 SpvImageChannelOrderDepth
= 13,
299 SpvImageChannelOrderDepthStencil
= 14,
300 SpvImageChannelOrdersRGB
= 15,
301 SpvImageChannelOrdersRGBx
= 16,
302 SpvImageChannelOrdersRGBA
= 17,
303 SpvImageChannelOrdersBGRA
= 18,
304 SpvImageChannelOrderABGR
= 19,
305 SpvImageChannelOrderMax
= 0x7fffffff,
306 } SpvImageChannelOrder
;
308 typedef enum SpvImageChannelDataType_
{
309 SpvImageChannelDataTypeSnormInt8
= 0,
310 SpvImageChannelDataTypeSnormInt16
= 1,
311 SpvImageChannelDataTypeUnormInt8
= 2,
312 SpvImageChannelDataTypeUnormInt16
= 3,
313 SpvImageChannelDataTypeUnormShort565
= 4,
314 SpvImageChannelDataTypeUnormShort555
= 5,
315 SpvImageChannelDataTypeUnormInt101010
= 6,
316 SpvImageChannelDataTypeSignedInt8
= 7,
317 SpvImageChannelDataTypeSignedInt16
= 8,
318 SpvImageChannelDataTypeSignedInt32
= 9,
319 SpvImageChannelDataTypeUnsignedInt8
= 10,
320 SpvImageChannelDataTypeUnsignedInt16
= 11,
321 SpvImageChannelDataTypeUnsignedInt32
= 12,
322 SpvImageChannelDataTypeHalfFloat
= 13,
323 SpvImageChannelDataTypeFloat
= 14,
324 SpvImageChannelDataTypeUnormInt24
= 15,
325 SpvImageChannelDataTypeUnormInt101010_2
= 16,
326 SpvImageChannelDataTypeMax
= 0x7fffffff,
327 } SpvImageChannelDataType
;
329 typedef enum SpvImageOperandsShift_
{
330 SpvImageOperandsBiasShift
= 0,
331 SpvImageOperandsLodShift
= 1,
332 SpvImageOperandsGradShift
= 2,
333 SpvImageOperandsConstOffsetShift
= 3,
334 SpvImageOperandsOffsetShift
= 4,
335 SpvImageOperandsConstOffsetsShift
= 5,
336 SpvImageOperandsSampleShift
= 6,
337 SpvImageOperandsMinLodShift
= 7,
338 SpvImageOperandsMakeTexelAvailableShift
= 8,
339 SpvImageOperandsMakeTexelAvailableKHRShift
= 8,
340 SpvImageOperandsMakeTexelVisibleShift
= 9,
341 SpvImageOperandsMakeTexelVisibleKHRShift
= 9,
342 SpvImageOperandsNonPrivateTexelShift
= 10,
343 SpvImageOperandsNonPrivateTexelKHRShift
= 10,
344 SpvImageOperandsVolatileTexelShift
= 11,
345 SpvImageOperandsVolatileTexelKHRShift
= 11,
346 SpvImageOperandsSignExtendShift
= 12,
347 SpvImageOperandsZeroExtendShift
= 13,
348 SpvImageOperandsMax
= 0x7fffffff,
349 } SpvImageOperandsShift
;
351 typedef enum SpvImageOperandsMask_
{
352 SpvImageOperandsMaskNone
= 0,
353 SpvImageOperandsBiasMask
= 0x00000001,
354 SpvImageOperandsLodMask
= 0x00000002,
355 SpvImageOperandsGradMask
= 0x00000004,
356 SpvImageOperandsConstOffsetMask
= 0x00000008,
357 SpvImageOperandsOffsetMask
= 0x00000010,
358 SpvImageOperandsConstOffsetsMask
= 0x00000020,
359 SpvImageOperandsSampleMask
= 0x00000040,
360 SpvImageOperandsMinLodMask
= 0x00000080,
361 SpvImageOperandsMakeTexelAvailableMask
= 0x00000100,
362 SpvImageOperandsMakeTexelAvailableKHRMask
= 0x00000100,
363 SpvImageOperandsMakeTexelVisibleMask
= 0x00000200,
364 SpvImageOperandsMakeTexelVisibleKHRMask
= 0x00000200,
365 SpvImageOperandsNonPrivateTexelMask
= 0x00000400,
366 SpvImageOperandsNonPrivateTexelKHRMask
= 0x00000400,
367 SpvImageOperandsVolatileTexelMask
= 0x00000800,
368 SpvImageOperandsVolatileTexelKHRMask
= 0x00000800,
369 SpvImageOperandsSignExtendMask
= 0x00001000,
370 SpvImageOperandsZeroExtendMask
= 0x00002000,
371 } SpvImageOperandsMask
;
373 typedef enum SpvFPFastMathModeShift_
{
374 SpvFPFastMathModeNotNaNShift
= 0,
375 SpvFPFastMathModeNotInfShift
= 1,
376 SpvFPFastMathModeNSZShift
= 2,
377 SpvFPFastMathModeAllowRecipShift
= 3,
378 SpvFPFastMathModeFastShift
= 4,
379 SpvFPFastMathModeMax
= 0x7fffffff,
380 } SpvFPFastMathModeShift
;
382 typedef enum SpvFPFastMathModeMask_
{
383 SpvFPFastMathModeMaskNone
= 0,
384 SpvFPFastMathModeNotNaNMask
= 0x00000001,
385 SpvFPFastMathModeNotInfMask
= 0x00000002,
386 SpvFPFastMathModeNSZMask
= 0x00000004,
387 SpvFPFastMathModeAllowRecipMask
= 0x00000008,
388 SpvFPFastMathModeFastMask
= 0x00000010,
389 } SpvFPFastMathModeMask
;
391 typedef enum SpvFPRoundingMode_
{
392 SpvFPRoundingModeRTE
= 0,
393 SpvFPRoundingModeRTZ
= 1,
394 SpvFPRoundingModeRTP
= 2,
395 SpvFPRoundingModeRTN
= 3,
396 SpvFPRoundingModeMax
= 0x7fffffff,
399 typedef enum SpvLinkageType_
{
400 SpvLinkageTypeExport
= 0,
401 SpvLinkageTypeImport
= 1,
402 SpvLinkageTypeMax
= 0x7fffffff,
405 typedef enum SpvAccessQualifier_
{
406 SpvAccessQualifierReadOnly
= 0,
407 SpvAccessQualifierWriteOnly
= 1,
408 SpvAccessQualifierReadWrite
= 2,
409 SpvAccessQualifierMax
= 0x7fffffff,
410 } SpvAccessQualifier
;
412 typedef enum SpvFunctionParameterAttribute_
{
413 SpvFunctionParameterAttributeZext
= 0,
414 SpvFunctionParameterAttributeSext
= 1,
415 SpvFunctionParameterAttributeByVal
= 2,
416 SpvFunctionParameterAttributeSret
= 3,
417 SpvFunctionParameterAttributeNoAlias
= 4,
418 SpvFunctionParameterAttributeNoCapture
= 5,
419 SpvFunctionParameterAttributeNoWrite
= 6,
420 SpvFunctionParameterAttributeNoReadWrite
= 7,
421 SpvFunctionParameterAttributeMax
= 0x7fffffff,
422 } SpvFunctionParameterAttribute
;
424 typedef enum SpvDecoration_
{
425 SpvDecorationRelaxedPrecision
= 0,
426 SpvDecorationSpecId
= 1,
427 SpvDecorationBlock
= 2,
428 SpvDecorationBufferBlock
= 3,
429 SpvDecorationRowMajor
= 4,
430 SpvDecorationColMajor
= 5,
431 SpvDecorationArrayStride
= 6,
432 SpvDecorationMatrixStride
= 7,
433 SpvDecorationGLSLShared
= 8,
434 SpvDecorationGLSLPacked
= 9,
435 SpvDecorationCPacked
= 10,
436 SpvDecorationBuiltIn
= 11,
437 SpvDecorationNoPerspective
= 13,
438 SpvDecorationFlat
= 14,
439 SpvDecorationPatch
= 15,
440 SpvDecorationCentroid
= 16,
441 SpvDecorationSample
= 17,
442 SpvDecorationInvariant
= 18,
443 SpvDecorationRestrict
= 19,
444 SpvDecorationAliased
= 20,
445 SpvDecorationVolatile
= 21,
446 SpvDecorationConstant
= 22,
447 SpvDecorationCoherent
= 23,
448 SpvDecorationNonWritable
= 24,
449 SpvDecorationNonReadable
= 25,
450 SpvDecorationUniform
= 26,
451 SpvDecorationUniformId
= 27,
452 SpvDecorationSaturatedConversion
= 28,
453 SpvDecorationStream
= 29,
454 SpvDecorationLocation
= 30,
455 SpvDecorationComponent
= 31,
456 SpvDecorationIndex
= 32,
457 SpvDecorationBinding
= 33,
458 SpvDecorationDescriptorSet
= 34,
459 SpvDecorationOffset
= 35,
460 SpvDecorationXfbBuffer
= 36,
461 SpvDecorationXfbStride
= 37,
462 SpvDecorationFuncParamAttr
= 38,
463 SpvDecorationFPRoundingMode
= 39,
464 SpvDecorationFPFastMathMode
= 40,
465 SpvDecorationLinkageAttributes
= 41,
466 SpvDecorationNoContraction
= 42,
467 SpvDecorationInputAttachmentIndex
= 43,
468 SpvDecorationAlignment
= 44,
469 SpvDecorationMaxByteOffset
= 45,
470 SpvDecorationAlignmentId
= 46,
471 SpvDecorationMaxByteOffsetId
= 47,
472 SpvDecorationNoSignedWrap
= 4469,
473 SpvDecorationNoUnsignedWrap
= 4470,
474 SpvDecorationExplicitInterpAMD
= 4999,
475 SpvDecorationOverrideCoverageNV
= 5248,
476 SpvDecorationPassthroughNV
= 5250,
477 SpvDecorationViewportRelativeNV
= 5252,
478 SpvDecorationSecondaryViewportRelativeNV
= 5256,
479 SpvDecorationPerPrimitiveNV
= 5271,
480 SpvDecorationPerViewNV
= 5272,
481 SpvDecorationPerTaskNV
= 5273,
482 SpvDecorationPerVertexNV
= 5285,
483 SpvDecorationNonUniform
= 5300,
484 SpvDecorationNonUniformEXT
= 5300,
485 SpvDecorationRestrictPointer
= 5355,
486 SpvDecorationRestrictPointerEXT
= 5355,
487 SpvDecorationAliasedPointer
= 5356,
488 SpvDecorationAliasedPointerEXT
= 5356,
489 SpvDecorationReferencedIndirectlyINTEL
= 5602,
490 SpvDecorationCounterBuffer
= 5634,
491 SpvDecorationHlslCounterBufferGOOGLE
= 5634,
492 SpvDecorationHlslSemanticGOOGLE
= 5635,
493 SpvDecorationUserSemantic
= 5635,
494 SpvDecorationUserTypeGOOGLE
= 5636,
495 SpvDecorationRegisterINTEL
= 5825,
496 SpvDecorationMemoryINTEL
= 5826,
497 SpvDecorationNumbanksINTEL
= 5827,
498 SpvDecorationBankwidthINTEL
= 5828,
499 SpvDecorationMaxPrivateCopiesINTEL
= 5829,
500 SpvDecorationSinglepumpINTEL
= 5830,
501 SpvDecorationDoublepumpINTEL
= 5831,
502 SpvDecorationMaxReplicatesINTEL
= 5832,
503 SpvDecorationSimpleDualPortINTEL
= 5833,
504 SpvDecorationMergeINTEL
= 5834,
505 SpvDecorationBankBitsINTEL
= 5835,
506 SpvDecorationForcePow2DepthINTEL
= 5836,
507 SpvDecorationMax
= 0x7fffffff,
510 typedef enum SpvBuiltIn_
{
511 SpvBuiltInPosition
= 0,
512 SpvBuiltInPointSize
= 1,
513 SpvBuiltInClipDistance
= 3,
514 SpvBuiltInCullDistance
= 4,
515 SpvBuiltInVertexId
= 5,
516 SpvBuiltInInstanceId
= 6,
517 SpvBuiltInPrimitiveId
= 7,
518 SpvBuiltInInvocationId
= 8,
520 SpvBuiltInViewportIndex
= 10,
521 SpvBuiltInTessLevelOuter
= 11,
522 SpvBuiltInTessLevelInner
= 12,
523 SpvBuiltInTessCoord
= 13,
524 SpvBuiltInPatchVertices
= 14,
525 SpvBuiltInFragCoord
= 15,
526 SpvBuiltInPointCoord
= 16,
527 SpvBuiltInFrontFacing
= 17,
528 SpvBuiltInSampleId
= 18,
529 SpvBuiltInSamplePosition
= 19,
530 SpvBuiltInSampleMask
= 20,
531 SpvBuiltInFragDepth
= 22,
532 SpvBuiltInHelperInvocation
= 23,
533 SpvBuiltInNumWorkgroups
= 24,
534 SpvBuiltInWorkgroupSize
= 25,
535 SpvBuiltInWorkgroupId
= 26,
536 SpvBuiltInLocalInvocationId
= 27,
537 SpvBuiltInGlobalInvocationId
= 28,
538 SpvBuiltInLocalInvocationIndex
= 29,
539 SpvBuiltInWorkDim
= 30,
540 SpvBuiltInGlobalSize
= 31,
541 SpvBuiltInEnqueuedWorkgroupSize
= 32,
542 SpvBuiltInGlobalOffset
= 33,
543 SpvBuiltInGlobalLinearId
= 34,
544 SpvBuiltInSubgroupSize
= 36,
545 SpvBuiltInSubgroupMaxSize
= 37,
546 SpvBuiltInNumSubgroups
= 38,
547 SpvBuiltInNumEnqueuedSubgroups
= 39,
548 SpvBuiltInSubgroupId
= 40,
549 SpvBuiltInSubgroupLocalInvocationId
= 41,
550 SpvBuiltInVertexIndex
= 42,
551 SpvBuiltInInstanceIndex
= 43,
552 SpvBuiltInSubgroupEqMask
= 4416,
553 SpvBuiltInSubgroupEqMaskKHR
= 4416,
554 SpvBuiltInSubgroupGeMask
= 4417,
555 SpvBuiltInSubgroupGeMaskKHR
= 4417,
556 SpvBuiltInSubgroupGtMask
= 4418,
557 SpvBuiltInSubgroupGtMaskKHR
= 4418,
558 SpvBuiltInSubgroupLeMask
= 4419,
559 SpvBuiltInSubgroupLeMaskKHR
= 4419,
560 SpvBuiltInSubgroupLtMask
= 4420,
561 SpvBuiltInSubgroupLtMaskKHR
= 4420,
562 SpvBuiltInBaseVertex
= 4424,
563 SpvBuiltInBaseInstance
= 4425,
564 SpvBuiltInDrawIndex
= 4426,
565 SpvBuiltInDeviceIndex
= 4438,
566 SpvBuiltInViewIndex
= 4440,
567 SpvBuiltInBaryCoordNoPerspAMD
= 4992,
568 SpvBuiltInBaryCoordNoPerspCentroidAMD
= 4993,
569 SpvBuiltInBaryCoordNoPerspSampleAMD
= 4994,
570 SpvBuiltInBaryCoordSmoothAMD
= 4995,
571 SpvBuiltInBaryCoordSmoothCentroidAMD
= 4996,
572 SpvBuiltInBaryCoordSmoothSampleAMD
= 4997,
573 SpvBuiltInBaryCoordPullModelAMD
= 4998,
574 SpvBuiltInFragStencilRefEXT
= 5014,
575 SpvBuiltInViewportMaskNV
= 5253,
576 SpvBuiltInSecondaryPositionNV
= 5257,
577 SpvBuiltInSecondaryViewportMaskNV
= 5258,
578 SpvBuiltInPositionPerViewNV
= 5261,
579 SpvBuiltInViewportMaskPerViewNV
= 5262,
580 SpvBuiltInFullyCoveredEXT
= 5264,
581 SpvBuiltInTaskCountNV
= 5274,
582 SpvBuiltInPrimitiveCountNV
= 5275,
583 SpvBuiltInPrimitiveIndicesNV
= 5276,
584 SpvBuiltInClipDistancePerViewNV
= 5277,
585 SpvBuiltInCullDistancePerViewNV
= 5278,
586 SpvBuiltInLayerPerViewNV
= 5279,
587 SpvBuiltInMeshViewCountNV
= 5280,
588 SpvBuiltInMeshViewIndicesNV
= 5281,
589 SpvBuiltInBaryCoordNV
= 5286,
590 SpvBuiltInBaryCoordNoPerspNV
= 5287,
591 SpvBuiltInFragSizeEXT
= 5292,
592 SpvBuiltInFragmentSizeNV
= 5292,
593 SpvBuiltInFragInvocationCountEXT
= 5293,
594 SpvBuiltInInvocationsPerPixelNV
= 5293,
595 SpvBuiltInLaunchIdKHR
= 5319,
596 SpvBuiltInLaunchIdNV
= 5319,
597 SpvBuiltInLaunchSizeKHR
= 5320,
598 SpvBuiltInLaunchSizeNV
= 5320,
599 SpvBuiltInWorldRayOriginKHR
= 5321,
600 SpvBuiltInWorldRayOriginNV
= 5321,
601 SpvBuiltInWorldRayDirectionKHR
= 5322,
602 SpvBuiltInWorldRayDirectionNV
= 5322,
603 SpvBuiltInObjectRayOriginKHR
= 5323,
604 SpvBuiltInObjectRayOriginNV
= 5323,
605 SpvBuiltInObjectRayDirectionKHR
= 5324,
606 SpvBuiltInObjectRayDirectionNV
= 5324,
607 SpvBuiltInRayTminKHR
= 5325,
608 SpvBuiltInRayTminNV
= 5325,
609 SpvBuiltInRayTmaxKHR
= 5326,
610 SpvBuiltInRayTmaxNV
= 5326,
611 SpvBuiltInInstanceCustomIndexKHR
= 5327,
612 SpvBuiltInInstanceCustomIndexNV
= 5327,
613 SpvBuiltInObjectToWorldKHR
= 5330,
614 SpvBuiltInObjectToWorldNV
= 5330,
615 SpvBuiltInWorldToObjectKHR
= 5331,
616 SpvBuiltInWorldToObjectNV
= 5331,
617 SpvBuiltInHitTKHR
= 5332,
618 SpvBuiltInHitTNV
= 5332,
619 SpvBuiltInHitKindKHR
= 5333,
620 SpvBuiltInHitKindNV
= 5333,
621 SpvBuiltInIncomingRayFlagsKHR
= 5351,
622 SpvBuiltInIncomingRayFlagsNV
= 5351,
623 SpvBuiltInRayGeometryIndexKHR
= 5352,
624 SpvBuiltInWarpsPerSMNV
= 5374,
625 SpvBuiltInSMCountNV
= 5375,
626 SpvBuiltInWarpIDNV
= 5376,
627 SpvBuiltInSMIDNV
= 5377,
628 SpvBuiltInMax
= 0x7fffffff,
631 typedef enum SpvSelectionControlShift_
{
632 SpvSelectionControlFlattenShift
= 0,
633 SpvSelectionControlDontFlattenShift
= 1,
634 SpvSelectionControlMax
= 0x7fffffff,
635 } SpvSelectionControlShift
;
637 typedef enum SpvSelectionControlMask_
{
638 SpvSelectionControlMaskNone
= 0,
639 SpvSelectionControlFlattenMask
= 0x00000001,
640 SpvSelectionControlDontFlattenMask
= 0x00000002,
641 } SpvSelectionControlMask
;
643 typedef enum SpvLoopControlShift_
{
644 SpvLoopControlUnrollShift
= 0,
645 SpvLoopControlDontUnrollShift
= 1,
646 SpvLoopControlDependencyInfiniteShift
= 2,
647 SpvLoopControlDependencyLengthShift
= 3,
648 SpvLoopControlMinIterationsShift
= 4,
649 SpvLoopControlMaxIterationsShift
= 5,
650 SpvLoopControlIterationMultipleShift
= 6,
651 SpvLoopControlPeelCountShift
= 7,
652 SpvLoopControlPartialCountShift
= 8,
653 SpvLoopControlInitiationIntervalINTELShift
= 16,
654 SpvLoopControlMaxConcurrencyINTELShift
= 17,
655 SpvLoopControlDependencyArrayINTELShift
= 18,
656 SpvLoopControlPipelineEnableINTELShift
= 19,
657 SpvLoopControlLoopCoalesceINTELShift
= 20,
658 SpvLoopControlMaxInterleavingINTELShift
= 21,
659 SpvLoopControlSpeculatedIterationsINTELShift
= 22,
660 SpvLoopControlMax
= 0x7fffffff,
661 } SpvLoopControlShift
;
663 typedef enum SpvLoopControlMask_
{
664 SpvLoopControlMaskNone
= 0,
665 SpvLoopControlUnrollMask
= 0x00000001,
666 SpvLoopControlDontUnrollMask
= 0x00000002,
667 SpvLoopControlDependencyInfiniteMask
= 0x00000004,
668 SpvLoopControlDependencyLengthMask
= 0x00000008,
669 SpvLoopControlMinIterationsMask
= 0x00000010,
670 SpvLoopControlMaxIterationsMask
= 0x00000020,
671 SpvLoopControlIterationMultipleMask
= 0x00000040,
672 SpvLoopControlPeelCountMask
= 0x00000080,
673 SpvLoopControlPartialCountMask
= 0x00000100,
674 SpvLoopControlInitiationIntervalINTELMask
= 0x00010000,
675 SpvLoopControlMaxConcurrencyINTELMask
= 0x00020000,
676 SpvLoopControlDependencyArrayINTELMask
= 0x00040000,
677 SpvLoopControlPipelineEnableINTELMask
= 0x00080000,
678 SpvLoopControlLoopCoalesceINTELMask
= 0x00100000,
679 SpvLoopControlMaxInterleavingINTELMask
= 0x00200000,
680 SpvLoopControlSpeculatedIterationsINTELMask
= 0x00400000,
681 } SpvLoopControlMask
;
683 typedef enum SpvFunctionControlShift_
{
684 SpvFunctionControlInlineShift
= 0,
685 SpvFunctionControlDontInlineShift
= 1,
686 SpvFunctionControlPureShift
= 2,
687 SpvFunctionControlConstShift
= 3,
688 SpvFunctionControlMax
= 0x7fffffff,
689 } SpvFunctionControlShift
;
691 typedef enum SpvFunctionControlMask_
{
692 SpvFunctionControlMaskNone
= 0,
693 SpvFunctionControlInlineMask
= 0x00000001,
694 SpvFunctionControlDontInlineMask
= 0x00000002,
695 SpvFunctionControlPureMask
= 0x00000004,
696 SpvFunctionControlConstMask
= 0x00000008,
697 } SpvFunctionControlMask
;
699 typedef enum SpvMemorySemanticsShift_
{
700 SpvMemorySemanticsAcquireShift
= 1,
701 SpvMemorySemanticsReleaseShift
= 2,
702 SpvMemorySemanticsAcquireReleaseShift
= 3,
703 SpvMemorySemanticsSequentiallyConsistentShift
= 4,
704 SpvMemorySemanticsUniformMemoryShift
= 6,
705 SpvMemorySemanticsSubgroupMemoryShift
= 7,
706 SpvMemorySemanticsWorkgroupMemoryShift
= 8,
707 SpvMemorySemanticsCrossWorkgroupMemoryShift
= 9,
708 SpvMemorySemanticsAtomicCounterMemoryShift
= 10,
709 SpvMemorySemanticsImageMemoryShift
= 11,
710 SpvMemorySemanticsOutputMemoryShift
= 12,
711 SpvMemorySemanticsOutputMemoryKHRShift
= 12,
712 SpvMemorySemanticsMakeAvailableShift
= 13,
713 SpvMemorySemanticsMakeAvailableKHRShift
= 13,
714 SpvMemorySemanticsMakeVisibleShift
= 14,
715 SpvMemorySemanticsMakeVisibleKHRShift
= 14,
716 SpvMemorySemanticsVolatileShift
= 15,
717 SpvMemorySemanticsMax
= 0x7fffffff,
718 } SpvMemorySemanticsShift
;
720 typedef enum SpvMemorySemanticsMask_
{
721 SpvMemorySemanticsMaskNone
= 0,
722 SpvMemorySemanticsAcquireMask
= 0x00000002,
723 SpvMemorySemanticsReleaseMask
= 0x00000004,
724 SpvMemorySemanticsAcquireReleaseMask
= 0x00000008,
725 SpvMemorySemanticsSequentiallyConsistentMask
= 0x00000010,
726 SpvMemorySemanticsUniformMemoryMask
= 0x00000040,
727 SpvMemorySemanticsSubgroupMemoryMask
= 0x00000080,
728 SpvMemorySemanticsWorkgroupMemoryMask
= 0x00000100,
729 SpvMemorySemanticsCrossWorkgroupMemoryMask
= 0x00000200,
730 SpvMemorySemanticsAtomicCounterMemoryMask
= 0x00000400,
731 SpvMemorySemanticsImageMemoryMask
= 0x00000800,
732 SpvMemorySemanticsOutputMemoryMask
= 0x00001000,
733 SpvMemorySemanticsOutputMemoryKHRMask
= 0x00001000,
734 SpvMemorySemanticsMakeAvailableMask
= 0x00002000,
735 SpvMemorySemanticsMakeAvailableKHRMask
= 0x00002000,
736 SpvMemorySemanticsMakeVisibleMask
= 0x00004000,
737 SpvMemorySemanticsMakeVisibleKHRMask
= 0x00004000,
738 SpvMemorySemanticsVolatileMask
= 0x00008000,
739 } SpvMemorySemanticsMask
;
741 typedef enum SpvMemoryAccessShift_
{
742 SpvMemoryAccessVolatileShift
= 0,
743 SpvMemoryAccessAlignedShift
= 1,
744 SpvMemoryAccessNontemporalShift
= 2,
745 SpvMemoryAccessMakePointerAvailableShift
= 3,
746 SpvMemoryAccessMakePointerAvailableKHRShift
= 3,
747 SpvMemoryAccessMakePointerVisibleShift
= 4,
748 SpvMemoryAccessMakePointerVisibleKHRShift
= 4,
749 SpvMemoryAccessNonPrivatePointerShift
= 5,
750 SpvMemoryAccessNonPrivatePointerKHRShift
= 5,
751 SpvMemoryAccessMax
= 0x7fffffff,
752 } SpvMemoryAccessShift
;
754 typedef enum SpvMemoryAccessMask_
{
755 SpvMemoryAccessMaskNone
= 0,
756 SpvMemoryAccessVolatileMask
= 0x00000001,
757 SpvMemoryAccessAlignedMask
= 0x00000002,
758 SpvMemoryAccessNontemporalMask
= 0x00000004,
759 SpvMemoryAccessMakePointerAvailableMask
= 0x00000008,
760 SpvMemoryAccessMakePointerAvailableKHRMask
= 0x00000008,
761 SpvMemoryAccessMakePointerVisibleMask
= 0x00000010,
762 SpvMemoryAccessMakePointerVisibleKHRMask
= 0x00000010,
763 SpvMemoryAccessNonPrivatePointerMask
= 0x00000020,
764 SpvMemoryAccessNonPrivatePointerKHRMask
= 0x00000020,
765 } SpvMemoryAccessMask
;
767 typedef enum SpvScope_
{
768 SpvScopeCrossDevice
= 0,
770 SpvScopeWorkgroup
= 2,
771 SpvScopeSubgroup
= 3,
772 SpvScopeInvocation
= 4,
773 SpvScopeQueueFamily
= 5,
774 SpvScopeQueueFamilyKHR
= 5,
775 SpvScopeShaderCallKHR
= 6,
776 SpvScopeMax
= 0x7fffffff,
779 typedef enum SpvGroupOperation_
{
780 SpvGroupOperationReduce
= 0,
781 SpvGroupOperationInclusiveScan
= 1,
782 SpvGroupOperationExclusiveScan
= 2,
783 SpvGroupOperationClusteredReduce
= 3,
784 SpvGroupOperationPartitionedReduceNV
= 6,
785 SpvGroupOperationPartitionedInclusiveScanNV
= 7,
786 SpvGroupOperationPartitionedExclusiveScanNV
= 8,
787 SpvGroupOperationMax
= 0x7fffffff,
790 typedef enum SpvKernelEnqueueFlags_
{
791 SpvKernelEnqueueFlagsNoWait
= 0,
792 SpvKernelEnqueueFlagsWaitKernel
= 1,
793 SpvKernelEnqueueFlagsWaitWorkGroup
= 2,
794 SpvKernelEnqueueFlagsMax
= 0x7fffffff,
795 } SpvKernelEnqueueFlags
;
797 typedef enum SpvKernelProfilingInfoShift_
{
798 SpvKernelProfilingInfoCmdExecTimeShift
= 0,
799 SpvKernelProfilingInfoMax
= 0x7fffffff,
800 } SpvKernelProfilingInfoShift
;
802 typedef enum SpvKernelProfilingInfoMask_
{
803 SpvKernelProfilingInfoMaskNone
= 0,
804 SpvKernelProfilingInfoCmdExecTimeMask
= 0x00000001,
805 } SpvKernelProfilingInfoMask
;
807 typedef enum SpvCapability_
{
808 SpvCapabilityMatrix
= 0,
809 SpvCapabilityShader
= 1,
810 SpvCapabilityGeometry
= 2,
811 SpvCapabilityTessellation
= 3,
812 SpvCapabilityAddresses
= 4,
813 SpvCapabilityLinkage
= 5,
814 SpvCapabilityKernel
= 6,
815 SpvCapabilityVector16
= 7,
816 SpvCapabilityFloat16Buffer
= 8,
817 SpvCapabilityFloat16
= 9,
818 SpvCapabilityFloat64
= 10,
819 SpvCapabilityInt64
= 11,
820 SpvCapabilityInt64Atomics
= 12,
821 SpvCapabilityImageBasic
= 13,
822 SpvCapabilityImageReadWrite
= 14,
823 SpvCapabilityImageMipmap
= 15,
824 SpvCapabilityPipes
= 17,
825 SpvCapabilityGroups
= 18,
826 SpvCapabilityDeviceEnqueue
= 19,
827 SpvCapabilityLiteralSampler
= 20,
828 SpvCapabilityAtomicStorage
= 21,
829 SpvCapabilityInt16
= 22,
830 SpvCapabilityTessellationPointSize
= 23,
831 SpvCapabilityGeometryPointSize
= 24,
832 SpvCapabilityImageGatherExtended
= 25,
833 SpvCapabilityStorageImageMultisample
= 27,
834 SpvCapabilityUniformBufferArrayDynamicIndexing
= 28,
835 SpvCapabilitySampledImageArrayDynamicIndexing
= 29,
836 SpvCapabilityStorageBufferArrayDynamicIndexing
= 30,
837 SpvCapabilityStorageImageArrayDynamicIndexing
= 31,
838 SpvCapabilityClipDistance
= 32,
839 SpvCapabilityCullDistance
= 33,
840 SpvCapabilityImageCubeArray
= 34,
841 SpvCapabilitySampleRateShading
= 35,
842 SpvCapabilityImageRect
= 36,
843 SpvCapabilitySampledRect
= 37,
844 SpvCapabilityGenericPointer
= 38,
845 SpvCapabilityInt8
= 39,
846 SpvCapabilityInputAttachment
= 40,
847 SpvCapabilitySparseResidency
= 41,
848 SpvCapabilityMinLod
= 42,
849 SpvCapabilitySampled1D
= 43,
850 SpvCapabilityImage1D
= 44,
851 SpvCapabilitySampledCubeArray
= 45,
852 SpvCapabilitySampledBuffer
= 46,
853 SpvCapabilityImageBuffer
= 47,
854 SpvCapabilityImageMSArray
= 48,
855 SpvCapabilityStorageImageExtendedFormats
= 49,
856 SpvCapabilityImageQuery
= 50,
857 SpvCapabilityDerivativeControl
= 51,
858 SpvCapabilityInterpolationFunction
= 52,
859 SpvCapabilityTransformFeedback
= 53,
860 SpvCapabilityGeometryStreams
= 54,
861 SpvCapabilityStorageImageReadWithoutFormat
= 55,
862 SpvCapabilityStorageImageWriteWithoutFormat
= 56,
863 SpvCapabilityMultiViewport
= 57,
864 SpvCapabilitySubgroupDispatch
= 58,
865 SpvCapabilityNamedBarrier
= 59,
866 SpvCapabilityPipeStorage
= 60,
867 SpvCapabilityGroupNonUniform
= 61,
868 SpvCapabilityGroupNonUniformVote
= 62,
869 SpvCapabilityGroupNonUniformArithmetic
= 63,
870 SpvCapabilityGroupNonUniformBallot
= 64,
871 SpvCapabilityGroupNonUniformShuffle
= 65,
872 SpvCapabilityGroupNonUniformShuffleRelative
= 66,
873 SpvCapabilityGroupNonUniformClustered
= 67,
874 SpvCapabilityGroupNonUniformQuad
= 68,
875 SpvCapabilityShaderLayer
= 69,
876 SpvCapabilityShaderViewportIndex
= 70,
877 SpvCapabilitySubgroupBallotKHR
= 4423,
878 SpvCapabilityDrawParameters
= 4427,
879 SpvCapabilitySubgroupVoteKHR
= 4431,
880 SpvCapabilityStorageBuffer16BitAccess
= 4433,
881 SpvCapabilityStorageUniformBufferBlock16
= 4433,
882 SpvCapabilityStorageUniform16
= 4434,
883 SpvCapabilityUniformAndStorageBuffer16BitAccess
= 4434,
884 SpvCapabilityStoragePushConstant16
= 4435,
885 SpvCapabilityStorageInputOutput16
= 4436,
886 SpvCapabilityDeviceGroup
= 4437,
887 SpvCapabilityMultiView
= 4439,
888 SpvCapabilityVariablePointersStorageBuffer
= 4441,
889 SpvCapabilityVariablePointers
= 4442,
890 SpvCapabilityAtomicStorageOps
= 4445,
891 SpvCapabilitySampleMaskPostDepthCoverage
= 4447,
892 SpvCapabilityStorageBuffer8BitAccess
= 4448,
893 SpvCapabilityUniformAndStorageBuffer8BitAccess
= 4449,
894 SpvCapabilityStoragePushConstant8
= 4450,
895 SpvCapabilityDenormPreserve
= 4464,
896 SpvCapabilityDenormFlushToZero
= 4465,
897 SpvCapabilitySignedZeroInfNanPreserve
= 4466,
898 SpvCapabilityRoundingModeRTE
= 4467,
899 SpvCapabilityRoundingModeRTZ
= 4468,
900 SpvCapabilityRayQueryProvisionalKHR
= 4471,
901 SpvCapabilityRayTraversalPrimitiveCullingProvisionalKHR
= 4478,
902 SpvCapabilityFloat16ImageAMD
= 5008,
903 SpvCapabilityImageGatherBiasLodAMD
= 5009,
904 SpvCapabilityFragmentMaskAMD
= 5010,
905 SpvCapabilityStencilExportEXT
= 5013,
906 SpvCapabilityImageReadWriteLodAMD
= 5015,
907 SpvCapabilityShaderClockKHR
= 5055,
908 SpvCapabilitySampleMaskOverrideCoverageNV
= 5249,
909 SpvCapabilityGeometryShaderPassthroughNV
= 5251,
910 SpvCapabilityShaderViewportIndexLayerEXT
= 5254,
911 SpvCapabilityShaderViewportIndexLayerNV
= 5254,
912 SpvCapabilityShaderViewportMaskNV
= 5255,
913 SpvCapabilityShaderStereoViewNV
= 5259,
914 SpvCapabilityPerViewAttributesNV
= 5260,
915 SpvCapabilityFragmentFullyCoveredEXT
= 5265,
916 SpvCapabilityMeshShadingNV
= 5266,
917 SpvCapabilityImageFootprintNV
= 5282,
918 SpvCapabilityFragmentBarycentricNV
= 5284,
919 SpvCapabilityComputeDerivativeGroupQuadsNV
= 5288,
920 SpvCapabilityFragmentDensityEXT
= 5291,
921 SpvCapabilityShadingRateNV
= 5291,
922 SpvCapabilityGroupNonUniformPartitionedNV
= 5297,
923 SpvCapabilityShaderNonUniform
= 5301,
924 SpvCapabilityShaderNonUniformEXT
= 5301,
925 SpvCapabilityRuntimeDescriptorArray
= 5302,
926 SpvCapabilityRuntimeDescriptorArrayEXT
= 5302,
927 SpvCapabilityInputAttachmentArrayDynamicIndexing
= 5303,
928 SpvCapabilityInputAttachmentArrayDynamicIndexingEXT
= 5303,
929 SpvCapabilityUniformTexelBufferArrayDynamicIndexing
= 5304,
930 SpvCapabilityUniformTexelBufferArrayDynamicIndexingEXT
= 5304,
931 SpvCapabilityStorageTexelBufferArrayDynamicIndexing
= 5305,
932 SpvCapabilityStorageTexelBufferArrayDynamicIndexingEXT
= 5305,
933 SpvCapabilityUniformBufferArrayNonUniformIndexing
= 5306,
934 SpvCapabilityUniformBufferArrayNonUniformIndexingEXT
= 5306,
935 SpvCapabilitySampledImageArrayNonUniformIndexing
= 5307,
936 SpvCapabilitySampledImageArrayNonUniformIndexingEXT
= 5307,
937 SpvCapabilityStorageBufferArrayNonUniformIndexing
= 5308,
938 SpvCapabilityStorageBufferArrayNonUniformIndexingEXT
= 5308,
939 SpvCapabilityStorageImageArrayNonUniformIndexing
= 5309,
940 SpvCapabilityStorageImageArrayNonUniformIndexingEXT
= 5309,
941 SpvCapabilityInputAttachmentArrayNonUniformIndexing
= 5310,
942 SpvCapabilityInputAttachmentArrayNonUniformIndexingEXT
= 5310,
943 SpvCapabilityUniformTexelBufferArrayNonUniformIndexing
= 5311,
944 SpvCapabilityUniformTexelBufferArrayNonUniformIndexingEXT
= 5311,
945 SpvCapabilityStorageTexelBufferArrayNonUniformIndexing
= 5312,
946 SpvCapabilityStorageTexelBufferArrayNonUniformIndexingEXT
= 5312,
947 SpvCapabilityRayTracingNV
= 5340,
948 SpvCapabilityVulkanMemoryModel
= 5345,
949 SpvCapabilityVulkanMemoryModelKHR
= 5345,
950 SpvCapabilityVulkanMemoryModelDeviceScope
= 5346,
951 SpvCapabilityVulkanMemoryModelDeviceScopeKHR
= 5346,
952 SpvCapabilityPhysicalStorageBufferAddresses
= 5347,
953 SpvCapabilityPhysicalStorageBufferAddressesEXT
= 5347,
954 SpvCapabilityComputeDerivativeGroupLinearNV
= 5350,
955 SpvCapabilityRayTracingProvisionalKHR
= 5353,
956 SpvCapabilityCooperativeMatrixNV
= 5357,
957 SpvCapabilityFragmentShaderSampleInterlockEXT
= 5363,
958 SpvCapabilityFragmentShaderShadingRateInterlockEXT
= 5372,
959 SpvCapabilityShaderSMBuiltinsNV
= 5373,
960 SpvCapabilityFragmentShaderPixelInterlockEXT
= 5378,
961 SpvCapabilityDemoteToHelperInvocationEXT
= 5379,
962 SpvCapabilitySubgroupShuffleINTEL
= 5568,
963 SpvCapabilitySubgroupBufferBlockIOINTEL
= 5569,
964 SpvCapabilitySubgroupImageBlockIOINTEL
= 5570,
965 SpvCapabilitySubgroupImageMediaBlockIOINTEL
= 5579,
966 SpvCapabilityIntegerFunctions2INTEL
= 5584,
967 SpvCapabilityFunctionPointersINTEL
= 5603,
968 SpvCapabilityIndirectReferencesINTEL
= 5604,
969 SpvCapabilitySubgroupAvcMotionEstimationINTEL
= 5696,
970 SpvCapabilitySubgroupAvcMotionEstimationIntraINTEL
= 5697,
971 SpvCapabilitySubgroupAvcMotionEstimationChromaINTEL
= 5698,
972 SpvCapabilityFPGAMemoryAttributesINTEL
= 5824,
973 SpvCapabilityUnstructuredLoopControlsINTEL
= 5886,
974 SpvCapabilityFPGALoopControlsINTEL
= 5888,
975 SpvCapabilityKernelAttributesINTEL
= 5892,
976 SpvCapabilityFPGAKernelAttributesINTEL
= 5897,
977 SpvCapabilityBlockingPipesINTEL
= 5945,
978 SpvCapabilityFPGARegINTEL
= 5948,
979 SpvCapabilityAtomicFloat32AddEXT
= 6033,
980 SpvCapabilityAtomicFloat64AddEXT
= 6034,
981 SpvCapabilityMax
= 0x7fffffff,
984 typedef enum SpvRayFlagsShift_
{
985 SpvRayFlagsOpaqueKHRShift
= 0,
986 SpvRayFlagsNoOpaqueKHRShift
= 1,
987 SpvRayFlagsTerminateOnFirstHitKHRShift
= 2,
988 SpvRayFlagsSkipClosestHitShaderKHRShift
= 3,
989 SpvRayFlagsCullBackFacingTrianglesKHRShift
= 4,
990 SpvRayFlagsCullFrontFacingTrianglesKHRShift
= 5,
991 SpvRayFlagsCullOpaqueKHRShift
= 6,
992 SpvRayFlagsCullNoOpaqueKHRShift
= 7,
993 SpvRayFlagsSkipTrianglesKHRShift
= 8,
994 SpvRayFlagsSkipAABBsKHRShift
= 9,
995 SpvRayFlagsMax
= 0x7fffffff,
998 typedef enum SpvRayFlagsMask_
{
999 SpvRayFlagsMaskNone
= 0,
1000 SpvRayFlagsOpaqueKHRMask
= 0x00000001,
1001 SpvRayFlagsNoOpaqueKHRMask
= 0x00000002,
1002 SpvRayFlagsTerminateOnFirstHitKHRMask
= 0x00000004,
1003 SpvRayFlagsSkipClosestHitShaderKHRMask
= 0x00000008,
1004 SpvRayFlagsCullBackFacingTrianglesKHRMask
= 0x00000010,
1005 SpvRayFlagsCullFrontFacingTrianglesKHRMask
= 0x00000020,
1006 SpvRayFlagsCullOpaqueKHRMask
= 0x00000040,
1007 SpvRayFlagsCullNoOpaqueKHRMask
= 0x00000080,
1008 SpvRayFlagsSkipTrianglesKHRMask
= 0x00000100,
1009 SpvRayFlagsSkipAABBsKHRMask
= 0x00000200,
1012 typedef enum SpvRayQueryIntersection_
{
1013 SpvRayQueryIntersectionRayQueryCandidateIntersectionKHR
= 0,
1014 SpvRayQueryIntersectionRayQueryCommittedIntersectionKHR
= 1,
1015 SpvRayQueryIntersectionMax
= 0x7fffffff,
1016 } SpvRayQueryIntersection
;
1018 typedef enum SpvRayQueryCommittedIntersectionType_
{
1019 SpvRayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionNoneKHR
= 0,
1020 SpvRayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionTriangleKHR
= 1,
1021 SpvRayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionGeneratedKHR
= 2,
1022 SpvRayQueryCommittedIntersectionTypeMax
= 0x7fffffff,
1023 } SpvRayQueryCommittedIntersectionType
;
1025 typedef enum SpvRayQueryCandidateIntersectionType_
{
1026 SpvRayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionTriangleKHR
= 0,
1027 SpvRayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionAABBKHR
= 1,
1028 SpvRayQueryCandidateIntersectionTypeMax
= 0x7fffffff,
1029 } SpvRayQueryCandidateIntersectionType
;
1031 typedef enum SpvOp_
{
1034 SpvOpSourceContinued
= 2,
1036 SpvOpSourceExtension
= 4,
1038 SpvOpMemberName
= 6,
1041 SpvOpExtension
= 10,
1042 SpvOpExtInstImport
= 11,
1044 SpvOpMemoryModel
= 14,
1045 SpvOpEntryPoint
= 15,
1046 SpvOpExecutionMode
= 16,
1047 SpvOpCapability
= 17,
1051 SpvOpTypeFloat
= 22,
1052 SpvOpTypeVector
= 23,
1053 SpvOpTypeMatrix
= 24,
1054 SpvOpTypeImage
= 25,
1055 SpvOpTypeSampler
= 26,
1056 SpvOpTypeSampledImage
= 27,
1057 SpvOpTypeArray
= 28,
1058 SpvOpTypeRuntimeArray
= 29,
1059 SpvOpTypeStruct
= 30,
1060 SpvOpTypeOpaque
= 31,
1061 SpvOpTypePointer
= 32,
1062 SpvOpTypeFunction
= 33,
1063 SpvOpTypeEvent
= 34,
1064 SpvOpTypeDeviceEvent
= 35,
1065 SpvOpTypeReserveId
= 36,
1066 SpvOpTypeQueue
= 37,
1068 SpvOpTypeForwardPointer
= 39,
1069 SpvOpConstantTrue
= 41,
1070 SpvOpConstantFalse
= 42,
1072 SpvOpConstantComposite
= 44,
1073 SpvOpConstantSampler
= 45,
1074 SpvOpConstantNull
= 46,
1075 SpvOpSpecConstantTrue
= 48,
1076 SpvOpSpecConstantFalse
= 49,
1077 SpvOpSpecConstant
= 50,
1078 SpvOpSpecConstantComposite
= 51,
1079 SpvOpSpecConstantOp
= 52,
1081 SpvOpFunctionParameter
= 55,
1082 SpvOpFunctionEnd
= 56,
1083 SpvOpFunctionCall
= 57,
1085 SpvOpImageTexelPointer
= 60,
1088 SpvOpCopyMemory
= 63,
1089 SpvOpCopyMemorySized
= 64,
1090 SpvOpAccessChain
= 65,
1091 SpvOpInBoundsAccessChain
= 66,
1092 SpvOpPtrAccessChain
= 67,
1093 SpvOpArrayLength
= 68,
1094 SpvOpGenericPtrMemSemantics
= 69,
1095 SpvOpInBoundsPtrAccessChain
= 70,
1097 SpvOpMemberDecorate
= 72,
1098 SpvOpDecorationGroup
= 73,
1099 SpvOpGroupDecorate
= 74,
1100 SpvOpGroupMemberDecorate
= 75,
1101 SpvOpVectorExtractDynamic
= 77,
1102 SpvOpVectorInsertDynamic
= 78,
1103 SpvOpVectorShuffle
= 79,
1104 SpvOpCompositeConstruct
= 80,
1105 SpvOpCompositeExtract
= 81,
1106 SpvOpCompositeInsert
= 82,
1107 SpvOpCopyObject
= 83,
1108 SpvOpTranspose
= 84,
1109 SpvOpSampledImage
= 86,
1110 SpvOpImageSampleImplicitLod
= 87,
1111 SpvOpImageSampleExplicitLod
= 88,
1112 SpvOpImageSampleDrefImplicitLod
= 89,
1113 SpvOpImageSampleDrefExplicitLod
= 90,
1114 SpvOpImageSampleProjImplicitLod
= 91,
1115 SpvOpImageSampleProjExplicitLod
= 92,
1116 SpvOpImageSampleProjDrefImplicitLod
= 93,
1117 SpvOpImageSampleProjDrefExplicitLod
= 94,
1118 SpvOpImageFetch
= 95,
1119 SpvOpImageGather
= 96,
1120 SpvOpImageDrefGather
= 97,
1121 SpvOpImageRead
= 98,
1122 SpvOpImageWrite
= 99,
1124 SpvOpImageQueryFormat
= 101,
1125 SpvOpImageQueryOrder
= 102,
1126 SpvOpImageQuerySizeLod
= 103,
1127 SpvOpImageQuerySize
= 104,
1128 SpvOpImageQueryLod
= 105,
1129 SpvOpImageQueryLevels
= 106,
1130 SpvOpImageQuerySamples
= 107,
1131 SpvOpConvertFToU
= 109,
1132 SpvOpConvertFToS
= 110,
1133 SpvOpConvertSToF
= 111,
1134 SpvOpConvertUToF
= 112,
1135 SpvOpUConvert
= 113,
1136 SpvOpSConvert
= 114,
1137 SpvOpFConvert
= 115,
1138 SpvOpQuantizeToF16
= 116,
1139 SpvOpConvertPtrToU
= 117,
1140 SpvOpSatConvertSToU
= 118,
1141 SpvOpSatConvertUToS
= 119,
1142 SpvOpConvertUToPtr
= 120,
1143 SpvOpPtrCastToGeneric
= 121,
1144 SpvOpGenericCastToPtr
= 122,
1145 SpvOpGenericCastToPtrExplicit
= 123,
1163 SpvOpVectorTimesScalar
= 142,
1164 SpvOpMatrixTimesScalar
= 143,
1165 SpvOpVectorTimesMatrix
= 144,
1166 SpvOpMatrixTimesVector
= 145,
1167 SpvOpMatrixTimesMatrix
= 146,
1168 SpvOpOuterProduct
= 147,
1170 SpvOpIAddCarry
= 149,
1171 SpvOpISubBorrow
= 150,
1172 SpvOpUMulExtended
= 151,
1173 SpvOpSMulExtended
= 152,
1178 SpvOpIsFinite
= 158,
1179 SpvOpIsNormal
= 159,
1180 SpvOpSignBitSet
= 160,
1181 SpvOpLessOrGreater
= 161,
1183 SpvOpUnordered
= 163,
1184 SpvOpLogicalEqual
= 164,
1185 SpvOpLogicalNotEqual
= 165,
1186 SpvOpLogicalOr
= 166,
1187 SpvOpLogicalAnd
= 167,
1188 SpvOpLogicalNot
= 168,
1191 SpvOpINotEqual
= 171,
1192 SpvOpUGreaterThan
= 172,
1193 SpvOpSGreaterThan
= 173,
1194 SpvOpUGreaterThanEqual
= 174,
1195 SpvOpSGreaterThanEqual
= 175,
1196 SpvOpULessThan
= 176,
1197 SpvOpSLessThan
= 177,
1198 SpvOpULessThanEqual
= 178,
1199 SpvOpSLessThanEqual
= 179,
1200 SpvOpFOrdEqual
= 180,
1201 SpvOpFUnordEqual
= 181,
1202 SpvOpFOrdNotEqual
= 182,
1203 SpvOpFUnordNotEqual
= 183,
1204 SpvOpFOrdLessThan
= 184,
1205 SpvOpFUnordLessThan
= 185,
1206 SpvOpFOrdGreaterThan
= 186,
1207 SpvOpFUnordGreaterThan
= 187,
1208 SpvOpFOrdLessThanEqual
= 188,
1209 SpvOpFUnordLessThanEqual
= 189,
1210 SpvOpFOrdGreaterThanEqual
= 190,
1211 SpvOpFUnordGreaterThanEqual
= 191,
1212 SpvOpShiftRightLogical
= 194,
1213 SpvOpShiftRightArithmetic
= 195,
1214 SpvOpShiftLeftLogical
= 196,
1215 SpvOpBitwiseOr
= 197,
1216 SpvOpBitwiseXor
= 198,
1217 SpvOpBitwiseAnd
= 199,
1219 SpvOpBitFieldInsert
= 201,
1220 SpvOpBitFieldSExtract
= 202,
1221 SpvOpBitFieldUExtract
= 203,
1222 SpvOpBitReverse
= 204,
1223 SpvOpBitCount
= 205,
1227 SpvOpDPdxFine
= 210,
1228 SpvOpDPdyFine
= 211,
1229 SpvOpFwidthFine
= 212,
1230 SpvOpDPdxCoarse
= 213,
1231 SpvOpDPdyCoarse
= 214,
1232 SpvOpFwidthCoarse
= 215,
1233 SpvOpEmitVertex
= 218,
1234 SpvOpEndPrimitive
= 219,
1235 SpvOpEmitStreamVertex
= 220,
1236 SpvOpEndStreamPrimitive
= 221,
1237 SpvOpControlBarrier
= 224,
1238 SpvOpMemoryBarrier
= 225,
1239 SpvOpAtomicLoad
= 227,
1240 SpvOpAtomicStore
= 228,
1241 SpvOpAtomicExchange
= 229,
1242 SpvOpAtomicCompareExchange
= 230,
1243 SpvOpAtomicCompareExchangeWeak
= 231,
1244 SpvOpAtomicIIncrement
= 232,
1245 SpvOpAtomicIDecrement
= 233,
1246 SpvOpAtomicIAdd
= 234,
1247 SpvOpAtomicISub
= 235,
1248 SpvOpAtomicSMin
= 236,
1249 SpvOpAtomicUMin
= 237,
1250 SpvOpAtomicSMax
= 238,
1251 SpvOpAtomicUMax
= 239,
1252 SpvOpAtomicAnd
= 240,
1253 SpvOpAtomicOr
= 241,
1254 SpvOpAtomicXor
= 242,
1256 SpvOpLoopMerge
= 246,
1257 SpvOpSelectionMerge
= 247,
1260 SpvOpBranchConditional
= 250,
1264 SpvOpReturnValue
= 254,
1265 SpvOpUnreachable
= 255,
1266 SpvOpLifetimeStart
= 256,
1267 SpvOpLifetimeStop
= 257,
1268 SpvOpGroupAsyncCopy
= 259,
1269 SpvOpGroupWaitEvents
= 260,
1270 SpvOpGroupAll
= 261,
1271 SpvOpGroupAny
= 262,
1272 SpvOpGroupBroadcast
= 263,
1273 SpvOpGroupIAdd
= 264,
1274 SpvOpGroupFAdd
= 265,
1275 SpvOpGroupFMin
= 266,
1276 SpvOpGroupUMin
= 267,
1277 SpvOpGroupSMin
= 268,
1278 SpvOpGroupFMax
= 269,
1279 SpvOpGroupUMax
= 270,
1280 SpvOpGroupSMax
= 271,
1281 SpvOpReadPipe
= 274,
1282 SpvOpWritePipe
= 275,
1283 SpvOpReservedReadPipe
= 276,
1284 SpvOpReservedWritePipe
= 277,
1285 SpvOpReserveReadPipePackets
= 278,
1286 SpvOpReserveWritePipePackets
= 279,
1287 SpvOpCommitReadPipe
= 280,
1288 SpvOpCommitWritePipe
= 281,
1289 SpvOpIsValidReserveId
= 282,
1290 SpvOpGetNumPipePackets
= 283,
1291 SpvOpGetMaxPipePackets
= 284,
1292 SpvOpGroupReserveReadPipePackets
= 285,
1293 SpvOpGroupReserveWritePipePackets
= 286,
1294 SpvOpGroupCommitReadPipe
= 287,
1295 SpvOpGroupCommitWritePipe
= 288,
1296 SpvOpEnqueueMarker
= 291,
1297 SpvOpEnqueueKernel
= 292,
1298 SpvOpGetKernelNDrangeSubGroupCount
= 293,
1299 SpvOpGetKernelNDrangeMaxSubGroupSize
= 294,
1300 SpvOpGetKernelWorkGroupSize
= 295,
1301 SpvOpGetKernelPreferredWorkGroupSizeMultiple
= 296,
1302 SpvOpRetainEvent
= 297,
1303 SpvOpReleaseEvent
= 298,
1304 SpvOpCreateUserEvent
= 299,
1305 SpvOpIsValidEvent
= 300,
1306 SpvOpSetUserEventStatus
= 301,
1307 SpvOpCaptureEventProfilingInfo
= 302,
1308 SpvOpGetDefaultQueue
= 303,
1309 SpvOpBuildNDRange
= 304,
1310 SpvOpImageSparseSampleImplicitLod
= 305,
1311 SpvOpImageSparseSampleExplicitLod
= 306,
1312 SpvOpImageSparseSampleDrefImplicitLod
= 307,
1313 SpvOpImageSparseSampleDrefExplicitLod
= 308,
1314 SpvOpImageSparseSampleProjImplicitLod
= 309,
1315 SpvOpImageSparseSampleProjExplicitLod
= 310,
1316 SpvOpImageSparseSampleProjDrefImplicitLod
= 311,
1317 SpvOpImageSparseSampleProjDrefExplicitLod
= 312,
1318 SpvOpImageSparseFetch
= 313,
1319 SpvOpImageSparseGather
= 314,
1320 SpvOpImageSparseDrefGather
= 315,
1321 SpvOpImageSparseTexelsResident
= 316,
1323 SpvOpAtomicFlagTestAndSet
= 318,
1324 SpvOpAtomicFlagClear
= 319,
1325 SpvOpImageSparseRead
= 320,
1327 SpvOpTypePipeStorage
= 322,
1328 SpvOpConstantPipeStorage
= 323,
1329 SpvOpCreatePipeFromPipeStorage
= 324,
1330 SpvOpGetKernelLocalSizeForSubgroupCount
= 325,
1331 SpvOpGetKernelMaxNumSubgroups
= 326,
1332 SpvOpTypeNamedBarrier
= 327,
1333 SpvOpNamedBarrierInitialize
= 328,
1334 SpvOpMemoryNamedBarrier
= 329,
1335 SpvOpModuleProcessed
= 330,
1336 SpvOpExecutionModeId
= 331,
1337 SpvOpDecorateId
= 332,
1338 SpvOpGroupNonUniformElect
= 333,
1339 SpvOpGroupNonUniformAll
= 334,
1340 SpvOpGroupNonUniformAny
= 335,
1341 SpvOpGroupNonUniformAllEqual
= 336,
1342 SpvOpGroupNonUniformBroadcast
= 337,
1343 SpvOpGroupNonUniformBroadcastFirst
= 338,
1344 SpvOpGroupNonUniformBallot
= 339,
1345 SpvOpGroupNonUniformInverseBallot
= 340,
1346 SpvOpGroupNonUniformBallotBitExtract
= 341,
1347 SpvOpGroupNonUniformBallotBitCount
= 342,
1348 SpvOpGroupNonUniformBallotFindLSB
= 343,
1349 SpvOpGroupNonUniformBallotFindMSB
= 344,
1350 SpvOpGroupNonUniformShuffle
= 345,
1351 SpvOpGroupNonUniformShuffleXor
= 346,
1352 SpvOpGroupNonUniformShuffleUp
= 347,
1353 SpvOpGroupNonUniformShuffleDown
= 348,
1354 SpvOpGroupNonUniformIAdd
= 349,
1355 SpvOpGroupNonUniformFAdd
= 350,
1356 SpvOpGroupNonUniformIMul
= 351,
1357 SpvOpGroupNonUniformFMul
= 352,
1358 SpvOpGroupNonUniformSMin
= 353,
1359 SpvOpGroupNonUniformUMin
= 354,
1360 SpvOpGroupNonUniformFMin
= 355,
1361 SpvOpGroupNonUniformSMax
= 356,
1362 SpvOpGroupNonUniformUMax
= 357,
1363 SpvOpGroupNonUniformFMax
= 358,
1364 SpvOpGroupNonUniformBitwiseAnd
= 359,
1365 SpvOpGroupNonUniformBitwiseOr
= 360,
1366 SpvOpGroupNonUniformBitwiseXor
= 361,
1367 SpvOpGroupNonUniformLogicalAnd
= 362,
1368 SpvOpGroupNonUniformLogicalOr
= 363,
1369 SpvOpGroupNonUniformLogicalXor
= 364,
1370 SpvOpGroupNonUniformQuadBroadcast
= 365,
1371 SpvOpGroupNonUniformQuadSwap
= 366,
1372 SpvOpCopyLogical
= 400,
1373 SpvOpPtrEqual
= 401,
1374 SpvOpPtrNotEqual
= 402,
1376 SpvOpSubgroupBallotKHR
= 4421,
1377 SpvOpSubgroupFirstInvocationKHR
= 4422,
1378 SpvOpSubgroupAllKHR
= 4428,
1379 SpvOpSubgroupAnyKHR
= 4429,
1380 SpvOpSubgroupAllEqualKHR
= 4430,
1381 SpvOpSubgroupReadInvocationKHR
= 4432,
1382 SpvOpTypeRayQueryProvisionalKHR
= 4472,
1383 SpvOpRayQueryInitializeKHR
= 4473,
1384 SpvOpRayQueryTerminateKHR
= 4474,
1385 SpvOpRayQueryGenerateIntersectionKHR
= 4475,
1386 SpvOpRayQueryConfirmIntersectionKHR
= 4476,
1387 SpvOpRayQueryProceedKHR
= 4477,
1388 SpvOpRayQueryGetIntersectionTypeKHR
= 4479,
1389 SpvOpGroupIAddNonUniformAMD
= 5000,
1390 SpvOpGroupFAddNonUniformAMD
= 5001,
1391 SpvOpGroupFMinNonUniformAMD
= 5002,
1392 SpvOpGroupUMinNonUniformAMD
= 5003,
1393 SpvOpGroupSMinNonUniformAMD
= 5004,
1394 SpvOpGroupFMaxNonUniformAMD
= 5005,
1395 SpvOpGroupUMaxNonUniformAMD
= 5006,
1396 SpvOpGroupSMaxNonUniformAMD
= 5007,
1397 SpvOpFragmentMaskFetchAMD
= 5011,
1398 SpvOpFragmentFetchAMD
= 5012,
1399 SpvOpReadClockKHR
= 5056,
1400 SpvOpImageSampleFootprintNV
= 5283,
1401 SpvOpGroupNonUniformPartitionNV
= 5296,
1402 SpvOpWritePackedPrimitiveIndices4x8NV
= 5299,
1403 SpvOpReportIntersectionKHR
= 5334,
1404 SpvOpReportIntersectionNV
= 5334,
1405 SpvOpIgnoreIntersectionKHR
= 5335,
1406 SpvOpIgnoreIntersectionNV
= 5335,
1407 SpvOpTerminateRayKHR
= 5336,
1408 SpvOpTerminateRayNV
= 5336,
1409 SpvOpTraceNV
= 5337,
1410 SpvOpTraceRayKHR
= 5337,
1411 SpvOpTypeAccelerationStructureKHR
= 5341,
1412 SpvOpTypeAccelerationStructureNV
= 5341,
1413 SpvOpExecuteCallableKHR
= 5344,
1414 SpvOpExecuteCallableNV
= 5344,
1415 SpvOpTypeCooperativeMatrixNV
= 5358,
1416 SpvOpCooperativeMatrixLoadNV
= 5359,
1417 SpvOpCooperativeMatrixStoreNV
= 5360,
1418 SpvOpCooperativeMatrixMulAddNV
= 5361,
1419 SpvOpCooperativeMatrixLengthNV
= 5362,
1420 SpvOpBeginInvocationInterlockEXT
= 5364,
1421 SpvOpEndInvocationInterlockEXT
= 5365,
1422 SpvOpDemoteToHelperInvocationEXT
= 5380,
1423 SpvOpIsHelperInvocationEXT
= 5381,
1424 SpvOpSubgroupShuffleINTEL
= 5571,
1425 SpvOpSubgroupShuffleDownINTEL
= 5572,
1426 SpvOpSubgroupShuffleUpINTEL
= 5573,
1427 SpvOpSubgroupShuffleXorINTEL
= 5574,
1428 SpvOpSubgroupBlockReadINTEL
= 5575,
1429 SpvOpSubgroupBlockWriteINTEL
= 5576,
1430 SpvOpSubgroupImageBlockReadINTEL
= 5577,
1431 SpvOpSubgroupImageBlockWriteINTEL
= 5578,
1432 SpvOpSubgroupImageMediaBlockReadINTEL
= 5580,
1433 SpvOpSubgroupImageMediaBlockWriteINTEL
= 5581,
1434 SpvOpUCountLeadingZerosINTEL
= 5585,
1435 SpvOpUCountTrailingZerosINTEL
= 5586,
1436 SpvOpAbsISubINTEL
= 5587,
1437 SpvOpAbsUSubINTEL
= 5588,
1438 SpvOpIAddSatINTEL
= 5589,
1439 SpvOpUAddSatINTEL
= 5590,
1440 SpvOpIAverageINTEL
= 5591,
1441 SpvOpUAverageINTEL
= 5592,
1442 SpvOpIAverageRoundedINTEL
= 5593,
1443 SpvOpUAverageRoundedINTEL
= 5594,
1444 SpvOpISubSatINTEL
= 5595,
1445 SpvOpUSubSatINTEL
= 5596,
1446 SpvOpIMul32x16INTEL
= 5597,
1447 SpvOpUMul32x16INTEL
= 5598,
1448 SpvOpFunctionPointerINTEL
= 5600,
1449 SpvOpFunctionPointerCallINTEL
= 5601,
1450 SpvOpDecorateString
= 5632,
1451 SpvOpDecorateStringGOOGLE
= 5632,
1452 SpvOpMemberDecorateString
= 5633,
1453 SpvOpMemberDecorateStringGOOGLE
= 5633,
1454 SpvOpVmeImageINTEL
= 5699,
1455 SpvOpTypeVmeImageINTEL
= 5700,
1456 SpvOpTypeAvcImePayloadINTEL
= 5701,
1457 SpvOpTypeAvcRefPayloadINTEL
= 5702,
1458 SpvOpTypeAvcSicPayloadINTEL
= 5703,
1459 SpvOpTypeAvcMcePayloadINTEL
= 5704,
1460 SpvOpTypeAvcMceResultINTEL
= 5705,
1461 SpvOpTypeAvcImeResultINTEL
= 5706,
1462 SpvOpTypeAvcImeResultSingleReferenceStreamoutINTEL
= 5707,
1463 SpvOpTypeAvcImeResultDualReferenceStreamoutINTEL
= 5708,
1464 SpvOpTypeAvcImeSingleReferenceStreaminINTEL
= 5709,
1465 SpvOpTypeAvcImeDualReferenceStreaminINTEL
= 5710,
1466 SpvOpTypeAvcRefResultINTEL
= 5711,
1467 SpvOpTypeAvcSicResultINTEL
= 5712,
1468 SpvOpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL
= 5713,
1469 SpvOpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL
= 5714,
1470 SpvOpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL
= 5715,
1471 SpvOpSubgroupAvcMceSetInterShapePenaltyINTEL
= 5716,
1472 SpvOpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL
= 5717,
1473 SpvOpSubgroupAvcMceSetInterDirectionPenaltyINTEL
= 5718,
1474 SpvOpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL
= 5719,
1475 SpvOpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL
= 5720,
1476 SpvOpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL
= 5721,
1477 SpvOpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL
= 5722,
1478 SpvOpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL
= 5723,
1479 SpvOpSubgroupAvcMceSetMotionVectorCostFunctionINTEL
= 5724,
1480 SpvOpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL
= 5725,
1481 SpvOpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL
= 5726,
1482 SpvOpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL
= 5727,
1483 SpvOpSubgroupAvcMceSetAcOnlyHaarINTEL
= 5728,
1484 SpvOpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL
= 5729,
1485 SpvOpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL
= 5730,
1486 SpvOpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL
= 5731,
1487 SpvOpSubgroupAvcMceConvertToImePayloadINTEL
= 5732,
1488 SpvOpSubgroupAvcMceConvertToImeResultINTEL
= 5733,
1489 SpvOpSubgroupAvcMceConvertToRefPayloadINTEL
= 5734,
1490 SpvOpSubgroupAvcMceConvertToRefResultINTEL
= 5735,
1491 SpvOpSubgroupAvcMceConvertToSicPayloadINTEL
= 5736,
1492 SpvOpSubgroupAvcMceConvertToSicResultINTEL
= 5737,
1493 SpvOpSubgroupAvcMceGetMotionVectorsINTEL
= 5738,
1494 SpvOpSubgroupAvcMceGetInterDistortionsINTEL
= 5739,
1495 SpvOpSubgroupAvcMceGetBestInterDistortionsINTEL
= 5740,
1496 SpvOpSubgroupAvcMceGetInterMajorShapeINTEL
= 5741,
1497 SpvOpSubgroupAvcMceGetInterMinorShapeINTEL
= 5742,
1498 SpvOpSubgroupAvcMceGetInterDirectionsINTEL
= 5743,
1499 SpvOpSubgroupAvcMceGetInterMotionVectorCountINTEL
= 5744,
1500 SpvOpSubgroupAvcMceGetInterReferenceIdsINTEL
= 5745,
1501 SpvOpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL
= 5746,
1502 SpvOpSubgroupAvcImeInitializeINTEL
= 5747,
1503 SpvOpSubgroupAvcImeSetSingleReferenceINTEL
= 5748,
1504 SpvOpSubgroupAvcImeSetDualReferenceINTEL
= 5749,
1505 SpvOpSubgroupAvcImeRefWindowSizeINTEL
= 5750,
1506 SpvOpSubgroupAvcImeAdjustRefOffsetINTEL
= 5751,
1507 SpvOpSubgroupAvcImeConvertToMcePayloadINTEL
= 5752,
1508 SpvOpSubgroupAvcImeSetMaxMotionVectorCountINTEL
= 5753,
1509 SpvOpSubgroupAvcImeSetUnidirectionalMixDisableINTEL
= 5754,
1510 SpvOpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL
= 5755,
1511 SpvOpSubgroupAvcImeSetWeightedSadINTEL
= 5756,
1512 SpvOpSubgroupAvcImeEvaluateWithSingleReferenceINTEL
= 5757,
1513 SpvOpSubgroupAvcImeEvaluateWithDualReferenceINTEL
= 5758,
1514 SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL
= 5759,
1515 SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL
= 5760,
1516 SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL
= 5761,
1517 SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL
= 5762,
1518 SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL
= 5763,
1519 SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL
= 5764,
1520 SpvOpSubgroupAvcImeConvertToMceResultINTEL
= 5765,
1521 SpvOpSubgroupAvcImeGetSingleReferenceStreaminINTEL
= 5766,
1522 SpvOpSubgroupAvcImeGetDualReferenceStreaminINTEL
= 5767,
1523 SpvOpSubgroupAvcImeStripSingleReferenceStreamoutINTEL
= 5768,
1524 SpvOpSubgroupAvcImeStripDualReferenceStreamoutINTEL
= 5769,
1525 SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL
= 5770,
1526 SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL
= 5771,
1527 SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL
= 5772,
1528 SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL
= 5773,
1529 SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL
= 5774,
1530 SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL
= 5775,
1531 SpvOpSubgroupAvcImeGetBorderReachedINTEL
= 5776,
1532 SpvOpSubgroupAvcImeGetTruncatedSearchIndicationINTEL
= 5777,
1533 SpvOpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL
= 5778,
1534 SpvOpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL
= 5779,
1535 SpvOpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL
= 5780,
1536 SpvOpSubgroupAvcFmeInitializeINTEL
= 5781,
1537 SpvOpSubgroupAvcBmeInitializeINTEL
= 5782,
1538 SpvOpSubgroupAvcRefConvertToMcePayloadINTEL
= 5783,
1539 SpvOpSubgroupAvcRefSetBidirectionalMixDisableINTEL
= 5784,
1540 SpvOpSubgroupAvcRefSetBilinearFilterEnableINTEL
= 5785,
1541 SpvOpSubgroupAvcRefEvaluateWithSingleReferenceINTEL
= 5786,
1542 SpvOpSubgroupAvcRefEvaluateWithDualReferenceINTEL
= 5787,
1543 SpvOpSubgroupAvcRefEvaluateWithMultiReferenceINTEL
= 5788,
1544 SpvOpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL
= 5789,
1545 SpvOpSubgroupAvcRefConvertToMceResultINTEL
= 5790,
1546 SpvOpSubgroupAvcSicInitializeINTEL
= 5791,
1547 SpvOpSubgroupAvcSicConfigureSkcINTEL
= 5792,
1548 SpvOpSubgroupAvcSicConfigureIpeLumaINTEL
= 5793,
1549 SpvOpSubgroupAvcSicConfigureIpeLumaChromaINTEL
= 5794,
1550 SpvOpSubgroupAvcSicGetMotionVectorMaskINTEL
= 5795,
1551 SpvOpSubgroupAvcSicConvertToMcePayloadINTEL
= 5796,
1552 SpvOpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL
= 5797,
1553 SpvOpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL
= 5798,
1554 SpvOpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL
= 5799,
1555 SpvOpSubgroupAvcSicSetBilinearFilterEnableINTEL
= 5800,
1556 SpvOpSubgroupAvcSicSetSkcForwardTransformEnableINTEL
= 5801,
1557 SpvOpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL
= 5802,
1558 SpvOpSubgroupAvcSicEvaluateIpeINTEL
= 5803,
1559 SpvOpSubgroupAvcSicEvaluateWithSingleReferenceINTEL
= 5804,
1560 SpvOpSubgroupAvcSicEvaluateWithDualReferenceINTEL
= 5805,
1561 SpvOpSubgroupAvcSicEvaluateWithMultiReferenceINTEL
= 5806,
1562 SpvOpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL
= 5807,
1563 SpvOpSubgroupAvcSicConvertToMceResultINTEL
= 5808,
1564 SpvOpSubgroupAvcSicGetIpeLumaShapeINTEL
= 5809,
1565 SpvOpSubgroupAvcSicGetBestIpeLumaDistortionINTEL
= 5810,
1566 SpvOpSubgroupAvcSicGetBestIpeChromaDistortionINTEL
= 5811,
1567 SpvOpSubgroupAvcSicGetPackedIpeLumaModesINTEL
= 5812,
1568 SpvOpSubgroupAvcSicGetIpeChromaModeINTEL
= 5813,
1569 SpvOpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL
= 5814,
1570 SpvOpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL
= 5815,
1571 SpvOpSubgroupAvcSicGetInterRawSadsINTEL
= 5816,
1572 SpvOpLoopControlINTEL
= 5887,
1573 SpvOpReadPipeBlockingINTEL
= 5946,
1574 SpvOpWritePipeBlockingINTEL
= 5947,
1575 SpvOpFPGARegINTEL
= 5949,
1576 SpvOpRayQueryGetRayTMinKHR
= 6016,
1577 SpvOpRayQueryGetRayFlagsKHR
= 6017,
1578 SpvOpRayQueryGetIntersectionTKHR
= 6018,
1579 SpvOpRayQueryGetIntersectionInstanceCustomIndexKHR
= 6019,
1580 SpvOpRayQueryGetIntersectionInstanceIdKHR
= 6020,
1581 SpvOpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR
= 6021,
1582 SpvOpRayQueryGetIntersectionGeometryIndexKHR
= 6022,
1583 SpvOpRayQueryGetIntersectionPrimitiveIndexKHR
= 6023,
1584 SpvOpRayQueryGetIntersectionBarycentricsKHR
= 6024,
1585 SpvOpRayQueryGetIntersectionFrontFaceKHR
= 6025,
1586 SpvOpRayQueryGetIntersectionCandidateAABBOpaqueKHR
= 6026,
1587 SpvOpRayQueryGetIntersectionObjectRayDirectionKHR
= 6027,
1588 SpvOpRayQueryGetIntersectionObjectRayOriginKHR
= 6028,
1589 SpvOpRayQueryGetWorldRayDirectionKHR
= 6029,
1590 SpvOpRayQueryGetWorldRayOriginKHR
= 6030,
1591 SpvOpRayQueryGetIntersectionObjectToWorldKHR
= 6031,
1592 SpvOpRayQueryGetIntersectionWorldToObjectKHR
= 6032,
1593 SpvOpAtomicFAddEXT
= 6035,
1594 SpvOpMax
= 0x7fffffff,
1597 #ifdef SPV_ENABLE_UTILITY_CODE
1598 inline void SpvHasResultAndType(SpvOp opcode
, bool *hasResult
, bool *hasResultType
) {
1599 *hasResult
= *hasResultType
= false;
1601 default: /* unknown opcode */ break;
1602 case SpvOpNop
: *hasResult
= false; *hasResultType
= false; break;
1603 case SpvOpUndef
: *hasResult
= true; *hasResultType
= true; break;
1604 case SpvOpSourceContinued
: *hasResult
= false; *hasResultType
= false; break;
1605 case SpvOpSource
: *hasResult
= false; *hasResultType
= false; break;
1606 case SpvOpSourceExtension
: *hasResult
= false; *hasResultType
= false; break;
1607 case SpvOpName
: *hasResult
= false; *hasResultType
= false; break;
1608 case SpvOpMemberName
: *hasResult
= false; *hasResultType
= false; break;
1609 case SpvOpString
: *hasResult
= true; *hasResultType
= false; break;
1610 case SpvOpLine
: *hasResult
= false; *hasResultType
= false; break;
1611 case SpvOpExtension
: *hasResult
= false; *hasResultType
= false; break;
1612 case SpvOpExtInstImport
: *hasResult
= true; *hasResultType
= false; break;
1613 case SpvOpExtInst
: *hasResult
= true; *hasResultType
= true; break;
1614 case SpvOpMemoryModel
: *hasResult
= false; *hasResultType
= false; break;
1615 case SpvOpEntryPoint
: *hasResult
= false; *hasResultType
= false; break;
1616 case SpvOpExecutionMode
: *hasResult
= false; *hasResultType
= false; break;
1617 case SpvOpCapability
: *hasResult
= false; *hasResultType
= false; break;
1618 case SpvOpTypeVoid
: *hasResult
= true; *hasResultType
= false; break;
1619 case SpvOpTypeBool
: *hasResult
= true; *hasResultType
= false; break;
1620 case SpvOpTypeInt
: *hasResult
= true; *hasResultType
= false; break;
1621 case SpvOpTypeFloat
: *hasResult
= true; *hasResultType
= false; break;
1622 case SpvOpTypeVector
: *hasResult
= true; *hasResultType
= false; break;
1623 case SpvOpTypeMatrix
: *hasResult
= true; *hasResultType
= false; break;
1624 case SpvOpTypeImage
: *hasResult
= true; *hasResultType
= false; break;
1625 case SpvOpTypeSampler
: *hasResult
= true; *hasResultType
= false; break;
1626 case SpvOpTypeSampledImage
: *hasResult
= true; *hasResultType
= false; break;
1627 case SpvOpTypeArray
: *hasResult
= true; *hasResultType
= false; break;
1628 case SpvOpTypeRuntimeArray
: *hasResult
= true; *hasResultType
= false; break;
1629 case SpvOpTypeStruct
: *hasResult
= true; *hasResultType
= false; break;
1630 case SpvOpTypeOpaque
: *hasResult
= true; *hasResultType
= false; break;
1631 case SpvOpTypePointer
: *hasResult
= true; *hasResultType
= false; break;
1632 case SpvOpTypeFunction
: *hasResult
= true; *hasResultType
= false; break;
1633 case SpvOpTypeEvent
: *hasResult
= true; *hasResultType
= false; break;
1634 case SpvOpTypeDeviceEvent
: *hasResult
= true; *hasResultType
= false; break;
1635 case SpvOpTypeReserveId
: *hasResult
= true; *hasResultType
= false; break;
1636 case SpvOpTypeQueue
: *hasResult
= true; *hasResultType
= false; break;
1637 case SpvOpTypePipe
: *hasResult
= true; *hasResultType
= false; break;
1638 case SpvOpTypeForwardPointer
: *hasResult
= false; *hasResultType
= false; break;
1639 case SpvOpConstantTrue
: *hasResult
= true; *hasResultType
= true; break;
1640 case SpvOpConstantFalse
: *hasResult
= true; *hasResultType
= true; break;
1641 case SpvOpConstant
: *hasResult
= true; *hasResultType
= true; break;
1642 case SpvOpConstantComposite
: *hasResult
= true; *hasResultType
= true; break;
1643 case SpvOpConstantSampler
: *hasResult
= true; *hasResultType
= true; break;
1644 case SpvOpConstantNull
: *hasResult
= true; *hasResultType
= true; break;
1645 case SpvOpSpecConstantTrue
: *hasResult
= true; *hasResultType
= true; break;
1646 case SpvOpSpecConstantFalse
: *hasResult
= true; *hasResultType
= true; break;
1647 case SpvOpSpecConstant
: *hasResult
= true; *hasResultType
= true; break;
1648 case SpvOpSpecConstantComposite
: *hasResult
= true; *hasResultType
= true; break;
1649 case SpvOpSpecConstantOp
: *hasResult
= true; *hasResultType
= true; break;
1650 case SpvOpFunction
: *hasResult
= true; *hasResultType
= true; break;
1651 case SpvOpFunctionParameter
: *hasResult
= true; *hasResultType
= true; break;
1652 case SpvOpFunctionEnd
: *hasResult
= false; *hasResultType
= false; break;
1653 case SpvOpFunctionCall
: *hasResult
= true; *hasResultType
= true; break;
1654 case SpvOpVariable
: *hasResult
= true; *hasResultType
= true; break;
1655 case SpvOpImageTexelPointer
: *hasResult
= true; *hasResultType
= true; break;
1656 case SpvOpLoad
: *hasResult
= true; *hasResultType
= true; break;
1657 case SpvOpStore
: *hasResult
= false; *hasResultType
= false; break;
1658 case SpvOpCopyMemory
: *hasResult
= false; *hasResultType
= false; break;
1659 case SpvOpCopyMemorySized
: *hasResult
= false; *hasResultType
= false; break;
1660 case SpvOpAccessChain
: *hasResult
= true; *hasResultType
= true; break;
1661 case SpvOpInBoundsAccessChain
: *hasResult
= true; *hasResultType
= true; break;
1662 case SpvOpPtrAccessChain
: *hasResult
= true; *hasResultType
= true; break;
1663 case SpvOpArrayLength
: *hasResult
= true; *hasResultType
= true; break;
1664 case SpvOpGenericPtrMemSemantics
: *hasResult
= true; *hasResultType
= true; break;
1665 case SpvOpInBoundsPtrAccessChain
: *hasResult
= true; *hasResultType
= true; break;
1666 case SpvOpDecorate
: *hasResult
= false; *hasResultType
= false; break;
1667 case SpvOpMemberDecorate
: *hasResult
= false; *hasResultType
= false; break;
1668 case SpvOpDecorationGroup
: *hasResult
= true; *hasResultType
= false; break;
1669 case SpvOpGroupDecorate
: *hasResult
= false; *hasResultType
= false; break;
1670 case SpvOpGroupMemberDecorate
: *hasResult
= false; *hasResultType
= false; break;
1671 case SpvOpVectorExtractDynamic
: *hasResult
= true; *hasResultType
= true; break;
1672 case SpvOpVectorInsertDynamic
: *hasResult
= true; *hasResultType
= true; break;
1673 case SpvOpVectorShuffle
: *hasResult
= true; *hasResultType
= true; break;
1674 case SpvOpCompositeConstruct
: *hasResult
= true; *hasResultType
= true; break;
1675 case SpvOpCompositeExtract
: *hasResult
= true; *hasResultType
= true; break;
1676 case SpvOpCompositeInsert
: *hasResult
= true; *hasResultType
= true; break;
1677 case SpvOpCopyObject
: *hasResult
= true; *hasResultType
= true; break;
1678 case SpvOpTranspose
: *hasResult
= true; *hasResultType
= true; break;
1679 case SpvOpSampledImage
: *hasResult
= true; *hasResultType
= true; break;
1680 case SpvOpImageSampleImplicitLod
: *hasResult
= true; *hasResultType
= true; break;
1681 case SpvOpImageSampleExplicitLod
: *hasResult
= true; *hasResultType
= true; break;
1682 case SpvOpImageSampleDrefImplicitLod
: *hasResult
= true; *hasResultType
= true; break;
1683 case SpvOpImageSampleDrefExplicitLod
: *hasResult
= true; *hasResultType
= true; break;
1684 case SpvOpImageSampleProjImplicitLod
: *hasResult
= true; *hasResultType
= true; break;
1685 case SpvOpImageSampleProjExplicitLod
: *hasResult
= true; *hasResultType
= true; break;
1686 case SpvOpImageSampleProjDrefImplicitLod
: *hasResult
= true; *hasResultType
= true; break;
1687 case SpvOpImageSampleProjDrefExplicitLod
: *hasResult
= true; *hasResultType
= true; break;
1688 case SpvOpImageFetch
: *hasResult
= true; *hasResultType
= true; break;
1689 case SpvOpImageGather
: *hasResult
= true; *hasResultType
= true; break;
1690 case SpvOpImageDrefGather
: *hasResult
= true; *hasResultType
= true; break;
1691 case SpvOpImageRead
: *hasResult
= true; *hasResultType
= true; break;
1692 case SpvOpImageWrite
: *hasResult
= false; *hasResultType
= false; break;
1693 case SpvOpImage
: *hasResult
= true; *hasResultType
= true; break;
1694 case SpvOpImageQueryFormat
: *hasResult
= true; *hasResultType
= true; break;
1695 case SpvOpImageQueryOrder
: *hasResult
= true; *hasResultType
= true; break;
1696 case SpvOpImageQuerySizeLod
: *hasResult
= true; *hasResultType
= true; break;
1697 case SpvOpImageQuerySize
: *hasResult
= true; *hasResultType
= true; break;
1698 case SpvOpImageQueryLod
: *hasResult
= true; *hasResultType
= true; break;
1699 case SpvOpImageQueryLevels
: *hasResult
= true; *hasResultType
= true; break;
1700 case SpvOpImageQuerySamples
: *hasResult
= true; *hasResultType
= true; break;
1701 case SpvOpConvertFToU
: *hasResult
= true; *hasResultType
= true; break;
1702 case SpvOpConvertFToS
: *hasResult
= true; *hasResultType
= true; break;
1703 case SpvOpConvertSToF
: *hasResult
= true; *hasResultType
= true; break;
1704 case SpvOpConvertUToF
: *hasResult
= true; *hasResultType
= true; break;
1705 case SpvOpUConvert
: *hasResult
= true; *hasResultType
= true; break;
1706 case SpvOpSConvert
: *hasResult
= true; *hasResultType
= true; break;
1707 case SpvOpFConvert
: *hasResult
= true; *hasResultType
= true; break;
1708 case SpvOpQuantizeToF16
: *hasResult
= true; *hasResultType
= true; break;
1709 case SpvOpConvertPtrToU
: *hasResult
= true; *hasResultType
= true; break;
1710 case SpvOpSatConvertSToU
: *hasResult
= true; *hasResultType
= true; break;
1711 case SpvOpSatConvertUToS
: *hasResult
= true; *hasResultType
= true; break;
1712 case SpvOpConvertUToPtr
: *hasResult
= true; *hasResultType
= true; break;
1713 case SpvOpPtrCastToGeneric
: *hasResult
= true; *hasResultType
= true; break;
1714 case SpvOpGenericCastToPtr
: *hasResult
= true; *hasResultType
= true; break;
1715 case SpvOpGenericCastToPtrExplicit
: *hasResult
= true; *hasResultType
= true; break;
1716 case SpvOpBitcast
: *hasResult
= true; *hasResultType
= true; break;
1717 case SpvOpSNegate
: *hasResult
= true; *hasResultType
= true; break;
1718 case SpvOpFNegate
: *hasResult
= true; *hasResultType
= true; break;
1719 case SpvOpIAdd
: *hasResult
= true; *hasResultType
= true; break;
1720 case SpvOpFAdd
: *hasResult
= true; *hasResultType
= true; break;
1721 case SpvOpISub
: *hasResult
= true; *hasResultType
= true; break;
1722 case SpvOpFSub
: *hasResult
= true; *hasResultType
= true; break;
1723 case SpvOpIMul
: *hasResult
= true; *hasResultType
= true; break;
1724 case SpvOpFMul
: *hasResult
= true; *hasResultType
= true; break;
1725 case SpvOpUDiv
: *hasResult
= true; *hasResultType
= true; break;
1726 case SpvOpSDiv
: *hasResult
= true; *hasResultType
= true; break;
1727 case SpvOpFDiv
: *hasResult
= true; *hasResultType
= true; break;
1728 case SpvOpUMod
: *hasResult
= true; *hasResultType
= true; break;
1729 case SpvOpSRem
: *hasResult
= true; *hasResultType
= true; break;
1730 case SpvOpSMod
: *hasResult
= true; *hasResultType
= true; break;
1731 case SpvOpFRem
: *hasResult
= true; *hasResultType
= true; break;
1732 case SpvOpFMod
: *hasResult
= true; *hasResultType
= true; break;
1733 case SpvOpVectorTimesScalar
: *hasResult
= true; *hasResultType
= true; break;
1734 case SpvOpMatrixTimesScalar
: *hasResult
= true; *hasResultType
= true; break;
1735 case SpvOpVectorTimesMatrix
: *hasResult
= true; *hasResultType
= true; break;
1736 case SpvOpMatrixTimesVector
: *hasResult
= true; *hasResultType
= true; break;
1737 case SpvOpMatrixTimesMatrix
: *hasResult
= true; *hasResultType
= true; break;
1738 case SpvOpOuterProduct
: *hasResult
= true; *hasResultType
= true; break;
1739 case SpvOpDot
: *hasResult
= true; *hasResultType
= true; break;
1740 case SpvOpIAddCarry
: *hasResult
= true; *hasResultType
= true; break;
1741 case SpvOpISubBorrow
: *hasResult
= true; *hasResultType
= true; break;
1742 case SpvOpUMulExtended
: *hasResult
= true; *hasResultType
= true; break;
1743 case SpvOpSMulExtended
: *hasResult
= true; *hasResultType
= true; break;
1744 case SpvOpAny
: *hasResult
= true; *hasResultType
= true; break;
1745 case SpvOpAll
: *hasResult
= true; *hasResultType
= true; break;
1746 case SpvOpIsNan
: *hasResult
= true; *hasResultType
= true; break;
1747 case SpvOpIsInf
: *hasResult
= true; *hasResultType
= true; break;
1748 case SpvOpIsFinite
: *hasResult
= true; *hasResultType
= true; break;
1749 case SpvOpIsNormal
: *hasResult
= true; *hasResultType
= true; break;
1750 case SpvOpSignBitSet
: *hasResult
= true; *hasResultType
= true; break;
1751 case SpvOpLessOrGreater
: *hasResult
= true; *hasResultType
= true; break;
1752 case SpvOpOrdered
: *hasResult
= true; *hasResultType
= true; break;
1753 case SpvOpUnordered
: *hasResult
= true; *hasResultType
= true; break;
1754 case SpvOpLogicalEqual
: *hasResult
= true; *hasResultType
= true; break;
1755 case SpvOpLogicalNotEqual
: *hasResult
= true; *hasResultType
= true; break;
1756 case SpvOpLogicalOr
: *hasResult
= true; *hasResultType
= true; break;
1757 case SpvOpLogicalAnd
: *hasResult
= true; *hasResultType
= true; break;
1758 case SpvOpLogicalNot
: *hasResult
= true; *hasResultType
= true; break;
1759 case SpvOpSelect
: *hasResult
= true; *hasResultType
= true; break;
1760 case SpvOpIEqual
: *hasResult
= true; *hasResultType
= true; break;
1761 case SpvOpINotEqual
: *hasResult
= true; *hasResultType
= true; break;
1762 case SpvOpUGreaterThan
: *hasResult
= true; *hasResultType
= true; break;
1763 case SpvOpSGreaterThan
: *hasResult
= true; *hasResultType
= true; break;
1764 case SpvOpUGreaterThanEqual
: *hasResult
= true; *hasResultType
= true; break;
1765 case SpvOpSGreaterThanEqual
: *hasResult
= true; *hasResultType
= true; break;
1766 case SpvOpULessThan
: *hasResult
= true; *hasResultType
= true; break;
1767 case SpvOpSLessThan
: *hasResult
= true; *hasResultType
= true; break;
1768 case SpvOpULessThanEqual
: *hasResult
= true; *hasResultType
= true; break;
1769 case SpvOpSLessThanEqual
: *hasResult
= true; *hasResultType
= true; break;
1770 case SpvOpFOrdEqual
: *hasResult
= true; *hasResultType
= true; break;
1771 case SpvOpFUnordEqual
: *hasResult
= true; *hasResultType
= true; break;
1772 case SpvOpFOrdNotEqual
: *hasResult
= true; *hasResultType
= true; break;
1773 case SpvOpFUnordNotEqual
: *hasResult
= true; *hasResultType
= true; break;
1774 case SpvOpFOrdLessThan
: *hasResult
= true; *hasResultType
= true; break;
1775 case SpvOpFUnordLessThan
: *hasResult
= true; *hasResultType
= true; break;
1776 case SpvOpFOrdGreaterThan
: *hasResult
= true; *hasResultType
= true; break;
1777 case SpvOpFUnordGreaterThan
: *hasResult
= true; *hasResultType
= true; break;
1778 case SpvOpFOrdLessThanEqual
: *hasResult
= true; *hasResultType
= true; break;
1779 case SpvOpFUnordLessThanEqual
: *hasResult
= true; *hasResultType
= true; break;
1780 case SpvOpFOrdGreaterThanEqual
: *hasResult
= true; *hasResultType
= true; break;
1781 case SpvOpFUnordGreaterThanEqual
: *hasResult
= true; *hasResultType
= true; break;
1782 case SpvOpShiftRightLogical
: *hasResult
= true; *hasResultType
= true; break;
1783 case SpvOpShiftRightArithmetic
: *hasResult
= true; *hasResultType
= true; break;
1784 case SpvOpShiftLeftLogical
: *hasResult
= true; *hasResultType
= true; break;
1785 case SpvOpBitwiseOr
: *hasResult
= true; *hasResultType
= true; break;
1786 case SpvOpBitwiseXor
: *hasResult
= true; *hasResultType
= true; break;
1787 case SpvOpBitwiseAnd
: *hasResult
= true; *hasResultType
= true; break;
1788 case SpvOpNot
: *hasResult
= true; *hasResultType
= true; break;
1789 case SpvOpBitFieldInsert
: *hasResult
= true; *hasResultType
= true; break;
1790 case SpvOpBitFieldSExtract
: *hasResult
= true; *hasResultType
= true; break;
1791 case SpvOpBitFieldUExtract
: *hasResult
= true; *hasResultType
= true; break;
1792 case SpvOpBitReverse
: *hasResult
= true; *hasResultType
= true; break;
1793 case SpvOpBitCount
: *hasResult
= true; *hasResultType
= true; break;
1794 case SpvOpDPdx
: *hasResult
= true; *hasResultType
= true; break;
1795 case SpvOpDPdy
: *hasResult
= true; *hasResultType
= true; break;
1796 case SpvOpFwidth
: *hasResult
= true; *hasResultType
= true; break;
1797 case SpvOpDPdxFine
: *hasResult
= true; *hasResultType
= true; break;
1798 case SpvOpDPdyFine
: *hasResult
= true; *hasResultType
= true; break;
1799 case SpvOpFwidthFine
: *hasResult
= true; *hasResultType
= true; break;
1800 case SpvOpDPdxCoarse
: *hasResult
= true; *hasResultType
= true; break;
1801 case SpvOpDPdyCoarse
: *hasResult
= true; *hasResultType
= true; break;
1802 case SpvOpFwidthCoarse
: *hasResult
= true; *hasResultType
= true; break;
1803 case SpvOpEmitVertex
: *hasResult
= false; *hasResultType
= false; break;
1804 case SpvOpEndPrimitive
: *hasResult
= false; *hasResultType
= false; break;
1805 case SpvOpEmitStreamVertex
: *hasResult
= false; *hasResultType
= false; break;
1806 case SpvOpEndStreamPrimitive
: *hasResult
= false; *hasResultType
= false; break;
1807 case SpvOpControlBarrier
: *hasResult
= false; *hasResultType
= false; break;
1808 case SpvOpMemoryBarrier
: *hasResult
= false; *hasResultType
= false; break;
1809 case SpvOpAtomicLoad
: *hasResult
= true; *hasResultType
= true; break;
1810 case SpvOpAtomicStore
: *hasResult
= false; *hasResultType
= false; break;
1811 case SpvOpAtomicExchange
: *hasResult
= true; *hasResultType
= true; break;
1812 case SpvOpAtomicCompareExchange
: *hasResult
= true; *hasResultType
= true; break;
1813 case SpvOpAtomicCompareExchangeWeak
: *hasResult
= true; *hasResultType
= true; break;
1814 case SpvOpAtomicIIncrement
: *hasResult
= true; *hasResultType
= true; break;
1815 case SpvOpAtomicIDecrement
: *hasResult
= true; *hasResultType
= true; break;
1816 case SpvOpAtomicIAdd
: *hasResult
= true; *hasResultType
= true; break;
1817 case SpvOpAtomicISub
: *hasResult
= true; *hasResultType
= true; break;
1818 case SpvOpAtomicSMin
: *hasResult
= true; *hasResultType
= true; break;
1819 case SpvOpAtomicUMin
: *hasResult
= true; *hasResultType
= true; break;
1820 case SpvOpAtomicSMax
: *hasResult
= true; *hasResultType
= true; break;
1821 case SpvOpAtomicUMax
: *hasResult
= true; *hasResultType
= true; break;
1822 case SpvOpAtomicAnd
: *hasResult
= true; *hasResultType
= true; break;
1823 case SpvOpAtomicOr
: *hasResult
= true; *hasResultType
= true; break;
1824 case SpvOpAtomicXor
: *hasResult
= true; *hasResultType
= true; break;
1825 case SpvOpPhi
: *hasResult
= true; *hasResultType
= true; break;
1826 case SpvOpLoopMerge
: *hasResult
= false; *hasResultType
= false; break;
1827 case SpvOpSelectionMerge
: *hasResult
= false; *hasResultType
= false; break;
1828 case SpvOpLabel
: *hasResult
= true; *hasResultType
= false; break;
1829 case SpvOpBranch
: *hasResult
= false; *hasResultType
= false; break;
1830 case SpvOpBranchConditional
: *hasResult
= false; *hasResultType
= false; break;
1831 case SpvOpSwitch
: *hasResult
= false; *hasResultType
= false; break;
1832 case SpvOpKill
: *hasResult
= false; *hasResultType
= false; break;
1833 case SpvOpReturn
: *hasResult
= false; *hasResultType
= false; break;
1834 case SpvOpReturnValue
: *hasResult
= false; *hasResultType
= false; break;
1835 case SpvOpUnreachable
: *hasResult
= false; *hasResultType
= false; break;
1836 case SpvOpLifetimeStart
: *hasResult
= false; *hasResultType
= false; break;
1837 case SpvOpLifetimeStop
: *hasResult
= false; *hasResultType
= false; break;
1838 case SpvOpGroupAsyncCopy
: *hasResult
= true; *hasResultType
= true; break;
1839 case SpvOpGroupWaitEvents
: *hasResult
= false; *hasResultType
= false; break;
1840 case SpvOpGroupAll
: *hasResult
= true; *hasResultType
= true; break;
1841 case SpvOpGroupAny
: *hasResult
= true; *hasResultType
= true; break;
1842 case SpvOpGroupBroadcast
: *hasResult
= true; *hasResultType
= true; break;
1843 case SpvOpGroupIAdd
: *hasResult
= true; *hasResultType
= true; break;
1844 case SpvOpGroupFAdd
: *hasResult
= true; *hasResultType
= true; break;
1845 case SpvOpGroupFMin
: *hasResult
= true; *hasResultType
= true; break;
1846 case SpvOpGroupUMin
: *hasResult
= true; *hasResultType
= true; break;
1847 case SpvOpGroupSMin
: *hasResult
= true; *hasResultType
= true; break;
1848 case SpvOpGroupFMax
: *hasResult
= true; *hasResultType
= true; break;
1849 case SpvOpGroupUMax
: *hasResult
= true; *hasResultType
= true; break;
1850 case SpvOpGroupSMax
: *hasResult
= true; *hasResultType
= true; break;
1851 case SpvOpReadPipe
: *hasResult
= true; *hasResultType
= true; break;
1852 case SpvOpWritePipe
: *hasResult
= true; *hasResultType
= true; break;
1853 case SpvOpReservedReadPipe
: *hasResult
= true; *hasResultType
= true; break;
1854 case SpvOpReservedWritePipe
: *hasResult
= true; *hasResultType
= true; break;
1855 case SpvOpReserveReadPipePackets
: *hasResult
= true; *hasResultType
= true; break;
1856 case SpvOpReserveWritePipePackets
: *hasResult
= true; *hasResultType
= true; break;
1857 case SpvOpCommitReadPipe
: *hasResult
= false; *hasResultType
= false; break;
1858 case SpvOpCommitWritePipe
: *hasResult
= false; *hasResultType
= false; break;
1859 case SpvOpIsValidReserveId
: *hasResult
= true; *hasResultType
= true; break;
1860 case SpvOpGetNumPipePackets
: *hasResult
= true; *hasResultType
= true; break;
1861 case SpvOpGetMaxPipePackets
: *hasResult
= true; *hasResultType
= true; break;
1862 case SpvOpGroupReserveReadPipePackets
: *hasResult
= true; *hasResultType
= true; break;
1863 case SpvOpGroupReserveWritePipePackets
: *hasResult
= true; *hasResultType
= true; break;
1864 case SpvOpGroupCommitReadPipe
: *hasResult
= false; *hasResultType
= false; break;
1865 case SpvOpGroupCommitWritePipe
: *hasResult
= false; *hasResultType
= false; break;
1866 case SpvOpEnqueueMarker
: *hasResult
= true; *hasResultType
= true; break;
1867 case SpvOpEnqueueKernel
: *hasResult
= true; *hasResultType
= true; break;
1868 case SpvOpGetKernelNDrangeSubGroupCount
: *hasResult
= true; *hasResultType
= true; break;
1869 case SpvOpGetKernelNDrangeMaxSubGroupSize
: *hasResult
= true; *hasResultType
= true; break;
1870 case SpvOpGetKernelWorkGroupSize
: *hasResult
= true; *hasResultType
= true; break;
1871 case SpvOpGetKernelPreferredWorkGroupSizeMultiple
: *hasResult
= true; *hasResultType
= true; break;
1872 case SpvOpRetainEvent
: *hasResult
= false; *hasResultType
= false; break;
1873 case SpvOpReleaseEvent
: *hasResult
= false; *hasResultType
= false; break;
1874 case SpvOpCreateUserEvent
: *hasResult
= true; *hasResultType
= true; break;
1875 case SpvOpIsValidEvent
: *hasResult
= true; *hasResultType
= true; break;
1876 case SpvOpSetUserEventStatus
: *hasResult
= false; *hasResultType
= false; break;
1877 case SpvOpCaptureEventProfilingInfo
: *hasResult
= false; *hasResultType
= false; break;
1878 case SpvOpGetDefaultQueue
: *hasResult
= true; *hasResultType
= true; break;
1879 case SpvOpBuildNDRange
: *hasResult
= true; *hasResultType
= true; break;
1880 case SpvOpImageSparseSampleImplicitLod
: *hasResult
= true; *hasResultType
= true; break;
1881 case SpvOpImageSparseSampleExplicitLod
: *hasResult
= true; *hasResultType
= true; break;
1882 case SpvOpImageSparseSampleDrefImplicitLod
: *hasResult
= true; *hasResultType
= true; break;
1883 case SpvOpImageSparseSampleDrefExplicitLod
: *hasResult
= true; *hasResultType
= true; break;
1884 case SpvOpImageSparseSampleProjImplicitLod
: *hasResult
= true; *hasResultType
= true; break;
1885 case SpvOpImageSparseSampleProjExplicitLod
: *hasResult
= true; *hasResultType
= true; break;
1886 case SpvOpImageSparseSampleProjDrefImplicitLod
: *hasResult
= true; *hasResultType
= true; break;
1887 case SpvOpImageSparseSampleProjDrefExplicitLod
: *hasResult
= true; *hasResultType
= true; break;
1888 case SpvOpImageSparseFetch
: *hasResult
= true; *hasResultType
= true; break;
1889 case SpvOpImageSparseGather
: *hasResult
= true; *hasResultType
= true; break;
1890 case SpvOpImageSparseDrefGather
: *hasResult
= true; *hasResultType
= true; break;
1891 case SpvOpImageSparseTexelsResident
: *hasResult
= true; *hasResultType
= true; break;
1892 case SpvOpNoLine
: *hasResult
= false; *hasResultType
= false; break;
1893 case SpvOpAtomicFlagTestAndSet
: *hasResult
= true; *hasResultType
= true; break;
1894 case SpvOpAtomicFlagClear
: *hasResult
= false; *hasResultType
= false; break;
1895 case SpvOpImageSparseRead
: *hasResult
= true; *hasResultType
= true; break;
1896 case SpvOpSizeOf
: *hasResult
= true; *hasResultType
= true; break;
1897 case SpvOpTypePipeStorage
: *hasResult
= true; *hasResultType
= false; break;
1898 case SpvOpConstantPipeStorage
: *hasResult
= true; *hasResultType
= true; break;
1899 case SpvOpCreatePipeFromPipeStorage
: *hasResult
= true; *hasResultType
= true; break;
1900 case SpvOpGetKernelLocalSizeForSubgroupCount
: *hasResult
= true; *hasResultType
= true; break;
1901 case SpvOpGetKernelMaxNumSubgroups
: *hasResult
= true; *hasResultType
= true; break;
1902 case SpvOpTypeNamedBarrier
: *hasResult
= true; *hasResultType
= false; break;
1903 case SpvOpNamedBarrierInitialize
: *hasResult
= true; *hasResultType
= true; break;
1904 case SpvOpMemoryNamedBarrier
: *hasResult
= false; *hasResultType
= false; break;
1905 case SpvOpModuleProcessed
: *hasResult
= false; *hasResultType
= false; break;
1906 case SpvOpExecutionModeId
: *hasResult
= false; *hasResultType
= false; break;
1907 case SpvOpDecorateId
: *hasResult
= false; *hasResultType
= false; break;
1908 case SpvOpGroupNonUniformElect
: *hasResult
= true; *hasResultType
= true; break;
1909 case SpvOpGroupNonUniformAll
: *hasResult
= true; *hasResultType
= true; break;
1910 case SpvOpGroupNonUniformAny
: *hasResult
= true; *hasResultType
= true; break;
1911 case SpvOpGroupNonUniformAllEqual
: *hasResult
= true; *hasResultType
= true; break;
1912 case SpvOpGroupNonUniformBroadcast
: *hasResult
= true; *hasResultType
= true; break;
1913 case SpvOpGroupNonUniformBroadcastFirst
: *hasResult
= true; *hasResultType
= true; break;
1914 case SpvOpGroupNonUniformBallot
: *hasResult
= true; *hasResultType
= true; break;
1915 case SpvOpGroupNonUniformInverseBallot
: *hasResult
= true; *hasResultType
= true; break;
1916 case SpvOpGroupNonUniformBallotBitExtract
: *hasResult
= true; *hasResultType
= true; break;
1917 case SpvOpGroupNonUniformBallotBitCount
: *hasResult
= true; *hasResultType
= true; break;
1918 case SpvOpGroupNonUniformBallotFindLSB
: *hasResult
= true; *hasResultType
= true; break;
1919 case SpvOpGroupNonUniformBallotFindMSB
: *hasResult
= true; *hasResultType
= true; break;
1920 case SpvOpGroupNonUniformShuffle
: *hasResult
= true; *hasResultType
= true; break;
1921 case SpvOpGroupNonUniformShuffleXor
: *hasResult
= true; *hasResultType
= true; break;
1922 case SpvOpGroupNonUniformShuffleUp
: *hasResult
= true; *hasResultType
= true; break;
1923 case SpvOpGroupNonUniformShuffleDown
: *hasResult
= true; *hasResultType
= true; break;
1924 case SpvOpGroupNonUniformIAdd
: *hasResult
= true; *hasResultType
= true; break;
1925 case SpvOpGroupNonUniformFAdd
: *hasResult
= true; *hasResultType
= true; break;
1926 case SpvOpGroupNonUniformIMul
: *hasResult
= true; *hasResultType
= true; break;
1927 case SpvOpGroupNonUniformFMul
: *hasResult
= true; *hasResultType
= true; break;
1928 case SpvOpGroupNonUniformSMin
: *hasResult
= true; *hasResultType
= true; break;
1929 case SpvOpGroupNonUniformUMin
: *hasResult
= true; *hasResultType
= true; break;
1930 case SpvOpGroupNonUniformFMin
: *hasResult
= true; *hasResultType
= true; break;
1931 case SpvOpGroupNonUniformSMax
: *hasResult
= true; *hasResultType
= true; break;
1932 case SpvOpGroupNonUniformUMax
: *hasResult
= true; *hasResultType
= true; break;
1933 case SpvOpGroupNonUniformFMax
: *hasResult
= true; *hasResultType
= true; break;
1934 case SpvOpGroupNonUniformBitwiseAnd
: *hasResult
= true; *hasResultType
= true; break;
1935 case SpvOpGroupNonUniformBitwiseOr
: *hasResult
= true; *hasResultType
= true; break;
1936 case SpvOpGroupNonUniformBitwiseXor
: *hasResult
= true; *hasResultType
= true; break;
1937 case SpvOpGroupNonUniformLogicalAnd
: *hasResult
= true; *hasResultType
= true; break;
1938 case SpvOpGroupNonUniformLogicalOr
: *hasResult
= true; *hasResultType
= true; break;
1939 case SpvOpGroupNonUniformLogicalXor
: *hasResult
= true; *hasResultType
= true; break;
1940 case SpvOpGroupNonUniformQuadBroadcast
: *hasResult
= true; *hasResultType
= true; break;
1941 case SpvOpGroupNonUniformQuadSwap
: *hasResult
= true; *hasResultType
= true; break;
1942 case SpvOpCopyLogical
: *hasResult
= true; *hasResultType
= true; break;
1943 case SpvOpPtrEqual
: *hasResult
= true; *hasResultType
= true; break;
1944 case SpvOpPtrNotEqual
: *hasResult
= true; *hasResultType
= true; break;
1945 case SpvOpPtrDiff
: *hasResult
= true; *hasResultType
= true; break;
1946 case SpvOpSubgroupBallotKHR
: *hasResult
= true; *hasResultType
= true; break;
1947 case SpvOpSubgroupFirstInvocationKHR
: *hasResult
= true; *hasResultType
= true; break;
1948 case SpvOpSubgroupAllKHR
: *hasResult
= true; *hasResultType
= true; break;
1949 case SpvOpSubgroupAnyKHR
: *hasResult
= true; *hasResultType
= true; break;
1950 case SpvOpSubgroupAllEqualKHR
: *hasResult
= true; *hasResultType
= true; break;
1951 case SpvOpSubgroupReadInvocationKHR
: *hasResult
= true; *hasResultType
= true; break;
1952 case SpvOpTypeRayQueryProvisionalKHR
: *hasResult
= true; *hasResultType
= false; break;
1953 case SpvOpRayQueryInitializeKHR
: *hasResult
= false; *hasResultType
= false; break;
1954 case SpvOpRayQueryTerminateKHR
: *hasResult
= false; *hasResultType
= false; break;
1955 case SpvOpRayQueryGenerateIntersectionKHR
: *hasResult
= false; *hasResultType
= false; break;
1956 case SpvOpRayQueryConfirmIntersectionKHR
: *hasResult
= false; *hasResultType
= false; break;
1957 case SpvOpRayQueryProceedKHR
: *hasResult
= true; *hasResultType
= true; break;
1958 case SpvOpRayQueryGetIntersectionTypeKHR
: *hasResult
= true; *hasResultType
= true; break;
1959 case SpvOpGroupIAddNonUniformAMD
: *hasResult
= true; *hasResultType
= true; break;
1960 case SpvOpGroupFAddNonUniformAMD
: *hasResult
= true; *hasResultType
= true; break;
1961 case SpvOpGroupFMinNonUniformAMD
: *hasResult
= true; *hasResultType
= true; break;
1962 case SpvOpGroupUMinNonUniformAMD
: *hasResult
= true; *hasResultType
= true; break;
1963 case SpvOpGroupSMinNonUniformAMD
: *hasResult
= true; *hasResultType
= true; break;
1964 case SpvOpGroupFMaxNonUniformAMD
: *hasResult
= true; *hasResultType
= true; break;
1965 case SpvOpGroupUMaxNonUniformAMD
: *hasResult
= true; *hasResultType
= true; break;
1966 case SpvOpGroupSMaxNonUniformAMD
: *hasResult
= true; *hasResultType
= true; break;
1967 case SpvOpFragmentMaskFetchAMD
: *hasResult
= true; *hasResultType
= true; break;
1968 case SpvOpFragmentFetchAMD
: *hasResult
= true; *hasResultType
= true; break;
1969 case SpvOpReadClockKHR
: *hasResult
= true; *hasResultType
= true; break;
1970 case SpvOpImageSampleFootprintNV
: *hasResult
= true; *hasResultType
= true; break;
1971 case SpvOpGroupNonUniformPartitionNV
: *hasResult
= true; *hasResultType
= true; break;
1972 case SpvOpWritePackedPrimitiveIndices4x8NV
: *hasResult
= false; *hasResultType
= false; break;
1973 case SpvOpReportIntersectionNV
: *hasResult
= true; *hasResultType
= true; break;
1974 case SpvOpIgnoreIntersectionNV
: *hasResult
= false; *hasResultType
= false; break;
1975 case SpvOpTerminateRayNV
: *hasResult
= false; *hasResultType
= false; break;
1976 case SpvOpTraceNV
: *hasResult
= false; *hasResultType
= false; break;
1977 case SpvOpTypeAccelerationStructureNV
: *hasResult
= true; *hasResultType
= false; break;
1978 case SpvOpExecuteCallableNV
: *hasResult
= false; *hasResultType
= false; break;
1979 case SpvOpTypeCooperativeMatrixNV
: *hasResult
= true; *hasResultType
= false; break;
1980 case SpvOpCooperativeMatrixLoadNV
: *hasResult
= true; *hasResultType
= true; break;
1981 case SpvOpCooperativeMatrixStoreNV
: *hasResult
= false; *hasResultType
= false; break;
1982 case SpvOpCooperativeMatrixMulAddNV
: *hasResult
= true; *hasResultType
= true; break;
1983 case SpvOpCooperativeMatrixLengthNV
: *hasResult
= true; *hasResultType
= true; break;
1984 case SpvOpBeginInvocationInterlockEXT
: *hasResult
= false; *hasResultType
= false; break;
1985 case SpvOpEndInvocationInterlockEXT
: *hasResult
= false; *hasResultType
= false; break;
1986 case SpvOpDemoteToHelperInvocationEXT
: *hasResult
= false; *hasResultType
= false; break;
1987 case SpvOpIsHelperInvocationEXT
: *hasResult
= true; *hasResultType
= true; break;
1988 case SpvOpSubgroupShuffleINTEL
: *hasResult
= true; *hasResultType
= true; break;
1989 case SpvOpSubgroupShuffleDownINTEL
: *hasResult
= true; *hasResultType
= true; break;
1990 case SpvOpSubgroupShuffleUpINTEL
: *hasResult
= true; *hasResultType
= true; break;
1991 case SpvOpSubgroupShuffleXorINTEL
: *hasResult
= true; *hasResultType
= true; break;
1992 case SpvOpSubgroupBlockReadINTEL
: *hasResult
= true; *hasResultType
= true; break;
1993 case SpvOpSubgroupBlockWriteINTEL
: *hasResult
= false; *hasResultType
= false; break;
1994 case SpvOpSubgroupImageBlockReadINTEL
: *hasResult
= true; *hasResultType
= true; break;
1995 case SpvOpSubgroupImageBlockWriteINTEL
: *hasResult
= false; *hasResultType
= false; break;
1996 case SpvOpSubgroupImageMediaBlockReadINTEL
: *hasResult
= true; *hasResultType
= true; break;
1997 case SpvOpSubgroupImageMediaBlockWriteINTEL
: *hasResult
= false; *hasResultType
= false; break;
1998 case SpvOpUCountLeadingZerosINTEL
: *hasResult
= true; *hasResultType
= true; break;
1999 case SpvOpUCountTrailingZerosINTEL
: *hasResult
= true; *hasResultType
= true; break;
2000 case SpvOpAbsISubINTEL
: *hasResult
= true; *hasResultType
= true; break;
2001 case SpvOpAbsUSubINTEL
: *hasResult
= true; *hasResultType
= true; break;
2002 case SpvOpIAddSatINTEL
: *hasResult
= true; *hasResultType
= true; break;
2003 case SpvOpUAddSatINTEL
: *hasResult
= true; *hasResultType
= true; break;
2004 case SpvOpIAverageINTEL
: *hasResult
= true; *hasResultType
= true; break;
2005 case SpvOpUAverageINTEL
: *hasResult
= true; *hasResultType
= true; break;
2006 case SpvOpIAverageRoundedINTEL
: *hasResult
= true; *hasResultType
= true; break;
2007 case SpvOpUAverageRoundedINTEL
: *hasResult
= true; *hasResultType
= true; break;
2008 case SpvOpISubSatINTEL
: *hasResult
= true; *hasResultType
= true; break;
2009 case SpvOpUSubSatINTEL
: *hasResult
= true; *hasResultType
= true; break;
2010 case SpvOpIMul32x16INTEL
: *hasResult
= true; *hasResultType
= true; break;
2011 case SpvOpUMul32x16INTEL
: *hasResult
= true; *hasResultType
= true; break;
2012 case SpvOpFunctionPointerINTEL
: *hasResult
= true; *hasResultType
= true; break;
2013 case SpvOpFunctionPointerCallINTEL
: *hasResult
= true; *hasResultType
= true; break;
2014 case SpvOpDecorateString
: *hasResult
= false; *hasResultType
= false; break;
2015 case SpvOpMemberDecorateString
: *hasResult
= false; *hasResultType
= false; break;
2016 case SpvOpVmeImageINTEL
: *hasResult
= true; *hasResultType
= true; break;
2017 case SpvOpTypeVmeImageINTEL
: *hasResult
= true; *hasResultType
= false; break;
2018 case SpvOpTypeAvcImePayloadINTEL
: *hasResult
= true; *hasResultType
= false; break;
2019 case SpvOpTypeAvcRefPayloadINTEL
: *hasResult
= true; *hasResultType
= false; break;
2020 case SpvOpTypeAvcSicPayloadINTEL
: *hasResult
= true; *hasResultType
= false; break;
2021 case SpvOpTypeAvcMcePayloadINTEL
: *hasResult
= true; *hasResultType
= false; break;
2022 case SpvOpTypeAvcMceResultINTEL
: *hasResult
= true; *hasResultType
= false; break;
2023 case SpvOpTypeAvcImeResultINTEL
: *hasResult
= true; *hasResultType
= false; break;
2024 case SpvOpTypeAvcImeResultSingleReferenceStreamoutINTEL
: *hasResult
= true; *hasResultType
= false; break;
2025 case SpvOpTypeAvcImeResultDualReferenceStreamoutINTEL
: *hasResult
= true; *hasResultType
= false; break;
2026 case SpvOpTypeAvcImeSingleReferenceStreaminINTEL
: *hasResult
= true; *hasResultType
= false; break;
2027 case SpvOpTypeAvcImeDualReferenceStreaminINTEL
: *hasResult
= true; *hasResultType
= false; break;
2028 case SpvOpTypeAvcRefResultINTEL
: *hasResult
= true; *hasResultType
= false; break;
2029 case SpvOpTypeAvcSicResultINTEL
: *hasResult
= true; *hasResultType
= false; break;
2030 case SpvOpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL
: *hasResult
= true; *hasResultType
= true; break;
2031 case SpvOpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL
: *hasResult
= true; *hasResultType
= true; break;
2032 case SpvOpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL
: *hasResult
= true; *hasResultType
= true; break;
2033 case SpvOpSubgroupAvcMceSetInterShapePenaltyINTEL
: *hasResult
= true; *hasResultType
= true; break;
2034 case SpvOpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL
: *hasResult
= true; *hasResultType
= true; break;
2035 case SpvOpSubgroupAvcMceSetInterDirectionPenaltyINTEL
: *hasResult
= true; *hasResultType
= true; break;
2036 case SpvOpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL
: *hasResult
= true; *hasResultType
= true; break;
2037 case SpvOpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL
: *hasResult
= true; *hasResultType
= true; break;
2038 case SpvOpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL
: *hasResult
= true; *hasResultType
= true; break;
2039 case SpvOpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL
: *hasResult
= true; *hasResultType
= true; break;
2040 case SpvOpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL
: *hasResult
= true; *hasResultType
= true; break;
2041 case SpvOpSubgroupAvcMceSetMotionVectorCostFunctionINTEL
: *hasResult
= true; *hasResultType
= true; break;
2042 case SpvOpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL
: *hasResult
= true; *hasResultType
= true; break;
2043 case SpvOpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL
: *hasResult
= true; *hasResultType
= true; break;
2044 case SpvOpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL
: *hasResult
= true; *hasResultType
= true; break;
2045 case SpvOpSubgroupAvcMceSetAcOnlyHaarINTEL
: *hasResult
= true; *hasResultType
= true; break;
2046 case SpvOpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL
: *hasResult
= true; *hasResultType
= true; break;
2047 case SpvOpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL
: *hasResult
= true; *hasResultType
= true; break;
2048 case SpvOpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL
: *hasResult
= true; *hasResultType
= true; break;
2049 case SpvOpSubgroupAvcMceConvertToImePayloadINTEL
: *hasResult
= true; *hasResultType
= true; break;
2050 case SpvOpSubgroupAvcMceConvertToImeResultINTEL
: *hasResult
= true; *hasResultType
= true; break;
2051 case SpvOpSubgroupAvcMceConvertToRefPayloadINTEL
: *hasResult
= true; *hasResultType
= true; break;
2052 case SpvOpSubgroupAvcMceConvertToRefResultINTEL
: *hasResult
= true; *hasResultType
= true; break;
2053 case SpvOpSubgroupAvcMceConvertToSicPayloadINTEL
: *hasResult
= true; *hasResultType
= true; break;
2054 case SpvOpSubgroupAvcMceConvertToSicResultINTEL
: *hasResult
= true; *hasResultType
= true; break;
2055 case SpvOpSubgroupAvcMceGetMotionVectorsINTEL
: *hasResult
= true; *hasResultType
= true; break;
2056 case SpvOpSubgroupAvcMceGetInterDistortionsINTEL
: *hasResult
= true; *hasResultType
= true; break;
2057 case SpvOpSubgroupAvcMceGetBestInterDistortionsINTEL
: *hasResult
= true; *hasResultType
= true; break;
2058 case SpvOpSubgroupAvcMceGetInterMajorShapeINTEL
: *hasResult
= true; *hasResultType
= true; break;
2059 case SpvOpSubgroupAvcMceGetInterMinorShapeINTEL
: *hasResult
= true; *hasResultType
= true; break;
2060 case SpvOpSubgroupAvcMceGetInterDirectionsINTEL
: *hasResult
= true; *hasResultType
= true; break;
2061 case SpvOpSubgroupAvcMceGetInterMotionVectorCountINTEL
: *hasResult
= true; *hasResultType
= true; break;
2062 case SpvOpSubgroupAvcMceGetInterReferenceIdsINTEL
: *hasResult
= true; *hasResultType
= true; break;
2063 case SpvOpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL
: *hasResult
= true; *hasResultType
= true; break;
2064 case SpvOpSubgroupAvcImeInitializeINTEL
: *hasResult
= true; *hasResultType
= true; break;
2065 case SpvOpSubgroupAvcImeSetSingleReferenceINTEL
: *hasResult
= true; *hasResultType
= true; break;
2066 case SpvOpSubgroupAvcImeSetDualReferenceINTEL
: *hasResult
= true; *hasResultType
= true; break;
2067 case SpvOpSubgroupAvcImeRefWindowSizeINTEL
: *hasResult
= true; *hasResultType
= true; break;
2068 case SpvOpSubgroupAvcImeAdjustRefOffsetINTEL
: *hasResult
= true; *hasResultType
= true; break;
2069 case SpvOpSubgroupAvcImeConvertToMcePayloadINTEL
: *hasResult
= true; *hasResultType
= true; break;
2070 case SpvOpSubgroupAvcImeSetMaxMotionVectorCountINTEL
: *hasResult
= true; *hasResultType
= true; break;
2071 case SpvOpSubgroupAvcImeSetUnidirectionalMixDisableINTEL
: *hasResult
= true; *hasResultType
= true; break;
2072 case SpvOpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL
: *hasResult
= true; *hasResultType
= true; break;
2073 case SpvOpSubgroupAvcImeSetWeightedSadINTEL
: *hasResult
= true; *hasResultType
= true; break;
2074 case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceINTEL
: *hasResult
= true; *hasResultType
= true; break;
2075 case SpvOpSubgroupAvcImeEvaluateWithDualReferenceINTEL
: *hasResult
= true; *hasResultType
= true; break;
2076 case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL
: *hasResult
= true; *hasResultType
= true; break;
2077 case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL
: *hasResult
= true; *hasResultType
= true; break;
2078 case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL
: *hasResult
= true; *hasResultType
= true; break;
2079 case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL
: *hasResult
= true; *hasResultType
= true; break;
2080 case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL
: *hasResult
= true; *hasResultType
= true; break;
2081 case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL
: *hasResult
= true; *hasResultType
= true; break;
2082 case SpvOpSubgroupAvcImeConvertToMceResultINTEL
: *hasResult
= true; *hasResultType
= true; break;
2083 case SpvOpSubgroupAvcImeGetSingleReferenceStreaminINTEL
: *hasResult
= true; *hasResultType
= true; break;
2084 case SpvOpSubgroupAvcImeGetDualReferenceStreaminINTEL
: *hasResult
= true; *hasResultType
= true; break;
2085 case SpvOpSubgroupAvcImeStripSingleReferenceStreamoutINTEL
: *hasResult
= true; *hasResultType
= true; break;
2086 case SpvOpSubgroupAvcImeStripDualReferenceStreamoutINTEL
: *hasResult
= true; *hasResultType
= true; break;
2087 case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL
: *hasResult
= true; *hasResultType
= true; break;
2088 case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL
: *hasResult
= true; *hasResultType
= true; break;
2089 case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL
: *hasResult
= true; *hasResultType
= true; break;
2090 case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL
: *hasResult
= true; *hasResultType
= true; break;
2091 case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL
: *hasResult
= true; *hasResultType
= true; break;
2092 case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL
: *hasResult
= true; *hasResultType
= true; break;
2093 case SpvOpSubgroupAvcImeGetBorderReachedINTEL
: *hasResult
= true; *hasResultType
= true; break;
2094 case SpvOpSubgroupAvcImeGetTruncatedSearchIndicationINTEL
: *hasResult
= true; *hasResultType
= true; break;
2095 case SpvOpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL
: *hasResult
= true; *hasResultType
= true; break;
2096 case SpvOpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL
: *hasResult
= true; *hasResultType
= true; break;
2097 case SpvOpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL
: *hasResult
= true; *hasResultType
= true; break;
2098 case SpvOpSubgroupAvcFmeInitializeINTEL
: *hasResult
= true; *hasResultType
= true; break;
2099 case SpvOpSubgroupAvcBmeInitializeINTEL
: *hasResult
= true; *hasResultType
= true; break;
2100 case SpvOpSubgroupAvcRefConvertToMcePayloadINTEL
: *hasResult
= true; *hasResultType
= true; break;
2101 case SpvOpSubgroupAvcRefSetBidirectionalMixDisableINTEL
: *hasResult
= true; *hasResultType
= true; break;
2102 case SpvOpSubgroupAvcRefSetBilinearFilterEnableINTEL
: *hasResult
= true; *hasResultType
= true; break;
2103 case SpvOpSubgroupAvcRefEvaluateWithSingleReferenceINTEL
: *hasResult
= true; *hasResultType
= true; break;
2104 case SpvOpSubgroupAvcRefEvaluateWithDualReferenceINTEL
: *hasResult
= true; *hasResultType
= true; break;
2105 case SpvOpSubgroupAvcRefEvaluateWithMultiReferenceINTEL
: *hasResult
= true; *hasResultType
= true; break;
2106 case SpvOpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL
: *hasResult
= true; *hasResultType
= true; break;
2107 case SpvOpSubgroupAvcRefConvertToMceResultINTEL
: *hasResult
= true; *hasResultType
= true; break;
2108 case SpvOpSubgroupAvcSicInitializeINTEL
: *hasResult
= true; *hasResultType
= true; break;
2109 case SpvOpSubgroupAvcSicConfigureSkcINTEL
: *hasResult
= true; *hasResultType
= true; break;
2110 case SpvOpSubgroupAvcSicConfigureIpeLumaINTEL
: *hasResult
= true; *hasResultType
= true; break;
2111 case SpvOpSubgroupAvcSicConfigureIpeLumaChromaINTEL
: *hasResult
= true; *hasResultType
= true; break;
2112 case SpvOpSubgroupAvcSicGetMotionVectorMaskINTEL
: *hasResult
= true; *hasResultType
= true; break;
2113 case SpvOpSubgroupAvcSicConvertToMcePayloadINTEL
: *hasResult
= true; *hasResultType
= true; break;
2114 case SpvOpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL
: *hasResult
= true; *hasResultType
= true; break;
2115 case SpvOpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL
: *hasResult
= true; *hasResultType
= true; break;
2116 case SpvOpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL
: *hasResult
= true; *hasResultType
= true; break;
2117 case SpvOpSubgroupAvcSicSetBilinearFilterEnableINTEL
: *hasResult
= true; *hasResultType
= true; break;
2118 case SpvOpSubgroupAvcSicSetSkcForwardTransformEnableINTEL
: *hasResult
= true; *hasResultType
= true; break;
2119 case SpvOpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL
: *hasResult
= true; *hasResultType
= true; break;
2120 case SpvOpSubgroupAvcSicEvaluateIpeINTEL
: *hasResult
= true; *hasResultType
= true; break;
2121 case SpvOpSubgroupAvcSicEvaluateWithSingleReferenceINTEL
: *hasResult
= true; *hasResultType
= true; break;
2122 case SpvOpSubgroupAvcSicEvaluateWithDualReferenceINTEL
: *hasResult
= true; *hasResultType
= true; break;
2123 case SpvOpSubgroupAvcSicEvaluateWithMultiReferenceINTEL
: *hasResult
= true; *hasResultType
= true; break;
2124 case SpvOpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL
: *hasResult
= true; *hasResultType
= true; break;
2125 case SpvOpSubgroupAvcSicConvertToMceResultINTEL
: *hasResult
= true; *hasResultType
= true; break;
2126 case SpvOpSubgroupAvcSicGetIpeLumaShapeINTEL
: *hasResult
= true; *hasResultType
= true; break;
2127 case SpvOpSubgroupAvcSicGetBestIpeLumaDistortionINTEL
: *hasResult
= true; *hasResultType
= true; break;
2128 case SpvOpSubgroupAvcSicGetBestIpeChromaDistortionINTEL
: *hasResult
= true; *hasResultType
= true; break;
2129 case SpvOpSubgroupAvcSicGetPackedIpeLumaModesINTEL
: *hasResult
= true; *hasResultType
= true; break;
2130 case SpvOpSubgroupAvcSicGetIpeChromaModeINTEL
: *hasResult
= true; *hasResultType
= true; break;
2131 case SpvOpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL
: *hasResult
= true; *hasResultType
= true; break;
2132 case SpvOpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL
: *hasResult
= true; *hasResultType
= true; break;
2133 case SpvOpSubgroupAvcSicGetInterRawSadsINTEL
: *hasResult
= true; *hasResultType
= true; break;
2134 case SpvOpLoopControlINTEL
: *hasResult
= false; *hasResultType
= false; break;
2135 case SpvOpReadPipeBlockingINTEL
: *hasResult
= true; *hasResultType
= true; break;
2136 case SpvOpWritePipeBlockingINTEL
: *hasResult
= true; *hasResultType
= true; break;
2137 case SpvOpFPGARegINTEL
: *hasResult
= true; *hasResultType
= true; break;
2138 case SpvOpRayQueryGetRayTMinKHR
: *hasResult
= true; *hasResultType
= true; break;
2139 case SpvOpRayQueryGetRayFlagsKHR
: *hasResult
= true; *hasResultType
= true; break;
2140 case SpvOpRayQueryGetIntersectionTKHR
: *hasResult
= true; *hasResultType
= true; break;
2141 case SpvOpRayQueryGetIntersectionInstanceCustomIndexKHR
: *hasResult
= true; *hasResultType
= true; break;
2142 case SpvOpRayQueryGetIntersectionInstanceIdKHR
: *hasResult
= true; *hasResultType
= true; break;
2143 case SpvOpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR
: *hasResult
= true; *hasResultType
= true; break;
2144 case SpvOpRayQueryGetIntersectionGeometryIndexKHR
: *hasResult
= true; *hasResultType
= true; break;
2145 case SpvOpRayQueryGetIntersectionPrimitiveIndexKHR
: *hasResult
= true; *hasResultType
= true; break;
2146 case SpvOpRayQueryGetIntersectionBarycentricsKHR
: *hasResult
= true; *hasResultType
= true; break;
2147 case SpvOpRayQueryGetIntersectionFrontFaceKHR
: *hasResult
= true; *hasResultType
= true; break;
2148 case SpvOpRayQueryGetIntersectionCandidateAABBOpaqueKHR
: *hasResult
= true; *hasResultType
= true; break;
2149 case SpvOpRayQueryGetIntersectionObjectRayDirectionKHR
: *hasResult
= true; *hasResultType
= true; break;
2150 case SpvOpRayQueryGetIntersectionObjectRayOriginKHR
: *hasResult
= true; *hasResultType
= true; break;
2151 case SpvOpRayQueryGetWorldRayDirectionKHR
: *hasResult
= true; *hasResultType
= true; break;
2152 case SpvOpRayQueryGetWorldRayOriginKHR
: *hasResult
= true; *hasResultType
= true; break;
2153 case SpvOpRayQueryGetIntersectionObjectToWorldKHR
: *hasResult
= true; *hasResultType
= true; break;
2154 case SpvOpRayQueryGetIntersectionWorldToObjectKHR
: *hasResult
= true; *hasResultType
= true; break;
2155 case SpvOpAtomicFAddEXT
: *hasResult
= true; *hasResultType
= true; break;
2158 #endif /* SPV_ENABLE_UTILITY_CODE */