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