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