1 // Copyright (c) 2014-2024 The Khronos Group Inc.
3 // Permission is hereby granted, free of charge, to any person obtaining a copy
4 // of this software and/or associated documentation files (the "Materials"),
5 // to deal in the Materials without restriction, including without limitation
6 // the rights to use, copy, modify, merge, publish, distribute, sublicense,
7 // and/or sell copies of the Materials, and to permit persons to whom the
8 // Materials are furnished to do so, subject to the following conditions:
10 // The above copyright notice and this permission notice shall be included in
11 // all copies or substantial portions of the Materials.
13 // MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS
14 // STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND
15 // HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/
17 // THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
18 // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20 // THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22 // FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS
25 // This header is automatically generated by the same tool that creates
26 // the Binary Section of the SPIR-V specification.
28 // Enumeration tokens for SPIR-V, in various styles:
29 // C, C++, C++11, JSON, Lua, Python, C#, D, Beef
31 // - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
32 // - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
33 // - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL
34 // - Lua will use tables, e.g.: spv.SourceLanguage.GLSL
35 // - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']
36 // - C# will use enum classes in the Specification class located in the "Spv" namespace,
37 // e.g.: Spv.Specification.SourceLanguage.GLSL
38 // - D will have tokens under the "spv" module, e.g: spv.SourceLanguage.GLSL
39 // - Beef will use enum classes in the Specification class located in the "Spv" namespace,
40 // e.g.: Spv.Specification.SourceLanguage.GLSL
42 // Some tokens act like mask values, which can be OR'd together,
43 // while others are mutually exclusive. The mask-like ones have
44 // "Mask" in their name, and a parallel enum that has the shift
45 // amount (1 << x) for each corresponding enumerant.
52 typedef unsigned int Id
;
54 #define SPV_VERSION 0x10600
55 #define SPV_REVISION 1
57 static const unsigned int MagicNumber
= 0x07230203;
58 static const unsigned int Version
= 0x00010600;
59 static const unsigned int Revision
= 1;
60 static const unsigned int OpCodeMask
= 0xffff;
61 static const unsigned int WordCountShift
= 16;
64 SourceLanguageUnknown
= 0,
65 SourceLanguageESSL
= 1,
66 SourceLanguageGLSL
= 2,
67 SourceLanguageOpenCL_C
= 3,
68 SourceLanguageOpenCL_CPP
= 4,
69 SourceLanguageHLSL
= 5,
70 SourceLanguageCPP_for_OpenCL
= 6,
71 SourceLanguageSYCL
= 7,
72 SourceLanguageMax
= 0x7fffffff,
76 ExecutionModelVertex
= 0,
77 ExecutionModelTessellationControl
= 1,
78 ExecutionModelTessellationEvaluation
= 2,
79 ExecutionModelGeometry
= 3,
80 ExecutionModelFragment
= 4,
81 ExecutionModelGLCompute
= 5,
82 ExecutionModelKernel
= 6,
83 ExecutionModelTaskNV
= 5267,
84 ExecutionModelMeshNV
= 5268,
85 ExecutionModelRayGenerationKHR
= 5313,
86 ExecutionModelRayGenerationNV
= 5313,
87 ExecutionModelIntersectionKHR
= 5314,
88 ExecutionModelIntersectionNV
= 5314,
89 ExecutionModelAnyHitKHR
= 5315,
90 ExecutionModelAnyHitNV
= 5315,
91 ExecutionModelClosestHitKHR
= 5316,
92 ExecutionModelClosestHitNV
= 5316,
93 ExecutionModelMissKHR
= 5317,
94 ExecutionModelMissNV
= 5317,
95 ExecutionModelCallableKHR
= 5318,
96 ExecutionModelCallableNV
= 5318,
97 ExecutionModelTaskEXT
= 5364,
98 ExecutionModelMeshEXT
= 5365,
99 ExecutionModelMax
= 0x7fffffff,
102 enum AddressingModel
{
103 AddressingModelLogical
= 0,
104 AddressingModelPhysical32
= 1,
105 AddressingModelPhysical64
= 2,
106 AddressingModelPhysicalStorageBuffer64
= 5348,
107 AddressingModelPhysicalStorageBuffer64EXT
= 5348,
108 AddressingModelMax
= 0x7fffffff,
112 MemoryModelSimple
= 0,
113 MemoryModelGLSL450
= 1,
114 MemoryModelOpenCL
= 2,
115 MemoryModelVulkan
= 3,
116 MemoryModelVulkanKHR
= 3,
117 MemoryModelMax
= 0x7fffffff,
121 ExecutionModeInvocations
= 0,
122 ExecutionModeSpacingEqual
= 1,
123 ExecutionModeSpacingFractionalEven
= 2,
124 ExecutionModeSpacingFractionalOdd
= 3,
125 ExecutionModeVertexOrderCw
= 4,
126 ExecutionModeVertexOrderCcw
= 5,
127 ExecutionModePixelCenterInteger
= 6,
128 ExecutionModeOriginUpperLeft
= 7,
129 ExecutionModeOriginLowerLeft
= 8,
130 ExecutionModeEarlyFragmentTests
= 9,
131 ExecutionModePointMode
= 10,
132 ExecutionModeXfb
= 11,
133 ExecutionModeDepthReplacing
= 12,
134 ExecutionModeDepthGreater
= 14,
135 ExecutionModeDepthLess
= 15,
136 ExecutionModeDepthUnchanged
= 16,
137 ExecutionModeLocalSize
= 17,
138 ExecutionModeLocalSizeHint
= 18,
139 ExecutionModeInputPoints
= 19,
140 ExecutionModeInputLines
= 20,
141 ExecutionModeInputLinesAdjacency
= 21,
142 ExecutionModeTriangles
= 22,
143 ExecutionModeInputTrianglesAdjacency
= 23,
144 ExecutionModeQuads
= 24,
145 ExecutionModeIsolines
= 25,
146 ExecutionModeOutputVertices
= 26,
147 ExecutionModeOutputPoints
= 27,
148 ExecutionModeOutputLineStrip
= 28,
149 ExecutionModeOutputTriangleStrip
= 29,
150 ExecutionModeVecTypeHint
= 30,
151 ExecutionModeContractionOff
= 31,
152 ExecutionModeInitializer
= 33,
153 ExecutionModeFinalizer
= 34,
154 ExecutionModeSubgroupSize
= 35,
155 ExecutionModeSubgroupsPerWorkgroup
= 36,
156 ExecutionModeSubgroupsPerWorkgroupId
= 37,
157 ExecutionModeLocalSizeId
= 38,
158 ExecutionModeLocalSizeHintId
= 39,
159 ExecutionModeSubgroupUniformControlFlowKHR
= 4421,
160 ExecutionModePostDepthCoverage
= 4446,
161 ExecutionModeDenormPreserve
= 4459,
162 ExecutionModeDenormFlushToZero
= 4460,
163 ExecutionModeSignedZeroInfNanPreserve
= 4461,
164 ExecutionModeRoundingModeRTE
= 4462,
165 ExecutionModeRoundingModeRTZ
= 4463,
166 ExecutionModeEarlyAndLateFragmentTestsAMD
= 5017,
167 ExecutionModeStencilRefReplacingEXT
= 5027,
168 ExecutionModeStencilRefUnchangedFrontAMD
= 5079,
169 ExecutionModeStencilRefGreaterFrontAMD
= 5080,
170 ExecutionModeStencilRefLessFrontAMD
= 5081,
171 ExecutionModeStencilRefUnchangedBackAMD
= 5082,
172 ExecutionModeStencilRefGreaterBackAMD
= 5083,
173 ExecutionModeStencilRefLessBackAMD
= 5084,
174 ExecutionModeOutputLinesEXT
= 5269,
175 ExecutionModeOutputLinesNV
= 5269,
176 ExecutionModeOutputPrimitivesEXT
= 5270,
177 ExecutionModeOutputPrimitivesNV
= 5270,
178 ExecutionModeDerivativeGroupQuadsNV
= 5289,
179 ExecutionModeDerivativeGroupLinearNV
= 5290,
180 ExecutionModeOutputTrianglesEXT
= 5298,
181 ExecutionModeOutputTrianglesNV
= 5298,
182 ExecutionModePixelInterlockOrderedEXT
= 5366,
183 ExecutionModePixelInterlockUnorderedEXT
= 5367,
184 ExecutionModeSampleInterlockOrderedEXT
= 5368,
185 ExecutionModeSampleInterlockUnorderedEXT
= 5369,
186 ExecutionModeShadingRateInterlockOrderedEXT
= 5370,
187 ExecutionModeShadingRateInterlockUnorderedEXT
= 5371,
188 ExecutionModeSharedLocalMemorySizeINTEL
= 5618,
189 ExecutionModeRoundingModeRTPINTEL
= 5620,
190 ExecutionModeRoundingModeRTNINTEL
= 5621,
191 ExecutionModeFloatingPointModeALTINTEL
= 5622,
192 ExecutionModeFloatingPointModeIEEEINTEL
= 5623,
193 ExecutionModeMaxWorkgroupSizeINTEL
= 5893,
194 ExecutionModeMaxWorkDimINTEL
= 5894,
195 ExecutionModeNoGlobalOffsetINTEL
= 5895,
196 ExecutionModeNumSIMDWorkitemsINTEL
= 5896,
197 ExecutionModeSchedulerTargetFmaxMhzINTEL
= 5903,
198 ExecutionModeNamedBarrierCountINTEL
= 6417,
199 ExecutionModeMax
= 0x7fffffff,
203 StorageClassUniformConstant
= 0,
204 StorageClassInput
= 1,
205 StorageClassUniform
= 2,
206 StorageClassOutput
= 3,
207 StorageClassWorkgroup
= 4,
208 StorageClassCrossWorkgroup
= 5,
209 StorageClassPrivate
= 6,
210 StorageClassFunction
= 7,
211 StorageClassGeneric
= 8,
212 StorageClassPushConstant
= 9,
213 StorageClassAtomicCounter
= 10,
214 StorageClassImage
= 11,
215 StorageClassStorageBuffer
= 12,
216 StorageClassCallableDataKHR
= 5328,
217 StorageClassCallableDataNV
= 5328,
218 StorageClassIncomingCallableDataKHR
= 5329,
219 StorageClassIncomingCallableDataNV
= 5329,
220 StorageClassRayPayloadKHR
= 5338,
221 StorageClassRayPayloadNV
= 5338,
222 StorageClassHitAttributeKHR
= 5339,
223 StorageClassHitAttributeNV
= 5339,
224 StorageClassIncomingRayPayloadKHR
= 5342,
225 StorageClassIncomingRayPayloadNV
= 5342,
226 StorageClassShaderRecordBufferKHR
= 5343,
227 StorageClassShaderRecordBufferNV
= 5343,
228 StorageClassPhysicalStorageBuffer
= 5349,
229 StorageClassPhysicalStorageBufferEXT
= 5349,
230 StorageClassTaskPayloadWorkgroupEXT
= 5402,
231 StorageClassCodeSectionINTEL
= 5605,
232 StorageClassDeviceOnlyINTEL
= 5936,
233 StorageClassHostOnlyINTEL
= 5937,
234 StorageClassMax
= 0x7fffffff,
248 enum SamplerAddressingMode
{
249 SamplerAddressingModeNone
= 0,
250 SamplerAddressingModeClampToEdge
= 1,
251 SamplerAddressingModeClamp
= 2,
252 SamplerAddressingModeRepeat
= 3,
253 SamplerAddressingModeRepeatMirrored
= 4,
254 SamplerAddressingModeMax
= 0x7fffffff,
257 enum SamplerFilterMode
{
258 SamplerFilterModeNearest
= 0,
259 SamplerFilterModeLinear
= 1,
260 SamplerFilterModeMax
= 0x7fffffff,
264 ImageFormatUnknown
= 0,
265 ImageFormatRgba32f
= 1,
266 ImageFormatRgba16f
= 2,
268 ImageFormatRgba8
= 4,
269 ImageFormatRgba8Snorm
= 5,
270 ImageFormatRg32f
= 6,
271 ImageFormatRg16f
= 7,
272 ImageFormatR11fG11fB10f
= 8,
274 ImageFormatRgba16
= 10,
275 ImageFormatRgb10A2
= 11,
276 ImageFormatRg16
= 12,
280 ImageFormatRgba16Snorm
= 16,
281 ImageFormatRg16Snorm
= 17,
282 ImageFormatRg8Snorm
= 18,
283 ImageFormatR16Snorm
= 19,
284 ImageFormatR8Snorm
= 20,
285 ImageFormatRgba32i
= 21,
286 ImageFormatRgba16i
= 22,
287 ImageFormatRgba8i
= 23,
288 ImageFormatR32i
= 24,
289 ImageFormatRg32i
= 25,
290 ImageFormatRg16i
= 26,
291 ImageFormatRg8i
= 27,
292 ImageFormatR16i
= 28,
294 ImageFormatRgba32ui
= 30,
295 ImageFormatRgba16ui
= 31,
296 ImageFormatRgba8ui
= 32,
297 ImageFormatR32ui
= 33,
298 ImageFormatRgb10a2ui
= 34,
299 ImageFormatRg32ui
= 35,
300 ImageFormatRg16ui
= 36,
301 ImageFormatRg8ui
= 37,
302 ImageFormatR16ui
= 38,
303 ImageFormatR8ui
= 39,
304 ImageFormatR64ui
= 40,
305 ImageFormatR64i
= 41,
306 ImageFormatMax
= 0x7fffffff,
309 enum ImageChannelOrder
{
310 ImageChannelOrderR
= 0,
311 ImageChannelOrderA
= 1,
312 ImageChannelOrderRG
= 2,
313 ImageChannelOrderRA
= 3,
314 ImageChannelOrderRGB
= 4,
315 ImageChannelOrderRGBA
= 5,
316 ImageChannelOrderBGRA
= 6,
317 ImageChannelOrderARGB
= 7,
318 ImageChannelOrderIntensity
= 8,
319 ImageChannelOrderLuminance
= 9,
320 ImageChannelOrderRx
= 10,
321 ImageChannelOrderRGx
= 11,
322 ImageChannelOrderRGBx
= 12,
323 ImageChannelOrderDepth
= 13,
324 ImageChannelOrderDepthStencil
= 14,
325 ImageChannelOrdersRGB
= 15,
326 ImageChannelOrdersRGBx
= 16,
327 ImageChannelOrdersRGBA
= 17,
328 ImageChannelOrdersBGRA
= 18,
329 ImageChannelOrderABGR
= 19,
330 ImageChannelOrderMax
= 0x7fffffff,
333 enum ImageChannelDataType
{
334 ImageChannelDataTypeSnormInt8
= 0,
335 ImageChannelDataTypeSnormInt16
= 1,
336 ImageChannelDataTypeUnormInt8
= 2,
337 ImageChannelDataTypeUnormInt16
= 3,
338 ImageChannelDataTypeUnormShort565
= 4,
339 ImageChannelDataTypeUnormShort555
= 5,
340 ImageChannelDataTypeUnormInt101010
= 6,
341 ImageChannelDataTypeSignedInt8
= 7,
342 ImageChannelDataTypeSignedInt16
= 8,
343 ImageChannelDataTypeSignedInt32
= 9,
344 ImageChannelDataTypeUnsignedInt8
= 10,
345 ImageChannelDataTypeUnsignedInt16
= 11,
346 ImageChannelDataTypeUnsignedInt32
= 12,
347 ImageChannelDataTypeHalfFloat
= 13,
348 ImageChannelDataTypeFloat
= 14,
349 ImageChannelDataTypeUnormInt24
= 15,
350 ImageChannelDataTypeUnormInt101010_2
= 16,
351 ImageChannelDataTypeMax
= 0x7fffffff,
354 enum ImageOperandsShift
{
355 ImageOperandsBiasShift
= 0,
356 ImageOperandsLodShift
= 1,
357 ImageOperandsGradShift
= 2,
358 ImageOperandsConstOffsetShift
= 3,
359 ImageOperandsOffsetShift
= 4,
360 ImageOperandsConstOffsetsShift
= 5,
361 ImageOperandsSampleShift
= 6,
362 ImageOperandsMinLodShift
= 7,
363 ImageOperandsMakeTexelAvailableShift
= 8,
364 ImageOperandsMakeTexelAvailableKHRShift
= 8,
365 ImageOperandsMakeTexelVisibleShift
= 9,
366 ImageOperandsMakeTexelVisibleKHRShift
= 9,
367 ImageOperandsNonPrivateTexelShift
= 10,
368 ImageOperandsNonPrivateTexelKHRShift
= 10,
369 ImageOperandsVolatileTexelShift
= 11,
370 ImageOperandsVolatileTexelKHRShift
= 11,
371 ImageOperandsSignExtendShift
= 12,
372 ImageOperandsZeroExtendShift
= 13,
373 ImageOperandsNontemporalShift
= 14,
374 ImageOperandsOffsetsShift
= 16,
375 ImageOperandsMax
= 0x7fffffff,
378 enum ImageOperandsMask
{
379 ImageOperandsMaskNone
= 0,
380 ImageOperandsBiasMask
= 0x00000001,
381 ImageOperandsLodMask
= 0x00000002,
382 ImageOperandsGradMask
= 0x00000004,
383 ImageOperandsConstOffsetMask
= 0x00000008,
384 ImageOperandsOffsetMask
= 0x00000010,
385 ImageOperandsConstOffsetsMask
= 0x00000020,
386 ImageOperandsSampleMask
= 0x00000040,
387 ImageOperandsMinLodMask
= 0x00000080,
388 ImageOperandsMakeTexelAvailableMask
= 0x00000100,
389 ImageOperandsMakeTexelAvailableKHRMask
= 0x00000100,
390 ImageOperandsMakeTexelVisibleMask
= 0x00000200,
391 ImageOperandsMakeTexelVisibleKHRMask
= 0x00000200,
392 ImageOperandsNonPrivateTexelMask
= 0x00000400,
393 ImageOperandsNonPrivateTexelKHRMask
= 0x00000400,
394 ImageOperandsVolatileTexelMask
= 0x00000800,
395 ImageOperandsVolatileTexelKHRMask
= 0x00000800,
396 ImageOperandsSignExtendMask
= 0x00001000,
397 ImageOperandsZeroExtendMask
= 0x00002000,
398 ImageOperandsNontemporalMask
= 0x00004000,
399 ImageOperandsOffsetsMask
= 0x00010000,
402 enum FPFastMathModeShift
{
403 FPFastMathModeNotNaNShift
= 0,
404 FPFastMathModeNotInfShift
= 1,
405 FPFastMathModeNSZShift
= 2,
406 FPFastMathModeAllowRecipShift
= 3,
407 FPFastMathModeFastShift
= 4,
408 FPFastMathModeAllowContractFastINTELShift
= 16,
409 FPFastMathModeAllowReassocINTELShift
= 17,
410 FPFastMathModeMax
= 0x7fffffff,
413 enum FPFastMathModeMask
{
414 FPFastMathModeMaskNone
= 0,
415 FPFastMathModeNotNaNMask
= 0x00000001,
416 FPFastMathModeNotInfMask
= 0x00000002,
417 FPFastMathModeNSZMask
= 0x00000004,
418 FPFastMathModeAllowRecipMask
= 0x00000008,
419 FPFastMathModeFastMask
= 0x00000010,
420 FPFastMathModeAllowContractFastINTELMask
= 0x00010000,
421 FPFastMathModeAllowReassocINTELMask
= 0x00020000,
424 enum FPRoundingMode
{
425 FPRoundingModeRTE
= 0,
426 FPRoundingModeRTZ
= 1,
427 FPRoundingModeRTP
= 2,
428 FPRoundingModeRTN
= 3,
429 FPRoundingModeMax
= 0x7fffffff,
433 LinkageTypeExport
= 0,
434 LinkageTypeImport
= 1,
435 LinkageTypeLinkOnceODR
= 2,
436 LinkageTypeMax
= 0x7fffffff,
439 enum AccessQualifier
{
440 AccessQualifierReadOnly
= 0,
441 AccessQualifierWriteOnly
= 1,
442 AccessQualifierReadWrite
= 2,
443 AccessQualifierMax
= 0x7fffffff,
446 enum FunctionParameterAttribute
{
447 FunctionParameterAttributeZext
= 0,
448 FunctionParameterAttributeSext
= 1,
449 FunctionParameterAttributeByVal
= 2,
450 FunctionParameterAttributeSret
= 3,
451 FunctionParameterAttributeNoAlias
= 4,
452 FunctionParameterAttributeNoCapture
= 5,
453 FunctionParameterAttributeNoWrite
= 6,
454 FunctionParameterAttributeNoReadWrite
= 7,
455 FunctionParameterAttributeMax
= 0x7fffffff,
459 DecorationRelaxedPrecision
= 0,
460 DecorationSpecId
= 1,
462 DecorationBufferBlock
= 3,
463 DecorationRowMajor
= 4,
464 DecorationColMajor
= 5,
465 DecorationArrayStride
= 6,
466 DecorationMatrixStride
= 7,
467 DecorationGLSLShared
= 8,
468 DecorationGLSLPacked
= 9,
469 DecorationCPacked
= 10,
470 DecorationBuiltIn
= 11,
471 DecorationNoPerspective
= 13,
473 DecorationPatch
= 15,
474 DecorationCentroid
= 16,
475 DecorationSample
= 17,
476 DecorationInvariant
= 18,
477 DecorationRestrict
= 19,
478 DecorationAliased
= 20,
479 DecorationVolatile
= 21,
480 DecorationConstant
= 22,
481 DecorationCoherent
= 23,
482 DecorationNonWritable
= 24,
483 DecorationNonReadable
= 25,
484 DecorationUniform
= 26,
485 DecorationUniformId
= 27,
486 DecorationSaturatedConversion
= 28,
487 DecorationStream
= 29,
488 DecorationLocation
= 30,
489 DecorationComponent
= 31,
490 DecorationIndex
= 32,
491 DecorationBinding
= 33,
492 DecorationDescriptorSet
= 34,
493 DecorationOffset
= 35,
494 DecorationXfbBuffer
= 36,
495 DecorationXfbStride
= 37,
496 DecorationFuncParamAttr
= 38,
497 DecorationFPRoundingMode
= 39,
498 DecorationFPFastMathMode
= 40,
499 DecorationLinkageAttributes
= 41,
500 DecorationNoContraction
= 42,
501 DecorationInputAttachmentIndex
= 43,
502 DecorationAlignment
= 44,
503 DecorationMaxByteOffset
= 45,
504 DecorationAlignmentId
= 46,
505 DecorationMaxByteOffsetId
= 47,
506 DecorationNoSignedWrap
= 4469,
507 DecorationNoUnsignedWrap
= 4470,
508 DecorationWeightTextureQCOM
= 4487,
509 DecorationBlockMatchTextureQCOM
= 4488,
510 DecorationBlockMatchSamplerQCOM
= 4499,
511 DecorationExplicitInterpAMD
= 4999,
512 DecorationOverrideCoverageNV
= 5248,
513 DecorationPassthroughNV
= 5250,
514 DecorationViewportRelativeNV
= 5252,
515 DecorationSecondaryViewportRelativeNV
= 5256,
516 DecorationPerPrimitiveEXT
= 5271,
517 DecorationPerPrimitiveNV
= 5271,
518 DecorationPerViewNV
= 5272,
519 DecorationPerTaskNV
= 5273,
520 DecorationPerVertexKHR
= 5285,
521 DecorationPerVertexNV
= 5285,
522 DecorationNonUniform
= 5300,
523 DecorationNonUniformEXT
= 5300,
524 DecorationRestrictPointer
= 5355,
525 DecorationRestrictPointerEXT
= 5355,
526 DecorationAliasedPointer
= 5356,
527 DecorationAliasedPointerEXT
= 5356,
528 DecorationBindlessSamplerNV
= 5398,
529 DecorationBindlessImageNV
= 5399,
530 DecorationBoundSamplerNV
= 5400,
531 DecorationBoundImageNV
= 5401,
532 DecorationSIMTCallINTEL
= 5599,
533 DecorationReferencedIndirectlyINTEL
= 5602,
534 DecorationClobberINTEL
= 5607,
535 DecorationSideEffectsINTEL
= 5608,
536 DecorationVectorComputeVariableINTEL
= 5624,
537 DecorationFuncParamIOKindINTEL
= 5625,
538 DecorationVectorComputeFunctionINTEL
= 5626,
539 DecorationStackCallINTEL
= 5627,
540 DecorationGlobalVariableOffsetINTEL
= 5628,
541 DecorationCounterBuffer
= 5634,
542 DecorationHlslCounterBufferGOOGLE
= 5634,
543 DecorationHlslSemanticGOOGLE
= 5635,
544 DecorationUserSemantic
= 5635,
545 DecorationUserTypeGOOGLE
= 5636,
546 DecorationFunctionRoundingModeINTEL
= 5822,
547 DecorationFunctionDenormModeINTEL
= 5823,
548 DecorationRegisterINTEL
= 5825,
549 DecorationMemoryINTEL
= 5826,
550 DecorationNumbanksINTEL
= 5827,
551 DecorationBankwidthINTEL
= 5828,
552 DecorationMaxPrivateCopiesINTEL
= 5829,
553 DecorationSinglepumpINTEL
= 5830,
554 DecorationDoublepumpINTEL
= 5831,
555 DecorationMaxReplicatesINTEL
= 5832,
556 DecorationSimpleDualPortINTEL
= 5833,
557 DecorationMergeINTEL
= 5834,
558 DecorationBankBitsINTEL
= 5835,
559 DecorationForcePow2DepthINTEL
= 5836,
560 DecorationBurstCoalesceINTEL
= 5899,
561 DecorationCacheSizeINTEL
= 5900,
562 DecorationDontStaticallyCoalesceINTEL
= 5901,
563 DecorationPrefetchINTEL
= 5902,
564 DecorationStallEnableINTEL
= 5905,
565 DecorationFuseLoopsInFunctionINTEL
= 5907,
566 DecorationAliasScopeINTEL
= 5914,
567 DecorationNoAliasINTEL
= 5915,
568 DecorationBufferLocationINTEL
= 5921,
569 DecorationIOPipeStorageINTEL
= 5944,
570 DecorationFunctionFloatingPointModeINTEL
= 6080,
571 DecorationSingleElementVectorINTEL
= 6085,
572 DecorationVectorComputeCallableFunctionINTEL
= 6087,
573 DecorationMediaBlockIOINTEL
= 6140,
574 DecorationMax
= 0x7fffffff,
579 BuiltInPointSize
= 1,
580 BuiltInClipDistance
= 3,
581 BuiltInCullDistance
= 4,
583 BuiltInInstanceId
= 6,
584 BuiltInPrimitiveId
= 7,
585 BuiltInInvocationId
= 8,
587 BuiltInViewportIndex
= 10,
588 BuiltInTessLevelOuter
= 11,
589 BuiltInTessLevelInner
= 12,
590 BuiltInTessCoord
= 13,
591 BuiltInPatchVertices
= 14,
592 BuiltInFragCoord
= 15,
593 BuiltInPointCoord
= 16,
594 BuiltInFrontFacing
= 17,
595 BuiltInSampleId
= 18,
596 BuiltInSamplePosition
= 19,
597 BuiltInSampleMask
= 20,
598 BuiltInFragDepth
= 22,
599 BuiltInHelperInvocation
= 23,
600 BuiltInNumWorkgroups
= 24,
601 BuiltInWorkgroupSize
= 25,
602 BuiltInWorkgroupId
= 26,
603 BuiltInLocalInvocationId
= 27,
604 BuiltInGlobalInvocationId
= 28,
605 BuiltInLocalInvocationIndex
= 29,
607 BuiltInGlobalSize
= 31,
608 BuiltInEnqueuedWorkgroupSize
= 32,
609 BuiltInGlobalOffset
= 33,
610 BuiltInGlobalLinearId
= 34,
611 BuiltInSubgroupSize
= 36,
612 BuiltInSubgroupMaxSize
= 37,
613 BuiltInNumSubgroups
= 38,
614 BuiltInNumEnqueuedSubgroups
= 39,
615 BuiltInSubgroupId
= 40,
616 BuiltInSubgroupLocalInvocationId
= 41,
617 BuiltInVertexIndex
= 42,
618 BuiltInInstanceIndex
= 43,
619 BuiltInSubgroupEqMask
= 4416,
620 BuiltInSubgroupEqMaskKHR
= 4416,
621 BuiltInSubgroupGeMask
= 4417,
622 BuiltInSubgroupGeMaskKHR
= 4417,
623 BuiltInSubgroupGtMask
= 4418,
624 BuiltInSubgroupGtMaskKHR
= 4418,
625 BuiltInSubgroupLeMask
= 4419,
626 BuiltInSubgroupLeMaskKHR
= 4419,
627 BuiltInSubgroupLtMask
= 4420,
628 BuiltInSubgroupLtMaskKHR
= 4420,
629 BuiltInBaseVertex
= 4424,
630 BuiltInBaseInstance
= 4425,
631 BuiltInDrawIndex
= 4426,
632 BuiltInPrimitiveShadingRateKHR
= 4432,
633 BuiltInDeviceIndex
= 4438,
634 BuiltInViewIndex
= 4440,
635 BuiltInShadingRateKHR
= 4444,
636 BuiltInBaryCoordNoPerspAMD
= 4992,
637 BuiltInBaryCoordNoPerspCentroidAMD
= 4993,
638 BuiltInBaryCoordNoPerspSampleAMD
= 4994,
639 BuiltInBaryCoordSmoothAMD
= 4995,
640 BuiltInBaryCoordSmoothCentroidAMD
= 4996,
641 BuiltInBaryCoordSmoothSampleAMD
= 4997,
642 BuiltInBaryCoordPullModelAMD
= 4998,
643 BuiltInFragStencilRefEXT
= 5014,
644 BuiltInViewportMaskNV
= 5253,
645 BuiltInSecondaryPositionNV
= 5257,
646 BuiltInSecondaryViewportMaskNV
= 5258,
647 BuiltInPositionPerViewNV
= 5261,
648 BuiltInViewportMaskPerViewNV
= 5262,
649 BuiltInFullyCoveredEXT
= 5264,
650 BuiltInTaskCountNV
= 5274,
651 BuiltInPrimitiveCountNV
= 5275,
652 BuiltInPrimitiveIndicesNV
= 5276,
653 BuiltInClipDistancePerViewNV
= 5277,
654 BuiltInCullDistancePerViewNV
= 5278,
655 BuiltInLayerPerViewNV
= 5279,
656 BuiltInMeshViewCountNV
= 5280,
657 BuiltInMeshViewIndicesNV
= 5281,
658 BuiltInBaryCoordKHR
= 5286,
659 BuiltInBaryCoordNV
= 5286,
660 BuiltInBaryCoordNoPerspKHR
= 5287,
661 BuiltInBaryCoordNoPerspNV
= 5287,
662 BuiltInFragSizeEXT
= 5292,
663 BuiltInFragmentSizeNV
= 5292,
664 BuiltInFragInvocationCountEXT
= 5293,
665 BuiltInInvocationsPerPixelNV
= 5293,
666 BuiltInPrimitivePointIndicesEXT
= 5294,
667 BuiltInPrimitiveLineIndicesEXT
= 5295,
668 BuiltInPrimitiveTriangleIndicesEXT
= 5296,
669 BuiltInCullPrimitiveEXT
= 5299,
670 BuiltInLaunchIdKHR
= 5319,
671 BuiltInLaunchIdNV
= 5319,
672 BuiltInLaunchSizeKHR
= 5320,
673 BuiltInLaunchSizeNV
= 5320,
674 BuiltInWorldRayOriginKHR
= 5321,
675 BuiltInWorldRayOriginNV
= 5321,
676 BuiltInWorldRayDirectionKHR
= 5322,
677 BuiltInWorldRayDirectionNV
= 5322,
678 BuiltInObjectRayOriginKHR
= 5323,
679 BuiltInObjectRayOriginNV
= 5323,
680 BuiltInObjectRayDirectionKHR
= 5324,
681 BuiltInObjectRayDirectionNV
= 5324,
682 BuiltInRayTminKHR
= 5325,
683 BuiltInRayTminNV
= 5325,
684 BuiltInRayTmaxKHR
= 5326,
685 BuiltInRayTmaxNV
= 5326,
686 BuiltInInstanceCustomIndexKHR
= 5327,
687 BuiltInInstanceCustomIndexNV
= 5327,
688 BuiltInObjectToWorldKHR
= 5330,
689 BuiltInObjectToWorldNV
= 5330,
690 BuiltInWorldToObjectKHR
= 5331,
691 BuiltInWorldToObjectNV
= 5331,
692 BuiltInHitTNV
= 5332,
693 BuiltInHitKindKHR
= 5333,
694 BuiltInHitKindNV
= 5333,
695 BuiltInCurrentRayTimeNV
= 5334,
696 BuiltInIncomingRayFlagsKHR
= 5351,
697 BuiltInIncomingRayFlagsNV
= 5351,
698 BuiltInRayGeometryIndexKHR
= 5352,
699 BuiltInWarpsPerSMNV
= 5374,
700 BuiltInSMCountNV
= 5375,
701 BuiltInWarpIDNV
= 5376,
702 BuiltInSMIDNV
= 5377,
703 BuiltInCullMaskKHR
= 6021,
704 BuiltInMax
= 0x7fffffff,
707 enum SelectionControlShift
{
708 SelectionControlFlattenShift
= 0,
709 SelectionControlDontFlattenShift
= 1,
710 SelectionControlMax
= 0x7fffffff,
713 enum SelectionControlMask
{
714 SelectionControlMaskNone
= 0,
715 SelectionControlFlattenMask
= 0x00000001,
716 SelectionControlDontFlattenMask
= 0x00000002,
719 enum LoopControlShift
{
720 LoopControlUnrollShift
= 0,
721 LoopControlDontUnrollShift
= 1,
722 LoopControlDependencyInfiniteShift
= 2,
723 LoopControlDependencyLengthShift
= 3,
724 LoopControlMinIterationsShift
= 4,
725 LoopControlMaxIterationsShift
= 5,
726 LoopControlIterationMultipleShift
= 6,
727 LoopControlPeelCountShift
= 7,
728 LoopControlPartialCountShift
= 8,
729 LoopControlInitiationIntervalINTELShift
= 16,
730 LoopControlMaxConcurrencyINTELShift
= 17,
731 LoopControlDependencyArrayINTELShift
= 18,
732 LoopControlPipelineEnableINTELShift
= 19,
733 LoopControlLoopCoalesceINTELShift
= 20,
734 LoopControlMaxInterleavingINTELShift
= 21,
735 LoopControlSpeculatedIterationsINTELShift
= 22,
736 LoopControlNoFusionINTELShift
= 23,
737 LoopControlMax
= 0x7fffffff,
740 enum LoopControlMask
{
741 LoopControlMaskNone
= 0,
742 LoopControlUnrollMask
= 0x00000001,
743 LoopControlDontUnrollMask
= 0x00000002,
744 LoopControlDependencyInfiniteMask
= 0x00000004,
745 LoopControlDependencyLengthMask
= 0x00000008,
746 LoopControlMinIterationsMask
= 0x00000010,
747 LoopControlMaxIterationsMask
= 0x00000020,
748 LoopControlIterationMultipleMask
= 0x00000040,
749 LoopControlPeelCountMask
= 0x00000080,
750 LoopControlPartialCountMask
= 0x00000100,
751 LoopControlInitiationIntervalINTELMask
= 0x00010000,
752 LoopControlMaxConcurrencyINTELMask
= 0x00020000,
753 LoopControlDependencyArrayINTELMask
= 0x00040000,
754 LoopControlPipelineEnableINTELMask
= 0x00080000,
755 LoopControlLoopCoalesceINTELMask
= 0x00100000,
756 LoopControlMaxInterleavingINTELMask
= 0x00200000,
757 LoopControlSpeculatedIterationsINTELMask
= 0x00400000,
758 LoopControlNoFusionINTELMask
= 0x00800000,
761 enum FunctionControlShift
{
762 FunctionControlInlineShift
= 0,
763 FunctionControlDontInlineShift
= 1,
764 FunctionControlPureShift
= 2,
765 FunctionControlConstShift
= 3,
766 FunctionControlOptNoneINTELShift
= 16,
767 FunctionControlMax
= 0x7fffffff,
770 enum FunctionControlMask
{
771 FunctionControlMaskNone
= 0,
772 FunctionControlInlineMask
= 0x00000001,
773 FunctionControlDontInlineMask
= 0x00000002,
774 FunctionControlPureMask
= 0x00000004,
775 FunctionControlConstMask
= 0x00000008,
776 FunctionControlOptNoneINTELMask
= 0x00010000,
779 enum MemorySemanticsShift
{
780 MemorySemanticsAcquireShift
= 1,
781 MemorySemanticsReleaseShift
= 2,
782 MemorySemanticsAcquireReleaseShift
= 3,
783 MemorySemanticsSequentiallyConsistentShift
= 4,
784 MemorySemanticsUniformMemoryShift
= 6,
785 MemorySemanticsSubgroupMemoryShift
= 7,
786 MemorySemanticsWorkgroupMemoryShift
= 8,
787 MemorySemanticsCrossWorkgroupMemoryShift
= 9,
788 MemorySemanticsAtomicCounterMemoryShift
= 10,
789 MemorySemanticsImageMemoryShift
= 11,
790 MemorySemanticsOutputMemoryShift
= 12,
791 MemorySemanticsOutputMemoryKHRShift
= 12,
792 MemorySemanticsMakeAvailableShift
= 13,
793 MemorySemanticsMakeAvailableKHRShift
= 13,
794 MemorySemanticsMakeVisibleShift
= 14,
795 MemorySemanticsMakeVisibleKHRShift
= 14,
796 MemorySemanticsVolatileShift
= 15,
797 MemorySemanticsMax
= 0x7fffffff,
800 enum MemorySemanticsMask
{
801 MemorySemanticsMaskNone
= 0,
802 MemorySemanticsAcquireMask
= 0x00000002,
803 MemorySemanticsReleaseMask
= 0x00000004,
804 MemorySemanticsAcquireReleaseMask
= 0x00000008,
805 MemorySemanticsSequentiallyConsistentMask
= 0x00000010,
806 MemorySemanticsUniformMemoryMask
= 0x00000040,
807 MemorySemanticsSubgroupMemoryMask
= 0x00000080,
808 MemorySemanticsWorkgroupMemoryMask
= 0x00000100,
809 MemorySemanticsCrossWorkgroupMemoryMask
= 0x00000200,
810 MemorySemanticsAtomicCounterMemoryMask
= 0x00000400,
811 MemorySemanticsImageMemoryMask
= 0x00000800,
812 MemorySemanticsOutputMemoryMask
= 0x00001000,
813 MemorySemanticsOutputMemoryKHRMask
= 0x00001000,
814 MemorySemanticsMakeAvailableMask
= 0x00002000,
815 MemorySemanticsMakeAvailableKHRMask
= 0x00002000,
816 MemorySemanticsMakeVisibleMask
= 0x00004000,
817 MemorySemanticsMakeVisibleKHRMask
= 0x00004000,
818 MemorySemanticsVolatileMask
= 0x00008000,
821 enum MemoryAccessShift
{
822 MemoryAccessVolatileShift
= 0,
823 MemoryAccessAlignedShift
= 1,
824 MemoryAccessNontemporalShift
= 2,
825 MemoryAccessMakePointerAvailableShift
= 3,
826 MemoryAccessMakePointerAvailableKHRShift
= 3,
827 MemoryAccessMakePointerVisibleShift
= 4,
828 MemoryAccessMakePointerVisibleKHRShift
= 4,
829 MemoryAccessNonPrivatePointerShift
= 5,
830 MemoryAccessNonPrivatePointerKHRShift
= 5,
831 MemoryAccessAliasScopeINTELMaskShift
= 16,
832 MemoryAccessNoAliasINTELMaskShift
= 17,
833 MemoryAccessMax
= 0x7fffffff,
836 enum MemoryAccessMask
{
837 MemoryAccessMaskNone
= 0,
838 MemoryAccessVolatileMask
= 0x00000001,
839 MemoryAccessAlignedMask
= 0x00000002,
840 MemoryAccessNontemporalMask
= 0x00000004,
841 MemoryAccessMakePointerAvailableMask
= 0x00000008,
842 MemoryAccessMakePointerAvailableKHRMask
= 0x00000008,
843 MemoryAccessMakePointerVisibleMask
= 0x00000010,
844 MemoryAccessMakePointerVisibleKHRMask
= 0x00000010,
845 MemoryAccessNonPrivatePointerMask
= 0x00000020,
846 MemoryAccessNonPrivatePointerKHRMask
= 0x00000020,
847 MemoryAccessAliasScopeINTELMaskMask
= 0x00010000,
848 MemoryAccessNoAliasINTELMaskMask
= 0x00020000,
852 ScopeCrossDevice
= 0,
857 ScopeQueueFamily
= 5,
858 ScopeQueueFamilyKHR
= 5,
859 ScopeShaderCallKHR
= 6,
860 ScopeMax
= 0x7fffffff,
863 enum GroupOperation
{
864 GroupOperationReduce
= 0,
865 GroupOperationInclusiveScan
= 1,
866 GroupOperationExclusiveScan
= 2,
867 GroupOperationClusteredReduce
= 3,
868 GroupOperationPartitionedReduceNV
= 6,
869 GroupOperationPartitionedInclusiveScanNV
= 7,
870 GroupOperationPartitionedExclusiveScanNV
= 8,
871 GroupOperationMax
= 0x7fffffff,
874 enum KernelEnqueueFlags
{
875 KernelEnqueueFlagsNoWait
= 0,
876 KernelEnqueueFlagsWaitKernel
= 1,
877 KernelEnqueueFlagsWaitWorkGroup
= 2,
878 KernelEnqueueFlagsMax
= 0x7fffffff,
881 enum KernelProfilingInfoShift
{
882 KernelProfilingInfoCmdExecTimeShift
= 0,
883 KernelProfilingInfoMax
= 0x7fffffff,
886 enum KernelProfilingInfoMask
{
887 KernelProfilingInfoMaskNone
= 0,
888 KernelProfilingInfoCmdExecTimeMask
= 0x00000001,
892 CapabilityMatrix
= 0,
893 CapabilityShader
= 1,
894 CapabilityGeometry
= 2,
895 CapabilityTessellation
= 3,
896 CapabilityAddresses
= 4,
897 CapabilityLinkage
= 5,
898 CapabilityKernel
= 6,
899 CapabilityVector16
= 7,
900 CapabilityFloat16Buffer
= 8,
901 CapabilityFloat16
= 9,
902 CapabilityFloat64
= 10,
903 CapabilityInt64
= 11,
904 CapabilityInt64Atomics
= 12,
905 CapabilityImageBasic
= 13,
906 CapabilityImageReadWrite
= 14,
907 CapabilityImageMipmap
= 15,
908 CapabilityPipes
= 17,
909 CapabilityGroups
= 18,
910 CapabilityDeviceEnqueue
= 19,
911 CapabilityLiteralSampler
= 20,
912 CapabilityAtomicStorage
= 21,
913 CapabilityInt16
= 22,
914 CapabilityTessellationPointSize
= 23,
915 CapabilityGeometryPointSize
= 24,
916 CapabilityImageGatherExtended
= 25,
917 CapabilityStorageImageMultisample
= 27,
918 CapabilityUniformBufferArrayDynamicIndexing
= 28,
919 CapabilitySampledImageArrayDynamicIndexing
= 29,
920 CapabilityStorageBufferArrayDynamicIndexing
= 30,
921 CapabilityStorageImageArrayDynamicIndexing
= 31,
922 CapabilityClipDistance
= 32,
923 CapabilityCullDistance
= 33,
924 CapabilityImageCubeArray
= 34,
925 CapabilitySampleRateShading
= 35,
926 CapabilityImageRect
= 36,
927 CapabilitySampledRect
= 37,
928 CapabilityGenericPointer
= 38,
930 CapabilityInputAttachment
= 40,
931 CapabilitySparseResidency
= 41,
932 CapabilityMinLod
= 42,
933 CapabilitySampled1D
= 43,
934 CapabilityImage1D
= 44,
935 CapabilitySampledCubeArray
= 45,
936 CapabilitySampledBuffer
= 46,
937 CapabilityImageBuffer
= 47,
938 CapabilityImageMSArray
= 48,
939 CapabilityStorageImageExtendedFormats
= 49,
940 CapabilityImageQuery
= 50,
941 CapabilityDerivativeControl
= 51,
942 CapabilityInterpolationFunction
= 52,
943 CapabilityTransformFeedback
= 53,
944 CapabilityGeometryStreams
= 54,
945 CapabilityStorageImageReadWithoutFormat
= 55,
946 CapabilityStorageImageWriteWithoutFormat
= 56,
947 CapabilityMultiViewport
= 57,
948 CapabilitySubgroupDispatch
= 58,
949 CapabilityNamedBarrier
= 59,
950 CapabilityPipeStorage
= 60,
951 CapabilityGroupNonUniform
= 61,
952 CapabilityGroupNonUniformVote
= 62,
953 CapabilityGroupNonUniformArithmetic
= 63,
954 CapabilityGroupNonUniformBallot
= 64,
955 CapabilityGroupNonUniformShuffle
= 65,
956 CapabilityGroupNonUniformShuffleRelative
= 66,
957 CapabilityGroupNonUniformClustered
= 67,
958 CapabilityGroupNonUniformQuad
= 68,
959 CapabilityShaderLayer
= 69,
960 CapabilityShaderViewportIndex
= 70,
961 CapabilityUniformDecoration
= 71,
962 CapabilityFragmentShadingRateKHR
= 4422,
963 CapabilitySubgroupBallotKHR
= 4423,
964 CapabilityDrawParameters
= 4427,
965 CapabilityWorkgroupMemoryExplicitLayoutKHR
= 4428,
966 CapabilityWorkgroupMemoryExplicitLayout8BitAccessKHR
= 4429,
967 CapabilityWorkgroupMemoryExplicitLayout16BitAccessKHR
= 4430,
968 CapabilitySubgroupVoteKHR
= 4431,
969 CapabilityStorageBuffer16BitAccess
= 4433,
970 CapabilityStorageUniformBufferBlock16
= 4433,
971 CapabilityStorageUniform16
= 4434,
972 CapabilityUniformAndStorageBuffer16BitAccess
= 4434,
973 CapabilityStoragePushConstant16
= 4435,
974 CapabilityStorageInputOutput16
= 4436,
975 CapabilityDeviceGroup
= 4437,
976 CapabilityMultiView
= 4439,
977 CapabilityVariablePointersStorageBuffer
= 4441,
978 CapabilityVariablePointers
= 4442,
979 CapabilityAtomicStorageOps
= 4445,
980 CapabilitySampleMaskPostDepthCoverage
= 4447,
981 CapabilityStorageBuffer8BitAccess
= 4448,
982 CapabilityUniformAndStorageBuffer8BitAccess
= 4449,
983 CapabilityStoragePushConstant8
= 4450,
984 CapabilityDenormPreserve
= 4464,
985 CapabilityDenormFlushToZero
= 4465,
986 CapabilitySignedZeroInfNanPreserve
= 4466,
987 CapabilityRoundingModeRTE
= 4467,
988 CapabilityRoundingModeRTZ
= 4468,
989 CapabilityRayQueryProvisionalKHR
= 4471,
990 CapabilityRayQueryKHR
= 4472,
991 CapabilityRayTraversalPrimitiveCullingKHR
= 4478,
992 CapabilityRayTracingKHR
= 4479,
993 CapabilityTextureSampleWeightedQCOM
= 4484,
994 CapabilityTextureBoxFilterQCOM
= 4485,
995 CapabilityTextureBlockMatchQCOM
= 4486,
996 CapabilityTextureBlockMatch2QCOM
= 4498,
997 CapabilityFloat16ImageAMD
= 5008,
998 CapabilityImageGatherBiasLodAMD
= 5009,
999 CapabilityFragmentMaskAMD
= 5010,
1000 CapabilityStencilExportEXT
= 5013,
1001 CapabilityImageReadWriteLodAMD
= 5015,
1002 CapabilityInt64ImageEXT
= 5016,
1003 CapabilityShaderClockKHR
= 5055,
1004 CapabilitySampleMaskOverrideCoverageNV
= 5249,
1005 CapabilityGeometryShaderPassthroughNV
= 5251,
1006 CapabilityShaderViewportIndexLayerEXT
= 5254,
1007 CapabilityShaderViewportIndexLayerNV
= 5254,
1008 CapabilityShaderViewportMaskNV
= 5255,
1009 CapabilityShaderStereoViewNV
= 5259,
1010 CapabilityPerViewAttributesNV
= 5260,
1011 CapabilityFragmentFullyCoveredEXT
= 5265,
1012 CapabilityMeshShadingNV
= 5266,
1013 CapabilityImageFootprintNV
= 5282,
1014 CapabilityMeshShadingEXT
= 5283,
1015 CapabilityFragmentBarycentricKHR
= 5284,
1016 CapabilityFragmentBarycentricNV
= 5284,
1017 CapabilityComputeDerivativeGroupQuadsNV
= 5288,
1018 CapabilityFragmentDensityEXT
= 5291,
1019 CapabilityShadingRateNV
= 5291,
1020 CapabilityGroupNonUniformPartitionedNV
= 5297,
1021 CapabilityShaderNonUniform
= 5301,
1022 CapabilityShaderNonUniformEXT
= 5301,
1023 CapabilityRuntimeDescriptorArray
= 5302,
1024 CapabilityRuntimeDescriptorArrayEXT
= 5302,
1025 CapabilityInputAttachmentArrayDynamicIndexing
= 5303,
1026 CapabilityInputAttachmentArrayDynamicIndexingEXT
= 5303,
1027 CapabilityUniformTexelBufferArrayDynamicIndexing
= 5304,
1028 CapabilityUniformTexelBufferArrayDynamicIndexingEXT
= 5304,
1029 CapabilityStorageTexelBufferArrayDynamicIndexing
= 5305,
1030 CapabilityStorageTexelBufferArrayDynamicIndexingEXT
= 5305,
1031 CapabilityUniformBufferArrayNonUniformIndexing
= 5306,
1032 CapabilityUniformBufferArrayNonUniformIndexingEXT
= 5306,
1033 CapabilitySampledImageArrayNonUniformIndexing
= 5307,
1034 CapabilitySampledImageArrayNonUniformIndexingEXT
= 5307,
1035 CapabilityStorageBufferArrayNonUniformIndexing
= 5308,
1036 CapabilityStorageBufferArrayNonUniformIndexingEXT
= 5308,
1037 CapabilityStorageImageArrayNonUniformIndexing
= 5309,
1038 CapabilityStorageImageArrayNonUniformIndexingEXT
= 5309,
1039 CapabilityInputAttachmentArrayNonUniformIndexing
= 5310,
1040 CapabilityInputAttachmentArrayNonUniformIndexingEXT
= 5310,
1041 CapabilityUniformTexelBufferArrayNonUniformIndexing
= 5311,
1042 CapabilityUniformTexelBufferArrayNonUniformIndexingEXT
= 5311,
1043 CapabilityStorageTexelBufferArrayNonUniformIndexing
= 5312,
1044 CapabilityStorageTexelBufferArrayNonUniformIndexingEXT
= 5312,
1045 CapabilityRayTracingNV
= 5340,
1046 CapabilityRayTracingMotionBlurNV
= 5341,
1047 CapabilityVulkanMemoryModel
= 5345,
1048 CapabilityVulkanMemoryModelKHR
= 5345,
1049 CapabilityVulkanMemoryModelDeviceScope
= 5346,
1050 CapabilityVulkanMemoryModelDeviceScopeKHR
= 5346,
1051 CapabilityPhysicalStorageBufferAddresses
= 5347,
1052 CapabilityPhysicalStorageBufferAddressesEXT
= 5347,
1053 CapabilityComputeDerivativeGroupLinearNV
= 5350,
1054 CapabilityRayTracingProvisionalKHR
= 5353,
1055 CapabilityCooperativeMatrixNV
= 5357,
1056 CapabilityFragmentShaderSampleInterlockEXT
= 5363,
1057 CapabilityFragmentShaderShadingRateInterlockEXT
= 5372,
1058 CapabilityShaderSMBuiltinsNV
= 5373,
1059 CapabilityFragmentShaderPixelInterlockEXT
= 5378,
1060 CapabilityDemoteToHelperInvocation
= 5379,
1061 CapabilityDemoteToHelperInvocationEXT
= 5379,
1062 CapabilityBindlessTextureNV
= 5390,
1063 CapabilitySubgroupShuffleINTEL
= 5568,
1064 CapabilitySubgroupBufferBlockIOINTEL
= 5569,
1065 CapabilitySubgroupImageBlockIOINTEL
= 5570,
1066 CapabilitySubgroupImageMediaBlockIOINTEL
= 5579,
1067 CapabilityRoundToInfinityINTEL
= 5582,
1068 CapabilityFloatingPointModeINTEL
= 5583,
1069 CapabilityIntegerFunctions2INTEL
= 5584,
1070 CapabilityFunctionPointersINTEL
= 5603,
1071 CapabilityIndirectReferencesINTEL
= 5604,
1072 CapabilityAsmINTEL
= 5606,
1073 CapabilityAtomicFloat32MinMaxEXT
= 5612,
1074 CapabilityAtomicFloat64MinMaxEXT
= 5613,
1075 CapabilityAtomicFloat16MinMaxEXT
= 5616,
1076 CapabilityVectorComputeINTEL
= 5617,
1077 CapabilityVectorAnyINTEL
= 5619,
1078 CapabilityExpectAssumeKHR
= 5629,
1079 CapabilitySubgroupAvcMotionEstimationINTEL
= 5696,
1080 CapabilitySubgroupAvcMotionEstimationIntraINTEL
= 5697,
1081 CapabilitySubgroupAvcMotionEstimationChromaINTEL
= 5698,
1082 CapabilityVariableLengthArrayINTEL
= 5817,
1083 CapabilityFunctionFloatControlINTEL
= 5821,
1084 CapabilityFPGAMemoryAttributesINTEL
= 5824,
1085 CapabilityFPFastMathModeINTEL
= 5837,
1086 CapabilityArbitraryPrecisionIntegersINTEL
= 5844,
1087 CapabilityArbitraryPrecisionFloatingPointINTEL
= 5845,
1088 CapabilityUnstructuredLoopControlsINTEL
= 5886,
1089 CapabilityFPGALoopControlsINTEL
= 5888,
1090 CapabilityKernelAttributesINTEL
= 5892,
1091 CapabilityFPGAKernelAttributesINTEL
= 5897,
1092 CapabilityFPGAMemoryAccessesINTEL
= 5898,
1093 CapabilityFPGAClusterAttributesINTEL
= 5904,
1094 CapabilityLoopFuseINTEL
= 5906,
1095 CapabilityMemoryAccessAliasingINTEL
= 5910,
1096 CapabilityFPGABufferLocationINTEL
= 5920,
1097 CapabilityArbitraryPrecisionFixedPointINTEL
= 5922,
1098 CapabilityUSMStorageClassesINTEL
= 5935,
1099 CapabilityIOPipesINTEL
= 5943,
1100 CapabilityBlockingPipesINTEL
= 5945,
1101 CapabilityFPGARegINTEL
= 5948,
1102 CapabilityDotProductInputAll
= 6016,
1103 CapabilityDotProductInputAllKHR
= 6016,
1104 CapabilityDotProductInput4x8Bit
= 6017,
1105 CapabilityDotProductInput4x8BitKHR
= 6017,
1106 CapabilityDotProductInput4x8BitPacked
= 6018,
1107 CapabilityDotProductInput4x8BitPackedKHR
= 6018,
1108 CapabilityDotProduct
= 6019,
1109 CapabilityDotProductKHR
= 6019,
1110 CapabilityRayCullMaskKHR
= 6020,
1111 CapabilityBitInstructions
= 6025,
1112 CapabilityGroupNonUniformRotateKHR
= 6026,
1113 CapabilityAtomicFloat32AddEXT
= 6033,
1114 CapabilityAtomicFloat64AddEXT
= 6034,
1115 CapabilityLongConstantCompositeINTEL
= 6089,
1116 CapabilityOptNoneINTEL
= 6094,
1117 CapabilityAtomicFloat16AddEXT
= 6095,
1118 CapabilityDebugInfoModuleINTEL
= 6114,
1119 CapabilitySplitBarrierINTEL
= 6141,
1120 CapabilityGroupUniformArithmeticKHR
= 6400,
1121 CapabilityMax
= 0x7fffffff,
1124 enum RayFlagsShift
{
1125 RayFlagsOpaqueKHRShift
= 0,
1126 RayFlagsNoOpaqueKHRShift
= 1,
1127 RayFlagsTerminateOnFirstHitKHRShift
= 2,
1128 RayFlagsSkipClosestHitShaderKHRShift
= 3,
1129 RayFlagsCullBackFacingTrianglesKHRShift
= 4,
1130 RayFlagsCullFrontFacingTrianglesKHRShift
= 5,
1131 RayFlagsCullOpaqueKHRShift
= 6,
1132 RayFlagsCullNoOpaqueKHRShift
= 7,
1133 RayFlagsSkipTrianglesKHRShift
= 8,
1134 RayFlagsSkipAABBsKHRShift
= 9,
1135 RayFlagsMax
= 0x7fffffff,
1139 RayFlagsMaskNone
= 0,
1140 RayFlagsOpaqueKHRMask
= 0x00000001,
1141 RayFlagsNoOpaqueKHRMask
= 0x00000002,
1142 RayFlagsTerminateOnFirstHitKHRMask
= 0x00000004,
1143 RayFlagsSkipClosestHitShaderKHRMask
= 0x00000008,
1144 RayFlagsCullBackFacingTrianglesKHRMask
= 0x00000010,
1145 RayFlagsCullFrontFacingTrianglesKHRMask
= 0x00000020,
1146 RayFlagsCullOpaqueKHRMask
= 0x00000040,
1147 RayFlagsCullNoOpaqueKHRMask
= 0x00000080,
1148 RayFlagsSkipTrianglesKHRMask
= 0x00000100,
1149 RayFlagsSkipAABBsKHRMask
= 0x00000200,
1152 enum RayQueryIntersection
{
1153 RayQueryIntersectionRayQueryCandidateIntersectionKHR
= 0,
1154 RayQueryIntersectionRayQueryCommittedIntersectionKHR
= 1,
1155 RayQueryIntersectionMax
= 0x7fffffff,
1158 enum RayQueryCommittedIntersectionType
{
1159 RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionNoneKHR
= 0,
1160 RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionTriangleKHR
= 1,
1161 RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionGeneratedKHR
= 2,
1162 RayQueryCommittedIntersectionTypeMax
= 0x7fffffff,
1165 enum RayQueryCandidateIntersectionType
{
1166 RayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionTriangleKHR
= 0,
1167 RayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionAABBKHR
= 1,
1168 RayQueryCandidateIntersectionTypeMax
= 0x7fffffff,
1171 enum FragmentShadingRateShift
{
1172 FragmentShadingRateVertical2PixelsShift
= 0,
1173 FragmentShadingRateVertical4PixelsShift
= 1,
1174 FragmentShadingRateHorizontal2PixelsShift
= 2,
1175 FragmentShadingRateHorizontal4PixelsShift
= 3,
1176 FragmentShadingRateMax
= 0x7fffffff,
1179 enum FragmentShadingRateMask
{
1180 FragmentShadingRateMaskNone
= 0,
1181 FragmentShadingRateVertical2PixelsMask
= 0x00000001,
1182 FragmentShadingRateVertical4PixelsMask
= 0x00000002,
1183 FragmentShadingRateHorizontal2PixelsMask
= 0x00000004,
1184 FragmentShadingRateHorizontal4PixelsMask
= 0x00000008,
1188 FPDenormModePreserve
= 0,
1189 FPDenormModeFlushToZero
= 1,
1190 FPDenormModeMax
= 0x7fffffff,
1193 enum FPOperationMode
{
1194 FPOperationModeIEEE
= 0,
1195 FPOperationModeALT
= 1,
1196 FPOperationModeMax
= 0x7fffffff,
1199 enum QuantizationModes
{
1200 QuantizationModesTRN
= 0,
1201 QuantizationModesTRN_ZERO
= 1,
1202 QuantizationModesRND
= 2,
1203 QuantizationModesRND_ZERO
= 3,
1204 QuantizationModesRND_INF
= 4,
1205 QuantizationModesRND_MIN_INF
= 5,
1206 QuantizationModesRND_CONV
= 6,
1207 QuantizationModesRND_CONV_ODD
= 7,
1208 QuantizationModesMax
= 0x7fffffff,
1211 enum OverflowModes
{
1212 OverflowModesWRAP
= 0,
1213 OverflowModesSAT
= 1,
1214 OverflowModesSAT_ZERO
= 2,
1215 OverflowModesSAT_SYM
= 3,
1216 OverflowModesMax
= 0x7fffffff,
1219 enum PackedVectorFormat
{
1220 PackedVectorFormatPackedVectorFormat4x8Bit
= 0,
1221 PackedVectorFormatPackedVectorFormat4x8BitKHR
= 0,
1222 PackedVectorFormatMax
= 0x7fffffff,
1228 OpSourceContinued
= 2,
1230 OpSourceExtension
= 4,
1236 OpExtInstImport
= 11,
1240 OpExecutionMode
= 16,
1250 OpTypeSampledImage
= 27,
1252 OpTypeRuntimeArray
= 29,
1256 OpTypeFunction
= 33,
1258 OpTypeDeviceEvent
= 35,
1259 OpTypeReserveId
= 36,
1262 OpTypeForwardPointer
= 39,
1263 OpConstantTrue
= 41,
1264 OpConstantFalse
= 42,
1266 OpConstantComposite
= 44,
1267 OpConstantSampler
= 45,
1268 OpConstantNull
= 46,
1269 OpSpecConstantTrue
= 48,
1270 OpSpecConstantFalse
= 49,
1271 OpSpecConstant
= 50,
1272 OpSpecConstantComposite
= 51,
1273 OpSpecConstantOp
= 52,
1275 OpFunctionParameter
= 55,
1277 OpFunctionCall
= 57,
1279 OpImageTexelPointer
= 60,
1283 OpCopyMemorySized
= 64,
1285 OpInBoundsAccessChain
= 66,
1286 OpPtrAccessChain
= 67,
1288 OpGenericPtrMemSemantics
= 69,
1289 OpInBoundsPtrAccessChain
= 70,
1291 OpMemberDecorate
= 72,
1292 OpDecorationGroup
= 73,
1293 OpGroupDecorate
= 74,
1294 OpGroupMemberDecorate
= 75,
1295 OpVectorExtractDynamic
= 77,
1296 OpVectorInsertDynamic
= 78,
1297 OpVectorShuffle
= 79,
1298 OpCompositeConstruct
= 80,
1299 OpCompositeExtract
= 81,
1300 OpCompositeInsert
= 82,
1303 OpSampledImage
= 86,
1304 OpImageSampleImplicitLod
= 87,
1305 OpImageSampleExplicitLod
= 88,
1306 OpImageSampleDrefImplicitLod
= 89,
1307 OpImageSampleDrefExplicitLod
= 90,
1308 OpImageSampleProjImplicitLod
= 91,
1309 OpImageSampleProjExplicitLod
= 92,
1310 OpImageSampleProjDrefImplicitLod
= 93,
1311 OpImageSampleProjDrefExplicitLod
= 94,
1314 OpImageDrefGather
= 97,
1318 OpImageQueryFormat
= 101,
1319 OpImageQueryOrder
= 102,
1320 OpImageQuerySizeLod
= 103,
1321 OpImageQuerySize
= 104,
1322 OpImageQueryLod
= 105,
1323 OpImageQueryLevels
= 106,
1324 OpImageQuerySamples
= 107,
1325 OpConvertFToU
= 109,
1326 OpConvertFToS
= 110,
1327 OpConvertSToF
= 111,
1328 OpConvertUToF
= 112,
1332 OpQuantizeToF16
= 116,
1333 OpConvertPtrToU
= 117,
1334 OpSatConvertSToU
= 118,
1335 OpSatConvertUToS
= 119,
1336 OpConvertUToPtr
= 120,
1337 OpPtrCastToGeneric
= 121,
1338 OpGenericCastToPtr
= 122,
1339 OpGenericCastToPtrExplicit
= 123,
1357 OpVectorTimesScalar
= 142,
1358 OpMatrixTimesScalar
= 143,
1359 OpVectorTimesMatrix
= 144,
1360 OpMatrixTimesVector
= 145,
1361 OpMatrixTimesMatrix
= 146,
1362 OpOuterProduct
= 147,
1366 OpUMulExtended
= 151,
1367 OpSMulExtended
= 152,
1375 OpLessOrGreater
= 161,
1378 OpLogicalEqual
= 164,
1379 OpLogicalNotEqual
= 165,
1386 OpUGreaterThan
= 172,
1387 OpSGreaterThan
= 173,
1388 OpUGreaterThanEqual
= 174,
1389 OpSGreaterThanEqual
= 175,
1392 OpULessThanEqual
= 178,
1393 OpSLessThanEqual
= 179,
1395 OpFUnordEqual
= 181,
1396 OpFOrdNotEqual
= 182,
1397 OpFUnordNotEqual
= 183,
1398 OpFOrdLessThan
= 184,
1399 OpFUnordLessThan
= 185,
1400 OpFOrdGreaterThan
= 186,
1401 OpFUnordGreaterThan
= 187,
1402 OpFOrdLessThanEqual
= 188,
1403 OpFUnordLessThanEqual
= 189,
1404 OpFOrdGreaterThanEqual
= 190,
1405 OpFUnordGreaterThanEqual
= 191,
1406 OpShiftRightLogical
= 194,
1407 OpShiftRightArithmetic
= 195,
1408 OpShiftLeftLogical
= 196,
1413 OpBitFieldInsert
= 201,
1414 OpBitFieldSExtract
= 202,
1415 OpBitFieldUExtract
= 203,
1426 OpFwidthCoarse
= 215,
1428 OpEndPrimitive
= 219,
1429 OpEmitStreamVertex
= 220,
1430 OpEndStreamPrimitive
= 221,
1431 OpControlBarrier
= 224,
1432 OpMemoryBarrier
= 225,
1434 OpAtomicStore
= 228,
1435 OpAtomicExchange
= 229,
1436 OpAtomicCompareExchange
= 230,
1437 OpAtomicCompareExchangeWeak
= 231,
1438 OpAtomicIIncrement
= 232,
1439 OpAtomicIDecrement
= 233,
1451 OpSelectionMerge
= 247,
1454 OpBranchConditional
= 250,
1458 OpReturnValue
= 254,
1459 OpUnreachable
= 255,
1460 OpLifetimeStart
= 256,
1461 OpLifetimeStop
= 257,
1462 OpGroupAsyncCopy
= 259,
1463 OpGroupWaitEvents
= 260,
1466 OpGroupBroadcast
= 263,
1477 OpReservedReadPipe
= 276,
1478 OpReservedWritePipe
= 277,
1479 OpReserveReadPipePackets
= 278,
1480 OpReserveWritePipePackets
= 279,
1481 OpCommitReadPipe
= 280,
1482 OpCommitWritePipe
= 281,
1483 OpIsValidReserveId
= 282,
1484 OpGetNumPipePackets
= 283,
1485 OpGetMaxPipePackets
= 284,
1486 OpGroupReserveReadPipePackets
= 285,
1487 OpGroupReserveWritePipePackets
= 286,
1488 OpGroupCommitReadPipe
= 287,
1489 OpGroupCommitWritePipe
= 288,
1490 OpEnqueueMarker
= 291,
1491 OpEnqueueKernel
= 292,
1492 OpGetKernelNDrangeSubGroupCount
= 293,
1493 OpGetKernelNDrangeMaxSubGroupSize
= 294,
1494 OpGetKernelWorkGroupSize
= 295,
1495 OpGetKernelPreferredWorkGroupSizeMultiple
= 296,
1496 OpRetainEvent
= 297,
1497 OpReleaseEvent
= 298,
1498 OpCreateUserEvent
= 299,
1499 OpIsValidEvent
= 300,
1500 OpSetUserEventStatus
= 301,
1501 OpCaptureEventProfilingInfo
= 302,
1502 OpGetDefaultQueue
= 303,
1503 OpBuildNDRange
= 304,
1504 OpImageSparseSampleImplicitLod
= 305,
1505 OpImageSparseSampleExplicitLod
= 306,
1506 OpImageSparseSampleDrefImplicitLod
= 307,
1507 OpImageSparseSampleDrefExplicitLod
= 308,
1508 OpImageSparseSampleProjImplicitLod
= 309,
1509 OpImageSparseSampleProjExplicitLod
= 310,
1510 OpImageSparseSampleProjDrefImplicitLod
= 311,
1511 OpImageSparseSampleProjDrefExplicitLod
= 312,
1512 OpImageSparseFetch
= 313,
1513 OpImageSparseGather
= 314,
1514 OpImageSparseDrefGather
= 315,
1515 OpImageSparseTexelsResident
= 316,
1517 OpAtomicFlagTestAndSet
= 318,
1518 OpAtomicFlagClear
= 319,
1519 OpImageSparseRead
= 320,
1521 OpTypePipeStorage
= 322,
1522 OpConstantPipeStorage
= 323,
1523 OpCreatePipeFromPipeStorage
= 324,
1524 OpGetKernelLocalSizeForSubgroupCount
= 325,
1525 OpGetKernelMaxNumSubgroups
= 326,
1526 OpTypeNamedBarrier
= 327,
1527 OpNamedBarrierInitialize
= 328,
1528 OpMemoryNamedBarrier
= 329,
1529 OpModuleProcessed
= 330,
1530 OpExecutionModeId
= 331,
1532 OpGroupNonUniformElect
= 333,
1533 OpGroupNonUniformAll
= 334,
1534 OpGroupNonUniformAny
= 335,
1535 OpGroupNonUniformAllEqual
= 336,
1536 OpGroupNonUniformBroadcast
= 337,
1537 OpGroupNonUniformBroadcastFirst
= 338,
1538 OpGroupNonUniformBallot
= 339,
1539 OpGroupNonUniformInverseBallot
= 340,
1540 OpGroupNonUniformBallotBitExtract
= 341,
1541 OpGroupNonUniformBallotBitCount
= 342,
1542 OpGroupNonUniformBallotFindLSB
= 343,
1543 OpGroupNonUniformBallotFindMSB
= 344,
1544 OpGroupNonUniformShuffle
= 345,
1545 OpGroupNonUniformShuffleXor
= 346,
1546 OpGroupNonUniformShuffleUp
= 347,
1547 OpGroupNonUniformShuffleDown
= 348,
1548 OpGroupNonUniformIAdd
= 349,
1549 OpGroupNonUniformFAdd
= 350,
1550 OpGroupNonUniformIMul
= 351,
1551 OpGroupNonUniformFMul
= 352,
1552 OpGroupNonUniformSMin
= 353,
1553 OpGroupNonUniformUMin
= 354,
1554 OpGroupNonUniformFMin
= 355,
1555 OpGroupNonUniformSMax
= 356,
1556 OpGroupNonUniformUMax
= 357,
1557 OpGroupNonUniformFMax
= 358,
1558 OpGroupNonUniformBitwiseAnd
= 359,
1559 OpGroupNonUniformBitwiseOr
= 360,
1560 OpGroupNonUniformBitwiseXor
= 361,
1561 OpGroupNonUniformLogicalAnd
= 362,
1562 OpGroupNonUniformLogicalOr
= 363,
1563 OpGroupNonUniformLogicalXor
= 364,
1564 OpGroupNonUniformQuadBroadcast
= 365,
1565 OpGroupNonUniformQuadSwap
= 366,
1566 OpCopyLogical
= 400,
1568 OpPtrNotEqual
= 402,
1570 OpTerminateInvocation
= 4416,
1571 OpSubgroupBallotKHR
= 4421,
1572 OpSubgroupFirstInvocationKHR
= 4422,
1573 OpSubgroupAllKHR
= 4428,
1574 OpSubgroupAnyKHR
= 4429,
1575 OpSubgroupAllEqualKHR
= 4430,
1576 OpGroupNonUniformRotateKHR
= 4431,
1577 OpSubgroupReadInvocationKHR
= 4432,
1578 OpTraceRayKHR
= 4445,
1579 OpExecuteCallableKHR
= 4446,
1580 OpConvertUToAccelerationStructureKHR
= 4447,
1581 OpIgnoreIntersectionKHR
= 4448,
1582 OpTerminateRayKHR
= 4449,
1589 OpSDotAccSat
= 4453,
1590 OpSDotAccSatKHR
= 4453,
1591 OpUDotAccSat
= 4454,
1592 OpUDotAccSatKHR
= 4454,
1593 OpSUDotAccSat
= 4455,
1594 OpSUDotAccSatKHR
= 4455,
1595 OpTypeRayQueryKHR
= 4472,
1596 OpRayQueryInitializeKHR
= 4473,
1597 OpRayQueryTerminateKHR
= 4474,
1598 OpRayQueryGenerateIntersectionKHR
= 4475,
1599 OpRayQueryConfirmIntersectionKHR
= 4476,
1600 OpRayQueryProceedKHR
= 4477,
1601 OpRayQueryGetIntersectionTypeKHR
= 4479,
1602 OpImageSampleWeightedQCOM
= 4480,
1603 OpImageBoxFilterQCOM
= 4481,
1604 OpImageBlockMatchSSDQCOM
= 4482,
1605 OpImageBlockMatchSADQCOM
= 4483,
1606 OpImageBlockMatchWindowSSDQCOM
= 4500,
1607 OpImageBlockMatchWindowSADQCOM
= 4501,
1608 OpImageBlockMatchGatherSSDQCOM
= 4502,
1609 OpImageBlockMatchGatherSADQCOM
= 4503,
1610 OpGroupIAddNonUniformAMD
= 5000,
1611 OpGroupFAddNonUniformAMD
= 5001,
1612 OpGroupFMinNonUniformAMD
= 5002,
1613 OpGroupUMinNonUniformAMD
= 5003,
1614 OpGroupSMinNonUniformAMD
= 5004,
1615 OpGroupFMaxNonUniformAMD
= 5005,
1616 OpGroupUMaxNonUniformAMD
= 5006,
1617 OpGroupSMaxNonUniformAMD
= 5007,
1618 OpFragmentMaskFetchAMD
= 5011,
1619 OpFragmentFetchAMD
= 5012,
1620 OpReadClockKHR
= 5056,
1621 OpImageSampleFootprintNV
= 5283,
1622 OpEmitMeshTasksEXT
= 5294,
1623 OpSetMeshOutputsEXT
= 5295,
1624 OpGroupNonUniformPartitionNV
= 5296,
1625 OpWritePackedPrimitiveIndices4x8NV
= 5299,
1626 OpReportIntersectionKHR
= 5334,
1627 OpReportIntersectionNV
= 5334,
1628 OpIgnoreIntersectionNV
= 5335,
1629 OpTerminateRayNV
= 5336,
1631 OpTraceMotionNV
= 5338,
1632 OpTraceRayMotionNV
= 5339,
1633 OpTypeAccelerationStructureKHR
= 5341,
1634 OpTypeAccelerationStructureNV
= 5341,
1635 OpExecuteCallableNV
= 5344,
1636 OpTypeCooperativeMatrixNV
= 5358,
1637 OpCooperativeMatrixLoadNV
= 5359,
1638 OpCooperativeMatrixStoreNV
= 5360,
1639 OpCooperativeMatrixMulAddNV
= 5361,
1640 OpCooperativeMatrixLengthNV
= 5362,
1641 OpBeginInvocationInterlockEXT
= 5364,
1642 OpEndInvocationInterlockEXT
= 5365,
1643 OpDemoteToHelperInvocation
= 5380,
1644 OpDemoteToHelperInvocationEXT
= 5380,
1645 OpIsHelperInvocationEXT
= 5381,
1646 OpConvertUToImageNV
= 5391,
1647 OpConvertUToSamplerNV
= 5392,
1648 OpConvertImageToUNV
= 5393,
1649 OpConvertSamplerToUNV
= 5394,
1650 OpConvertUToSampledImageNV
= 5395,
1651 OpConvertSampledImageToUNV
= 5396,
1652 OpSamplerImageAddressingModeNV
= 5397,
1653 OpSubgroupShuffleINTEL
= 5571,
1654 OpSubgroupShuffleDownINTEL
= 5572,
1655 OpSubgroupShuffleUpINTEL
= 5573,
1656 OpSubgroupShuffleXorINTEL
= 5574,
1657 OpSubgroupBlockReadINTEL
= 5575,
1658 OpSubgroupBlockWriteINTEL
= 5576,
1659 OpSubgroupImageBlockReadINTEL
= 5577,
1660 OpSubgroupImageBlockWriteINTEL
= 5578,
1661 OpSubgroupImageMediaBlockReadINTEL
= 5580,
1662 OpSubgroupImageMediaBlockWriteINTEL
= 5581,
1663 OpUCountLeadingZerosINTEL
= 5585,
1664 OpUCountTrailingZerosINTEL
= 5586,
1665 OpAbsISubINTEL
= 5587,
1666 OpAbsUSubINTEL
= 5588,
1667 OpIAddSatINTEL
= 5589,
1668 OpUAddSatINTEL
= 5590,
1669 OpIAverageINTEL
= 5591,
1670 OpUAverageINTEL
= 5592,
1671 OpIAverageRoundedINTEL
= 5593,
1672 OpUAverageRoundedINTEL
= 5594,
1673 OpISubSatINTEL
= 5595,
1674 OpUSubSatINTEL
= 5596,
1675 OpIMul32x16INTEL
= 5597,
1676 OpUMul32x16INTEL
= 5598,
1677 OpConstantFunctionPointerINTEL
= 5600,
1678 OpFunctionPointerCallINTEL
= 5601,
1679 OpAsmTargetINTEL
= 5609,
1681 OpAsmCallINTEL
= 5611,
1682 OpAtomicFMinEXT
= 5614,
1683 OpAtomicFMaxEXT
= 5615,
1684 OpAssumeTrueKHR
= 5630,
1686 OpDecorateString
= 5632,
1687 OpDecorateStringGOOGLE
= 5632,
1688 OpMemberDecorateString
= 5633,
1689 OpMemberDecorateStringGOOGLE
= 5633,
1690 OpVmeImageINTEL
= 5699,
1691 OpTypeVmeImageINTEL
= 5700,
1692 OpTypeAvcImePayloadINTEL
= 5701,
1693 OpTypeAvcRefPayloadINTEL
= 5702,
1694 OpTypeAvcSicPayloadINTEL
= 5703,
1695 OpTypeAvcMcePayloadINTEL
= 5704,
1696 OpTypeAvcMceResultINTEL
= 5705,
1697 OpTypeAvcImeResultINTEL
= 5706,
1698 OpTypeAvcImeResultSingleReferenceStreamoutINTEL
= 5707,
1699 OpTypeAvcImeResultDualReferenceStreamoutINTEL
= 5708,
1700 OpTypeAvcImeSingleReferenceStreaminINTEL
= 5709,
1701 OpTypeAvcImeDualReferenceStreaminINTEL
= 5710,
1702 OpTypeAvcRefResultINTEL
= 5711,
1703 OpTypeAvcSicResultINTEL
= 5712,
1704 OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL
= 5713,
1705 OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL
= 5714,
1706 OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL
= 5715,
1707 OpSubgroupAvcMceSetInterShapePenaltyINTEL
= 5716,
1708 OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL
= 5717,
1709 OpSubgroupAvcMceSetInterDirectionPenaltyINTEL
= 5718,
1710 OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL
= 5719,
1711 OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL
= 5720,
1712 OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL
= 5721,
1713 OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL
= 5722,
1714 OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL
= 5723,
1715 OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL
= 5724,
1716 OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL
= 5725,
1717 OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL
= 5726,
1718 OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL
= 5727,
1719 OpSubgroupAvcMceSetAcOnlyHaarINTEL
= 5728,
1720 OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL
= 5729,
1721 OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL
= 5730,
1722 OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL
= 5731,
1723 OpSubgroupAvcMceConvertToImePayloadINTEL
= 5732,
1724 OpSubgroupAvcMceConvertToImeResultINTEL
= 5733,
1725 OpSubgroupAvcMceConvertToRefPayloadINTEL
= 5734,
1726 OpSubgroupAvcMceConvertToRefResultINTEL
= 5735,
1727 OpSubgroupAvcMceConvertToSicPayloadINTEL
= 5736,
1728 OpSubgroupAvcMceConvertToSicResultINTEL
= 5737,
1729 OpSubgroupAvcMceGetMotionVectorsINTEL
= 5738,
1730 OpSubgroupAvcMceGetInterDistortionsINTEL
= 5739,
1731 OpSubgroupAvcMceGetBestInterDistortionsINTEL
= 5740,
1732 OpSubgroupAvcMceGetInterMajorShapeINTEL
= 5741,
1733 OpSubgroupAvcMceGetInterMinorShapeINTEL
= 5742,
1734 OpSubgroupAvcMceGetInterDirectionsINTEL
= 5743,
1735 OpSubgroupAvcMceGetInterMotionVectorCountINTEL
= 5744,
1736 OpSubgroupAvcMceGetInterReferenceIdsINTEL
= 5745,
1737 OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL
= 5746,
1738 OpSubgroupAvcImeInitializeINTEL
= 5747,
1739 OpSubgroupAvcImeSetSingleReferenceINTEL
= 5748,
1740 OpSubgroupAvcImeSetDualReferenceINTEL
= 5749,
1741 OpSubgroupAvcImeRefWindowSizeINTEL
= 5750,
1742 OpSubgroupAvcImeAdjustRefOffsetINTEL
= 5751,
1743 OpSubgroupAvcImeConvertToMcePayloadINTEL
= 5752,
1744 OpSubgroupAvcImeSetMaxMotionVectorCountINTEL
= 5753,
1745 OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL
= 5754,
1746 OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL
= 5755,
1747 OpSubgroupAvcImeSetWeightedSadINTEL
= 5756,
1748 OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL
= 5757,
1749 OpSubgroupAvcImeEvaluateWithDualReferenceINTEL
= 5758,
1750 OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL
= 5759,
1751 OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL
= 5760,
1752 OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL
= 5761,
1753 OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL
= 5762,
1754 OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL
= 5763,
1755 OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL
= 5764,
1756 OpSubgroupAvcImeConvertToMceResultINTEL
= 5765,
1757 OpSubgroupAvcImeGetSingleReferenceStreaminINTEL
= 5766,
1758 OpSubgroupAvcImeGetDualReferenceStreaminINTEL
= 5767,
1759 OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL
= 5768,
1760 OpSubgroupAvcImeStripDualReferenceStreamoutINTEL
= 5769,
1761 OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL
= 5770,
1762 OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL
= 5771,
1763 OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL
= 5772,
1764 OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL
= 5773,
1765 OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL
= 5774,
1766 OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL
= 5775,
1767 OpSubgroupAvcImeGetBorderReachedINTEL
= 5776,
1768 OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL
= 5777,
1769 OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL
= 5778,
1770 OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL
= 5779,
1771 OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL
= 5780,
1772 OpSubgroupAvcFmeInitializeINTEL
= 5781,
1773 OpSubgroupAvcBmeInitializeINTEL
= 5782,
1774 OpSubgroupAvcRefConvertToMcePayloadINTEL
= 5783,
1775 OpSubgroupAvcRefSetBidirectionalMixDisableINTEL
= 5784,
1776 OpSubgroupAvcRefSetBilinearFilterEnableINTEL
= 5785,
1777 OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL
= 5786,
1778 OpSubgroupAvcRefEvaluateWithDualReferenceINTEL
= 5787,
1779 OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL
= 5788,
1780 OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL
= 5789,
1781 OpSubgroupAvcRefConvertToMceResultINTEL
= 5790,
1782 OpSubgroupAvcSicInitializeINTEL
= 5791,
1783 OpSubgroupAvcSicConfigureSkcINTEL
= 5792,
1784 OpSubgroupAvcSicConfigureIpeLumaINTEL
= 5793,
1785 OpSubgroupAvcSicConfigureIpeLumaChromaINTEL
= 5794,
1786 OpSubgroupAvcSicGetMotionVectorMaskINTEL
= 5795,
1787 OpSubgroupAvcSicConvertToMcePayloadINTEL
= 5796,
1788 OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL
= 5797,
1789 OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL
= 5798,
1790 OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL
= 5799,
1791 OpSubgroupAvcSicSetBilinearFilterEnableINTEL
= 5800,
1792 OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL
= 5801,
1793 OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL
= 5802,
1794 OpSubgroupAvcSicEvaluateIpeINTEL
= 5803,
1795 OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL
= 5804,
1796 OpSubgroupAvcSicEvaluateWithDualReferenceINTEL
= 5805,
1797 OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL
= 5806,
1798 OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL
= 5807,
1799 OpSubgroupAvcSicConvertToMceResultINTEL
= 5808,
1800 OpSubgroupAvcSicGetIpeLumaShapeINTEL
= 5809,
1801 OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL
= 5810,
1802 OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL
= 5811,
1803 OpSubgroupAvcSicGetPackedIpeLumaModesINTEL
= 5812,
1804 OpSubgroupAvcSicGetIpeChromaModeINTEL
= 5813,
1805 OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL
= 5814,
1806 OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL
= 5815,
1807 OpSubgroupAvcSicGetInterRawSadsINTEL
= 5816,
1808 OpVariableLengthArrayINTEL
= 5818,
1809 OpSaveMemoryINTEL
= 5819,
1810 OpRestoreMemoryINTEL
= 5820,
1811 OpArbitraryFloatSinCosPiINTEL
= 5840,
1812 OpArbitraryFloatCastINTEL
= 5841,
1813 OpArbitraryFloatCastFromIntINTEL
= 5842,
1814 OpArbitraryFloatCastToIntINTEL
= 5843,
1815 OpArbitraryFloatAddINTEL
= 5846,
1816 OpArbitraryFloatSubINTEL
= 5847,
1817 OpArbitraryFloatMulINTEL
= 5848,
1818 OpArbitraryFloatDivINTEL
= 5849,
1819 OpArbitraryFloatGTINTEL
= 5850,
1820 OpArbitraryFloatGEINTEL
= 5851,
1821 OpArbitraryFloatLTINTEL
= 5852,
1822 OpArbitraryFloatLEINTEL
= 5853,
1823 OpArbitraryFloatEQINTEL
= 5854,
1824 OpArbitraryFloatRecipINTEL
= 5855,
1825 OpArbitraryFloatRSqrtINTEL
= 5856,
1826 OpArbitraryFloatCbrtINTEL
= 5857,
1827 OpArbitraryFloatHypotINTEL
= 5858,
1828 OpArbitraryFloatSqrtINTEL
= 5859,
1829 OpArbitraryFloatLogINTEL
= 5860,
1830 OpArbitraryFloatLog2INTEL
= 5861,
1831 OpArbitraryFloatLog10INTEL
= 5862,
1832 OpArbitraryFloatLog1pINTEL
= 5863,
1833 OpArbitraryFloatExpINTEL
= 5864,
1834 OpArbitraryFloatExp2INTEL
= 5865,
1835 OpArbitraryFloatExp10INTEL
= 5866,
1836 OpArbitraryFloatExpm1INTEL
= 5867,
1837 OpArbitraryFloatSinINTEL
= 5868,
1838 OpArbitraryFloatCosINTEL
= 5869,
1839 OpArbitraryFloatSinCosINTEL
= 5870,
1840 OpArbitraryFloatSinPiINTEL
= 5871,
1841 OpArbitraryFloatCosPiINTEL
= 5872,
1842 OpArbitraryFloatASinINTEL
= 5873,
1843 OpArbitraryFloatASinPiINTEL
= 5874,
1844 OpArbitraryFloatACosINTEL
= 5875,
1845 OpArbitraryFloatACosPiINTEL
= 5876,
1846 OpArbitraryFloatATanINTEL
= 5877,
1847 OpArbitraryFloatATanPiINTEL
= 5878,
1848 OpArbitraryFloatATan2INTEL
= 5879,
1849 OpArbitraryFloatPowINTEL
= 5880,
1850 OpArbitraryFloatPowRINTEL
= 5881,
1851 OpArbitraryFloatPowNINTEL
= 5882,
1852 OpLoopControlINTEL
= 5887,
1853 OpAliasDomainDeclINTEL
= 5911,
1854 OpAliasScopeDeclINTEL
= 5912,
1855 OpAliasScopeListDeclINTEL
= 5913,
1856 OpFixedSqrtINTEL
= 5923,
1857 OpFixedRecipINTEL
= 5924,
1858 OpFixedRsqrtINTEL
= 5925,
1859 OpFixedSinINTEL
= 5926,
1860 OpFixedCosINTEL
= 5927,
1861 OpFixedSinCosINTEL
= 5928,
1862 OpFixedSinPiINTEL
= 5929,
1863 OpFixedCosPiINTEL
= 5930,
1864 OpFixedSinCosPiINTEL
= 5931,
1865 OpFixedLogINTEL
= 5932,
1866 OpFixedExpINTEL
= 5933,
1867 OpPtrCastToCrossWorkgroupINTEL
= 5934,
1868 OpCrossWorkgroupCastToPtrINTEL
= 5938,
1869 OpReadPipeBlockingINTEL
= 5946,
1870 OpWritePipeBlockingINTEL
= 5947,
1871 OpFPGARegINTEL
= 5949,
1872 OpRayQueryGetRayTMinKHR
= 6016,
1873 OpRayQueryGetRayFlagsKHR
= 6017,
1874 OpRayQueryGetIntersectionTKHR
= 6018,
1875 OpRayQueryGetIntersectionInstanceCustomIndexKHR
= 6019,
1876 OpRayQueryGetIntersectionInstanceIdKHR
= 6020,
1877 OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR
= 6021,
1878 OpRayQueryGetIntersectionGeometryIndexKHR
= 6022,
1879 OpRayQueryGetIntersectionPrimitiveIndexKHR
= 6023,
1880 OpRayQueryGetIntersectionBarycentricsKHR
= 6024,
1881 OpRayQueryGetIntersectionFrontFaceKHR
= 6025,
1882 OpRayQueryGetIntersectionCandidateAABBOpaqueKHR
= 6026,
1883 OpRayQueryGetIntersectionObjectRayDirectionKHR
= 6027,
1884 OpRayQueryGetIntersectionObjectRayOriginKHR
= 6028,
1885 OpRayQueryGetWorldRayDirectionKHR
= 6029,
1886 OpRayQueryGetWorldRayOriginKHR
= 6030,
1887 OpRayQueryGetIntersectionObjectToWorldKHR
= 6031,
1888 OpRayQueryGetIntersectionWorldToObjectKHR
= 6032,
1889 OpAtomicFAddEXT
= 6035,
1890 OpTypeBufferSurfaceINTEL
= 6086,
1891 OpTypeStructContinuedINTEL
= 6090,
1892 OpConstantCompositeContinuedINTEL
= 6091,
1893 OpSpecConstantCompositeContinuedINTEL
= 6092,
1894 OpControlBarrierArriveINTEL
= 6142,
1895 OpControlBarrierWaitINTEL
= 6143,
1896 OpGroupIMulKHR
= 6401,
1897 OpGroupFMulKHR
= 6402,
1898 OpGroupBitwiseAndKHR
= 6403,
1899 OpGroupBitwiseOrKHR
= 6404,
1900 OpGroupBitwiseXorKHR
= 6405,
1901 OpGroupLogicalAndKHR
= 6406,
1902 OpGroupLogicalOrKHR
= 6407,
1903 OpGroupLogicalXorKHR
= 6408,
1907 #ifdef SPV_ENABLE_UTILITY_CODE
1909 #include <stdbool.h>
1911 inline void HasResultAndType(Op opcode
, bool *hasResult
, bool *hasResultType
) {
1912 *hasResult
= *hasResultType
= false;
1914 default: /* unknown opcode */ break;
1915 case OpNop
: *hasResult
= false; *hasResultType
= false; break;
1916 case OpUndef
: *hasResult
= true; *hasResultType
= true; break;
1917 case OpSourceContinued
: *hasResult
= false; *hasResultType
= false; break;
1918 case OpSource
: *hasResult
= false; *hasResultType
= false; break;
1919 case OpSourceExtension
: *hasResult
= false; *hasResultType
= false; break;
1920 case OpName
: *hasResult
= false; *hasResultType
= false; break;
1921 case OpMemberName
: *hasResult
= false; *hasResultType
= false; break;
1922 case OpString
: *hasResult
= true; *hasResultType
= false; break;
1923 case OpLine
: *hasResult
= false; *hasResultType
= false; break;
1924 case OpExtension
: *hasResult
= false; *hasResultType
= false; break;
1925 case OpExtInstImport
: *hasResult
= true; *hasResultType
= false; break;
1926 case OpExtInst
: *hasResult
= true; *hasResultType
= true; break;
1927 case OpMemoryModel
: *hasResult
= false; *hasResultType
= false; break;
1928 case OpEntryPoint
: *hasResult
= false; *hasResultType
= false; break;
1929 case OpExecutionMode
: *hasResult
= false; *hasResultType
= false; break;
1930 case OpCapability
: *hasResult
= false; *hasResultType
= false; break;
1931 case OpTypeVoid
: *hasResult
= true; *hasResultType
= false; break;
1932 case OpTypeBool
: *hasResult
= true; *hasResultType
= false; break;
1933 case OpTypeInt
: *hasResult
= true; *hasResultType
= false; break;
1934 case OpTypeFloat
: *hasResult
= true; *hasResultType
= false; break;
1935 case OpTypeVector
: *hasResult
= true; *hasResultType
= false; break;
1936 case OpTypeMatrix
: *hasResult
= true; *hasResultType
= false; break;
1937 case OpTypeImage
: *hasResult
= true; *hasResultType
= false; break;
1938 case OpTypeSampler
: *hasResult
= true; *hasResultType
= false; break;
1939 case OpTypeSampledImage
: *hasResult
= true; *hasResultType
= false; break;
1940 case OpTypeArray
: *hasResult
= true; *hasResultType
= false; break;
1941 case OpTypeRuntimeArray
: *hasResult
= true; *hasResultType
= false; break;
1942 case OpTypeStruct
: *hasResult
= true; *hasResultType
= false; break;
1943 case OpTypeOpaque
: *hasResult
= true; *hasResultType
= false; break;
1944 case OpTypePointer
: *hasResult
= true; *hasResultType
= false; break;
1945 case OpTypeFunction
: *hasResult
= true; *hasResultType
= false; break;
1946 case OpTypeEvent
: *hasResult
= true; *hasResultType
= false; break;
1947 case OpTypeDeviceEvent
: *hasResult
= true; *hasResultType
= false; break;
1948 case OpTypeReserveId
: *hasResult
= true; *hasResultType
= false; break;
1949 case OpTypeQueue
: *hasResult
= true; *hasResultType
= false; break;
1950 case OpTypePipe
: *hasResult
= true; *hasResultType
= false; break;
1951 case OpTypeForwardPointer
: *hasResult
= false; *hasResultType
= false; break;
1952 case OpConstantTrue
: *hasResult
= true; *hasResultType
= true; break;
1953 case OpConstantFalse
: *hasResult
= true; *hasResultType
= true; break;
1954 case OpConstant
: *hasResult
= true; *hasResultType
= true; break;
1955 case OpConstantComposite
: *hasResult
= true; *hasResultType
= true; break;
1956 case OpConstantSampler
: *hasResult
= true; *hasResultType
= true; break;
1957 case OpConstantNull
: *hasResult
= true; *hasResultType
= true; break;
1958 case OpSpecConstantTrue
: *hasResult
= true; *hasResultType
= true; break;
1959 case OpSpecConstantFalse
: *hasResult
= true; *hasResultType
= true; break;
1960 case OpSpecConstant
: *hasResult
= true; *hasResultType
= true; break;
1961 case OpSpecConstantComposite
: *hasResult
= true; *hasResultType
= true; break;
1962 case OpSpecConstantOp
: *hasResult
= true; *hasResultType
= true; break;
1963 case OpFunction
: *hasResult
= true; *hasResultType
= true; break;
1964 case OpFunctionParameter
: *hasResult
= true; *hasResultType
= true; break;
1965 case OpFunctionEnd
: *hasResult
= false; *hasResultType
= false; break;
1966 case OpFunctionCall
: *hasResult
= true; *hasResultType
= true; break;
1967 case OpVariable
: *hasResult
= true; *hasResultType
= true; break;
1968 case OpImageTexelPointer
: *hasResult
= true; *hasResultType
= true; break;
1969 case OpLoad
: *hasResult
= true; *hasResultType
= true; break;
1970 case OpStore
: *hasResult
= false; *hasResultType
= false; break;
1971 case OpCopyMemory
: *hasResult
= false; *hasResultType
= false; break;
1972 case OpCopyMemorySized
: *hasResult
= false; *hasResultType
= false; break;
1973 case OpAccessChain
: *hasResult
= true; *hasResultType
= true; break;
1974 case OpInBoundsAccessChain
: *hasResult
= true; *hasResultType
= true; break;
1975 case OpPtrAccessChain
: *hasResult
= true; *hasResultType
= true; break;
1976 case OpArrayLength
: *hasResult
= true; *hasResultType
= true; break;
1977 case OpGenericPtrMemSemantics
: *hasResult
= true; *hasResultType
= true; break;
1978 case OpInBoundsPtrAccessChain
: *hasResult
= true; *hasResultType
= true; break;
1979 case OpDecorate
: *hasResult
= false; *hasResultType
= false; break;
1980 case OpMemberDecorate
: *hasResult
= false; *hasResultType
= false; break;
1981 case OpDecorationGroup
: *hasResult
= true; *hasResultType
= false; break;
1982 case OpGroupDecorate
: *hasResult
= false; *hasResultType
= false; break;
1983 case OpGroupMemberDecorate
: *hasResult
= false; *hasResultType
= false; break;
1984 case OpVectorExtractDynamic
: *hasResult
= true; *hasResultType
= true; break;
1985 case OpVectorInsertDynamic
: *hasResult
= true; *hasResultType
= true; break;
1986 case OpVectorShuffle
: *hasResult
= true; *hasResultType
= true; break;
1987 case OpCompositeConstruct
: *hasResult
= true; *hasResultType
= true; break;
1988 case OpCompositeExtract
: *hasResult
= true; *hasResultType
= true; break;
1989 case OpCompositeInsert
: *hasResult
= true; *hasResultType
= true; break;
1990 case OpCopyObject
: *hasResult
= true; *hasResultType
= true; break;
1991 case OpTranspose
: *hasResult
= true; *hasResultType
= true; break;
1992 case OpSampledImage
: *hasResult
= true; *hasResultType
= true; break;
1993 case OpImageSampleImplicitLod
: *hasResult
= true; *hasResultType
= true; break;
1994 case OpImageSampleExplicitLod
: *hasResult
= true; *hasResultType
= true; break;
1995 case OpImageSampleDrefImplicitLod
: *hasResult
= true; *hasResultType
= true; break;
1996 case OpImageSampleDrefExplicitLod
: *hasResult
= true; *hasResultType
= true; break;
1997 case OpImageSampleProjImplicitLod
: *hasResult
= true; *hasResultType
= true; break;
1998 case OpImageSampleProjExplicitLod
: *hasResult
= true; *hasResultType
= true; break;
1999 case OpImageSampleProjDrefImplicitLod
: *hasResult
= true; *hasResultType
= true; break;
2000 case OpImageSampleProjDrefExplicitLod
: *hasResult
= true; *hasResultType
= true; break;
2001 case OpImageFetch
: *hasResult
= true; *hasResultType
= true; break;
2002 case OpImageGather
: *hasResult
= true; *hasResultType
= true; break;
2003 case OpImageDrefGather
: *hasResult
= true; *hasResultType
= true; break;
2004 case OpImageRead
: *hasResult
= true; *hasResultType
= true; break;
2005 case OpImageWrite
: *hasResult
= false; *hasResultType
= false; break;
2006 case OpImage
: *hasResult
= true; *hasResultType
= true; break;
2007 case OpImageQueryFormat
: *hasResult
= true; *hasResultType
= true; break;
2008 case OpImageQueryOrder
: *hasResult
= true; *hasResultType
= true; break;
2009 case OpImageQuerySizeLod
: *hasResult
= true; *hasResultType
= true; break;
2010 case OpImageQuerySize
: *hasResult
= true; *hasResultType
= true; break;
2011 case OpImageQueryLod
: *hasResult
= true; *hasResultType
= true; break;
2012 case OpImageQueryLevels
: *hasResult
= true; *hasResultType
= true; break;
2013 case OpImageQuerySamples
: *hasResult
= true; *hasResultType
= true; break;
2014 case OpConvertFToU
: *hasResult
= true; *hasResultType
= true; break;
2015 case OpConvertFToS
: *hasResult
= true; *hasResultType
= true; break;
2016 case OpConvertSToF
: *hasResult
= true; *hasResultType
= true; break;
2017 case OpConvertUToF
: *hasResult
= true; *hasResultType
= true; break;
2018 case OpUConvert
: *hasResult
= true; *hasResultType
= true; break;
2019 case OpSConvert
: *hasResult
= true; *hasResultType
= true; break;
2020 case OpFConvert
: *hasResult
= true; *hasResultType
= true; break;
2021 case OpQuantizeToF16
: *hasResult
= true; *hasResultType
= true; break;
2022 case OpConvertPtrToU
: *hasResult
= true; *hasResultType
= true; break;
2023 case OpSatConvertSToU
: *hasResult
= true; *hasResultType
= true; break;
2024 case OpSatConvertUToS
: *hasResult
= true; *hasResultType
= true; break;
2025 case OpConvertUToPtr
: *hasResult
= true; *hasResultType
= true; break;
2026 case OpPtrCastToGeneric
: *hasResult
= true; *hasResultType
= true; break;
2027 case OpGenericCastToPtr
: *hasResult
= true; *hasResultType
= true; break;
2028 case OpGenericCastToPtrExplicit
: *hasResult
= true; *hasResultType
= true; break;
2029 case OpBitcast
: *hasResult
= true; *hasResultType
= true; break;
2030 case OpSNegate
: *hasResult
= true; *hasResultType
= true; break;
2031 case OpFNegate
: *hasResult
= true; *hasResultType
= true; break;
2032 case OpIAdd
: *hasResult
= true; *hasResultType
= true; break;
2033 case OpFAdd
: *hasResult
= true; *hasResultType
= true; break;
2034 case OpISub
: *hasResult
= true; *hasResultType
= true; break;
2035 case OpFSub
: *hasResult
= true; *hasResultType
= true; break;
2036 case OpIMul
: *hasResult
= true; *hasResultType
= true; break;
2037 case OpFMul
: *hasResult
= true; *hasResultType
= true; break;
2038 case OpUDiv
: *hasResult
= true; *hasResultType
= true; break;
2039 case OpSDiv
: *hasResult
= true; *hasResultType
= true; break;
2040 case OpFDiv
: *hasResult
= true; *hasResultType
= true; break;
2041 case OpUMod
: *hasResult
= true; *hasResultType
= true; break;
2042 case OpSRem
: *hasResult
= true; *hasResultType
= true; break;
2043 case OpSMod
: *hasResult
= true; *hasResultType
= true; break;
2044 case OpFRem
: *hasResult
= true; *hasResultType
= true; break;
2045 case OpFMod
: *hasResult
= true; *hasResultType
= true; break;
2046 case OpVectorTimesScalar
: *hasResult
= true; *hasResultType
= true; break;
2047 case OpMatrixTimesScalar
: *hasResult
= true; *hasResultType
= true; break;
2048 case OpVectorTimesMatrix
: *hasResult
= true; *hasResultType
= true; break;
2049 case OpMatrixTimesVector
: *hasResult
= true; *hasResultType
= true; break;
2050 case OpMatrixTimesMatrix
: *hasResult
= true; *hasResultType
= true; break;
2051 case OpOuterProduct
: *hasResult
= true; *hasResultType
= true; break;
2052 case OpDot
: *hasResult
= true; *hasResultType
= true; break;
2053 case OpIAddCarry
: *hasResult
= true; *hasResultType
= true; break;
2054 case OpISubBorrow
: *hasResult
= true; *hasResultType
= true; break;
2055 case OpUMulExtended
: *hasResult
= true; *hasResultType
= true; break;
2056 case OpSMulExtended
: *hasResult
= true; *hasResultType
= true; break;
2057 case OpAny
: *hasResult
= true; *hasResultType
= true; break;
2058 case OpAll
: *hasResult
= true; *hasResultType
= true; break;
2059 case OpIsNan
: *hasResult
= true; *hasResultType
= true; break;
2060 case OpIsInf
: *hasResult
= true; *hasResultType
= true; break;
2061 case OpIsFinite
: *hasResult
= true; *hasResultType
= true; break;
2062 case OpIsNormal
: *hasResult
= true; *hasResultType
= true; break;
2063 case OpSignBitSet
: *hasResult
= true; *hasResultType
= true; break;
2064 case OpLessOrGreater
: *hasResult
= true; *hasResultType
= true; break;
2065 case OpOrdered
: *hasResult
= true; *hasResultType
= true; break;
2066 case OpUnordered
: *hasResult
= true; *hasResultType
= true; break;
2067 case OpLogicalEqual
: *hasResult
= true; *hasResultType
= true; break;
2068 case OpLogicalNotEqual
: *hasResult
= true; *hasResultType
= true; break;
2069 case OpLogicalOr
: *hasResult
= true; *hasResultType
= true; break;
2070 case OpLogicalAnd
: *hasResult
= true; *hasResultType
= true; break;
2071 case OpLogicalNot
: *hasResult
= true; *hasResultType
= true; break;
2072 case OpSelect
: *hasResult
= true; *hasResultType
= true; break;
2073 case OpIEqual
: *hasResult
= true; *hasResultType
= true; break;
2074 case OpINotEqual
: *hasResult
= true; *hasResultType
= true; break;
2075 case OpUGreaterThan
: *hasResult
= true; *hasResultType
= true; break;
2076 case OpSGreaterThan
: *hasResult
= true; *hasResultType
= true; break;
2077 case OpUGreaterThanEqual
: *hasResult
= true; *hasResultType
= true; break;
2078 case OpSGreaterThanEqual
: *hasResult
= true; *hasResultType
= true; break;
2079 case OpULessThan
: *hasResult
= true; *hasResultType
= true; break;
2080 case OpSLessThan
: *hasResult
= true; *hasResultType
= true; break;
2081 case OpULessThanEqual
: *hasResult
= true; *hasResultType
= true; break;
2082 case OpSLessThanEqual
: *hasResult
= true; *hasResultType
= true; break;
2083 case OpFOrdEqual
: *hasResult
= true; *hasResultType
= true; break;
2084 case OpFUnordEqual
: *hasResult
= true; *hasResultType
= true; break;
2085 case OpFOrdNotEqual
: *hasResult
= true; *hasResultType
= true; break;
2086 case OpFUnordNotEqual
: *hasResult
= true; *hasResultType
= true; break;
2087 case OpFOrdLessThan
: *hasResult
= true; *hasResultType
= true; break;
2088 case OpFUnordLessThan
: *hasResult
= true; *hasResultType
= true; break;
2089 case OpFOrdGreaterThan
: *hasResult
= true; *hasResultType
= true; break;
2090 case OpFUnordGreaterThan
: *hasResult
= true; *hasResultType
= true; break;
2091 case OpFOrdLessThanEqual
: *hasResult
= true; *hasResultType
= true; break;
2092 case OpFUnordLessThanEqual
: *hasResult
= true; *hasResultType
= true; break;
2093 case OpFOrdGreaterThanEqual
: *hasResult
= true; *hasResultType
= true; break;
2094 case OpFUnordGreaterThanEqual
: *hasResult
= true; *hasResultType
= true; break;
2095 case OpShiftRightLogical
: *hasResult
= true; *hasResultType
= true; break;
2096 case OpShiftRightArithmetic
: *hasResult
= true; *hasResultType
= true; break;
2097 case OpShiftLeftLogical
: *hasResult
= true; *hasResultType
= true; break;
2098 case OpBitwiseOr
: *hasResult
= true; *hasResultType
= true; break;
2099 case OpBitwiseXor
: *hasResult
= true; *hasResultType
= true; break;
2100 case OpBitwiseAnd
: *hasResult
= true; *hasResultType
= true; break;
2101 case OpNot
: *hasResult
= true; *hasResultType
= true; break;
2102 case OpBitFieldInsert
: *hasResult
= true; *hasResultType
= true; break;
2103 case OpBitFieldSExtract
: *hasResult
= true; *hasResultType
= true; break;
2104 case OpBitFieldUExtract
: *hasResult
= true; *hasResultType
= true; break;
2105 case OpBitReverse
: *hasResult
= true; *hasResultType
= true; break;
2106 case OpBitCount
: *hasResult
= true; *hasResultType
= true; break;
2107 case OpDPdx
: *hasResult
= true; *hasResultType
= true; break;
2108 case OpDPdy
: *hasResult
= true; *hasResultType
= true; break;
2109 case OpFwidth
: *hasResult
= true; *hasResultType
= true; break;
2110 case OpDPdxFine
: *hasResult
= true; *hasResultType
= true; break;
2111 case OpDPdyFine
: *hasResult
= true; *hasResultType
= true; break;
2112 case OpFwidthFine
: *hasResult
= true; *hasResultType
= true; break;
2113 case OpDPdxCoarse
: *hasResult
= true; *hasResultType
= true; break;
2114 case OpDPdyCoarse
: *hasResult
= true; *hasResultType
= true; break;
2115 case OpFwidthCoarse
: *hasResult
= true; *hasResultType
= true; break;
2116 case OpEmitVertex
: *hasResult
= false; *hasResultType
= false; break;
2117 case OpEndPrimitive
: *hasResult
= false; *hasResultType
= false; break;
2118 case OpEmitStreamVertex
: *hasResult
= false; *hasResultType
= false; break;
2119 case OpEndStreamPrimitive
: *hasResult
= false; *hasResultType
= false; break;
2120 case OpControlBarrier
: *hasResult
= false; *hasResultType
= false; break;
2121 case OpMemoryBarrier
: *hasResult
= false; *hasResultType
= false; break;
2122 case OpAtomicLoad
: *hasResult
= true; *hasResultType
= true; break;
2123 case OpAtomicStore
: *hasResult
= false; *hasResultType
= false; break;
2124 case OpAtomicExchange
: *hasResult
= true; *hasResultType
= true; break;
2125 case OpAtomicCompareExchange
: *hasResult
= true; *hasResultType
= true; break;
2126 case OpAtomicCompareExchangeWeak
: *hasResult
= true; *hasResultType
= true; break;
2127 case OpAtomicIIncrement
: *hasResult
= true; *hasResultType
= true; break;
2128 case OpAtomicIDecrement
: *hasResult
= true; *hasResultType
= true; break;
2129 case OpAtomicIAdd
: *hasResult
= true; *hasResultType
= true; break;
2130 case OpAtomicISub
: *hasResult
= true; *hasResultType
= true; break;
2131 case OpAtomicSMin
: *hasResult
= true; *hasResultType
= true; break;
2132 case OpAtomicUMin
: *hasResult
= true; *hasResultType
= true; break;
2133 case OpAtomicSMax
: *hasResult
= true; *hasResultType
= true; break;
2134 case OpAtomicUMax
: *hasResult
= true; *hasResultType
= true; break;
2135 case OpAtomicAnd
: *hasResult
= true; *hasResultType
= true; break;
2136 case OpAtomicOr
: *hasResult
= true; *hasResultType
= true; break;
2137 case OpAtomicXor
: *hasResult
= true; *hasResultType
= true; break;
2138 case OpPhi
: *hasResult
= true; *hasResultType
= true; break;
2139 case OpLoopMerge
: *hasResult
= false; *hasResultType
= false; break;
2140 case OpSelectionMerge
: *hasResult
= false; *hasResultType
= false; break;
2141 case OpLabel
: *hasResult
= true; *hasResultType
= false; break;
2142 case OpBranch
: *hasResult
= false; *hasResultType
= false; break;
2143 case OpBranchConditional
: *hasResult
= false; *hasResultType
= false; break;
2144 case OpSwitch
: *hasResult
= false; *hasResultType
= false; break;
2145 case OpKill
: *hasResult
= false; *hasResultType
= false; break;
2146 case OpReturn
: *hasResult
= false; *hasResultType
= false; break;
2147 case OpReturnValue
: *hasResult
= false; *hasResultType
= false; break;
2148 case OpUnreachable
: *hasResult
= false; *hasResultType
= false; break;
2149 case OpLifetimeStart
: *hasResult
= false; *hasResultType
= false; break;
2150 case OpLifetimeStop
: *hasResult
= false; *hasResultType
= false; break;
2151 case OpGroupAsyncCopy
: *hasResult
= true; *hasResultType
= true; break;
2152 case OpGroupWaitEvents
: *hasResult
= false; *hasResultType
= false; break;
2153 case OpGroupAll
: *hasResult
= true; *hasResultType
= true; break;
2154 case OpGroupAny
: *hasResult
= true; *hasResultType
= true; break;
2155 case OpGroupBroadcast
: *hasResult
= true; *hasResultType
= true; break;
2156 case OpGroupIAdd
: *hasResult
= true; *hasResultType
= true; break;
2157 case OpGroupFAdd
: *hasResult
= true; *hasResultType
= true; break;
2158 case OpGroupFMin
: *hasResult
= true; *hasResultType
= true; break;
2159 case OpGroupUMin
: *hasResult
= true; *hasResultType
= true; break;
2160 case OpGroupSMin
: *hasResult
= true; *hasResultType
= true; break;
2161 case OpGroupFMax
: *hasResult
= true; *hasResultType
= true; break;
2162 case OpGroupUMax
: *hasResult
= true; *hasResultType
= true; break;
2163 case OpGroupSMax
: *hasResult
= true; *hasResultType
= true; break;
2164 case OpReadPipe
: *hasResult
= true; *hasResultType
= true; break;
2165 case OpWritePipe
: *hasResult
= true; *hasResultType
= true; break;
2166 case OpReservedReadPipe
: *hasResult
= true; *hasResultType
= true; break;
2167 case OpReservedWritePipe
: *hasResult
= true; *hasResultType
= true; break;
2168 case OpReserveReadPipePackets
: *hasResult
= true; *hasResultType
= true; break;
2169 case OpReserveWritePipePackets
: *hasResult
= true; *hasResultType
= true; break;
2170 case OpCommitReadPipe
: *hasResult
= false; *hasResultType
= false; break;
2171 case OpCommitWritePipe
: *hasResult
= false; *hasResultType
= false; break;
2172 case OpIsValidReserveId
: *hasResult
= true; *hasResultType
= true; break;
2173 case OpGetNumPipePackets
: *hasResult
= true; *hasResultType
= true; break;
2174 case OpGetMaxPipePackets
: *hasResult
= true; *hasResultType
= true; break;
2175 case OpGroupReserveReadPipePackets
: *hasResult
= true; *hasResultType
= true; break;
2176 case OpGroupReserveWritePipePackets
: *hasResult
= true; *hasResultType
= true; break;
2177 case OpGroupCommitReadPipe
: *hasResult
= false; *hasResultType
= false; break;
2178 case OpGroupCommitWritePipe
: *hasResult
= false; *hasResultType
= false; break;
2179 case OpEnqueueMarker
: *hasResult
= true; *hasResultType
= true; break;
2180 case OpEnqueueKernel
: *hasResult
= true; *hasResultType
= true; break;
2181 case OpGetKernelNDrangeSubGroupCount
: *hasResult
= true; *hasResultType
= true; break;
2182 case OpGetKernelNDrangeMaxSubGroupSize
: *hasResult
= true; *hasResultType
= true; break;
2183 case OpGetKernelWorkGroupSize
: *hasResult
= true; *hasResultType
= true; break;
2184 case OpGetKernelPreferredWorkGroupSizeMultiple
: *hasResult
= true; *hasResultType
= true; break;
2185 case OpRetainEvent
: *hasResult
= false; *hasResultType
= false; break;
2186 case OpReleaseEvent
: *hasResult
= false; *hasResultType
= false; break;
2187 case OpCreateUserEvent
: *hasResult
= true; *hasResultType
= true; break;
2188 case OpIsValidEvent
: *hasResult
= true; *hasResultType
= true; break;
2189 case OpSetUserEventStatus
: *hasResult
= false; *hasResultType
= false; break;
2190 case OpCaptureEventProfilingInfo
: *hasResult
= false; *hasResultType
= false; break;
2191 case OpGetDefaultQueue
: *hasResult
= true; *hasResultType
= true; break;
2192 case OpBuildNDRange
: *hasResult
= true; *hasResultType
= true; break;
2193 case OpImageSparseSampleImplicitLod
: *hasResult
= true; *hasResultType
= true; break;
2194 case OpImageSparseSampleExplicitLod
: *hasResult
= true; *hasResultType
= true; break;
2195 case OpImageSparseSampleDrefImplicitLod
: *hasResult
= true; *hasResultType
= true; break;
2196 case OpImageSparseSampleDrefExplicitLod
: *hasResult
= true; *hasResultType
= true; break;
2197 case OpImageSparseSampleProjImplicitLod
: *hasResult
= true; *hasResultType
= true; break;
2198 case OpImageSparseSampleProjExplicitLod
: *hasResult
= true; *hasResultType
= true; break;
2199 case OpImageSparseSampleProjDrefImplicitLod
: *hasResult
= true; *hasResultType
= true; break;
2200 case OpImageSparseSampleProjDrefExplicitLod
: *hasResult
= true; *hasResultType
= true; break;
2201 case OpImageSparseFetch
: *hasResult
= true; *hasResultType
= true; break;
2202 case OpImageSparseGather
: *hasResult
= true; *hasResultType
= true; break;
2203 case OpImageSparseDrefGather
: *hasResult
= true; *hasResultType
= true; break;
2204 case OpImageSparseTexelsResident
: *hasResult
= true; *hasResultType
= true; break;
2205 case OpNoLine
: *hasResult
= false; *hasResultType
= false; break;
2206 case OpAtomicFlagTestAndSet
: *hasResult
= true; *hasResultType
= true; break;
2207 case OpAtomicFlagClear
: *hasResult
= false; *hasResultType
= false; break;
2208 case OpImageSparseRead
: *hasResult
= true; *hasResultType
= true; break;
2209 case OpSizeOf
: *hasResult
= true; *hasResultType
= true; break;
2210 case OpTypePipeStorage
: *hasResult
= true; *hasResultType
= false; break;
2211 case OpConstantPipeStorage
: *hasResult
= true; *hasResultType
= true; break;
2212 case OpCreatePipeFromPipeStorage
: *hasResult
= true; *hasResultType
= true; break;
2213 case OpGetKernelLocalSizeForSubgroupCount
: *hasResult
= true; *hasResultType
= true; break;
2214 case OpGetKernelMaxNumSubgroups
: *hasResult
= true; *hasResultType
= true; break;
2215 case OpTypeNamedBarrier
: *hasResult
= true; *hasResultType
= false; break;
2216 case OpNamedBarrierInitialize
: *hasResult
= true; *hasResultType
= true; break;
2217 case OpMemoryNamedBarrier
: *hasResult
= false; *hasResultType
= false; break;
2218 case OpModuleProcessed
: *hasResult
= false; *hasResultType
= false; break;
2219 case OpExecutionModeId
: *hasResult
= false; *hasResultType
= false; break;
2220 case OpDecorateId
: *hasResult
= false; *hasResultType
= false; break;
2221 case OpGroupNonUniformElect
: *hasResult
= true; *hasResultType
= true; break;
2222 case OpGroupNonUniformAll
: *hasResult
= true; *hasResultType
= true; break;
2223 case OpGroupNonUniformAny
: *hasResult
= true; *hasResultType
= true; break;
2224 case OpGroupNonUniformAllEqual
: *hasResult
= true; *hasResultType
= true; break;
2225 case OpGroupNonUniformBroadcast
: *hasResult
= true; *hasResultType
= true; break;
2226 case OpGroupNonUniformBroadcastFirst
: *hasResult
= true; *hasResultType
= true; break;
2227 case OpGroupNonUniformBallot
: *hasResult
= true; *hasResultType
= true; break;
2228 case OpGroupNonUniformInverseBallot
: *hasResult
= true; *hasResultType
= true; break;
2229 case OpGroupNonUniformBallotBitExtract
: *hasResult
= true; *hasResultType
= true; break;
2230 case OpGroupNonUniformBallotBitCount
: *hasResult
= true; *hasResultType
= true; break;
2231 case OpGroupNonUniformBallotFindLSB
: *hasResult
= true; *hasResultType
= true; break;
2232 case OpGroupNonUniformBallotFindMSB
: *hasResult
= true; *hasResultType
= true; break;
2233 case OpGroupNonUniformShuffle
: *hasResult
= true; *hasResultType
= true; break;
2234 case OpGroupNonUniformShuffleXor
: *hasResult
= true; *hasResultType
= true; break;
2235 case OpGroupNonUniformShuffleUp
: *hasResult
= true; *hasResultType
= true; break;
2236 case OpGroupNonUniformShuffleDown
: *hasResult
= true; *hasResultType
= true; break;
2237 case OpGroupNonUniformIAdd
: *hasResult
= true; *hasResultType
= true; break;
2238 case OpGroupNonUniformFAdd
: *hasResult
= true; *hasResultType
= true; break;
2239 case OpGroupNonUniformIMul
: *hasResult
= true; *hasResultType
= true; break;
2240 case OpGroupNonUniformFMul
: *hasResult
= true; *hasResultType
= true; break;
2241 case OpGroupNonUniformSMin
: *hasResult
= true; *hasResultType
= true; break;
2242 case OpGroupNonUniformUMin
: *hasResult
= true; *hasResultType
= true; break;
2243 case OpGroupNonUniformFMin
: *hasResult
= true; *hasResultType
= true; break;
2244 case OpGroupNonUniformSMax
: *hasResult
= true; *hasResultType
= true; break;
2245 case OpGroupNonUniformUMax
: *hasResult
= true; *hasResultType
= true; break;
2246 case OpGroupNonUniformFMax
: *hasResult
= true; *hasResultType
= true; break;
2247 case OpGroupNonUniformBitwiseAnd
: *hasResult
= true; *hasResultType
= true; break;
2248 case OpGroupNonUniformBitwiseOr
: *hasResult
= true; *hasResultType
= true; break;
2249 case OpGroupNonUniformBitwiseXor
: *hasResult
= true; *hasResultType
= true; break;
2250 case OpGroupNonUniformLogicalAnd
: *hasResult
= true; *hasResultType
= true; break;
2251 case OpGroupNonUniformLogicalOr
: *hasResult
= true; *hasResultType
= true; break;
2252 case OpGroupNonUniformLogicalXor
: *hasResult
= true; *hasResultType
= true; break;
2253 case OpGroupNonUniformQuadBroadcast
: *hasResult
= true; *hasResultType
= true; break;
2254 case OpGroupNonUniformQuadSwap
: *hasResult
= true; *hasResultType
= true; break;
2255 case OpCopyLogical
: *hasResult
= true; *hasResultType
= true; break;
2256 case OpPtrEqual
: *hasResult
= true; *hasResultType
= true; break;
2257 case OpPtrNotEqual
: *hasResult
= true; *hasResultType
= true; break;
2258 case OpPtrDiff
: *hasResult
= true; *hasResultType
= true; break;
2259 case OpTerminateInvocation
: *hasResult
= false; *hasResultType
= false; break;
2260 case OpSubgroupBallotKHR
: *hasResult
= true; *hasResultType
= true; break;
2261 case OpSubgroupFirstInvocationKHR
: *hasResult
= true; *hasResultType
= true; break;
2262 case OpSubgroupAllKHR
: *hasResult
= true; *hasResultType
= true; break;
2263 case OpSubgroupAnyKHR
: *hasResult
= true; *hasResultType
= true; break;
2264 case OpSubgroupAllEqualKHR
: *hasResult
= true; *hasResultType
= true; break;
2265 case OpGroupNonUniformRotateKHR
: *hasResult
= true; *hasResultType
= true; break;
2266 case OpSubgroupReadInvocationKHR
: *hasResult
= true; *hasResultType
= true; break;
2267 case OpTraceRayKHR
: *hasResult
= false; *hasResultType
= false; break;
2268 case OpExecuteCallableKHR
: *hasResult
= false; *hasResultType
= false; break;
2269 case OpConvertUToAccelerationStructureKHR
: *hasResult
= true; *hasResultType
= true; break;
2270 case OpIgnoreIntersectionKHR
: *hasResult
= false; *hasResultType
= false; break;
2271 case OpTerminateRayKHR
: *hasResult
= false; *hasResultType
= false; break;
2272 case OpSDot
: *hasResult
= true; *hasResultType
= true; break;
2273 case OpUDot
: *hasResult
= true; *hasResultType
= true; break;
2274 case OpSUDot
: *hasResult
= true; *hasResultType
= true; break;
2275 case OpSDotAccSat
: *hasResult
= true; *hasResultType
= true; break;
2276 case OpUDotAccSat
: *hasResult
= true; *hasResultType
= true; break;
2277 case OpSUDotAccSat
: *hasResult
= true; *hasResultType
= true; break;
2278 case OpTypeRayQueryKHR
: *hasResult
= true; *hasResultType
= false; break;
2279 case OpRayQueryInitializeKHR
: *hasResult
= false; *hasResultType
= false; break;
2280 case OpRayQueryTerminateKHR
: *hasResult
= false; *hasResultType
= false; break;
2281 case OpRayQueryGenerateIntersectionKHR
: *hasResult
= false; *hasResultType
= false; break;
2282 case OpRayQueryConfirmIntersectionKHR
: *hasResult
= false; *hasResultType
= false; break;
2283 case OpRayQueryProceedKHR
: *hasResult
= true; *hasResultType
= true; break;
2284 case OpRayQueryGetIntersectionTypeKHR
: *hasResult
= true; *hasResultType
= true; break;
2285 case OpImageSampleWeightedQCOM
: *hasResult
= true; *hasResultType
= true; break;
2286 case OpImageBoxFilterQCOM
: *hasResult
= true; *hasResultType
= true; break;
2287 case OpImageBlockMatchSSDQCOM
: *hasResult
= true; *hasResultType
= true; break;
2288 case OpImageBlockMatchSADQCOM
: *hasResult
= true; *hasResultType
= true; break;
2289 case OpImageBlockMatchWindowSSDQCOM
: *hasResult
= true; *hasResultType
= true; break;
2290 case OpImageBlockMatchWindowSADQCOM
: *hasResult
= true; *hasResultType
= true; break;
2291 case OpImageBlockMatchGatherSSDQCOM
: *hasResult
= true; *hasResultType
= true; break;
2292 case OpImageBlockMatchGatherSADQCOM
: *hasResult
= true; *hasResultType
= true; break;
2293 case OpGroupIAddNonUniformAMD
: *hasResult
= true; *hasResultType
= true; break;
2294 case OpGroupFAddNonUniformAMD
: *hasResult
= true; *hasResultType
= true; break;
2295 case OpGroupFMinNonUniformAMD
: *hasResult
= true; *hasResultType
= true; break;
2296 case OpGroupUMinNonUniformAMD
: *hasResult
= true; *hasResultType
= true; break;
2297 case OpGroupSMinNonUniformAMD
: *hasResult
= true; *hasResultType
= true; break;
2298 case OpGroupFMaxNonUniformAMD
: *hasResult
= true; *hasResultType
= true; break;
2299 case OpGroupUMaxNonUniformAMD
: *hasResult
= true; *hasResultType
= true; break;
2300 case OpGroupSMaxNonUniformAMD
: *hasResult
= true; *hasResultType
= true; break;
2301 case OpFragmentMaskFetchAMD
: *hasResult
= true; *hasResultType
= true; break;
2302 case OpFragmentFetchAMD
: *hasResult
= true; *hasResultType
= true; break;
2303 case OpReadClockKHR
: *hasResult
= true; *hasResultType
= true; break;
2304 case OpImageSampleFootprintNV
: *hasResult
= true; *hasResultType
= true; break;
2305 case OpEmitMeshTasksEXT
: *hasResult
= false; *hasResultType
= false; break;
2306 case OpSetMeshOutputsEXT
: *hasResult
= false; *hasResultType
= false; break;
2307 case OpGroupNonUniformPartitionNV
: *hasResult
= true; *hasResultType
= true; break;
2308 case OpWritePackedPrimitiveIndices4x8NV
: *hasResult
= false; *hasResultType
= false; break;
2309 case OpReportIntersectionNV
: *hasResult
= true; *hasResultType
= true; break;
2310 case OpIgnoreIntersectionNV
: *hasResult
= false; *hasResultType
= false; break;
2311 case OpTerminateRayNV
: *hasResult
= false; *hasResultType
= false; break;
2312 case OpTraceNV
: *hasResult
= false; *hasResultType
= false; break;
2313 case OpTraceMotionNV
: *hasResult
= false; *hasResultType
= false; break;
2314 case OpTraceRayMotionNV
: *hasResult
= false; *hasResultType
= false; break;
2315 case OpTypeAccelerationStructureNV
: *hasResult
= true; *hasResultType
= false; break;
2316 case OpExecuteCallableNV
: *hasResult
= false; *hasResultType
= false; break;
2317 case OpTypeCooperativeMatrixNV
: *hasResult
= true; *hasResultType
= false; break;
2318 case OpCooperativeMatrixLoadNV
: *hasResult
= true; *hasResultType
= true; break;
2319 case OpCooperativeMatrixStoreNV
: *hasResult
= false; *hasResultType
= false; break;
2320 case OpCooperativeMatrixMulAddNV
: *hasResult
= true; *hasResultType
= true; break;
2321 case OpCooperativeMatrixLengthNV
: *hasResult
= true; *hasResultType
= true; break;
2322 case OpBeginInvocationInterlockEXT
: *hasResult
= false; *hasResultType
= false; break;
2323 case OpEndInvocationInterlockEXT
: *hasResult
= false; *hasResultType
= false; break;
2324 case OpDemoteToHelperInvocation
: *hasResult
= false; *hasResultType
= false; break;
2325 case OpIsHelperInvocationEXT
: *hasResult
= true; *hasResultType
= true; break;
2326 case OpConvertUToImageNV
: *hasResult
= true; *hasResultType
= true; break;
2327 case OpConvertUToSamplerNV
: *hasResult
= true; *hasResultType
= true; break;
2328 case OpConvertImageToUNV
: *hasResult
= true; *hasResultType
= true; break;
2329 case OpConvertSamplerToUNV
: *hasResult
= true; *hasResultType
= true; break;
2330 case OpConvertUToSampledImageNV
: *hasResult
= true; *hasResultType
= true; break;
2331 case OpConvertSampledImageToUNV
: *hasResult
= true; *hasResultType
= true; break;
2332 case OpSamplerImageAddressingModeNV
: *hasResult
= false; *hasResultType
= false; break;
2333 case OpSubgroupShuffleINTEL
: *hasResult
= true; *hasResultType
= true; break;
2334 case OpSubgroupShuffleDownINTEL
: *hasResult
= true; *hasResultType
= true; break;
2335 case OpSubgroupShuffleUpINTEL
: *hasResult
= true; *hasResultType
= true; break;
2336 case OpSubgroupShuffleXorINTEL
: *hasResult
= true; *hasResultType
= true; break;
2337 case OpSubgroupBlockReadINTEL
: *hasResult
= true; *hasResultType
= true; break;
2338 case OpSubgroupBlockWriteINTEL
: *hasResult
= false; *hasResultType
= false; break;
2339 case OpSubgroupImageBlockReadINTEL
: *hasResult
= true; *hasResultType
= true; break;
2340 case OpSubgroupImageBlockWriteINTEL
: *hasResult
= false; *hasResultType
= false; break;
2341 case OpSubgroupImageMediaBlockReadINTEL
: *hasResult
= true; *hasResultType
= true; break;
2342 case OpSubgroupImageMediaBlockWriteINTEL
: *hasResult
= false; *hasResultType
= false; break;
2343 case OpUCountLeadingZerosINTEL
: *hasResult
= true; *hasResultType
= true; break;
2344 case OpUCountTrailingZerosINTEL
: *hasResult
= true; *hasResultType
= true; break;
2345 case OpAbsISubINTEL
: *hasResult
= true; *hasResultType
= true; break;
2346 case OpAbsUSubINTEL
: *hasResult
= true; *hasResultType
= true; break;
2347 case OpIAddSatINTEL
: *hasResult
= true; *hasResultType
= true; break;
2348 case OpUAddSatINTEL
: *hasResult
= true; *hasResultType
= true; break;
2349 case OpIAverageINTEL
: *hasResult
= true; *hasResultType
= true; break;
2350 case OpUAverageINTEL
: *hasResult
= true; *hasResultType
= true; break;
2351 case OpIAverageRoundedINTEL
: *hasResult
= true; *hasResultType
= true; break;
2352 case OpUAverageRoundedINTEL
: *hasResult
= true; *hasResultType
= true; break;
2353 case OpISubSatINTEL
: *hasResult
= true; *hasResultType
= true; break;
2354 case OpUSubSatINTEL
: *hasResult
= true; *hasResultType
= true; break;
2355 case OpIMul32x16INTEL
: *hasResult
= true; *hasResultType
= true; break;
2356 case OpUMul32x16INTEL
: *hasResult
= true; *hasResultType
= true; break;
2357 case OpConstantFunctionPointerINTEL
: *hasResult
= true; *hasResultType
= true; break;
2358 case OpFunctionPointerCallINTEL
: *hasResult
= true; *hasResultType
= true; break;
2359 case OpAsmTargetINTEL
: *hasResult
= true; *hasResultType
= true; break;
2360 case OpAsmINTEL
: *hasResult
= true; *hasResultType
= true; break;
2361 case OpAsmCallINTEL
: *hasResult
= true; *hasResultType
= true; break;
2362 case OpAtomicFMinEXT
: *hasResult
= true; *hasResultType
= true; break;
2363 case OpAtomicFMaxEXT
: *hasResult
= true; *hasResultType
= true; break;
2364 case OpAssumeTrueKHR
: *hasResult
= false; *hasResultType
= false; break;
2365 case OpExpectKHR
: *hasResult
= true; *hasResultType
= true; break;
2366 case OpDecorateString
: *hasResult
= false; *hasResultType
= false; break;
2367 case OpMemberDecorateString
: *hasResult
= false; *hasResultType
= false; break;
2368 case OpVmeImageINTEL
: *hasResult
= true; *hasResultType
= true; break;
2369 case OpTypeVmeImageINTEL
: *hasResult
= true; *hasResultType
= false; break;
2370 case OpTypeAvcImePayloadINTEL
: *hasResult
= true; *hasResultType
= false; break;
2371 case OpTypeAvcRefPayloadINTEL
: *hasResult
= true; *hasResultType
= false; break;
2372 case OpTypeAvcSicPayloadINTEL
: *hasResult
= true; *hasResultType
= false; break;
2373 case OpTypeAvcMcePayloadINTEL
: *hasResult
= true; *hasResultType
= false; break;
2374 case OpTypeAvcMceResultINTEL
: *hasResult
= true; *hasResultType
= false; break;
2375 case OpTypeAvcImeResultINTEL
: *hasResult
= true; *hasResultType
= false; break;
2376 case OpTypeAvcImeResultSingleReferenceStreamoutINTEL
: *hasResult
= true; *hasResultType
= false; break;
2377 case OpTypeAvcImeResultDualReferenceStreamoutINTEL
: *hasResult
= true; *hasResultType
= false; break;
2378 case OpTypeAvcImeSingleReferenceStreaminINTEL
: *hasResult
= true; *hasResultType
= false; break;
2379 case OpTypeAvcImeDualReferenceStreaminINTEL
: *hasResult
= true; *hasResultType
= false; break;
2380 case OpTypeAvcRefResultINTEL
: *hasResult
= true; *hasResultType
= false; break;
2381 case OpTypeAvcSicResultINTEL
: *hasResult
= true; *hasResultType
= false; break;
2382 case OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL
: *hasResult
= true; *hasResultType
= true; break;
2383 case OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL
: *hasResult
= true; *hasResultType
= true; break;
2384 case OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL
: *hasResult
= true; *hasResultType
= true; break;
2385 case OpSubgroupAvcMceSetInterShapePenaltyINTEL
: *hasResult
= true; *hasResultType
= true; break;
2386 case OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL
: *hasResult
= true; *hasResultType
= true; break;
2387 case OpSubgroupAvcMceSetInterDirectionPenaltyINTEL
: *hasResult
= true; *hasResultType
= true; break;
2388 case OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL
: *hasResult
= true; *hasResultType
= true; break;
2389 case OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL
: *hasResult
= true; *hasResultType
= true; break;
2390 case OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL
: *hasResult
= true; *hasResultType
= true; break;
2391 case OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL
: *hasResult
= true; *hasResultType
= true; break;
2392 case OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL
: *hasResult
= true; *hasResultType
= true; break;
2393 case OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL
: *hasResult
= true; *hasResultType
= true; break;
2394 case OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL
: *hasResult
= true; *hasResultType
= true; break;
2395 case OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL
: *hasResult
= true; *hasResultType
= true; break;
2396 case OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL
: *hasResult
= true; *hasResultType
= true; break;
2397 case OpSubgroupAvcMceSetAcOnlyHaarINTEL
: *hasResult
= true; *hasResultType
= true; break;
2398 case OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL
: *hasResult
= true; *hasResultType
= true; break;
2399 case OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL
: *hasResult
= true; *hasResultType
= true; break;
2400 case OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL
: *hasResult
= true; *hasResultType
= true; break;
2401 case OpSubgroupAvcMceConvertToImePayloadINTEL
: *hasResult
= true; *hasResultType
= true; break;
2402 case OpSubgroupAvcMceConvertToImeResultINTEL
: *hasResult
= true; *hasResultType
= true; break;
2403 case OpSubgroupAvcMceConvertToRefPayloadINTEL
: *hasResult
= true; *hasResultType
= true; break;
2404 case OpSubgroupAvcMceConvertToRefResultINTEL
: *hasResult
= true; *hasResultType
= true; break;
2405 case OpSubgroupAvcMceConvertToSicPayloadINTEL
: *hasResult
= true; *hasResultType
= true; break;
2406 case OpSubgroupAvcMceConvertToSicResultINTEL
: *hasResult
= true; *hasResultType
= true; break;
2407 case OpSubgroupAvcMceGetMotionVectorsINTEL
: *hasResult
= true; *hasResultType
= true; break;
2408 case OpSubgroupAvcMceGetInterDistortionsINTEL
: *hasResult
= true; *hasResultType
= true; break;
2409 case OpSubgroupAvcMceGetBestInterDistortionsINTEL
: *hasResult
= true; *hasResultType
= true; break;
2410 case OpSubgroupAvcMceGetInterMajorShapeINTEL
: *hasResult
= true; *hasResultType
= true; break;
2411 case OpSubgroupAvcMceGetInterMinorShapeINTEL
: *hasResult
= true; *hasResultType
= true; break;
2412 case OpSubgroupAvcMceGetInterDirectionsINTEL
: *hasResult
= true; *hasResultType
= true; break;
2413 case OpSubgroupAvcMceGetInterMotionVectorCountINTEL
: *hasResult
= true; *hasResultType
= true; break;
2414 case OpSubgroupAvcMceGetInterReferenceIdsINTEL
: *hasResult
= true; *hasResultType
= true; break;
2415 case OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL
: *hasResult
= true; *hasResultType
= true; break;
2416 case OpSubgroupAvcImeInitializeINTEL
: *hasResult
= true; *hasResultType
= true; break;
2417 case OpSubgroupAvcImeSetSingleReferenceINTEL
: *hasResult
= true; *hasResultType
= true; break;
2418 case OpSubgroupAvcImeSetDualReferenceINTEL
: *hasResult
= true; *hasResultType
= true; break;
2419 case OpSubgroupAvcImeRefWindowSizeINTEL
: *hasResult
= true; *hasResultType
= true; break;
2420 case OpSubgroupAvcImeAdjustRefOffsetINTEL
: *hasResult
= true; *hasResultType
= true; break;
2421 case OpSubgroupAvcImeConvertToMcePayloadINTEL
: *hasResult
= true; *hasResultType
= true; break;
2422 case OpSubgroupAvcImeSetMaxMotionVectorCountINTEL
: *hasResult
= true; *hasResultType
= true; break;
2423 case OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL
: *hasResult
= true; *hasResultType
= true; break;
2424 case OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL
: *hasResult
= true; *hasResultType
= true; break;
2425 case OpSubgroupAvcImeSetWeightedSadINTEL
: *hasResult
= true; *hasResultType
= true; break;
2426 case OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL
: *hasResult
= true; *hasResultType
= true; break;
2427 case OpSubgroupAvcImeEvaluateWithDualReferenceINTEL
: *hasResult
= true; *hasResultType
= true; break;
2428 case OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL
: *hasResult
= true; *hasResultType
= true; break;
2429 case OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL
: *hasResult
= true; *hasResultType
= true; break;
2430 case OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL
: *hasResult
= true; *hasResultType
= true; break;
2431 case OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL
: *hasResult
= true; *hasResultType
= true; break;
2432 case OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL
: *hasResult
= true; *hasResultType
= true; break;
2433 case OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL
: *hasResult
= true; *hasResultType
= true; break;
2434 case OpSubgroupAvcImeConvertToMceResultINTEL
: *hasResult
= true; *hasResultType
= true; break;
2435 case OpSubgroupAvcImeGetSingleReferenceStreaminINTEL
: *hasResult
= true; *hasResultType
= true; break;
2436 case OpSubgroupAvcImeGetDualReferenceStreaminINTEL
: *hasResult
= true; *hasResultType
= true; break;
2437 case OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL
: *hasResult
= true; *hasResultType
= true; break;
2438 case OpSubgroupAvcImeStripDualReferenceStreamoutINTEL
: *hasResult
= true; *hasResultType
= true; break;
2439 case OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL
: *hasResult
= true; *hasResultType
= true; break;
2440 case OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL
: *hasResult
= true; *hasResultType
= true; break;
2441 case OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL
: *hasResult
= true; *hasResultType
= true; break;
2442 case OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL
: *hasResult
= true; *hasResultType
= true; break;
2443 case OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL
: *hasResult
= true; *hasResultType
= true; break;
2444 case OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL
: *hasResult
= true; *hasResultType
= true; break;
2445 case OpSubgroupAvcImeGetBorderReachedINTEL
: *hasResult
= true; *hasResultType
= true; break;
2446 case OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL
: *hasResult
= true; *hasResultType
= true; break;
2447 case OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL
: *hasResult
= true; *hasResultType
= true; break;
2448 case OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL
: *hasResult
= true; *hasResultType
= true; break;
2449 case OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL
: *hasResult
= true; *hasResultType
= true; break;
2450 case OpSubgroupAvcFmeInitializeINTEL
: *hasResult
= true; *hasResultType
= true; break;
2451 case OpSubgroupAvcBmeInitializeINTEL
: *hasResult
= true; *hasResultType
= true; break;
2452 case OpSubgroupAvcRefConvertToMcePayloadINTEL
: *hasResult
= true; *hasResultType
= true; break;
2453 case OpSubgroupAvcRefSetBidirectionalMixDisableINTEL
: *hasResult
= true; *hasResultType
= true; break;
2454 case OpSubgroupAvcRefSetBilinearFilterEnableINTEL
: *hasResult
= true; *hasResultType
= true; break;
2455 case OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL
: *hasResult
= true; *hasResultType
= true; break;
2456 case OpSubgroupAvcRefEvaluateWithDualReferenceINTEL
: *hasResult
= true; *hasResultType
= true; break;
2457 case OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL
: *hasResult
= true; *hasResultType
= true; break;
2458 case OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL
: *hasResult
= true; *hasResultType
= true; break;
2459 case OpSubgroupAvcRefConvertToMceResultINTEL
: *hasResult
= true; *hasResultType
= true; break;
2460 case OpSubgroupAvcSicInitializeINTEL
: *hasResult
= true; *hasResultType
= true; break;
2461 case OpSubgroupAvcSicConfigureSkcINTEL
: *hasResult
= true; *hasResultType
= true; break;
2462 case OpSubgroupAvcSicConfigureIpeLumaINTEL
: *hasResult
= true; *hasResultType
= true; break;
2463 case OpSubgroupAvcSicConfigureIpeLumaChromaINTEL
: *hasResult
= true; *hasResultType
= true; break;
2464 case OpSubgroupAvcSicGetMotionVectorMaskINTEL
: *hasResult
= true; *hasResultType
= true; break;
2465 case OpSubgroupAvcSicConvertToMcePayloadINTEL
: *hasResult
= true; *hasResultType
= true; break;
2466 case OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL
: *hasResult
= true; *hasResultType
= true; break;
2467 case OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL
: *hasResult
= true; *hasResultType
= true; break;
2468 case OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL
: *hasResult
= true; *hasResultType
= true; break;
2469 case OpSubgroupAvcSicSetBilinearFilterEnableINTEL
: *hasResult
= true; *hasResultType
= true; break;
2470 case OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL
: *hasResult
= true; *hasResultType
= true; break;
2471 case OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL
: *hasResult
= true; *hasResultType
= true; break;
2472 case OpSubgroupAvcSicEvaluateIpeINTEL
: *hasResult
= true; *hasResultType
= true; break;
2473 case OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL
: *hasResult
= true; *hasResultType
= true; break;
2474 case OpSubgroupAvcSicEvaluateWithDualReferenceINTEL
: *hasResult
= true; *hasResultType
= true; break;
2475 case OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL
: *hasResult
= true; *hasResultType
= true; break;
2476 case OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL
: *hasResult
= true; *hasResultType
= true; break;
2477 case OpSubgroupAvcSicConvertToMceResultINTEL
: *hasResult
= true; *hasResultType
= true; break;
2478 case OpSubgroupAvcSicGetIpeLumaShapeINTEL
: *hasResult
= true; *hasResultType
= true; break;
2479 case OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL
: *hasResult
= true; *hasResultType
= true; break;
2480 case OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL
: *hasResult
= true; *hasResultType
= true; break;
2481 case OpSubgroupAvcSicGetPackedIpeLumaModesINTEL
: *hasResult
= true; *hasResultType
= true; break;
2482 case OpSubgroupAvcSicGetIpeChromaModeINTEL
: *hasResult
= true; *hasResultType
= true; break;
2483 case OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL
: *hasResult
= true; *hasResultType
= true; break;
2484 case OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL
: *hasResult
= true; *hasResultType
= true; break;
2485 case OpSubgroupAvcSicGetInterRawSadsINTEL
: *hasResult
= true; *hasResultType
= true; break;
2486 case OpVariableLengthArrayINTEL
: *hasResult
= true; *hasResultType
= true; break;
2487 case OpSaveMemoryINTEL
: *hasResult
= true; *hasResultType
= true; break;
2488 case OpRestoreMemoryINTEL
: *hasResult
= false; *hasResultType
= false; break;
2489 case OpArbitraryFloatSinCosPiINTEL
: *hasResult
= true; *hasResultType
= true; break;
2490 case OpArbitraryFloatCastINTEL
: *hasResult
= true; *hasResultType
= true; break;
2491 case OpArbitraryFloatCastFromIntINTEL
: *hasResult
= true; *hasResultType
= true; break;
2492 case OpArbitraryFloatCastToIntINTEL
: *hasResult
= true; *hasResultType
= true; break;
2493 case OpArbitraryFloatAddINTEL
: *hasResult
= true; *hasResultType
= true; break;
2494 case OpArbitraryFloatSubINTEL
: *hasResult
= true; *hasResultType
= true; break;
2495 case OpArbitraryFloatMulINTEL
: *hasResult
= true; *hasResultType
= true; break;
2496 case OpArbitraryFloatDivINTEL
: *hasResult
= true; *hasResultType
= true; break;
2497 case OpArbitraryFloatGTINTEL
: *hasResult
= true; *hasResultType
= true; break;
2498 case OpArbitraryFloatGEINTEL
: *hasResult
= true; *hasResultType
= true; break;
2499 case OpArbitraryFloatLTINTEL
: *hasResult
= true; *hasResultType
= true; break;
2500 case OpArbitraryFloatLEINTEL
: *hasResult
= true; *hasResultType
= true; break;
2501 case OpArbitraryFloatEQINTEL
: *hasResult
= true; *hasResultType
= true; break;
2502 case OpArbitraryFloatRecipINTEL
: *hasResult
= true; *hasResultType
= true; break;
2503 case OpArbitraryFloatRSqrtINTEL
: *hasResult
= true; *hasResultType
= true; break;
2504 case OpArbitraryFloatCbrtINTEL
: *hasResult
= true; *hasResultType
= true; break;
2505 case OpArbitraryFloatHypotINTEL
: *hasResult
= true; *hasResultType
= true; break;
2506 case OpArbitraryFloatSqrtINTEL
: *hasResult
= true; *hasResultType
= true; break;
2507 case OpArbitraryFloatLogINTEL
: *hasResult
= true; *hasResultType
= true; break;
2508 case OpArbitraryFloatLog2INTEL
: *hasResult
= true; *hasResultType
= true; break;
2509 case OpArbitraryFloatLog10INTEL
: *hasResult
= true; *hasResultType
= true; break;
2510 case OpArbitraryFloatLog1pINTEL
: *hasResult
= true; *hasResultType
= true; break;
2511 case OpArbitraryFloatExpINTEL
: *hasResult
= true; *hasResultType
= true; break;
2512 case OpArbitraryFloatExp2INTEL
: *hasResult
= true; *hasResultType
= true; break;
2513 case OpArbitraryFloatExp10INTEL
: *hasResult
= true; *hasResultType
= true; break;
2514 case OpArbitraryFloatExpm1INTEL
: *hasResult
= true; *hasResultType
= true; break;
2515 case OpArbitraryFloatSinINTEL
: *hasResult
= true; *hasResultType
= true; break;
2516 case OpArbitraryFloatCosINTEL
: *hasResult
= true; *hasResultType
= true; break;
2517 case OpArbitraryFloatSinCosINTEL
: *hasResult
= true; *hasResultType
= true; break;
2518 case OpArbitraryFloatSinPiINTEL
: *hasResult
= true; *hasResultType
= true; break;
2519 case OpArbitraryFloatCosPiINTEL
: *hasResult
= true; *hasResultType
= true; break;
2520 case OpArbitraryFloatASinINTEL
: *hasResult
= true; *hasResultType
= true; break;
2521 case OpArbitraryFloatASinPiINTEL
: *hasResult
= true; *hasResultType
= true; break;
2522 case OpArbitraryFloatACosINTEL
: *hasResult
= true; *hasResultType
= true; break;
2523 case OpArbitraryFloatACosPiINTEL
: *hasResult
= true; *hasResultType
= true; break;
2524 case OpArbitraryFloatATanINTEL
: *hasResult
= true; *hasResultType
= true; break;
2525 case OpArbitraryFloatATanPiINTEL
: *hasResult
= true; *hasResultType
= true; break;
2526 case OpArbitraryFloatATan2INTEL
: *hasResult
= true; *hasResultType
= true; break;
2527 case OpArbitraryFloatPowINTEL
: *hasResult
= true; *hasResultType
= true; break;
2528 case OpArbitraryFloatPowRINTEL
: *hasResult
= true; *hasResultType
= true; break;
2529 case OpArbitraryFloatPowNINTEL
: *hasResult
= true; *hasResultType
= true; break;
2530 case OpLoopControlINTEL
: *hasResult
= false; *hasResultType
= false; break;
2531 case OpAliasDomainDeclINTEL
: *hasResult
= true; *hasResultType
= false; break;
2532 case OpAliasScopeDeclINTEL
: *hasResult
= true; *hasResultType
= false; break;
2533 case OpAliasScopeListDeclINTEL
: *hasResult
= true; *hasResultType
= false; break;
2534 case OpFixedSqrtINTEL
: *hasResult
= true; *hasResultType
= true; break;
2535 case OpFixedRecipINTEL
: *hasResult
= true; *hasResultType
= true; break;
2536 case OpFixedRsqrtINTEL
: *hasResult
= true; *hasResultType
= true; break;
2537 case OpFixedSinINTEL
: *hasResult
= true; *hasResultType
= true; break;
2538 case OpFixedCosINTEL
: *hasResult
= true; *hasResultType
= true; break;
2539 case OpFixedSinCosINTEL
: *hasResult
= true; *hasResultType
= true; break;
2540 case OpFixedSinPiINTEL
: *hasResult
= true; *hasResultType
= true; break;
2541 case OpFixedCosPiINTEL
: *hasResult
= true; *hasResultType
= true; break;
2542 case OpFixedSinCosPiINTEL
: *hasResult
= true; *hasResultType
= true; break;
2543 case OpFixedLogINTEL
: *hasResult
= true; *hasResultType
= true; break;
2544 case OpFixedExpINTEL
: *hasResult
= true; *hasResultType
= true; break;
2545 case OpPtrCastToCrossWorkgroupINTEL
: *hasResult
= true; *hasResultType
= true; break;
2546 case OpCrossWorkgroupCastToPtrINTEL
: *hasResult
= true; *hasResultType
= true; break;
2547 case OpReadPipeBlockingINTEL
: *hasResult
= true; *hasResultType
= true; break;
2548 case OpWritePipeBlockingINTEL
: *hasResult
= true; *hasResultType
= true; break;
2549 case OpFPGARegINTEL
: *hasResult
= true; *hasResultType
= true; break;
2550 case OpRayQueryGetRayTMinKHR
: *hasResult
= true; *hasResultType
= true; break;
2551 case OpRayQueryGetRayFlagsKHR
: *hasResult
= true; *hasResultType
= true; break;
2552 case OpRayQueryGetIntersectionTKHR
: *hasResult
= true; *hasResultType
= true; break;
2553 case OpRayQueryGetIntersectionInstanceCustomIndexKHR
: *hasResult
= true; *hasResultType
= true; break;
2554 case OpRayQueryGetIntersectionInstanceIdKHR
: *hasResult
= true; *hasResultType
= true; break;
2555 case OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR
: *hasResult
= true; *hasResultType
= true; break;
2556 case OpRayQueryGetIntersectionGeometryIndexKHR
: *hasResult
= true; *hasResultType
= true; break;
2557 case OpRayQueryGetIntersectionPrimitiveIndexKHR
: *hasResult
= true; *hasResultType
= true; break;
2558 case OpRayQueryGetIntersectionBarycentricsKHR
: *hasResult
= true; *hasResultType
= true; break;
2559 case OpRayQueryGetIntersectionFrontFaceKHR
: *hasResult
= true; *hasResultType
= true; break;
2560 case OpRayQueryGetIntersectionCandidateAABBOpaqueKHR
: *hasResult
= true; *hasResultType
= true; break;
2561 case OpRayQueryGetIntersectionObjectRayDirectionKHR
: *hasResult
= true; *hasResultType
= true; break;
2562 case OpRayQueryGetIntersectionObjectRayOriginKHR
: *hasResult
= true; *hasResultType
= true; break;
2563 case OpRayQueryGetWorldRayDirectionKHR
: *hasResult
= true; *hasResultType
= true; break;
2564 case OpRayQueryGetWorldRayOriginKHR
: *hasResult
= true; *hasResultType
= true; break;
2565 case OpRayQueryGetIntersectionObjectToWorldKHR
: *hasResult
= true; *hasResultType
= true; break;
2566 case OpRayQueryGetIntersectionWorldToObjectKHR
: *hasResult
= true; *hasResultType
= true; break;
2567 case OpAtomicFAddEXT
: *hasResult
= true; *hasResultType
= true; break;
2568 case OpTypeBufferSurfaceINTEL
: *hasResult
= true; *hasResultType
= false; break;
2569 case OpTypeStructContinuedINTEL
: *hasResult
= false; *hasResultType
= false; break;
2570 case OpConstantCompositeContinuedINTEL
: *hasResult
= false; *hasResultType
= false; break;
2571 case OpSpecConstantCompositeContinuedINTEL
: *hasResult
= false; *hasResultType
= false; break;
2572 case OpControlBarrierArriveINTEL
: *hasResult
= false; *hasResultType
= false; break;
2573 case OpControlBarrierWaitINTEL
: *hasResult
= false; *hasResultType
= false; break;
2574 case OpGroupIMulKHR
: *hasResult
= true; *hasResultType
= true; break;
2575 case OpGroupFMulKHR
: *hasResult
= true; *hasResultType
= true; break;
2576 case OpGroupBitwiseAndKHR
: *hasResult
= true; *hasResultType
= true; break;
2577 case OpGroupBitwiseOrKHR
: *hasResult
= true; *hasResultType
= true; break;
2578 case OpGroupBitwiseXorKHR
: *hasResult
= true; *hasResultType
= true; break;
2579 case OpGroupLogicalAndKHR
: *hasResult
= true; *hasResultType
= true; break;
2580 case OpGroupLogicalOrKHR
: *hasResult
= true; *hasResultType
= true; break;
2581 case OpGroupLogicalXorKHR
: *hasResult
= true; *hasResultType
= true; break;
2584 #endif /* SPV_ENABLE_UTILITY_CODE */
2586 // Overload operator| for mask bit combining
2588 inline ImageOperandsMask
operator|(ImageOperandsMask a
, ImageOperandsMask b
) { return ImageOperandsMask(unsigned(a
) | unsigned(b
)); }
2589 inline FPFastMathModeMask
operator|(FPFastMathModeMask a
, FPFastMathModeMask b
) { return FPFastMathModeMask(unsigned(a
) | unsigned(b
)); }
2590 inline SelectionControlMask
operator|(SelectionControlMask a
, SelectionControlMask b
) { return SelectionControlMask(unsigned(a
) | unsigned(b
)); }
2591 inline LoopControlMask
operator|(LoopControlMask a
, LoopControlMask b
) { return LoopControlMask(unsigned(a
) | unsigned(b
)); }
2592 inline FunctionControlMask
operator|(FunctionControlMask a
, FunctionControlMask b
) { return FunctionControlMask(unsigned(a
) | unsigned(b
)); }
2593 inline MemorySemanticsMask
operator|(MemorySemanticsMask a
, MemorySemanticsMask b
) { return MemorySemanticsMask(unsigned(a
) | unsigned(b
)); }
2594 inline MemoryAccessMask
operator|(MemoryAccessMask a
, MemoryAccessMask b
) { return MemoryAccessMask(unsigned(a
) | unsigned(b
)); }
2595 inline KernelProfilingInfoMask
operator|(KernelProfilingInfoMask a
, KernelProfilingInfoMask b
) { return KernelProfilingInfoMask(unsigned(a
) | unsigned(b
)); }
2596 inline RayFlagsMask
operator|(RayFlagsMask a
, RayFlagsMask b
) { return RayFlagsMask(unsigned(a
) | unsigned(b
)); }
2597 inline FragmentShadingRateMask
operator|(FragmentShadingRateMask a
, FragmentShadingRateMask b
) { return FragmentShadingRateMask(unsigned(a
) | unsigned(b
)); }
2599 } // end namespace spv
2601 #endif // #ifndef spirv_HPP