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