59typedef unsigned int SpvId;
61#define SPV_VERSION 0x10600
64static const unsigned int SpvMagicNumber = 0x07230203;
65static const unsigned int SpvVersion = 0x00010600;
66static const unsigned int SpvRevision = 1;
67static const unsigned int SpvOpCodeMask = 0xffff;
68static const unsigned int SpvWordCountShift = 16;
70typedef enum SpvSourceLanguage_ {
71 SpvSourceLanguageUnknown = 0,
72 SpvSourceLanguageESSL = 1,
73 SpvSourceLanguageGLSL = 2,
74 SpvSourceLanguageOpenCL_C = 3,
75 SpvSourceLanguageOpenCL_CPP = 4,
76 SpvSourceLanguageHLSL = 5,
77 SpvSourceLanguageCPP_for_OpenCL = 6,
78 SpvSourceLanguageSYCL = 7,
79 SpvSourceLanguageHERO_C = 8,
80 SpvSourceLanguageNZSL = 9,
81 SpvSourceLanguageMax = 0x7fffffff,
84typedef enum SpvExecutionModel_ {
85 SpvExecutionModelVertex = 0,
86 SpvExecutionModelTessellationControl = 1,
87 SpvExecutionModelTessellationEvaluation = 2,
88 SpvExecutionModelGeometry = 3,
89 SpvExecutionModelFragment = 4,
90 SpvExecutionModelGLCompute = 5,
91 SpvExecutionModelKernel = 6,
92 SpvExecutionModelTaskNV = 5267,
93 SpvExecutionModelMeshNV = 5268,
94 SpvExecutionModelRayGenerationKHR = 5313,
95 SpvExecutionModelRayGenerationNV = 5313,
96 SpvExecutionModelIntersectionKHR = 5314,
97 SpvExecutionModelIntersectionNV = 5314,
98 SpvExecutionModelAnyHitKHR = 5315,
99 SpvExecutionModelAnyHitNV = 5315,
100 SpvExecutionModelClosestHitKHR = 5316,
101 SpvExecutionModelClosestHitNV = 5316,
102 SpvExecutionModelMissKHR = 5317,
103 SpvExecutionModelMissNV = 5317,
104 SpvExecutionModelCallableKHR = 5318,
105 SpvExecutionModelCallableNV = 5318,
106 SpvExecutionModelTaskEXT = 5364,
107 SpvExecutionModelMeshEXT = 5365,
108 SpvExecutionModelMax = 0x7fffffff,
111typedef enum SpvAddressingModel_ {
112 SpvAddressingModelLogical = 0,
113 SpvAddressingModelPhysical32 = 1,
114 SpvAddressingModelPhysical64 = 2,
115 SpvAddressingModelPhysicalStorageBuffer64 = 5348,
116 SpvAddressingModelPhysicalStorageBuffer64EXT = 5348,
117 SpvAddressingModelMax = 0x7fffffff,
120typedef enum SpvMemoryModel_ {
121 SpvMemoryModelSimple = 0,
122 SpvMemoryModelGLSL450 = 1,
123 SpvMemoryModelOpenCL = 2,
124 SpvMemoryModelVulkan = 3,
125 SpvMemoryModelVulkanKHR = 3,
126 SpvMemoryModelMax = 0x7fffffff,
129typedef enum SpvExecutionMode_ {
130 SpvExecutionModeInvocations = 0,
131 SpvExecutionModeSpacingEqual = 1,
132 SpvExecutionModeSpacingFractionalEven = 2,
133 SpvExecutionModeSpacingFractionalOdd = 3,
134 SpvExecutionModeVertexOrderCw = 4,
135 SpvExecutionModeVertexOrderCcw = 5,
136 SpvExecutionModePixelCenterInteger = 6,
137 SpvExecutionModeOriginUpperLeft = 7,
138 SpvExecutionModeOriginLowerLeft = 8,
139 SpvExecutionModeEarlyFragmentTests = 9,
140 SpvExecutionModePointMode = 10,
141 SpvExecutionModeXfb = 11,
142 SpvExecutionModeDepthReplacing = 12,
143 SpvExecutionModeDepthGreater = 14,
144 SpvExecutionModeDepthLess = 15,
145 SpvExecutionModeDepthUnchanged = 16,
146 SpvExecutionModeLocalSize = 17,
147 SpvExecutionModeLocalSizeHint = 18,
148 SpvExecutionModeInputPoints = 19,
149 SpvExecutionModeInputLines = 20,
150 SpvExecutionModeInputLinesAdjacency = 21,
151 SpvExecutionModeTriangles = 22,
152 SpvExecutionModeInputTrianglesAdjacency = 23,
153 SpvExecutionModeQuads = 24,
154 SpvExecutionModeIsolines = 25,
155 SpvExecutionModeOutputVertices = 26,
156 SpvExecutionModeOutputPoints = 27,
157 SpvExecutionModeOutputLineStrip = 28,
158 SpvExecutionModeOutputTriangleStrip = 29,
159 SpvExecutionModeVecTypeHint = 30,
160 SpvExecutionModeContractionOff = 31,
161 SpvExecutionModeInitializer = 33,
162 SpvExecutionModeFinalizer = 34,
163 SpvExecutionModeSubgroupSize = 35,
164 SpvExecutionModeSubgroupsPerWorkgroup = 36,
165 SpvExecutionModeSubgroupsPerWorkgroupId = 37,
166 SpvExecutionModeLocalSizeId = 38,
167 SpvExecutionModeLocalSizeHintId = 39,
168 SpvExecutionModeNonCoherentColorAttachmentReadEXT = 4169,
169 SpvExecutionModeNonCoherentDepthAttachmentReadEXT = 4170,
170 SpvExecutionModeNonCoherentStencilAttachmentReadEXT = 4171,
171 SpvExecutionModeSubgroupUniformControlFlowKHR = 4421,
172 SpvExecutionModePostDepthCoverage = 4446,
173 SpvExecutionModeDenormPreserve = 4459,
174 SpvExecutionModeDenormFlushToZero = 4460,
175 SpvExecutionModeSignedZeroInfNanPreserve = 4461,
176 SpvExecutionModeRoundingModeRTE = 4462,
177 SpvExecutionModeRoundingModeRTZ = 4463,
178 SpvExecutionModeEarlyAndLateFragmentTestsAMD = 5017,
179 SpvExecutionModeStencilRefReplacingEXT = 5027,
180 SpvExecutionModeStencilRefUnchangedFrontAMD = 5079,
181 SpvExecutionModeStencilRefGreaterFrontAMD = 5080,
182 SpvExecutionModeStencilRefLessFrontAMD = 5081,
183 SpvExecutionModeStencilRefUnchangedBackAMD = 5082,
184 SpvExecutionModeStencilRefGreaterBackAMD = 5083,
185 SpvExecutionModeStencilRefLessBackAMD = 5084,
186 SpvExecutionModeOutputLinesEXT = 5269,
187 SpvExecutionModeOutputLinesNV = 5269,
188 SpvExecutionModeOutputPrimitivesEXT = 5270,
189 SpvExecutionModeOutputPrimitivesNV = 5270,
190 SpvExecutionModeDerivativeGroupQuadsNV = 5289,
191 SpvExecutionModeDerivativeGroupLinearNV = 5290,
192 SpvExecutionModeOutputTrianglesEXT = 5298,
193 SpvExecutionModeOutputTrianglesNV = 5298,
194 SpvExecutionModePixelInterlockOrderedEXT = 5366,
195 SpvExecutionModePixelInterlockUnorderedEXT = 5367,
196 SpvExecutionModeSampleInterlockOrderedEXT = 5368,
197 SpvExecutionModeSampleInterlockUnorderedEXT = 5369,
198 SpvExecutionModeShadingRateInterlockOrderedEXT = 5370,
199 SpvExecutionModeShadingRateInterlockUnorderedEXT = 5371,
200 SpvExecutionModeSharedLocalMemorySizeINTEL = 5618,
201 SpvExecutionModeRoundingModeRTPINTEL = 5620,
202 SpvExecutionModeRoundingModeRTNINTEL = 5621,
203 SpvExecutionModeFloatingPointModeALTINTEL = 5622,
204 SpvExecutionModeFloatingPointModeIEEEINTEL = 5623,
205 SpvExecutionModeMaxWorkgroupSizeINTEL = 5893,
206 SpvExecutionModeMaxWorkDimINTEL = 5894,
207 SpvExecutionModeNoGlobalOffsetINTEL = 5895,
208 SpvExecutionModeNumSIMDWorkitemsINTEL = 5896,
209 SpvExecutionModeSchedulerTargetFmaxMhzINTEL = 5903,
210 SpvExecutionModeStreamingInterfaceINTEL = 6154,
211 SpvExecutionModeRegisterMapInterfaceINTEL = 6160,
212 SpvExecutionModeNamedBarrierCountINTEL = 6417,
213 SpvExecutionModeMax = 0x7fffffff,
216typedef enum SpvStorageClass_ {
217 SpvStorageClassUniformConstant = 0,
218 SpvStorageClassInput = 1,
219 SpvStorageClassUniform = 2,
220 SpvStorageClassOutput = 3,
221 SpvStorageClassWorkgroup = 4,
222 SpvStorageClassCrossWorkgroup = 5,
223 SpvStorageClassPrivate = 6,
224 SpvStorageClassFunction = 7,
225 SpvStorageClassGeneric = 8,
226 SpvStorageClassPushConstant = 9,
227 SpvStorageClassAtomicCounter = 10,
228 SpvStorageClassImage = 11,
229 SpvStorageClassStorageBuffer = 12,
230 SpvStorageClassTileImageEXT = 4172,
231 SpvStorageClassCallableDataKHR = 5328,
232 SpvStorageClassCallableDataNV = 5328,
233 SpvStorageClassIncomingCallableDataKHR = 5329,
234 SpvStorageClassIncomingCallableDataNV = 5329,
235 SpvStorageClassRayPayloadKHR = 5338,
236 SpvStorageClassRayPayloadNV = 5338,
237 SpvStorageClassHitAttributeKHR = 5339,
238 SpvStorageClassHitAttributeNV = 5339,
239 SpvStorageClassIncomingRayPayloadKHR = 5342,
240 SpvStorageClassIncomingRayPayloadNV = 5342,
241 SpvStorageClassShaderRecordBufferKHR = 5343,
242 SpvStorageClassShaderRecordBufferNV = 5343,
243 SpvStorageClassPhysicalStorageBuffer = 5349,
244 SpvStorageClassPhysicalStorageBufferEXT = 5349,
245 SpvStorageClassHitObjectAttributeNV = 5385,
246 SpvStorageClassTaskPayloadWorkgroupEXT = 5402,
247 SpvStorageClassCodeSectionINTEL = 5605,
248 SpvStorageClassDeviceOnlyINTEL = 5936,
249 SpvStorageClassHostOnlyINTEL = 5937,
250 SpvStorageClassMax = 0x7fffffff,
253typedef enum SpvDim_ {
260 SpvDimSubpassData = 6,
261 SpvDimTileImageDataEXT = 4173,
262 SpvDimMax = 0x7fffffff,
265typedef enum SpvSamplerAddressingMode_ {
266 SpvSamplerAddressingModeNone = 0,
267 SpvSamplerAddressingModeClampToEdge = 1,
268 SpvSamplerAddressingModeClamp = 2,
269 SpvSamplerAddressingModeRepeat = 3,
270 SpvSamplerAddressingModeRepeatMirrored = 4,
271 SpvSamplerAddressingModeMax = 0x7fffffff,
272} SpvSamplerAddressingMode;
274typedef enum SpvSamplerFilterMode_ {
275 SpvSamplerFilterModeNearest = 0,
276 SpvSamplerFilterModeLinear = 1,
277 SpvSamplerFilterModeMax = 0x7fffffff,
278} SpvSamplerFilterMode;
280typedef enum SpvImageFormat_ {
281 SpvImageFormatUnknown = 0,
282 SpvImageFormatRgba32f = 1,
283 SpvImageFormatRgba16f = 2,
284 SpvImageFormatR32f = 3,
285 SpvImageFormatRgba8 = 4,
286 SpvImageFormatRgba8Snorm = 5,
287 SpvImageFormatRg32f = 6,
288 SpvImageFormatRg16f = 7,
289 SpvImageFormatR11fG11fB10f = 8,
290 SpvImageFormatR16f = 9,
291 SpvImageFormatRgba16 = 10,
292 SpvImageFormatRgb10A2 = 11,
293 SpvImageFormatRg16 = 12,
294 SpvImageFormatRg8 = 13,
295 SpvImageFormatR16 = 14,
296 SpvImageFormatR8 = 15,
297 SpvImageFormatRgba16Snorm = 16,
298 SpvImageFormatRg16Snorm = 17,
299 SpvImageFormatRg8Snorm = 18,
300 SpvImageFormatR16Snorm = 19,
301 SpvImageFormatR8Snorm = 20,
302 SpvImageFormatRgba32i = 21,
303 SpvImageFormatRgba16i = 22,
304 SpvImageFormatRgba8i = 23,
305 SpvImageFormatR32i = 24,
306 SpvImageFormatRg32i = 25,
307 SpvImageFormatRg16i = 26,
308 SpvImageFormatRg8i = 27,
309 SpvImageFormatR16i = 28,
310 SpvImageFormatR8i = 29,
311 SpvImageFormatRgba32ui = 30,
312 SpvImageFormatRgba16ui = 31,
313 SpvImageFormatRgba8ui = 32,
314 SpvImageFormatR32ui = 33,
315 SpvImageFormatRgb10a2ui = 34,
316 SpvImageFormatRg32ui = 35,
317 SpvImageFormatRg16ui = 36,
318 SpvImageFormatRg8ui = 37,
319 SpvImageFormatR16ui = 38,
320 SpvImageFormatR8ui = 39,
321 SpvImageFormatR64ui = 40,
322 SpvImageFormatR64i = 41,
323 SpvImageFormatMax = 0x7fffffff,
326typedef enum SpvImageChannelOrder_ {
327 SpvImageChannelOrderR = 0,
328 SpvImageChannelOrderA = 1,
329 SpvImageChannelOrderRG = 2,
330 SpvImageChannelOrderRA = 3,
331 SpvImageChannelOrderRGB = 4,
332 SpvImageChannelOrderRGBA = 5,
333 SpvImageChannelOrderBGRA = 6,
334 SpvImageChannelOrderARGB = 7,
335 SpvImageChannelOrderIntensity = 8,
336 SpvImageChannelOrderLuminance = 9,
337 SpvImageChannelOrderRx = 10,
338 SpvImageChannelOrderRGx = 11,
339 SpvImageChannelOrderRGBx = 12,
340 SpvImageChannelOrderDepth = 13,
341 SpvImageChannelOrderDepthStencil = 14,
342 SpvImageChannelOrdersRGB = 15,
343 SpvImageChannelOrdersRGBx = 16,
344 SpvImageChannelOrdersRGBA = 17,
345 SpvImageChannelOrdersBGRA = 18,
346 SpvImageChannelOrderABGR = 19,
347 SpvImageChannelOrderMax = 0x7fffffff,
348} SpvImageChannelOrder;
350typedef enum SpvImageChannelDataType_ {
351 SpvImageChannelDataTypeSnormInt8 = 0,
352 SpvImageChannelDataTypeSnormInt16 = 1,
353 SpvImageChannelDataTypeUnormInt8 = 2,
354 SpvImageChannelDataTypeUnormInt16 = 3,
355 SpvImageChannelDataTypeUnormShort565 = 4,
356 SpvImageChannelDataTypeUnormShort555 = 5,
357 SpvImageChannelDataTypeUnormInt101010 = 6,
358 SpvImageChannelDataTypeSignedInt8 = 7,
359 SpvImageChannelDataTypeSignedInt16 = 8,
360 SpvImageChannelDataTypeSignedInt32 = 9,
361 SpvImageChannelDataTypeUnsignedInt8 = 10,
362 SpvImageChannelDataTypeUnsignedInt16 = 11,
363 SpvImageChannelDataTypeUnsignedInt32 = 12,
364 SpvImageChannelDataTypeHalfFloat = 13,
365 SpvImageChannelDataTypeFloat = 14,
366 SpvImageChannelDataTypeUnormInt24 = 15,
367 SpvImageChannelDataTypeUnormInt101010_2 = 16,
368 SpvImageChannelDataTypeUnsignedIntRaw10EXT = 19,
369 SpvImageChannelDataTypeUnsignedIntRaw12EXT = 20,
370 SpvImageChannelDataTypeMax = 0x7fffffff,
371} SpvImageChannelDataType;
373typedef enum SpvImageOperandsShift_ {
374 SpvImageOperandsBiasShift = 0,
375 SpvImageOperandsLodShift = 1,
376 SpvImageOperandsGradShift = 2,
377 SpvImageOperandsConstOffsetShift = 3,
378 SpvImageOperandsOffsetShift = 4,
379 SpvImageOperandsConstOffsetsShift = 5,
380 SpvImageOperandsSampleShift = 6,
381 SpvImageOperandsMinLodShift = 7,
382 SpvImageOperandsMakeTexelAvailableShift = 8,
383 SpvImageOperandsMakeTexelAvailableKHRShift = 8,
384 SpvImageOperandsMakeTexelVisibleShift = 9,
385 SpvImageOperandsMakeTexelVisibleKHRShift = 9,
386 SpvImageOperandsNonPrivateTexelShift = 10,
387 SpvImageOperandsNonPrivateTexelKHRShift = 10,
388 SpvImageOperandsVolatileTexelShift = 11,
389 SpvImageOperandsVolatileTexelKHRShift = 11,
390 SpvImageOperandsSignExtendShift = 12,
391 SpvImageOperandsZeroExtendShift = 13,
392 SpvImageOperandsNontemporalShift = 14,
393 SpvImageOperandsOffsetsShift = 16,
394 SpvImageOperandsMax = 0x7fffffff,
395} SpvImageOperandsShift;
397typedef enum SpvImageOperandsMask_ {
398 SpvImageOperandsMaskNone = 0,
399 SpvImageOperandsBiasMask = 0x00000001,
400 SpvImageOperandsLodMask = 0x00000002,
401 SpvImageOperandsGradMask = 0x00000004,
402 SpvImageOperandsConstOffsetMask = 0x00000008,
403 SpvImageOperandsOffsetMask = 0x00000010,
404 SpvImageOperandsConstOffsetsMask = 0x00000020,
405 SpvImageOperandsSampleMask = 0x00000040,
406 SpvImageOperandsMinLodMask = 0x00000080,
407 SpvImageOperandsMakeTexelAvailableMask = 0x00000100,
408 SpvImageOperandsMakeTexelAvailableKHRMask = 0x00000100,
409 SpvImageOperandsMakeTexelVisibleMask = 0x00000200,
410 SpvImageOperandsMakeTexelVisibleKHRMask = 0x00000200,
411 SpvImageOperandsNonPrivateTexelMask = 0x00000400,
412 SpvImageOperandsNonPrivateTexelKHRMask = 0x00000400,
413 SpvImageOperandsVolatileTexelMask = 0x00000800,
414 SpvImageOperandsVolatileTexelKHRMask = 0x00000800,
415 SpvImageOperandsSignExtendMask = 0x00001000,
416 SpvImageOperandsZeroExtendMask = 0x00002000,
417 SpvImageOperandsNontemporalMask = 0x00004000,
418 SpvImageOperandsOffsetsMask = 0x00010000,
419} SpvImageOperandsMask;
421typedef enum SpvFPFastMathModeShift_ {
422 SpvFPFastMathModeNotNaNShift = 0,
423 SpvFPFastMathModeNotInfShift = 1,
424 SpvFPFastMathModeNSZShift = 2,
425 SpvFPFastMathModeAllowRecipShift = 3,
426 SpvFPFastMathModeFastShift = 4,
427 SpvFPFastMathModeAllowContractFastINTELShift = 16,
428 SpvFPFastMathModeAllowReassocINTELShift = 17,
429 SpvFPFastMathModeMax = 0x7fffffff,
430} SpvFPFastMathModeShift;
432typedef enum SpvFPFastMathModeMask_ {
433 SpvFPFastMathModeMaskNone = 0,
434 SpvFPFastMathModeNotNaNMask = 0x00000001,
435 SpvFPFastMathModeNotInfMask = 0x00000002,
436 SpvFPFastMathModeNSZMask = 0x00000004,
437 SpvFPFastMathModeAllowRecipMask = 0x00000008,
438 SpvFPFastMathModeFastMask = 0x00000010,
439 SpvFPFastMathModeAllowContractFastINTELMask = 0x00010000,
440 SpvFPFastMathModeAllowReassocINTELMask = 0x00020000,
441} SpvFPFastMathModeMask;
443typedef enum SpvFPRoundingMode_ {
444 SpvFPRoundingModeRTE = 0,
445 SpvFPRoundingModeRTZ = 1,
446 SpvFPRoundingModeRTP = 2,
447 SpvFPRoundingModeRTN = 3,
448 SpvFPRoundingModeMax = 0x7fffffff,
451typedef enum SpvLinkageType_ {
452 SpvLinkageTypeExport = 0,
453 SpvLinkageTypeImport = 1,
454 SpvLinkageTypeLinkOnceODR = 2,
455 SpvLinkageTypeMax = 0x7fffffff,
458typedef enum SpvAccessQualifier_ {
459 SpvAccessQualifierReadOnly = 0,
460 SpvAccessQualifierWriteOnly = 1,
461 SpvAccessQualifierReadWrite = 2,
462 SpvAccessQualifierMax = 0x7fffffff,
465typedef enum SpvFunctionParameterAttribute_ {
466 SpvFunctionParameterAttributeZext = 0,
467 SpvFunctionParameterAttributeSext = 1,
468 SpvFunctionParameterAttributeByVal = 2,
469 SpvFunctionParameterAttributeSret = 3,
470 SpvFunctionParameterAttributeNoAlias = 4,
471 SpvFunctionParameterAttributeNoCapture = 5,
472 SpvFunctionParameterAttributeNoWrite = 6,
473 SpvFunctionParameterAttributeNoReadWrite = 7,
474 SpvFunctionParameterAttributeRuntimeAlignedINTEL = 5940,
475 SpvFunctionParameterAttributeMax = 0x7fffffff,
476} SpvFunctionParameterAttribute;
478typedef enum SpvDecoration_ {
479 SpvDecorationRelaxedPrecision = 0,
480 SpvDecorationSpecId = 1,
481 SpvDecorationBlock = 2,
482 SpvDecorationBufferBlock = 3,
483 SpvDecorationRowMajor = 4,
484 SpvDecorationColMajor = 5,
485 SpvDecorationArrayStride = 6,
486 SpvDecorationMatrixStride = 7,
487 SpvDecorationGLSLShared = 8,
488 SpvDecorationGLSLPacked = 9,
489 SpvDecorationCPacked = 10,
490 SpvDecorationBuiltIn = 11,
491 SpvDecorationNoPerspective = 13,
492 SpvDecorationFlat = 14,
493 SpvDecorationPatch = 15,
494 SpvDecorationCentroid = 16,
495 SpvDecorationSample = 17,
496 SpvDecorationInvariant = 18,
497 SpvDecorationRestrict = 19,
498 SpvDecorationAliased = 20,
499 SpvDecorationVolatile = 21,
500 SpvDecorationConstant = 22,
501 SpvDecorationCoherent = 23,
502 SpvDecorationNonWritable = 24,
503 SpvDecorationNonReadable = 25,
504 SpvDecorationUniform = 26,
505 SpvDecorationUniformId = 27,
506 SpvDecorationSaturatedConversion = 28,
507 SpvDecorationStream = 29,
508 SpvDecorationLocation = 30,
509 SpvDecorationComponent = 31,
510 SpvDecorationIndex = 32,
511 SpvDecorationBinding = 33,
512 SpvDecorationDescriptorSet = 34,
513 SpvDecorationOffset = 35,
514 SpvDecorationXfbBuffer = 36,
515 SpvDecorationXfbStride = 37,
516 SpvDecorationFuncParamAttr = 38,
517 SpvDecorationFPRoundingMode = 39,
518 SpvDecorationFPFastMathMode = 40,
519 SpvDecorationLinkageAttributes = 41,
520 SpvDecorationNoContraction = 42,
521 SpvDecorationInputAttachmentIndex = 43,
522 SpvDecorationAlignment = 44,
523 SpvDecorationMaxByteOffset = 45,
524 SpvDecorationAlignmentId = 46,
525 SpvDecorationMaxByteOffsetId = 47,
526 SpvDecorationNoSignedWrap = 4469,
527 SpvDecorationNoUnsignedWrap = 4470,
528 SpvDecorationWeightTextureQCOM = 4487,
529 SpvDecorationBlockMatchTextureQCOM = 4488,
530 SpvDecorationExplicitInterpAMD = 4999,
531 SpvDecorationOverrideCoverageNV = 5248,
532 SpvDecorationPassthroughNV = 5250,
533 SpvDecorationViewportRelativeNV = 5252,
534 SpvDecorationSecondaryViewportRelativeNV = 5256,
535 SpvDecorationPerPrimitiveEXT = 5271,
536 SpvDecorationPerPrimitiveNV = 5271,
537 SpvDecorationPerViewNV = 5272,
538 SpvDecorationPerTaskNV = 5273,
539 SpvDecorationPerVertexKHR = 5285,
540 SpvDecorationPerVertexNV = 5285,
541 SpvDecorationNonUniform = 5300,
542 SpvDecorationNonUniformEXT = 5300,
543 SpvDecorationRestrictPointer = 5355,
544 SpvDecorationRestrictPointerEXT = 5355,
545 SpvDecorationAliasedPointer = 5356,
546 SpvDecorationAliasedPointerEXT = 5356,
547 SpvDecorationHitObjectShaderRecordBufferNV = 5386,
548 SpvDecorationBindlessSamplerNV = 5398,
549 SpvDecorationBindlessImageNV = 5399,
550 SpvDecorationBoundSamplerNV = 5400,
551 SpvDecorationBoundImageNV = 5401,
552 SpvDecorationSIMTCallINTEL = 5599,
553 SpvDecorationReferencedIndirectlyINTEL = 5602,
554 SpvDecorationClobberINTEL = 5607,
555 SpvDecorationSideEffectsINTEL = 5608,
556 SpvDecorationVectorComputeVariableINTEL = 5624,
557 SpvDecorationFuncParamIOKindINTEL = 5625,
558 SpvDecorationVectorComputeFunctionINTEL = 5626,
559 SpvDecorationStackCallINTEL = 5627,
560 SpvDecorationGlobalVariableOffsetINTEL = 5628,
561 SpvDecorationCounterBuffer = 5634,
562 SpvDecorationHlslCounterBufferGOOGLE = 5634,
563 SpvDecorationHlslSemanticGOOGLE = 5635,
564 SpvDecorationUserSemantic = 5635,
565 SpvDecorationUserTypeGOOGLE = 5636,
566 SpvDecorationFunctionRoundingModeINTEL = 5822,
567 SpvDecorationFunctionDenormModeINTEL = 5823,
568 SpvDecorationRegisterINTEL = 5825,
569 SpvDecorationMemoryINTEL = 5826,
570 SpvDecorationNumbanksINTEL = 5827,
571 SpvDecorationBankwidthINTEL = 5828,
572 SpvDecorationMaxPrivateCopiesINTEL = 5829,
573 SpvDecorationSinglepumpINTEL = 5830,
574 SpvDecorationDoublepumpINTEL = 5831,
575 SpvDecorationMaxReplicatesINTEL = 5832,
576 SpvDecorationSimpleDualPortINTEL = 5833,
577 SpvDecorationMergeINTEL = 5834,
578 SpvDecorationBankBitsINTEL = 5835,
579 SpvDecorationForcePow2DepthINTEL = 5836,
580 SpvDecorationBurstCoalesceINTEL = 5899,
581 SpvDecorationCacheSizeINTEL = 5900,
582 SpvDecorationDontStaticallyCoalesceINTEL = 5901,
583 SpvDecorationPrefetchINTEL = 5902,
584 SpvDecorationStallEnableINTEL = 5905,
585 SpvDecorationFuseLoopsInFunctionINTEL = 5907,
586 SpvDecorationMathOpDSPModeINTEL = 5909,
587 SpvDecorationAliasScopeINTEL = 5914,
588 SpvDecorationNoAliasINTEL = 5915,
589 SpvDecorationInitiationIntervalINTEL = 5917,
590 SpvDecorationMaxConcurrencyINTEL = 5918,
591 SpvDecorationPipelineEnableINTEL = 5919,
592 SpvDecorationBufferLocationINTEL = 5921,
593 SpvDecorationIOPipeStorageINTEL = 5944,
594 SpvDecorationFunctionFloatingPointModeINTEL = 6080,
595 SpvDecorationSingleElementVectorINTEL = 6085,
596 SpvDecorationVectorComputeCallableFunctionINTEL = 6087,
597 SpvDecorationMediaBlockIOINTEL = 6140,
598 SpvDecorationLatencyControlLabelINTEL = 6172,
599 SpvDecorationLatencyControlConstraintINTEL = 6173,
600 SpvDecorationConduitKernelArgumentINTEL = 6175,
601 SpvDecorationRegisterMapKernelArgumentINTEL = 6176,
602 SpvDecorationMMHostInterfaceAddressWidthINTEL = 6177,
603 SpvDecorationMMHostInterfaceDataWidthINTEL = 6178,
604 SpvDecorationMMHostInterfaceLatencyINTEL = 6179,
605 SpvDecorationMMHostInterfaceReadWriteModeINTEL = 6180,
606 SpvDecorationMMHostInterfaceMaxBurstINTEL = 6181,
607 SpvDecorationMMHostInterfaceWaitRequestINTEL = 6182,
608 SpvDecorationStableKernelArgumentINTEL = 6183,
609 SpvDecorationMax = 0x7fffffff,
612typedef enum SpvBuiltIn_ {
613 SpvBuiltInPosition = 0,
614 SpvBuiltInPointSize = 1,
615 SpvBuiltInClipDistance = 3,
616 SpvBuiltInCullDistance = 4,
617 SpvBuiltInVertexId = 5,
618 SpvBuiltInInstanceId = 6,
619 SpvBuiltInPrimitiveId = 7,
620 SpvBuiltInInvocationId = 8,
622 SpvBuiltInViewportIndex = 10,
623 SpvBuiltInTessLevelOuter = 11,
624 SpvBuiltInTessLevelInner = 12,
625 SpvBuiltInTessCoord = 13,
626 SpvBuiltInPatchVertices = 14,
627 SpvBuiltInFragCoord = 15,
628 SpvBuiltInPointCoord = 16,
629 SpvBuiltInFrontFacing = 17,
630 SpvBuiltInSampleId = 18,
631 SpvBuiltInSamplePosition = 19,
632 SpvBuiltInSampleMask = 20,
633 SpvBuiltInFragDepth = 22,
634 SpvBuiltInHelperInvocation = 23,
635 SpvBuiltInNumWorkgroups = 24,
636 SpvBuiltInWorkgroupSize = 25,
637 SpvBuiltInWorkgroupId = 26,
638 SpvBuiltInLocalInvocationId = 27,
639 SpvBuiltInGlobalInvocationId = 28,
640 SpvBuiltInLocalInvocationIndex = 29,
641 SpvBuiltInWorkDim = 30,
642 SpvBuiltInGlobalSize = 31,
643 SpvBuiltInEnqueuedWorkgroupSize = 32,
644 SpvBuiltInGlobalOffset = 33,
645 SpvBuiltInGlobalLinearId = 34,
646 SpvBuiltInSubgroupSize = 36,
647 SpvBuiltInSubgroupMaxSize = 37,
648 SpvBuiltInNumSubgroups = 38,
649 SpvBuiltInNumEnqueuedSubgroups = 39,
650 SpvBuiltInSubgroupId = 40,
651 SpvBuiltInSubgroupLocalInvocationId = 41,
652 SpvBuiltInVertexIndex = 42,
653 SpvBuiltInInstanceIndex = 43,
654 SpvBuiltInCoreIDARM = 4160,
655 SpvBuiltInCoreCountARM = 4161,
656 SpvBuiltInCoreMaxIDARM = 4162,
657 SpvBuiltInWarpIDARM = 4163,
658 SpvBuiltInWarpMaxIDARM = 4164,
659 SpvBuiltInSubgroupEqMask = 4416,
660 SpvBuiltInSubgroupEqMaskKHR = 4416,
661 SpvBuiltInSubgroupGeMask = 4417,
662 SpvBuiltInSubgroupGeMaskKHR = 4417,
663 SpvBuiltInSubgroupGtMask = 4418,
664 SpvBuiltInSubgroupGtMaskKHR = 4418,
665 SpvBuiltInSubgroupLeMask = 4419,
666 SpvBuiltInSubgroupLeMaskKHR = 4419,
667 SpvBuiltInSubgroupLtMask = 4420,
668 SpvBuiltInSubgroupLtMaskKHR = 4420,
669 SpvBuiltInBaseVertex = 4424,
670 SpvBuiltInBaseInstance = 4425,
671 SpvBuiltInDrawIndex = 4426,
672 SpvBuiltInPrimitiveShadingRateKHR = 4432,
673 SpvBuiltInDeviceIndex = 4438,
674 SpvBuiltInViewIndex = 4440,
675 SpvBuiltInShadingRateKHR = 4444,
676 SpvBuiltInBaryCoordNoPerspAMD = 4992,
677 SpvBuiltInBaryCoordNoPerspCentroidAMD = 4993,
678 SpvBuiltInBaryCoordNoPerspSampleAMD = 4994,
679 SpvBuiltInBaryCoordSmoothAMD = 4995,
680 SpvBuiltInBaryCoordSmoothCentroidAMD = 4996,
681 SpvBuiltInBaryCoordSmoothSampleAMD = 4997,
682 SpvBuiltInBaryCoordPullModelAMD = 4998,
683 SpvBuiltInFragStencilRefEXT = 5014,
684 SpvBuiltInViewportMaskNV = 5253,
685 SpvBuiltInSecondaryPositionNV = 5257,
686 SpvBuiltInSecondaryViewportMaskNV = 5258,
687 SpvBuiltInPositionPerViewNV = 5261,
688 SpvBuiltInViewportMaskPerViewNV = 5262,
689 SpvBuiltInFullyCoveredEXT = 5264,
690 SpvBuiltInTaskCountNV = 5274,
691 SpvBuiltInPrimitiveCountNV = 5275,
692 SpvBuiltInPrimitiveIndicesNV = 5276,
693 SpvBuiltInClipDistancePerViewNV = 5277,
694 SpvBuiltInCullDistancePerViewNV = 5278,
695 SpvBuiltInLayerPerViewNV = 5279,
696 SpvBuiltInMeshViewCountNV = 5280,
697 SpvBuiltInMeshViewIndicesNV = 5281,
698 SpvBuiltInBaryCoordKHR = 5286,
699 SpvBuiltInBaryCoordNV = 5286,
700 SpvBuiltInBaryCoordNoPerspKHR = 5287,
701 SpvBuiltInBaryCoordNoPerspNV = 5287,
702 SpvBuiltInFragSizeEXT = 5292,
703 SpvBuiltInFragmentSizeNV = 5292,
704 SpvBuiltInFragInvocationCountEXT = 5293,
705 SpvBuiltInInvocationsPerPixelNV = 5293,
706 SpvBuiltInPrimitivePointIndicesEXT = 5294,
707 SpvBuiltInPrimitiveLineIndicesEXT = 5295,
708 SpvBuiltInPrimitiveTriangleIndicesEXT = 5296,
709 SpvBuiltInCullPrimitiveEXT = 5299,
710 SpvBuiltInLaunchIdKHR = 5319,
711 SpvBuiltInLaunchIdNV = 5319,
712 SpvBuiltInLaunchSizeKHR = 5320,
713 SpvBuiltInLaunchSizeNV = 5320,
714 SpvBuiltInWorldRayOriginKHR = 5321,
715 SpvBuiltInWorldRayOriginNV = 5321,
716 SpvBuiltInWorldRayDirectionKHR = 5322,
717 SpvBuiltInWorldRayDirectionNV = 5322,
718 SpvBuiltInObjectRayOriginKHR = 5323,
719 SpvBuiltInObjectRayOriginNV = 5323,
720 SpvBuiltInObjectRayDirectionKHR = 5324,
721 SpvBuiltInObjectRayDirectionNV = 5324,
722 SpvBuiltInRayTminKHR = 5325,
723 SpvBuiltInRayTminNV = 5325,
724 SpvBuiltInRayTmaxKHR = 5326,
725 SpvBuiltInRayTmaxNV = 5326,
726 SpvBuiltInInstanceCustomIndexKHR = 5327,
727 SpvBuiltInInstanceCustomIndexNV = 5327,
728 SpvBuiltInObjectToWorldKHR = 5330,
729 SpvBuiltInObjectToWorldNV = 5330,
730 SpvBuiltInWorldToObjectKHR = 5331,
731 SpvBuiltInWorldToObjectNV = 5331,
732 SpvBuiltInHitTNV = 5332,
733 SpvBuiltInHitKindKHR = 5333,
734 SpvBuiltInHitKindNV = 5333,
735 SpvBuiltInCurrentRayTimeNV = 5334,
736 SpvBuiltInHitTriangleVertexPositionsKHR = 5335,
737 SpvBuiltInIncomingRayFlagsKHR = 5351,
738 SpvBuiltInIncomingRayFlagsNV = 5351,
739 SpvBuiltInRayGeometryIndexKHR = 5352,
740 SpvBuiltInWarpsPerSMNV = 5374,
741 SpvBuiltInSMCountNV = 5375,
742 SpvBuiltInWarpIDNV = 5376,
743 SpvBuiltInSMIDNV = 5377,
744 SpvBuiltInCullMaskKHR = 6021,
745 SpvBuiltInMax = 0x7fffffff,
748typedef enum SpvSelectionControlShift_ {
749 SpvSelectionControlFlattenShift = 0,
750 SpvSelectionControlDontFlattenShift = 1,
751 SpvSelectionControlMax = 0x7fffffff,
752} SpvSelectionControlShift;
754typedef enum SpvSelectionControlMask_ {
755 SpvSelectionControlMaskNone = 0,
756 SpvSelectionControlFlattenMask = 0x00000001,
757 SpvSelectionControlDontFlattenMask = 0x00000002,
758} SpvSelectionControlMask;
760typedef enum SpvLoopControlShift_ {
761 SpvLoopControlUnrollShift = 0,
762 SpvLoopControlDontUnrollShift = 1,
763 SpvLoopControlDependencyInfiniteShift = 2,
764 SpvLoopControlDependencyLengthShift = 3,
765 SpvLoopControlMinIterationsShift = 4,
766 SpvLoopControlMaxIterationsShift = 5,
767 SpvLoopControlIterationMultipleShift = 6,
768 SpvLoopControlPeelCountShift = 7,
769 SpvLoopControlPartialCountShift = 8,
770 SpvLoopControlInitiationIntervalINTELShift = 16,
771 SpvLoopControlMaxConcurrencyINTELShift = 17,
772 SpvLoopControlDependencyArrayINTELShift = 18,
773 SpvLoopControlPipelineEnableINTELShift = 19,
774 SpvLoopControlLoopCoalesceINTELShift = 20,
775 SpvLoopControlMaxInterleavingINTELShift = 21,
776 SpvLoopControlSpeculatedIterationsINTELShift = 22,
777 SpvLoopControlNoFusionINTELShift = 23,
778 SpvLoopControlLoopCountINTELShift = 24,
779 SpvLoopControlMaxReinvocationDelayINTELShift = 25,
780 SpvLoopControlMax = 0x7fffffff,
781} SpvLoopControlShift;
783typedef enum SpvLoopControlMask_ {
784 SpvLoopControlMaskNone = 0,
785 SpvLoopControlUnrollMask = 0x00000001,
786 SpvLoopControlDontUnrollMask = 0x00000002,
787 SpvLoopControlDependencyInfiniteMask = 0x00000004,
788 SpvLoopControlDependencyLengthMask = 0x00000008,
789 SpvLoopControlMinIterationsMask = 0x00000010,
790 SpvLoopControlMaxIterationsMask = 0x00000020,
791 SpvLoopControlIterationMultipleMask = 0x00000040,
792 SpvLoopControlPeelCountMask = 0x00000080,
793 SpvLoopControlPartialCountMask = 0x00000100,
794 SpvLoopControlInitiationIntervalINTELMask = 0x00010000,
795 SpvLoopControlMaxConcurrencyINTELMask = 0x00020000,
796 SpvLoopControlDependencyArrayINTELMask = 0x00040000,
797 SpvLoopControlPipelineEnableINTELMask = 0x00080000,
798 SpvLoopControlLoopCoalesceINTELMask = 0x00100000,
799 SpvLoopControlMaxInterleavingINTELMask = 0x00200000,
800 SpvLoopControlSpeculatedIterationsINTELMask = 0x00400000,
801 SpvLoopControlNoFusionINTELMask = 0x00800000,
802 SpvLoopControlLoopCountINTELMask = 0x01000000,
803 SpvLoopControlMaxReinvocationDelayINTELMask = 0x02000000,
806typedef enum SpvFunctionControlShift_ {
807 SpvFunctionControlInlineShift = 0,
808 SpvFunctionControlDontInlineShift = 1,
809 SpvFunctionControlPureShift = 2,
810 SpvFunctionControlConstShift = 3,
811 SpvFunctionControlOptNoneINTELShift = 16,
812 SpvFunctionControlMax = 0x7fffffff,
813} SpvFunctionControlShift;
815typedef enum SpvFunctionControlMask_ {
816 SpvFunctionControlMaskNone = 0,
817 SpvFunctionControlInlineMask = 0x00000001,
818 SpvFunctionControlDontInlineMask = 0x00000002,
819 SpvFunctionControlPureMask = 0x00000004,
820 SpvFunctionControlConstMask = 0x00000008,
821 SpvFunctionControlOptNoneINTELMask = 0x00010000,
822} SpvFunctionControlMask;
824typedef enum SpvMemorySemanticsShift_ {
825 SpvMemorySemanticsAcquireShift = 1,
826 SpvMemorySemanticsReleaseShift = 2,
827 SpvMemorySemanticsAcquireReleaseShift = 3,
828 SpvMemorySemanticsSequentiallyConsistentShift = 4,
829 SpvMemorySemanticsUniformMemoryShift = 6,
830 SpvMemorySemanticsSubgroupMemoryShift = 7,
831 SpvMemorySemanticsWorkgroupMemoryShift = 8,
832 SpvMemorySemanticsCrossWorkgroupMemoryShift = 9,
833 SpvMemorySemanticsAtomicCounterMemoryShift = 10,
834 SpvMemorySemanticsImageMemoryShift = 11,
835 SpvMemorySemanticsOutputMemoryShift = 12,
836 SpvMemorySemanticsOutputMemoryKHRShift = 12,
837 SpvMemorySemanticsMakeAvailableShift = 13,
838 SpvMemorySemanticsMakeAvailableKHRShift = 13,
839 SpvMemorySemanticsMakeVisibleShift = 14,
840 SpvMemorySemanticsMakeVisibleKHRShift = 14,
841 SpvMemorySemanticsVolatileShift = 15,
842 SpvMemorySemanticsMax = 0x7fffffff,
843} SpvMemorySemanticsShift;
845typedef enum SpvMemorySemanticsMask_ {
846 SpvMemorySemanticsMaskNone = 0,
847 SpvMemorySemanticsAcquireMask = 0x00000002,
848 SpvMemorySemanticsReleaseMask = 0x00000004,
849 SpvMemorySemanticsAcquireReleaseMask = 0x00000008,
850 SpvMemorySemanticsSequentiallyConsistentMask = 0x00000010,
851 SpvMemorySemanticsUniformMemoryMask = 0x00000040,
852 SpvMemorySemanticsSubgroupMemoryMask = 0x00000080,
853 SpvMemorySemanticsWorkgroupMemoryMask = 0x00000100,
854 SpvMemorySemanticsCrossWorkgroupMemoryMask = 0x00000200,
855 SpvMemorySemanticsAtomicCounterMemoryMask = 0x00000400,
856 SpvMemorySemanticsImageMemoryMask = 0x00000800,
857 SpvMemorySemanticsOutputMemoryMask = 0x00001000,
858 SpvMemorySemanticsOutputMemoryKHRMask = 0x00001000,
859 SpvMemorySemanticsMakeAvailableMask = 0x00002000,
860 SpvMemorySemanticsMakeAvailableKHRMask = 0x00002000,
861 SpvMemorySemanticsMakeVisibleMask = 0x00004000,
862 SpvMemorySemanticsMakeVisibleKHRMask = 0x00004000,
863 SpvMemorySemanticsVolatileMask = 0x00008000,
864} SpvMemorySemanticsMask;
866typedef enum SpvMemoryAccessShift_ {
867 SpvMemoryAccessVolatileShift = 0,
868 SpvMemoryAccessAlignedShift = 1,
869 SpvMemoryAccessNontemporalShift = 2,
870 SpvMemoryAccessMakePointerAvailableShift = 3,
871 SpvMemoryAccessMakePointerAvailableKHRShift = 3,
872 SpvMemoryAccessMakePointerVisibleShift = 4,
873 SpvMemoryAccessMakePointerVisibleKHRShift = 4,
874 SpvMemoryAccessNonPrivatePointerShift = 5,
875 SpvMemoryAccessNonPrivatePointerKHRShift = 5,
876 SpvMemoryAccessAliasScopeINTELMaskShift = 16,
877 SpvMemoryAccessNoAliasINTELMaskShift = 17,
878 SpvMemoryAccessMax = 0x7fffffff,
879} SpvMemoryAccessShift;
881typedef enum SpvMemoryAccessMask_ {
882 SpvMemoryAccessMaskNone = 0,
883 SpvMemoryAccessVolatileMask = 0x00000001,
884 SpvMemoryAccessAlignedMask = 0x00000002,
885 SpvMemoryAccessNontemporalMask = 0x00000004,
886 SpvMemoryAccessMakePointerAvailableMask = 0x00000008,
887 SpvMemoryAccessMakePointerAvailableKHRMask = 0x00000008,
888 SpvMemoryAccessMakePointerVisibleMask = 0x00000010,
889 SpvMemoryAccessMakePointerVisibleKHRMask = 0x00000010,
890 SpvMemoryAccessNonPrivatePointerMask = 0x00000020,
891 SpvMemoryAccessNonPrivatePointerKHRMask = 0x00000020,
892 SpvMemoryAccessAliasScopeINTELMaskMask = 0x00010000,
893 SpvMemoryAccessNoAliasINTELMaskMask = 0x00020000,
894} SpvMemoryAccessMask;
896typedef enum SpvScope_ {
897 SpvScopeCrossDevice = 0,
899 SpvScopeWorkgroup = 2,
900 SpvScopeSubgroup = 3,
901 SpvScopeInvocation = 4,
902 SpvScopeQueueFamily = 5,
903 SpvScopeQueueFamilyKHR = 5,
904 SpvScopeShaderCallKHR = 6,
905 SpvScopeMax = 0x7fffffff,
908typedef enum SpvGroupOperation_ {
909 SpvGroupOperationReduce = 0,
910 SpvGroupOperationInclusiveScan = 1,
911 SpvGroupOperationExclusiveScan = 2,
912 SpvGroupOperationClusteredReduce = 3,
913 SpvGroupOperationPartitionedReduceNV = 6,
914 SpvGroupOperationPartitionedInclusiveScanNV = 7,
915 SpvGroupOperationPartitionedExclusiveScanNV = 8,
916 SpvGroupOperationMax = 0x7fffffff,
919typedef enum SpvKernelEnqueueFlags_ {
920 SpvKernelEnqueueFlagsNoWait = 0,
921 SpvKernelEnqueueFlagsWaitKernel = 1,
922 SpvKernelEnqueueFlagsWaitWorkGroup = 2,
923 SpvKernelEnqueueFlagsMax = 0x7fffffff,
924} SpvKernelEnqueueFlags;
926typedef enum SpvKernelProfilingInfoShift_ {
927 SpvKernelProfilingInfoCmdExecTimeShift = 0,
928 SpvKernelProfilingInfoMax = 0x7fffffff,
929} SpvKernelProfilingInfoShift;
931typedef enum SpvKernelProfilingInfoMask_ {
932 SpvKernelProfilingInfoMaskNone = 0,
933 SpvKernelProfilingInfoCmdExecTimeMask = 0x00000001,
934} SpvKernelProfilingInfoMask;
936typedef enum SpvCapability_ {
937 SpvCapabilityMatrix = 0,
938 SpvCapabilityShader = 1,
939 SpvCapabilityGeometry = 2,
940 SpvCapabilityTessellation = 3,
941 SpvCapabilityAddresses = 4,
942 SpvCapabilityLinkage = 5,
943 SpvCapabilityKernel = 6,
944 SpvCapabilityVector16 = 7,
945 SpvCapabilityFloat16Buffer = 8,
946 SpvCapabilityFloat16 = 9,
947 SpvCapabilityFloat64 = 10,
948 SpvCapabilityInt64 = 11,
949 SpvCapabilityInt64Atomics = 12,
950 SpvCapabilityImageBasic = 13,
951 SpvCapabilityImageReadWrite = 14,
952 SpvCapabilityImageMipmap = 15,
953 SpvCapabilityPipes = 17,
954 SpvCapabilityGroups = 18,
955 SpvCapabilityDeviceEnqueue = 19,
956 SpvCapabilityLiteralSampler = 20,
957 SpvCapabilityAtomicStorage = 21,
958 SpvCapabilityInt16 = 22,
959 SpvCapabilityTessellationPointSize = 23,
960 SpvCapabilityGeometryPointSize = 24,
961 SpvCapabilityImageGatherExtended = 25,
962 SpvCapabilityStorageImageMultisample = 27,
963 SpvCapabilityUniformBufferArrayDynamicIndexing = 28,
964 SpvCapabilitySampledImageArrayDynamicIndexing = 29,
965 SpvCapabilityStorageBufferArrayDynamicIndexing = 30,
966 SpvCapabilityStorageImageArrayDynamicIndexing = 31,
967 SpvCapabilityClipDistance = 32,
968 SpvCapabilityCullDistance = 33,
969 SpvCapabilityImageCubeArray = 34,
970 SpvCapabilitySampleRateShading = 35,
971 SpvCapabilityImageRect = 36,
972 SpvCapabilitySampledRect = 37,
973 SpvCapabilityGenericPointer = 38,
974 SpvCapabilityInt8 = 39,
975 SpvCapabilityInputAttachment = 40,
976 SpvCapabilitySparseResidency = 41,
977 SpvCapabilityMinLod = 42,
978 SpvCapabilitySampled1D = 43,
979 SpvCapabilityImage1D = 44,
980 SpvCapabilitySampledCubeArray = 45,
981 SpvCapabilitySampledBuffer = 46,
982 SpvCapabilityImageBuffer = 47,
983 SpvCapabilityImageMSArray = 48,
984 SpvCapabilityStorageImageExtendedFormats = 49,
985 SpvCapabilityImageQuery = 50,
986 SpvCapabilityDerivativeControl = 51,
987 SpvCapabilityInterpolationFunction = 52,
988 SpvCapabilityTransformFeedback = 53,
989 SpvCapabilityGeometryStreams = 54,
990 SpvCapabilityStorageImageReadWithoutFormat = 55,
991 SpvCapabilityStorageImageWriteWithoutFormat = 56,
992 SpvCapabilityMultiViewport = 57,
993 SpvCapabilitySubgroupDispatch = 58,
994 SpvCapabilityNamedBarrier = 59,
995 SpvCapabilityPipeStorage = 60,
996 SpvCapabilityGroupNonUniform = 61,
997 SpvCapabilityGroupNonUniformVote = 62,
998 SpvCapabilityGroupNonUniformArithmetic = 63,
999 SpvCapabilityGroupNonUniformBallot = 64,
1000 SpvCapabilityGroupNonUniformShuffle = 65,
1001 SpvCapabilityGroupNonUniformShuffleRelative = 66,
1002 SpvCapabilityGroupNonUniformClustered = 67,
1003 SpvCapabilityGroupNonUniformQuad = 68,
1004 SpvCapabilityShaderLayer = 69,
1005 SpvCapabilityShaderViewportIndex = 70,
1006 SpvCapabilityUniformDecoration = 71,
1007 SpvCapabilityCoreBuiltinsARM = 4165,
1008 SpvCapabilityTileImageColorReadAccessEXT = 4166,
1009 SpvCapabilityTileImageDepthReadAccessEXT = 4167,
1010 SpvCapabilityTileImageStencilReadAccessEXT = 4168,
1011 SpvCapabilityFragmentShadingRateKHR = 4422,
1012 SpvCapabilitySubgroupBallotKHR = 4423,
1013 SpvCapabilityDrawParameters = 4427,
1014 SpvCapabilityWorkgroupMemoryExplicitLayoutKHR = 4428,
1015 SpvCapabilityWorkgroupMemoryExplicitLayout8BitAccessKHR = 4429,
1016 SpvCapabilityWorkgroupMemoryExplicitLayout16BitAccessKHR = 4430,
1017 SpvCapabilitySubgroupVoteKHR = 4431,
1018 SpvCapabilityStorageBuffer16BitAccess = 4433,
1019 SpvCapabilityStorageUniformBufferBlock16 = 4433,
1020 SpvCapabilityStorageUniform16 = 4434,
1021 SpvCapabilityUniformAndStorageBuffer16BitAccess = 4434,
1022 SpvCapabilityStoragePushConstant16 = 4435,
1023 SpvCapabilityStorageInputOutput16 = 4436,
1024 SpvCapabilityDeviceGroup = 4437,
1025 SpvCapabilityMultiView = 4439,
1026 SpvCapabilityVariablePointersStorageBuffer = 4441,
1027 SpvCapabilityVariablePointers = 4442,
1028 SpvCapabilityAtomicStorageOps = 4445,
1029 SpvCapabilitySampleMaskPostDepthCoverage = 4447,
1030 SpvCapabilityStorageBuffer8BitAccess = 4448,
1031 SpvCapabilityUniformAndStorageBuffer8BitAccess = 4449,
1032 SpvCapabilityStoragePushConstant8 = 4450,
1033 SpvCapabilityDenormPreserve = 4464,
1034 SpvCapabilityDenormFlushToZero = 4465,
1035 SpvCapabilitySignedZeroInfNanPreserve = 4466,
1036 SpvCapabilityRoundingModeRTE = 4467,
1037 SpvCapabilityRoundingModeRTZ = 4468,
1038 SpvCapabilityRayQueryProvisionalKHR = 4471,
1039 SpvCapabilityRayQueryKHR = 4472,
1040 SpvCapabilityRayTraversalPrimitiveCullingKHR = 4478,
1041 SpvCapabilityRayTracingKHR = 4479,
1042 SpvCapabilityTextureSampleWeightedQCOM = 4484,
1043 SpvCapabilityTextureBoxFilterQCOM = 4485,
1044 SpvCapabilityTextureBlockMatchQCOM = 4486,
1045 SpvCapabilityFloat16ImageAMD = 5008,
1046 SpvCapabilityImageGatherBiasLodAMD = 5009,
1047 SpvCapabilityFragmentMaskAMD = 5010,
1048 SpvCapabilityStencilExportEXT = 5013,
1049 SpvCapabilityImageReadWriteLodAMD = 5015,
1050 SpvCapabilityInt64ImageEXT = 5016,
1051 SpvCapabilityShaderClockKHR = 5055,
1052 SpvCapabilitySampleMaskOverrideCoverageNV = 5249,
1053 SpvCapabilityGeometryShaderPassthroughNV = 5251,
1054 SpvCapabilityShaderViewportIndexLayerEXT = 5254,
1055 SpvCapabilityShaderViewportIndexLayerNV = 5254,
1056 SpvCapabilityShaderViewportMaskNV = 5255,
1057 SpvCapabilityShaderStereoViewNV = 5259,
1058 SpvCapabilityPerViewAttributesNV = 5260,
1059 SpvCapabilityFragmentFullyCoveredEXT = 5265,
1060 SpvCapabilityMeshShadingNV = 5266,
1061 SpvCapabilityImageFootprintNV = 5282,
1062 SpvCapabilityMeshShadingEXT = 5283,
1063 SpvCapabilityFragmentBarycentricKHR = 5284,
1064 SpvCapabilityFragmentBarycentricNV = 5284,
1065 SpvCapabilityComputeDerivativeGroupQuadsNV = 5288,
1066 SpvCapabilityFragmentDensityEXT = 5291,
1067 SpvCapabilityShadingRateNV = 5291,
1068 SpvCapabilityGroupNonUniformPartitionedNV = 5297,
1069 SpvCapabilityShaderNonUniform = 5301,
1070 SpvCapabilityShaderNonUniformEXT = 5301,
1071 SpvCapabilityRuntimeDescriptorArray = 5302,
1072 SpvCapabilityRuntimeDescriptorArrayEXT = 5302,
1073 SpvCapabilityInputAttachmentArrayDynamicIndexing = 5303,
1074 SpvCapabilityInputAttachmentArrayDynamicIndexingEXT = 5303,
1075 SpvCapabilityUniformTexelBufferArrayDynamicIndexing = 5304,
1076 SpvCapabilityUniformTexelBufferArrayDynamicIndexingEXT = 5304,
1077 SpvCapabilityStorageTexelBufferArrayDynamicIndexing = 5305,
1078 SpvCapabilityStorageTexelBufferArrayDynamicIndexingEXT = 5305,
1079 SpvCapabilityUniformBufferArrayNonUniformIndexing = 5306,
1080 SpvCapabilityUniformBufferArrayNonUniformIndexingEXT = 5306,
1081 SpvCapabilitySampledImageArrayNonUniformIndexing = 5307,
1082 SpvCapabilitySampledImageArrayNonUniformIndexingEXT = 5307,
1083 SpvCapabilityStorageBufferArrayNonUniformIndexing = 5308,
1084 SpvCapabilityStorageBufferArrayNonUniformIndexingEXT = 5308,
1085 SpvCapabilityStorageImageArrayNonUniformIndexing = 5309,
1086 SpvCapabilityStorageImageArrayNonUniformIndexingEXT = 5309,
1087 SpvCapabilityInputAttachmentArrayNonUniformIndexing = 5310,
1088 SpvCapabilityInputAttachmentArrayNonUniformIndexingEXT = 5310,
1089 SpvCapabilityUniformTexelBufferArrayNonUniformIndexing = 5311,
1090 SpvCapabilityUniformTexelBufferArrayNonUniformIndexingEXT = 5311,
1091 SpvCapabilityStorageTexelBufferArrayNonUniformIndexing = 5312,
1092 SpvCapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312,
1093 SpvCapabilityRayTracingPositionFetchKHR = 5336,
1094 SpvCapabilityRayTracingNV = 5340,
1095 SpvCapabilityRayTracingMotionBlurNV = 5341,
1096 SpvCapabilityVulkanMemoryModel = 5345,
1097 SpvCapabilityVulkanMemoryModelKHR = 5345,
1098 SpvCapabilityVulkanMemoryModelDeviceScope = 5346,
1099 SpvCapabilityVulkanMemoryModelDeviceScopeKHR = 5346,
1100 SpvCapabilityPhysicalStorageBufferAddresses = 5347,
1101 SpvCapabilityPhysicalStorageBufferAddressesEXT = 5347,
1102 SpvCapabilityComputeDerivativeGroupLinearNV = 5350,
1103 SpvCapabilityRayTracingProvisionalKHR = 5353,
1104 SpvCapabilityCooperativeMatrixNV = 5357,
1105 SpvCapabilityFragmentShaderSampleInterlockEXT = 5363,
1106 SpvCapabilityFragmentShaderShadingRateInterlockEXT = 5372,
1107 SpvCapabilityShaderSMBuiltinsNV = 5373,
1108 SpvCapabilityFragmentShaderPixelInterlockEXT = 5378,
1109 SpvCapabilityDemoteToHelperInvocation = 5379,
1110 SpvCapabilityDemoteToHelperInvocationEXT = 5379,
1111 SpvCapabilityRayTracingOpacityMicromapEXT = 5381,
1112 SpvCapabilityShaderInvocationReorderNV = 5383,
1113 SpvCapabilityBindlessTextureNV = 5390,
1114 SpvCapabilityRayQueryPositionFetchKHR = 5391,
1115 SpvCapabilitySubgroupShuffleINTEL = 5568,
1116 SpvCapabilitySubgroupBufferBlockIOINTEL = 5569,
1117 SpvCapabilitySubgroupImageBlockIOINTEL = 5570,
1118 SpvCapabilitySubgroupImageMediaBlockIOINTEL = 5579,
1119 SpvCapabilityRoundToInfinityINTEL = 5582,
1120 SpvCapabilityFloatingPointModeINTEL = 5583,
1121 SpvCapabilityIntegerFunctions2INTEL = 5584,
1122 SpvCapabilityFunctionPointersINTEL = 5603,
1123 SpvCapabilityIndirectReferencesINTEL = 5604,
1124 SpvCapabilityAsmINTEL = 5606,
1125 SpvCapabilityAtomicFloat32MinMaxEXT = 5612,
1126 SpvCapabilityAtomicFloat64MinMaxEXT = 5613,
1127 SpvCapabilityAtomicFloat16MinMaxEXT = 5616,
1128 SpvCapabilityVectorComputeINTEL = 5617,
1129 SpvCapabilityVectorAnyINTEL = 5619,
1130 SpvCapabilityExpectAssumeKHR = 5629,
1131 SpvCapabilitySubgroupAvcMotionEstimationINTEL = 5696,
1132 SpvCapabilitySubgroupAvcMotionEstimationIntraINTEL = 5697,
1133 SpvCapabilitySubgroupAvcMotionEstimationChromaINTEL = 5698,
1134 SpvCapabilityVariableLengthArrayINTEL = 5817,
1135 SpvCapabilityFunctionFloatControlINTEL = 5821,
1136 SpvCapabilityFPGAMemoryAttributesINTEL = 5824,
1137 SpvCapabilityFPFastMathModeINTEL = 5837,
1138 SpvCapabilityArbitraryPrecisionIntegersINTEL = 5844,
1139 SpvCapabilityArbitraryPrecisionFloatingPointINTEL = 5845,
1140 SpvCapabilityUnstructuredLoopControlsINTEL = 5886,
1141 SpvCapabilityFPGALoopControlsINTEL = 5888,
1142 SpvCapabilityKernelAttributesINTEL = 5892,
1143 SpvCapabilityFPGAKernelAttributesINTEL = 5897,
1144 SpvCapabilityFPGAMemoryAccessesINTEL = 5898,
1145 SpvCapabilityFPGAClusterAttributesINTEL = 5904,
1146 SpvCapabilityLoopFuseINTEL = 5906,
1147 SpvCapabilityFPGADSPControlINTEL = 5908,
1148 SpvCapabilityMemoryAccessAliasingINTEL = 5910,
1149 SpvCapabilityFPGAInvocationPipeliningAttributesINTEL = 5916,
1150 SpvCapabilityFPGABufferLocationINTEL = 5920,
1151 SpvCapabilityArbitraryPrecisionFixedPointINTEL = 5922,
1152 SpvCapabilityUSMStorageClassesINTEL = 5935,
1153 SpvCapabilityRuntimeAlignedAttributeINTEL = 5939,
1154 SpvCapabilityIOPipesINTEL = 5943,
1155 SpvCapabilityBlockingPipesINTEL = 5945,
1156 SpvCapabilityFPGARegINTEL = 5948,
1157 SpvCapabilityDotProductInputAll = 6016,
1158 SpvCapabilityDotProductInputAllKHR = 6016,
1159 SpvCapabilityDotProductInput4x8Bit = 6017,
1160 SpvCapabilityDotProductInput4x8BitKHR = 6017,
1161 SpvCapabilityDotProductInput4x8BitPacked = 6018,
1162 SpvCapabilityDotProductInput4x8BitPackedKHR = 6018,
1163 SpvCapabilityDotProduct = 6019,
1164 SpvCapabilityDotProductKHR = 6019,
1165 SpvCapabilityRayCullMaskKHR = 6020,
1166 SpvCapabilityCooperativeMatrixKHR = 6022,
1167 SpvCapabilityBitInstructions = 6025,
1168 SpvCapabilityGroupNonUniformRotateKHR = 6026,
1169 SpvCapabilityAtomicFloat32AddEXT = 6033,
1170 SpvCapabilityAtomicFloat64AddEXT = 6034,
1171 SpvCapabilityLongConstantCompositeINTEL = 6089,
1172 SpvCapabilityOptNoneINTEL = 6094,
1173 SpvCapabilityAtomicFloat16AddEXT = 6095,
1174 SpvCapabilityDebugInfoModuleINTEL = 6114,
1175 SpvCapabilityBFloat16ConversionINTEL = 6115,
1176 SpvCapabilitySplitBarrierINTEL = 6141,
1177 SpvCapabilityFPGAKernelAttributesv2INTEL = 6161,
1178 SpvCapabilityFPGALatencyControlINTEL = 6171,
1179 SpvCapabilityFPGAArgumentInterfacesINTEL = 6174,
1180 SpvCapabilityGroupUniformArithmeticKHR = 6400,
1181 SpvCapabilityMax = 0x7fffffff,
1184typedef enum SpvRayFlagsShift_ {
1185 SpvRayFlagsOpaqueKHRShift = 0,
1186 SpvRayFlagsNoOpaqueKHRShift = 1,
1187 SpvRayFlagsTerminateOnFirstHitKHRShift = 2,
1188 SpvRayFlagsSkipClosestHitShaderKHRShift = 3,
1189 SpvRayFlagsCullBackFacingTrianglesKHRShift = 4,
1190 SpvRayFlagsCullFrontFacingTrianglesKHRShift = 5,
1191 SpvRayFlagsCullOpaqueKHRShift = 6,
1192 SpvRayFlagsCullNoOpaqueKHRShift = 7,
1193 SpvRayFlagsSkipTrianglesKHRShift = 8,
1194 SpvRayFlagsSkipAABBsKHRShift = 9,
1195 SpvRayFlagsForceOpacityMicromap2StateEXTShift = 10,
1196 SpvRayFlagsMax = 0x7fffffff,
1199typedef enum SpvRayFlagsMask_ {
1200 SpvRayFlagsMaskNone = 0,
1201 SpvRayFlagsOpaqueKHRMask = 0x00000001,
1202 SpvRayFlagsNoOpaqueKHRMask = 0x00000002,
1203 SpvRayFlagsTerminateOnFirstHitKHRMask = 0x00000004,
1204 SpvRayFlagsSkipClosestHitShaderKHRMask = 0x00000008,
1205 SpvRayFlagsCullBackFacingTrianglesKHRMask = 0x00000010,
1206 SpvRayFlagsCullFrontFacingTrianglesKHRMask = 0x00000020,
1207 SpvRayFlagsCullOpaqueKHRMask = 0x00000040,
1208 SpvRayFlagsCullNoOpaqueKHRMask = 0x00000080,
1209 SpvRayFlagsSkipTrianglesKHRMask = 0x00000100,
1210 SpvRayFlagsSkipAABBsKHRMask = 0x00000200,
1211 SpvRayFlagsForceOpacityMicromap2StateEXTMask = 0x00000400,
1214typedef enum SpvRayQueryIntersection_ {
1215 SpvRayQueryIntersectionRayQueryCandidateIntersectionKHR = 0,
1216 SpvRayQueryIntersectionRayQueryCommittedIntersectionKHR = 1,
1217 SpvRayQueryIntersectionMax = 0x7fffffff,
1218} SpvRayQueryIntersection;
1220typedef enum SpvRayQueryCommittedIntersectionType_ {
1221 SpvRayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionNoneKHR = 0,
1222 SpvRayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionTriangleKHR =
1224 SpvRayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionGeneratedKHR =
1226 SpvRayQueryCommittedIntersectionTypeMax = 0x7fffffff,
1227} SpvRayQueryCommittedIntersectionType;
1229typedef enum SpvRayQueryCandidateIntersectionType_ {
1230 SpvRayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionTriangleKHR =
1232 SpvRayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionAABBKHR = 1,
1233 SpvRayQueryCandidateIntersectionTypeMax = 0x7fffffff,
1234} SpvRayQueryCandidateIntersectionType;
1236typedef enum SpvFragmentShadingRateShift_ {
1237 SpvFragmentShadingRateVertical2PixelsShift = 0,
1238 SpvFragmentShadingRateVertical4PixelsShift = 1,
1239 SpvFragmentShadingRateHorizontal2PixelsShift = 2,
1240 SpvFragmentShadingRateHorizontal4PixelsShift = 3,
1241 SpvFragmentShadingRateMax = 0x7fffffff,
1242} SpvFragmentShadingRateShift;
1244typedef enum SpvFragmentShadingRateMask_ {
1245 SpvFragmentShadingRateMaskNone = 0,
1246 SpvFragmentShadingRateVertical2PixelsMask = 0x00000001,
1247 SpvFragmentShadingRateVertical4PixelsMask = 0x00000002,
1248 SpvFragmentShadingRateHorizontal2PixelsMask = 0x00000004,
1249 SpvFragmentShadingRateHorizontal4PixelsMask = 0x00000008,
1250} SpvFragmentShadingRateMask;
1252typedef enum SpvFPDenormMode_ {
1253 SpvFPDenormModePreserve = 0,
1254 SpvFPDenormModeFlushToZero = 1,
1255 SpvFPDenormModeMax = 0x7fffffff,
1258typedef enum SpvFPOperationMode_ {
1259 SpvFPOperationModeIEEE = 0,
1260 SpvFPOperationModeALT = 1,
1261 SpvFPOperationModeMax = 0x7fffffff,
1262} SpvFPOperationMode;
1264typedef enum SpvQuantizationModes_ {
1265 SpvQuantizationModesTRN = 0,
1266 SpvQuantizationModesTRN_ZERO = 1,
1267 SpvQuantizationModesRND = 2,
1268 SpvQuantizationModesRND_ZERO = 3,
1269 SpvQuantizationModesRND_INF = 4,
1270 SpvQuantizationModesRND_MIN_INF = 5,
1271 SpvQuantizationModesRND_CONV = 6,
1272 SpvQuantizationModesRND_CONV_ODD = 7,
1273 SpvQuantizationModesMax = 0x7fffffff,
1274} SpvQuantizationModes;
1276typedef enum SpvOverflowModes_ {
1277 SpvOverflowModesWRAP = 0,
1278 SpvOverflowModesSAT = 1,
1279 SpvOverflowModesSAT_ZERO = 2,
1280 SpvOverflowModesSAT_SYM = 3,
1281 SpvOverflowModesMax = 0x7fffffff,
1284typedef enum SpvPackedVectorFormat_ {
1285 SpvPackedVectorFormatPackedVectorFormat4x8Bit = 0,
1286 SpvPackedVectorFormatPackedVectorFormat4x8BitKHR = 0,
1287 SpvPackedVectorFormatMax = 0x7fffffff,
1288} SpvPackedVectorFormat;
1290typedef enum SpvCooperativeMatrixOperandsShift_ {
1291 SpvCooperativeMatrixOperandsMatrixASignedComponentsShift = 0,
1292 SpvCooperativeMatrixOperandsMatrixBSignedComponentsShift = 1,
1293 SpvCooperativeMatrixOperandsMatrixCSignedComponentsShift = 2,
1294 SpvCooperativeMatrixOperandsMatrixResultSignedComponentsShift = 3,
1295 SpvCooperativeMatrixOperandsSaturatingAccumulationShift = 4,
1296 SpvCooperativeMatrixOperandsMax = 0x7fffffff,
1297} SpvCooperativeMatrixOperandsShift;
1299typedef enum SpvCooperativeMatrixOperandsMask_ {
1300 SpvCooperativeMatrixOperandsMaskNone = 0,
1301 SpvCooperativeMatrixOperandsMatrixASignedComponentsMask = 0x00000001,
1302 SpvCooperativeMatrixOperandsMatrixBSignedComponentsMask = 0x00000002,
1303 SpvCooperativeMatrixOperandsMatrixCSignedComponentsMask = 0x00000004,
1304 SpvCooperativeMatrixOperandsMatrixResultSignedComponentsMask = 0x00000008,
1305 SpvCooperativeMatrixOperandsSaturatingAccumulationMask = 0x00000010,
1306} SpvCooperativeMatrixOperandsMask;
1308typedef enum SpvCooperativeMatrixLayout_ {
1309 SpvCooperativeMatrixLayoutRowMajorKHR = 0,
1310 SpvCooperativeMatrixLayoutColumnMajorKHR = 1,
1311 SpvCooperativeMatrixLayoutMax = 0x7fffffff,
1312} SpvCooperativeMatrixLayout;
1314typedef enum SpvCooperativeMatrixUse_ {
1315 SpvCooperativeMatrixUseMatrixAKHR = 0,
1316 SpvCooperativeMatrixUseMatrixBKHR = 1,
1317 SpvCooperativeMatrixUseMatrixAccumulatorKHR = 2,
1318 SpvCooperativeMatrixUseMax = 0x7fffffff,
1319} SpvCooperativeMatrixUse;
1321typedef enum SpvOp_ {
1324 SpvOpSourceContinued = 2,
1326 SpvOpSourceExtension = 4,
1328 SpvOpMemberName = 6,
1331 SpvOpExtension = 10,
1332 SpvOpExtInstImport = 11,
1334 SpvOpMemoryModel = 14,
1335 SpvOpEntryPoint = 15,
1336 SpvOpExecutionMode = 16,
1337 SpvOpCapability = 17,
1341 SpvOpTypeFloat = 22,
1342 SpvOpTypeVector = 23,
1343 SpvOpTypeMatrix = 24,
1344 SpvOpTypeImage = 25,
1345 SpvOpTypeSampler = 26,
1346 SpvOpTypeSampledImage = 27,
1347 SpvOpTypeArray = 28,
1348 SpvOpTypeRuntimeArray = 29,
1349 SpvOpTypeStruct = 30,
1350 SpvOpTypeOpaque = 31,
1351 SpvOpTypePointer = 32,
1352 SpvOpTypeFunction = 33,
1353 SpvOpTypeEvent = 34,
1354 SpvOpTypeDeviceEvent = 35,
1355 SpvOpTypeReserveId = 36,
1356 SpvOpTypeQueue = 37,
1358 SpvOpTypeForwardPointer = 39,
1359 SpvOpConstantTrue = 41,
1360 SpvOpConstantFalse = 42,
1362 SpvOpConstantComposite = 44,
1363 SpvOpConstantSampler = 45,
1364 SpvOpConstantNull = 46,
1365 SpvOpSpecConstantTrue = 48,
1366 SpvOpSpecConstantFalse = 49,
1367 SpvOpSpecConstant = 50,
1368 SpvOpSpecConstantComposite = 51,
1369 SpvOpSpecConstantOp = 52,
1371 SpvOpFunctionParameter = 55,
1372 SpvOpFunctionEnd = 56,
1373 SpvOpFunctionCall = 57,
1375 SpvOpImageTexelPointer = 60,
1378 SpvOpCopyMemory = 63,
1379 SpvOpCopyMemorySized = 64,
1380 SpvOpAccessChain = 65,
1381 SpvOpInBoundsAccessChain = 66,
1382 SpvOpPtrAccessChain = 67,
1383 SpvOpArrayLength = 68,
1384 SpvOpGenericPtrMemSemantics = 69,
1385 SpvOpInBoundsPtrAccessChain = 70,
1387 SpvOpMemberDecorate = 72,
1388 SpvOpDecorationGroup = 73,
1389 SpvOpGroupDecorate = 74,
1390 SpvOpGroupMemberDecorate = 75,
1391 SpvOpVectorExtractDynamic = 77,
1392 SpvOpVectorInsertDynamic = 78,
1393 SpvOpVectorShuffle = 79,
1394 SpvOpCompositeConstruct = 80,
1395 SpvOpCompositeExtract = 81,
1396 SpvOpCompositeInsert = 82,
1397 SpvOpCopyObject = 83,
1398 SpvOpTranspose = 84,
1399 SpvOpSampledImage = 86,
1400 SpvOpImageSampleImplicitLod = 87,
1401 SpvOpImageSampleExplicitLod = 88,
1402 SpvOpImageSampleDrefImplicitLod = 89,
1403 SpvOpImageSampleDrefExplicitLod = 90,
1404 SpvOpImageSampleProjImplicitLod = 91,
1405 SpvOpImageSampleProjExplicitLod = 92,
1406 SpvOpImageSampleProjDrefImplicitLod = 93,
1407 SpvOpImageSampleProjDrefExplicitLod = 94,
1408 SpvOpImageFetch = 95,
1409 SpvOpImageGather = 96,
1410 SpvOpImageDrefGather = 97,
1411 SpvOpImageRead = 98,
1412 SpvOpImageWrite = 99,
1414 SpvOpImageQueryFormat = 101,
1415 SpvOpImageQueryOrder = 102,
1416 SpvOpImageQuerySizeLod = 103,
1417 SpvOpImageQuerySize = 104,
1418 SpvOpImageQueryLod = 105,
1419 SpvOpImageQueryLevels = 106,
1420 SpvOpImageQuerySamples = 107,
1421 SpvOpConvertFToU = 109,
1422 SpvOpConvertFToS = 110,
1423 SpvOpConvertSToF = 111,
1424 SpvOpConvertUToF = 112,
1425 SpvOpUConvert = 113,
1426 SpvOpSConvert = 114,
1427 SpvOpFConvert = 115,
1428 SpvOpQuantizeToF16 = 116,
1429 SpvOpConvertPtrToU = 117,
1430 SpvOpSatConvertSToU = 118,
1431 SpvOpSatConvertUToS = 119,
1432 SpvOpConvertUToPtr = 120,
1433 SpvOpPtrCastToGeneric = 121,
1434 SpvOpGenericCastToPtr = 122,
1435 SpvOpGenericCastToPtrExplicit = 123,
1453 SpvOpVectorTimesScalar = 142,
1454 SpvOpMatrixTimesScalar = 143,
1455 SpvOpVectorTimesMatrix = 144,
1456 SpvOpMatrixTimesVector = 145,
1457 SpvOpMatrixTimesMatrix = 146,
1458 SpvOpOuterProduct = 147,
1460 SpvOpIAddCarry = 149,
1461 SpvOpISubBorrow = 150,
1462 SpvOpUMulExtended = 151,
1463 SpvOpSMulExtended = 152,
1468 SpvOpIsFinite = 158,
1469 SpvOpIsNormal = 159,
1470 SpvOpSignBitSet = 160,
1471 SpvOpLessOrGreater = 161,
1473 SpvOpUnordered = 163,
1474 SpvOpLogicalEqual = 164,
1475 SpvOpLogicalNotEqual = 165,
1476 SpvOpLogicalOr = 166,
1477 SpvOpLogicalAnd = 167,
1478 SpvOpLogicalNot = 168,
1481 SpvOpINotEqual = 171,
1482 SpvOpUGreaterThan = 172,
1483 SpvOpSGreaterThan = 173,
1484 SpvOpUGreaterThanEqual = 174,
1485 SpvOpSGreaterThanEqual = 175,
1486 SpvOpULessThan = 176,
1487 SpvOpSLessThan = 177,
1488 SpvOpULessThanEqual = 178,
1489 SpvOpSLessThanEqual = 179,
1490 SpvOpFOrdEqual = 180,
1491 SpvOpFUnordEqual = 181,
1492 SpvOpFOrdNotEqual = 182,
1493 SpvOpFUnordNotEqual = 183,
1494 SpvOpFOrdLessThan = 184,
1495 SpvOpFUnordLessThan = 185,
1496 SpvOpFOrdGreaterThan = 186,
1497 SpvOpFUnordGreaterThan = 187,
1498 SpvOpFOrdLessThanEqual = 188,
1499 SpvOpFUnordLessThanEqual = 189,
1500 SpvOpFOrdGreaterThanEqual = 190,
1501 SpvOpFUnordGreaterThanEqual = 191,
1502 SpvOpShiftRightLogical = 194,
1503 SpvOpShiftRightArithmetic = 195,
1504 SpvOpShiftLeftLogical = 196,
1505 SpvOpBitwiseOr = 197,
1506 SpvOpBitwiseXor = 198,
1507 SpvOpBitwiseAnd = 199,
1509 SpvOpBitFieldInsert = 201,
1510 SpvOpBitFieldSExtract = 202,
1511 SpvOpBitFieldUExtract = 203,
1512 SpvOpBitReverse = 204,
1513 SpvOpBitCount = 205,
1517 SpvOpDPdxFine = 210,
1518 SpvOpDPdyFine = 211,
1519 SpvOpFwidthFine = 212,
1520 SpvOpDPdxCoarse = 213,
1521 SpvOpDPdyCoarse = 214,
1522 SpvOpFwidthCoarse = 215,
1523 SpvOpEmitVertex = 218,
1524 SpvOpEndPrimitive = 219,
1525 SpvOpEmitStreamVertex = 220,
1526 SpvOpEndStreamPrimitive = 221,
1527 SpvOpControlBarrier = 224,
1528 SpvOpMemoryBarrier = 225,
1529 SpvOpAtomicLoad = 227,
1530 SpvOpAtomicStore = 228,
1531 SpvOpAtomicExchange = 229,
1532 SpvOpAtomicCompareExchange = 230,
1533 SpvOpAtomicCompareExchangeWeak = 231,
1534 SpvOpAtomicIIncrement = 232,
1535 SpvOpAtomicIDecrement = 233,
1536 SpvOpAtomicIAdd = 234,
1537 SpvOpAtomicISub = 235,
1538 SpvOpAtomicSMin = 236,
1539 SpvOpAtomicUMin = 237,
1540 SpvOpAtomicSMax = 238,
1541 SpvOpAtomicUMax = 239,
1542 SpvOpAtomicAnd = 240,
1543 SpvOpAtomicOr = 241,
1544 SpvOpAtomicXor = 242,
1546 SpvOpLoopMerge = 246,
1547 SpvOpSelectionMerge = 247,
1550 SpvOpBranchConditional = 250,
1554 SpvOpReturnValue = 254,
1555 SpvOpUnreachable = 255,
1556 SpvOpLifetimeStart = 256,
1557 SpvOpLifetimeStop = 257,
1558 SpvOpGroupAsyncCopy = 259,
1559 SpvOpGroupWaitEvents = 260,
1560 SpvOpGroupAll = 261,
1561 SpvOpGroupAny = 262,
1562 SpvOpGroupBroadcast = 263,
1563 SpvOpGroupIAdd = 264,
1564 SpvOpGroupFAdd = 265,
1565 SpvOpGroupFMin = 266,
1566 SpvOpGroupUMin = 267,
1567 SpvOpGroupSMin = 268,
1568 SpvOpGroupFMax = 269,
1569 SpvOpGroupUMax = 270,
1570 SpvOpGroupSMax = 271,
1571 SpvOpReadPipe = 274,
1572 SpvOpWritePipe = 275,
1573 SpvOpReservedReadPipe = 276,
1574 SpvOpReservedWritePipe = 277,
1575 SpvOpReserveReadPipePackets = 278,
1576 SpvOpReserveWritePipePackets = 279,
1577 SpvOpCommitReadPipe = 280,
1578 SpvOpCommitWritePipe = 281,
1579 SpvOpIsValidReserveId = 282,
1580 SpvOpGetNumPipePackets = 283,
1581 SpvOpGetMaxPipePackets = 284,
1582 SpvOpGroupReserveReadPipePackets = 285,
1583 SpvOpGroupReserveWritePipePackets = 286,
1584 SpvOpGroupCommitReadPipe = 287,
1585 SpvOpGroupCommitWritePipe = 288,
1586 SpvOpEnqueueMarker = 291,
1587 SpvOpEnqueueKernel = 292,
1588 SpvOpGetKernelNDrangeSubGroupCount = 293,
1589 SpvOpGetKernelNDrangeMaxSubGroupSize = 294,
1590 SpvOpGetKernelWorkGroupSize = 295,
1591 SpvOpGetKernelPreferredWorkGroupSizeMultiple = 296,
1592 SpvOpRetainEvent = 297,
1593 SpvOpReleaseEvent = 298,
1594 SpvOpCreateUserEvent = 299,
1595 SpvOpIsValidEvent = 300,
1596 SpvOpSetUserEventStatus = 301,
1597 SpvOpCaptureEventProfilingInfo = 302,
1598 SpvOpGetDefaultQueue = 303,
1599 SpvOpBuildNDRange = 304,
1600 SpvOpImageSparseSampleImplicitLod = 305,
1601 SpvOpImageSparseSampleExplicitLod = 306,
1602 SpvOpImageSparseSampleDrefImplicitLod = 307,
1603 SpvOpImageSparseSampleDrefExplicitLod = 308,
1604 SpvOpImageSparseSampleProjImplicitLod = 309,
1605 SpvOpImageSparseSampleProjExplicitLod = 310,
1606 SpvOpImageSparseSampleProjDrefImplicitLod = 311,
1607 SpvOpImageSparseSampleProjDrefExplicitLod = 312,
1608 SpvOpImageSparseFetch = 313,
1609 SpvOpImageSparseGather = 314,
1610 SpvOpImageSparseDrefGather = 315,
1611 SpvOpImageSparseTexelsResident = 316,
1613 SpvOpAtomicFlagTestAndSet = 318,
1614 SpvOpAtomicFlagClear = 319,
1615 SpvOpImageSparseRead = 320,
1617 SpvOpTypePipeStorage = 322,
1618 SpvOpConstantPipeStorage = 323,
1619 SpvOpCreatePipeFromPipeStorage = 324,
1620 SpvOpGetKernelLocalSizeForSubgroupCount = 325,
1621 SpvOpGetKernelMaxNumSubgroups = 326,
1622 SpvOpTypeNamedBarrier = 327,
1623 SpvOpNamedBarrierInitialize = 328,
1624 SpvOpMemoryNamedBarrier = 329,
1625 SpvOpModuleProcessed = 330,
1626 SpvOpExecutionModeId = 331,
1627 SpvOpDecorateId = 332,
1628 SpvOpGroupNonUniformElect = 333,
1629 SpvOpGroupNonUniformAll = 334,
1630 SpvOpGroupNonUniformAny = 335,
1631 SpvOpGroupNonUniformAllEqual = 336,
1632 SpvOpGroupNonUniformBroadcast = 337,
1633 SpvOpGroupNonUniformBroadcastFirst = 338,
1634 SpvOpGroupNonUniformBallot = 339,
1635 SpvOpGroupNonUniformInverseBallot = 340,
1636 SpvOpGroupNonUniformBallotBitExtract = 341,
1637 SpvOpGroupNonUniformBallotBitCount = 342,
1638 SpvOpGroupNonUniformBallotFindLSB = 343,
1639 SpvOpGroupNonUniformBallotFindMSB = 344,
1640 SpvOpGroupNonUniformShuffle = 345,
1641 SpvOpGroupNonUniformShuffleXor = 346,
1642 SpvOpGroupNonUniformShuffleUp = 347,
1643 SpvOpGroupNonUniformShuffleDown = 348,
1644 SpvOpGroupNonUniformIAdd = 349,
1645 SpvOpGroupNonUniformFAdd = 350,
1646 SpvOpGroupNonUniformIMul = 351,
1647 SpvOpGroupNonUniformFMul = 352,
1648 SpvOpGroupNonUniformSMin = 353,
1649 SpvOpGroupNonUniformUMin = 354,
1650 SpvOpGroupNonUniformFMin = 355,
1651 SpvOpGroupNonUniformSMax = 356,
1652 SpvOpGroupNonUniformUMax = 357,
1653 SpvOpGroupNonUniformFMax = 358,
1654 SpvOpGroupNonUniformBitwiseAnd = 359,
1655 SpvOpGroupNonUniformBitwiseOr = 360,
1656 SpvOpGroupNonUniformBitwiseXor = 361,
1657 SpvOpGroupNonUniformLogicalAnd = 362,
1658 SpvOpGroupNonUniformLogicalOr = 363,
1659 SpvOpGroupNonUniformLogicalXor = 364,
1660 SpvOpGroupNonUniformQuadBroadcast = 365,
1661 SpvOpGroupNonUniformQuadSwap = 366,
1662 SpvOpCopyLogical = 400,
1663 SpvOpPtrEqual = 401,
1664 SpvOpPtrNotEqual = 402,
1666 SpvOpColorAttachmentReadEXT = 4160,
1667 SpvOpDepthAttachmentReadEXT = 4161,
1668 SpvOpStencilAttachmentReadEXT = 4162,
1669 SpvOpTerminateInvocation = 4416,
1670 SpvOpSubgroupBallotKHR = 4421,
1671 SpvOpSubgroupFirstInvocationKHR = 4422,
1672 SpvOpSubgroupAllKHR = 4428,
1673 SpvOpSubgroupAnyKHR = 4429,
1674 SpvOpSubgroupAllEqualKHR = 4430,
1675 SpvOpGroupNonUniformRotateKHR = 4431,
1676 SpvOpSubgroupReadInvocationKHR = 4432,
1677 SpvOpTraceRayKHR = 4445,
1678 SpvOpExecuteCallableKHR = 4446,
1679 SpvOpConvertUToAccelerationStructureKHR = 4447,
1680 SpvOpIgnoreIntersectionKHR = 4448,
1681 SpvOpTerminateRayKHR = 4449,
1683 SpvOpSDotKHR = 4450,
1685 SpvOpUDotKHR = 4451,
1687 SpvOpSUDotKHR = 4452,
1688 SpvOpSDotAccSat = 4453,
1689 SpvOpSDotAccSatKHR = 4453,
1690 SpvOpUDotAccSat = 4454,
1691 SpvOpUDotAccSatKHR = 4454,
1692 SpvOpSUDotAccSat = 4455,
1693 SpvOpSUDotAccSatKHR = 4455,
1694 SpvOpTypeCooperativeMatrixKHR = 4456,
1695 SpvOpCooperativeMatrixLoadKHR = 4457,
1696 SpvOpCooperativeMatrixStoreKHR = 4458,
1697 SpvOpCooperativeMatrixMulAddKHR = 4459,
1698 SpvOpCooperativeMatrixLengthKHR = 4460,
1699 SpvOpTypeRayQueryKHR = 4472,
1700 SpvOpRayQueryInitializeKHR = 4473,
1701 SpvOpRayQueryTerminateKHR = 4474,
1702 SpvOpRayQueryGenerateIntersectionKHR = 4475,
1703 SpvOpRayQueryConfirmIntersectionKHR = 4476,
1704 SpvOpRayQueryProceedKHR = 4477,
1705 SpvOpRayQueryGetIntersectionTypeKHR = 4479,
1706 SpvOpImageSampleWeightedQCOM = 4480,
1707 SpvOpImageBoxFilterQCOM = 4481,
1708 SpvOpImageBlockMatchSSDQCOM = 4482,
1709 SpvOpImageBlockMatchSADQCOM = 4483,
1710 SpvOpGroupIAddNonUniformAMD = 5000,
1711 SpvOpGroupFAddNonUniformAMD = 5001,
1712 SpvOpGroupFMinNonUniformAMD = 5002,
1713 SpvOpGroupUMinNonUniformAMD = 5003,
1714 SpvOpGroupSMinNonUniformAMD = 5004,
1715 SpvOpGroupFMaxNonUniformAMD = 5005,
1716 SpvOpGroupUMaxNonUniformAMD = 5006,
1717 SpvOpGroupSMaxNonUniformAMD = 5007,
1718 SpvOpFragmentMaskFetchAMD = 5011,
1719 SpvOpFragmentFetchAMD = 5012,
1720 SpvOpReadClockKHR = 5056,
1721 SpvOpHitObjectRecordHitMotionNV = 5249,
1722 SpvOpHitObjectRecordHitWithIndexMotionNV = 5250,
1723 SpvOpHitObjectRecordMissMotionNV = 5251,
1724 SpvOpHitObjectGetWorldToObjectNV = 5252,
1725 SpvOpHitObjectGetObjectToWorldNV = 5253,
1726 SpvOpHitObjectGetObjectRayDirectionNV = 5254,
1727 SpvOpHitObjectGetObjectRayOriginNV = 5255,
1728 SpvOpHitObjectTraceRayMotionNV = 5256,
1729 SpvOpHitObjectGetShaderRecordBufferHandleNV = 5257,
1730 SpvOpHitObjectGetShaderBindingTableRecordIndexNV = 5258,
1731 SpvOpHitObjectRecordEmptyNV = 5259,
1732 SpvOpHitObjectTraceRayNV = 5260,
1733 SpvOpHitObjectRecordHitNV = 5261,
1734 SpvOpHitObjectRecordHitWithIndexNV = 5262,
1735 SpvOpHitObjectRecordMissNV = 5263,
1736 SpvOpHitObjectExecuteShaderNV = 5264,
1737 SpvOpHitObjectGetCurrentTimeNV = 5265,
1738 SpvOpHitObjectGetAttributesNV = 5266,
1739 SpvOpHitObjectGetHitKindNV = 5267,
1740 SpvOpHitObjectGetPrimitiveIndexNV = 5268,
1741 SpvOpHitObjectGetGeometryIndexNV = 5269,
1742 SpvOpHitObjectGetInstanceIdNV = 5270,
1743 SpvOpHitObjectGetInstanceCustomIndexNV = 5271,
1744 SpvOpHitObjectGetWorldRayDirectionNV = 5272,
1745 SpvOpHitObjectGetWorldRayOriginNV = 5273,
1746 SpvOpHitObjectGetRayTMaxNV = 5274,
1747 SpvOpHitObjectGetRayTMinNV = 5275,
1748 SpvOpHitObjectIsEmptyNV = 5276,
1749 SpvOpHitObjectIsHitNV = 5277,
1750 SpvOpHitObjectIsMissNV = 5278,
1751 SpvOpReorderThreadWithHitObjectNV = 5279,
1752 SpvOpReorderThreadWithHintNV = 5280,
1753 SpvOpTypeHitObjectNV = 5281,
1754 SpvOpImageSampleFootprintNV = 5283,
1755 SpvOpEmitMeshTasksEXT = 5294,
1756 SpvOpSetMeshOutputsEXT = 5295,
1757 SpvOpGroupNonUniformPartitionNV = 5296,
1758 SpvOpWritePackedPrimitiveIndices4x8NV = 5299,
1759 SpvOpReportIntersectionKHR = 5334,
1760 SpvOpReportIntersectionNV = 5334,
1761 SpvOpIgnoreIntersectionNV = 5335,
1762 SpvOpTerminateRayNV = 5336,
1763 SpvOpTraceNV = 5337,
1764 SpvOpTraceMotionNV = 5338,
1765 SpvOpTraceRayMotionNV = 5339,
1766 SpvOpRayQueryGetIntersectionTriangleVertexPositionsKHR = 5340,
1767 SpvOpTypeAccelerationStructureKHR = 5341,
1768 SpvOpTypeAccelerationStructureNV = 5341,
1769 SpvOpExecuteCallableNV = 5344,
1770 SpvOpTypeCooperativeMatrixNV = 5358,
1771 SpvOpCooperativeMatrixLoadNV = 5359,
1772 SpvOpCooperativeMatrixStoreNV = 5360,
1773 SpvOpCooperativeMatrixMulAddNV = 5361,
1774 SpvOpCooperativeMatrixLengthNV = 5362,
1775 SpvOpBeginInvocationInterlockEXT = 5364,
1776 SpvOpEndInvocationInterlockEXT = 5365,
1777 SpvOpDemoteToHelperInvocation = 5380,
1778 SpvOpDemoteToHelperInvocationEXT = 5380,
1779 SpvOpIsHelperInvocationEXT = 5381,
1780 SpvOpConvertUToImageNV = 5391,
1781 SpvOpConvertUToSamplerNV = 5392,
1782 SpvOpConvertImageToUNV = 5393,
1783 SpvOpConvertSamplerToUNV = 5394,
1784 SpvOpConvertUToSampledImageNV = 5395,
1785 SpvOpConvertSampledImageToUNV = 5396,
1786 SpvOpSamplerImageAddressingModeNV = 5397,
1787 SpvOpSubgroupShuffleINTEL = 5571,
1788 SpvOpSubgroupShuffleDownINTEL = 5572,
1789 SpvOpSubgroupShuffleUpINTEL = 5573,
1790 SpvOpSubgroupShuffleXorINTEL = 5574,
1791 SpvOpSubgroupBlockReadINTEL = 5575,
1792 SpvOpSubgroupBlockWriteINTEL = 5576,
1793 SpvOpSubgroupImageBlockReadINTEL = 5577,
1794 SpvOpSubgroupImageBlockWriteINTEL = 5578,
1795 SpvOpSubgroupImageMediaBlockReadINTEL = 5580,
1796 SpvOpSubgroupImageMediaBlockWriteINTEL = 5581,
1797 SpvOpUCountLeadingZerosINTEL = 5585,
1798 SpvOpUCountTrailingZerosINTEL = 5586,
1799 SpvOpAbsISubINTEL = 5587,
1800 SpvOpAbsUSubINTEL = 5588,
1801 SpvOpIAddSatINTEL = 5589,
1802 SpvOpUAddSatINTEL = 5590,
1803 SpvOpIAverageINTEL = 5591,
1804 SpvOpUAverageINTEL = 5592,
1805 SpvOpIAverageRoundedINTEL = 5593,
1806 SpvOpUAverageRoundedINTEL = 5594,
1807 SpvOpISubSatINTEL = 5595,
1808 SpvOpUSubSatINTEL = 5596,
1809 SpvOpIMul32x16INTEL = 5597,
1810 SpvOpUMul32x16INTEL = 5598,
1811 SpvOpConstantFunctionPointerINTEL = 5600,
1812 SpvOpFunctionPointerCallINTEL = 5601,
1813 SpvOpAsmTargetINTEL = 5609,
1814 SpvOpAsmINTEL = 5610,
1815 SpvOpAsmCallINTEL = 5611,
1816 SpvOpAtomicFMinEXT = 5614,
1817 SpvOpAtomicFMaxEXT = 5615,
1818 SpvOpAssumeTrueKHR = 5630,
1819 SpvOpExpectKHR = 5631,
1820 SpvOpDecorateString = 5632,
1821 SpvOpDecorateStringGOOGLE = 5632,
1822 SpvOpMemberDecorateString = 5633,
1823 SpvOpMemberDecorateStringGOOGLE = 5633,
1824 SpvOpVmeImageINTEL = 5699,
1825 SpvOpTypeVmeImageINTEL = 5700,
1826 SpvOpTypeAvcImePayloadINTEL = 5701,
1827 SpvOpTypeAvcRefPayloadINTEL = 5702,
1828 SpvOpTypeAvcSicPayloadINTEL = 5703,
1829 SpvOpTypeAvcMcePayloadINTEL = 5704,
1830 SpvOpTypeAvcMceResultINTEL = 5705,
1831 SpvOpTypeAvcImeResultINTEL = 5706,
1832 SpvOpTypeAvcImeResultSingleReferenceStreamoutINTEL = 5707,
1833 SpvOpTypeAvcImeResultDualReferenceStreamoutINTEL = 5708,
1834 SpvOpTypeAvcImeSingleReferenceStreaminINTEL = 5709,
1835 SpvOpTypeAvcImeDualReferenceStreaminINTEL = 5710,
1836 SpvOpTypeAvcRefResultINTEL = 5711,
1837 SpvOpTypeAvcSicResultINTEL = 5712,
1838 SpvOpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL = 5713,
1839 SpvOpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL = 5714,
1840 SpvOpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL = 5715,
1841 SpvOpSubgroupAvcMceSetInterShapePenaltyINTEL = 5716,
1842 SpvOpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL = 5717,
1843 SpvOpSubgroupAvcMceSetInterDirectionPenaltyINTEL = 5718,
1844 SpvOpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL = 5719,
1845 SpvOpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL = 5720,
1846 SpvOpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL = 5721,
1847 SpvOpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL = 5722,
1848 SpvOpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL = 5723,
1849 SpvOpSubgroupAvcMceSetMotionVectorCostFunctionINTEL = 5724,
1850 SpvOpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL = 5725,
1851 SpvOpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL = 5726,
1852 SpvOpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL = 5727,
1853 SpvOpSubgroupAvcMceSetAcOnlyHaarINTEL = 5728,
1854 SpvOpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL = 5729,
1855 SpvOpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL = 5730,
1856 SpvOpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL = 5731,
1857 SpvOpSubgroupAvcMceConvertToImePayloadINTEL = 5732,
1858 SpvOpSubgroupAvcMceConvertToImeResultINTEL = 5733,
1859 SpvOpSubgroupAvcMceConvertToRefPayloadINTEL = 5734,
1860 SpvOpSubgroupAvcMceConvertToRefResultINTEL = 5735,
1861 SpvOpSubgroupAvcMceConvertToSicPayloadINTEL = 5736,
1862 SpvOpSubgroupAvcMceConvertToSicResultINTEL = 5737,
1863 SpvOpSubgroupAvcMceGetMotionVectorsINTEL = 5738,
1864 SpvOpSubgroupAvcMceGetInterDistortionsINTEL = 5739,
1865 SpvOpSubgroupAvcMceGetBestInterDistortionsINTEL = 5740,
1866 SpvOpSubgroupAvcMceGetInterMajorShapeINTEL = 5741,
1867 SpvOpSubgroupAvcMceGetInterMinorShapeINTEL = 5742,
1868 SpvOpSubgroupAvcMceGetInterDirectionsINTEL = 5743,
1869 SpvOpSubgroupAvcMceGetInterMotionVectorCountINTEL = 5744,
1870 SpvOpSubgroupAvcMceGetInterReferenceIdsINTEL = 5745,
1871 SpvOpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL = 5746,
1872 SpvOpSubgroupAvcImeInitializeINTEL = 5747,
1873 SpvOpSubgroupAvcImeSetSingleReferenceINTEL = 5748,
1874 SpvOpSubgroupAvcImeSetDualReferenceINTEL = 5749,
1875 SpvOpSubgroupAvcImeRefWindowSizeINTEL = 5750,
1876 SpvOpSubgroupAvcImeAdjustRefOffsetINTEL = 5751,
1877 SpvOpSubgroupAvcImeConvertToMcePayloadINTEL = 5752,
1878 SpvOpSubgroupAvcImeSetMaxMotionVectorCountINTEL = 5753,
1879 SpvOpSubgroupAvcImeSetUnidirectionalMixDisableINTEL = 5754,
1880 SpvOpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL = 5755,
1881 SpvOpSubgroupAvcImeSetWeightedSadINTEL = 5756,
1882 SpvOpSubgroupAvcImeEvaluateWithSingleReferenceINTEL = 5757,
1883 SpvOpSubgroupAvcImeEvaluateWithDualReferenceINTEL = 5758,
1884 SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL = 5759,
1885 SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL = 5760,
1886 SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL = 5761,
1887 SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL = 5762,
1888 SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL = 5763,
1889 SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL = 5764,
1890 SpvOpSubgroupAvcImeConvertToMceResultINTEL = 5765,
1891 SpvOpSubgroupAvcImeGetSingleReferenceStreaminINTEL = 5766,
1892 SpvOpSubgroupAvcImeGetDualReferenceStreaminINTEL = 5767,
1893 SpvOpSubgroupAvcImeStripSingleReferenceStreamoutINTEL = 5768,
1894 SpvOpSubgroupAvcImeStripDualReferenceStreamoutINTEL = 5769,
1895 SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL =
1897 SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL =
1899 SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL =
1901 SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL =
1903 SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL = 5774,
1904 SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL =
1906 SpvOpSubgroupAvcImeGetBorderReachedINTEL = 5776,
1907 SpvOpSubgroupAvcImeGetTruncatedSearchIndicationINTEL = 5777,
1908 SpvOpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL = 5778,
1909 SpvOpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL = 5779,
1910 SpvOpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL = 5780,
1911 SpvOpSubgroupAvcFmeInitializeINTEL = 5781,
1912 SpvOpSubgroupAvcBmeInitializeINTEL = 5782,
1913 SpvOpSubgroupAvcRefConvertToMcePayloadINTEL = 5783,
1914 SpvOpSubgroupAvcRefSetBidirectionalMixDisableINTEL = 5784,
1915 SpvOpSubgroupAvcRefSetBilinearFilterEnableINTEL = 5785,
1916 SpvOpSubgroupAvcRefEvaluateWithSingleReferenceINTEL = 5786,
1917 SpvOpSubgroupAvcRefEvaluateWithDualReferenceINTEL = 5787,
1918 SpvOpSubgroupAvcRefEvaluateWithMultiReferenceINTEL = 5788,
1919 SpvOpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL = 5789,
1920 SpvOpSubgroupAvcRefConvertToMceResultINTEL = 5790,
1921 SpvOpSubgroupAvcSicInitializeINTEL = 5791,
1922 SpvOpSubgroupAvcSicConfigureSkcINTEL = 5792,
1923 SpvOpSubgroupAvcSicConfigureIpeLumaINTEL = 5793,
1924 SpvOpSubgroupAvcSicConfigureIpeLumaChromaINTEL = 5794,
1925 SpvOpSubgroupAvcSicGetMotionVectorMaskINTEL = 5795,
1926 SpvOpSubgroupAvcSicConvertToMcePayloadINTEL = 5796,
1927 SpvOpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL = 5797,
1928 SpvOpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL = 5798,
1929 SpvOpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL = 5799,
1930 SpvOpSubgroupAvcSicSetBilinearFilterEnableINTEL = 5800,
1931 SpvOpSubgroupAvcSicSetSkcForwardTransformEnableINTEL = 5801,
1932 SpvOpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL = 5802,
1933 SpvOpSubgroupAvcSicEvaluateIpeINTEL = 5803,
1934 SpvOpSubgroupAvcSicEvaluateWithSingleReferenceINTEL = 5804,
1935 SpvOpSubgroupAvcSicEvaluateWithDualReferenceINTEL = 5805,
1936 SpvOpSubgroupAvcSicEvaluateWithMultiReferenceINTEL = 5806,
1937 SpvOpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL = 5807,
1938 SpvOpSubgroupAvcSicConvertToMceResultINTEL = 5808,
1939 SpvOpSubgroupAvcSicGetIpeLumaShapeINTEL = 5809,
1940 SpvOpSubgroupAvcSicGetBestIpeLumaDistortionINTEL = 5810,
1941 SpvOpSubgroupAvcSicGetBestIpeChromaDistortionINTEL = 5811,
1942 SpvOpSubgroupAvcSicGetPackedIpeLumaModesINTEL = 5812,
1943 SpvOpSubgroupAvcSicGetIpeChromaModeINTEL = 5813,
1944 SpvOpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
1945 SpvOpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
1946 SpvOpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
1947 SpvOpVariableLengthArrayINTEL = 5818,
1948 SpvOpSaveMemoryINTEL = 5819,
1949 SpvOpRestoreMemoryINTEL = 5820,
1950 SpvOpArbitraryFloatSinCosPiINTEL = 5840,
1951 SpvOpArbitraryFloatCastINTEL = 5841,
1952 SpvOpArbitraryFloatCastFromIntINTEL = 5842,
1953 SpvOpArbitraryFloatCastToIntINTEL = 5843,
1954 SpvOpArbitraryFloatAddINTEL = 5846,
1955 SpvOpArbitraryFloatSubINTEL = 5847,
1956 SpvOpArbitraryFloatMulINTEL = 5848,
1957 SpvOpArbitraryFloatDivINTEL = 5849,
1958 SpvOpArbitraryFloatGTINTEL = 5850,
1959 SpvOpArbitraryFloatGEINTEL = 5851,
1960 SpvOpArbitraryFloatLTINTEL = 5852,
1961 SpvOpArbitraryFloatLEINTEL = 5853,
1962 SpvOpArbitraryFloatEQINTEL = 5854,
1963 SpvOpArbitraryFloatRecipINTEL = 5855,
1964 SpvOpArbitraryFloatRSqrtINTEL = 5856,
1965 SpvOpArbitraryFloatCbrtINTEL = 5857,
1966 SpvOpArbitraryFloatHypotINTEL = 5858,
1967 SpvOpArbitraryFloatSqrtINTEL = 5859,
1968 SpvOpArbitraryFloatLogINTEL = 5860,
1969 SpvOpArbitraryFloatLog2INTEL = 5861,
1970 SpvOpArbitraryFloatLog10INTEL = 5862,
1971 SpvOpArbitraryFloatLog1pINTEL = 5863,
1972 SpvOpArbitraryFloatExpINTEL = 5864,
1973 SpvOpArbitraryFloatExp2INTEL = 5865,
1974 SpvOpArbitraryFloatExp10INTEL = 5866,
1975 SpvOpArbitraryFloatExpm1INTEL = 5867,
1976 SpvOpArbitraryFloatSinINTEL = 5868,
1977 SpvOpArbitraryFloatCosINTEL = 5869,
1978 SpvOpArbitraryFloatSinCosINTEL = 5870,
1979 SpvOpArbitraryFloatSinPiINTEL = 5871,
1980 SpvOpArbitraryFloatCosPiINTEL = 5872,
1981 SpvOpArbitraryFloatASinINTEL = 5873,
1982 SpvOpArbitraryFloatASinPiINTEL = 5874,
1983 SpvOpArbitraryFloatACosINTEL = 5875,
1984 SpvOpArbitraryFloatACosPiINTEL = 5876,
1985 SpvOpArbitraryFloatATanINTEL = 5877,
1986 SpvOpArbitraryFloatATanPiINTEL = 5878,
1987 SpvOpArbitraryFloatATan2INTEL = 5879,
1988 SpvOpArbitraryFloatPowINTEL = 5880,
1989 SpvOpArbitraryFloatPowRINTEL = 5881,
1990 SpvOpArbitraryFloatPowNINTEL = 5882,
1991 SpvOpLoopControlINTEL = 5887,
1992 SpvOpAliasDomainDeclINTEL = 5911,
1993 SpvOpAliasScopeDeclINTEL = 5912,
1994 SpvOpAliasScopeListDeclINTEL = 5913,
1995 SpvOpFixedSqrtINTEL = 5923,
1996 SpvOpFixedRecipINTEL = 5924,
1997 SpvOpFixedRsqrtINTEL = 5925,
1998 SpvOpFixedSinINTEL = 5926,
1999 SpvOpFixedCosINTEL = 5927,
2000 SpvOpFixedSinCosINTEL = 5928,
2001 SpvOpFixedSinPiINTEL = 5929,
2002 SpvOpFixedCosPiINTEL = 5930,
2003 SpvOpFixedSinCosPiINTEL = 5931,
2004 SpvOpFixedLogINTEL = 5932,
2005 SpvOpFixedExpINTEL = 5933,
2006 SpvOpPtrCastToCrossWorkgroupINTEL = 5934,
2007 SpvOpCrossWorkgroupCastToPtrINTEL = 5938,
2008 SpvOpReadPipeBlockingINTEL = 5946,
2009 SpvOpWritePipeBlockingINTEL = 5947,
2010 SpvOpFPGARegINTEL = 5949,
2011 SpvOpRayQueryGetRayTMinKHR = 6016,
2012 SpvOpRayQueryGetRayFlagsKHR = 6017,
2013 SpvOpRayQueryGetIntersectionTKHR = 6018,
2014 SpvOpRayQueryGetIntersectionInstanceCustomIndexKHR = 6019,
2015 SpvOpRayQueryGetIntersectionInstanceIdKHR = 6020,
2016 SpvOpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR = 6021,
2017 SpvOpRayQueryGetIntersectionGeometryIndexKHR = 6022,
2018 SpvOpRayQueryGetIntersectionPrimitiveIndexKHR = 6023,
2019 SpvOpRayQueryGetIntersectionBarycentricsKHR = 6024,
2020 SpvOpRayQueryGetIntersectionFrontFaceKHR = 6025,
2021 SpvOpRayQueryGetIntersectionCandidateAABBOpaqueKHR = 6026,
2022 SpvOpRayQueryGetIntersectionObjectRayDirectionKHR = 6027,
2023 SpvOpRayQueryGetIntersectionObjectRayOriginKHR = 6028,
2024 SpvOpRayQueryGetWorldRayDirectionKHR = 6029,
2025 SpvOpRayQueryGetWorldRayOriginKHR = 6030,
2026 SpvOpRayQueryGetIntersectionObjectToWorldKHR = 6031,
2027 SpvOpRayQueryGetIntersectionWorldToObjectKHR = 6032,
2028 SpvOpAtomicFAddEXT = 6035,
2029 SpvOpTypeBufferSurfaceINTEL = 6086,
2030 SpvOpTypeStructContinuedINTEL = 6090,
2031 SpvOpConstantCompositeContinuedINTEL = 6091,
2032 SpvOpSpecConstantCompositeContinuedINTEL = 6092,
2033 SpvOpConvertFToBF16INTEL = 6116,
2034 SpvOpConvertBF16ToFINTEL = 6117,
2035 SpvOpControlBarrierArriveINTEL = 6142,
2036 SpvOpControlBarrierWaitINTEL = 6143,
2037 SpvOpGroupIMulKHR = 6401,
2038 SpvOpGroupFMulKHR = 6402,
2039 SpvOpGroupBitwiseAndKHR = 6403,
2040 SpvOpGroupBitwiseOrKHR = 6404,
2041 SpvOpGroupBitwiseXorKHR = 6405,
2042 SpvOpGroupLogicalAndKHR = 6406,
2043 SpvOpGroupLogicalOrKHR = 6407,
2044 SpvOpGroupLogicalXorKHR = 6408,
2045 SpvOpMax = 0x7fffffff,
2048#ifdef SPV_ENABLE_UTILITY_CODE
2052inline void SpvHasResultAndType(SpvOp opcode,
bool* hasResult,
2053 bool* hasResultType) {
2054 *hasResult = *hasResultType =
false;
2060 *hasResultType =
false;
2064 *hasResultType =
true;
2066 case SpvOpSourceContinued:
2068 *hasResultType =
false;
2072 *hasResultType =
false;
2074 case SpvOpSourceExtension:
2076 *hasResultType =
false;
2080 *hasResultType =
false;
2082 case SpvOpMemberName:
2084 *hasResultType =
false;
2088 *hasResultType =
false;
2092 *hasResultType =
false;
2094 case SpvOpExtension:
2096 *hasResultType =
false;
2098 case SpvOpExtInstImport:
2100 *hasResultType =
false;
2104 *hasResultType =
true;
2106 case SpvOpMemoryModel:
2108 *hasResultType =
false;
2110 case SpvOpEntryPoint:
2112 *hasResultType =
false;
2114 case SpvOpExecutionMode:
2116 *hasResultType =
false;
2118 case SpvOpCapability:
2120 *hasResultType =
false;
2124 *hasResultType =
false;
2128 *hasResultType =
false;
2132 *hasResultType =
false;
2134 case SpvOpTypeFloat:
2136 *hasResultType =
false;
2138 case SpvOpTypeVector:
2140 *hasResultType =
false;
2142 case SpvOpTypeMatrix:
2144 *hasResultType =
false;
2146 case SpvOpTypeImage:
2148 *hasResultType =
false;
2150 case SpvOpTypeSampler:
2152 *hasResultType =
false;
2154 case SpvOpTypeSampledImage:
2156 *hasResultType =
false;
2158 case SpvOpTypeArray:
2160 *hasResultType =
false;
2162 case SpvOpTypeRuntimeArray:
2164 *hasResultType =
false;
2166 case SpvOpTypeStruct:
2168 *hasResultType =
false;
2170 case SpvOpTypeOpaque:
2172 *hasResultType =
false;
2174 case SpvOpTypePointer:
2176 *hasResultType =
false;
2178 case SpvOpTypeFunction:
2180 *hasResultType =
false;
2182 case SpvOpTypeEvent:
2184 *hasResultType =
false;
2186 case SpvOpTypeDeviceEvent:
2188 *hasResultType =
false;
2190 case SpvOpTypeReserveId:
2192 *hasResultType =
false;
2194 case SpvOpTypeQueue:
2196 *hasResultType =
false;
2200 *hasResultType =
false;
2202 case SpvOpTypeForwardPointer:
2204 *hasResultType =
false;
2206 case SpvOpConstantTrue:
2208 *hasResultType =
true;
2210 case SpvOpConstantFalse:
2212 *hasResultType =
true;
2216 *hasResultType =
true;
2218 case SpvOpConstantComposite:
2220 *hasResultType =
true;
2222 case SpvOpConstantSampler:
2224 *hasResultType =
true;
2226 case SpvOpConstantNull:
2228 *hasResultType =
true;
2230 case SpvOpSpecConstantTrue:
2232 *hasResultType =
true;
2234 case SpvOpSpecConstantFalse:
2236 *hasResultType =
true;
2238 case SpvOpSpecConstant:
2240 *hasResultType =
true;
2242 case SpvOpSpecConstantComposite:
2244 *hasResultType =
true;
2246 case SpvOpSpecConstantOp:
2248 *hasResultType =
true;
2252 *hasResultType =
true;
2254 case SpvOpFunctionParameter:
2256 *hasResultType =
true;
2258 case SpvOpFunctionEnd:
2260 *hasResultType =
false;
2262 case SpvOpFunctionCall:
2264 *hasResultType =
true;
2268 *hasResultType =
true;
2270 case SpvOpImageTexelPointer:
2272 *hasResultType =
true;
2276 *hasResultType =
true;
2280 *hasResultType =
false;
2282 case SpvOpCopyMemory:
2284 *hasResultType =
false;
2286 case SpvOpCopyMemorySized:
2288 *hasResultType =
false;
2290 case SpvOpAccessChain:
2292 *hasResultType =
true;
2294 case SpvOpInBoundsAccessChain:
2296 *hasResultType =
true;
2298 case SpvOpPtrAccessChain:
2300 *hasResultType =
true;
2302 case SpvOpArrayLength:
2304 *hasResultType =
true;
2306 case SpvOpGenericPtrMemSemantics:
2308 *hasResultType =
true;
2310 case SpvOpInBoundsPtrAccessChain:
2312 *hasResultType =
true;
2316 *hasResultType =
false;
2318 case SpvOpMemberDecorate:
2320 *hasResultType =
false;
2322 case SpvOpDecorationGroup:
2324 *hasResultType =
false;
2326 case SpvOpGroupDecorate:
2328 *hasResultType =
false;
2330 case SpvOpGroupMemberDecorate:
2332 *hasResultType =
false;
2334 case SpvOpVectorExtractDynamic:
2336 *hasResultType =
true;
2338 case SpvOpVectorInsertDynamic:
2340 *hasResultType =
true;
2342 case SpvOpVectorShuffle:
2344 *hasResultType =
true;
2346 case SpvOpCompositeConstruct:
2348 *hasResultType =
true;
2350 case SpvOpCompositeExtract:
2352 *hasResultType =
true;
2354 case SpvOpCompositeInsert:
2356 *hasResultType =
true;
2358 case SpvOpCopyObject:
2360 *hasResultType =
true;
2362 case SpvOpTranspose:
2364 *hasResultType =
true;
2366 case SpvOpSampledImage:
2368 *hasResultType =
true;
2370 case SpvOpImageSampleImplicitLod:
2372 *hasResultType =
true;
2374 case SpvOpImageSampleExplicitLod:
2376 *hasResultType =
true;
2378 case SpvOpImageSampleDrefImplicitLod:
2380 *hasResultType =
true;
2382 case SpvOpImageSampleDrefExplicitLod:
2384 *hasResultType =
true;
2386 case SpvOpImageSampleProjImplicitLod:
2388 *hasResultType =
true;
2390 case SpvOpImageSampleProjExplicitLod:
2392 *hasResultType =
true;
2394 case SpvOpImageSampleProjDrefImplicitLod:
2396 *hasResultType =
true;
2398 case SpvOpImageSampleProjDrefExplicitLod:
2400 *hasResultType =
true;
2402 case SpvOpImageFetch:
2404 *hasResultType =
true;
2406 case SpvOpImageGather:
2408 *hasResultType =
true;
2410 case SpvOpImageDrefGather:
2412 *hasResultType =
true;
2414 case SpvOpImageRead:
2416 *hasResultType =
true;
2418 case SpvOpImageWrite:
2420 *hasResultType =
false;
2424 *hasResultType =
true;
2426 case SpvOpImageQueryFormat:
2428 *hasResultType =
true;
2430 case SpvOpImageQueryOrder:
2432 *hasResultType =
true;
2434 case SpvOpImageQuerySizeLod:
2436 *hasResultType =
true;
2438 case SpvOpImageQuerySize:
2440 *hasResultType =
true;
2442 case SpvOpImageQueryLod:
2444 *hasResultType =
true;
2446 case SpvOpImageQueryLevels:
2448 *hasResultType =
true;
2450 case SpvOpImageQuerySamples:
2452 *hasResultType =
true;
2454 case SpvOpConvertFToU:
2456 *hasResultType =
true;
2458 case SpvOpConvertFToS:
2460 *hasResultType =
true;
2462 case SpvOpConvertSToF:
2464 *hasResultType =
true;
2466 case SpvOpConvertUToF:
2468 *hasResultType =
true;
2472 *hasResultType =
true;
2476 *hasResultType =
true;
2480 *hasResultType =
true;
2482 case SpvOpQuantizeToF16:
2484 *hasResultType =
true;
2486 case SpvOpConvertPtrToU:
2488 *hasResultType =
true;
2490 case SpvOpSatConvertSToU:
2492 *hasResultType =
true;
2494 case SpvOpSatConvertUToS:
2496 *hasResultType =
true;
2498 case SpvOpConvertUToPtr:
2500 *hasResultType =
true;
2502 case SpvOpPtrCastToGeneric:
2504 *hasResultType =
true;
2506 case SpvOpGenericCastToPtr:
2508 *hasResultType =
true;
2510 case SpvOpGenericCastToPtrExplicit:
2512 *hasResultType =
true;
2516 *hasResultType =
true;
2520 *hasResultType =
true;
2524 *hasResultType =
true;
2528 *hasResultType =
true;
2532 *hasResultType =
true;
2536 *hasResultType =
true;
2540 *hasResultType =
true;
2544 *hasResultType =
true;
2548 *hasResultType =
true;
2552 *hasResultType =
true;
2556 *hasResultType =
true;
2560 *hasResultType =
true;
2564 *hasResultType =
true;
2568 *hasResultType =
true;
2572 *hasResultType =
true;
2576 *hasResultType =
true;
2580 *hasResultType =
true;
2582 case SpvOpVectorTimesScalar:
2584 *hasResultType =
true;
2586 case SpvOpMatrixTimesScalar:
2588 *hasResultType =
true;
2590 case SpvOpVectorTimesMatrix:
2592 *hasResultType =
true;
2594 case SpvOpMatrixTimesVector:
2596 *hasResultType =
true;
2598 case SpvOpMatrixTimesMatrix:
2600 *hasResultType =
true;
2602 case SpvOpOuterProduct:
2604 *hasResultType =
true;
2608 *hasResultType =
true;
2610 case SpvOpIAddCarry:
2612 *hasResultType =
true;
2614 case SpvOpISubBorrow:
2616 *hasResultType =
true;
2618 case SpvOpUMulExtended:
2620 *hasResultType =
true;
2622 case SpvOpSMulExtended:
2624 *hasResultType =
true;
2628 *hasResultType =
true;
2632 *hasResultType =
true;
2636 *hasResultType =
true;
2640 *hasResultType =
true;
2644 *hasResultType =
true;
2648 *hasResultType =
true;
2650 case SpvOpSignBitSet:
2652 *hasResultType =
true;
2654 case SpvOpLessOrGreater:
2656 *hasResultType =
true;
2660 *hasResultType =
true;
2662 case SpvOpUnordered:
2664 *hasResultType =
true;
2666 case SpvOpLogicalEqual:
2668 *hasResultType =
true;
2670 case SpvOpLogicalNotEqual:
2672 *hasResultType =
true;
2674 case SpvOpLogicalOr:
2676 *hasResultType =
true;
2678 case SpvOpLogicalAnd:
2680 *hasResultType =
true;
2682 case SpvOpLogicalNot:
2684 *hasResultType =
true;
2688 *hasResultType =
true;
2692 *hasResultType =
true;
2694 case SpvOpINotEqual:
2696 *hasResultType =
true;
2698 case SpvOpUGreaterThan:
2700 *hasResultType =
true;
2702 case SpvOpSGreaterThan:
2704 *hasResultType =
true;
2706 case SpvOpUGreaterThanEqual:
2708 *hasResultType =
true;
2710 case SpvOpSGreaterThanEqual:
2712 *hasResultType =
true;
2714 case SpvOpULessThan:
2716 *hasResultType =
true;
2718 case SpvOpSLessThan:
2720 *hasResultType =
true;
2722 case SpvOpULessThanEqual:
2724 *hasResultType =
true;
2726 case SpvOpSLessThanEqual:
2728 *hasResultType =
true;
2730 case SpvOpFOrdEqual:
2732 *hasResultType =
true;
2734 case SpvOpFUnordEqual:
2736 *hasResultType =
true;
2738 case SpvOpFOrdNotEqual:
2740 *hasResultType =
true;
2742 case SpvOpFUnordNotEqual:
2744 *hasResultType =
true;
2746 case SpvOpFOrdLessThan:
2748 *hasResultType =
true;
2750 case SpvOpFUnordLessThan:
2752 *hasResultType =
true;
2754 case SpvOpFOrdGreaterThan:
2756 *hasResultType =
true;
2758 case SpvOpFUnordGreaterThan:
2760 *hasResultType =
true;
2762 case SpvOpFOrdLessThanEqual:
2764 *hasResultType =
true;
2766 case SpvOpFUnordLessThanEqual:
2768 *hasResultType =
true;
2770 case SpvOpFOrdGreaterThanEqual:
2772 *hasResultType =
true;
2774 case SpvOpFUnordGreaterThanEqual:
2776 *hasResultType =
true;
2778 case SpvOpShiftRightLogical:
2780 *hasResultType =
true;
2782 case SpvOpShiftRightArithmetic:
2784 *hasResultType =
true;
2786 case SpvOpShiftLeftLogical:
2788 *hasResultType =
true;
2790 case SpvOpBitwiseOr:
2792 *hasResultType =
true;
2794 case SpvOpBitwiseXor:
2796 *hasResultType =
true;
2798 case SpvOpBitwiseAnd:
2800 *hasResultType =
true;
2804 *hasResultType =
true;
2806 case SpvOpBitFieldInsert:
2808 *hasResultType =
true;
2810 case SpvOpBitFieldSExtract:
2812 *hasResultType =
true;
2814 case SpvOpBitFieldUExtract:
2816 *hasResultType =
true;
2818 case SpvOpBitReverse:
2820 *hasResultType =
true;
2824 *hasResultType =
true;
2828 *hasResultType =
true;
2832 *hasResultType =
true;
2836 *hasResultType =
true;
2840 *hasResultType =
true;
2844 *hasResultType =
true;
2846 case SpvOpFwidthFine:
2848 *hasResultType =
true;
2850 case SpvOpDPdxCoarse:
2852 *hasResultType =
true;
2854 case SpvOpDPdyCoarse:
2856 *hasResultType =
true;
2858 case SpvOpFwidthCoarse:
2860 *hasResultType =
true;
2862 case SpvOpEmitVertex:
2864 *hasResultType =
false;
2866 case SpvOpEndPrimitive:
2868 *hasResultType =
false;
2870 case SpvOpEmitStreamVertex:
2872 *hasResultType =
false;
2874 case SpvOpEndStreamPrimitive:
2876 *hasResultType =
false;
2878 case SpvOpControlBarrier:
2880 *hasResultType =
false;
2882 case SpvOpMemoryBarrier:
2884 *hasResultType =
false;
2886 case SpvOpAtomicLoad:
2888 *hasResultType =
true;
2890 case SpvOpAtomicStore:
2892 *hasResultType =
false;
2894 case SpvOpAtomicExchange:
2896 *hasResultType =
true;
2898 case SpvOpAtomicCompareExchange:
2900 *hasResultType =
true;
2902 case SpvOpAtomicCompareExchangeWeak:
2904 *hasResultType =
true;
2906 case SpvOpAtomicIIncrement:
2908 *hasResultType =
true;
2910 case SpvOpAtomicIDecrement:
2912 *hasResultType =
true;
2914 case SpvOpAtomicIAdd:
2916 *hasResultType =
true;
2918 case SpvOpAtomicISub:
2920 *hasResultType =
true;
2922 case SpvOpAtomicSMin:
2924 *hasResultType =
true;
2926 case SpvOpAtomicUMin:
2928 *hasResultType =
true;
2930 case SpvOpAtomicSMax:
2932 *hasResultType =
true;
2934 case SpvOpAtomicUMax:
2936 *hasResultType =
true;
2938 case SpvOpAtomicAnd:
2940 *hasResultType =
true;
2944 *hasResultType =
true;
2946 case SpvOpAtomicXor:
2948 *hasResultType =
true;
2952 *hasResultType =
true;
2954 case SpvOpLoopMerge:
2956 *hasResultType =
false;
2958 case SpvOpSelectionMerge:
2960 *hasResultType =
false;
2964 *hasResultType =
false;
2968 *hasResultType =
false;
2970 case SpvOpBranchConditional:
2972 *hasResultType =
false;
2976 *hasResultType =
false;
2980 *hasResultType =
false;
2984 *hasResultType =
false;
2986 case SpvOpReturnValue:
2988 *hasResultType =
false;
2990 case SpvOpUnreachable:
2992 *hasResultType =
false;
2994 case SpvOpLifetimeStart:
2996 *hasResultType =
false;
2998 case SpvOpLifetimeStop:
3000 *hasResultType =
false;
3002 case SpvOpGroupAsyncCopy:
3004 *hasResultType =
true;
3006 case SpvOpGroupWaitEvents:
3008 *hasResultType =
false;
3012 *hasResultType =
true;
3016 *hasResultType =
true;
3018 case SpvOpGroupBroadcast:
3020 *hasResultType =
true;
3022 case SpvOpGroupIAdd:
3024 *hasResultType =
true;
3026 case SpvOpGroupFAdd:
3028 *hasResultType =
true;
3030 case SpvOpGroupFMin:
3032 *hasResultType =
true;
3034 case SpvOpGroupUMin:
3036 *hasResultType =
true;
3038 case SpvOpGroupSMin:
3040 *hasResultType =
true;
3042 case SpvOpGroupFMax:
3044 *hasResultType =
true;
3046 case SpvOpGroupUMax:
3048 *hasResultType =
true;
3050 case SpvOpGroupSMax:
3052 *hasResultType =
true;
3056 *hasResultType =
true;
3058 case SpvOpWritePipe:
3060 *hasResultType =
true;
3062 case SpvOpReservedReadPipe:
3064 *hasResultType =
true;
3066 case SpvOpReservedWritePipe:
3068 *hasResultType =
true;
3070 case SpvOpReserveReadPipePackets:
3072 *hasResultType =
true;
3074 case SpvOpReserveWritePipePackets:
3076 *hasResultType =
true;
3078 case SpvOpCommitReadPipe:
3080 *hasResultType =
false;
3082 case SpvOpCommitWritePipe:
3084 *hasResultType =
false;
3086 case SpvOpIsValidReserveId:
3088 *hasResultType =
true;
3090 case SpvOpGetNumPipePackets:
3092 *hasResultType =
true;
3094 case SpvOpGetMaxPipePackets:
3096 *hasResultType =
true;
3098 case SpvOpGroupReserveReadPipePackets:
3100 *hasResultType =
true;
3102 case SpvOpGroupReserveWritePipePackets:
3104 *hasResultType =
true;
3106 case SpvOpGroupCommitReadPipe:
3108 *hasResultType =
false;
3110 case SpvOpGroupCommitWritePipe:
3112 *hasResultType =
false;
3114 case SpvOpEnqueueMarker:
3116 *hasResultType =
true;
3118 case SpvOpEnqueueKernel:
3120 *hasResultType =
true;
3122 case SpvOpGetKernelNDrangeSubGroupCount:
3124 *hasResultType =
true;
3126 case SpvOpGetKernelNDrangeMaxSubGroupSize:
3128 *hasResultType =
true;
3130 case SpvOpGetKernelWorkGroupSize:
3132 *hasResultType =
true;
3134 case SpvOpGetKernelPreferredWorkGroupSizeMultiple:
3136 *hasResultType =
true;
3138 case SpvOpRetainEvent:
3140 *hasResultType =
false;
3142 case SpvOpReleaseEvent:
3144 *hasResultType =
false;
3146 case SpvOpCreateUserEvent:
3148 *hasResultType =
true;
3150 case SpvOpIsValidEvent:
3152 *hasResultType =
true;
3154 case SpvOpSetUserEventStatus:
3156 *hasResultType =
false;
3158 case SpvOpCaptureEventProfilingInfo:
3160 *hasResultType =
false;
3162 case SpvOpGetDefaultQueue:
3164 *hasResultType =
true;
3166 case SpvOpBuildNDRange:
3168 *hasResultType =
true;
3170 case SpvOpImageSparseSampleImplicitLod:
3172 *hasResultType =
true;
3174 case SpvOpImageSparseSampleExplicitLod:
3176 *hasResultType =
true;
3178 case SpvOpImageSparseSampleDrefImplicitLod:
3180 *hasResultType =
true;
3182 case SpvOpImageSparseSampleDrefExplicitLod:
3184 *hasResultType =
true;
3186 case SpvOpImageSparseSampleProjImplicitLod:
3188 *hasResultType =
true;
3190 case SpvOpImageSparseSampleProjExplicitLod:
3192 *hasResultType =
true;
3194 case SpvOpImageSparseSampleProjDrefImplicitLod:
3196 *hasResultType =
true;
3198 case SpvOpImageSparseSampleProjDrefExplicitLod:
3200 *hasResultType =
true;
3202 case SpvOpImageSparseFetch:
3204 *hasResultType =
true;
3206 case SpvOpImageSparseGather:
3208 *hasResultType =
true;
3210 case SpvOpImageSparseDrefGather:
3212 *hasResultType =
true;
3214 case SpvOpImageSparseTexelsResident:
3216 *hasResultType =
true;
3220 *hasResultType =
false;
3222 case SpvOpAtomicFlagTestAndSet:
3224 *hasResultType =
true;
3226 case SpvOpAtomicFlagClear:
3228 *hasResultType =
false;
3230 case SpvOpImageSparseRead:
3232 *hasResultType =
true;
3236 *hasResultType =
true;
3238 case SpvOpTypePipeStorage:
3240 *hasResultType =
false;
3242 case SpvOpConstantPipeStorage:
3244 *hasResultType =
true;
3246 case SpvOpCreatePipeFromPipeStorage:
3248 *hasResultType =
true;
3250 case SpvOpGetKernelLocalSizeForSubgroupCount:
3252 *hasResultType =
true;
3254 case SpvOpGetKernelMaxNumSubgroups:
3256 *hasResultType =
true;
3258 case SpvOpTypeNamedBarrier:
3260 *hasResultType =
false;
3262 case SpvOpNamedBarrierInitialize:
3264 *hasResultType =
true;
3266 case SpvOpMemoryNamedBarrier:
3268 *hasResultType =
false;
3270 case SpvOpModuleProcessed:
3272 *hasResultType =
false;
3274 case SpvOpExecutionModeId:
3276 *hasResultType =
false;
3278 case SpvOpDecorateId:
3280 *hasResultType =
false;
3282 case SpvOpGroupNonUniformElect:
3284 *hasResultType =
true;
3286 case SpvOpGroupNonUniformAll:
3288 *hasResultType =
true;
3290 case SpvOpGroupNonUniformAny:
3292 *hasResultType =
true;
3294 case SpvOpGroupNonUniformAllEqual:
3296 *hasResultType =
true;
3298 case SpvOpGroupNonUniformBroadcast:
3300 *hasResultType =
true;
3302 case SpvOpGroupNonUniformBroadcastFirst:
3304 *hasResultType =
true;
3306 case SpvOpGroupNonUniformBallot:
3308 *hasResultType =
true;
3310 case SpvOpGroupNonUniformInverseBallot:
3312 *hasResultType =
true;
3314 case SpvOpGroupNonUniformBallotBitExtract:
3316 *hasResultType =
true;
3318 case SpvOpGroupNonUniformBallotBitCount:
3320 *hasResultType =
true;
3322 case SpvOpGroupNonUniformBallotFindLSB:
3324 *hasResultType =
true;
3326 case SpvOpGroupNonUniformBallotFindMSB:
3328 *hasResultType =
true;
3330 case SpvOpGroupNonUniformShuffle:
3332 *hasResultType =
true;
3334 case SpvOpGroupNonUniformShuffleXor:
3336 *hasResultType =
true;
3338 case SpvOpGroupNonUniformShuffleUp:
3340 *hasResultType =
true;
3342 case SpvOpGroupNonUniformShuffleDown:
3344 *hasResultType =
true;
3346 case SpvOpGroupNonUniformIAdd:
3348 *hasResultType =
true;
3350 case SpvOpGroupNonUniformFAdd:
3352 *hasResultType =
true;
3354 case SpvOpGroupNonUniformIMul:
3356 *hasResultType =
true;
3358 case SpvOpGroupNonUniformFMul:
3360 *hasResultType =
true;
3362 case SpvOpGroupNonUniformSMin:
3364 *hasResultType =
true;
3366 case SpvOpGroupNonUniformUMin:
3368 *hasResultType =
true;
3370 case SpvOpGroupNonUniformFMin:
3372 *hasResultType =
true;
3374 case SpvOpGroupNonUniformSMax:
3376 *hasResultType =
true;
3378 case SpvOpGroupNonUniformUMax:
3380 *hasResultType =
true;
3382 case SpvOpGroupNonUniformFMax:
3384 *hasResultType =
true;
3386 case SpvOpGroupNonUniformBitwiseAnd:
3388 *hasResultType =
true;
3390 case SpvOpGroupNonUniformBitwiseOr:
3392 *hasResultType =
true;
3394 case SpvOpGroupNonUniformBitwiseXor:
3396 *hasResultType =
true;
3398 case SpvOpGroupNonUniformLogicalAnd:
3400 *hasResultType =
true;
3402 case SpvOpGroupNonUniformLogicalOr:
3404 *hasResultType =
true;
3406 case SpvOpGroupNonUniformLogicalXor:
3408 *hasResultType =
true;
3410 case SpvOpGroupNonUniformQuadBroadcast:
3412 *hasResultType =
true;
3414 case SpvOpGroupNonUniformQuadSwap:
3416 *hasResultType =
true;
3418 case SpvOpCopyLogical:
3420 *hasResultType =
true;
3424 *hasResultType =
true;
3426 case SpvOpPtrNotEqual:
3428 *hasResultType =
true;
3432 *hasResultType =
true;
3434 case SpvOpColorAttachmentReadEXT:
3436 *hasResultType =
true;
3438 case SpvOpDepthAttachmentReadEXT:
3440 *hasResultType =
true;
3442 case SpvOpStencilAttachmentReadEXT:
3444 *hasResultType =
true;
3446 case SpvOpTerminateInvocation:
3448 *hasResultType =
false;
3450 case SpvOpSubgroupBallotKHR:
3452 *hasResultType =
true;
3454 case SpvOpSubgroupFirstInvocationKHR:
3456 *hasResultType =
true;
3458 case SpvOpSubgroupAllKHR:
3460 *hasResultType =
true;
3462 case SpvOpSubgroupAnyKHR:
3464 *hasResultType =
true;
3466 case SpvOpSubgroupAllEqualKHR:
3468 *hasResultType =
true;
3470 case SpvOpGroupNonUniformRotateKHR:
3472 *hasResultType =
true;
3474 case SpvOpSubgroupReadInvocationKHR:
3476 *hasResultType =
true;
3478 case SpvOpTraceRayKHR:
3480 *hasResultType =
false;
3482 case SpvOpExecuteCallableKHR:
3484 *hasResultType =
false;
3486 case SpvOpConvertUToAccelerationStructureKHR:
3488 *hasResultType =
true;
3490 case SpvOpIgnoreIntersectionKHR:
3492 *hasResultType =
false;
3494 case SpvOpTerminateRayKHR:
3496 *hasResultType =
false;
3500 *hasResultType =
true;
3504 *hasResultType =
true;
3508 *hasResultType =
true;
3510 case SpvOpSDotAccSat:
3512 *hasResultType =
true;
3514 case SpvOpUDotAccSat:
3516 *hasResultType =
true;
3518 case SpvOpSUDotAccSat:
3520 *hasResultType =
true;
3522 case SpvOpTypeCooperativeMatrixKHR:
3524 *hasResultType =
false;
3526 case SpvOpCooperativeMatrixLoadKHR:
3528 *hasResultType =
true;
3530 case SpvOpCooperativeMatrixStoreKHR:
3532 *hasResultType =
false;
3534 case SpvOpCooperativeMatrixMulAddKHR:
3536 *hasResultType =
true;
3538 case SpvOpCooperativeMatrixLengthKHR:
3540 *hasResultType =
true;
3542 case SpvOpTypeRayQueryKHR:
3544 *hasResultType =
false;
3546 case SpvOpRayQueryInitializeKHR:
3548 *hasResultType =
false;
3550 case SpvOpRayQueryTerminateKHR:
3552 *hasResultType =
false;
3554 case SpvOpRayQueryGenerateIntersectionKHR:
3556 *hasResultType =
false;
3558 case SpvOpRayQueryConfirmIntersectionKHR:
3560 *hasResultType =
false;
3562 case SpvOpRayQueryProceedKHR:
3564 *hasResultType =
true;
3566 case SpvOpRayQueryGetIntersectionTypeKHR:
3568 *hasResultType =
true;
3570 case SpvOpImageSampleWeightedQCOM:
3572 *hasResultType =
true;
3574 case SpvOpImageBoxFilterQCOM:
3576 *hasResultType =
true;
3578 case SpvOpImageBlockMatchSSDQCOM:
3580 *hasResultType =
true;
3582 case SpvOpImageBlockMatchSADQCOM:
3584 *hasResultType =
true;
3586 case SpvOpGroupIAddNonUniformAMD:
3588 *hasResultType =
true;
3590 case SpvOpGroupFAddNonUniformAMD:
3592 *hasResultType =
true;
3594 case SpvOpGroupFMinNonUniformAMD:
3596 *hasResultType =
true;
3598 case SpvOpGroupUMinNonUniformAMD:
3600 *hasResultType =
true;
3602 case SpvOpGroupSMinNonUniformAMD:
3604 *hasResultType =
true;
3606 case SpvOpGroupFMaxNonUniformAMD:
3608 *hasResultType =
true;
3610 case SpvOpGroupUMaxNonUniformAMD:
3612 *hasResultType =
true;
3614 case SpvOpGroupSMaxNonUniformAMD:
3616 *hasResultType =
true;
3618 case SpvOpFragmentMaskFetchAMD:
3620 *hasResultType =
true;
3622 case SpvOpFragmentFetchAMD:
3624 *hasResultType =
true;
3626 case SpvOpReadClockKHR:
3628 *hasResultType =
true;
3630 case SpvOpHitObjectRecordHitMotionNV:
3632 *hasResultType =
false;
3634 case SpvOpHitObjectRecordHitWithIndexMotionNV:
3636 *hasResultType =
false;
3638 case SpvOpHitObjectRecordMissMotionNV:
3640 *hasResultType =
false;
3642 case SpvOpHitObjectGetWorldToObjectNV:
3644 *hasResultType =
true;
3646 case SpvOpHitObjectGetObjectToWorldNV:
3648 *hasResultType =
true;
3650 case SpvOpHitObjectGetObjectRayDirectionNV:
3652 *hasResultType =
true;
3654 case SpvOpHitObjectGetObjectRayOriginNV:
3656 *hasResultType =
true;
3658 case SpvOpHitObjectTraceRayMotionNV:
3660 *hasResultType =
false;
3662 case SpvOpHitObjectGetShaderRecordBufferHandleNV:
3664 *hasResultType =
true;
3666 case SpvOpHitObjectGetShaderBindingTableRecordIndexNV:
3668 *hasResultType =
true;
3670 case SpvOpHitObjectRecordEmptyNV:
3672 *hasResultType =
false;
3674 case SpvOpHitObjectTraceRayNV:
3676 *hasResultType =
false;
3678 case SpvOpHitObjectRecordHitNV:
3680 *hasResultType =
false;
3682 case SpvOpHitObjectRecordHitWithIndexNV:
3684 *hasResultType =
false;
3686 case SpvOpHitObjectRecordMissNV:
3688 *hasResultType =
false;
3690 case SpvOpHitObjectExecuteShaderNV:
3692 *hasResultType =
false;
3694 case SpvOpHitObjectGetCurrentTimeNV:
3696 *hasResultType =
true;
3698 case SpvOpHitObjectGetAttributesNV:
3700 *hasResultType =
false;
3702 case SpvOpHitObjectGetHitKindNV:
3704 *hasResultType =
true;
3706 case SpvOpHitObjectGetPrimitiveIndexNV:
3708 *hasResultType =
true;
3710 case SpvOpHitObjectGetGeometryIndexNV:
3712 *hasResultType =
true;
3714 case SpvOpHitObjectGetInstanceIdNV:
3716 *hasResultType =
true;
3718 case SpvOpHitObjectGetInstanceCustomIndexNV:
3720 *hasResultType =
true;
3722 case SpvOpHitObjectGetWorldRayDirectionNV:
3724 *hasResultType =
true;
3726 case SpvOpHitObjectGetWorldRayOriginNV:
3728 *hasResultType =
true;
3730 case SpvOpHitObjectGetRayTMaxNV:
3732 *hasResultType =
true;
3734 case SpvOpHitObjectGetRayTMinNV:
3736 *hasResultType =
true;
3738 case SpvOpHitObjectIsEmptyNV:
3740 *hasResultType =
true;
3742 case SpvOpHitObjectIsHitNV:
3744 *hasResultType =
true;
3746 case SpvOpHitObjectIsMissNV:
3748 *hasResultType =
true;
3750 case SpvOpReorderThreadWithHitObjectNV:
3752 *hasResultType =
false;
3754 case SpvOpReorderThreadWithHintNV:
3756 *hasResultType =
false;
3758 case SpvOpTypeHitObjectNV:
3760 *hasResultType =
false;
3762 case SpvOpImageSampleFootprintNV:
3764 *hasResultType =
true;
3766 case SpvOpEmitMeshTasksEXT:
3768 *hasResultType =
false;
3770 case SpvOpSetMeshOutputsEXT:
3772 *hasResultType =
false;
3774 case SpvOpGroupNonUniformPartitionNV:
3776 *hasResultType =
true;
3778 case SpvOpWritePackedPrimitiveIndices4x8NV:
3780 *hasResultType =
false;
3782 case SpvOpReportIntersectionNV:
3784 *hasResultType =
true;
3786 case SpvOpIgnoreIntersectionNV:
3788 *hasResultType =
false;
3790 case SpvOpTerminateRayNV:
3792 *hasResultType =
false;
3796 *hasResultType =
false;
3798 case SpvOpTraceMotionNV:
3800 *hasResultType =
false;
3802 case SpvOpTraceRayMotionNV:
3804 *hasResultType =
false;
3806 case SpvOpRayQueryGetIntersectionTriangleVertexPositionsKHR:
3808 *hasResultType =
true;
3810 case SpvOpTypeAccelerationStructureNV:
3812 *hasResultType =
false;
3814 case SpvOpExecuteCallableNV:
3816 *hasResultType =
false;
3818 case SpvOpTypeCooperativeMatrixNV:
3820 *hasResultType =
false;
3822 case SpvOpCooperativeMatrixLoadNV:
3824 *hasResultType =
true;
3826 case SpvOpCooperativeMatrixStoreNV:
3828 *hasResultType =
false;
3830 case SpvOpCooperativeMatrixMulAddNV:
3832 *hasResultType =
true;
3834 case SpvOpCooperativeMatrixLengthNV:
3836 *hasResultType =
true;
3838 case SpvOpBeginInvocationInterlockEXT:
3840 *hasResultType =
false;
3842 case SpvOpEndInvocationInterlockEXT:
3844 *hasResultType =
false;
3846 case SpvOpDemoteToHelperInvocation:
3848 *hasResultType =
false;
3850 case SpvOpIsHelperInvocationEXT:
3852 *hasResultType =
true;
3854 case SpvOpConvertUToImageNV:
3856 *hasResultType =
true;
3858 case SpvOpConvertUToSamplerNV:
3860 *hasResultType =
true;
3862 case SpvOpConvertImageToUNV:
3864 *hasResultType =
true;
3866 case SpvOpConvertSamplerToUNV:
3868 *hasResultType =
true;
3870 case SpvOpConvertUToSampledImageNV:
3872 *hasResultType =
true;
3874 case SpvOpConvertSampledImageToUNV:
3876 *hasResultType =
true;
3878 case SpvOpSamplerImageAddressingModeNV:
3880 *hasResultType =
false;
3882 case SpvOpSubgroupShuffleINTEL:
3884 *hasResultType =
true;
3886 case SpvOpSubgroupShuffleDownINTEL:
3888 *hasResultType =
true;
3890 case SpvOpSubgroupShuffleUpINTEL:
3892 *hasResultType =
true;
3894 case SpvOpSubgroupShuffleXorINTEL:
3896 *hasResultType =
true;
3898 case SpvOpSubgroupBlockReadINTEL:
3900 *hasResultType =
true;
3902 case SpvOpSubgroupBlockWriteINTEL:
3904 *hasResultType =
false;
3906 case SpvOpSubgroupImageBlockReadINTEL:
3908 *hasResultType =
true;
3910 case SpvOpSubgroupImageBlockWriteINTEL:
3912 *hasResultType =
false;
3914 case SpvOpSubgroupImageMediaBlockReadINTEL:
3916 *hasResultType =
true;
3918 case SpvOpSubgroupImageMediaBlockWriteINTEL:
3920 *hasResultType =
false;
3922 case SpvOpUCountLeadingZerosINTEL:
3924 *hasResultType =
true;
3926 case SpvOpUCountTrailingZerosINTEL:
3928 *hasResultType =
true;
3930 case SpvOpAbsISubINTEL:
3932 *hasResultType =
true;
3934 case SpvOpAbsUSubINTEL:
3936 *hasResultType =
true;
3938 case SpvOpIAddSatINTEL:
3940 *hasResultType =
true;
3942 case SpvOpUAddSatINTEL:
3944 *hasResultType =
true;
3946 case SpvOpIAverageINTEL:
3948 *hasResultType =
true;
3950 case SpvOpUAverageINTEL:
3952 *hasResultType =
true;
3954 case SpvOpIAverageRoundedINTEL:
3956 *hasResultType =
true;
3958 case SpvOpUAverageRoundedINTEL:
3960 *hasResultType =
true;
3962 case SpvOpISubSatINTEL:
3964 *hasResultType =
true;
3966 case SpvOpUSubSatINTEL:
3968 *hasResultType =
true;
3970 case SpvOpIMul32x16INTEL:
3972 *hasResultType =
true;
3974 case SpvOpUMul32x16INTEL:
3976 *hasResultType =
true;
3978 case SpvOpConstantFunctionPointerINTEL:
3980 *hasResultType =
true;
3982 case SpvOpFunctionPointerCallINTEL:
3984 *hasResultType =
true;
3986 case SpvOpAsmTargetINTEL:
3988 *hasResultType =
true;
3992 *hasResultType =
true;
3994 case SpvOpAsmCallINTEL:
3996 *hasResultType =
true;
3998 case SpvOpAtomicFMinEXT:
4000 *hasResultType =
true;
4002 case SpvOpAtomicFMaxEXT:
4004 *hasResultType =
true;
4006 case SpvOpAssumeTrueKHR:
4008 *hasResultType =
false;
4010 case SpvOpExpectKHR:
4012 *hasResultType =
true;
4014 case SpvOpDecorateString:
4016 *hasResultType =
false;
4018 case SpvOpMemberDecorateString:
4020 *hasResultType =
false;
4022 case SpvOpVmeImageINTEL:
4024 *hasResultType =
true;
4026 case SpvOpTypeVmeImageINTEL:
4028 *hasResultType =
false;
4030 case SpvOpTypeAvcImePayloadINTEL:
4032 *hasResultType =
false;
4034 case SpvOpTypeAvcRefPayloadINTEL:
4036 *hasResultType =
false;
4038 case SpvOpTypeAvcSicPayloadINTEL:
4040 *hasResultType =
false;
4042 case SpvOpTypeAvcMcePayloadINTEL:
4044 *hasResultType =
false;
4046 case SpvOpTypeAvcMceResultINTEL:
4048 *hasResultType =
false;
4050 case SpvOpTypeAvcImeResultINTEL:
4052 *hasResultType =
false;
4054 case SpvOpTypeAvcImeResultSingleReferenceStreamoutINTEL:
4056 *hasResultType =
false;
4058 case SpvOpTypeAvcImeResultDualReferenceStreamoutINTEL:
4060 *hasResultType =
false;
4062 case SpvOpTypeAvcImeSingleReferenceStreaminINTEL:
4064 *hasResultType =
false;
4066 case SpvOpTypeAvcImeDualReferenceStreaminINTEL:
4068 *hasResultType =
false;
4070 case SpvOpTypeAvcRefResultINTEL:
4072 *hasResultType =
false;
4074 case SpvOpTypeAvcSicResultINTEL:
4076 *hasResultType =
false;
4078 case SpvOpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL:
4080 *hasResultType =
true;
4082 case SpvOpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL:
4084 *hasResultType =
true;
4086 case SpvOpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL:
4088 *hasResultType =
true;
4090 case SpvOpSubgroupAvcMceSetInterShapePenaltyINTEL:
4092 *hasResultType =
true;
4094 case SpvOpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL:
4096 *hasResultType =
true;
4098 case SpvOpSubgroupAvcMceSetInterDirectionPenaltyINTEL:
4100 *hasResultType =
true;
4102 case SpvOpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL:
4104 *hasResultType =
true;
4106 case SpvOpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL:
4108 *hasResultType =
true;
4110 case SpvOpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL:
4112 *hasResultType =
true;
4114 case SpvOpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL:
4116 *hasResultType =
true;
4118 case SpvOpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL:
4120 *hasResultType =
true;
4122 case SpvOpSubgroupAvcMceSetMotionVectorCostFunctionINTEL:
4124 *hasResultType =
true;
4126 case SpvOpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL:
4128 *hasResultType =
true;
4130 case SpvOpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL:
4132 *hasResultType =
true;
4134 case SpvOpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL:
4136 *hasResultType =
true;
4138 case SpvOpSubgroupAvcMceSetAcOnlyHaarINTEL:
4140 *hasResultType =
true;
4142 case SpvOpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL:
4144 *hasResultType =
true;
4146 case SpvOpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL:
4148 *hasResultType =
true;
4150 case SpvOpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL:
4152 *hasResultType =
true;
4154 case SpvOpSubgroupAvcMceConvertToImePayloadINTEL:
4156 *hasResultType =
true;
4158 case SpvOpSubgroupAvcMceConvertToImeResultINTEL:
4160 *hasResultType =
true;
4162 case SpvOpSubgroupAvcMceConvertToRefPayloadINTEL:
4164 *hasResultType =
true;
4166 case SpvOpSubgroupAvcMceConvertToRefResultINTEL:
4168 *hasResultType =
true;
4170 case SpvOpSubgroupAvcMceConvertToSicPayloadINTEL:
4172 *hasResultType =
true;
4174 case SpvOpSubgroupAvcMceConvertToSicResultINTEL:
4176 *hasResultType =
true;
4178 case SpvOpSubgroupAvcMceGetMotionVectorsINTEL:
4180 *hasResultType =
true;
4182 case SpvOpSubgroupAvcMceGetInterDistortionsINTEL:
4184 *hasResultType =
true;
4186 case SpvOpSubgroupAvcMceGetBestInterDistortionsINTEL:
4188 *hasResultType =
true;
4190 case SpvOpSubgroupAvcMceGetInterMajorShapeINTEL:
4192 *hasResultType =
true;
4194 case SpvOpSubgroupAvcMceGetInterMinorShapeINTEL:
4196 *hasResultType =
true;
4198 case SpvOpSubgroupAvcMceGetInterDirectionsINTEL:
4200 *hasResultType =
true;
4202 case SpvOpSubgroupAvcMceGetInterMotionVectorCountINTEL:
4204 *hasResultType =
true;
4206 case SpvOpSubgroupAvcMceGetInterReferenceIdsINTEL:
4208 *hasResultType =
true;
4210 case SpvOpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL:
4212 *hasResultType =
true;
4214 case SpvOpSubgroupAvcImeInitializeINTEL:
4216 *hasResultType =
true;
4218 case SpvOpSubgroupAvcImeSetSingleReferenceINTEL:
4220 *hasResultType =
true;
4222 case SpvOpSubgroupAvcImeSetDualReferenceINTEL:
4224 *hasResultType =
true;
4226 case SpvOpSubgroupAvcImeRefWindowSizeINTEL:
4228 *hasResultType =
true;
4230 case SpvOpSubgroupAvcImeAdjustRefOffsetINTEL:
4232 *hasResultType =
true;
4234 case SpvOpSubgroupAvcImeConvertToMcePayloadINTEL:
4236 *hasResultType =
true;
4238 case SpvOpSubgroupAvcImeSetMaxMotionVectorCountINTEL:
4240 *hasResultType =
true;
4242 case SpvOpSubgroupAvcImeSetUnidirectionalMixDisableINTEL:
4244 *hasResultType =
true;
4246 case SpvOpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL:
4248 *hasResultType =
true;
4250 case SpvOpSubgroupAvcImeSetWeightedSadINTEL:
4252 *hasResultType =
true;
4254 case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceINTEL:
4256 *hasResultType =
true;
4258 case SpvOpSubgroupAvcImeEvaluateWithDualReferenceINTEL:
4260 *hasResultType =
true;
4262 case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL:
4264 *hasResultType =
true;
4266 case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL:
4268 *hasResultType =
true;
4270 case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL:
4272 *hasResultType =
true;
4274 case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL:
4276 *hasResultType =
true;
4278 case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL:
4280 *hasResultType =
true;
4282 case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL:
4284 *hasResultType =
true;
4286 case SpvOpSubgroupAvcImeConvertToMceResultINTEL:
4288 *hasResultType =
true;
4290 case SpvOpSubgroupAvcImeGetSingleReferenceStreaminINTEL:
4292 *hasResultType =
true;
4294 case SpvOpSubgroupAvcImeGetDualReferenceStreaminINTEL:
4296 *hasResultType =
true;
4298 case SpvOpSubgroupAvcImeStripSingleReferenceStreamoutINTEL:
4300 *hasResultType =
true;
4302 case SpvOpSubgroupAvcImeStripDualReferenceStreamoutINTEL:
4304 *hasResultType =
true;
4306 case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL:
4308 *hasResultType =
true;
4310 case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL:
4312 *hasResultType =
true;
4314 case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL:
4316 *hasResultType =
true;
4318 case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL:
4320 *hasResultType =
true;
4322 case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL:
4324 *hasResultType =
true;
4326 case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL:
4328 *hasResultType =
true;
4330 case SpvOpSubgroupAvcImeGetBorderReachedINTEL:
4332 *hasResultType =
true;
4334 case SpvOpSubgroupAvcImeGetTruncatedSearchIndicationINTEL:
4336 *hasResultType =
true;
4338 case SpvOpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL:
4340 *hasResultType =
true;
4342 case SpvOpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL:
4344 *hasResultType =
true;
4346 case SpvOpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL:
4348 *hasResultType =
true;
4350 case SpvOpSubgroupAvcFmeInitializeINTEL:
4352 *hasResultType =
true;
4354 case SpvOpSubgroupAvcBmeInitializeINTEL:
4356 *hasResultType =
true;
4358 case SpvOpSubgroupAvcRefConvertToMcePayloadINTEL:
4360 *hasResultType =
true;
4362 case SpvOpSubgroupAvcRefSetBidirectionalMixDisableINTEL:
4364 *hasResultType =
true;
4366 case SpvOpSubgroupAvcRefSetBilinearFilterEnableINTEL:
4368 *hasResultType =
true;
4370 case SpvOpSubgroupAvcRefEvaluateWithSingleReferenceINTEL:
4372 *hasResultType =
true;
4374 case SpvOpSubgroupAvcRefEvaluateWithDualReferenceINTEL:
4376 *hasResultType =
true;
4378 case SpvOpSubgroupAvcRefEvaluateWithMultiReferenceINTEL:
4380 *hasResultType =
true;
4382 case SpvOpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL:
4384 *hasResultType =
true;
4386 case SpvOpSubgroupAvcRefConvertToMceResultINTEL:
4388 *hasResultType =
true;
4390 case SpvOpSubgroupAvcSicInitializeINTEL:
4392 *hasResultType =
true;
4394 case SpvOpSubgroupAvcSicConfigureSkcINTEL:
4396 *hasResultType =
true;
4398 case SpvOpSubgroupAvcSicConfigureIpeLumaINTEL:
4400 *hasResultType =
true;
4402 case SpvOpSubgroupAvcSicConfigureIpeLumaChromaINTEL:
4404 *hasResultType =
true;
4406 case SpvOpSubgroupAvcSicGetMotionVectorMaskINTEL:
4408 *hasResultType =
true;
4410 case SpvOpSubgroupAvcSicConvertToMcePayloadINTEL:
4412 *hasResultType =
true;
4414 case SpvOpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL:
4416 *hasResultType =
true;
4418 case SpvOpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL:
4420 *hasResultType =
true;
4422 case SpvOpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL:
4424 *hasResultType =
true;
4426 case SpvOpSubgroupAvcSicSetBilinearFilterEnableINTEL:
4428 *hasResultType =
true;
4430 case SpvOpSubgroupAvcSicSetSkcForwardTransformEnableINTEL:
4432 *hasResultType =
true;
4434 case SpvOpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL:
4436 *hasResultType =
true;
4438 case SpvOpSubgroupAvcSicEvaluateIpeINTEL:
4440 *hasResultType =
true;
4442 case SpvOpSubgroupAvcSicEvaluateWithSingleReferenceINTEL:
4444 *hasResultType =
true;
4446 case SpvOpSubgroupAvcSicEvaluateWithDualReferenceINTEL:
4448 *hasResultType =
true;
4450 case SpvOpSubgroupAvcSicEvaluateWithMultiReferenceINTEL:
4452 *hasResultType =
true;
4454 case SpvOpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL:
4456 *hasResultType =
true;
4458 case SpvOpSubgroupAvcSicConvertToMceResultINTEL:
4460 *hasResultType =
true;
4462 case SpvOpSubgroupAvcSicGetIpeLumaShapeINTEL:
4464 *hasResultType =
true;
4466 case SpvOpSubgroupAvcSicGetBestIpeLumaDistortionINTEL:
4468 *hasResultType =
true;
4470 case SpvOpSubgroupAvcSicGetBestIpeChromaDistortionINTEL:
4472 *hasResultType =
true;
4474 case SpvOpSubgroupAvcSicGetPackedIpeLumaModesINTEL:
4476 *hasResultType =
true;
4478 case SpvOpSubgroupAvcSicGetIpeChromaModeINTEL:
4480 *hasResultType =
true;
4482 case SpvOpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL:
4484 *hasResultType =
true;
4486 case SpvOpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL:
4488 *hasResultType =
true;
4490 case SpvOpSubgroupAvcSicGetInterRawSadsINTEL:
4492 *hasResultType =
true;
4494 case SpvOpVariableLengthArrayINTEL:
4496 *hasResultType =
true;
4498 case SpvOpSaveMemoryINTEL:
4500 *hasResultType =
true;
4502 case SpvOpRestoreMemoryINTEL:
4504 *hasResultType =
false;
4506 case SpvOpArbitraryFloatSinCosPiINTEL:
4508 *hasResultType =
true;
4510 case SpvOpArbitraryFloatCastINTEL:
4512 *hasResultType =
true;
4514 case SpvOpArbitraryFloatCastFromIntINTEL:
4516 *hasResultType =
true;
4518 case SpvOpArbitraryFloatCastToIntINTEL:
4520 *hasResultType =
true;
4522 case SpvOpArbitraryFloatAddINTEL:
4524 *hasResultType =
true;
4526 case SpvOpArbitraryFloatSubINTEL:
4528 *hasResultType =
true;
4530 case SpvOpArbitraryFloatMulINTEL:
4532 *hasResultType =
true;
4534 case SpvOpArbitraryFloatDivINTEL:
4536 *hasResultType =
true;
4538 case SpvOpArbitraryFloatGTINTEL:
4540 *hasResultType =
true;
4542 case SpvOpArbitraryFloatGEINTEL:
4544 *hasResultType =
true;
4546 case SpvOpArbitraryFloatLTINTEL:
4548 *hasResultType =
true;
4550 case SpvOpArbitraryFloatLEINTEL:
4552 *hasResultType =
true;
4554 case SpvOpArbitraryFloatEQINTEL:
4556 *hasResultType =
true;
4558 case SpvOpArbitraryFloatRecipINTEL:
4560 *hasResultType =
true;
4562 case SpvOpArbitraryFloatRSqrtINTEL:
4564 *hasResultType =
true;
4566 case SpvOpArbitraryFloatCbrtINTEL:
4568 *hasResultType =
true;
4570 case SpvOpArbitraryFloatHypotINTEL:
4572 *hasResultType =
true;
4574 case SpvOpArbitraryFloatSqrtINTEL:
4576 *hasResultType =
true;
4578 case SpvOpArbitraryFloatLogINTEL:
4580 *hasResultType =
true;
4582 case SpvOpArbitraryFloatLog2INTEL:
4584 *hasResultType =
true;
4586 case SpvOpArbitraryFloatLog10INTEL:
4588 *hasResultType =
true;
4590 case SpvOpArbitraryFloatLog1pINTEL:
4592 *hasResultType =
true;
4594 case SpvOpArbitraryFloatExpINTEL:
4596 *hasResultType =
true;
4598 case SpvOpArbitraryFloatExp2INTEL:
4600 *hasResultType =
true;
4602 case SpvOpArbitraryFloatExp10INTEL:
4604 *hasResultType =
true;
4606 case SpvOpArbitraryFloatExpm1INTEL:
4608 *hasResultType =
true;
4610 case SpvOpArbitraryFloatSinINTEL:
4612 *hasResultType =
true;
4614 case SpvOpArbitraryFloatCosINTEL:
4616 *hasResultType =
true;
4618 case SpvOpArbitraryFloatSinCosINTEL:
4620 *hasResultType =
true;
4622 case SpvOpArbitraryFloatSinPiINTEL:
4624 *hasResultType =
true;
4626 case SpvOpArbitraryFloatCosPiINTEL:
4628 *hasResultType =
true;
4630 case SpvOpArbitraryFloatASinINTEL:
4632 *hasResultType =
true;
4634 case SpvOpArbitraryFloatASinPiINTEL:
4636 *hasResultType =
true;
4638 case SpvOpArbitraryFloatACosINTEL:
4640 *hasResultType =
true;
4642 case SpvOpArbitraryFloatACosPiINTEL:
4644 *hasResultType =
true;
4646 case SpvOpArbitraryFloatATanINTEL:
4648 *hasResultType =
true;
4650 case SpvOpArbitraryFloatATanPiINTEL:
4652 *hasResultType =
true;
4654 case SpvOpArbitraryFloatATan2INTEL:
4656 *hasResultType =
true;
4658 case SpvOpArbitraryFloatPowINTEL:
4660 *hasResultType =
true;
4662 case SpvOpArbitraryFloatPowRINTEL:
4664 *hasResultType =
true;
4666 case SpvOpArbitraryFloatPowNINTEL:
4668 *hasResultType =
true;
4670 case SpvOpLoopControlINTEL:
4672 *hasResultType =
false;
4674 case SpvOpAliasDomainDeclINTEL:
4676 *hasResultType =
false;
4678 case SpvOpAliasScopeDeclINTEL:
4680 *hasResultType =
false;
4682 case SpvOpAliasScopeListDeclINTEL:
4684 *hasResultType =
false;
4686 case SpvOpFixedSqrtINTEL:
4688 *hasResultType =
true;
4690 case SpvOpFixedRecipINTEL:
4692 *hasResultType =
true;
4694 case SpvOpFixedRsqrtINTEL:
4696 *hasResultType =
true;
4698 case SpvOpFixedSinINTEL:
4700 *hasResultType =
true;
4702 case SpvOpFixedCosINTEL:
4704 *hasResultType =
true;
4706 case SpvOpFixedSinCosINTEL:
4708 *hasResultType =
true;
4710 case SpvOpFixedSinPiINTEL:
4712 *hasResultType =
true;
4714 case SpvOpFixedCosPiINTEL:
4716 *hasResultType =
true;
4718 case SpvOpFixedSinCosPiINTEL:
4720 *hasResultType =
true;
4722 case SpvOpFixedLogINTEL:
4724 *hasResultType =
true;
4726 case SpvOpFixedExpINTEL:
4728 *hasResultType =
true;
4730 case SpvOpPtrCastToCrossWorkgroupINTEL:
4732 *hasResultType =
true;
4734 case SpvOpCrossWorkgroupCastToPtrINTEL:
4736 *hasResultType =
true;
4738 case SpvOpReadPipeBlockingINTEL:
4740 *hasResultType =
true;
4742 case SpvOpWritePipeBlockingINTEL:
4744 *hasResultType =
true;
4746 case SpvOpFPGARegINTEL:
4748 *hasResultType =
true;
4750 case SpvOpRayQueryGetRayTMinKHR:
4752 *hasResultType =
true;
4754 case SpvOpRayQueryGetRayFlagsKHR:
4756 *hasResultType =
true;
4758 case SpvOpRayQueryGetIntersectionTKHR:
4760 *hasResultType =
true;
4762 case SpvOpRayQueryGetIntersectionInstanceCustomIndexKHR:
4764 *hasResultType =
true;
4766 case SpvOpRayQueryGetIntersectionInstanceIdKHR:
4768 *hasResultType =
true;
4770 case SpvOpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR:
4772 *hasResultType =
true;
4774 case SpvOpRayQueryGetIntersectionGeometryIndexKHR:
4776 *hasResultType =
true;
4778 case SpvOpRayQueryGetIntersectionPrimitiveIndexKHR:
4780 *hasResultType =
true;
4782 case SpvOpRayQueryGetIntersectionBarycentricsKHR:
4784 *hasResultType =
true;
4786 case SpvOpRayQueryGetIntersectionFrontFaceKHR:
4788 *hasResultType =
true;
4790 case SpvOpRayQueryGetIntersectionCandidateAABBOpaqueKHR:
4792 *hasResultType =
true;
4794 case SpvOpRayQueryGetIntersectionObjectRayDirectionKHR:
4796 *hasResultType =
true;
4798 case SpvOpRayQueryGetIntersectionObjectRayOriginKHR:
4800 *hasResultType =
true;
4802 case SpvOpRayQueryGetWorldRayDirectionKHR:
4804 *hasResultType =
true;
4806 case SpvOpRayQueryGetWorldRayOriginKHR:
4808 *hasResultType =
true;
4810 case SpvOpRayQueryGetIntersectionObjectToWorldKHR:
4812 *hasResultType =
true;
4814 case SpvOpRayQueryGetIntersectionWorldToObjectKHR:
4816 *hasResultType =
true;
4818 case SpvOpAtomicFAddEXT:
4820 *hasResultType =
true;
4822 case SpvOpTypeBufferSurfaceINTEL:
4824 *hasResultType =
false;
4826 case SpvOpTypeStructContinuedINTEL:
4828 *hasResultType =
false;
4830 case SpvOpConstantCompositeContinuedINTEL:
4832 *hasResultType =
false;
4834 case SpvOpSpecConstantCompositeContinuedINTEL:
4836 *hasResultType =
false;
4838 case SpvOpConvertFToBF16INTEL:
4840 *hasResultType =
true;
4842 case SpvOpConvertBF16ToFINTEL:
4844 *hasResultType =
true;
4846 case SpvOpControlBarrierArriveINTEL:
4848 *hasResultType =
false;
4850 case SpvOpControlBarrierWaitINTEL:
4852 *hasResultType =
false;
4854 case SpvOpGroupIMulKHR:
4856 *hasResultType =
true;
4858 case SpvOpGroupFMulKHR:
4860 *hasResultType =
true;
4862 case SpvOpGroupBitwiseAndKHR:
4864 *hasResultType =
true;
4866 case SpvOpGroupBitwiseOrKHR:
4868 *hasResultType =
true;
4870 case SpvOpGroupBitwiseXorKHR:
4872 *hasResultType =
true;
4874 case SpvOpGroupLogicalAndKHR:
4876 *hasResultType =
true;
4878 case SpvOpGroupLogicalOrKHR:
4880 *hasResultType =
true;
4882 case SpvOpGroupLogicalXorKHR:
4884 *hasResultType =
true;