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