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