• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /+
2  + Copyright (c) 2014-2019 The Khronos Group Inc.
3  +
4  + Permission is hereby granted, free of charge, to any person obtaining a copy
5  + of this software and/or associated documentation files (the "Materials"),
6  + to deal in the Materials without restriction, including without limitation
7  + the rights to use, copy, modify, merge, publish, distribute, sublicense,
8  + and/or sell copies of the Materials, and to permit persons to whom the
9  + Materials are furnished to do so, subject to the following conditions:
10  +
11  + The above copyright notice and this permission notice shall be included in
12  + all copies or substantial portions of the Materials.
13  +
14  + MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS
15  + STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND
16  + HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/
17  +
18  + THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
19  + OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20  + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
21  + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22  + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
23  + FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS
24  + IN THE MATERIALS.
25  +/
26 
27 /+
28  + This header is automatically generated by the same tool that creates
29  + the Binary Section of the SPIR-V specification.
30  +/
31 
32 /+
33  + Enumeration tokens for SPIR-V, in various styles:
34  +   C, C++, C++11, JSON, Lua, Python, C#, D
35  +
36  + - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
37  + - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
38  + - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL
39  + - Lua will use tables, e.g.: spv.SourceLanguage.GLSL
40  + - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']
41  + - C# will use enum classes in the Specification class located in the "Spv" namespace,
42  +     e.g.: Spv.Specification.SourceLanguage.GLSL
43  + - D will have tokens under the "spv" module, e.g: spv.SourceLanguage.GLSL
44  +
45  + Some tokens act like mask values, which can be OR'd together,
46  + while others are mutually exclusive.  The mask-like ones have
47  + "Mask" in their name, and a parallel enum that has the shift
48  + amount (1 << x) for each corresponding enumerant.
49  +/
50 
51 module spv;
52 
53 enum uint MagicNumber = 0x07230203;
54 enum uint Version = 0x00010500;
55 enum uint Revision = 1;
56 enum uint OpCodeMask = 0xffff;
57 enum uint WordCountShift = 16;
58 
59 enum SourceLanguage : uint
60 {
61     Unknown = 0,
62     ESSL = 1,
63     GLSL = 2,
64     OpenCL_C = 3,
65     OpenCL_CPP = 4,
66     HLSL = 5,
67 }
68 
69 enum ExecutionModel : uint
70 {
71     Vertex = 0,
72     TessellationControl = 1,
73     TessellationEvaluation = 2,
74     Geometry = 3,
75     Fragment = 4,
76     GLCompute = 5,
77     Kernel = 6,
78     TaskNV = 5267,
79     MeshNV = 5268,
80     RayGenerationNV = 5313,
81     IntersectionNV = 5314,
82     AnyHitNV = 5315,
83     ClosestHitNV = 5316,
84     MissNV = 5317,
85     CallableNV = 5318,
86 }
87 
88 enum AddressingModel : uint
89 {
90     Logical = 0,
91     Physical32 = 1,
92     Physical64 = 2,
93     PhysicalStorageBuffer64 = 5348,
94     PhysicalStorageBuffer64EXT = 5348,
95 }
96 
97 enum MemoryModel : uint
98 {
99     Simple = 0,
100     GLSL450 = 1,
101     OpenCL = 2,
102     Vulkan = 3,
103     VulkanKHR = 3,
104 }
105 
106 enum ExecutionMode : uint
107 {
108     Invocations = 0,
109     SpacingEqual = 1,
110     SpacingFractionalEven = 2,
111     SpacingFractionalOdd = 3,
112     VertexOrderCw = 4,
113     VertexOrderCcw = 5,
114     PixelCenterInteger = 6,
115     OriginUpperLeft = 7,
116     OriginLowerLeft = 8,
117     EarlyFragmentTests = 9,
118     PointMode = 10,
119     Xfb = 11,
120     DepthReplacing = 12,
121     DepthGreater = 14,
122     DepthLess = 15,
123     DepthUnchanged = 16,
124     LocalSize = 17,
125     LocalSizeHint = 18,
126     InputPoints = 19,
127     InputLines = 20,
128     InputLinesAdjacency = 21,
129     Triangles = 22,
130     InputTrianglesAdjacency = 23,
131     Quads = 24,
132     Isolines = 25,
133     OutputVertices = 26,
134     OutputPoints = 27,
135     OutputLineStrip = 28,
136     OutputTriangleStrip = 29,
137     VecTypeHint = 30,
138     ContractionOff = 31,
139     Initializer = 33,
140     Finalizer = 34,
141     SubgroupSize = 35,
142     SubgroupsPerWorkgroup = 36,
143     SubgroupsPerWorkgroupId = 37,
144     LocalSizeId = 38,
145     LocalSizeHintId = 39,
146     PostDepthCoverage = 4446,
147     DenormPreserve = 4459,
148     DenormFlushToZero = 4460,
149     SignedZeroInfNanPreserve = 4461,
150     RoundingModeRTE = 4462,
151     RoundingModeRTZ = 4463,
152     StencilRefReplacingEXT = 5027,
153     OutputLinesNV = 5269,
154     OutputPrimitivesNV = 5270,
155     DerivativeGroupQuadsNV = 5289,
156     DerivativeGroupLinearNV = 5290,
157     OutputTrianglesNV = 5298,
158     PixelInterlockOrderedEXT = 5366,
159     PixelInterlockUnorderedEXT = 5367,
160     SampleInterlockOrderedEXT = 5368,
161     SampleInterlockUnorderedEXT = 5369,
162     ShadingRateInterlockOrderedEXT = 5370,
163     ShadingRateInterlockUnorderedEXT = 5371,
164 }
165 
166 enum StorageClass : uint
167 {
168     UniformConstant = 0,
169     Input = 1,
170     Uniform = 2,
171     Output = 3,
172     Workgroup = 4,
173     CrossWorkgroup = 5,
174     Private = 6,
175     Function = 7,
176     Generic = 8,
177     PushConstant = 9,
178     AtomicCounter = 10,
179     Image = 11,
180     StorageBuffer = 12,
181     CallableDataNV = 5328,
182     IncomingCallableDataNV = 5329,
183     RayPayloadNV = 5338,
184     HitAttributeNV = 5339,
185     IncomingRayPayloadNV = 5342,
186     ShaderRecordBufferNV = 5343,
187     PhysicalStorageBuffer = 5349,
188     PhysicalStorageBufferEXT = 5349,
189 }
190 
191 enum Dim : uint
192 {
193     _1D = 0,
194     _2D = 1,
195     _3D = 2,
196     Cube = 3,
197     Rect = 4,
198     Buffer = 5,
199     SubpassData = 6,
200 }
201 
202 enum SamplerAddressingMode : uint
203 {
204     None = 0,
205     ClampToEdge = 1,
206     Clamp = 2,
207     Repeat = 3,
208     RepeatMirrored = 4,
209 }
210 
211 enum SamplerFilterMode : uint
212 {
213     Nearest = 0,
214     Linear = 1,
215 }
216 
217 enum ImageFormat : uint
218 {
219     Unknown = 0,
220     Rgba32f = 1,
221     Rgba16f = 2,
222     R32f = 3,
223     Rgba8 = 4,
224     Rgba8Snorm = 5,
225     Rg32f = 6,
226     Rg16f = 7,
227     R11fG11fB10f = 8,
228     R16f = 9,
229     Rgba16 = 10,
230     Rgb10A2 = 11,
231     Rg16 = 12,
232     Rg8 = 13,
233     R16 = 14,
234     R8 = 15,
235     Rgba16Snorm = 16,
236     Rg16Snorm = 17,
237     Rg8Snorm = 18,
238     R16Snorm = 19,
239     R8Snorm = 20,
240     Rgba32i = 21,
241     Rgba16i = 22,
242     Rgba8i = 23,
243     R32i = 24,
244     Rg32i = 25,
245     Rg16i = 26,
246     Rg8i = 27,
247     R16i = 28,
248     R8i = 29,
249     Rgba32ui = 30,
250     Rgba16ui = 31,
251     Rgba8ui = 32,
252     R32ui = 33,
253     Rgb10a2ui = 34,
254     Rg32ui = 35,
255     Rg16ui = 36,
256     Rg8ui = 37,
257     R16ui = 38,
258     R8ui = 39,
259 }
260 
261 enum ImageChannelOrder : uint
262 {
263     R = 0,
264     A = 1,
265     RG = 2,
266     RA = 3,
267     RGB = 4,
268     RGBA = 5,
269     BGRA = 6,
270     ARGB = 7,
271     Intensity = 8,
272     Luminance = 9,
273     Rx = 10,
274     RGx = 11,
275     RGBx = 12,
276     Depth = 13,
277     DepthStencil = 14,
278     sRGB = 15,
279     sRGBx = 16,
280     sRGBA = 17,
281     sBGRA = 18,
282     ABGR = 19,
283 }
284 
285 enum ImageChannelDataType : uint
286 {
287     SnormInt8 = 0,
288     SnormInt16 = 1,
289     UnormInt8 = 2,
290     UnormInt16 = 3,
291     UnormShort565 = 4,
292     UnormShort555 = 5,
293     UnormInt101010 = 6,
294     SignedInt8 = 7,
295     SignedInt16 = 8,
296     SignedInt32 = 9,
297     UnsignedInt8 = 10,
298     UnsignedInt16 = 11,
299     UnsignedInt32 = 12,
300     HalfFloat = 13,
301     Float = 14,
302     UnormInt24 = 15,
303     UnormInt101010_2 = 16,
304 }
305 
306 enum ImageOperandsShift : uint
307 {
308     Bias = 0,
309     Lod = 1,
310     Grad = 2,
311     ConstOffset = 3,
312     Offset = 4,
313     ConstOffsets = 5,
314     Sample = 6,
315     MinLod = 7,
316     MakeTexelAvailable = 8,
317     MakeTexelAvailableKHR = 8,
318     MakeTexelVisible = 9,
319     MakeTexelVisibleKHR = 9,
320     NonPrivateTexel = 10,
321     NonPrivateTexelKHR = 10,
322     VolatileTexel = 11,
323     VolatileTexelKHR = 11,
324     SignExtend = 12,
325     ZeroExtend = 13,
326 }
327 
328 enum ImageOperandsMask : uint
329 {
330     MaskNone = 0,
331     Bias = 0x00000001,
332     Lod = 0x00000002,
333     Grad = 0x00000004,
334     ConstOffset = 0x00000008,
335     Offset = 0x00000010,
336     ConstOffsets = 0x00000020,
337     Sample = 0x00000040,
338     MinLod = 0x00000080,
339     MakeTexelAvailable = 0x00000100,
340     MakeTexelAvailableKHR = 0x00000100,
341     MakeTexelVisible = 0x00000200,
342     MakeTexelVisibleKHR = 0x00000200,
343     NonPrivateTexel = 0x00000400,
344     NonPrivateTexelKHR = 0x00000400,
345     VolatileTexel = 0x00000800,
346     VolatileTexelKHR = 0x00000800,
347     SignExtend = 0x00001000,
348     ZeroExtend = 0x00002000,
349 }
350 
351 enum FPFastMathModeShift : uint
352 {
353     NotNaN = 0,
354     NotInf = 1,
355     NSZ = 2,
356     AllowRecip = 3,
357     Fast = 4,
358 }
359 
360 enum FPFastMathModeMask : uint
361 {
362     MaskNone = 0,
363     NotNaN = 0x00000001,
364     NotInf = 0x00000002,
365     NSZ = 0x00000004,
366     AllowRecip = 0x00000008,
367     Fast = 0x00000010,
368 }
369 
370 enum FPRoundingMode : uint
371 {
372     RTE = 0,
373     RTZ = 1,
374     RTP = 2,
375     RTN = 3,
376 }
377 
378 enum LinkageType : uint
379 {
380     Export = 0,
381     Import = 1,
382 }
383 
384 enum AccessQualifier : uint
385 {
386     ReadOnly = 0,
387     WriteOnly = 1,
388     ReadWrite = 2,
389 }
390 
391 enum FunctionParameterAttribute : uint
392 {
393     Zext = 0,
394     Sext = 1,
395     ByVal = 2,
396     Sret = 3,
397     NoAlias = 4,
398     NoCapture = 5,
399     NoWrite = 6,
400     NoReadWrite = 7,
401 }
402 
403 enum Decoration : uint
404 {
405     RelaxedPrecision = 0,
406     SpecId = 1,
407     Block = 2,
408     BufferBlock = 3,
409     RowMajor = 4,
410     ColMajor = 5,
411     ArrayStride = 6,
412     MatrixStride = 7,
413     GLSLShared = 8,
414     GLSLPacked = 9,
415     CPacked = 10,
416     BuiltIn = 11,
417     NoPerspective = 13,
418     Flat = 14,
419     Patch = 15,
420     Centroid = 16,
421     Sample = 17,
422     Invariant = 18,
423     Restrict = 19,
424     Aliased = 20,
425     Volatile = 21,
426     Constant = 22,
427     Coherent = 23,
428     NonWritable = 24,
429     NonReadable = 25,
430     Uniform = 26,
431     UniformId = 27,
432     SaturatedConversion = 28,
433     Stream = 29,
434     Location = 30,
435     Component = 31,
436     Index = 32,
437     Binding = 33,
438     DescriptorSet = 34,
439     Offset = 35,
440     XfbBuffer = 36,
441     XfbStride = 37,
442     FuncParamAttr = 38,
443     FPRoundingMode = 39,
444     FPFastMathMode = 40,
445     LinkageAttributes = 41,
446     NoContraction = 42,
447     InputAttachmentIndex = 43,
448     Alignment = 44,
449     MaxByteOffset = 45,
450     AlignmentId = 46,
451     MaxByteOffsetId = 47,
452     NoSignedWrap = 4469,
453     NoUnsignedWrap = 4470,
454     ExplicitInterpAMD = 4999,
455     OverrideCoverageNV = 5248,
456     PassthroughNV = 5250,
457     ViewportRelativeNV = 5252,
458     SecondaryViewportRelativeNV = 5256,
459     PerPrimitiveNV = 5271,
460     PerViewNV = 5272,
461     PerTaskNV = 5273,
462     PerVertexNV = 5285,
463     NonUniform = 5300,
464     NonUniformEXT = 5300,
465     RestrictPointer = 5355,
466     RestrictPointerEXT = 5355,
467     AliasedPointer = 5356,
468     AliasedPointerEXT = 5356,
469     CounterBuffer = 5634,
470     HlslCounterBufferGOOGLE = 5634,
471     HlslSemanticGOOGLE = 5635,
472     UserSemantic = 5635,
473     UserTypeGOOGLE = 5636,
474 }
475 
476 enum BuiltIn : uint
477 {
478     Position = 0,
479     PointSize = 1,
480     ClipDistance = 3,
481     CullDistance = 4,
482     VertexId = 5,
483     InstanceId = 6,
484     PrimitiveId = 7,
485     InvocationId = 8,
486     Layer = 9,
487     ViewportIndex = 10,
488     TessLevelOuter = 11,
489     TessLevelInner = 12,
490     TessCoord = 13,
491     PatchVertices = 14,
492     FragCoord = 15,
493     PointCoord = 16,
494     FrontFacing = 17,
495     SampleId = 18,
496     SamplePosition = 19,
497     SampleMask = 20,
498     FragDepth = 22,
499     HelperInvocation = 23,
500     NumWorkgroups = 24,
501     WorkgroupSize = 25,
502     WorkgroupId = 26,
503     LocalInvocationId = 27,
504     GlobalInvocationId = 28,
505     LocalInvocationIndex = 29,
506     WorkDim = 30,
507     GlobalSize = 31,
508     EnqueuedWorkgroupSize = 32,
509     GlobalOffset = 33,
510     GlobalLinearId = 34,
511     SubgroupSize = 36,
512     SubgroupMaxSize = 37,
513     NumSubgroups = 38,
514     NumEnqueuedSubgroups = 39,
515     SubgroupId = 40,
516     SubgroupLocalInvocationId = 41,
517     VertexIndex = 42,
518     InstanceIndex = 43,
519     SubgroupEqMask = 4416,
520     SubgroupEqMaskKHR = 4416,
521     SubgroupGeMask = 4417,
522     SubgroupGeMaskKHR = 4417,
523     SubgroupGtMask = 4418,
524     SubgroupGtMaskKHR = 4418,
525     SubgroupLeMask = 4419,
526     SubgroupLeMaskKHR = 4419,
527     SubgroupLtMask = 4420,
528     SubgroupLtMaskKHR = 4420,
529     BaseVertex = 4424,
530     BaseInstance = 4425,
531     DrawIndex = 4426,
532     DeviceIndex = 4438,
533     ViewIndex = 4440,
534     BaryCoordNoPerspAMD = 4992,
535     BaryCoordNoPerspCentroidAMD = 4993,
536     BaryCoordNoPerspSampleAMD = 4994,
537     BaryCoordSmoothAMD = 4995,
538     BaryCoordSmoothCentroidAMD = 4996,
539     BaryCoordSmoothSampleAMD = 4997,
540     BaryCoordPullModelAMD = 4998,
541     FragStencilRefEXT = 5014,
542     ViewportMaskNV = 5253,
543     SecondaryPositionNV = 5257,
544     SecondaryViewportMaskNV = 5258,
545     PositionPerViewNV = 5261,
546     ViewportMaskPerViewNV = 5262,
547     FullyCoveredEXT = 5264,
548     TaskCountNV = 5274,
549     PrimitiveCountNV = 5275,
550     PrimitiveIndicesNV = 5276,
551     ClipDistancePerViewNV = 5277,
552     CullDistancePerViewNV = 5278,
553     LayerPerViewNV = 5279,
554     MeshViewCountNV = 5280,
555     MeshViewIndicesNV = 5281,
556     BaryCoordNV = 5286,
557     BaryCoordNoPerspNV = 5287,
558     FragSizeEXT = 5292,
559     FragmentSizeNV = 5292,
560     FragInvocationCountEXT = 5293,
561     InvocationsPerPixelNV = 5293,
562     LaunchIdNV = 5319,
563     LaunchSizeNV = 5320,
564     WorldRayOriginNV = 5321,
565     WorldRayDirectionNV = 5322,
566     ObjectRayOriginNV = 5323,
567     ObjectRayDirectionNV = 5324,
568     RayTminNV = 5325,
569     RayTmaxNV = 5326,
570     InstanceCustomIndexNV = 5327,
571     ObjectToWorldNV = 5330,
572     WorldToObjectNV = 5331,
573     HitTNV = 5332,
574     HitKindNV = 5333,
575     IncomingRayFlagsNV = 5351,
576     WarpsPerSMNV = 5374,
577     SMCountNV = 5375,
578     WarpIDNV = 5376,
579     SMIDNV = 5377,
580 }
581 
582 enum SelectionControlShift : uint
583 {
584     Flatten = 0,
585     DontFlatten = 1,
586 }
587 
588 enum SelectionControlMask : uint
589 {
590     MaskNone = 0,
591     Flatten = 0x00000001,
592     DontFlatten = 0x00000002,
593 }
594 
595 enum LoopControlShift : uint
596 {
597     Unroll = 0,
598     DontUnroll = 1,
599     DependencyInfinite = 2,
600     DependencyLength = 3,
601     MinIterations = 4,
602     MaxIterations = 5,
603     IterationMultiple = 6,
604     PeelCount = 7,
605     PartialCount = 8,
606 }
607 
608 enum LoopControlMask : uint
609 {
610     MaskNone = 0,
611     Unroll = 0x00000001,
612     DontUnroll = 0x00000002,
613     DependencyInfinite = 0x00000004,
614     DependencyLength = 0x00000008,
615     MinIterations = 0x00000010,
616     MaxIterations = 0x00000020,
617     IterationMultiple = 0x00000040,
618     PeelCount = 0x00000080,
619     PartialCount = 0x00000100,
620 }
621 
622 enum FunctionControlShift : uint
623 {
624     Inline = 0,
625     DontInline = 1,
626     Pure = 2,
627     Const = 3,
628 }
629 
630 enum FunctionControlMask : uint
631 {
632     MaskNone = 0,
633     Inline = 0x00000001,
634     DontInline = 0x00000002,
635     Pure = 0x00000004,
636     Const = 0x00000008,
637 }
638 
639 enum MemorySemanticsShift : uint
640 {
641     Acquire = 1,
642     Release = 2,
643     AcquireRelease = 3,
644     SequentiallyConsistent = 4,
645     UniformMemory = 6,
646     SubgroupMemory = 7,
647     WorkgroupMemory = 8,
648     CrossWorkgroupMemory = 9,
649     AtomicCounterMemory = 10,
650     ImageMemory = 11,
651     OutputMemory = 12,
652     OutputMemoryKHR = 12,
653     MakeAvailable = 13,
654     MakeAvailableKHR = 13,
655     MakeVisible = 14,
656     MakeVisibleKHR = 14,
657     Volatile = 15,
658 }
659 
660 enum MemorySemanticsMask : uint
661 {
662     MaskNone = 0,
663     Acquire = 0x00000002,
664     Release = 0x00000004,
665     AcquireRelease = 0x00000008,
666     SequentiallyConsistent = 0x00000010,
667     UniformMemory = 0x00000040,
668     SubgroupMemory = 0x00000080,
669     WorkgroupMemory = 0x00000100,
670     CrossWorkgroupMemory = 0x00000200,
671     AtomicCounterMemory = 0x00000400,
672     ImageMemory = 0x00000800,
673     OutputMemory = 0x00001000,
674     OutputMemoryKHR = 0x00001000,
675     MakeAvailable = 0x00002000,
676     MakeAvailableKHR = 0x00002000,
677     MakeVisible = 0x00004000,
678     MakeVisibleKHR = 0x00004000,
679     Volatile = 0x00008000,
680 }
681 
682 enum MemoryAccessShift : uint
683 {
684     Volatile = 0,
685     Aligned = 1,
686     Nontemporal = 2,
687     MakePointerAvailable = 3,
688     MakePointerAvailableKHR = 3,
689     MakePointerVisible = 4,
690     MakePointerVisibleKHR = 4,
691     NonPrivatePointer = 5,
692     NonPrivatePointerKHR = 5,
693 }
694 
695 enum MemoryAccessMask : uint
696 {
697     MaskNone = 0,
698     Volatile = 0x00000001,
699     Aligned = 0x00000002,
700     Nontemporal = 0x00000004,
701     MakePointerAvailable = 0x00000008,
702     MakePointerAvailableKHR = 0x00000008,
703     MakePointerVisible = 0x00000010,
704     MakePointerVisibleKHR = 0x00000010,
705     NonPrivatePointer = 0x00000020,
706     NonPrivatePointerKHR = 0x00000020,
707 }
708 
709 enum Scope : uint
710 {
711     CrossDevice = 0,
712     Device = 1,
713     Workgroup = 2,
714     Subgroup = 3,
715     Invocation = 4,
716     QueueFamily = 5,
717     QueueFamilyKHR = 5,
718 }
719 
720 enum GroupOperation : uint
721 {
722     Reduce = 0,
723     InclusiveScan = 1,
724     ExclusiveScan = 2,
725     ClusteredReduce = 3,
726     PartitionedReduceNV = 6,
727     PartitionedInclusiveScanNV = 7,
728     PartitionedExclusiveScanNV = 8,
729 }
730 
731 enum KernelEnqueueFlags : uint
732 {
733     NoWait = 0,
734     WaitKernel = 1,
735     WaitWorkGroup = 2,
736 }
737 
738 enum KernelProfilingInfoShift : uint
739 {
740     CmdExecTime = 0,
741 }
742 
743 enum KernelProfilingInfoMask : uint
744 {
745     MaskNone = 0,
746     CmdExecTime = 0x00000001,
747 }
748 
749 enum Capability : uint
750 {
751     Matrix = 0,
752     Shader = 1,
753     Geometry = 2,
754     Tessellation = 3,
755     Addresses = 4,
756     Linkage = 5,
757     Kernel = 6,
758     Vector16 = 7,
759     Float16Buffer = 8,
760     Float16 = 9,
761     Float64 = 10,
762     Int64 = 11,
763     Int64Atomics = 12,
764     ImageBasic = 13,
765     ImageReadWrite = 14,
766     ImageMipmap = 15,
767     Pipes = 17,
768     Groups = 18,
769     DeviceEnqueue = 19,
770     LiteralSampler = 20,
771     AtomicStorage = 21,
772     Int16 = 22,
773     TessellationPointSize = 23,
774     GeometryPointSize = 24,
775     ImageGatherExtended = 25,
776     StorageImageMultisample = 27,
777     UniformBufferArrayDynamicIndexing = 28,
778     SampledImageArrayDynamicIndexing = 29,
779     StorageBufferArrayDynamicIndexing = 30,
780     StorageImageArrayDynamicIndexing = 31,
781     ClipDistance = 32,
782     CullDistance = 33,
783     ImageCubeArray = 34,
784     SampleRateShading = 35,
785     ImageRect = 36,
786     SampledRect = 37,
787     GenericPointer = 38,
788     Int8 = 39,
789     InputAttachment = 40,
790     SparseResidency = 41,
791     MinLod = 42,
792     Sampled1D = 43,
793     Image1D = 44,
794     SampledCubeArray = 45,
795     SampledBuffer = 46,
796     ImageBuffer = 47,
797     ImageMSArray = 48,
798     StorageImageExtendedFormats = 49,
799     ImageQuery = 50,
800     DerivativeControl = 51,
801     InterpolationFunction = 52,
802     TransformFeedback = 53,
803     GeometryStreams = 54,
804     StorageImageReadWithoutFormat = 55,
805     StorageImageWriteWithoutFormat = 56,
806     MultiViewport = 57,
807     SubgroupDispatch = 58,
808     NamedBarrier = 59,
809     PipeStorage = 60,
810     GroupNonUniform = 61,
811     GroupNonUniformVote = 62,
812     GroupNonUniformArithmetic = 63,
813     GroupNonUniformBallot = 64,
814     GroupNonUniformShuffle = 65,
815     GroupNonUniformShuffleRelative = 66,
816     GroupNonUniformClustered = 67,
817     GroupNonUniformQuad = 68,
818     ShaderLayer = 69,
819     ShaderViewportIndex = 70,
820     SubgroupBallotKHR = 4423,
821     DrawParameters = 4427,
822     SubgroupVoteKHR = 4431,
823     StorageBuffer16BitAccess = 4433,
824     StorageUniformBufferBlock16 = 4433,
825     StorageUniform16 = 4434,
826     UniformAndStorageBuffer16BitAccess = 4434,
827     StoragePushConstant16 = 4435,
828     StorageInputOutput16 = 4436,
829     DeviceGroup = 4437,
830     MultiView = 4439,
831     VariablePointersStorageBuffer = 4441,
832     VariablePointers = 4442,
833     AtomicStorageOps = 4445,
834     SampleMaskPostDepthCoverage = 4447,
835     StorageBuffer8BitAccess = 4448,
836     UniformAndStorageBuffer8BitAccess = 4449,
837     StoragePushConstant8 = 4450,
838     DenormPreserve = 4464,
839     DenormFlushToZero = 4465,
840     SignedZeroInfNanPreserve = 4466,
841     RoundingModeRTE = 4467,
842     RoundingModeRTZ = 4468,
843     Float16ImageAMD = 5008,
844     ImageGatherBiasLodAMD = 5009,
845     FragmentMaskAMD = 5010,
846     StencilExportEXT = 5013,
847     ImageReadWriteLodAMD = 5015,
848     ShaderClockKHR = 5055,
849     SampleMaskOverrideCoverageNV = 5249,
850     GeometryShaderPassthroughNV = 5251,
851     ShaderViewportIndexLayerEXT = 5254,
852     ShaderViewportIndexLayerNV = 5254,
853     ShaderViewportMaskNV = 5255,
854     ShaderStereoViewNV = 5259,
855     PerViewAttributesNV = 5260,
856     FragmentFullyCoveredEXT = 5265,
857     MeshShadingNV = 5266,
858     ImageFootprintNV = 5282,
859     FragmentBarycentricNV = 5284,
860     ComputeDerivativeGroupQuadsNV = 5288,
861     FragmentDensityEXT = 5291,
862     ShadingRateNV = 5291,
863     GroupNonUniformPartitionedNV = 5297,
864     ShaderNonUniform = 5301,
865     ShaderNonUniformEXT = 5301,
866     RuntimeDescriptorArray = 5302,
867     RuntimeDescriptorArrayEXT = 5302,
868     InputAttachmentArrayDynamicIndexing = 5303,
869     InputAttachmentArrayDynamicIndexingEXT = 5303,
870     UniformTexelBufferArrayDynamicIndexing = 5304,
871     UniformTexelBufferArrayDynamicIndexingEXT = 5304,
872     StorageTexelBufferArrayDynamicIndexing = 5305,
873     StorageTexelBufferArrayDynamicIndexingEXT = 5305,
874     UniformBufferArrayNonUniformIndexing = 5306,
875     UniformBufferArrayNonUniformIndexingEXT = 5306,
876     SampledImageArrayNonUniformIndexing = 5307,
877     SampledImageArrayNonUniformIndexingEXT = 5307,
878     StorageBufferArrayNonUniformIndexing = 5308,
879     StorageBufferArrayNonUniformIndexingEXT = 5308,
880     StorageImageArrayNonUniformIndexing = 5309,
881     StorageImageArrayNonUniformIndexingEXT = 5309,
882     InputAttachmentArrayNonUniformIndexing = 5310,
883     InputAttachmentArrayNonUniformIndexingEXT = 5310,
884     UniformTexelBufferArrayNonUniformIndexing = 5311,
885     UniformTexelBufferArrayNonUniformIndexingEXT = 5311,
886     StorageTexelBufferArrayNonUniformIndexing = 5312,
887     StorageTexelBufferArrayNonUniformIndexingEXT = 5312,
888     RayTracingNV = 5340,
889     VulkanMemoryModel = 5345,
890     VulkanMemoryModelKHR = 5345,
891     VulkanMemoryModelDeviceScope = 5346,
892     VulkanMemoryModelDeviceScopeKHR = 5346,
893     PhysicalStorageBufferAddresses = 5347,
894     PhysicalStorageBufferAddressesEXT = 5347,
895     ComputeDerivativeGroupLinearNV = 5350,
896     CooperativeMatrixNV = 5357,
897     FragmentShaderSampleInterlockEXT = 5363,
898     FragmentShaderShadingRateInterlockEXT = 5372,
899     ShaderSMBuiltinsNV = 5373,
900     FragmentShaderPixelInterlockEXT = 5378,
901     DemoteToHelperInvocationEXT = 5379,
902     SubgroupShuffleINTEL = 5568,
903     SubgroupBufferBlockIOINTEL = 5569,
904     SubgroupImageBlockIOINTEL = 5570,
905     SubgroupImageMediaBlockIOINTEL = 5579,
906     IntegerFunctions2INTEL = 5584,
907     SubgroupAvcMotionEstimationINTEL = 5696,
908     SubgroupAvcMotionEstimationIntraINTEL = 5697,
909     SubgroupAvcMotionEstimationChromaINTEL = 5698,
910 }
911 
912 enum Op : uint
913 {
914     OpNop = 0,
915     OpUndef = 1,
916     OpSourceContinued = 2,
917     OpSource = 3,
918     OpSourceExtension = 4,
919     OpName = 5,
920     OpMemberName = 6,
921     OpString = 7,
922     OpLine = 8,
923     OpExtension = 10,
924     OpExtInstImport = 11,
925     OpExtInst = 12,
926     OpMemoryModel = 14,
927     OpEntryPoint = 15,
928     OpExecutionMode = 16,
929     OpCapability = 17,
930     OpTypeVoid = 19,
931     OpTypeBool = 20,
932     OpTypeInt = 21,
933     OpTypeFloat = 22,
934     OpTypeVector = 23,
935     OpTypeMatrix = 24,
936     OpTypeImage = 25,
937     OpTypeSampler = 26,
938     OpTypeSampledImage = 27,
939     OpTypeArray = 28,
940     OpTypeRuntimeArray = 29,
941     OpTypeStruct = 30,
942     OpTypeOpaque = 31,
943     OpTypePointer = 32,
944     OpTypeFunction = 33,
945     OpTypeEvent = 34,
946     OpTypeDeviceEvent = 35,
947     OpTypeReserveId = 36,
948     OpTypeQueue = 37,
949     OpTypePipe = 38,
950     OpTypeForwardPointer = 39,
951     OpConstantTrue = 41,
952     OpConstantFalse = 42,
953     OpConstant = 43,
954     OpConstantComposite = 44,
955     OpConstantSampler = 45,
956     OpConstantNull = 46,
957     OpSpecConstantTrue = 48,
958     OpSpecConstantFalse = 49,
959     OpSpecConstant = 50,
960     OpSpecConstantComposite = 51,
961     OpSpecConstantOp = 52,
962     OpFunction = 54,
963     OpFunctionParameter = 55,
964     OpFunctionEnd = 56,
965     OpFunctionCall = 57,
966     OpVariable = 59,
967     OpImageTexelPointer = 60,
968     OpLoad = 61,
969     OpStore = 62,
970     OpCopyMemory = 63,
971     OpCopyMemorySized = 64,
972     OpAccessChain = 65,
973     OpInBoundsAccessChain = 66,
974     OpPtrAccessChain = 67,
975     OpArrayLength = 68,
976     OpGenericPtrMemSemantics = 69,
977     OpInBoundsPtrAccessChain = 70,
978     OpDecorate = 71,
979     OpMemberDecorate = 72,
980     OpDecorationGroup = 73,
981     OpGroupDecorate = 74,
982     OpGroupMemberDecorate = 75,
983     OpVectorExtractDynamic = 77,
984     OpVectorInsertDynamic = 78,
985     OpVectorShuffle = 79,
986     OpCompositeConstruct = 80,
987     OpCompositeExtract = 81,
988     OpCompositeInsert = 82,
989     OpCopyObject = 83,
990     OpTranspose = 84,
991     OpSampledImage = 86,
992     OpImageSampleImplicitLod = 87,
993     OpImageSampleExplicitLod = 88,
994     OpImageSampleDrefImplicitLod = 89,
995     OpImageSampleDrefExplicitLod = 90,
996     OpImageSampleProjImplicitLod = 91,
997     OpImageSampleProjExplicitLod = 92,
998     OpImageSampleProjDrefImplicitLod = 93,
999     OpImageSampleProjDrefExplicitLod = 94,
1000     OpImageFetch = 95,
1001     OpImageGather = 96,
1002     OpImageDrefGather = 97,
1003     OpImageRead = 98,
1004     OpImageWrite = 99,
1005     OpImage = 100,
1006     OpImageQueryFormat = 101,
1007     OpImageQueryOrder = 102,
1008     OpImageQuerySizeLod = 103,
1009     OpImageQuerySize = 104,
1010     OpImageQueryLod = 105,
1011     OpImageQueryLevels = 106,
1012     OpImageQuerySamples = 107,
1013     OpConvertFToU = 109,
1014     OpConvertFToS = 110,
1015     OpConvertSToF = 111,
1016     OpConvertUToF = 112,
1017     OpUConvert = 113,
1018     OpSConvert = 114,
1019     OpFConvert = 115,
1020     OpQuantizeToF16 = 116,
1021     OpConvertPtrToU = 117,
1022     OpSatConvertSToU = 118,
1023     OpSatConvertUToS = 119,
1024     OpConvertUToPtr = 120,
1025     OpPtrCastToGeneric = 121,
1026     OpGenericCastToPtr = 122,
1027     OpGenericCastToPtrExplicit = 123,
1028     OpBitcast = 124,
1029     OpSNegate = 126,
1030     OpFNegate = 127,
1031     OpIAdd = 128,
1032     OpFAdd = 129,
1033     OpISub = 130,
1034     OpFSub = 131,
1035     OpIMul = 132,
1036     OpFMul = 133,
1037     OpUDiv = 134,
1038     OpSDiv = 135,
1039     OpFDiv = 136,
1040     OpUMod = 137,
1041     OpSRem = 138,
1042     OpSMod = 139,
1043     OpFRem = 140,
1044     OpFMod = 141,
1045     OpVectorTimesScalar = 142,
1046     OpMatrixTimesScalar = 143,
1047     OpVectorTimesMatrix = 144,
1048     OpMatrixTimesVector = 145,
1049     OpMatrixTimesMatrix = 146,
1050     OpOuterProduct = 147,
1051     OpDot = 148,
1052     OpIAddCarry = 149,
1053     OpISubBorrow = 150,
1054     OpUMulExtended = 151,
1055     OpSMulExtended = 152,
1056     OpAny = 154,
1057     OpAll = 155,
1058     OpIsNan = 156,
1059     OpIsInf = 157,
1060     OpIsFinite = 158,
1061     OpIsNormal = 159,
1062     OpSignBitSet = 160,
1063     OpLessOrGreater = 161,
1064     OpOrdered = 162,
1065     OpUnordered = 163,
1066     OpLogicalEqual = 164,
1067     OpLogicalNotEqual = 165,
1068     OpLogicalOr = 166,
1069     OpLogicalAnd = 167,
1070     OpLogicalNot = 168,
1071     OpSelect = 169,
1072     OpIEqual = 170,
1073     OpINotEqual = 171,
1074     OpUGreaterThan = 172,
1075     OpSGreaterThan = 173,
1076     OpUGreaterThanEqual = 174,
1077     OpSGreaterThanEqual = 175,
1078     OpULessThan = 176,
1079     OpSLessThan = 177,
1080     OpULessThanEqual = 178,
1081     OpSLessThanEqual = 179,
1082     OpFOrdEqual = 180,
1083     OpFUnordEqual = 181,
1084     OpFOrdNotEqual = 182,
1085     OpFUnordNotEqual = 183,
1086     OpFOrdLessThan = 184,
1087     OpFUnordLessThan = 185,
1088     OpFOrdGreaterThan = 186,
1089     OpFUnordGreaterThan = 187,
1090     OpFOrdLessThanEqual = 188,
1091     OpFUnordLessThanEqual = 189,
1092     OpFOrdGreaterThanEqual = 190,
1093     OpFUnordGreaterThanEqual = 191,
1094     OpShiftRightLogical = 194,
1095     OpShiftRightArithmetic = 195,
1096     OpShiftLeftLogical = 196,
1097     OpBitwiseOr = 197,
1098     OpBitwiseXor = 198,
1099     OpBitwiseAnd = 199,
1100     OpNot = 200,
1101     OpBitFieldInsert = 201,
1102     OpBitFieldSExtract = 202,
1103     OpBitFieldUExtract = 203,
1104     OpBitReverse = 204,
1105     OpBitCount = 205,
1106     OpDPdx = 207,
1107     OpDPdy = 208,
1108     OpFwidth = 209,
1109     OpDPdxFine = 210,
1110     OpDPdyFine = 211,
1111     OpFwidthFine = 212,
1112     OpDPdxCoarse = 213,
1113     OpDPdyCoarse = 214,
1114     OpFwidthCoarse = 215,
1115     OpEmitVertex = 218,
1116     OpEndPrimitive = 219,
1117     OpEmitStreamVertex = 220,
1118     OpEndStreamPrimitive = 221,
1119     OpControlBarrier = 224,
1120     OpMemoryBarrier = 225,
1121     OpAtomicLoad = 227,
1122     OpAtomicStore = 228,
1123     OpAtomicExchange = 229,
1124     OpAtomicCompareExchange = 230,
1125     OpAtomicCompareExchangeWeak = 231,
1126     OpAtomicIIncrement = 232,
1127     OpAtomicIDecrement = 233,
1128     OpAtomicIAdd = 234,
1129     OpAtomicISub = 235,
1130     OpAtomicSMin = 236,
1131     OpAtomicUMin = 237,
1132     OpAtomicSMax = 238,
1133     OpAtomicUMax = 239,
1134     OpAtomicAnd = 240,
1135     OpAtomicOr = 241,
1136     OpAtomicXor = 242,
1137     OpPhi = 245,
1138     OpLoopMerge = 246,
1139     OpSelectionMerge = 247,
1140     OpLabel = 248,
1141     OpBranch = 249,
1142     OpBranchConditional = 250,
1143     OpSwitch = 251,
1144     OpKill = 252,
1145     OpReturn = 253,
1146     OpReturnValue = 254,
1147     OpUnreachable = 255,
1148     OpLifetimeStart = 256,
1149     OpLifetimeStop = 257,
1150     OpGroupAsyncCopy = 259,
1151     OpGroupWaitEvents = 260,
1152     OpGroupAll = 261,
1153     OpGroupAny = 262,
1154     OpGroupBroadcast = 263,
1155     OpGroupIAdd = 264,
1156     OpGroupFAdd = 265,
1157     OpGroupFMin = 266,
1158     OpGroupUMin = 267,
1159     OpGroupSMin = 268,
1160     OpGroupFMax = 269,
1161     OpGroupUMax = 270,
1162     OpGroupSMax = 271,
1163     OpReadPipe = 274,
1164     OpWritePipe = 275,
1165     OpReservedReadPipe = 276,
1166     OpReservedWritePipe = 277,
1167     OpReserveReadPipePackets = 278,
1168     OpReserveWritePipePackets = 279,
1169     OpCommitReadPipe = 280,
1170     OpCommitWritePipe = 281,
1171     OpIsValidReserveId = 282,
1172     OpGetNumPipePackets = 283,
1173     OpGetMaxPipePackets = 284,
1174     OpGroupReserveReadPipePackets = 285,
1175     OpGroupReserveWritePipePackets = 286,
1176     OpGroupCommitReadPipe = 287,
1177     OpGroupCommitWritePipe = 288,
1178     OpEnqueueMarker = 291,
1179     OpEnqueueKernel = 292,
1180     OpGetKernelNDrangeSubGroupCount = 293,
1181     OpGetKernelNDrangeMaxSubGroupSize = 294,
1182     OpGetKernelWorkGroupSize = 295,
1183     OpGetKernelPreferredWorkGroupSizeMultiple = 296,
1184     OpRetainEvent = 297,
1185     OpReleaseEvent = 298,
1186     OpCreateUserEvent = 299,
1187     OpIsValidEvent = 300,
1188     OpSetUserEventStatus = 301,
1189     OpCaptureEventProfilingInfo = 302,
1190     OpGetDefaultQueue = 303,
1191     OpBuildNDRange = 304,
1192     OpImageSparseSampleImplicitLod = 305,
1193     OpImageSparseSampleExplicitLod = 306,
1194     OpImageSparseSampleDrefImplicitLod = 307,
1195     OpImageSparseSampleDrefExplicitLod = 308,
1196     OpImageSparseSampleProjImplicitLod = 309,
1197     OpImageSparseSampleProjExplicitLod = 310,
1198     OpImageSparseSampleProjDrefImplicitLod = 311,
1199     OpImageSparseSampleProjDrefExplicitLod = 312,
1200     OpImageSparseFetch = 313,
1201     OpImageSparseGather = 314,
1202     OpImageSparseDrefGather = 315,
1203     OpImageSparseTexelsResident = 316,
1204     OpNoLine = 317,
1205     OpAtomicFlagTestAndSet = 318,
1206     OpAtomicFlagClear = 319,
1207     OpImageSparseRead = 320,
1208     OpSizeOf = 321,
1209     OpTypePipeStorage = 322,
1210     OpConstantPipeStorage = 323,
1211     OpCreatePipeFromPipeStorage = 324,
1212     OpGetKernelLocalSizeForSubgroupCount = 325,
1213     OpGetKernelMaxNumSubgroups = 326,
1214     OpTypeNamedBarrier = 327,
1215     OpNamedBarrierInitialize = 328,
1216     OpMemoryNamedBarrier = 329,
1217     OpModuleProcessed = 330,
1218     OpExecutionModeId = 331,
1219     OpDecorateId = 332,
1220     OpGroupNonUniformElect = 333,
1221     OpGroupNonUniformAll = 334,
1222     OpGroupNonUniformAny = 335,
1223     OpGroupNonUniformAllEqual = 336,
1224     OpGroupNonUniformBroadcast = 337,
1225     OpGroupNonUniformBroadcastFirst = 338,
1226     OpGroupNonUniformBallot = 339,
1227     OpGroupNonUniformInverseBallot = 340,
1228     OpGroupNonUniformBallotBitExtract = 341,
1229     OpGroupNonUniformBallotBitCount = 342,
1230     OpGroupNonUniformBallotFindLSB = 343,
1231     OpGroupNonUniformBallotFindMSB = 344,
1232     OpGroupNonUniformShuffle = 345,
1233     OpGroupNonUniformShuffleXor = 346,
1234     OpGroupNonUniformShuffleUp = 347,
1235     OpGroupNonUniformShuffleDown = 348,
1236     OpGroupNonUniformIAdd = 349,
1237     OpGroupNonUniformFAdd = 350,
1238     OpGroupNonUniformIMul = 351,
1239     OpGroupNonUniformFMul = 352,
1240     OpGroupNonUniformSMin = 353,
1241     OpGroupNonUniformUMin = 354,
1242     OpGroupNonUniformFMin = 355,
1243     OpGroupNonUniformSMax = 356,
1244     OpGroupNonUniformUMax = 357,
1245     OpGroupNonUniformFMax = 358,
1246     OpGroupNonUniformBitwiseAnd = 359,
1247     OpGroupNonUniformBitwiseOr = 360,
1248     OpGroupNonUniformBitwiseXor = 361,
1249     OpGroupNonUniformLogicalAnd = 362,
1250     OpGroupNonUniformLogicalOr = 363,
1251     OpGroupNonUniformLogicalXor = 364,
1252     OpGroupNonUniformQuadBroadcast = 365,
1253     OpGroupNonUniformQuadSwap = 366,
1254     OpCopyLogical = 400,
1255     OpPtrEqual = 401,
1256     OpPtrNotEqual = 402,
1257     OpPtrDiff = 403,
1258     OpSubgroupBallotKHR = 4421,
1259     OpSubgroupFirstInvocationKHR = 4422,
1260     OpSubgroupAllKHR = 4428,
1261     OpSubgroupAnyKHR = 4429,
1262     OpSubgroupAllEqualKHR = 4430,
1263     OpSubgroupReadInvocationKHR = 4432,
1264     OpGroupIAddNonUniformAMD = 5000,
1265     OpGroupFAddNonUniformAMD = 5001,
1266     OpGroupFMinNonUniformAMD = 5002,
1267     OpGroupUMinNonUniformAMD = 5003,
1268     OpGroupSMinNonUniformAMD = 5004,
1269     OpGroupFMaxNonUniformAMD = 5005,
1270     OpGroupUMaxNonUniformAMD = 5006,
1271     OpGroupSMaxNonUniformAMD = 5007,
1272     OpFragmentMaskFetchAMD = 5011,
1273     OpFragmentFetchAMD = 5012,
1274     OpReadClockKHR = 5056,
1275     OpImageSampleFootprintNV = 5283,
1276     OpGroupNonUniformPartitionNV = 5296,
1277     OpWritePackedPrimitiveIndices4x8NV = 5299,
1278     OpReportIntersectionNV = 5334,
1279     OpIgnoreIntersectionNV = 5335,
1280     OpTerminateRayNV = 5336,
1281     OpTraceNV = 5337,
1282     OpTypeAccelerationStructureNV = 5341,
1283     OpExecuteCallableNV = 5344,
1284     OpTypeCooperativeMatrixNV = 5358,
1285     OpCooperativeMatrixLoadNV = 5359,
1286     OpCooperativeMatrixStoreNV = 5360,
1287     OpCooperativeMatrixMulAddNV = 5361,
1288     OpCooperativeMatrixLengthNV = 5362,
1289     OpBeginInvocationInterlockEXT = 5364,
1290     OpEndInvocationInterlockEXT = 5365,
1291     OpDemoteToHelperInvocationEXT = 5380,
1292     OpIsHelperInvocationEXT = 5381,
1293     OpSubgroupShuffleINTEL = 5571,
1294     OpSubgroupShuffleDownINTEL = 5572,
1295     OpSubgroupShuffleUpINTEL = 5573,
1296     OpSubgroupShuffleXorINTEL = 5574,
1297     OpSubgroupBlockReadINTEL = 5575,
1298     OpSubgroupBlockWriteINTEL = 5576,
1299     OpSubgroupImageBlockReadINTEL = 5577,
1300     OpSubgroupImageBlockWriteINTEL = 5578,
1301     OpSubgroupImageMediaBlockReadINTEL = 5580,
1302     OpSubgroupImageMediaBlockWriteINTEL = 5581,
1303     OpUCountLeadingZerosINTEL = 5585,
1304     OpUCountTrailingZerosINTEL = 5586,
1305     OpAbsISubINTEL = 5587,
1306     OpAbsUSubINTEL = 5588,
1307     OpIAddSatINTEL = 5589,
1308     OpUAddSatINTEL = 5590,
1309     OpIAverageINTEL = 5591,
1310     OpUAverageINTEL = 5592,
1311     OpIAverageRoundedINTEL = 5593,
1312     OpUAverageRoundedINTEL = 5594,
1313     OpISubSatINTEL = 5595,
1314     OpUSubSatINTEL = 5596,
1315     OpIMul32x16INTEL = 5597,
1316     OpUMul32x16INTEL = 5598,
1317     OpDecorateString = 5632,
1318     OpDecorateStringGOOGLE = 5632,
1319     OpMemberDecorateString = 5633,
1320     OpMemberDecorateStringGOOGLE = 5633,
1321     OpVmeImageINTEL = 5699,
1322     OpTypeVmeImageINTEL = 5700,
1323     OpTypeAvcImePayloadINTEL = 5701,
1324     OpTypeAvcRefPayloadINTEL = 5702,
1325     OpTypeAvcSicPayloadINTEL = 5703,
1326     OpTypeAvcMcePayloadINTEL = 5704,
1327     OpTypeAvcMceResultINTEL = 5705,
1328     OpTypeAvcImeResultINTEL = 5706,
1329     OpTypeAvcImeResultSingleReferenceStreamoutINTEL = 5707,
1330     OpTypeAvcImeResultDualReferenceStreamoutINTEL = 5708,
1331     OpTypeAvcImeSingleReferenceStreaminINTEL = 5709,
1332     OpTypeAvcImeDualReferenceStreaminINTEL = 5710,
1333     OpTypeAvcRefResultINTEL = 5711,
1334     OpTypeAvcSicResultINTEL = 5712,
1335     OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL = 5713,
1336     OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL = 5714,
1337     OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL = 5715,
1338     OpSubgroupAvcMceSetInterShapePenaltyINTEL = 5716,
1339     OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL = 5717,
1340     OpSubgroupAvcMceSetInterDirectionPenaltyINTEL = 5718,
1341     OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL = 5719,
1342     OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL = 5720,
1343     OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL = 5721,
1344     OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL = 5722,
1345     OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL = 5723,
1346     OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL = 5724,
1347     OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL = 5725,
1348     OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL = 5726,
1349     OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL = 5727,
1350     OpSubgroupAvcMceSetAcOnlyHaarINTEL = 5728,
1351     OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL = 5729,
1352     OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL = 5730,
1353     OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL = 5731,
1354     OpSubgroupAvcMceConvertToImePayloadINTEL = 5732,
1355     OpSubgroupAvcMceConvertToImeResultINTEL = 5733,
1356     OpSubgroupAvcMceConvertToRefPayloadINTEL = 5734,
1357     OpSubgroupAvcMceConvertToRefResultINTEL = 5735,
1358     OpSubgroupAvcMceConvertToSicPayloadINTEL = 5736,
1359     OpSubgroupAvcMceConvertToSicResultINTEL = 5737,
1360     OpSubgroupAvcMceGetMotionVectorsINTEL = 5738,
1361     OpSubgroupAvcMceGetInterDistortionsINTEL = 5739,
1362     OpSubgroupAvcMceGetBestInterDistortionsINTEL = 5740,
1363     OpSubgroupAvcMceGetInterMajorShapeINTEL = 5741,
1364     OpSubgroupAvcMceGetInterMinorShapeINTEL = 5742,
1365     OpSubgroupAvcMceGetInterDirectionsINTEL = 5743,
1366     OpSubgroupAvcMceGetInterMotionVectorCountINTEL = 5744,
1367     OpSubgroupAvcMceGetInterReferenceIdsINTEL = 5745,
1368     OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL = 5746,
1369     OpSubgroupAvcImeInitializeINTEL = 5747,
1370     OpSubgroupAvcImeSetSingleReferenceINTEL = 5748,
1371     OpSubgroupAvcImeSetDualReferenceINTEL = 5749,
1372     OpSubgroupAvcImeRefWindowSizeINTEL = 5750,
1373     OpSubgroupAvcImeAdjustRefOffsetINTEL = 5751,
1374     OpSubgroupAvcImeConvertToMcePayloadINTEL = 5752,
1375     OpSubgroupAvcImeSetMaxMotionVectorCountINTEL = 5753,
1376     OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL = 5754,
1377     OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL = 5755,
1378     OpSubgroupAvcImeSetWeightedSadINTEL = 5756,
1379     OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL = 5757,
1380     OpSubgroupAvcImeEvaluateWithDualReferenceINTEL = 5758,
1381     OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL = 5759,
1382     OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL = 5760,
1383     OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL = 5761,
1384     OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL = 5762,
1385     OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL = 5763,
1386     OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL = 5764,
1387     OpSubgroupAvcImeConvertToMceResultINTEL = 5765,
1388     OpSubgroupAvcImeGetSingleReferenceStreaminINTEL = 5766,
1389     OpSubgroupAvcImeGetDualReferenceStreaminINTEL = 5767,
1390     OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL = 5768,
1391     OpSubgroupAvcImeStripDualReferenceStreamoutINTEL = 5769,
1392     OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL = 5770,
1393     OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL = 5771,
1394     OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL = 5772,
1395     OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL = 5773,
1396     OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL = 5774,
1397     OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL = 5775,
1398     OpSubgroupAvcImeGetBorderReachedINTEL = 5776,
1399     OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL = 5777,
1400     OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL = 5778,
1401     OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL = 5779,
1402     OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL = 5780,
1403     OpSubgroupAvcFmeInitializeINTEL = 5781,
1404     OpSubgroupAvcBmeInitializeINTEL = 5782,
1405     OpSubgroupAvcRefConvertToMcePayloadINTEL = 5783,
1406     OpSubgroupAvcRefSetBidirectionalMixDisableINTEL = 5784,
1407     OpSubgroupAvcRefSetBilinearFilterEnableINTEL = 5785,
1408     OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL = 5786,
1409     OpSubgroupAvcRefEvaluateWithDualReferenceINTEL = 5787,
1410     OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL = 5788,
1411     OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL = 5789,
1412     OpSubgroupAvcRefConvertToMceResultINTEL = 5790,
1413     OpSubgroupAvcSicInitializeINTEL = 5791,
1414     OpSubgroupAvcSicConfigureSkcINTEL = 5792,
1415     OpSubgroupAvcSicConfigureIpeLumaINTEL = 5793,
1416     OpSubgroupAvcSicConfigureIpeLumaChromaINTEL = 5794,
1417     OpSubgroupAvcSicGetMotionVectorMaskINTEL = 5795,
1418     OpSubgroupAvcSicConvertToMcePayloadINTEL = 5796,
1419     OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL = 5797,
1420     OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL = 5798,
1421     OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL = 5799,
1422     OpSubgroupAvcSicSetBilinearFilterEnableINTEL = 5800,
1423     OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL = 5801,
1424     OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL = 5802,
1425     OpSubgroupAvcSicEvaluateIpeINTEL = 5803,
1426     OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL = 5804,
1427     OpSubgroupAvcSicEvaluateWithDualReferenceINTEL = 5805,
1428     OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL = 5806,
1429     OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL = 5807,
1430     OpSubgroupAvcSicConvertToMceResultINTEL = 5808,
1431     OpSubgroupAvcSicGetIpeLumaShapeINTEL = 5809,
1432     OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL = 5810,
1433     OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL = 5811,
1434     OpSubgroupAvcSicGetPackedIpeLumaModesINTEL = 5812,
1435     OpSubgroupAvcSicGetIpeChromaModeINTEL = 5813,
1436     OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
1437     OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
1438     OpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
1439 }
1440 
1441 
1442