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