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