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