1/*
2** Copyright (c) 2014-2020 The Khronos Group Inc.
3**
4** Permission is hereby granted, free of charge, to any person obtaining a copy
5** of this software and/or associated documentation files (the "Materials"),
6** to deal in the Materials without restriction, including without limitation
7** the rights to use, copy, modify, merge, publish, distribute, sublicense,
8** and/or sell copies of the Materials, and to permit persons to whom the
9** Materials are furnished to do so, subject to the following conditions:
10**
11** The above copyright notice and this permission notice shall be included in
12** all copies or substantial portions of the Materials.
13**
14** MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS
15** STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND
16** HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/
17**
18** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
19** OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
21** THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
23** FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS
24** IN THE MATERIALS.
25*/
26
27/*
28** This header is automatically generated by the same tool that creates
29** the Binary Section of the SPIR-V specification.
30*/
31
32/*
33** Enumeration tokens for SPIR-V, in various styles:
34** C, C++, C++11, JSON, Lua, Python, C#, D, Beef
35**
36** - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
37** - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
38** - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL
39** - Lua will use tables, e.g.: spv.SourceLanguage.GLSL
40** - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']
41** - C# will use enum classes in the Specification class located in the "Spv" namespace,
42** e.g.: Spv.Specification.SourceLanguage.GLSL
43** - D will have tokens under the "spv" module, e.g: spv.SourceLanguage.GLSL
44** - Beef will use enum classes in the Specification class located in the "Spv" namespace,
45** e.g.: Spv.Specification.SourceLanguage.GLSL
46**
47** Some tokens act like mask values, which can be OR'd together,
48** while others are mutually exclusive. The mask-like ones have
49** "Mask" in their name, and a parallel enum that has the shift
50** amount (1 << x) for each corresponding enumerant.
51*/
52
53#ifndef spirv_H
54#define spirv_H
55
56typedef unsigned int SpvId;
57
58#define SPV_VERSION 0x10600
59#define SPV_REVISION 1
60
61static const unsigned int SpvMagicNumber = 0x07230203;
62static const unsigned int SpvVersion = 0x00010600;
63static const unsigned int SpvRevision = 1;
64static const unsigned int SpvOpCodeMask = 0xffff;
65static const unsigned int SpvWordCountShift = 16;
66
67typedef enum SpvSourceLanguage_ {
68 SpvSourceLanguageUnknown = 0,
69 SpvSourceLanguageESSL = 1,
70 SpvSourceLanguageGLSL = 2,
71 SpvSourceLanguageOpenCL_C = 3,
72 SpvSourceLanguageOpenCL_CPP = 4,
73 SpvSourceLanguageHLSL = 5,
74 SpvSourceLanguageCPP_for_OpenCL = 6,
75 SpvSourceLanguageSYCL = 7,
76 SpvSourceLanguageMax = 0x7fffffff,
77} SpvSourceLanguage;
78
79typedef enum SpvExecutionModel_ {
80 SpvExecutionModelVertex = 0,
81 SpvExecutionModelTessellationControl = 1,
82 SpvExecutionModelTessellationEvaluation = 2,
83 SpvExecutionModelGeometry = 3,
84 SpvExecutionModelFragment = 4,
85 SpvExecutionModelGLCompute = 5,
86 SpvExecutionModelKernel = 6,
87 SpvExecutionModelTaskNV = 5267,
88 SpvExecutionModelMeshNV = 5268,
89 SpvExecutionModelRayGenerationKHR = 5313,
90 SpvExecutionModelRayGenerationNV = 5313,
91 SpvExecutionModelIntersectionKHR = 5314,
92 SpvExecutionModelIntersectionNV = 5314,
93 SpvExecutionModelAnyHitKHR = 5315,
94 SpvExecutionModelAnyHitNV = 5315,
95 SpvExecutionModelClosestHitKHR = 5316,
96 SpvExecutionModelClosestHitNV = 5316,
97 SpvExecutionModelMissKHR = 5317,
98 SpvExecutionModelMissNV = 5317,
99 SpvExecutionModelCallableKHR = 5318,
100 SpvExecutionModelCallableNV = 5318,
101 SpvExecutionModelTaskEXT = 5364,
102 SpvExecutionModelMeshEXT = 5365,
103 SpvExecutionModelMax = 0x7fffffff,
104} SpvExecutionModel;
105
106typedef enum SpvAddressingModel_ {
107 SpvAddressingModelLogical = 0,
108 SpvAddressingModelPhysical32 = 1,
109 SpvAddressingModelPhysical64 = 2,
110 SpvAddressingModelPhysicalStorageBuffer64 = 5348,
111 SpvAddressingModelPhysicalStorageBuffer64EXT = 5348,
112 SpvAddressingModelMax = 0x7fffffff,
113} SpvAddressingModel;
114
115typedef enum SpvMemoryModel_ {
116 SpvMemoryModelSimple = 0,
117 SpvMemoryModelGLSL450 = 1,
118 SpvMemoryModelOpenCL = 2,
119 SpvMemoryModelVulkan = 3,
120 SpvMemoryModelVulkanKHR = 3,
121 SpvMemoryModelMax = 0x7fffffff,
122} SpvMemoryModel;
123
124typedef enum SpvExecutionMode_ {
125 SpvExecutionModeInvocations = 0,
126 SpvExecutionModeSpacingEqual = 1,
127 SpvExecutionModeSpacingFractionalEven = 2,
128 SpvExecutionModeSpacingFractionalOdd = 3,
129 SpvExecutionModeVertexOrderCw = 4,
130 SpvExecutionModeVertexOrderCcw = 5,
131 SpvExecutionModePixelCenterInteger = 6,
132 SpvExecutionModeOriginUpperLeft = 7,
133 SpvExecutionModeOriginLowerLeft = 8,
134 SpvExecutionModeEarlyFragmentTests = 9,
135 SpvExecutionModePointMode = 10,
136 SpvExecutionModeXfb = 11,
137 SpvExecutionModeDepthReplacing = 12,
138 SpvExecutionModeDepthGreater = 14,
139 SpvExecutionModeDepthLess = 15,
140 SpvExecutionModeDepthUnchanged = 16,
141 SpvExecutionModeLocalSize = 17,
142 SpvExecutionModeLocalSizeHint = 18,
143 SpvExecutionModeInputPoints = 19,
144 SpvExecutionModeInputLines = 20,
145 SpvExecutionModeInputLinesAdjacency = 21,
146 SpvExecutionModeTriangles = 22,
147 SpvExecutionModeInputTrianglesAdjacency = 23,
148 SpvExecutionModeQuads = 24,
149 SpvExecutionModeIsolines = 25,
150 SpvExecutionModeOutputVertices = 26,
151 SpvExecutionModeOutputPoints = 27,
152 SpvExecutionModeOutputLineStrip = 28,
153 SpvExecutionModeOutputTriangleStrip = 29,
154 SpvExecutionModeVecTypeHint = 30,
155 SpvExecutionModeContractionOff = 31,
156 SpvExecutionModeInitializer = 33,
157 SpvExecutionModeFinalizer = 34,
158 SpvExecutionModeSubgroupSize = 35,
159 SpvExecutionModeSubgroupsPerWorkgroup = 36,
160 SpvExecutionModeSubgroupsPerWorkgroupId = 37,
161 SpvExecutionModeLocalSizeId = 38,
162 SpvExecutionModeLocalSizeHintId = 39,
163 SpvExecutionModeSubgroupUniformControlFlowKHR = 4421,
164 SpvExecutionModePostDepthCoverage = 4446,
165 SpvExecutionModeDenormPreserve = 4459,
166 SpvExecutionModeDenormFlushToZero = 4460,
167 SpvExecutionModeSignedZeroInfNanPreserve = 4461,
168 SpvExecutionModeRoundingModeRTE = 4462,
169 SpvExecutionModeRoundingModeRTZ = 4463,
170 SpvExecutionModeEarlyAndLateFragmentTestsAMD = 5017,
171 SpvExecutionModeStencilRefReplacingEXT = 5027,
172 SpvExecutionModeStencilRefUnchangedFrontAMD = 5079,
173 SpvExecutionModeStencilRefGreaterFrontAMD = 5080,
174 SpvExecutionModeStencilRefLessFrontAMD = 5081,
175 SpvExecutionModeStencilRefUnchangedBackAMD = 5082,
176 SpvExecutionModeStencilRefGreaterBackAMD = 5083,
177 SpvExecutionModeStencilRefLessBackAMD = 5084,
178 SpvExecutionModeOutputLinesEXT = 5269,
179 SpvExecutionModeOutputLinesNV = 5269,
180 SpvExecutionModeOutputPrimitivesEXT = 5270,
181 SpvExecutionModeOutputPrimitivesNV = 5270,
182 SpvExecutionModeDerivativeGroupQuadsNV = 5289,
183 SpvExecutionModeDerivativeGroupLinearNV = 5290,
184 SpvExecutionModeOutputTrianglesEXT = 5298,
185 SpvExecutionModeOutputTrianglesNV = 5298,
186 SpvExecutionModePixelInterlockOrderedEXT = 5366,
187 SpvExecutionModePixelInterlockUnorderedEXT = 5367,
188 SpvExecutionModeSampleInterlockOrderedEXT = 5368,
189 SpvExecutionModeSampleInterlockUnorderedEXT = 5369,
190 SpvExecutionModeShadingRateInterlockOrderedEXT = 5370,
191 SpvExecutionModeShadingRateInterlockUnorderedEXT = 5371,
192 SpvExecutionModeSharedLocalMemorySizeINTEL = 5618,
193 SpvExecutionModeRoundingModeRTPINTEL = 5620,
194 SpvExecutionModeRoundingModeRTNINTEL = 5621,
195 SpvExecutionModeFloatingPointModeALTINTEL = 5622,
196 SpvExecutionModeFloatingPointModeIEEEINTEL = 5623,
197 SpvExecutionModeMaxWorkgroupSizeINTEL = 5893,
198 SpvExecutionModeMaxWorkDimINTEL = 5894,
199 SpvExecutionModeNoGlobalOffsetINTEL = 5895,
200 SpvExecutionModeNumSIMDWorkitemsINTEL = 5896,
201 SpvExecutionModeSchedulerTargetFmaxMhzINTEL = 5903,
202 SpvExecutionModeNamedBarrierCountINTEL = 6417,
203 SpvExecutionModeMax = 0x7fffffff,
204} SpvExecutionMode;
205
206typedef enum SpvStorageClass_ {
207 SpvStorageClassUniformConstant = 0,
208 SpvStorageClassInput = 1,
209 SpvStorageClassUniform = 2,
210 SpvStorageClassOutput = 3,
211 SpvStorageClassWorkgroup = 4,
212 SpvStorageClassCrossWorkgroup = 5,
213 SpvStorageClassPrivate = 6,
214 SpvStorageClassFunction = 7,
215 SpvStorageClassGeneric = 8,
216 SpvStorageClassPushConstant = 9,
217 SpvStorageClassAtomicCounter = 10,
218 SpvStorageClassImage = 11,
219 SpvStorageClassStorageBuffer = 12,
220 SpvStorageClassCallableDataKHR = 5328,
221 SpvStorageClassCallableDataNV = 5328,
222 SpvStorageClassIncomingCallableDataKHR = 5329,
223 SpvStorageClassIncomingCallableDataNV = 5329,
224 SpvStorageClassRayPayloadKHR = 5338,
225 SpvStorageClassRayPayloadNV = 5338,
226 SpvStorageClassHitAttributeKHR = 5339,
227 SpvStorageClassHitAttributeNV = 5339,
228 SpvStorageClassIncomingRayPayloadKHR = 5342,
229 SpvStorageClassIncomingRayPayloadNV = 5342,
230 SpvStorageClassShaderRecordBufferKHR = 5343,
231 SpvStorageClassShaderRecordBufferNV = 5343,
232 SpvStorageClassPhysicalStorageBuffer = 5349,
233 SpvStorageClassPhysicalStorageBufferEXT = 5349,
234 SpvStorageClassTaskPayloadWorkgroupEXT = 5402,
235 SpvStorageClassCodeSectionINTEL = 5605,
236 SpvStorageClassDeviceOnlyINTEL = 5936,
237 SpvStorageClassHostOnlyINTEL = 5937,
238 SpvStorageClassMax = 0x7fffffff,
239} SpvStorageClass;
240
241typedef enum SpvDim_ {
242 SpvDim1D = 0,
243 SpvDim2D = 1,
244 SpvDim3D = 2,
245 SpvDimCube = 3,
246 SpvDimRect = 4,
247 SpvDimBuffer = 5,
248 SpvDimSubpassData = 6,
249 SpvDimMax = 0x7fffffff,
250} SpvDim;
251
252typedef enum SpvSamplerAddressingMode_ {
253 SpvSamplerAddressingModeNone = 0,
254 SpvSamplerAddressingModeClampToEdge = 1,
255 SpvSamplerAddressingModeClamp = 2,
256 SpvSamplerAddressingModeRepeat = 3,
257 SpvSamplerAddressingModeRepeatMirrored = 4,
258 SpvSamplerAddressingModeMax = 0x7fffffff,
259} SpvSamplerAddressingMode;
260
261typedef enum SpvSamplerFilterMode_ {
262 SpvSamplerFilterModeNearest = 0,
263 SpvSamplerFilterModeLinear = 1,
264 SpvSamplerFilterModeMax = 0x7fffffff,
265} SpvSamplerFilterMode;
266
267typedef enum SpvImageFormat_ {
268 SpvImageFormatUnknown = 0,
269 SpvImageFormatRgba32f = 1,
270 SpvImageFormatRgba16f = 2,
271 SpvImageFormatR32f = 3,
272 SpvImageFormatRgba8 = 4,
273 SpvImageFormatRgba8Snorm = 5,
274 SpvImageFormatRg32f = 6,
275 SpvImageFormatRg16f = 7,
276 SpvImageFormatR11fG11fB10f = 8,
277 SpvImageFormatR16f = 9,
278 SpvImageFormatRgba16 = 10,
279 SpvImageFormatRgb10A2 = 11,
280 SpvImageFormatRg16 = 12,
281 SpvImageFormatRg8 = 13,
282 SpvImageFormatR16 = 14,
283 SpvImageFormatR8 = 15,
284 SpvImageFormatRgba16Snorm = 16,
285 SpvImageFormatRg16Snorm = 17,
286 SpvImageFormatRg8Snorm = 18,
287 SpvImageFormatR16Snorm = 19,
288 SpvImageFormatR8Snorm = 20,
289 SpvImageFormatRgba32i = 21,
290 SpvImageFormatRgba16i = 22,
291 SpvImageFormatRgba8i = 23,
292 SpvImageFormatR32i = 24,
293 SpvImageFormatRg32i = 25,
294 SpvImageFormatRg16i = 26,
295 SpvImageFormatRg8i = 27,
296 SpvImageFormatR16i = 28,
297 SpvImageFormatR8i = 29,
298 SpvImageFormatRgba32ui = 30,
299 SpvImageFormatRgba16ui = 31,
300 SpvImageFormatRgba8ui = 32,
301 SpvImageFormatR32ui = 33,
302 SpvImageFormatRgb10a2ui = 34,
303 SpvImageFormatRg32ui = 35,
304 SpvImageFormatRg16ui = 36,
305 SpvImageFormatRg8ui = 37,
306 SpvImageFormatR16ui = 38,
307 SpvImageFormatR8ui = 39,
308 SpvImageFormatR64ui = 40,
309 SpvImageFormatR64i = 41,
310 SpvImageFormatMax = 0x7fffffff,
311} SpvImageFormat;
312
313typedef enum SpvImageChannelOrder_ {
314 SpvImageChannelOrderR = 0,
315 SpvImageChannelOrderA = 1,
316 SpvImageChannelOrderRG = 2,
317 SpvImageChannelOrderRA = 3,
318 SpvImageChannelOrderRGB = 4,
319 SpvImageChannelOrderRGBA = 5,
320 SpvImageChannelOrderBGRA = 6,
321 SpvImageChannelOrderARGB = 7,
322 SpvImageChannelOrderIntensity = 8,
323 SpvImageChannelOrderLuminance = 9,
324 SpvImageChannelOrderRx = 10,
325 SpvImageChannelOrderRGx = 11,
326 SpvImageChannelOrderRGBx = 12,
327 SpvImageChannelOrderDepth = 13,
328 SpvImageChannelOrderDepthStencil = 14,
329 SpvImageChannelOrdersRGB = 15,
330 SpvImageChannelOrdersRGBx = 16,
331 SpvImageChannelOrdersRGBA = 17,
332 SpvImageChannelOrdersBGRA = 18,
333 SpvImageChannelOrderABGR = 19,
334 SpvImageChannelOrderMax = 0x7fffffff,
335} SpvImageChannelOrder;
336
337typedef enum SpvImageChannelDataType_ {
338 SpvImageChannelDataTypeSnormInt8 = 0,
339 SpvImageChannelDataTypeSnormInt16 = 1,
340 SpvImageChannelDataTypeUnormInt8 = 2,
341 SpvImageChannelDataTypeUnormInt16 = 3,
342 SpvImageChannelDataTypeUnormShort565 = 4,
343 SpvImageChannelDataTypeUnormShort555 = 5,
344 SpvImageChannelDataTypeUnormInt101010 = 6,
345 SpvImageChannelDataTypeSignedInt8 = 7,
346 SpvImageChannelDataTypeSignedInt16 = 8,
347 SpvImageChannelDataTypeSignedInt32 = 9,
348 SpvImageChannelDataTypeUnsignedInt8 = 10,
349 SpvImageChannelDataTypeUnsignedInt16 = 11,
350 SpvImageChannelDataTypeUnsignedInt32 = 12,
351 SpvImageChannelDataTypeHalfFloat = 13,
352 SpvImageChannelDataTypeFloat = 14,
353 SpvImageChannelDataTypeUnormInt24 = 15,
354 SpvImageChannelDataTypeUnormInt101010_2 = 16,
355 SpvImageChannelDataTypeMax = 0x7fffffff,
356} SpvImageChannelDataType;
357
358typedef enum SpvImageOperandsShift_ {
359 SpvImageOperandsBiasShift = 0,
360 SpvImageOperandsLodShift = 1,
361 SpvImageOperandsGradShift = 2,
362 SpvImageOperandsConstOffsetShift = 3,
363 SpvImageOperandsOffsetShift = 4,
364 SpvImageOperandsConstOffsetsShift = 5,
365 SpvImageOperandsSampleShift = 6,
366 SpvImageOperandsMinLodShift = 7,
367 SpvImageOperandsMakeTexelAvailableShift = 8,
368 SpvImageOperandsMakeTexelAvailableKHRShift = 8,
369 SpvImageOperandsMakeTexelVisibleShift = 9,
370 SpvImageOperandsMakeTexelVisibleKHRShift = 9,
371 SpvImageOperandsNonPrivateTexelShift = 10,
372 SpvImageOperandsNonPrivateTexelKHRShift = 10,
373 SpvImageOperandsVolatileTexelShift = 11,
374 SpvImageOperandsVolatileTexelKHRShift = 11,
375 SpvImageOperandsSignExtendShift = 12,
376 SpvImageOperandsZeroExtendShift = 13,
377 SpvImageOperandsNontemporalShift = 14,
378 SpvImageOperandsOffsetsShift = 16,
379 SpvImageOperandsMax = 0x7fffffff,
380} SpvImageOperandsShift;
381
382typedef enum SpvImageOperandsMask_ {
383 SpvImageOperandsMaskNone = 0,
384 SpvImageOperandsBiasMask = 0x00000001,
385 SpvImageOperandsLodMask = 0x00000002,
386 SpvImageOperandsGradMask = 0x00000004,
387 SpvImageOperandsConstOffsetMask = 0x00000008,
388 SpvImageOperandsOffsetMask = 0x00000010,
389 SpvImageOperandsConstOffsetsMask = 0x00000020,
390 SpvImageOperandsSampleMask = 0x00000040,
391 SpvImageOperandsMinLodMask = 0x00000080,
392 SpvImageOperandsMakeTexelAvailableMask = 0x00000100,
393 SpvImageOperandsMakeTexelAvailableKHRMask = 0x00000100,
394 SpvImageOperandsMakeTexelVisibleMask = 0x00000200,
395 SpvImageOperandsMakeTexelVisibleKHRMask = 0x00000200,
396 SpvImageOperandsNonPrivateTexelMask = 0x00000400,
397 SpvImageOperandsNonPrivateTexelKHRMask = 0x00000400,
398 SpvImageOperandsVolatileTexelMask = 0x00000800,
399 SpvImageOperandsVolatileTexelKHRMask = 0x00000800,
400 SpvImageOperandsSignExtendMask = 0x00001000,
401 SpvImageOperandsZeroExtendMask = 0x00002000,
402 SpvImageOperandsNontemporalMask = 0x00004000,
403 SpvImageOperandsOffsetsMask = 0x00010000,
404} SpvImageOperandsMask;
405
406typedef enum SpvFPFastMathModeShift_ {
407 SpvFPFastMathModeNotNaNShift = 0,
408 SpvFPFastMathModeNotInfShift = 1,
409 SpvFPFastMathModeNSZShift = 2,
410 SpvFPFastMathModeAllowRecipShift = 3,
411 SpvFPFastMathModeFastShift = 4,
412 SpvFPFastMathModeAllowContractFastINTELShift = 16,
413 SpvFPFastMathModeAllowReassocINTELShift = 17,
414 SpvFPFastMathModeMax = 0x7fffffff,
415} SpvFPFastMathModeShift;
416
417typedef enum SpvFPFastMathModeMask_ {
418 SpvFPFastMathModeMaskNone = 0,
419 SpvFPFastMathModeNotNaNMask = 0x00000001,
420 SpvFPFastMathModeNotInfMask = 0x00000002,
421 SpvFPFastMathModeNSZMask = 0x00000004,
422 SpvFPFastMathModeAllowRecipMask = 0x00000008,
423 SpvFPFastMathModeFastMask = 0x00000010,
424 SpvFPFastMathModeAllowContractFastINTELMask = 0x00010000,
425 SpvFPFastMathModeAllowReassocINTELMask = 0x00020000,
426} SpvFPFastMathModeMask;
427
428typedef enum SpvFPRoundingMode_ {
429 SpvFPRoundingModeRTE = 0,
430 SpvFPRoundingModeRTZ = 1,
431 SpvFPRoundingModeRTP = 2,
432 SpvFPRoundingModeRTN = 3,
433 SpvFPRoundingModeMax = 0x7fffffff,
434} SpvFPRoundingMode;
435
436typedef enum SpvLinkageType_ {
437 SpvLinkageTypeExport = 0,
438 SpvLinkageTypeImport = 1,
439 SpvLinkageTypeLinkOnceODR = 2,
440 SpvLinkageTypeMax = 0x7fffffff,
441} SpvLinkageType;
442
443typedef enum SpvAccessQualifier_ {
444 SpvAccessQualifierReadOnly = 0,
445 SpvAccessQualifierWriteOnly = 1,
446 SpvAccessQualifierReadWrite = 2,
447 SpvAccessQualifierMax = 0x7fffffff,
448} SpvAccessQualifier;
449
450typedef enum SpvFunctionParameterAttribute_ {
451 SpvFunctionParameterAttributeZext = 0,
452 SpvFunctionParameterAttributeSext = 1,
453 SpvFunctionParameterAttributeByVal = 2,
454 SpvFunctionParameterAttributeSret = 3,
455 SpvFunctionParameterAttributeNoAlias = 4,
456 SpvFunctionParameterAttributeNoCapture = 5,
457 SpvFunctionParameterAttributeNoWrite = 6,
458 SpvFunctionParameterAttributeNoReadWrite = 7,
459 SpvFunctionParameterAttributeMax = 0x7fffffff,
460} SpvFunctionParameterAttribute;
461
462typedef enum SpvDecoration_ {
463 SpvDecorationRelaxedPrecision = 0,
464 SpvDecorationSpecId = 1,
465 SpvDecorationBlock = 2,
466 SpvDecorationBufferBlock = 3,
467 SpvDecorationRowMajor = 4,
468 SpvDecorationColMajor = 5,
469 SpvDecorationArrayStride = 6,
470 SpvDecorationMatrixStride = 7,
471 SpvDecorationGLSLShared = 8,
472 SpvDecorationGLSLPacked = 9,
473 SpvDecorationCPacked = 10,
474 SpvDecorationBuiltIn = 11,
475 SpvDecorationNoPerspective = 13,
476 SpvDecorationFlat = 14,
477 SpvDecorationPatch = 15,
478 SpvDecorationCentroid = 16,
479 SpvDecorationSample = 17,
480 SpvDecorationInvariant = 18,
481 SpvDecorationRestrict = 19,
482 SpvDecorationAliased = 20,
483 SpvDecorationVolatile = 21,
484 SpvDecorationConstant = 22,
485 SpvDecorationCoherent = 23,
486 SpvDecorationNonWritable = 24,
487 SpvDecorationNonReadable = 25,
488 SpvDecorationUniform = 26,
489 SpvDecorationUniformId = 27,
490 SpvDecorationSaturatedConversion = 28,
491 SpvDecorationStream = 29,
492 SpvDecorationLocation = 30,
493 SpvDecorationComponent = 31,
494 SpvDecorationIndex = 32,
495 SpvDecorationBinding = 33,
496 SpvDecorationDescriptorSet = 34,
497 SpvDecorationOffset = 35,
498 SpvDecorationXfbBuffer = 36,
499 SpvDecorationXfbStride = 37,
500 SpvDecorationFuncParamAttr = 38,
501 SpvDecorationFPRoundingMode = 39,
502 SpvDecorationFPFastMathMode = 40,
503 SpvDecorationLinkageAttributes = 41,
504 SpvDecorationNoContraction = 42,
505 SpvDecorationInputAttachmentIndex = 43,
506 SpvDecorationAlignment = 44,
507 SpvDecorationMaxByteOffset = 45,
508 SpvDecorationAlignmentId = 46,
509 SpvDecorationMaxByteOffsetId = 47,
510 SpvDecorationNoSignedWrap = 4469,
511 SpvDecorationNoUnsignedWrap = 4470,
512 SpvDecorationWeightTextureQCOM = 4487,
513 SpvDecorationBlockMatchTextureQCOM = 4488,
514 SpvDecorationExplicitInterpAMD = 4999,
515 SpvDecorationOverrideCoverageNV = 5248,
516 SpvDecorationPassthroughNV = 5250,
517 SpvDecorationViewportRelativeNV = 5252,
518 SpvDecorationSecondaryViewportRelativeNV = 5256,
519 SpvDecorationPerPrimitiveEXT = 5271,
520 SpvDecorationPerPrimitiveNV = 5271,
521 SpvDecorationPerViewNV = 5272,
522 SpvDecorationPerTaskNV = 5273,
523 SpvDecorationPerVertexKHR = 5285,
524 SpvDecorationPerVertexNV = 5285,
525 SpvDecorationNonUniform = 5300,
526 SpvDecorationNonUniformEXT = 5300,
527 SpvDecorationRestrictPointer = 5355,
528 SpvDecorationRestrictPointerEXT = 5355,
529 SpvDecorationAliasedPointer = 5356,
530 SpvDecorationAliasedPointerEXT = 5356,
531 SpvDecorationBindlessSamplerNV = 5398,
532 SpvDecorationBindlessImageNV = 5399,
533 SpvDecorationBoundSamplerNV = 5400,
534 SpvDecorationBoundImageNV = 5401,
535 SpvDecorationSIMTCallINTEL = 5599,
536 SpvDecorationReferencedIndirectlyINTEL = 5602,
537 SpvDecorationClobberINTEL = 5607,
538 SpvDecorationSideEffectsINTEL = 5608,
539 SpvDecorationVectorComputeVariableINTEL = 5624,
540 SpvDecorationFuncParamIOKindINTEL = 5625,
541 SpvDecorationVectorComputeFunctionINTEL = 5626,
542 SpvDecorationStackCallINTEL = 5627,
543 SpvDecorationGlobalVariableOffsetINTEL = 5628,
544 SpvDecorationCounterBuffer = 5634,
545 SpvDecorationHlslCounterBufferGOOGLE = 5634,
546 SpvDecorationHlslSemanticGOOGLE = 5635,
547 SpvDecorationUserSemantic = 5635,
548 SpvDecorationUserTypeGOOGLE = 5636,
549 SpvDecorationFunctionRoundingModeINTEL = 5822,
550 SpvDecorationFunctionDenormModeINTEL = 5823,
551 SpvDecorationRegisterINTEL = 5825,
552 SpvDecorationMemoryINTEL = 5826,
553 SpvDecorationNumbanksINTEL = 5827,
554 SpvDecorationBankwidthINTEL = 5828,
555 SpvDecorationMaxPrivateCopiesINTEL = 5829,
556 SpvDecorationSinglepumpINTEL = 5830,
557 SpvDecorationDoublepumpINTEL = 5831,
558 SpvDecorationMaxReplicatesINTEL = 5832,
559 SpvDecorationSimpleDualPortINTEL = 5833,
560 SpvDecorationMergeINTEL = 5834,
561 SpvDecorationBankBitsINTEL = 5835,
562 SpvDecorationForcePow2DepthINTEL = 5836,
563 SpvDecorationBurstCoalesceINTEL = 5899,
564 SpvDecorationCacheSizeINTEL = 5900,
565 SpvDecorationDontStaticallyCoalesceINTEL = 5901,
566 SpvDecorationPrefetchINTEL = 5902,
567 SpvDecorationStallEnableINTEL = 5905,
568 SpvDecorationFuseLoopsInFunctionINTEL = 5907,
569 SpvDecorationAliasScopeINTEL = 5914,
570 SpvDecorationNoAliasINTEL = 5915,
571 SpvDecorationBufferLocationINTEL = 5921,
572 SpvDecorationIOPipeStorageINTEL = 5944,
573 SpvDecorationFunctionFloatingPointModeINTEL = 6080,
574 SpvDecorationSingleElementVectorINTEL = 6085,
575 SpvDecorationVectorComputeCallableFunctionINTEL = 6087,
576 SpvDecorationMediaBlockIOINTEL = 6140,
577 SpvDecorationMax = 0x7fffffff,
578} SpvDecoration;
579
580typedef enum SpvBuiltIn_ {
581 SpvBuiltInPosition = 0,
582 SpvBuiltInPointSize = 1,
583 SpvBuiltInClipDistance = 3,
584 SpvBuiltInCullDistance = 4,
585 SpvBuiltInVertexId = 5,
586 SpvBuiltInInstanceId = 6,
587 SpvBuiltInPrimitiveId = 7,
588 SpvBuiltInInvocationId = 8,
589 SpvBuiltInLayer = 9,
590 SpvBuiltInViewportIndex = 10,
591 SpvBuiltInTessLevelOuter = 11,
592 SpvBuiltInTessLevelInner = 12,
593 SpvBuiltInTessCoord = 13,
594 SpvBuiltInPatchVertices = 14,
595 SpvBuiltInFragCoord = 15,
596 SpvBuiltInPointCoord = 16,
597 SpvBuiltInFrontFacing = 17,
598 SpvBuiltInSampleId = 18,
599 SpvBuiltInSamplePosition = 19,
600 SpvBuiltInSampleMask = 20,
601 SpvBuiltInFragDepth = 22,
602 SpvBuiltInHelperInvocation = 23,
603 SpvBuiltInNumWorkgroups = 24,
604 SpvBuiltInWorkgroupSize = 25,
605 SpvBuiltInWorkgroupId = 26,
606 SpvBuiltInLocalInvocationId = 27,
607 SpvBuiltInGlobalInvocationId = 28,
608 SpvBuiltInLocalInvocationIndex = 29,
609 SpvBuiltInWorkDim = 30,
610 SpvBuiltInGlobalSize = 31,
611 SpvBuiltInEnqueuedWorkgroupSize = 32,
612 SpvBuiltInGlobalOffset = 33,
613 SpvBuiltInGlobalLinearId = 34,
614 SpvBuiltInSubgroupSize = 36,
615 SpvBuiltInSubgroupMaxSize = 37,
616 SpvBuiltInNumSubgroups = 38,
617 SpvBuiltInNumEnqueuedSubgroups = 39,
618 SpvBuiltInSubgroupId = 40,
619 SpvBuiltInSubgroupLocalInvocationId = 41,
620 SpvBuiltInVertexIndex = 42,
621 SpvBuiltInInstanceIndex = 43,
622 SpvBuiltInSubgroupEqMask = 4416,
623 SpvBuiltInSubgroupEqMaskKHR = 4416,
624 SpvBuiltInSubgroupGeMask = 4417,
625 SpvBuiltInSubgroupGeMaskKHR = 4417,
626 SpvBuiltInSubgroupGtMask = 4418,
627 SpvBuiltInSubgroupGtMaskKHR = 4418,
628 SpvBuiltInSubgroupLeMask = 4419,
629 SpvBuiltInSubgroupLeMaskKHR = 4419,
630 SpvBuiltInSubgroupLtMask = 4420,
631 SpvBuiltInSubgroupLtMaskKHR = 4420,
632 SpvBuiltInBaseVertex = 4424,
633 SpvBuiltInBaseInstance = 4425,
634 SpvBuiltInDrawIndex = 4426,
635 SpvBuiltInPrimitiveShadingRateKHR = 4432,
636 SpvBuiltInDeviceIndex = 4438,
637 SpvBuiltInViewIndex = 4440,
638 SpvBuiltInShadingRateKHR = 4444,
639 SpvBuiltInBaryCoordNoPerspAMD = 4992,
640 SpvBuiltInBaryCoordNoPerspCentroidAMD = 4993,
641 SpvBuiltInBaryCoordNoPerspSampleAMD = 4994,
642 SpvBuiltInBaryCoordSmoothAMD = 4995,
643 SpvBuiltInBaryCoordSmoothCentroidAMD = 4996,
644 SpvBuiltInBaryCoordSmoothSampleAMD = 4997,
645 SpvBuiltInBaryCoordPullModelAMD = 4998,
646 SpvBuiltInFragStencilRefEXT = 5014,
647 SpvBuiltInViewportMaskNV = 5253,
648 SpvBuiltInSecondaryPositionNV = 5257,
649 SpvBuiltInSecondaryViewportMaskNV = 5258,
650 SpvBuiltInPositionPerViewNV = 5261,
651 SpvBuiltInViewportMaskPerViewNV = 5262,
652 SpvBuiltInFullyCoveredEXT = 5264,
653 SpvBuiltInTaskCountNV = 5274,
654 SpvBuiltInPrimitiveCountNV = 5275,
655 SpvBuiltInPrimitiveIndicesNV = 5276,
656 SpvBuiltInClipDistancePerViewNV = 5277,
657 SpvBuiltInCullDistancePerViewNV = 5278,
658 SpvBuiltInLayerPerViewNV = 5279,
659 SpvBuiltInMeshViewCountNV = 5280,
660 SpvBuiltInMeshViewIndicesNV = 5281,
661 SpvBuiltInBaryCoordKHR = 5286,
662 SpvBuiltInBaryCoordNV = 5286,
663 SpvBuiltInBaryCoordNoPerspKHR = 5287,
664 SpvBuiltInBaryCoordNoPerspNV = 5287,
665 SpvBuiltInFragSizeEXT = 5292,
666 SpvBuiltInFragmentSizeNV = 5292,
667 SpvBuiltInFragInvocationCountEXT = 5293,
668 SpvBuiltInInvocationsPerPixelNV = 5293,
669 SpvBuiltInPrimitivePointIndicesEXT = 5294,
670 SpvBuiltInPrimitiveLineIndicesEXT = 5295,
671 SpvBuiltInPrimitiveTriangleIndicesEXT = 5296,
672 SpvBuiltInCullPrimitiveEXT = 5299,
673 SpvBuiltInLaunchIdKHR = 5319,
674 SpvBuiltInLaunchIdNV = 5319,
675 SpvBuiltInLaunchSizeKHR = 5320,
676 SpvBuiltInLaunchSizeNV = 5320,
677 SpvBuiltInWorldRayOriginKHR = 5321,
678 SpvBuiltInWorldRayOriginNV = 5321,
679 SpvBuiltInWorldRayDirectionKHR = 5322,
680 SpvBuiltInWorldRayDirectionNV = 5322,
681 SpvBuiltInObjectRayOriginKHR = 5323,
682 SpvBuiltInObjectRayOriginNV = 5323,
683 SpvBuiltInObjectRayDirectionKHR = 5324,
684 SpvBuiltInObjectRayDirectionNV = 5324,
685 SpvBuiltInRayTminKHR = 5325,
686 SpvBuiltInRayTminNV = 5325,
687 SpvBuiltInRayTmaxKHR = 5326,
688 SpvBuiltInRayTmaxNV = 5326,
689 SpvBuiltInInstanceCustomIndexKHR = 5327,
690 SpvBuiltInInstanceCustomIndexNV = 5327,
691 SpvBuiltInObjectToWorldKHR = 5330,
692 SpvBuiltInObjectToWorldNV = 5330,
693 SpvBuiltInWorldToObjectKHR = 5331,
694 SpvBuiltInWorldToObjectNV = 5331,
695 SpvBuiltInHitTNV = 5332,
696 SpvBuiltInHitKindKHR = 5333,
697 SpvBuiltInHitKindNV = 5333,
698 SpvBuiltInCurrentRayTimeNV = 5334,
699 SpvBuiltInIncomingRayFlagsKHR = 5351,
700 SpvBuiltInIncomingRayFlagsNV = 5351,
701 SpvBuiltInRayGeometryIndexKHR = 5352,
702 SpvBuiltInWarpsPerSMNV = 5374,
703 SpvBuiltInSMCountNV = 5375,
704 SpvBuiltInWarpIDNV = 5376,
705 SpvBuiltInSMIDNV = 5377,
706 SpvBuiltInCullMaskKHR = 6021,
707 SpvBuiltInMax = 0x7fffffff,
708} SpvBuiltIn;
709
710typedef enum SpvSelectionControlShift_ {
711 SpvSelectionControlFlattenShift = 0,
712 SpvSelectionControlDontFlattenShift = 1,
713 SpvSelectionControlMax = 0x7fffffff,
714} SpvSelectionControlShift;
715
716typedef enum SpvSelectionControlMask_ {
717 SpvSelectionControlMaskNone = 0,
718 SpvSelectionControlFlattenMask = 0x00000001,
719 SpvSelectionControlDontFlattenMask = 0x00000002,
720} SpvSelectionControlMask;
721
722typedef enum SpvLoopControlShift_ {
723 SpvLoopControlUnrollShift = 0,
724 SpvLoopControlDontUnrollShift = 1,
725 SpvLoopControlDependencyInfiniteShift = 2,
726 SpvLoopControlDependencyLengthShift = 3,
727 SpvLoopControlMinIterationsShift = 4,
728 SpvLoopControlMaxIterationsShift = 5,
729 SpvLoopControlIterationMultipleShift = 6,
730 SpvLoopControlPeelCountShift = 7,
731 SpvLoopControlPartialCountShift = 8,
732 SpvLoopControlInitiationIntervalINTELShift = 16,
733 SpvLoopControlMaxConcurrencyINTELShift = 17,
734 SpvLoopControlDependencyArrayINTELShift = 18,
735 SpvLoopControlPipelineEnableINTELShift = 19,
736 SpvLoopControlLoopCoalesceINTELShift = 20,
737 SpvLoopControlMaxInterleavingINTELShift = 21,
738 SpvLoopControlSpeculatedIterationsINTELShift = 22,
739 SpvLoopControlNoFusionINTELShift = 23,
740 SpvLoopControlMax = 0x7fffffff,
741} SpvLoopControlShift;
742
743typedef enum SpvLoopControlMask_ {
744 SpvLoopControlMaskNone = 0,
745 SpvLoopControlUnrollMask = 0x00000001,
746 SpvLoopControlDontUnrollMask = 0x00000002,
747 SpvLoopControlDependencyInfiniteMask = 0x00000004,
748 SpvLoopControlDependencyLengthMask = 0x00000008,
749 SpvLoopControlMinIterationsMask = 0x00000010,
750 SpvLoopControlMaxIterationsMask = 0x00000020,
751 SpvLoopControlIterationMultipleMask = 0x00000040,
752 SpvLoopControlPeelCountMask = 0x00000080,
753 SpvLoopControlPartialCountMask = 0x00000100,
754 SpvLoopControlInitiationIntervalINTELMask = 0x00010000,
755 SpvLoopControlMaxConcurrencyINTELMask = 0x00020000,
756 SpvLoopControlDependencyArrayINTELMask = 0x00040000,
757 SpvLoopControlPipelineEnableINTELMask = 0x00080000,
758 SpvLoopControlLoopCoalesceINTELMask = 0x00100000,
759 SpvLoopControlMaxInterleavingINTELMask = 0x00200000,
760 SpvLoopControlSpeculatedIterationsINTELMask = 0x00400000,
761 SpvLoopControlNoFusionINTELMask = 0x00800000,
762} SpvLoopControlMask;
763
764typedef enum SpvFunctionControlShift_ {
765 SpvFunctionControlInlineShift = 0,
766 SpvFunctionControlDontInlineShift = 1,
767 SpvFunctionControlPureShift = 2,
768 SpvFunctionControlConstShift = 3,
769 SpvFunctionControlOptNoneINTELShift = 16,
770 SpvFunctionControlMax = 0x7fffffff,
771} SpvFunctionControlShift;
772
773typedef enum SpvFunctionControlMask_ {
774 SpvFunctionControlMaskNone = 0,
775 SpvFunctionControlInlineMask = 0x00000001,
776 SpvFunctionControlDontInlineMask = 0x00000002,
777 SpvFunctionControlPureMask = 0x00000004,
778 SpvFunctionControlConstMask = 0x00000008,
779 SpvFunctionControlOptNoneINTELMask = 0x00010000,
780} SpvFunctionControlMask;
781
782typedef enum SpvMemorySemanticsShift_ {
783 SpvMemorySemanticsAcquireShift = 1,
784 SpvMemorySemanticsReleaseShift = 2,
785 SpvMemorySemanticsAcquireReleaseShift = 3,
786 SpvMemorySemanticsSequentiallyConsistentShift = 4,
787 SpvMemorySemanticsUniformMemoryShift = 6,
788 SpvMemorySemanticsSubgroupMemoryShift = 7,
789 SpvMemorySemanticsWorkgroupMemoryShift = 8,
790 SpvMemorySemanticsCrossWorkgroupMemoryShift = 9,
791 SpvMemorySemanticsAtomicCounterMemoryShift = 10,
792 SpvMemorySemanticsImageMemoryShift = 11,
793 SpvMemorySemanticsOutputMemoryShift = 12,
794 SpvMemorySemanticsOutputMemoryKHRShift = 12,
795 SpvMemorySemanticsMakeAvailableShift = 13,
796 SpvMemorySemanticsMakeAvailableKHRShift = 13,
797 SpvMemorySemanticsMakeVisibleShift = 14,
798 SpvMemorySemanticsMakeVisibleKHRShift = 14,
799 SpvMemorySemanticsVolatileShift = 15,
800 SpvMemorySemanticsMax = 0x7fffffff,
801} SpvMemorySemanticsShift;
802
803typedef enum SpvMemorySemanticsMask_ {
804 SpvMemorySemanticsMaskNone = 0,
805 SpvMemorySemanticsAcquireMask = 0x00000002,
806 SpvMemorySemanticsReleaseMask = 0x00000004,
807 SpvMemorySemanticsAcquireReleaseMask = 0x00000008,
808 SpvMemorySemanticsSequentiallyConsistentMask = 0x00000010,
809 SpvMemorySemanticsUniformMemoryMask = 0x00000040,
810 SpvMemorySemanticsSubgroupMemoryMask = 0x00000080,
811 SpvMemorySemanticsWorkgroupMemoryMask = 0x00000100,
812 SpvMemorySemanticsCrossWorkgroupMemoryMask = 0x00000200,
813 SpvMemorySemanticsAtomicCounterMemoryMask = 0x00000400,
814 SpvMemorySemanticsImageMemoryMask = 0x00000800,
815 SpvMemorySemanticsOutputMemoryMask = 0x00001000,
816 SpvMemorySemanticsOutputMemoryKHRMask = 0x00001000,
817 SpvMemorySemanticsMakeAvailableMask = 0x00002000,
818 SpvMemorySemanticsMakeAvailableKHRMask = 0x00002000,
819 SpvMemorySemanticsMakeVisibleMask = 0x00004000,
820 SpvMemorySemanticsMakeVisibleKHRMask = 0x00004000,
821 SpvMemorySemanticsVolatileMask = 0x00008000,
822} SpvMemorySemanticsMask;
823
824typedef enum SpvMemoryAccessShift_ {
825 SpvMemoryAccessVolatileShift = 0,
826 SpvMemoryAccessAlignedShift = 1,
827 SpvMemoryAccessNontemporalShift = 2,
828 SpvMemoryAccessMakePointerAvailableShift = 3,
829 SpvMemoryAccessMakePointerAvailableKHRShift = 3,
830 SpvMemoryAccessMakePointerVisibleShift = 4,
831 SpvMemoryAccessMakePointerVisibleKHRShift = 4,
832 SpvMemoryAccessNonPrivatePointerShift = 5,
833 SpvMemoryAccessNonPrivatePointerKHRShift = 5,
834 SpvMemoryAccessAliasScopeINTELMaskShift = 16,
835 SpvMemoryAccessNoAliasINTELMaskShift = 17,
836 SpvMemoryAccessMax = 0x7fffffff,
837} SpvMemoryAccessShift;
838
839typedef enum SpvMemoryAccessMask_ {
840 SpvMemoryAccessMaskNone = 0,
841 SpvMemoryAccessVolatileMask = 0x00000001,
842 SpvMemoryAccessAlignedMask = 0x00000002,
843 SpvMemoryAccessNontemporalMask = 0x00000004,
844 SpvMemoryAccessMakePointerAvailableMask = 0x00000008,
845 SpvMemoryAccessMakePointerAvailableKHRMask = 0x00000008,
846 SpvMemoryAccessMakePointerVisibleMask = 0x00000010,
847 SpvMemoryAccessMakePointerVisibleKHRMask = 0x00000010,
848 SpvMemoryAccessNonPrivatePointerMask = 0x00000020,
849 SpvMemoryAccessNonPrivatePointerKHRMask = 0x00000020,
850 SpvMemoryAccessAliasScopeINTELMaskMask = 0x00010000,
851 SpvMemoryAccessNoAliasINTELMaskMask = 0x00020000,
852} SpvMemoryAccessMask;
853
854typedef enum SpvScope_ {
855 SpvScopeCrossDevice = 0,
856 SpvScopeDevice = 1,
857 SpvScopeWorkgroup = 2,
858 SpvScopeSubgroup = 3,
859 SpvScopeInvocation = 4,
860 SpvScopeQueueFamily = 5,
861 SpvScopeQueueFamilyKHR = 5,
862 SpvScopeShaderCallKHR = 6,
863 SpvScopeMax = 0x7fffffff,
864} SpvScope;
865
866typedef enum SpvGroupOperation_ {
867 SpvGroupOperationReduce = 0,
868 SpvGroupOperationInclusiveScan = 1,
869 SpvGroupOperationExclusiveScan = 2,
870 SpvGroupOperationClusteredReduce = 3,
871 SpvGroupOperationPartitionedReduceNV = 6,
872 SpvGroupOperationPartitionedInclusiveScanNV = 7,
873 SpvGroupOperationPartitionedExclusiveScanNV = 8,
874 SpvGroupOperationMax = 0x7fffffff,
875} SpvGroupOperation;
876
877typedef enum SpvKernelEnqueueFlags_ {
878 SpvKernelEnqueueFlagsNoWait = 0,
879 SpvKernelEnqueueFlagsWaitKernel = 1,
880 SpvKernelEnqueueFlagsWaitWorkGroup = 2,
881 SpvKernelEnqueueFlagsMax = 0x7fffffff,
882} SpvKernelEnqueueFlags;
883
884typedef enum SpvKernelProfilingInfoShift_ {
885 SpvKernelProfilingInfoCmdExecTimeShift = 0,
886 SpvKernelProfilingInfoMax = 0x7fffffff,
887} SpvKernelProfilingInfoShift;
888
889typedef enum SpvKernelProfilingInfoMask_ {
890 SpvKernelProfilingInfoMaskNone = 0,
891 SpvKernelProfilingInfoCmdExecTimeMask = 0x00000001,
892} SpvKernelProfilingInfoMask;
893
894typedef enum SpvCapability_ {
895 SpvCapabilityMatrix = 0,
896 SpvCapabilityShader = 1,
897 SpvCapabilityGeometry = 2,
898 SpvCapabilityTessellation = 3,
899 SpvCapabilityAddresses = 4,
900 SpvCapabilityLinkage = 5,
901 SpvCapabilityKernel = 6,
902 SpvCapabilityVector16 = 7,
903 SpvCapabilityFloat16Buffer = 8,
904 SpvCapabilityFloat16 = 9,
905 SpvCapabilityFloat64 = 10,
906 SpvCapabilityInt64 = 11,
907 SpvCapabilityInt64Atomics = 12,
908 SpvCapabilityImageBasic = 13,
909 SpvCapabilityImageReadWrite = 14,
910 SpvCapabilityImageMipmap = 15,
911 SpvCapabilityPipes = 17,
912 SpvCapabilityGroups = 18,
913 SpvCapabilityDeviceEnqueue = 19,
914 SpvCapabilityLiteralSampler = 20,
915 SpvCapabilityAtomicStorage = 21,
916 SpvCapabilityInt16 = 22,
917 SpvCapabilityTessellationPointSize = 23,
918 SpvCapabilityGeometryPointSize = 24,
919 SpvCapabilityImageGatherExtended = 25,
920 SpvCapabilityStorageImageMultisample = 27,
921 SpvCapabilityUniformBufferArrayDynamicIndexing = 28,
922 SpvCapabilitySampledImageArrayDynamicIndexing = 29,
923 SpvCapabilityStorageBufferArrayDynamicIndexing = 30,
924 SpvCapabilityStorageImageArrayDynamicIndexing = 31,
925 SpvCapabilityClipDistance = 32,
926 SpvCapabilityCullDistance = 33,
927 SpvCapabilityImageCubeArray = 34,
928 SpvCapabilitySampleRateShading = 35,
929 SpvCapabilityImageRect = 36,
930 SpvCapabilitySampledRect = 37,
931 SpvCapabilityGenericPointer = 38,
932 SpvCapabilityInt8 = 39,
933 SpvCapabilityInputAttachment = 40,
934 SpvCapabilitySparseResidency = 41,
935 SpvCapabilityMinLod = 42,
936 SpvCapabilitySampled1D = 43,
937 SpvCapabilityImage1D = 44,
938 SpvCapabilitySampledCubeArray = 45,
939 SpvCapabilitySampledBuffer = 46,
940 SpvCapabilityImageBuffer = 47,
941 SpvCapabilityImageMSArray = 48,
942 SpvCapabilityStorageImageExtendedFormats = 49,
943 SpvCapabilityImageQuery = 50,
944 SpvCapabilityDerivativeControl = 51,
945 SpvCapabilityInterpolationFunction = 52,
946 SpvCapabilityTransformFeedback = 53,
947 SpvCapabilityGeometryStreams = 54,
948 SpvCapabilityStorageImageReadWithoutFormat = 55,
949 SpvCapabilityStorageImageWriteWithoutFormat = 56,
950 SpvCapabilityMultiViewport = 57,
951 SpvCapabilitySubgroupDispatch = 58,
952 SpvCapabilityNamedBarrier = 59,
953 SpvCapabilityPipeStorage = 60,
954 SpvCapabilityGroupNonUniform = 61,
955 SpvCapabilityGroupNonUniformVote = 62,
956 SpvCapabilityGroupNonUniformArithmetic = 63,
957 SpvCapabilityGroupNonUniformBallot = 64,
958 SpvCapabilityGroupNonUniformShuffle = 65,
959 SpvCapabilityGroupNonUniformShuffleRelative = 66,
960 SpvCapabilityGroupNonUniformClustered = 67,
961 SpvCapabilityGroupNonUniformQuad = 68,
962 SpvCapabilityShaderLayer = 69,
963 SpvCapabilityShaderViewportIndex = 70,
964 SpvCapabilityUniformDecoration = 71,
965 SpvCapabilityFragmentShadingRateKHR = 4422,
966 SpvCapabilitySubgroupBallotKHR = 4423,
967 SpvCapabilityDrawParameters = 4427,
968 SpvCapabilityWorkgroupMemoryExplicitLayoutKHR = 4428,
969 SpvCapabilityWorkgroupMemoryExplicitLayout8BitAccessKHR = 4429,
970 SpvCapabilityWorkgroupMemoryExplicitLayout16BitAccessKHR = 4430,
971 SpvCapabilitySubgroupVoteKHR = 4431,
972 SpvCapabilityStorageBuffer16BitAccess = 4433,
973 SpvCapabilityStorageUniformBufferBlock16 = 4433,
974 SpvCapabilityStorageUniform16 = 4434,
975 SpvCapabilityUniformAndStorageBuffer16BitAccess = 4434,
976 SpvCapabilityStoragePushConstant16 = 4435,
977 SpvCapabilityStorageInputOutput16 = 4436,
978 SpvCapabilityDeviceGroup = 4437,
979 SpvCapabilityMultiView = 4439,
980 SpvCapabilityVariablePointersStorageBuffer = 4441,
981 SpvCapabilityVariablePointers = 4442,
982 SpvCapabilityAtomicStorageOps = 4445,
983 SpvCapabilitySampleMaskPostDepthCoverage = 4447,
984 SpvCapabilityStorageBuffer8BitAccess = 4448,
985 SpvCapabilityUniformAndStorageBuffer8BitAccess = 4449,
986 SpvCapabilityStoragePushConstant8 = 4450,
987 SpvCapabilityDenormPreserve = 4464,
988 SpvCapabilityDenormFlushToZero = 4465,
989 SpvCapabilitySignedZeroInfNanPreserve = 4466,
990 SpvCapabilityRoundingModeRTE = 4467,
991 SpvCapabilityRoundingModeRTZ = 4468,
992 SpvCapabilityRayQueryProvisionalKHR = 4471,
993 SpvCapabilityRayQueryKHR = 4472,
994 SpvCapabilityRayTraversalPrimitiveCullingKHR = 4478,
995 SpvCapabilityRayTracingKHR = 4479,
996 SpvCapabilityTextureSampleWeightedQCOM = 4484,
997 SpvCapabilityTextureBoxFilterQCOM = 4485,
998 SpvCapabilityTextureBlockMatchQCOM = 4486,
999 SpvCapabilityFloat16ImageAMD = 5008,
1000 SpvCapabilityImageGatherBiasLodAMD = 5009,
1001 SpvCapabilityFragmentMaskAMD = 5010,
1002 SpvCapabilityStencilExportEXT = 5013,
1003 SpvCapabilityImageReadWriteLodAMD = 5015,
1004 SpvCapabilityInt64ImageEXT = 5016,
1005 SpvCapabilityShaderClockKHR = 5055,
1006 SpvCapabilitySampleMaskOverrideCoverageNV = 5249,
1007 SpvCapabilityGeometryShaderPassthroughNV = 5251,
1008 SpvCapabilityShaderViewportIndexLayerEXT = 5254,
1009 SpvCapabilityShaderViewportIndexLayerNV = 5254,
1010 SpvCapabilityShaderViewportMaskNV = 5255,
1011 SpvCapabilityShaderStereoViewNV = 5259,
1012 SpvCapabilityPerViewAttributesNV = 5260,
1013 SpvCapabilityFragmentFullyCoveredEXT = 5265,
1014 SpvCapabilityMeshShadingNV = 5266,
1015 SpvCapabilityImageFootprintNV = 5282,
1016 SpvCapabilityMeshShadingEXT = 5283,
1017 SpvCapabilityFragmentBarycentricKHR = 5284,
1018 SpvCapabilityFragmentBarycentricNV = 5284,
1019 SpvCapabilityComputeDerivativeGroupQuadsNV = 5288,
1020 SpvCapabilityFragmentDensityEXT = 5291,
1021 SpvCapabilityShadingRateNV = 5291,
1022 SpvCapabilityGroupNonUniformPartitionedNV = 5297,
1023 SpvCapabilityShaderNonUniform = 5301,
1024 SpvCapabilityShaderNonUniformEXT = 5301,
1025 SpvCapabilityRuntimeDescriptorArray = 5302,
1026 SpvCapabilityRuntimeDescriptorArrayEXT = 5302,
1027 SpvCapabilityInputAttachmentArrayDynamicIndexing = 5303,
1028 SpvCapabilityInputAttachmentArrayDynamicIndexingEXT = 5303,
1029 SpvCapabilityUniformTexelBufferArrayDynamicIndexing = 5304,
1030 SpvCapabilityUniformTexelBufferArrayDynamicIndexingEXT = 5304,
1031 SpvCapabilityStorageTexelBufferArrayDynamicIndexing = 5305,
1032 SpvCapabilityStorageTexelBufferArrayDynamicIndexingEXT = 5305,
1033 SpvCapabilityUniformBufferArrayNonUniformIndexing = 5306,
1034 SpvCapabilityUniformBufferArrayNonUniformIndexingEXT = 5306,
1035 SpvCapabilitySampledImageArrayNonUniformIndexing = 5307,
1036 SpvCapabilitySampledImageArrayNonUniformIndexingEXT = 5307,
1037 SpvCapabilityStorageBufferArrayNonUniformIndexing = 5308,
1038 SpvCapabilityStorageBufferArrayNonUniformIndexingEXT = 5308,
1039 SpvCapabilityStorageImageArrayNonUniformIndexing = 5309,
1040 SpvCapabilityStorageImageArrayNonUniformIndexingEXT = 5309,
1041 SpvCapabilityInputAttachmentArrayNonUniformIndexing = 5310,
1042 SpvCapabilityInputAttachmentArrayNonUniformIndexingEXT = 5310,
1043 SpvCapabilityUniformTexelBufferArrayNonUniformIndexing = 5311,
1044 SpvCapabilityUniformTexelBufferArrayNonUniformIndexingEXT = 5311,
1045 SpvCapabilityStorageTexelBufferArrayNonUniformIndexing = 5312,
1046 SpvCapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312,
1047 SpvCapabilityRayTracingNV = 5340,
1048 SpvCapabilityRayTracingMotionBlurNV = 5341,
1049 SpvCapabilityVulkanMemoryModel = 5345,
1050 SpvCapabilityVulkanMemoryModelKHR = 5345,
1051 SpvCapabilityVulkanMemoryModelDeviceScope = 5346,
1052 SpvCapabilityVulkanMemoryModelDeviceScopeKHR = 5346,
1053 SpvCapabilityPhysicalStorageBufferAddresses = 5347,
1054 SpvCapabilityPhysicalStorageBufferAddressesEXT = 5347,
1055 SpvCapabilityComputeDerivativeGroupLinearNV = 5350,
1056 SpvCapabilityRayTracingProvisionalKHR = 5353,
1057 SpvCapabilityCooperativeMatrixNV = 5357,
1058 SpvCapabilityFragmentShaderSampleInterlockEXT = 5363,
1059 SpvCapabilityFragmentShaderShadingRateInterlockEXT = 5372,
1060 SpvCapabilityShaderSMBuiltinsNV = 5373,
1061 SpvCapabilityFragmentShaderPixelInterlockEXT = 5378,
1062 SpvCapabilityDemoteToHelperInvocation = 5379,
1063 SpvCapabilityDemoteToHelperInvocationEXT = 5379,
1064 SpvCapabilityBindlessTextureNV = 5390,
1065 SpvCapabilitySubgroupShuffleINTEL = 5568,
1066 SpvCapabilitySubgroupBufferBlockIOINTEL = 5569,
1067 SpvCapabilitySubgroupImageBlockIOINTEL = 5570,
1068 SpvCapabilitySubgroupImageMediaBlockIOINTEL = 5579,
1069 SpvCapabilityRoundToInfinityINTEL = 5582,
1070 SpvCapabilityFloatingPointModeINTEL = 5583,
1071 SpvCapabilityIntegerFunctions2INTEL = 5584,
1072 SpvCapabilityFunctionPointersINTEL = 5603,
1073 SpvCapabilityIndirectReferencesINTEL = 5604,
1074 SpvCapabilityAsmINTEL = 5606,
1075 SpvCapabilityAtomicFloat32MinMaxEXT = 5612,
1076 SpvCapabilityAtomicFloat64MinMaxEXT = 5613,
1077 SpvCapabilityAtomicFloat16MinMaxEXT = 5616,
1078 SpvCapabilityVectorComputeINTEL = 5617,
1079 SpvCapabilityVectorAnyINTEL = 5619,
1080 SpvCapabilityExpectAssumeKHR = 5629,
1081 SpvCapabilitySubgroupAvcMotionEstimationINTEL = 5696,
1082 SpvCapabilitySubgroupAvcMotionEstimationIntraINTEL = 5697,
1083 SpvCapabilitySubgroupAvcMotionEstimationChromaINTEL = 5698,
1084 SpvCapabilityVariableLengthArrayINTEL = 5817,
1085 SpvCapabilityFunctionFloatControlINTEL = 5821,
1086 SpvCapabilityFPGAMemoryAttributesINTEL = 5824,
1087 SpvCapabilityFPFastMathModeINTEL = 5837,
1088 SpvCapabilityArbitraryPrecisionIntegersINTEL = 5844,
1089 SpvCapabilityArbitraryPrecisionFloatingPointINTEL = 5845,
1090 SpvCapabilityUnstructuredLoopControlsINTEL = 5886,
1091 SpvCapabilityFPGALoopControlsINTEL = 5888,
1092 SpvCapabilityKernelAttributesINTEL = 5892,
1093 SpvCapabilityFPGAKernelAttributesINTEL = 5897,
1094 SpvCapabilityFPGAMemoryAccessesINTEL = 5898,
1095 SpvCapabilityFPGAClusterAttributesINTEL = 5904,
1096 SpvCapabilityLoopFuseINTEL = 5906,
1097 SpvCapabilityMemoryAccessAliasingINTEL = 5910,
1098 SpvCapabilityFPGABufferLocationINTEL = 5920,
1099 SpvCapabilityArbitraryPrecisionFixedPointINTEL = 5922,
1100 SpvCapabilityUSMStorageClassesINTEL = 5935,
1101 SpvCapabilityIOPipesINTEL = 5943,
1102 SpvCapabilityBlockingPipesINTEL = 5945,
1103 SpvCapabilityFPGARegINTEL = 5948,
1104 SpvCapabilityDotProductInputAll = 6016,
1105 SpvCapabilityDotProductInputAllKHR = 6016,
1106 SpvCapabilityDotProductInput4x8Bit = 6017,
1107 SpvCapabilityDotProductInput4x8BitKHR = 6017,
1108 SpvCapabilityDotProductInput4x8BitPacked = 6018,
1109 SpvCapabilityDotProductInput4x8BitPackedKHR = 6018,
1110 SpvCapabilityDotProduct = 6019,
1111 SpvCapabilityDotProductKHR = 6019,
1112 SpvCapabilityRayCullMaskKHR = 6020,
1113 SpvCapabilityBitInstructions = 6025,
1114 SpvCapabilityGroupNonUniformRotateKHR = 6026,
1115 SpvCapabilityAtomicFloat32AddEXT = 6033,
1116 SpvCapabilityAtomicFloat64AddEXT = 6034,
1117 SpvCapabilityLongConstantCompositeINTEL = 6089,
1118 SpvCapabilityOptNoneINTEL = 6094,
1119 SpvCapabilityAtomicFloat16AddEXT = 6095,
1120 SpvCapabilityDebugInfoModuleINTEL = 6114,
1121 SpvCapabilitySplitBarrierINTEL = 6141,
1122 SpvCapabilityGroupUniformArithmeticKHR = 6400,
1123 SpvCapabilityMax = 0x7fffffff,
1124} SpvCapability;
1125
1126typedef enum SpvRayFlagsShift_ {
1127 SpvRayFlagsOpaqueKHRShift = 0,
1128 SpvRayFlagsNoOpaqueKHRShift = 1,
1129 SpvRayFlagsTerminateOnFirstHitKHRShift = 2,
1130 SpvRayFlagsSkipClosestHitShaderKHRShift = 3,
1131 SpvRayFlagsCullBackFacingTrianglesKHRShift = 4,
1132 SpvRayFlagsCullFrontFacingTrianglesKHRShift = 5,
1133 SpvRayFlagsCullOpaqueKHRShift = 6,
1134 SpvRayFlagsCullNoOpaqueKHRShift = 7,
1135 SpvRayFlagsSkipTrianglesKHRShift = 8,
1136 SpvRayFlagsSkipAABBsKHRShift = 9,
1137 SpvRayFlagsMax = 0x7fffffff,
1138} SpvRayFlagsShift;
1139
1140typedef enum SpvRayFlagsMask_ {
1141 SpvRayFlagsMaskNone = 0,
1142 SpvRayFlagsOpaqueKHRMask = 0x00000001,
1143 SpvRayFlagsNoOpaqueKHRMask = 0x00000002,
1144 SpvRayFlagsTerminateOnFirstHitKHRMask = 0x00000004,
1145 SpvRayFlagsSkipClosestHitShaderKHRMask = 0x00000008,
1146 SpvRayFlagsCullBackFacingTrianglesKHRMask = 0x00000010,
1147 SpvRayFlagsCullFrontFacingTrianglesKHRMask = 0x00000020,
1148 SpvRayFlagsCullOpaqueKHRMask = 0x00000040,
1149 SpvRayFlagsCullNoOpaqueKHRMask = 0x00000080,
1150 SpvRayFlagsSkipTrianglesKHRMask = 0x00000100,
1151 SpvRayFlagsSkipAABBsKHRMask = 0x00000200,
1152} SpvRayFlagsMask;
1153
1154typedef enum SpvRayQueryIntersection_ {
1155 SpvRayQueryIntersectionRayQueryCandidateIntersectionKHR = 0,
1156 SpvRayQueryIntersectionRayQueryCommittedIntersectionKHR = 1,
1157 SpvRayQueryIntersectionMax = 0x7fffffff,
1158} SpvRayQueryIntersection;
1159
1160typedef enum SpvRayQueryCommittedIntersectionType_ {
1161 SpvRayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionNoneKHR = 0,
1162 SpvRayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionTriangleKHR = 1,
1163 SpvRayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionGeneratedKHR = 2,
1164 SpvRayQueryCommittedIntersectionTypeMax = 0x7fffffff,
1165} SpvRayQueryCommittedIntersectionType;
1166
1167typedef enum SpvRayQueryCandidateIntersectionType_ {
1168 SpvRayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionTriangleKHR = 0,
1169 SpvRayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionAABBKHR = 1,
1170 SpvRayQueryCandidateIntersectionTypeMax = 0x7fffffff,
1171} SpvRayQueryCandidateIntersectionType;
1172
1173typedef enum SpvFragmentShadingRateShift_ {
1174 SpvFragmentShadingRateVertical2PixelsShift = 0,
1175 SpvFragmentShadingRateVertical4PixelsShift = 1,
1176 SpvFragmentShadingRateHorizontal2PixelsShift = 2,
1177 SpvFragmentShadingRateHorizontal4PixelsShift = 3,
1178 SpvFragmentShadingRateMax = 0x7fffffff,
1179} SpvFragmentShadingRateShift;
1180
1181typedef enum SpvFragmentShadingRateMask_ {
1182 SpvFragmentShadingRateMaskNone = 0,
1183 SpvFragmentShadingRateVertical2PixelsMask = 0x00000001,
1184 SpvFragmentShadingRateVertical4PixelsMask = 0x00000002,
1185 SpvFragmentShadingRateHorizontal2PixelsMask = 0x00000004,
1186 SpvFragmentShadingRateHorizontal4PixelsMask = 0x00000008,
1187} SpvFragmentShadingRateMask;
1188
1189typedef enum SpvFPDenormMode_ {
1190 SpvFPDenormModePreserve = 0,
1191 SpvFPDenormModeFlushToZero = 1,
1192 SpvFPDenormModeMax = 0x7fffffff,
1193} SpvFPDenormMode;
1194
1195typedef enum SpvFPOperationMode_ {
1196 SpvFPOperationModeIEEE = 0,
1197 SpvFPOperationModeALT = 1,
1198 SpvFPOperationModeMax = 0x7fffffff,
1199} SpvFPOperationMode;
1200
1201typedef enum SpvQuantizationModes_ {
1202 SpvQuantizationModesTRN = 0,
1203 SpvQuantizationModesTRN_ZERO = 1,
1204 SpvQuantizationModesRND = 2,
1205 SpvQuantizationModesRND_ZERO = 3,
1206 SpvQuantizationModesRND_INF = 4,
1207 SpvQuantizationModesRND_MIN_INF = 5,
1208 SpvQuantizationModesRND_CONV = 6,
1209 SpvQuantizationModesRND_CONV_ODD = 7,
1210 SpvQuantizationModesMax = 0x7fffffff,
1211} SpvQuantizationModes;
1212
1213typedef enum SpvOverflowModes_ {
1214 SpvOverflowModesWRAP = 0,
1215 SpvOverflowModesSAT = 1,
1216 SpvOverflowModesSAT_ZERO = 2,
1217 SpvOverflowModesSAT_SYM = 3,
1218 SpvOverflowModesMax = 0x7fffffff,
1219} SpvOverflowModes;
1220
1221typedef enum SpvPackedVectorFormat_ {
1222 SpvPackedVectorFormatPackedVectorFormat4x8Bit = 0,
1223 SpvPackedVectorFormatPackedVectorFormat4x8BitKHR = 0,
1224 SpvPackedVectorFormatMax = 0x7fffffff,
1225} SpvPackedVectorFormat;
1226
1227typedef enum SpvOp_ {
1228 SpvOpNop = 0,
1229 SpvOpUndef = 1,
1230 SpvOpSourceContinued = 2,
1231 SpvOpSource = 3,
1232 SpvOpSourceExtension = 4,
1233 SpvOpName = 5,
1234 SpvOpMemberName = 6,
1235 SpvOpString = 7,
1236 SpvOpLine = 8,
1237 SpvOpExtension = 10,
1238 SpvOpExtInstImport = 11,
1239 SpvOpExtInst = 12,
1240 SpvOpMemoryModel = 14,
1241 SpvOpEntryPoint = 15,
1242 SpvOpExecutionMode = 16,
1243 SpvOpCapability = 17,
1244 SpvOpTypeVoid = 19,
1245 SpvOpTypeBool = 20,
1246 SpvOpTypeInt = 21,
1247 SpvOpTypeFloat = 22,
1248 SpvOpTypeVector = 23,
1249 SpvOpTypeMatrix = 24,
1250 SpvOpTypeImage = 25,
1251 SpvOpTypeSampler = 26,
1252 SpvOpTypeSampledImage = 27,
1253 SpvOpTypeArray = 28,
1254 SpvOpTypeRuntimeArray = 29,
1255 SpvOpTypeStruct = 30,
1256 SpvOpTypeOpaque = 31,
1257 SpvOpTypePointer = 32,
1258 SpvOpTypeFunction = 33,
1259 SpvOpTypeEvent = 34,
1260 SpvOpTypeDeviceEvent = 35,
1261 SpvOpTypeReserveId = 36,
1262 SpvOpTypeQueue = 37,
1263 SpvOpTypePipe = 38,
1264 SpvOpTypeForwardPointer = 39,
1265 SpvOpConstantTrue = 41,
1266 SpvOpConstantFalse = 42,
1267 SpvOpConstant = 43,
1268 SpvOpConstantComposite = 44,
1269 SpvOpConstantSampler = 45,
1270 SpvOpConstantNull = 46,
1271 SpvOpSpecConstantTrue = 48,
1272 SpvOpSpecConstantFalse = 49,
1273 SpvOpSpecConstant = 50,
1274 SpvOpSpecConstantComposite = 51,
1275 SpvOpSpecConstantOp = 52,
1276 SpvOpFunction = 54,
1277 SpvOpFunctionParameter = 55,
1278 SpvOpFunctionEnd = 56,
1279 SpvOpFunctionCall = 57,
1280 SpvOpVariable = 59,
1281 SpvOpImageTexelPointer = 60,
1282 SpvOpLoad = 61,
1283 SpvOpStore = 62,
1284 SpvOpCopyMemory = 63,
1285 SpvOpCopyMemorySized = 64,
1286 SpvOpAccessChain = 65,
1287 SpvOpInBoundsAccessChain = 66,
1288 SpvOpPtrAccessChain = 67,
1289 SpvOpArrayLength = 68,
1290 SpvOpGenericPtrMemSemantics = 69,
1291 SpvOpInBoundsPtrAccessChain = 70,
1292 SpvOpDecorate = 71,
1293 SpvOpMemberDecorate = 72,
1294 SpvOpDecorationGroup = 73,
1295 SpvOpGroupDecorate = 74,
1296 SpvOpGroupMemberDecorate = 75,
1297 SpvOpVectorExtractDynamic = 77,
1298 SpvOpVectorInsertDynamic = 78,
1299 SpvOpVectorShuffle = 79,
1300 SpvOpCompositeConstruct = 80,
1301 SpvOpCompositeExtract = 81,
1302 SpvOpCompositeInsert = 82,
1303 SpvOpCopyObject = 83,
1304 SpvOpTranspose = 84,
1305 SpvOpSampledImage = 86,
1306 SpvOpImageSampleImplicitLod = 87,
1307 SpvOpImageSampleExplicitLod = 88,
1308 SpvOpImageSampleDrefImplicitLod = 89,
1309 SpvOpImageSampleDrefExplicitLod = 90,
1310 SpvOpImageSampleProjImplicitLod = 91,
1311 SpvOpImageSampleProjExplicitLod = 92,
1312 SpvOpImageSampleProjDrefImplicitLod = 93,
1313 SpvOpImageSampleProjDrefExplicitLod = 94,
1314 SpvOpImageFetch = 95,
1315 SpvOpImageGather = 96,
1316 SpvOpImageDrefGather = 97,
1317 SpvOpImageRead = 98,
1318 SpvOpImageWrite = 99,
1319 SpvOpImage = 100,
1320 SpvOpImageQueryFormat = 101,
1321 SpvOpImageQueryOrder = 102,
1322 SpvOpImageQuerySizeLod = 103,
1323 SpvOpImageQuerySize = 104,
1324 SpvOpImageQueryLod = 105,
1325 SpvOpImageQueryLevels = 106,
1326 SpvOpImageQuerySamples = 107,
1327 SpvOpConvertFToU = 109,
1328 SpvOpConvertFToS = 110,
1329 SpvOpConvertSToF = 111,
1330 SpvOpConvertUToF = 112,
1331 SpvOpUConvert = 113,
1332 SpvOpSConvert = 114,
1333 SpvOpFConvert = 115,
1334 SpvOpQuantizeToF16 = 116,
1335 SpvOpConvertPtrToU = 117,
1336 SpvOpSatConvertSToU = 118,
1337 SpvOpSatConvertUToS = 119,
1338 SpvOpConvertUToPtr = 120,
1339 SpvOpPtrCastToGeneric = 121,
1340 SpvOpGenericCastToPtr = 122,
1341 SpvOpGenericCastToPtrExplicit = 123,
1342 SpvOpBitcast = 124,
1343 SpvOpSNegate = 126,
1344 SpvOpFNegate = 127,
1345 SpvOpIAdd = 128,
1346 SpvOpFAdd = 129,
1347 SpvOpISub = 130,
1348 SpvOpFSub = 131,
1349 SpvOpIMul = 132,
1350 SpvOpFMul = 133,
1351 SpvOpUDiv = 134,
1352 SpvOpSDiv = 135,
1353 SpvOpFDiv = 136,
1354 SpvOpUMod = 137,
1355 SpvOpSRem = 138,
1356 SpvOpSMod = 139,
1357 SpvOpFRem = 140,
1358 SpvOpFMod = 141,
1359 SpvOpVectorTimesScalar = 142,
1360 SpvOpMatrixTimesScalar = 143,
1361 SpvOpVectorTimesMatrix = 144,
1362 SpvOpMatrixTimesVector = 145,
1363 SpvOpMatrixTimesMatrix = 146,
1364 SpvOpOuterProduct = 147,
1365 SpvOpDot = 148,
1366 SpvOpIAddCarry = 149,
1367 SpvOpISubBorrow = 150,
1368 SpvOpUMulExtended = 151,
1369 SpvOpSMulExtended = 152,
1370 SpvOpAny = 154,
1371 SpvOpAll = 155,
1372 SpvOpIsNan = 156,
1373 SpvOpIsInf = 157,
1374 SpvOpIsFinite = 158,
1375 SpvOpIsNormal = 159,
1376 SpvOpSignBitSet = 160,
1377 SpvOpLessOrGreater = 161,
1378 SpvOpOrdered = 162,
1379 SpvOpUnordered = 163,
1380 SpvOpLogicalEqual = 164,
1381 SpvOpLogicalNotEqual = 165,
1382 SpvOpLogicalOr = 166,
1383 SpvOpLogicalAnd = 167,
1384 SpvOpLogicalNot = 168,
1385 SpvOpSelect = 169,
1386 SpvOpIEqual = 170,
1387 SpvOpINotEqual = 171,
1388 SpvOpUGreaterThan = 172,
1389 SpvOpSGreaterThan = 173,
1390 SpvOpUGreaterThanEqual = 174,
1391 SpvOpSGreaterThanEqual = 175,
1392 SpvOpULessThan = 176,
1393 SpvOpSLessThan = 177,
1394 SpvOpULessThanEqual = 178,
1395 SpvOpSLessThanEqual = 179,
1396 SpvOpFOrdEqual = 180,
1397 SpvOpFUnordEqual = 181,
1398 SpvOpFOrdNotEqual = 182,
1399 SpvOpFUnordNotEqual = 183,
1400 SpvOpFOrdLessThan = 184,
1401 SpvOpFUnordLessThan = 185,
1402 SpvOpFOrdGreaterThan = 186,
1403 SpvOpFUnordGreaterThan = 187,
1404 SpvOpFOrdLessThanEqual = 188,
1405 SpvOpFUnordLessThanEqual = 189,
1406 SpvOpFOrdGreaterThanEqual = 190,
1407 SpvOpFUnordGreaterThanEqual = 191,
1408 SpvOpShiftRightLogical = 194,
1409 SpvOpShiftRightArithmetic = 195,
1410 SpvOpShiftLeftLogical = 196,
1411 SpvOpBitwiseOr = 197,
1412 SpvOpBitwiseXor = 198,
1413 SpvOpBitwiseAnd = 199,
1414 SpvOpNot = 200,
1415 SpvOpBitFieldInsert = 201,
1416 SpvOpBitFieldSExtract = 202,
1417 SpvOpBitFieldUExtract = 203,
1418 SpvOpBitReverse = 204,
1419 SpvOpBitCount = 205,
1420 SpvOpDPdx = 207,
1421 SpvOpDPdy = 208,
1422 SpvOpFwidth = 209,
1423 SpvOpDPdxFine = 210,
1424 SpvOpDPdyFine = 211,
1425 SpvOpFwidthFine = 212,
1426 SpvOpDPdxCoarse = 213,
1427 SpvOpDPdyCoarse = 214,
1428 SpvOpFwidthCoarse = 215,
1429 SpvOpEmitVertex = 218,
1430 SpvOpEndPrimitive = 219,
1431 SpvOpEmitStreamVertex = 220,
1432 SpvOpEndStreamPrimitive = 221,
1433 SpvOpControlBarrier = 224,
1434 SpvOpMemoryBarrier = 225,
1435 SpvOpAtomicLoad = 227,
1436 SpvOpAtomicStore = 228,
1437 SpvOpAtomicExchange = 229,
1438 SpvOpAtomicCompareExchange = 230,
1439 SpvOpAtomicCompareExchangeWeak = 231,
1440 SpvOpAtomicIIncrement = 232,
1441 SpvOpAtomicIDecrement = 233,
1442 SpvOpAtomicIAdd = 234,
1443 SpvOpAtomicISub = 235,
1444 SpvOpAtomicSMin = 236,
1445 SpvOpAtomicUMin = 237,
1446 SpvOpAtomicSMax = 238,
1447 SpvOpAtomicUMax = 239,
1448 SpvOpAtomicAnd = 240,
1449 SpvOpAtomicOr = 241,
1450 SpvOpAtomicXor = 242,
1451 SpvOpPhi = 245,
1452 SpvOpLoopMerge = 246,
1453 SpvOpSelectionMerge = 247,
1454 SpvOpLabel = 248,
1455 SpvOpBranch = 249,
1456 SpvOpBranchConditional = 250,
1457 SpvOpSwitch = 251,
1458 SpvOpKill = 252,
1459 SpvOpReturn = 253,
1460 SpvOpReturnValue = 254,
1461 SpvOpUnreachable = 255,
1462 SpvOpLifetimeStart = 256,
1463 SpvOpLifetimeStop = 257,
1464 SpvOpGroupAsyncCopy = 259,
1465 SpvOpGroupWaitEvents = 260,
1466 SpvOpGroupAll = 261,
1467 SpvOpGroupAny = 262,
1468 SpvOpGroupBroadcast = 263,
1469 SpvOpGroupIAdd = 264,
1470 SpvOpGroupFAdd = 265,
1471 SpvOpGroupFMin = 266,
1472 SpvOpGroupUMin = 267,
1473 SpvOpGroupSMin = 268,
1474 SpvOpGroupFMax = 269,
1475 SpvOpGroupUMax = 270,
1476 SpvOpGroupSMax = 271,
1477 SpvOpReadPipe = 274,
1478 SpvOpWritePipe = 275,
1479 SpvOpReservedReadPipe = 276,
1480 SpvOpReservedWritePipe = 277,
1481 SpvOpReserveReadPipePackets = 278,
1482 SpvOpReserveWritePipePackets = 279,
1483 SpvOpCommitReadPipe = 280,
1484 SpvOpCommitWritePipe = 281,
1485 SpvOpIsValidReserveId = 282,
1486 SpvOpGetNumPipePackets = 283,
1487 SpvOpGetMaxPipePackets = 284,
1488 SpvOpGroupReserveReadPipePackets = 285,
1489 SpvOpGroupReserveWritePipePackets = 286,
1490 SpvOpGroupCommitReadPipe = 287,
1491 SpvOpGroupCommitWritePipe = 288,
1492 SpvOpEnqueueMarker = 291,
1493 SpvOpEnqueueKernel = 292,
1494 SpvOpGetKernelNDrangeSubGroupCount = 293,
1495 SpvOpGetKernelNDrangeMaxSubGroupSize = 294,
1496 SpvOpGetKernelWorkGroupSize = 295,
1497 SpvOpGetKernelPreferredWorkGroupSizeMultiple = 296,
1498 SpvOpRetainEvent = 297,
1499 SpvOpReleaseEvent = 298,
1500 SpvOpCreateUserEvent = 299,
1501 SpvOpIsValidEvent = 300,
1502 SpvOpSetUserEventStatus = 301,
1503 SpvOpCaptureEventProfilingInfo = 302,
1504 SpvOpGetDefaultQueue = 303,
1505 SpvOpBuildNDRange = 304,
1506 SpvOpImageSparseSampleImplicitLod = 305,
1507 SpvOpImageSparseSampleExplicitLod = 306,
1508 SpvOpImageSparseSampleDrefImplicitLod = 307,
1509 SpvOpImageSparseSampleDrefExplicitLod = 308,
1510 SpvOpImageSparseSampleProjImplicitLod = 309,
1511 SpvOpImageSparseSampleProjExplicitLod = 310,
1512 SpvOpImageSparseSampleProjDrefImplicitLod = 311,
1513 SpvOpImageSparseSampleProjDrefExplicitLod = 312,
1514 SpvOpImageSparseFetch = 313,
1515 SpvOpImageSparseGather = 314,
1516 SpvOpImageSparseDrefGather = 315,
1517 SpvOpImageSparseTexelsResident = 316,
1518 SpvOpNoLine = 317,
1519 SpvOpAtomicFlagTestAndSet = 318,
1520 SpvOpAtomicFlagClear = 319,
1521 SpvOpImageSparseRead = 320,
1522 SpvOpSizeOf = 321,
1523 SpvOpTypePipeStorage = 322,
1524 SpvOpConstantPipeStorage = 323,
1525 SpvOpCreatePipeFromPipeStorage = 324,
1526 SpvOpGetKernelLocalSizeForSubgroupCount = 325,
1527 SpvOpGetKernelMaxNumSubgroups = 326,
1528 SpvOpTypeNamedBarrier = 327,
1529 SpvOpNamedBarrierInitialize = 328,
1530 SpvOpMemoryNamedBarrier = 329,
1531 SpvOpModuleProcessed = 330,
1532 SpvOpExecutionModeId = 331,
1533 SpvOpDecorateId = 332,
1534 SpvOpGroupNonUniformElect = 333,
1535 SpvOpGroupNonUniformAll = 334,
1536 SpvOpGroupNonUniformAny = 335,
1537 SpvOpGroupNonUniformAllEqual = 336,
1538 SpvOpGroupNonUniformBroadcast = 337,
1539 SpvOpGroupNonUniformBroadcastFirst = 338,
1540 SpvOpGroupNonUniformBallot = 339,
1541 SpvOpGroupNonUniformInverseBallot = 340,
1542 SpvOpGroupNonUniformBallotBitExtract = 341,
1543 SpvOpGroupNonUniformBallotBitCount = 342,
1544 SpvOpGroupNonUniformBallotFindLSB = 343,
1545 SpvOpGroupNonUniformBallotFindMSB = 344,
1546 SpvOpGroupNonUniformShuffle = 345,
1547 SpvOpGroupNonUniformShuffleXor = 346,
1548 SpvOpGroupNonUniformShuffleUp = 347,
1549 SpvOpGroupNonUniformShuffleDown = 348,
1550 SpvOpGroupNonUniformIAdd = 349,
1551 SpvOpGroupNonUniformFAdd = 350,
1552 SpvOpGroupNonUniformIMul = 351,
1553 SpvOpGroupNonUniformFMul = 352,
1554 SpvOpGroupNonUniformSMin = 353,
1555 SpvOpGroupNonUniformUMin = 354,
1556 SpvOpGroupNonUniformFMin = 355,
1557 SpvOpGroupNonUniformSMax = 356,
1558 SpvOpGroupNonUniformUMax = 357,
1559 SpvOpGroupNonUniformFMax = 358,
1560 SpvOpGroupNonUniformBitwiseAnd = 359,
1561 SpvOpGroupNonUniformBitwiseOr = 360,
1562 SpvOpGroupNonUniformBitwiseXor = 361,
1563 SpvOpGroupNonUniformLogicalAnd = 362,
1564 SpvOpGroupNonUniformLogicalOr = 363,
1565 SpvOpGroupNonUniformLogicalXor = 364,
1566 SpvOpGroupNonUniformQuadBroadcast = 365,
1567 SpvOpGroupNonUniformQuadSwap = 366,
1568 SpvOpCopyLogical = 400,
1569 SpvOpPtrEqual = 401,
1570 SpvOpPtrNotEqual = 402,
1571 SpvOpPtrDiff = 403,
1572 SpvOpTerminateInvocation = 4416,
1573 SpvOpSubgroupBallotKHR = 4421,
1574 SpvOpSubgroupFirstInvocationKHR = 4422,
1575 SpvOpSubgroupAllKHR = 4428,
1576 SpvOpSubgroupAnyKHR = 4429,
1577 SpvOpSubgroupAllEqualKHR = 4430,
1578 SpvOpGroupNonUniformRotateKHR = 4431,
1579 SpvOpSubgroupReadInvocationKHR = 4432,
1580 SpvOpTraceRayKHR = 4445,
1581 SpvOpExecuteCallableKHR = 4446,
1582 SpvOpConvertUToAccelerationStructureKHR = 4447,
1583 SpvOpIgnoreIntersectionKHR = 4448,
1584 SpvOpTerminateRayKHR = 4449,
1585 SpvOpSDot = 4450,
1586 SpvOpSDotKHR = 4450,
1587 SpvOpUDot = 4451,
1588 SpvOpUDotKHR = 4451,
1589 SpvOpSUDot = 4452,
1590 SpvOpSUDotKHR = 4452,
1591 SpvOpSDotAccSat = 4453,
1592 SpvOpSDotAccSatKHR = 4453,
1593 SpvOpUDotAccSat = 4454,
1594 SpvOpUDotAccSatKHR = 4454,
1595 SpvOpSUDotAccSat = 4455,
1596 SpvOpSUDotAccSatKHR = 4455,
1597 SpvOpTypeRayQueryKHR = 4472,
1598 SpvOpRayQueryInitializeKHR = 4473,
1599 SpvOpRayQueryTerminateKHR = 4474,
1600 SpvOpRayQueryGenerateIntersectionKHR = 4475,
1601 SpvOpRayQueryConfirmIntersectionKHR = 4476,
1602 SpvOpRayQueryProceedKHR = 4477,
1603 SpvOpRayQueryGetIntersectionTypeKHR = 4479,
1604 SpvOpImageSampleWeightedQCOM = 4480,
1605 SpvOpImageBoxFilterQCOM = 4481,
1606 SpvOpImageBlockMatchSSDQCOM = 4482,
1607 SpvOpImageBlockMatchSADQCOM = 4483,
1608 SpvOpGroupIAddNonUniformAMD = 5000,
1609 SpvOpGroupFAddNonUniformAMD = 5001,
1610 SpvOpGroupFMinNonUniformAMD = 5002,
1611 SpvOpGroupUMinNonUniformAMD = 5003,
1612 SpvOpGroupSMinNonUniformAMD = 5004,
1613 SpvOpGroupFMaxNonUniformAMD = 5005,
1614 SpvOpGroupUMaxNonUniformAMD = 5006,
1615 SpvOpGroupSMaxNonUniformAMD = 5007,
1616 SpvOpFragmentMaskFetchAMD = 5011,
1617 SpvOpFragmentFetchAMD = 5012,
1618 SpvOpReadClockKHR = 5056,
1619 SpvOpImageSampleFootprintNV = 5283,
1620 SpvOpEmitMeshTasksEXT = 5294,
1621 SpvOpSetMeshOutputsEXT = 5295,
1622 SpvOpGroupNonUniformPartitionNV = 5296,
1623 SpvOpWritePackedPrimitiveIndices4x8NV = 5299,
1624 SpvOpReportIntersectionKHR = 5334,
1625 SpvOpReportIntersectionNV = 5334,
1626 SpvOpIgnoreIntersectionNV = 5335,
1627 SpvOpTerminateRayNV = 5336,
1628 SpvOpTraceNV = 5337,
1629 SpvOpTraceMotionNV = 5338,
1630 SpvOpTraceRayMotionNV = 5339,
1631 SpvOpTypeAccelerationStructureKHR = 5341,
1632 SpvOpTypeAccelerationStructureNV = 5341,
1633 SpvOpExecuteCallableNV = 5344,
1634 SpvOpTypeCooperativeMatrixNV = 5358,
1635 SpvOpCooperativeMatrixLoadNV = 5359,
1636 SpvOpCooperativeMatrixStoreNV = 5360,
1637 SpvOpCooperativeMatrixMulAddNV = 5361,
1638 SpvOpCooperativeMatrixLengthNV = 5362,
1639 SpvOpBeginInvocationInterlockEXT = 5364,
1640 SpvOpEndInvocationInterlockEXT = 5365,
1641 SpvOpDemoteToHelperInvocation = 5380,
1642 SpvOpDemoteToHelperInvocationEXT = 5380,
1643 SpvOpIsHelperInvocationEXT = 5381,
1644 SpvOpConvertUToImageNV = 5391,
1645 SpvOpConvertUToSamplerNV = 5392,
1646 SpvOpConvertImageToUNV = 5393,
1647 SpvOpConvertSamplerToUNV = 5394,
1648 SpvOpConvertUToSampledImageNV = 5395,
1649 SpvOpConvertSampledImageToUNV = 5396,
1650 SpvOpSamplerImageAddressingModeNV = 5397,
1651 SpvOpSubgroupShuffleINTEL = 5571,
1652 SpvOpSubgroupShuffleDownINTEL = 5572,
1653 SpvOpSubgroupShuffleUpINTEL = 5573,
1654 SpvOpSubgroupShuffleXorINTEL = 5574,
1655 SpvOpSubgroupBlockReadINTEL = 5575,
1656 SpvOpSubgroupBlockWriteINTEL = 5576,
1657 SpvOpSubgroupImageBlockReadINTEL = 5577,
1658 SpvOpSubgroupImageBlockWriteINTEL = 5578,
1659 SpvOpSubgroupImageMediaBlockReadINTEL = 5580,
1660 SpvOpSubgroupImageMediaBlockWriteINTEL = 5581,
1661 SpvOpUCountLeadingZerosINTEL = 5585,
1662 SpvOpUCountTrailingZerosINTEL = 5586,
1663 SpvOpAbsISubINTEL = 5587,
1664 SpvOpAbsUSubINTEL = 5588,
1665 SpvOpIAddSatINTEL = 5589,
1666 SpvOpUAddSatINTEL = 5590,
1667 SpvOpIAverageINTEL = 5591,
1668 SpvOpUAverageINTEL = 5592,
1669 SpvOpIAverageRoundedINTEL = 5593,
1670 SpvOpUAverageRoundedINTEL = 5594,
1671 SpvOpISubSatINTEL = 5595,
1672 SpvOpUSubSatINTEL = 5596,
1673 SpvOpIMul32x16INTEL = 5597,
1674 SpvOpUMul32x16INTEL = 5598,
1675 SpvOpConstantFunctionPointerINTEL = 5600,
1676 SpvOpFunctionPointerCallINTEL = 5601,
1677 SpvOpAsmTargetINTEL = 5609,
1678 SpvOpAsmINTEL = 5610,
1679 SpvOpAsmCallINTEL = 5611,
1680 SpvOpAtomicFMinEXT = 5614,
1681 SpvOpAtomicFMaxEXT = 5615,
1682 SpvOpAssumeTrueKHR = 5630,
1683 SpvOpExpectKHR = 5631,
1684 SpvOpDecorateString = 5632,
1685 SpvOpDecorateStringGOOGLE = 5632,
1686 SpvOpMemberDecorateString = 5633,
1687 SpvOpMemberDecorateStringGOOGLE = 5633,
1688 SpvOpVmeImageINTEL = 5699,
1689 SpvOpTypeVmeImageINTEL = 5700,
1690 SpvOpTypeAvcImePayloadINTEL = 5701,
1691 SpvOpTypeAvcRefPayloadINTEL = 5702,
1692 SpvOpTypeAvcSicPayloadINTEL = 5703,
1693 SpvOpTypeAvcMcePayloadINTEL = 5704,
1694 SpvOpTypeAvcMceResultINTEL = 5705,
1695 SpvOpTypeAvcImeResultINTEL = 5706,
1696 SpvOpTypeAvcImeResultSingleReferenceStreamoutINTEL = 5707,
1697 SpvOpTypeAvcImeResultDualReferenceStreamoutINTEL = 5708,
1698 SpvOpTypeAvcImeSingleReferenceStreaminINTEL = 5709,
1699 SpvOpTypeAvcImeDualReferenceStreaminINTEL = 5710,
1700 SpvOpTypeAvcRefResultINTEL = 5711,
1701 SpvOpTypeAvcSicResultINTEL = 5712,
1702 SpvOpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL = 5713,
1703 SpvOpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL = 5714,
1704 SpvOpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL = 5715,
1705 SpvOpSubgroupAvcMceSetInterShapePenaltyINTEL = 5716,
1706 SpvOpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL = 5717,
1707 SpvOpSubgroupAvcMceSetInterDirectionPenaltyINTEL = 5718,
1708 SpvOpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL = 5719,
1709 SpvOpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL = 5720,
1710 SpvOpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL = 5721,
1711 SpvOpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL = 5722,
1712 SpvOpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL = 5723,
1713 SpvOpSubgroupAvcMceSetMotionVectorCostFunctionINTEL = 5724,
1714 SpvOpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL = 5725,
1715 SpvOpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL = 5726,
1716 SpvOpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL = 5727,
1717 SpvOpSubgroupAvcMceSetAcOnlyHaarINTEL = 5728,
1718 SpvOpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL = 5729,
1719 SpvOpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL = 5730,
1720 SpvOpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL = 5731,
1721 SpvOpSubgroupAvcMceConvertToImePayloadINTEL = 5732,
1722 SpvOpSubgroupAvcMceConvertToImeResultINTEL = 5733,
1723 SpvOpSubgroupAvcMceConvertToRefPayloadINTEL = 5734,
1724 SpvOpSubgroupAvcMceConvertToRefResultINTEL = 5735,
1725 SpvOpSubgroupAvcMceConvertToSicPayloadINTEL = 5736,
1726 SpvOpSubgroupAvcMceConvertToSicResultINTEL = 5737,
1727 SpvOpSubgroupAvcMceGetMotionVectorsINTEL = 5738,
1728 SpvOpSubgroupAvcMceGetInterDistortionsINTEL = 5739,
1729 SpvOpSubgroupAvcMceGetBestInterDistortionsINTEL = 5740,
1730 SpvOpSubgroupAvcMceGetInterMajorShapeINTEL = 5741,
1731 SpvOpSubgroupAvcMceGetInterMinorShapeINTEL = 5742,
1732 SpvOpSubgroupAvcMceGetInterDirectionsINTEL = 5743,
1733 SpvOpSubgroupAvcMceGetInterMotionVectorCountINTEL = 5744,
1734 SpvOpSubgroupAvcMceGetInterReferenceIdsINTEL = 5745,
1735 SpvOpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL = 5746,
1736 SpvOpSubgroupAvcImeInitializeINTEL = 5747,
1737 SpvOpSubgroupAvcImeSetSingleReferenceINTEL = 5748,
1738 SpvOpSubgroupAvcImeSetDualReferenceINTEL = 5749,
1739 SpvOpSubgroupAvcImeRefWindowSizeINTEL = 5750,
1740 SpvOpSubgroupAvcImeAdjustRefOffsetINTEL = 5751,
1741 SpvOpSubgroupAvcImeConvertToMcePayloadINTEL = 5752,
1742 SpvOpSubgroupAvcImeSetMaxMotionVectorCountINTEL = 5753,
1743 SpvOpSubgroupAvcImeSetUnidirectionalMixDisableINTEL = 5754,
1744 SpvOpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL = 5755,
1745 SpvOpSubgroupAvcImeSetWeightedSadINTEL = 5756,
1746 SpvOpSubgroupAvcImeEvaluateWithSingleReferenceINTEL = 5757,
1747 SpvOpSubgroupAvcImeEvaluateWithDualReferenceINTEL = 5758,
1748 SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL = 5759,
1749 SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL = 5760,
1750 SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL = 5761,
1751 SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL = 5762,
1752 SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL = 5763,
1753 SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL = 5764,
1754 SpvOpSubgroupAvcImeConvertToMceResultINTEL = 5765,
1755 SpvOpSubgroupAvcImeGetSingleReferenceStreaminINTEL = 5766,
1756 SpvOpSubgroupAvcImeGetDualReferenceStreaminINTEL = 5767,
1757 SpvOpSubgroupAvcImeStripSingleReferenceStreamoutINTEL = 5768,
1758 SpvOpSubgroupAvcImeStripDualReferenceStreamoutINTEL = 5769,
1759 SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL = 5770,
1760 SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL = 5771,
1761 SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL = 5772,
1762 SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL = 5773,
1763 SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL = 5774,
1764 SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL = 5775,
1765 SpvOpSubgroupAvcImeGetBorderReachedINTEL = 5776,
1766 SpvOpSubgroupAvcImeGetTruncatedSearchIndicationINTEL = 5777,
1767 SpvOpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL = 5778,
1768 SpvOpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL = 5779,
1769 SpvOpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL = 5780,
1770 SpvOpSubgroupAvcFmeInitializeINTEL = 5781,
1771 SpvOpSubgroupAvcBmeInitializeINTEL = 5782,
1772 SpvOpSubgroupAvcRefConvertToMcePayloadINTEL = 5783,
1773 SpvOpSubgroupAvcRefSetBidirectionalMixDisableINTEL = 5784,
1774 SpvOpSubgroupAvcRefSetBilinearFilterEnableINTEL = 5785,
1775 SpvOpSubgroupAvcRefEvaluateWithSingleReferenceINTEL = 5786,
1776 SpvOpSubgroupAvcRefEvaluateWithDualReferenceINTEL = 5787,
1777 SpvOpSubgroupAvcRefEvaluateWithMultiReferenceINTEL = 5788,
1778 SpvOpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL = 5789,
1779 SpvOpSubgroupAvcRefConvertToMceResultINTEL = 5790,
1780 SpvOpSubgroupAvcSicInitializeINTEL = 5791,
1781 SpvOpSubgroupAvcSicConfigureSkcINTEL = 5792,
1782 SpvOpSubgroupAvcSicConfigureIpeLumaINTEL = 5793,
1783 SpvOpSubgroupAvcSicConfigureIpeLumaChromaINTEL = 5794,
1784 SpvOpSubgroupAvcSicGetMotionVectorMaskINTEL = 5795,
1785 SpvOpSubgroupAvcSicConvertToMcePayloadINTEL = 5796,
1786 SpvOpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL = 5797,
1787 SpvOpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL = 5798,
1788 SpvOpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL = 5799,
1789 SpvOpSubgroupAvcSicSetBilinearFilterEnableINTEL = 5800,
1790 SpvOpSubgroupAvcSicSetSkcForwardTransformEnableINTEL = 5801,
1791 SpvOpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL = 5802,
1792 SpvOpSubgroupAvcSicEvaluateIpeINTEL = 5803,
1793 SpvOpSubgroupAvcSicEvaluateWithSingleReferenceINTEL = 5804,
1794 SpvOpSubgroupAvcSicEvaluateWithDualReferenceINTEL = 5805,
1795 SpvOpSubgroupAvcSicEvaluateWithMultiReferenceINTEL = 5806,
1796 SpvOpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL = 5807,
1797 SpvOpSubgroupAvcSicConvertToMceResultINTEL = 5808,
1798 SpvOpSubgroupAvcSicGetIpeLumaShapeINTEL = 5809,
1799 SpvOpSubgroupAvcSicGetBestIpeLumaDistortionINTEL = 5810,
1800 SpvOpSubgroupAvcSicGetBestIpeChromaDistortionINTEL = 5811,
1801 SpvOpSubgroupAvcSicGetPackedIpeLumaModesINTEL = 5812,
1802 SpvOpSubgroupAvcSicGetIpeChromaModeINTEL = 5813,
1803 SpvOpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
1804 SpvOpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
1805 SpvOpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
1806 SpvOpVariableLengthArrayINTEL = 5818,
1807 SpvOpSaveMemoryINTEL = 5819,
1808 SpvOpRestoreMemoryINTEL = 5820,
1809 SpvOpArbitraryFloatSinCosPiINTEL = 5840,
1810 SpvOpArbitraryFloatCastINTEL = 5841,
1811 SpvOpArbitraryFloatCastFromIntINTEL = 5842,
1812 SpvOpArbitraryFloatCastToIntINTEL = 5843,
1813 SpvOpArbitraryFloatAddINTEL = 5846,
1814 SpvOpArbitraryFloatSubINTEL = 5847,
1815 SpvOpArbitraryFloatMulINTEL = 5848,
1816 SpvOpArbitraryFloatDivINTEL = 5849,
1817 SpvOpArbitraryFloatGTINTEL = 5850,
1818 SpvOpArbitraryFloatGEINTEL = 5851,
1819 SpvOpArbitraryFloatLTINTEL = 5852,
1820 SpvOpArbitraryFloatLEINTEL = 5853,
1821 SpvOpArbitraryFloatEQINTEL = 5854,
1822 SpvOpArbitraryFloatRecipINTEL = 5855,
1823 SpvOpArbitraryFloatRSqrtINTEL = 5856,
1824 SpvOpArbitraryFloatCbrtINTEL = 5857,
1825 SpvOpArbitraryFloatHypotINTEL = 5858,
1826 SpvOpArbitraryFloatSqrtINTEL = 5859,
1827 SpvOpArbitraryFloatLogINTEL = 5860,
1828 SpvOpArbitraryFloatLog2INTEL = 5861,
1829 SpvOpArbitraryFloatLog10INTEL = 5862,
1830 SpvOpArbitraryFloatLog1pINTEL = 5863,
1831 SpvOpArbitraryFloatExpINTEL = 5864,
1832 SpvOpArbitraryFloatExp2INTEL = 5865,
1833 SpvOpArbitraryFloatExp10INTEL = 5866,
1834 SpvOpArbitraryFloatExpm1INTEL = 5867,
1835 SpvOpArbitraryFloatSinINTEL = 5868,
1836 SpvOpArbitraryFloatCosINTEL = 5869,
1837 SpvOpArbitraryFloatSinCosINTEL = 5870,
1838 SpvOpArbitraryFloatSinPiINTEL = 5871,
1839 SpvOpArbitraryFloatCosPiINTEL = 5872,
1840 SpvOpArbitraryFloatASinINTEL = 5873,
1841 SpvOpArbitraryFloatASinPiINTEL = 5874,
1842 SpvOpArbitraryFloatACosINTEL = 5875,
1843 SpvOpArbitraryFloatACosPiINTEL = 5876,
1844 SpvOpArbitraryFloatATanINTEL = 5877,
1845 SpvOpArbitraryFloatATanPiINTEL = 5878,
1846 SpvOpArbitraryFloatATan2INTEL = 5879,
1847 SpvOpArbitraryFloatPowINTEL = 5880,
1848 SpvOpArbitraryFloatPowRINTEL = 5881,
1849 SpvOpArbitraryFloatPowNINTEL = 5882,
1850 SpvOpLoopControlINTEL = 5887,
1851 SpvOpAliasDomainDeclINTEL = 5911,
1852 SpvOpAliasScopeDeclINTEL = 5912,
1853 SpvOpAliasScopeListDeclINTEL = 5913,
1854 SpvOpFixedSqrtINTEL = 5923,
1855 SpvOpFixedRecipINTEL = 5924,
1856 SpvOpFixedRsqrtINTEL = 5925,
1857 SpvOpFixedSinINTEL = 5926,
1858 SpvOpFixedCosINTEL = 5927,
1859 SpvOpFixedSinCosINTEL = 5928,
1860 SpvOpFixedSinPiINTEL = 5929,
1861 SpvOpFixedCosPiINTEL = 5930,
1862 SpvOpFixedSinCosPiINTEL = 5931,
1863 SpvOpFixedLogINTEL = 5932,
1864 SpvOpFixedExpINTEL = 5933,
1865 SpvOpPtrCastToCrossWorkgroupINTEL = 5934,
1866 SpvOpCrossWorkgroupCastToPtrINTEL = 5938,
1867 SpvOpReadPipeBlockingINTEL = 5946,
1868 SpvOpWritePipeBlockingINTEL = 5947,
1869 SpvOpFPGARegINTEL = 5949,
1870 SpvOpRayQueryGetRayTMinKHR = 6016,
1871 SpvOpRayQueryGetRayFlagsKHR = 6017,
1872 SpvOpRayQueryGetIntersectionTKHR = 6018,
1873 SpvOpRayQueryGetIntersectionInstanceCustomIndexKHR = 6019,
1874 SpvOpRayQueryGetIntersectionInstanceIdKHR = 6020,
1875 SpvOpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR = 6021,
1876 SpvOpRayQueryGetIntersectionGeometryIndexKHR = 6022,
1877 SpvOpRayQueryGetIntersectionPrimitiveIndexKHR = 6023,
1878 SpvOpRayQueryGetIntersectionBarycentricsKHR = 6024,
1879 SpvOpRayQueryGetIntersectionFrontFaceKHR = 6025,
1880 SpvOpRayQueryGetIntersectionCandidateAABBOpaqueKHR = 6026,
1881 SpvOpRayQueryGetIntersectionObjectRayDirectionKHR = 6027,
1882 SpvOpRayQueryGetIntersectionObjectRayOriginKHR = 6028,
1883 SpvOpRayQueryGetWorldRayDirectionKHR = 6029,
1884 SpvOpRayQueryGetWorldRayOriginKHR = 6030,
1885 SpvOpRayQueryGetIntersectionObjectToWorldKHR = 6031,
1886 SpvOpRayQueryGetIntersectionWorldToObjectKHR = 6032,
1887 SpvOpAtomicFAddEXT = 6035,
1888 SpvOpTypeBufferSurfaceINTEL = 6086,
1889 SpvOpTypeStructContinuedINTEL = 6090,
1890 SpvOpConstantCompositeContinuedINTEL = 6091,
1891 SpvOpSpecConstantCompositeContinuedINTEL = 6092,
1892 SpvOpControlBarrierArriveINTEL = 6142,
1893 SpvOpControlBarrierWaitINTEL = 6143,
1894 SpvOpGroupIMulKHR = 6401,
1895 SpvOpGroupFMulKHR = 6402,
1896 SpvOpGroupBitwiseAndKHR = 6403,
1897 SpvOpGroupBitwiseOrKHR = 6404,
1898 SpvOpGroupBitwiseXorKHR = 6405,
1899 SpvOpGroupLogicalAndKHR = 6406,
1900 SpvOpGroupLogicalOrKHR = 6407,
1901 SpvOpGroupLogicalXorKHR = 6408,
1902 SpvOpMax = 0x7fffffff,
1903} SpvOp;
1904
1905#ifdef SPV_ENABLE_UTILITY_CODE
1906#ifndef __cplusplus
1907#include <stdbool.h>
1908#endif
1909inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultType) {
1910 *hasResult = *hasResultType = false;
1911 switch (opcode) {
1912 default: /* unknown opcode */ break;
1913 case SpvOpNop: *hasResult = false; *hasResultType = false; break;
1914 case SpvOpUndef: *hasResult = true; *hasResultType = true; break;
1915 case SpvOpSourceContinued: *hasResult = false; *hasResultType = false; break;
1916 case SpvOpSource: *hasResult = false; *hasResultType = false; break;
1917 case SpvOpSourceExtension: *hasResult = false; *hasResultType = false; break;
1918 case SpvOpName: *hasResult = false; *hasResultType = false; break;
1919 case SpvOpMemberName: *hasResult = false; *hasResultType = false; break;
1920 case SpvOpString: *hasResult = true; *hasResultType = false; break;
1921 case SpvOpLine: *hasResult = false; *hasResultType = false; break;
1922 case SpvOpExtension: *hasResult = false; *hasResultType = false; break;
1923 case SpvOpExtInstImport: *hasResult = true; *hasResultType = false; break;
1924 case SpvOpExtInst: *hasResult = true; *hasResultType = true; break;
1925 case SpvOpMemoryModel: *hasResult = false; *hasResultType = false; break;
1926 case SpvOpEntryPoint: *hasResult = false; *hasResultType = false; break;
1927 case SpvOpExecutionMode: *hasResult = false; *hasResultType = false; break;
1928 case SpvOpCapability: *hasResult = false; *hasResultType = false; break;
1929 case SpvOpTypeVoid: *hasResult = true; *hasResultType = false; break;
1930 case SpvOpTypeBool: *hasResult = true; *hasResultType = false; break;
1931 case SpvOpTypeInt: *hasResult = true; *hasResultType = false; break;
1932 case SpvOpTypeFloat: *hasResult = true; *hasResultType = false; break;
1933 case SpvOpTypeVector: *hasResult = true; *hasResultType = false; break;
1934 case SpvOpTypeMatrix: *hasResult = true; *hasResultType = false; break;
1935 case SpvOpTypeImage: *hasResult = true; *hasResultType = false; break;
1936 case SpvOpTypeSampler: *hasResult = true; *hasResultType = false; break;
1937 case SpvOpTypeSampledImage: *hasResult = true; *hasResultType = false; break;
1938 case SpvOpTypeArray: *hasResult = true; *hasResultType = false; break;
1939 case SpvOpTypeRuntimeArray: *hasResult = true; *hasResultType = false; break;
1940 case SpvOpTypeStruct: *hasResult = true; *hasResultType = false; break;
1941 case SpvOpTypeOpaque: *hasResult = true; *hasResultType = false; break;
1942 case SpvOpTypePointer: *hasResult = true; *hasResultType = false; break;
1943 case SpvOpTypeFunction: *hasResult = true; *hasResultType = false; break;
1944 case SpvOpTypeEvent: *hasResult = true; *hasResultType = false; break;
1945 case SpvOpTypeDeviceEvent: *hasResult = true; *hasResultType = false; break;
1946 case SpvOpTypeReserveId: *hasResult = true; *hasResultType = false; break;
1947 case SpvOpTypeQueue: *hasResult = true; *hasResultType = false; break;
1948 case SpvOpTypePipe: *hasResult = true; *hasResultType = false; break;
1949 case SpvOpTypeForwardPointer: *hasResult = false; *hasResultType = false; break;
1950 case SpvOpConstantTrue: *hasResult = true; *hasResultType = true; break;
1951 case SpvOpConstantFalse: *hasResult = true; *hasResultType = true; break;
1952 case SpvOpConstant: *hasResult = true; *hasResultType = true; break;
1953 case SpvOpConstantComposite: *hasResult = true; *hasResultType = true; break;
1954 case SpvOpConstantSampler: *hasResult = true; *hasResultType = true; break;
1955 case SpvOpConstantNull: *hasResult = true; *hasResultType = true; break;
1956 case SpvOpSpecConstantTrue: *hasResult = true; *hasResultType = true; break;
1957 case SpvOpSpecConstantFalse: *hasResult = true; *hasResultType = true; break;
1958 case SpvOpSpecConstant: *hasResult = true; *hasResultType = true; break;
1959 case SpvOpSpecConstantComposite: *hasResult = true; *hasResultType = true; break;
1960 case SpvOpSpecConstantOp: *hasResult = true; *hasResultType = true; break;
1961 case SpvOpFunction: *hasResult = true; *hasResultType = true; break;
1962 case SpvOpFunctionParameter: *hasResult = true; *hasResultType = true; break;
1963 case SpvOpFunctionEnd: *hasResult = false; *hasResultType = false; break;
1964 case SpvOpFunctionCall: *hasResult = true; *hasResultType = true; break;
1965 case SpvOpVariable: *hasResult = true; *hasResultType = true; break;
1966 case SpvOpImageTexelPointer: *hasResult = true; *hasResultType = true; break;
1967 case SpvOpLoad: *hasResult = true; *hasResultType = true; break;
1968 case SpvOpStore: *hasResult = false; *hasResultType = false; break;
1969 case SpvOpCopyMemory: *hasResult = false; *hasResultType = false; break;
1970 case SpvOpCopyMemorySized: *hasResult = false; *hasResultType = false; break;
1971 case SpvOpAccessChain: *hasResult = true; *hasResultType = true; break;
1972 case SpvOpInBoundsAccessChain: *hasResult = true; *hasResultType = true; break;
1973 case SpvOpPtrAccessChain: *hasResult = true; *hasResultType = true; break;
1974 case SpvOpArrayLength: *hasResult = true; *hasResultType = true; break;
1975 case SpvOpGenericPtrMemSemantics: *hasResult = true; *hasResultType = true; break;
1976 case SpvOpInBoundsPtrAccessChain: *hasResult = true; *hasResultType = true; break;
1977 case SpvOpDecorate: *hasResult = false; *hasResultType = false; break;
1978 case SpvOpMemberDecorate: *hasResult = false; *hasResultType = false; break;
1979 case SpvOpDecorationGroup: *hasResult = true; *hasResultType = false; break;
1980 case SpvOpGroupDecorate: *hasResult = false; *hasResultType = false; break;
1981 case SpvOpGroupMemberDecorate: *hasResult = false; *hasResultType = false; break;
1982 case SpvOpVectorExtractDynamic: *hasResult = true; *hasResultType = true; break;
1983 case SpvOpVectorInsertDynamic: *hasResult = true; *hasResultType = true; break;
1984 case SpvOpVectorShuffle: *hasResult = true; *hasResultType = true; break;
1985 case SpvOpCompositeConstruct: *hasResult = true; *hasResultType = true; break;
1986 case SpvOpCompositeExtract: *hasResult = true; *hasResultType = true; break;
1987 case SpvOpCompositeInsert: *hasResult = true; *hasResultType = true; break;
1988 case SpvOpCopyObject: *hasResult = true; *hasResultType = true; break;
1989 case SpvOpTranspose: *hasResult = true; *hasResultType = true; break;
1990 case SpvOpSampledImage: *hasResult = true; *hasResultType = true; break;
1991 case SpvOpImageSampleImplicitLod: *hasResult = true; *hasResultType = true; break;
1992 case SpvOpImageSampleExplicitLod: *hasResult = true; *hasResultType = true; break;
1993 case SpvOpImageSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
1994 case SpvOpImageSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
1995 case SpvOpImageSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break;
1996 case SpvOpImageSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break;
1997 case SpvOpImageSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
1998 case SpvOpImageSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
1999 case SpvOpImageFetch: *hasResult = true; *hasResultType = true; break;
2000 case SpvOpImageGather: *hasResult = true; *hasResultType = true; break;
2001 case SpvOpImageDrefGather: *hasResult = true; *hasResultType = true; break;
2002 case SpvOpImageRead: *hasResult = true; *hasResultType = true; break;
2003 case SpvOpImageWrite: *hasResult = false; *hasResultType = false; break;
2004 case SpvOpImage: *hasResult = true; *hasResultType = true; break;
2005 case SpvOpImageQueryFormat: *hasResult = true; *hasResultType = true; break;
2006 case SpvOpImageQueryOrder: *hasResult = true; *hasResultType = true; break;
2007 case SpvOpImageQuerySizeLod: *hasResult = true; *hasResultType = true; break;
2008 case SpvOpImageQuerySize: *hasResult = true; *hasResultType = true; break;
2009 case SpvOpImageQueryLod: *hasResult = true; *hasResultType = true; break;
2010 case SpvOpImageQueryLevels: *hasResult = true; *hasResultType = true; break;
2011 case SpvOpImageQuerySamples: *hasResult = true; *hasResultType = true; break;
2012 case SpvOpConvertFToU: *hasResult = true; *hasResultType = true; break;
2013 case SpvOpConvertFToS: *hasResult = true; *hasResultType = true; break;
2014 case SpvOpConvertSToF: *hasResult = true; *hasResultType = true; break;
2015 case SpvOpConvertUToF: *hasResult = true; *hasResultType = true; break;
2016 case SpvOpUConvert: *hasResult = true; *hasResultType = true; break;
2017 case SpvOpSConvert: *hasResult = true; *hasResultType = true; break;
2018 case SpvOpFConvert: *hasResult = true; *hasResultType = true; break;
2019 case SpvOpQuantizeToF16: *hasResult = true; *hasResultType = true; break;
2020 case SpvOpConvertPtrToU: *hasResult = true; *hasResultType = true; break;
2021 case SpvOpSatConvertSToU: *hasResult = true; *hasResultType = true; break;
2022 case SpvOpSatConvertUToS: *hasResult = true; *hasResultType = true; break;
2023 case SpvOpConvertUToPtr: *hasResult = true; *hasResultType = true; break;
2024 case SpvOpPtrCastToGeneric: *hasResult = true; *hasResultType = true; break;
2025 case SpvOpGenericCastToPtr: *hasResult = true; *hasResultType = true; break;
2026 case SpvOpGenericCastToPtrExplicit: *hasResult = true; *hasResultType = true; break;
2027 case SpvOpBitcast: *hasResult = true; *hasResultType = true; break;
2028 case SpvOpSNegate: *hasResult = true; *hasResultType = true; break;
2029 case SpvOpFNegate: *hasResult = true; *hasResultType = true; break;
2030 case SpvOpIAdd: *hasResult = true; *hasResultType = true; break;
2031 case SpvOpFAdd: *hasResult = true; *hasResultType = true; break;
2032 case SpvOpISub: *hasResult = true; *hasResultType = true; break;
2033 case SpvOpFSub: *hasResult = true; *hasResultType = true; break;
2034 case SpvOpIMul: *hasResult = true; *hasResultType = true; break;
2035 case SpvOpFMul: *hasResult = true; *hasResultType = true; break;
2036 case SpvOpUDiv: *hasResult = true; *hasResultType = true; break;
2037 case SpvOpSDiv: *hasResult = true; *hasResultType = true; break;
2038 case SpvOpFDiv: *hasResult = true; *hasResultType = true; break;
2039 case SpvOpUMod: *hasResult = true; *hasResultType = true; break;
2040 case SpvOpSRem: *hasResult = true; *hasResultType = true; break;
2041 case SpvOpSMod: *hasResult = true; *hasResultType = true; break;
2042 case SpvOpFRem: *hasResult = true; *hasResultType = true; break;
2043 case SpvOpFMod: *hasResult = true; *hasResultType = true; break;
2044 case SpvOpVectorTimesScalar: *hasResult = true; *hasResultType = true; break;
2045 case SpvOpMatrixTimesScalar: *hasResult = true; *hasResultType = true; break;
2046 case SpvOpVectorTimesMatrix: *hasResult = true; *hasResultType = true; break;
2047 case SpvOpMatrixTimesVector: *hasResult = true; *hasResultType = true; break;
2048 case SpvOpMatrixTimesMatrix: *hasResult = true; *hasResultType = true; break;
2049 case SpvOpOuterProduct: *hasResult = true; *hasResultType = true; break;
2050 case SpvOpDot: *hasResult = true; *hasResultType = true; break;
2051 case SpvOpIAddCarry: *hasResult = true; *hasResultType = true; break;
2052 case SpvOpISubBorrow: *hasResult = true; *hasResultType = true; break;
2053 case SpvOpUMulExtended: *hasResult = true; *hasResultType = true; break;
2054 case SpvOpSMulExtended: *hasResult = true; *hasResultType = true; break;
2055 case SpvOpAny: *hasResult = true; *hasResultType = true; break;
2056 case SpvOpAll: *hasResult = true; *hasResultType = true; break;
2057 case SpvOpIsNan: *hasResult = true; *hasResultType = true; break;
2058 case SpvOpIsInf: *hasResult = true; *hasResultType = true; break;
2059 case SpvOpIsFinite: *hasResult = true; *hasResultType = true; break;
2060 case SpvOpIsNormal: *hasResult = true; *hasResultType = true; break;
2061 case SpvOpSignBitSet: *hasResult = true; *hasResultType = true; break;
2062 case SpvOpLessOrGreater: *hasResult = true; *hasResultType = true; break;
2063 case SpvOpOrdered: *hasResult = true; *hasResultType = true; break;
2064 case SpvOpUnordered: *hasResult = true; *hasResultType = true; break;
2065 case SpvOpLogicalEqual: *hasResult = true; *hasResultType = true; break;
2066 case SpvOpLogicalNotEqual: *hasResult = true; *hasResultType = true; break;
2067 case SpvOpLogicalOr: *hasResult = true; *hasResultType = true; break;
2068 case SpvOpLogicalAnd: *hasResult = true; *hasResultType = true; break;
2069 case SpvOpLogicalNot: *hasResult = true; *hasResultType = true; break;
2070 case SpvOpSelect: *hasResult = true; *hasResultType = true; break;
2071 case SpvOpIEqual: *hasResult = true; *hasResultType = true; break;
2072 case SpvOpINotEqual: *hasResult = true; *hasResultType = true; break;
2073 case SpvOpUGreaterThan: *hasResult = true; *hasResultType = true; break;
2074 case SpvOpSGreaterThan: *hasResult = true; *hasResultType = true; break;
2075 case SpvOpUGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
2076 case SpvOpSGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
2077 case SpvOpULessThan: *hasResult = true; *hasResultType = true; break;
2078 case SpvOpSLessThan: *hasResult = true; *hasResultType = true; break;
2079 case SpvOpULessThanEqual: *hasResult = true; *hasResultType = true; break;
2080 case SpvOpSLessThanEqual: *hasResult = true; *hasResultType = true; break;
2081 case SpvOpFOrdEqual: *hasResult = true; *hasResultType = true; break;
2082 case SpvOpFUnordEqual: *hasResult = true; *hasResultType = true; break;
2083 case SpvOpFOrdNotEqual: *hasResult = true; *hasResultType = true; break;
2084 case SpvOpFUnordNotEqual: *hasResult = true; *hasResultType = true; break;
2085 case SpvOpFOrdLessThan: *hasResult = true; *hasResultType = true; break;
2086 case SpvOpFUnordLessThan: *hasResult = true; *hasResultType = true; break;
2087 case SpvOpFOrdGreaterThan: *hasResult = true; *hasResultType = true; break;
2088 case SpvOpFUnordGreaterThan: *hasResult = true; *hasResultType = true; break;
2089 case SpvOpFOrdLessThanEqual: *hasResult = true; *hasResultType = true; break;
2090 case SpvOpFUnordLessThanEqual: *hasResult = true; *hasResultType = true; break;
2091 case SpvOpFOrdGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
2092 case SpvOpFUnordGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
2093 case SpvOpShiftRightLogical: *hasResult = true; *hasResultType = true; break;
2094 case SpvOpShiftRightArithmetic: *hasResult = true; *hasResultType = true; break;
2095 case SpvOpShiftLeftLogical: *hasResult = true; *hasResultType = true; break;
2096 case SpvOpBitwiseOr: *hasResult = true; *hasResultType = true; break;
2097 case SpvOpBitwiseXor: *hasResult = true; *hasResultType = true; break;
2098 case SpvOpBitwiseAnd: *hasResult = true; *hasResultType = true; break;
2099 case SpvOpNot: *hasResult = true; *hasResultType = true; break;
2100 case SpvOpBitFieldInsert: *hasResult = true; *hasResultType = true; break;
2101 case SpvOpBitFieldSExtract: *hasResult = true; *hasResultType = true; break;
2102 case SpvOpBitFieldUExtract: *hasResult = true; *hasResultType = true; break;
2103 case SpvOpBitReverse: *hasResult = true; *hasResultType = true; break;
2104 case SpvOpBitCount: *hasResult = true; *hasResultType = true; break;
2105 case SpvOpDPdx: *hasResult = true; *hasResultType = true; break;
2106 case SpvOpDPdy: *hasResult = true; *hasResultType = true; break;
2107 case SpvOpFwidth: *hasResult = true; *hasResultType = true; break;
2108 case SpvOpDPdxFine: *hasResult = true; *hasResultType = true; break;
2109 case SpvOpDPdyFine: *hasResult = true; *hasResultType = true; break;
2110 case SpvOpFwidthFine: *hasResult = true; *hasResultType = true; break;
2111 case SpvOpDPdxCoarse: *hasResult = true; *hasResultType = true; break;
2112 case SpvOpDPdyCoarse: *hasResult = true; *hasResultType = true; break;
2113 case SpvOpFwidthCoarse: *hasResult = true; *hasResultType = true; break;
2114 case SpvOpEmitVertex: *hasResult = false; *hasResultType = false; break;
2115 case SpvOpEndPrimitive: *hasResult = false; *hasResultType = false; break;
2116 case SpvOpEmitStreamVertex: *hasResult = false; *hasResultType = false; break;
2117 case SpvOpEndStreamPrimitive: *hasResult = false; *hasResultType = false; break;
2118 case SpvOpControlBarrier: *hasResult = false; *hasResultType = false; break;
2119 case SpvOpMemoryBarrier: *hasResult = false; *hasResultType = false; break;
2120 case SpvOpAtomicLoad: *hasResult = true; *hasResultType = true; break;
2121 case SpvOpAtomicStore: *hasResult = false; *hasResultType = false; break;
2122 case SpvOpAtomicExchange: *hasResult = true; *hasResultType = true; break;
2123 case SpvOpAtomicCompareExchange: *hasResult = true; *hasResultType = true; break;
2124 case SpvOpAtomicCompareExchangeWeak: *hasResult = true; *hasResultType = true; break;
2125 case SpvOpAtomicIIncrement: *hasResult = true; *hasResultType = true; break;
2126 case SpvOpAtomicIDecrement: *hasResult = true; *hasResultType = true; break;
2127 case SpvOpAtomicIAdd: *hasResult = true; *hasResultType = true; break;
2128 case SpvOpAtomicISub: *hasResult = true; *hasResultType = true; break;
2129 case SpvOpAtomicSMin: *hasResult = true; *hasResultType = true; break;
2130 case SpvOpAtomicUMin: *hasResult = true; *hasResultType = true; break;
2131 case SpvOpAtomicSMax: *hasResult = true; *hasResultType = true; break;
2132 case SpvOpAtomicUMax: *hasResult = true; *hasResultType = true; break;
2133 case SpvOpAtomicAnd: *hasResult = true; *hasResultType = true; break;
2134 case SpvOpAtomicOr: *hasResult = true; *hasResultType = true; break;
2135 case SpvOpAtomicXor: *hasResult = true; *hasResultType = true; break;
2136 case SpvOpPhi: *hasResult = true; *hasResultType = true; break;
2137 case SpvOpLoopMerge: *hasResult = false; *hasResultType = false; break;
2138 case SpvOpSelectionMerge: *hasResult = false; *hasResultType = false; break;
2139 case SpvOpLabel: *hasResult = true; *hasResultType = false; break;
2140 case SpvOpBranch: *hasResult = false; *hasResultType = false; break;
2141 case SpvOpBranchConditional: *hasResult = false; *hasResultType = false; break;
2142 case SpvOpSwitch: *hasResult = false; *hasResultType = false; break;
2143 case SpvOpKill: *hasResult = false; *hasResultType = false; break;
2144 case SpvOpReturn: *hasResult = false; *hasResultType = false; break;
2145 case SpvOpReturnValue: *hasResult = false; *hasResultType = false; break;
2146 case SpvOpUnreachable: *hasResult = false; *hasResultType = false; break;
2147 case SpvOpLifetimeStart: *hasResult = false; *hasResultType = false; break;
2148 case SpvOpLifetimeStop: *hasResult = false; *hasResultType = false; break;
2149 case SpvOpGroupAsyncCopy: *hasResult = true; *hasResultType = true; break;
2150 case SpvOpGroupWaitEvents: *hasResult = false; *hasResultType = false; break;
2151 case SpvOpGroupAll: *hasResult = true; *hasResultType = true; break;
2152 case SpvOpGroupAny: *hasResult = true; *hasResultType = true; break;
2153 case SpvOpGroupBroadcast: *hasResult = true; *hasResultType = true; break;
2154 case SpvOpGroupIAdd: *hasResult = true; *hasResultType = true; break;
2155 case SpvOpGroupFAdd: *hasResult = true; *hasResultType = true; break;
2156 case SpvOpGroupFMin: *hasResult = true; *hasResultType = true; break;
2157 case SpvOpGroupUMin: *hasResult = true; *hasResultType = true; break;
2158 case SpvOpGroupSMin: *hasResult = true; *hasResultType = true; break;
2159 case SpvOpGroupFMax: *hasResult = true; *hasResultType = true; break;
2160 case SpvOpGroupUMax: *hasResult = true; *hasResultType = true; break;
2161 case SpvOpGroupSMax: *hasResult = true; *hasResultType = true; break;
2162 case SpvOpReadPipe: *hasResult = true; *hasResultType = true; break;
2163 case SpvOpWritePipe: *hasResult = true; *hasResultType = true; break;
2164 case SpvOpReservedReadPipe: *hasResult = true; *hasResultType = true; break;
2165 case SpvOpReservedWritePipe: *hasResult = true; *hasResultType = true; break;
2166 case SpvOpReserveReadPipePackets: *hasResult = true; *hasResultType = true; break;
2167 case SpvOpReserveWritePipePackets: *hasResult = true; *hasResultType = true; break;
2168 case SpvOpCommitReadPipe: *hasResult = false; *hasResultType = false; break;
2169 case SpvOpCommitWritePipe: *hasResult = false; *hasResultType = false; break;
2170 case SpvOpIsValidReserveId: *hasResult = true; *hasResultType = true; break;
2171 case SpvOpGetNumPipePackets: *hasResult = true; *hasResultType = true; break;
2172 case SpvOpGetMaxPipePackets: *hasResult = true; *hasResultType = true; break;
2173 case SpvOpGroupReserveReadPipePackets: *hasResult = true; *hasResultType = true; break;
2174 case SpvOpGroupReserveWritePipePackets: *hasResult = true; *hasResultType = true; break;
2175 case SpvOpGroupCommitReadPipe: *hasResult = false; *hasResultType = false; break;
2176 case SpvOpGroupCommitWritePipe: *hasResult = false; *hasResultType = false; break;
2177 case SpvOpEnqueueMarker: *hasResult = true; *hasResultType = true; break;
2178 case SpvOpEnqueueKernel: *hasResult = true; *hasResultType = true; break;
2179 case SpvOpGetKernelNDrangeSubGroupCount: *hasResult = true; *hasResultType = true; break;
2180 case SpvOpGetKernelNDrangeMaxSubGroupSize: *hasResult = true; *hasResultType = true; break;
2181 case SpvOpGetKernelWorkGroupSize: *hasResult = true; *hasResultType = true; break;
2182 case SpvOpGetKernelPreferredWorkGroupSizeMultiple: *hasResult = true; *hasResultType = true; break;
2183 case SpvOpRetainEvent: *hasResult = false; *hasResultType = false; break;
2184 case SpvOpReleaseEvent: *hasResult = false; *hasResultType = false; break;
2185 case SpvOpCreateUserEvent: *hasResult = true; *hasResultType = true; break;
2186 case SpvOpIsValidEvent: *hasResult = true; *hasResultType = true; break;
2187 case SpvOpSetUserEventStatus: *hasResult = false; *hasResultType = false; break;
2188 case SpvOpCaptureEventProfilingInfo: *hasResult = false; *hasResultType = false; break;
2189 case SpvOpGetDefaultQueue: *hasResult = true; *hasResultType = true; break;
2190 case SpvOpBuildNDRange: *hasResult = true; *hasResultType = true; break;
2191 case SpvOpImageSparseSampleImplicitLod: *hasResult = true; *hasResultType = true; break;
2192 case SpvOpImageSparseSampleExplicitLod: *hasResult = true; *hasResultType = true; break;
2193 case SpvOpImageSparseSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
2194 case SpvOpImageSparseSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
2195 case SpvOpImageSparseSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break;
2196 case SpvOpImageSparseSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break;
2197 case SpvOpImageSparseSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
2198 case SpvOpImageSparseSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
2199 case SpvOpImageSparseFetch: *hasResult = true; *hasResultType = true; break;
2200 case SpvOpImageSparseGather: *hasResult = true; *hasResultType = true; break;
2201 case SpvOpImageSparseDrefGather: *hasResult = true; *hasResultType = true; break;
2202 case SpvOpImageSparseTexelsResident: *hasResult = true; *hasResultType = true; break;
2203 case SpvOpNoLine: *hasResult = false; *hasResultType = false; break;
2204 case SpvOpAtomicFlagTestAndSet: *hasResult = true; *hasResultType = true; break;
2205 case SpvOpAtomicFlagClear: *hasResult = false; *hasResultType = false; break;
2206 case SpvOpImageSparseRead: *hasResult = true; *hasResultType = true; break;
2207 case SpvOpSizeOf: *hasResult = true; *hasResultType = true; break;
2208 case SpvOpTypePipeStorage: *hasResult = true; *hasResultType = false; break;
2209 case SpvOpConstantPipeStorage: *hasResult = true; *hasResultType = true; break;
2210 case SpvOpCreatePipeFromPipeStorage: *hasResult = true; *hasResultType = true; break;
2211 case SpvOpGetKernelLocalSizeForSubgroupCount: *hasResult = true; *hasResultType = true; break;
2212 case SpvOpGetKernelMaxNumSubgroups: *hasResult = true; *hasResultType = true; break;
2213 case SpvOpTypeNamedBarrier: *hasResult = true; *hasResultType = false; break;
2214 case SpvOpNamedBarrierInitialize: *hasResult = true; *hasResultType = true; break;
2215 case SpvOpMemoryNamedBarrier: *hasResult = false; *hasResultType = false; break;
2216 case SpvOpModuleProcessed: *hasResult = false; *hasResultType = false; break;
2217 case SpvOpExecutionModeId: *hasResult = false; *hasResultType = false; break;
2218 case SpvOpDecorateId: *hasResult = false; *hasResultType = false; break;
2219 case SpvOpGroupNonUniformElect: *hasResult = true; *hasResultType = true; break;
2220 case SpvOpGroupNonUniformAll: *hasResult = true; *hasResultType = true; break;
2221 case SpvOpGroupNonUniformAny: *hasResult = true; *hasResultType = true; break;
2222 case SpvOpGroupNonUniformAllEqual: *hasResult = true; *hasResultType = true; break;
2223 case SpvOpGroupNonUniformBroadcast: *hasResult = true; *hasResultType = true; break;
2224 case SpvOpGroupNonUniformBroadcastFirst: *hasResult = true; *hasResultType = true; break;
2225 case SpvOpGroupNonUniformBallot: *hasResult = true; *hasResultType = true; break;
2226 case SpvOpGroupNonUniformInverseBallot: *hasResult = true; *hasResultType = true; break;
2227 case SpvOpGroupNonUniformBallotBitExtract: *hasResult = true; *hasResultType = true; break;
2228 case SpvOpGroupNonUniformBallotBitCount: *hasResult = true; *hasResultType = true; break;
2229 case SpvOpGroupNonUniformBallotFindLSB: *hasResult = true; *hasResultType = true; break;
2230 case SpvOpGroupNonUniformBallotFindMSB: *hasResult = true; *hasResultType = true; break;
2231 case SpvOpGroupNonUniformShuffle: *hasResult = true; *hasResultType = true; break;
2232 case SpvOpGroupNonUniformShuffleXor: *hasResult = true; *hasResultType = true; break;
2233 case SpvOpGroupNonUniformShuffleUp: *hasResult = true; *hasResultType = true; break;
2234 case SpvOpGroupNonUniformShuffleDown: *hasResult = true; *hasResultType = true; break;
2235 case SpvOpGroupNonUniformIAdd: *hasResult = true; *hasResultType = true; break;
2236 case SpvOpGroupNonUniformFAdd: *hasResult = true; *hasResultType = true; break;
2237 case SpvOpGroupNonUniformIMul: *hasResult = true; *hasResultType = true; break;
2238 case SpvOpGroupNonUniformFMul: *hasResult = true; *hasResultType = true; break;
2239 case SpvOpGroupNonUniformSMin: *hasResult = true; *hasResultType = true; break;
2240 case SpvOpGroupNonUniformUMin: *hasResult = true; *hasResultType = true; break;
2241 case SpvOpGroupNonUniformFMin: *hasResult = true; *hasResultType = true; break;
2242 case SpvOpGroupNonUniformSMax: *hasResult = true; *hasResultType = true; break;
2243 case SpvOpGroupNonUniformUMax: *hasResult = true; *hasResultType = true; break;
2244 case SpvOpGroupNonUniformFMax: *hasResult = true; *hasResultType = true; break;
2245 case SpvOpGroupNonUniformBitwiseAnd: *hasResult = true; *hasResultType = true; break;
2246 case SpvOpGroupNonUniformBitwiseOr: *hasResult = true; *hasResultType = true; break;
2247 case SpvOpGroupNonUniformBitwiseXor: *hasResult = true; *hasResultType = true; break;
2248 case SpvOpGroupNonUniformLogicalAnd: *hasResult = true; *hasResultType = true; break;
2249 case SpvOpGroupNonUniformLogicalOr: *hasResult = true; *hasResultType = true; break;
2250 case SpvOpGroupNonUniformLogicalXor: *hasResult = true; *hasResultType = true; break;
2251 case SpvOpGroupNonUniformQuadBroadcast: *hasResult = true; *hasResultType = true; break;
2252 case SpvOpGroupNonUniformQuadSwap: *hasResult = true; *hasResultType = true; break;
2253 case SpvOpCopyLogical: *hasResult = true; *hasResultType = true; break;
2254 case SpvOpPtrEqual: *hasResult = true; *hasResultType = true; break;
2255 case SpvOpPtrNotEqual: *hasResult = true; *hasResultType = true; break;
2256 case SpvOpPtrDiff: *hasResult = true; *hasResultType = true; break;
2257 case SpvOpTerminateInvocation: *hasResult = false; *hasResultType = false; break;
2258 case SpvOpSubgroupBallotKHR: *hasResult = true; *hasResultType = true; break;
2259 case SpvOpSubgroupFirstInvocationKHR: *hasResult = true; *hasResultType = true; break;
2260 case SpvOpSubgroupAllKHR: *hasResult = true; *hasResultType = true; break;
2261 case SpvOpSubgroupAnyKHR: *hasResult = true; *hasResultType = true; break;
2262 case SpvOpSubgroupAllEqualKHR: *hasResult = true; *hasResultType = true; break;
2263 case SpvOpGroupNonUniformRotateKHR: *hasResult = true; *hasResultType = true; break;
2264 case SpvOpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = true; break;
2265 case SpvOpTraceRayKHR: *hasResult = false; *hasResultType = false; break;
2266 case SpvOpExecuteCallableKHR: *hasResult = false; *hasResultType = false; break;
2267 case SpvOpConvertUToAccelerationStructureKHR: *hasResult = true; *hasResultType = true; break;
2268 case SpvOpIgnoreIntersectionKHR: *hasResult = false; *hasResultType = false; break;
2269 case SpvOpTerminateRayKHR: *hasResult = false; *hasResultType = false; break;
2270 case SpvOpSDot: *hasResult = true; *hasResultType = true; break;
2271 case SpvOpUDot: *hasResult = true; *hasResultType = true; break;
2272 case SpvOpSUDot: *hasResult = true; *hasResultType = true; break;
2273 case SpvOpSDotAccSat: *hasResult = true; *hasResultType = true; break;
2274 case SpvOpUDotAccSat: *hasResult = true; *hasResultType = true; break;
2275 case SpvOpSUDotAccSat: *hasResult = true; *hasResultType = true; break;
2276 case SpvOpTypeRayQueryKHR: *hasResult = true; *hasResultType = false; break;
2277 case SpvOpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break;
2278 case SpvOpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break;
2279 case SpvOpRayQueryGenerateIntersectionKHR: *hasResult = false; *hasResultType = false; break;
2280 case SpvOpRayQueryConfirmIntersectionKHR: *hasResult = false; *hasResultType = false; break;
2281 case SpvOpRayQueryProceedKHR: *hasResult = true; *hasResultType = true; break;
2282 case SpvOpRayQueryGetIntersectionTypeKHR: *hasResult = true; *hasResultType = true; break;
2283 case SpvOpImageSampleWeightedQCOM: *hasResult = true; *hasResultType = true; break;
2284 case SpvOpImageBoxFilterQCOM: *hasResult = true; *hasResultType = true; break;
2285 case SpvOpImageBlockMatchSSDQCOM: *hasResult = true; *hasResultType = true; break;
2286 case SpvOpImageBlockMatchSADQCOM: *hasResult = true; *hasResultType = true; break;
2287 case SpvOpGroupIAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
2288 case SpvOpGroupFAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
2289 case SpvOpGroupFMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
2290 case SpvOpGroupUMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
2291 case SpvOpGroupSMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
2292 case SpvOpGroupFMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
2293 case SpvOpGroupUMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
2294 case SpvOpGroupSMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
2295 case SpvOpFragmentMaskFetchAMD: *hasResult = true; *hasResultType = true; break;
2296 case SpvOpFragmentFetchAMD: *hasResult = true; *hasResultType = true; break;
2297 case SpvOpReadClockKHR: *hasResult = true; *hasResultType = true; break;
2298 case SpvOpImageSampleFootprintNV: *hasResult = true; *hasResultType = true; break;
2299 case SpvOpEmitMeshTasksEXT: *hasResult = false; *hasResultType = false; break;
2300 case SpvOpSetMeshOutputsEXT: *hasResult = false; *hasResultType = false; break;
2301 case SpvOpGroupNonUniformPartitionNV: *hasResult = true; *hasResultType = true; break;
2302 case SpvOpWritePackedPrimitiveIndices4x8NV: *hasResult = false; *hasResultType = false; break;
2303 case SpvOpReportIntersectionNV: *hasResult = true; *hasResultType = true; break;
2304 case SpvOpIgnoreIntersectionNV: *hasResult = false; *hasResultType = false; break;
2305 case SpvOpTerminateRayNV: *hasResult = false; *hasResultType = false; break;
2306 case SpvOpTraceNV: *hasResult = false; *hasResultType = false; break;
2307 case SpvOpTraceMotionNV: *hasResult = false; *hasResultType = false; break;
2308 case SpvOpTraceRayMotionNV: *hasResult = false; *hasResultType = false; break;
2309 case SpvOpTypeAccelerationStructureNV: *hasResult = true; *hasResultType = false; break;
2310 case SpvOpExecuteCallableNV: *hasResult = false; *hasResultType = false; break;
2311 case SpvOpTypeCooperativeMatrixNV: *hasResult = true; *hasResultType = false; break;
2312 case SpvOpCooperativeMatrixLoadNV: *hasResult = true; *hasResultType = true; break;
2313 case SpvOpCooperativeMatrixStoreNV: *hasResult = false; *hasResultType = false; break;
2314 case SpvOpCooperativeMatrixMulAddNV: *hasResult = true; *hasResultType = true; break;
2315 case SpvOpCooperativeMatrixLengthNV: *hasResult = true; *hasResultType = true; break;
2316 case SpvOpBeginInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
2317 case SpvOpEndInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
2318 case SpvOpDemoteToHelperInvocation: *hasResult = false; *hasResultType = false; break;
2319 case SpvOpIsHelperInvocationEXT: *hasResult = true; *hasResultType = true; break;
2320 case SpvOpConvertUToImageNV: *hasResult = true; *hasResultType = true; break;
2321 case SpvOpConvertUToSamplerNV: *hasResult = true; *hasResultType = true; break;
2322 case SpvOpConvertImageToUNV: *hasResult = true; *hasResultType = true; break;
2323 case SpvOpConvertSamplerToUNV: *hasResult = true; *hasResultType = true; break;
2324 case SpvOpConvertUToSampledImageNV: *hasResult = true; *hasResultType = true; break;
2325 case SpvOpConvertSampledImageToUNV: *hasResult = true; *hasResultType = true; break;
2326 case SpvOpSamplerImageAddressingModeNV: *hasResult = false; *hasResultType = false; break;
2327 case SpvOpSubgroupShuffleINTEL: *hasResult = true; *hasResultType = true; break;
2328 case SpvOpSubgroupShuffleDownINTEL: *hasResult = true; *hasResultType = true; break;
2329 case SpvOpSubgroupShuffleUpINTEL: *hasResult = true; *hasResultType = true; break;
2330 case SpvOpSubgroupShuffleXorINTEL: *hasResult = true; *hasResultType = true; break;
2331 case SpvOpSubgroupBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
2332 case SpvOpSubgroupBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
2333 case SpvOpSubgroupImageBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
2334 case SpvOpSubgroupImageBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
2335 case SpvOpSubgroupImageMediaBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
2336 case SpvOpSubgroupImageMediaBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
2337 case SpvOpUCountLeadingZerosINTEL: *hasResult = true; *hasResultType = true; break;
2338 case SpvOpUCountTrailingZerosINTEL: *hasResult = true; *hasResultType = true; break;
2339 case SpvOpAbsISubINTEL: *hasResult = true; *hasResultType = true; break;
2340 case SpvOpAbsUSubINTEL: *hasResult = true; *hasResultType = true; break;
2341 case SpvOpIAddSatINTEL: *hasResult = true; *hasResultType = true; break;
2342 case SpvOpUAddSatINTEL: *hasResult = true; *hasResultType = true; break;
2343 case SpvOpIAverageINTEL: *hasResult = true; *hasResultType = true; break;
2344 case SpvOpUAverageINTEL: *hasResult = true; *hasResultType = true; break;
2345 case SpvOpIAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break;
2346 case SpvOpUAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break;
2347 case SpvOpISubSatINTEL: *hasResult = true; *hasResultType = true; break;
2348 case SpvOpUSubSatINTEL: *hasResult = true; *hasResultType = true; break;
2349 case SpvOpIMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
2350 case SpvOpUMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
2351 case SpvOpConstantFunctionPointerINTEL: *hasResult = true; *hasResultType = true; break;
2352 case SpvOpFunctionPointerCallINTEL: *hasResult = true; *hasResultType = true; break;
2353 case SpvOpAsmTargetINTEL: *hasResult = true; *hasResultType = true; break;
2354 case SpvOpAsmINTEL: *hasResult = true; *hasResultType = true; break;
2355 case SpvOpAsmCallINTEL: *hasResult = true; *hasResultType = true; break;
2356 case SpvOpAtomicFMinEXT: *hasResult = true; *hasResultType = true; break;
2357 case SpvOpAtomicFMaxEXT: *hasResult = true; *hasResultType = true; break;
2358 case SpvOpAssumeTrueKHR: *hasResult = false; *hasResultType = false; break;
2359 case SpvOpExpectKHR: *hasResult = true; *hasResultType = true; break;
2360 case SpvOpDecorateString: *hasResult = false; *hasResultType = false; break;
2361 case SpvOpMemberDecorateString: *hasResult = false; *hasResultType = false; break;
2362 case SpvOpVmeImageINTEL: *hasResult = true; *hasResultType = true; break;
2363 case SpvOpTypeVmeImageINTEL: *hasResult = true; *hasResultType = false; break;
2364 case SpvOpTypeAvcImePayloadINTEL: *hasResult = true; *hasResultType = false; break;
2365 case SpvOpTypeAvcRefPayloadINTEL: *hasResult = true; *hasResultType = false; break;
2366 case SpvOpTypeAvcSicPayloadINTEL: *hasResult = true; *hasResultType = false; break;
2367 case SpvOpTypeAvcMcePayloadINTEL: *hasResult = true; *hasResultType = false; break;
2368 case SpvOpTypeAvcMceResultINTEL: *hasResult = true; *hasResultType = false; break;
2369 case SpvOpTypeAvcImeResultINTEL: *hasResult = true; *hasResultType = false; break;
2370 case SpvOpTypeAvcImeResultSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break;
2371 case SpvOpTypeAvcImeResultDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break;
2372 case SpvOpTypeAvcImeSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break;
2373 case SpvOpTypeAvcImeDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break;
2374 case SpvOpTypeAvcRefResultINTEL: *hasResult = true; *hasResultType = false; break;
2375 case SpvOpTypeAvcSicResultINTEL: *hasResult = true; *hasResultType = false; break;
2376 case SpvOpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
2377 case SpvOpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
2378 case SpvOpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
2379 case SpvOpSubgroupAvcMceSetInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
2380 case SpvOpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
2381 case SpvOpSubgroupAvcMceSetInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
2382 case SpvOpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
2383 case SpvOpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL: *hasResult = true; *hasResultType = true; break;
2384 case SpvOpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
2385 case SpvOpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
2386 case SpvOpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
2387 case SpvOpSubgroupAvcMceSetMotionVectorCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
2388 case SpvOpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
2389 case SpvOpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
2390 case SpvOpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
2391 case SpvOpSubgroupAvcMceSetAcOnlyHaarINTEL: *hasResult = true; *hasResultType = true; break;
2392 case SpvOpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break;
2393 case SpvOpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break;
2394 case SpvOpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break;
2395 case SpvOpSubgroupAvcMceConvertToImePayloadINTEL: *hasResult = true; *hasResultType = true; break;
2396 case SpvOpSubgroupAvcMceConvertToImeResultINTEL: *hasResult = true; *hasResultType = true; break;
2397 case SpvOpSubgroupAvcMceConvertToRefPayloadINTEL: *hasResult = true; *hasResultType = true; break;
2398 case SpvOpSubgroupAvcMceConvertToRefResultINTEL: *hasResult = true; *hasResultType = true; break;
2399 case SpvOpSubgroupAvcMceConvertToSicPayloadINTEL: *hasResult = true; *hasResultType = true; break;
2400 case SpvOpSubgroupAvcMceConvertToSicResultINTEL: *hasResult = true; *hasResultType = true; break;
2401 case SpvOpSubgroupAvcMceGetMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
2402 case SpvOpSubgroupAvcMceGetInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
2403 case SpvOpSubgroupAvcMceGetBestInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
2404 case SpvOpSubgroupAvcMceGetInterMajorShapeINTEL: *hasResult = true; *hasResultType = true; break;
2405 case SpvOpSubgroupAvcMceGetInterMinorShapeINTEL: *hasResult = true; *hasResultType = true; break;
2406 case SpvOpSubgroupAvcMceGetInterDirectionsINTEL: *hasResult = true; *hasResultType = true; break;
2407 case SpvOpSubgroupAvcMceGetInterMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break;
2408 case SpvOpSubgroupAvcMceGetInterReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
2409 case SpvOpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break;
2410 case SpvOpSubgroupAvcImeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
2411 case SpvOpSubgroupAvcImeSetSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
2412 case SpvOpSubgroupAvcImeSetDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
2413 case SpvOpSubgroupAvcImeRefWindowSizeINTEL: *hasResult = true; *hasResultType = true; break;
2414 case SpvOpSubgroupAvcImeAdjustRefOffsetINTEL: *hasResult = true; *hasResultType = true; break;
2415 case SpvOpSubgroupAvcImeConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
2416 case SpvOpSubgroupAvcImeSetMaxMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break;
2417 case SpvOpSubgroupAvcImeSetUnidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break;
2418 case SpvOpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL: *hasResult = true; *hasResultType = true; break;
2419 case SpvOpSubgroupAvcImeSetWeightedSadINTEL: *hasResult = true; *hasResultType = true; break;
2420 case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
2421 case SpvOpSubgroupAvcImeEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
2422 case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
2423 case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
2424 case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
2425 case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
2426 case SpvOpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break;
2427 case SpvOpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break;
2428 case SpvOpSubgroupAvcImeConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
2429 case SpvOpSubgroupAvcImeGetSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
2430 case SpvOpSubgroupAvcImeGetDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
2431 case SpvOpSubgroupAvcImeStripSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
2432 case SpvOpSubgroupAvcImeStripDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
2433 case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
2434 case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
2435 case SpvOpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
2436 case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
2437 case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
2438 case SpvOpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
2439 case SpvOpSubgroupAvcImeGetBorderReachedINTEL: *hasResult = true; *hasResultType = true; break;
2440 case SpvOpSubgroupAvcImeGetTruncatedSearchIndicationINTEL: *hasResult = true; *hasResultType = true; break;
2441 case SpvOpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL: *hasResult = true; *hasResultType = true; break;
2442 case SpvOpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL: *hasResult = true; *hasResultType = true; break;
2443 case SpvOpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL: *hasResult = true; *hasResultType = true; break;
2444 case SpvOpSubgroupAvcFmeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
2445 case SpvOpSubgroupAvcBmeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
2446 case SpvOpSubgroupAvcRefConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
2447 case SpvOpSubgroupAvcRefSetBidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break;
2448 case SpvOpSubgroupAvcRefSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break;
2449 case SpvOpSubgroupAvcRefEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
2450 case SpvOpSubgroupAvcRefEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
2451 case SpvOpSubgroupAvcRefEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break;
2452 case SpvOpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break;
2453 case SpvOpSubgroupAvcRefConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
2454 case SpvOpSubgroupAvcSicInitializeINTEL: *hasResult = true; *hasResultType = true; break;
2455 case SpvOpSubgroupAvcSicConfigureSkcINTEL: *hasResult = true; *hasResultType = true; break;
2456 case SpvOpSubgroupAvcSicConfigureIpeLumaINTEL: *hasResult = true; *hasResultType = true; break;
2457 case SpvOpSubgroupAvcSicConfigureIpeLumaChromaINTEL: *hasResult = true; *hasResultType = true; break;
2458 case SpvOpSubgroupAvcSicGetMotionVectorMaskINTEL: *hasResult = true; *hasResultType = true; break;
2459 case SpvOpSubgroupAvcSicConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
2460 case SpvOpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
2461 case SpvOpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
2462 case SpvOpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
2463 case SpvOpSubgroupAvcSicSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break;
2464 case SpvOpSubgroupAvcSicSetSkcForwardTransformEnableINTEL: *hasResult = true; *hasResultType = true; break;
2465 case SpvOpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL: *hasResult = true; *hasResultType = true; break;
2466 case SpvOpSubgroupAvcSicEvaluateIpeINTEL: *hasResult = true; *hasResultType = true; break;
2467 case SpvOpSubgroupAvcSicEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
2468 case SpvOpSubgroupAvcSicEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
2469 case SpvOpSubgroupAvcSicEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break;
2470 case SpvOpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break;
2471 case SpvOpSubgroupAvcSicConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
2472 case SpvOpSubgroupAvcSicGetIpeLumaShapeINTEL: *hasResult = true; *hasResultType = true; break;
2473 case SpvOpSubgroupAvcSicGetBestIpeLumaDistortionINTEL: *hasResult = true; *hasResultType = true; break;
2474 case SpvOpSubgroupAvcSicGetBestIpeChromaDistortionINTEL: *hasResult = true; *hasResultType = true; break;
2475 case SpvOpSubgroupAvcSicGetPackedIpeLumaModesINTEL: *hasResult = true; *hasResultType = true; break;
2476 case SpvOpSubgroupAvcSicGetIpeChromaModeINTEL: *hasResult = true; *hasResultType = true; break;
2477 case SpvOpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: *hasResult = true; *hasResultType = true; break;
2478 case SpvOpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: *hasResult = true; *hasResultType = true; break;
2479 case SpvOpSubgroupAvcSicGetInterRawSadsINTEL: *hasResult = true; *hasResultType = true; break;
2480 case SpvOpVariableLengthArrayINTEL: *hasResult = true; *hasResultType = true; break;
2481 case SpvOpSaveMemoryINTEL: *hasResult = true; *hasResultType = true; break;
2482 case SpvOpRestoreMemoryINTEL: *hasResult = false; *hasResultType = false; break;
2483 case SpvOpArbitraryFloatSinCosPiINTEL: *hasResult = true; *hasResultType = true; break;
2484 case SpvOpArbitraryFloatCastINTEL: *hasResult = true; *hasResultType = true; break;
2485 case SpvOpArbitraryFloatCastFromIntINTEL: *hasResult = true; *hasResultType = true; break;
2486 case SpvOpArbitraryFloatCastToIntINTEL: *hasResult = true; *hasResultType = true; break;
2487 case SpvOpArbitraryFloatAddINTEL: *hasResult = true; *hasResultType = true; break;
2488 case SpvOpArbitraryFloatSubINTEL: *hasResult = true; *hasResultType = true; break;
2489 case SpvOpArbitraryFloatMulINTEL: *hasResult = true; *hasResultType = true; break;
2490 case SpvOpArbitraryFloatDivINTEL: *hasResult = true; *hasResultType = true; break;
2491 case SpvOpArbitraryFloatGTINTEL: *hasResult = true; *hasResultType = true; break;
2492 case SpvOpArbitraryFloatGEINTEL: *hasResult = true; *hasResultType = true; break;
2493 case SpvOpArbitraryFloatLTINTEL: *hasResult = true; *hasResultType = true; break;
2494 case SpvOpArbitraryFloatLEINTEL: *hasResult = true; *hasResultType = true; break;
2495 case SpvOpArbitraryFloatEQINTEL: *hasResult = true; *hasResultType = true; break;
2496 case SpvOpArbitraryFloatRecipINTEL: *hasResult = true; *hasResultType = true; break;
2497 case SpvOpArbitraryFloatRSqrtINTEL: *hasResult = true; *hasResultType = true; break;
2498 case SpvOpArbitraryFloatCbrtINTEL: *hasResult = true; *hasResultType = true; break;
2499 case SpvOpArbitraryFloatHypotINTEL: *hasResult = true; *hasResultType = true; break;
2500 case SpvOpArbitraryFloatSqrtINTEL: *hasResult = true; *hasResultType = true; break;
2501 case SpvOpArbitraryFloatLogINTEL: *hasResult = true; *hasResultType = true; break;
2502 case SpvOpArbitraryFloatLog2INTEL: *hasResult = true; *hasResultType = true; break;
2503 case SpvOpArbitraryFloatLog10INTEL: *hasResult = true; *hasResultType = true; break;
2504 case SpvOpArbitraryFloatLog1pINTEL: *hasResult = true; *hasResultType = true; break;
2505 case SpvOpArbitraryFloatExpINTEL: *hasResult = true; *hasResultType = true; break;
2506 case SpvOpArbitraryFloatExp2INTEL: *hasResult = true; *hasResultType = true; break;
2507 case SpvOpArbitraryFloatExp10INTEL: *hasResult = true; *hasResultType = true; break;
2508 case SpvOpArbitraryFloatExpm1INTEL: *hasResult = true; *hasResultType = true; break;
2509 case SpvOpArbitraryFloatSinINTEL: *hasResult = true; *hasResultType = true; break;
2510 case SpvOpArbitraryFloatCosINTEL: *hasResult = true; *hasResultType = true; break;
2511 case SpvOpArbitraryFloatSinCosINTEL: *hasResult = true; *hasResultType = true; break;
2512 case SpvOpArbitraryFloatSinPiINTEL: *hasResult = true; *hasResultType = true; break;
2513 case SpvOpArbitraryFloatCosPiINTEL: *hasResult = true; *hasResultType = true; break;
2514 case SpvOpArbitraryFloatASinINTEL: *hasResult = true; *hasResultType = true; break;
2515 case SpvOpArbitraryFloatASinPiINTEL: *hasResult = true; *hasResultType = true; break;
2516 case SpvOpArbitraryFloatACosINTEL: *hasResult = true; *hasResultType = true; break;
2517 case SpvOpArbitraryFloatACosPiINTEL: *hasResult = true; *hasResultType = true; break;
2518 case SpvOpArbitraryFloatATanINTEL: *hasResult = true; *hasResultType = true; break;
2519 case SpvOpArbitraryFloatATanPiINTEL: *hasResult = true; *hasResultType = true; break;
2520 case SpvOpArbitraryFloatATan2INTEL: *hasResult = true; *hasResultType = true; break;
2521 case SpvOpArbitraryFloatPowINTEL: *hasResult = true; *hasResultType = true; break;
2522 case SpvOpArbitraryFloatPowRINTEL: *hasResult = true; *hasResultType = true; break;
2523 case SpvOpArbitraryFloatPowNINTEL: *hasResult = true; *hasResultType = true; break;
2524 case SpvOpLoopControlINTEL: *hasResult = false; *hasResultType = false; break;
2525 case SpvOpAliasDomainDeclINTEL: *hasResult = true; *hasResultType = false; break;
2526 case SpvOpAliasScopeDeclINTEL: *hasResult = true; *hasResultType = false; break;
2527 case SpvOpAliasScopeListDeclINTEL: *hasResult = true; *hasResultType = false; break;
2528 case SpvOpFixedSqrtINTEL: *hasResult = true; *hasResultType = true; break;
2529 case SpvOpFixedRecipINTEL: *hasResult = true; *hasResultType = true; break;
2530 case SpvOpFixedRsqrtINTEL: *hasResult = true; *hasResultType = true; break;
2531 case SpvOpFixedSinINTEL: *hasResult = true; *hasResultType = true; break;
2532 case SpvOpFixedCosINTEL: *hasResult = true; *hasResultType = true; break;
2533 case SpvOpFixedSinCosINTEL: *hasResult = true; *hasResultType = true; break;
2534 case SpvOpFixedSinPiINTEL: *hasResult = true; *hasResultType = true; break;
2535 case SpvOpFixedCosPiINTEL: *hasResult = true; *hasResultType = true; break;
2536 case SpvOpFixedSinCosPiINTEL: *hasResult = true; *hasResultType = true; break;
2537 case SpvOpFixedLogINTEL: *hasResult = true; *hasResultType = true; break;
2538 case SpvOpFixedExpINTEL: *hasResult = true; *hasResultType = true; break;
2539 case SpvOpPtrCastToCrossWorkgroupINTEL: *hasResult = true; *hasResultType = true; break;
2540 case SpvOpCrossWorkgroupCastToPtrINTEL: *hasResult = true; *hasResultType = true; break;
2541 case SpvOpReadPipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
2542 case SpvOpWritePipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
2543 case SpvOpFPGARegINTEL: *hasResult = true; *hasResultType = true; break;
2544 case SpvOpRayQueryGetRayTMinKHR: *hasResult = true; *hasResultType = true; break;
2545 case SpvOpRayQueryGetRayFlagsKHR: *hasResult = true; *hasResultType = true; break;
2546 case SpvOpRayQueryGetIntersectionTKHR: *hasResult = true; *hasResultType = true; break;
2547 case SpvOpRayQueryGetIntersectionInstanceCustomIndexKHR: *hasResult = true; *hasResultType = true; break;
2548 case SpvOpRayQueryGetIntersectionInstanceIdKHR: *hasResult = true; *hasResultType = true; break;
2549 case SpvOpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR: *hasResult = true; *hasResultType = true; break;
2550 case SpvOpRayQueryGetIntersectionGeometryIndexKHR: *hasResult = true; *hasResultType = true; break;
2551 case SpvOpRayQueryGetIntersectionPrimitiveIndexKHR: *hasResult = true; *hasResultType = true; break;
2552 case SpvOpRayQueryGetIntersectionBarycentricsKHR: *hasResult = true; *hasResultType = true; break;
2553 case SpvOpRayQueryGetIntersectionFrontFaceKHR: *hasResult = true; *hasResultType = true; break;
2554 case SpvOpRayQueryGetIntersectionCandidateAABBOpaqueKHR: *hasResult = true; *hasResultType = true; break;
2555 case SpvOpRayQueryGetIntersectionObjectRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
2556 case SpvOpRayQueryGetIntersectionObjectRayOriginKHR: *hasResult = true; *hasResultType = true; break;
2557 case SpvOpRayQueryGetWorldRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
2558 case SpvOpRayQueryGetWorldRayOriginKHR: *hasResult = true; *hasResultType = true; break;
2559 case SpvOpRayQueryGetIntersectionObjectToWorldKHR: *hasResult = true; *hasResultType = true; break;
2560 case SpvOpRayQueryGetIntersectionWorldToObjectKHR: *hasResult = true; *hasResultType = true; break;
2561 case SpvOpAtomicFAddEXT: *hasResult = true; *hasResultType = true; break;
2562 case SpvOpTypeBufferSurfaceINTEL: *hasResult = true; *hasResultType = false; break;
2563 case SpvOpTypeStructContinuedINTEL: *hasResult = false; *hasResultType = false; break;
2564 case SpvOpConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
2565 case SpvOpSpecConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
2566 case SpvOpControlBarrierArriveINTEL: *hasResult = false; *hasResultType = false; break;
2567 case SpvOpControlBarrierWaitINTEL: *hasResult = false; *hasResultType = false; break;
2568 case SpvOpGroupIMulKHR: *hasResult = true; *hasResultType = true; break;
2569 case SpvOpGroupFMulKHR: *hasResult = true; *hasResultType = true; break;
2570 case SpvOpGroupBitwiseAndKHR: *hasResult = true; *hasResultType = true; break;
2571 case SpvOpGroupBitwiseOrKHR: *hasResult = true; *hasResultType = true; break;
2572 case SpvOpGroupBitwiseXorKHR: *hasResult = true; *hasResultType = true; break;
2573 case SpvOpGroupLogicalAndKHR: *hasResult = true; *hasResultType = true; break;
2574 case SpvOpGroupLogicalOrKHR: *hasResult = true; *hasResultType = true; break;
2575 case SpvOpGroupLogicalXorKHR: *hasResult = true; *hasResultType = true; break;
2576 }
2577}
2578#endif /* SPV_ENABLE_UTILITY_CODE */
2579
2580#endif
2581
2582

Provided by KDAB

Privacy Policy
Start learning QML with our Intro Training
Find out more

source code of qtshadertools/src/3rdparty/SPIRV-Cross/spirv.h