// Copyright (c) 2014-2019 The Khronos Group Inc.
// 
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and/or associated documentation files (the "Materials"),
// to deal in the Materials without restriction, including without limitation
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
// and/or sell copies of the Materials, and to permit persons to whom the
// Materials are furnished to do so, subject to the following conditions:
// 
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Materials.
// 
// MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS
// STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND
// HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ 
// 
// THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
// FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS
// IN THE MATERIALS.

// This header is automatically generated by the same tool that creates
// the Binary Section of the SPIR-V specification.

// Enumeration tokens for SPIR-V, in various styles:
//   C, C++, C++11, JSON, Lua, Python, C#, D
// 
// - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
// - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
// - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL
// - Lua will use tables, e.g.: spv.SourceLanguage.GLSL
// - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']
// - C# will use enum classes in the Specification class located in the "Spv" namespace,
//     e.g.: Spv.Specification.SourceLanguage.GLSL
// - D will have tokens under the "spv" module, e.g: spv.SourceLanguage.GLSL
// 
// Some tokens act like mask values, which can be OR'd together,
// while others are mutually exclusive.  The mask-like ones have
// "Mask" in their name, and a parallel enum that has the shift
// amount (1 << x) for each corresponding enumerant.

namespace Spv
{

    public static class Specification
    {
        public const uint MagicNumber = 0x07230203;
        public const uint Version = 0x00010400;
        public const uint Revision = 1;
        public const uint OpCodeMask = 0xffff;
        public const uint WordCountShift = 16;

        public enum SourceLanguage
        {
            Unknown = 0,
            ESSL = 1,
            GLSL = 2,
            OpenCL_C = 3,
            OpenCL_CPP = 4,
            HLSL = 5,
        }

        public enum ExecutionModel
        {
            Vertex = 0,
            TessellationControl = 1,
            TessellationEvaluation = 2,
            Geometry = 3,
            Fragment = 4,
            GLCompute = 5,
            Kernel = 6,
            TaskNV = 5267,
            MeshNV = 5268,
            RayGenerationNV = 5313,
            IntersectionNV = 5314,
            AnyHitNV = 5315,
            ClosestHitNV = 5316,
            MissNV = 5317,
            CallableNV = 5318,
        }

        public enum AddressingModel
        {
            Logical = 0,
            Physical32 = 1,
            Physical64 = 2,
            PhysicalStorageBuffer64EXT = 5348,
        }

        public enum MemoryModel
        {
            Simple = 0,
            GLSL450 = 1,
            OpenCL = 2,
            VulkanKHR = 3,
        }

        public enum ExecutionMode
        {
            Invocations = 0,
            SpacingEqual = 1,
            SpacingFractionalEven = 2,
            SpacingFractionalOdd = 3,
            VertexOrderCw = 4,
            VertexOrderCcw = 5,
            PixelCenterInteger = 6,
            OriginUpperLeft = 7,
            OriginLowerLeft = 8,
            EarlyFragmentTests = 9,
            PointMode = 10,
            Xfb = 11,
            DepthReplacing = 12,
            DepthGreater = 14,
            DepthLess = 15,
            DepthUnchanged = 16,
            LocalSize = 17,
            LocalSizeHint = 18,
            InputPoints = 19,
            InputLines = 20,
            InputLinesAdjacency = 21,
            Triangles = 22,
            InputTrianglesAdjacency = 23,
            Quads = 24,
            Isolines = 25,
            OutputVertices = 26,
            OutputPoints = 27,
            OutputLineStrip = 28,
            OutputTriangleStrip = 29,
            VecTypeHint = 30,
            ContractionOff = 31,
            Initializer = 33,
            Finalizer = 34,
            SubgroupSize = 35,
            SubgroupsPerWorkgroup = 36,
            SubgroupsPerWorkgroupId = 37,
            LocalSizeId = 38,
            LocalSizeHintId = 39,
            PostDepthCoverage = 4446,
            DenormPreserve = 4459,
            DenormFlushToZero = 4460,
            SignedZeroInfNanPreserve = 4461,
            RoundingModeRTE = 4462,
            RoundingModeRTZ = 4463,
            StencilRefReplacingEXT = 5027,
            OutputLinesNV = 5269,
            OutputPrimitivesNV = 5270,
            DerivativeGroupQuadsNV = 5289,
            DerivativeGroupLinearNV = 5290,
            OutputTrianglesNV = 5298,
            PixelInterlockOrderedEXT = 5366,
            PixelInterlockUnorderedEXT = 5367,
            SampleInterlockOrderedEXT = 5368,
            SampleInterlockUnorderedEXT = 5369,
            ShadingRateInterlockOrderedEXT = 5370,
            ShadingRateInterlockUnorderedEXT = 5371,
        }

        public enum StorageClass
        {
            UniformConstant = 0,
            Input = 1,
            Uniform = 2,
            Output = 3,
            Workgroup = 4,
            CrossWorkgroup = 5,
            Private = 6,
            Function = 7,
            Generic = 8,
            PushConstant = 9,
            AtomicCounter = 10,
            Image = 11,
            StorageBuffer = 12,
            CallableDataNV = 5328,
            IncomingCallableDataNV = 5329,
            RayPayloadNV = 5338,
            HitAttributeNV = 5339,
            IncomingRayPayloadNV = 5342,
            ShaderRecordBufferNV = 5343,
            PhysicalStorageBufferEXT = 5349,
        }

        public enum Dim
        {
            Dim1D = 0,
            Dim2D = 1,
            Dim3D = 2,
            Cube = 3,
            Rect = 4,
            Buffer = 5,
            SubpassData = 6,
        }

        public enum SamplerAddressingMode
        {
            None = 0,
            ClampToEdge = 1,
            Clamp = 2,
            Repeat = 3,
            RepeatMirrored = 4,
        }

        public enum SamplerFilterMode
        {
            Nearest = 0,
            Linear = 1,
        }

        public enum ImageFormat
        {
            Unknown = 0,
            Rgba32f = 1,
            Rgba16f = 2,
            R32f = 3,
            Rgba8 = 4,
            Rgba8Snorm = 5,
            Rg32f = 6,
            Rg16f = 7,
            R11fG11fB10f = 8,
            R16f = 9,
            Rgba16 = 10,
            Rgb10A2 = 11,
            Rg16 = 12,
            Rg8 = 13,
            R16 = 14,
            R8 = 15,
            Rgba16Snorm = 16,
            Rg16Snorm = 17,
            Rg8Snorm = 18,
            R16Snorm = 19,
            R8Snorm = 20,
            Rgba32i = 21,
            Rgba16i = 22,
            Rgba8i = 23,
            R32i = 24,
            Rg32i = 25,
            Rg16i = 26,
            Rg8i = 27,
            R16i = 28,
            R8i = 29,
            Rgba32ui = 30,
            Rgba16ui = 31,
            Rgba8ui = 32,
            R32ui = 33,
            Rgb10a2ui = 34,
            Rg32ui = 35,
            Rg16ui = 36,
            Rg8ui = 37,
            R16ui = 38,
            R8ui = 39,
        }

        public enum ImageChannelOrder
        {
            R = 0,
            A = 1,
            RG = 2,
            RA = 3,
            RGB = 4,
            RGBA = 5,
            BGRA = 6,
            ARGB = 7,
            Intensity = 8,
            Luminance = 9,
            Rx = 10,
            RGx = 11,
            RGBx = 12,
            Depth = 13,
            DepthStencil = 14,
            sRGB = 15,
            sRGBx = 16,
            sRGBA = 17,
            sBGRA = 18,
            ABGR = 19,
        }

        public enum ImageChannelDataType
        {
            SnormInt8 = 0,
            SnormInt16 = 1,
            UnormInt8 = 2,
            UnormInt16 = 3,
            UnormShort565 = 4,
            UnormShort555 = 5,
            UnormInt101010 = 6,
            SignedInt8 = 7,
            SignedInt16 = 8,
            SignedInt32 = 9,
            UnsignedInt8 = 10,
            UnsignedInt16 = 11,
            UnsignedInt32 = 12,
            HalfFloat = 13,
            Float = 14,
            UnormInt24 = 15,
            UnormInt101010_2 = 16,
        }

        public enum ImageOperandsShift
        {
            Bias = 0,
            Lod = 1,
            Grad = 2,
            ConstOffset = 3,
            Offset = 4,
            ConstOffsets = 5,
            Sample = 6,
            MinLod = 7,
            MakeTexelAvailableKHR = 8,
            MakeTexelVisibleKHR = 9,
            NonPrivateTexelKHR = 10,
            VolatileTexelKHR = 11,
            SignExtend = 12,
            ZeroExtend = 13,
        }

        public enum ImageOperandsMask
        {
            MaskNone = 0,
            Bias = 0x00000001,
            Lod = 0x00000002,
            Grad = 0x00000004,
            ConstOffset = 0x00000008,
            Offset = 0x00000010,
            ConstOffsets = 0x00000020,
            Sample = 0x00000040,
            MinLod = 0x00000080,
            MakeTexelAvailableKHR = 0x00000100,
            MakeTexelVisibleKHR = 0x00000200,
            NonPrivateTexelKHR = 0x00000400,
            VolatileTexelKHR = 0x00000800,
            SignExtend = 0x00001000,
            ZeroExtend = 0x00002000,
        }

        public enum FPFastMathModeShift
        {
            NotNaN = 0,
            NotInf = 1,
            NSZ = 2,
            AllowRecip = 3,
            Fast = 4,
        }

        public enum FPFastMathModeMask
        {
            MaskNone = 0,
            NotNaN = 0x00000001,
            NotInf = 0x00000002,
            NSZ = 0x00000004,
            AllowRecip = 0x00000008,
            Fast = 0x00000010,
        }

        public enum FPRoundingMode
        {
            RTE = 0,
            RTZ = 1,
            RTP = 2,
            RTN = 3,
        }

        public enum LinkageType
        {
            Export = 0,
            Import = 1,
        }

        public enum AccessQualifier
        {
            ReadOnly = 0,
            WriteOnly = 1,
            ReadWrite = 2,
        }

        public enum FunctionParameterAttribute
        {
            Zext = 0,
            Sext = 1,
            ByVal = 2,
            Sret = 3,
            NoAlias = 4,
            NoCapture = 5,
            NoWrite = 6,
            NoReadWrite = 7,
        }

        public enum Decoration
        {
            RelaxedPrecision = 0,
            SpecId = 1,
            Block = 2,
            BufferBlock = 3,
            RowMajor = 4,
            ColMajor = 5,
            ArrayStride = 6,
            MatrixStride = 7,
            GLSLShared = 8,
            GLSLPacked = 9,
            CPacked = 10,
            BuiltIn = 11,
            NoPerspective = 13,
            Flat = 14,
            Patch = 15,
            Centroid = 16,
            Sample = 17,
            Invariant = 18,
            Restrict = 19,
            Aliased = 20,
            Volatile = 21,
            Constant = 22,
            Coherent = 23,
            NonWritable = 24,
            NonReadable = 25,
            Uniform = 26,
            UniformId = 27,
            SaturatedConversion = 28,
            Stream = 29,
            Location = 30,
            Component = 31,
            Index = 32,
            Binding = 33,
            DescriptorSet = 34,
            Offset = 35,
            XfbBuffer = 36,
            XfbStride = 37,
            FuncParamAttr = 38,
            FPRoundingMode = 39,
            FPFastMathMode = 40,
            LinkageAttributes = 41,
            NoContraction = 42,
            InputAttachmentIndex = 43,
            Alignment = 44,
            MaxByteOffset = 45,
            AlignmentId = 46,
            MaxByteOffsetId = 47,
            NoSignedWrap = 4469,
            NoUnsignedWrap = 4470,
            ExplicitInterpAMD = 4999,
            OverrideCoverageNV = 5248,
            PassthroughNV = 5250,
            ViewportRelativeNV = 5252,
            SecondaryViewportRelativeNV = 5256,
            PerPrimitiveNV = 5271,
            PerViewNV = 5272,
            PerTaskNV = 5273,
            PerVertexNV = 5285,
            NonUniformEXT = 5300,
            RestrictPointerEXT = 5355,
            AliasedPointerEXT = 5356,
            CounterBuffer = 5634,
            HlslCounterBufferGOOGLE = 5634,
            HlslSemanticGOOGLE = 5635,
            UserSemantic = 5635,
            UserTypeGOOGLE = 5636,
        }

        public enum BuiltIn
        {
            Position = 0,
            PointSize = 1,
            ClipDistance = 3,
            CullDistance = 4,
            VertexId = 5,
            InstanceId = 6,
            PrimitiveId = 7,
            InvocationId = 8,
            Layer = 9,
            ViewportIndex = 10,
            TessLevelOuter = 11,
            TessLevelInner = 12,
            TessCoord = 13,
            PatchVertices = 14,
            FragCoord = 15,
            PointCoord = 16,
            FrontFacing = 17,
            SampleId = 18,
            SamplePosition = 19,
            SampleMask = 20,
            FragDepth = 22,
            HelperInvocation = 23,
            NumWorkgroups = 24,
            WorkgroupSize = 25,
            WorkgroupId = 26,
            LocalInvocationId = 27,
            GlobalInvocationId = 28,
            LocalInvocationIndex = 29,
            WorkDim = 30,
            GlobalSize = 31,
            EnqueuedWorkgroupSize = 32,
            GlobalOffset = 33,
            GlobalLinearId = 34,
            SubgroupSize = 36,
            SubgroupMaxSize = 37,
            NumSubgroups = 38,
            NumEnqueuedSubgroups = 39,
            SubgroupId = 40,
            SubgroupLocalInvocationId = 41,
            VertexIndex = 42,
            InstanceIndex = 43,
            SubgroupEqMask = 4416,
            SubgroupEqMaskKHR = 4416,
            SubgroupGeMask = 4417,
            SubgroupGeMaskKHR = 4417,
            SubgroupGtMask = 4418,
            SubgroupGtMaskKHR = 4418,
            SubgroupLeMask = 4419,
            SubgroupLeMaskKHR = 4419,
            SubgroupLtMask = 4420,
            SubgroupLtMaskKHR = 4420,
            BaseVertex = 4424,
            BaseInstance = 4425,
            DrawIndex = 4426,
            DeviceIndex = 4438,
            ViewIndex = 4440,
            BaryCoordNoPerspAMD = 4992,
            BaryCoordNoPerspCentroidAMD = 4993,
            BaryCoordNoPerspSampleAMD = 4994,
            BaryCoordSmoothAMD = 4995,
            BaryCoordSmoothCentroidAMD = 4996,
            BaryCoordSmoothSampleAMD = 4997,
            BaryCoordPullModelAMD = 4998,
            FragStencilRefEXT = 5014,
            ViewportMaskNV = 5253,
            SecondaryPositionNV = 5257,
            SecondaryViewportMaskNV = 5258,
            PositionPerViewNV = 5261,
            ViewportMaskPerViewNV = 5262,
            FullyCoveredEXT = 5264,
            TaskCountNV = 5274,
            PrimitiveCountNV = 5275,
            PrimitiveIndicesNV = 5276,
            ClipDistancePerViewNV = 5277,
            CullDistancePerViewNV = 5278,
            LayerPerViewNV = 5279,
            MeshViewCountNV = 5280,
            MeshViewIndicesNV = 5281,
            BaryCoordNV = 5286,
            BaryCoordNoPerspNV = 5287,
            FragSizeEXT = 5292,
            FragmentSizeNV = 5292,
            FragInvocationCountEXT = 5293,
            InvocationsPerPixelNV = 5293,
            LaunchIdNV = 5319,
            LaunchSizeNV = 5320,
            WorldRayOriginNV = 5321,
            WorldRayDirectionNV = 5322,
            ObjectRayOriginNV = 5323,
            ObjectRayDirectionNV = 5324,
            RayTminNV = 5325,
            RayTmaxNV = 5326,
            InstanceCustomIndexNV = 5327,
            ObjectToWorldNV = 5330,
            WorldToObjectNV = 5331,
            HitTNV = 5332,
            HitKindNV = 5333,
            IncomingRayFlagsNV = 5351,
            WarpsPerSMNV = 5374,
            SMCountNV = 5375,
            WarpIDNV = 5376,
            SMIDNV = 5377,
        }

        public enum SelectionControlShift
        {
            Flatten = 0,
            DontFlatten = 1,
        }

        public enum SelectionControlMask
        {
            MaskNone = 0,
            Flatten = 0x00000001,
            DontFlatten = 0x00000002,
        }

        public enum LoopControlShift
        {
            Unroll = 0,
            DontUnroll = 1,
            DependencyInfinite = 2,
            DependencyLength = 3,
            MinIterations = 4,
            MaxIterations = 5,
            IterationMultiple = 6,
            PeelCount = 7,
            PartialCount = 8,
        }

        public enum LoopControlMask
        {
            MaskNone = 0,
            Unroll = 0x00000001,
            DontUnroll = 0x00000002,
            DependencyInfinite = 0x00000004,
            DependencyLength = 0x00000008,
            MinIterations = 0x00000010,
            MaxIterations = 0x00000020,
            IterationMultiple = 0x00000040,
            PeelCount = 0x00000080,
            PartialCount = 0x00000100,
        }

        public enum FunctionControlShift
        {
            Inline = 0,
            DontInline = 1,
            Pure = 2,
            Const = 3,
        }

        public enum FunctionControlMask
        {
            MaskNone = 0,
            Inline = 0x00000001,
            DontInline = 0x00000002,
            Pure = 0x00000004,
            Const = 0x00000008,
        }

        public enum MemorySemanticsShift
        {
            Acquire = 1,
            Release = 2,
            AcquireRelease = 3,
            SequentiallyConsistent = 4,
            UniformMemory = 6,
            SubgroupMemory = 7,
            WorkgroupMemory = 8,
            CrossWorkgroupMemory = 9,
            AtomicCounterMemory = 10,
            ImageMemory = 11,
            OutputMemoryKHR = 12,
            MakeAvailableKHR = 13,
            MakeVisibleKHR = 14,
            Volatile = 15,
        }

        public enum MemorySemanticsMask
        {
            MaskNone = 0,
            Acquire = 0x00000002,
            Release = 0x00000004,
            AcquireRelease = 0x00000008,
            SequentiallyConsistent = 0x00000010,
            UniformMemory = 0x00000040,
            SubgroupMemory = 0x00000080,
            WorkgroupMemory = 0x00000100,
            CrossWorkgroupMemory = 0x00000200,
            AtomicCounterMemory = 0x00000400,
            ImageMemory = 0x00000800,
            OutputMemoryKHR = 0x00001000,
            MakeAvailableKHR = 0x00002000,
            MakeVisibleKHR = 0x00004000,
            Volatile = 0x00008000,
        }

        public enum MemoryAccessShift
        {
            Volatile = 0,
            Aligned = 1,
            Nontemporal = 2,
            MakePointerAvailableKHR = 3,
            MakePointerVisibleKHR = 4,
            NonPrivatePointerKHR = 5,
        }

        public enum MemoryAccessMask
        {
            MaskNone = 0,
            Volatile = 0x00000001,
            Aligned = 0x00000002,
            Nontemporal = 0x00000004,
            MakePointerAvailableKHR = 0x00000008,
            MakePointerVisibleKHR = 0x00000010,
            NonPrivatePointerKHR = 0x00000020,
        }

        public enum Scope
        {
            CrossDevice = 0,
            Device = 1,
            Workgroup = 2,
            Subgroup = 3,
            Invocation = 4,
            QueueFamilyKHR = 5,
        }

        public enum GroupOperation
        {
            Reduce = 0,
            InclusiveScan = 1,
            ExclusiveScan = 2,
            ClusteredReduce = 3,
            PartitionedReduceNV = 6,
            PartitionedInclusiveScanNV = 7,
            PartitionedExclusiveScanNV = 8,
        }

        public enum KernelEnqueueFlags
        {
            NoWait = 0,
            WaitKernel = 1,
            WaitWorkGroup = 2,
        }

        public enum KernelProfilingInfoShift
        {
            CmdExecTime = 0,
        }

        public enum KernelProfilingInfoMask
        {
            MaskNone = 0,
            CmdExecTime = 0x00000001,
        }

        public enum Capability
        {
            Matrix = 0,
            Shader = 1,
            Geometry = 2,
            Tessellation = 3,
            Addresses = 4,
            Linkage = 5,
            Kernel = 6,
            Vector16 = 7,
            Float16Buffer = 8,
            Float16 = 9,
            Float64 = 10,
            Int64 = 11,
            Int64Atomics = 12,
            ImageBasic = 13,
            ImageReadWrite = 14,
            ImageMipmap = 15,
            Pipes = 17,
            Groups = 18,
            DeviceEnqueue = 19,
            LiteralSampler = 20,
            AtomicStorage = 21,
            Int16 = 22,
            TessellationPointSize = 23,
            GeometryPointSize = 24,
            ImageGatherExtended = 25,
            StorageImageMultisample = 27,
            UniformBufferArrayDynamicIndexing = 28,
            SampledImageArrayDynamicIndexing = 29,
            StorageBufferArrayDynamicIndexing = 30,
            StorageImageArrayDynamicIndexing = 31,
            ClipDistance = 32,
            CullDistance = 33,
            ImageCubeArray = 34,
            SampleRateShading = 35,
            ImageRect = 36,
            SampledRect = 37,
            GenericPointer = 38,
            Int8 = 39,
            InputAttachment = 40,
            SparseResidency = 41,
            MinLod = 42,
            Sampled1D = 43,
            Image1D = 44,
            SampledCubeArray = 45,
            SampledBuffer = 46,
            ImageBuffer = 47,
            ImageMSArray = 48,
            StorageImageExtendedFormats = 49,
            ImageQuery = 50,
            DerivativeControl = 51,
            InterpolationFunction = 52,
            TransformFeedback = 53,
            GeometryStreams = 54,
            StorageImageReadWithoutFormat = 55,
            StorageImageWriteWithoutFormat = 56,
            MultiViewport = 57,
            SubgroupDispatch = 58,
            NamedBarrier = 59,
            PipeStorage = 60,
            GroupNonUniform = 61,
            GroupNonUniformVote = 62,
            GroupNonUniformArithmetic = 63,
            GroupNonUniformBallot = 64,
            GroupNonUniformShuffle = 65,
            GroupNonUniformShuffleRelative = 66,
            GroupNonUniformClustered = 67,
            GroupNonUniformQuad = 68,
            SubgroupBallotKHR = 4423,
            DrawParameters = 4427,
            SubgroupVoteKHR = 4431,
            StorageBuffer16BitAccess = 4433,
            StorageUniformBufferBlock16 = 4433,
            StorageUniform16 = 4434,
            UniformAndStorageBuffer16BitAccess = 4434,
            StoragePushConstant16 = 4435,
            StorageInputOutput16 = 4436,
            DeviceGroup = 4437,
            MultiView = 4439,
            VariablePointersStorageBuffer = 4441,
            VariablePointers = 4442,
            AtomicStorageOps = 4445,
            SampleMaskPostDepthCoverage = 4447,
            StorageBuffer8BitAccess = 4448,
            UniformAndStorageBuffer8BitAccess = 4449,
            StoragePushConstant8 = 4450,
            DenormPreserve = 4464,
            DenormFlushToZero = 4465,
            SignedZeroInfNanPreserve = 4466,
            RoundingModeRTE = 4467,
            RoundingModeRTZ = 4468,
            Float16ImageAMD = 5008,
            ImageGatherBiasLodAMD = 5009,
            FragmentMaskAMD = 5010,
            StencilExportEXT = 5013,
            ImageReadWriteLodAMD = 5015,
            ShaderClockKHR = 5055,
            SampleMaskOverrideCoverageNV = 5249,
            GeometryShaderPassthroughNV = 5251,
            ShaderViewportIndexLayerEXT = 5254,
            ShaderViewportIndexLayerNV = 5254,
            ShaderViewportMaskNV = 5255,
            ShaderStereoViewNV = 5259,
            PerViewAttributesNV = 5260,
            FragmentFullyCoveredEXT = 5265,
            MeshShadingNV = 5266,
            ImageFootprintNV = 5282,
            FragmentBarycentricNV = 5284,
            ComputeDerivativeGroupQuadsNV = 5288,
            FragmentDensityEXT = 5291,
            ShadingRateNV = 5291,
            GroupNonUniformPartitionedNV = 5297,
            ShaderNonUniformEXT = 5301,
            RuntimeDescriptorArrayEXT = 5302,
            InputAttachmentArrayDynamicIndexingEXT = 5303,
            UniformTexelBufferArrayDynamicIndexingEXT = 5304,
            StorageTexelBufferArrayDynamicIndexingEXT = 5305,
            UniformBufferArrayNonUniformIndexingEXT = 5306,
            SampledImageArrayNonUniformIndexingEXT = 5307,
            StorageBufferArrayNonUniformIndexingEXT = 5308,
            StorageImageArrayNonUniformIndexingEXT = 5309,
            InputAttachmentArrayNonUniformIndexingEXT = 5310,
            UniformTexelBufferArrayNonUniformIndexingEXT = 5311,
            StorageTexelBufferArrayNonUniformIndexingEXT = 5312,
            RayTracingNV = 5340,
            VulkanMemoryModelKHR = 5345,
            VulkanMemoryModelDeviceScopeKHR = 5346,
            PhysicalStorageBufferAddressesEXT = 5347,
            ComputeDerivativeGroupLinearNV = 5350,
            CooperativeMatrixNV = 5357,
            FragmentShaderSampleInterlockEXT = 5363,
            FragmentShaderShadingRateInterlockEXT = 5372,
            ShaderSMBuiltinsNV = 5373,
            FragmentShaderPixelInterlockEXT = 5378,
            DemoteToHelperInvocationEXT = 5379,
            SubgroupShuffleINTEL = 5568,
            SubgroupBufferBlockIOINTEL = 5569,
            SubgroupImageBlockIOINTEL = 5570,
            SubgroupImageMediaBlockIOINTEL = 5579,
            IntegerFunctions2INTEL = 5584,
            SubgroupAvcMotionEstimationINTEL = 5696,
            SubgroupAvcMotionEstimationIntraINTEL = 5697,
            SubgroupAvcMotionEstimationChromaINTEL = 5698,
        }

        public enum Op
        {
            OpNop = 0,
            OpUndef = 1,
            OpSourceContinued = 2,
            OpSource = 3,
            OpSourceExtension = 4,
            OpName = 5,
            OpMemberName = 6,
            OpString = 7,
            OpLine = 8,
            OpExtension = 10,
            OpExtInstImport = 11,
            OpExtInst = 12,
            OpMemoryModel = 14,
            OpEntryPoint = 15,
            OpExecutionMode = 16,
            OpCapability = 17,
            OpTypeVoid = 19,
            OpTypeBool = 20,
            OpTypeInt = 21,
            OpTypeFloat = 22,
            OpTypeVector = 23,
            OpTypeMatrix = 24,
            OpTypeImage = 25,
            OpTypeSampler = 26,
            OpTypeSampledImage = 27,
            OpTypeArray = 28,
            OpTypeRuntimeArray = 29,
            OpTypeStruct = 30,
            OpTypeOpaque = 31,
            OpTypePointer = 32,
            OpTypeFunction = 33,
            OpTypeEvent = 34,
            OpTypeDeviceEvent = 35,
            OpTypeReserveId = 36,
            OpTypeQueue = 37,
            OpTypePipe = 38,
            OpTypeForwardPointer = 39,
            OpConstantTrue = 41,
            OpConstantFalse = 42,
            OpConstant = 43,
            OpConstantComposite = 44,
            OpConstantSampler = 45,
            OpConstantNull = 46,
            OpSpecConstantTrue = 48,
            OpSpecConstantFalse = 49,
            OpSpecConstant = 50,
            OpSpecConstantComposite = 51,
            OpSpecConstantOp = 52,
            OpFunction = 54,
            OpFunctionParameter = 55,
            OpFunctionEnd = 56,
            OpFunctionCall = 57,
            OpVariable = 59,
            OpImageTexelPointer = 60,
            OpLoad = 61,
            OpStore = 62,
            OpCopyMemory = 63,
            OpCopyMemorySized = 64,
            OpAccessChain = 65,
            OpInBoundsAccessChain = 66,
            OpPtrAccessChain = 67,
            OpArrayLength = 68,
            OpGenericPtrMemSemantics = 69,
            OpInBoundsPtrAccessChain = 70,
            OpDecorate = 71,
            OpMemberDecorate = 72,
            OpDecorationGroup = 73,
            OpGroupDecorate = 74,
            OpGroupMemberDecorate = 75,
            OpVectorExtractDynamic = 77,
            OpVectorInsertDynamic = 78,
            OpVectorShuffle = 79,
            OpCompositeConstruct = 80,
            OpCompositeExtract = 81,
            OpCompositeInsert = 82,
            OpCopyObject = 83,
            OpTranspose = 84,
            OpSampledImage = 86,
            OpImageSampleImplicitLod = 87,
            OpImageSampleExplicitLod = 88,
            OpImageSampleDrefImplicitLod = 89,
            OpImageSampleDrefExplicitLod = 90,
            OpImageSampleProjImplicitLod = 91,
            OpImageSampleProjExplicitLod = 92,
            OpImageSampleProjDrefImplicitLod = 93,
            OpImageSampleProjDrefExplicitLod = 94,
            OpImageFetch = 95,
            OpImageGather = 96,
            OpImageDrefGather = 97,
            OpImageRead = 98,
            OpImageWrite = 99,
            OpImage = 100,
            OpImageQueryFormat = 101,
            OpImageQueryOrder = 102,
            OpImageQuerySizeLod = 103,
            OpImageQuerySize = 104,
            OpImageQueryLod = 105,
            OpImageQueryLevels = 106,
            OpImageQuerySamples = 107,
            OpConvertFToU = 109,
            OpConvertFToS = 110,
            OpConvertSToF = 111,
            OpConvertUToF = 112,
            OpUConvert = 113,
            OpSConvert = 114,
            OpFConvert = 115,
            OpQuantizeToF16 = 116,
            OpConvertPtrToU = 117,
            OpSatConvertSToU = 118,
            OpSatConvertUToS = 119,
            OpConvertUToPtr = 120,
            OpPtrCastToGeneric = 121,
            OpGenericCastToPtr = 122,
            OpGenericCastToPtrExplicit = 123,
            OpBitcast = 124,
            OpSNegate = 126,
            OpFNegate = 127,
            OpIAdd = 128,
            OpFAdd = 129,
            OpISub = 130,
            OpFSub = 131,
            OpIMul = 132,
            OpFMul = 133,
            OpUDiv = 134,
            OpSDiv = 135,
            OpFDiv = 136,
            OpUMod = 137,
            OpSRem = 138,
            OpSMod = 139,
            OpFRem = 140,
            OpFMod = 141,
            OpVectorTimesScalar = 142,
            OpMatrixTimesScalar = 143,
            OpVectorTimesMatrix = 144,
            OpMatrixTimesVector = 145,
            OpMatrixTimesMatrix = 146,
            OpOuterProduct = 147,
            OpDot = 148,
            OpIAddCarry = 149,
            OpISubBorrow = 150,
            OpUMulExtended = 151,
            OpSMulExtended = 152,
            OpAny = 154,
            OpAll = 155,
            OpIsNan = 156,
            OpIsInf = 157,
            OpIsFinite = 158,
            OpIsNormal = 159,
            OpSignBitSet = 160,
            OpLessOrGreater = 161,
            OpOrdered = 162,
            OpUnordered = 163,
            OpLogicalEqual = 164,
            OpLogicalNotEqual = 165,
            OpLogicalOr = 166,
            OpLogicalAnd = 167,
            OpLogicalNot = 168,
            OpSelect = 169,
            OpIEqual = 170,
            OpINotEqual = 171,
            OpUGreaterThan = 172,
            OpSGreaterThan = 173,
            OpUGreaterThanEqual = 174,
            OpSGreaterThanEqual = 175,
            OpULessThan = 176,
            OpSLessThan = 177,
            OpULessThanEqual = 178,
            OpSLessThanEqual = 179,
            OpFOrdEqual = 180,
            OpFUnordEqual = 181,
            OpFOrdNotEqual = 182,
            OpFUnordNotEqual = 183,
            OpFOrdLessThan = 184,
            OpFUnordLessThan = 185,
            OpFOrdGreaterThan = 186,
            OpFUnordGreaterThan = 187,
            OpFOrdLessThanEqual = 188,
            OpFUnordLessThanEqual = 189,
            OpFOrdGreaterThanEqual = 190,
            OpFUnordGreaterThanEqual = 191,
            OpShiftRightLogical = 194,
            OpShiftRightArithmetic = 195,
            OpShiftLeftLogical = 196,
            OpBitwiseOr = 197,
            OpBitwiseXor = 198,
            OpBitwiseAnd = 199,
            OpNot = 200,
            OpBitFieldInsert = 201,
            OpBitFieldSExtract = 202,
            OpBitFieldUExtract = 203,
            OpBitReverse = 204,
            OpBitCount = 205,
            OpDPdx = 207,
            OpDPdy = 208,
            OpFwidth = 209,
            OpDPdxFine = 210,
            OpDPdyFine = 211,
            OpFwidthFine = 212,
            OpDPdxCoarse = 213,
            OpDPdyCoarse = 214,
            OpFwidthCoarse = 215,
            OpEmitVertex = 218,
            OpEndPrimitive = 219,
            OpEmitStreamVertex = 220,
            OpEndStreamPrimitive = 221,
            OpControlBarrier = 224,
            OpMemoryBarrier = 225,
            OpAtomicLoad = 227,
            OpAtomicStore = 228,
            OpAtomicExchange = 229,
            OpAtomicCompareExchange = 230,
            OpAtomicCompareExchangeWeak = 231,
            OpAtomicIIncrement = 232,
            OpAtomicIDecrement = 233,
            OpAtomicIAdd = 234,
            OpAtomicISub = 235,
            OpAtomicSMin = 236,
            OpAtomicUMin = 237,
            OpAtomicSMax = 238,
            OpAtomicUMax = 239,
            OpAtomicAnd = 240,
            OpAtomicOr = 241,
            OpAtomicXor = 242,
            OpPhi = 245,
            OpLoopMerge = 246,
            OpSelectionMerge = 247,
            OpLabel = 248,
            OpBranch = 249,
            OpBranchConditional = 250,
            OpSwitch = 251,
            OpKill = 252,
            OpReturn = 253,
            OpReturnValue = 254,
            OpUnreachable = 255,
            OpLifetimeStart = 256,
            OpLifetimeStop = 257,
            OpGroupAsyncCopy = 259,
            OpGroupWaitEvents = 260,
            OpGroupAll = 261,
            OpGroupAny = 262,
            OpGroupBroadcast = 263,
            OpGroupIAdd = 264,
            OpGroupFAdd = 265,
            OpGroupFMin = 266,
            OpGroupUMin = 267,
            OpGroupSMin = 268,
            OpGroupFMax = 269,
            OpGroupUMax = 270,
            OpGroupSMax = 271,
            OpReadPipe = 274,
            OpWritePipe = 275,
            OpReservedReadPipe = 276,
            OpReservedWritePipe = 277,
            OpReserveReadPipePackets = 278,
            OpReserveWritePipePackets = 279,
            OpCommitReadPipe = 280,
            OpCommitWritePipe = 281,
            OpIsValidReserveId = 282,
            OpGetNumPipePackets = 283,
            OpGetMaxPipePackets = 284,
            OpGroupReserveReadPipePackets = 285,
            OpGroupReserveWritePipePackets = 286,
            OpGroupCommitReadPipe = 287,
            OpGroupCommitWritePipe = 288,
            OpEnqueueMarker = 291,
            OpEnqueueKernel = 292,
            OpGetKernelNDrangeSubGroupCount = 293,
            OpGetKernelNDrangeMaxSubGroupSize = 294,
            OpGetKernelWorkGroupSize = 295,
            OpGetKernelPreferredWorkGroupSizeMultiple = 296,
            OpRetainEvent = 297,
            OpReleaseEvent = 298,
            OpCreateUserEvent = 299,
            OpIsValidEvent = 300,
            OpSetUserEventStatus = 301,
            OpCaptureEventProfilingInfo = 302,
            OpGetDefaultQueue = 303,
            OpBuildNDRange = 304,
            OpImageSparseSampleImplicitLod = 305,
            OpImageSparseSampleExplicitLod = 306,
            OpImageSparseSampleDrefImplicitLod = 307,
            OpImageSparseSampleDrefExplicitLod = 308,
            OpImageSparseSampleProjImplicitLod = 309,
            OpImageSparseSampleProjExplicitLod = 310,
            OpImageSparseSampleProjDrefImplicitLod = 311,
            OpImageSparseSampleProjDrefExplicitLod = 312,
            OpImageSparseFetch = 313,
            OpImageSparseGather = 314,
            OpImageSparseDrefGather = 315,
            OpImageSparseTexelsResident = 316,
            OpNoLine = 317,
            OpAtomicFlagTestAndSet = 318,
            OpAtomicFlagClear = 319,
            OpImageSparseRead = 320,
            OpSizeOf = 321,
            OpTypePipeStorage = 322,
            OpConstantPipeStorage = 323,
            OpCreatePipeFromPipeStorage = 324,
            OpGetKernelLocalSizeForSubgroupCount = 325,
            OpGetKernelMaxNumSubgroups = 326,
            OpTypeNamedBarrier = 327,
            OpNamedBarrierInitialize = 328,
            OpMemoryNamedBarrier = 329,
            OpModuleProcessed = 330,
            OpExecutionModeId = 331,
            OpDecorateId = 332,
            OpGroupNonUniformElect = 333,
            OpGroupNonUniformAll = 334,
            OpGroupNonUniformAny = 335,
            OpGroupNonUniformAllEqual = 336,
            OpGroupNonUniformBroadcast = 337,
            OpGroupNonUniformBroadcastFirst = 338,
            OpGroupNonUniformBallot = 339,
            OpGroupNonUniformInverseBallot = 340,
            OpGroupNonUniformBallotBitExtract = 341,
            OpGroupNonUniformBallotBitCount = 342,
            OpGroupNonUniformBallotFindLSB = 343,
            OpGroupNonUniformBallotFindMSB = 344,
            OpGroupNonUniformShuffle = 345,
            OpGroupNonUniformShuffleXor = 346,
            OpGroupNonUniformShuffleUp = 347,
            OpGroupNonUniformShuffleDown = 348,
            OpGroupNonUniformIAdd = 349,
            OpGroupNonUniformFAdd = 350,
            OpGroupNonUniformIMul = 351,
            OpGroupNonUniformFMul = 352,
            OpGroupNonUniformSMin = 353,
            OpGroupNonUniformUMin = 354,
            OpGroupNonUniformFMin = 355,
            OpGroupNonUniformSMax = 356,
            OpGroupNonUniformUMax = 357,
            OpGroupNonUniformFMax = 358,
            OpGroupNonUniformBitwiseAnd = 359,
            OpGroupNonUniformBitwiseOr = 360,
            OpGroupNonUniformBitwiseXor = 361,
            OpGroupNonUniformLogicalAnd = 362,
            OpGroupNonUniformLogicalOr = 363,
            OpGroupNonUniformLogicalXor = 364,
            OpGroupNonUniformQuadBroadcast = 365,
            OpGroupNonUniformQuadSwap = 366,
            OpCopyLogical = 400,
            OpPtrEqual = 401,
            OpPtrNotEqual = 402,
            OpPtrDiff = 403,
            OpSubgroupBallotKHR = 4421,
            OpSubgroupFirstInvocationKHR = 4422,
            OpSubgroupAllKHR = 4428,
            OpSubgroupAnyKHR = 4429,
            OpSubgroupAllEqualKHR = 4430,
            OpSubgroupReadInvocationKHR = 4432,
            OpGroupIAddNonUniformAMD = 5000,
            OpGroupFAddNonUniformAMD = 5001,
            OpGroupFMinNonUniformAMD = 5002,
            OpGroupUMinNonUniformAMD = 5003,
            OpGroupSMinNonUniformAMD = 5004,
            OpGroupFMaxNonUniformAMD = 5005,
            OpGroupUMaxNonUniformAMD = 5006,
            OpGroupSMaxNonUniformAMD = 5007,
            OpFragmentMaskFetchAMD = 5011,
            OpFragmentFetchAMD = 5012,
            OpReadClockKHR = 5056,
            OpImageSampleFootprintNV = 5283,
            OpGroupNonUniformPartitionNV = 5296,
            OpWritePackedPrimitiveIndices4x8NV = 5299,
            OpReportIntersectionNV = 5334,
            OpIgnoreIntersectionNV = 5335,
            OpTerminateRayNV = 5336,
            OpTraceNV = 5337,
            OpTypeAccelerationStructureNV = 5341,
            OpExecuteCallableNV = 5344,
            OpTypeCooperativeMatrixNV = 5358,
            OpCooperativeMatrixLoadNV = 5359,
            OpCooperativeMatrixStoreNV = 5360,
            OpCooperativeMatrixMulAddNV = 5361,
            OpCooperativeMatrixLengthNV = 5362,
            OpBeginInvocationInterlockEXT = 5364,
            OpEndInvocationInterlockEXT = 5365,
            OpDemoteToHelperInvocationEXT = 5380,
            OpIsHelperInvocationEXT = 5381,
            OpSubgroupShuffleINTEL = 5571,
            OpSubgroupShuffleDownINTEL = 5572,
            OpSubgroupShuffleUpINTEL = 5573,
            OpSubgroupShuffleXorINTEL = 5574,
            OpSubgroupBlockReadINTEL = 5575,
            OpSubgroupBlockWriteINTEL = 5576,
            OpSubgroupImageBlockReadINTEL = 5577,
            OpSubgroupImageBlockWriteINTEL = 5578,
            OpSubgroupImageMediaBlockReadINTEL = 5580,
            OpSubgroupImageMediaBlockWriteINTEL = 5581,
            OpUCountLeadingZerosINTEL = 5585,
            OpUCountTrailingZerosINTEL = 5586,
            OpAbsISubINTEL = 5587,
            OpAbsUSubINTEL = 5588,
            OpIAddSatINTEL = 5589,
            OpUAddSatINTEL = 5590,
            OpIAverageINTEL = 5591,
            OpUAverageINTEL = 5592,
            OpIAverageRoundedINTEL = 5593,
            OpUAverageRoundedINTEL = 5594,
            OpISubSatINTEL = 5595,
            OpUSubSatINTEL = 5596,
            OpIMul32x16INTEL = 5597,
            OpUMul32x16INTEL = 5598,
            OpDecorateString = 5632,
            OpDecorateStringGOOGLE = 5632,
            OpMemberDecorateString = 5633,
            OpMemberDecorateStringGOOGLE = 5633,
            OpVmeImageINTEL = 5699,
            OpTypeVmeImageINTEL = 5700,
            OpTypeAvcImePayloadINTEL = 5701,
            OpTypeAvcRefPayloadINTEL = 5702,
            OpTypeAvcSicPayloadINTEL = 5703,
            OpTypeAvcMcePayloadINTEL = 5704,
            OpTypeAvcMceResultINTEL = 5705,
            OpTypeAvcImeResultINTEL = 5706,
            OpTypeAvcImeResultSingleReferenceStreamoutINTEL = 5707,
            OpTypeAvcImeResultDualReferenceStreamoutINTEL = 5708,
            OpTypeAvcImeSingleReferenceStreaminINTEL = 5709,
            OpTypeAvcImeDualReferenceStreaminINTEL = 5710,
            OpTypeAvcRefResultINTEL = 5711,
            OpTypeAvcSicResultINTEL = 5712,
            OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL = 5713,
            OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL = 5714,
            OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL = 5715,
            OpSubgroupAvcMceSetInterShapePenaltyINTEL = 5716,
            OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL = 5717,
            OpSubgroupAvcMceSetInterDirectionPenaltyINTEL = 5718,
            OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL = 5719,
            OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL = 5720,
            OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL = 5721,
            OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL = 5722,
            OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL = 5723,
            OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL = 5724,
            OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL = 5725,
            OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL = 5726,
            OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL = 5727,
            OpSubgroupAvcMceSetAcOnlyHaarINTEL = 5728,
            OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL = 5729,
            OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL = 5730,
            OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL = 5731,
            OpSubgroupAvcMceConvertToImePayloadINTEL = 5732,
            OpSubgroupAvcMceConvertToImeResultINTEL = 5733,
            OpSubgroupAvcMceConvertToRefPayloadINTEL = 5734,
            OpSubgroupAvcMceConvertToRefResultINTEL = 5735,
            OpSubgroupAvcMceConvertToSicPayloadINTEL = 5736,
            OpSubgroupAvcMceConvertToSicResultINTEL = 5737,
            OpSubgroupAvcMceGetMotionVectorsINTEL = 5738,
            OpSubgroupAvcMceGetInterDistortionsINTEL = 5739,
            OpSubgroupAvcMceGetBestInterDistortionsINTEL = 5740,
            OpSubgroupAvcMceGetInterMajorShapeINTEL = 5741,
            OpSubgroupAvcMceGetInterMinorShapeINTEL = 5742,
            OpSubgroupAvcMceGetInterDirectionsINTEL = 5743,
            OpSubgroupAvcMceGetInterMotionVectorCountINTEL = 5744,
            OpSubgroupAvcMceGetInterReferenceIdsINTEL = 5745,
            OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL = 5746,
            OpSubgroupAvcImeInitializeINTEL = 5747,
            OpSubgroupAvcImeSetSingleReferenceINTEL = 5748,
            OpSubgroupAvcImeSetDualReferenceINTEL = 5749,
            OpSubgroupAvcImeRefWindowSizeINTEL = 5750,
            OpSubgroupAvcImeAdjustRefOffsetINTEL = 5751,
            OpSubgroupAvcImeConvertToMcePayloadINTEL = 5752,
            OpSubgroupAvcImeSetMaxMotionVectorCountINTEL = 5753,
            OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL = 5754,
            OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL = 5755,
            OpSubgroupAvcImeSetWeightedSadINTEL = 5756,
            OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL = 5757,
            OpSubgroupAvcImeEvaluateWithDualReferenceINTEL = 5758,
            OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL = 5759,
            OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL = 5760,
            OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL = 5761,
            OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL = 5762,
            OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL = 5763,
            OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL = 5764,
            OpSubgroupAvcImeConvertToMceResultINTEL = 5765,
            OpSubgroupAvcImeGetSingleReferenceStreaminINTEL = 5766,
            OpSubgroupAvcImeGetDualReferenceStreaminINTEL = 5767,
            OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL = 5768,
            OpSubgroupAvcImeStripDualReferenceStreamoutINTEL = 5769,
            OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL = 5770,
            OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL = 5771,
            OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL = 5772,
            OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL = 5773,
            OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL = 5774,
            OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL = 5775,
            OpSubgroupAvcImeGetBorderReachedINTEL = 5776,
            OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL = 5777,
            OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL = 5778,
            OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL = 5779,
            OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL = 5780,
            OpSubgroupAvcFmeInitializeINTEL = 5781,
            OpSubgroupAvcBmeInitializeINTEL = 5782,
            OpSubgroupAvcRefConvertToMcePayloadINTEL = 5783,
            OpSubgroupAvcRefSetBidirectionalMixDisableINTEL = 5784,
            OpSubgroupAvcRefSetBilinearFilterEnableINTEL = 5785,
            OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL = 5786,
            OpSubgroupAvcRefEvaluateWithDualReferenceINTEL = 5787,
            OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL = 5788,
            OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL = 5789,
            OpSubgroupAvcRefConvertToMceResultINTEL = 5790,
            OpSubgroupAvcSicInitializeINTEL = 5791,
            OpSubgroupAvcSicConfigureSkcINTEL = 5792,
            OpSubgroupAvcSicConfigureIpeLumaINTEL = 5793,
            OpSubgroupAvcSicConfigureIpeLumaChromaINTEL = 5794,
            OpSubgroupAvcSicGetMotionVectorMaskINTEL = 5795,
            OpSubgroupAvcSicConvertToMcePayloadINTEL = 5796,
            OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL = 5797,
            OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL = 5798,
            OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL = 5799,
            OpSubgroupAvcSicSetBilinearFilterEnableINTEL = 5800,
            OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL = 5801,
            OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL = 5802,
            OpSubgroupAvcSicEvaluateIpeINTEL = 5803,
            OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL = 5804,
            OpSubgroupAvcSicEvaluateWithDualReferenceINTEL = 5805,
            OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL = 5806,
            OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL = 5807,
            OpSubgroupAvcSicConvertToMceResultINTEL = 5808,
            OpSubgroupAvcSicGetIpeLumaShapeINTEL = 5809,
            OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL = 5810,
            OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL = 5811,
            OpSubgroupAvcSicGetPackedIpeLumaModesINTEL = 5812,
            OpSubgroupAvcSicGetIpeChromaModeINTEL = 5813,
            OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
            OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
            OpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
        }
    }
}

