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