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