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