using System;
using System.Runtime.InteropServices;
using System.Security;
using System.Diagnostics.CodeAnalysis;

namespace SlatedGameToolkit.Framework.Graphics.OpenGL
{
    public delegate IntPtr GetProcAddressHandler(string funcName);
    public delegate void DebugProc(int source, int type, uint id, int severity, IntPtr length, byte[] message, IntPtr userParam);
    public delegate void DebugProcAMD(uint id, int category, int severity, IntPtr length, byte[] message, IntPtr userParam);
    public delegate void VulkanDebugProcNV();
    
    
    [Flags]
    public enum AttribMask : uint
    {
        CurrentBit = 0x00000001,
        PointBit = 0x00000002,
        LineBit = 0x00000004,
        PolygonBit = 0x00000008,
        PolygonStippleBit = 0x00000010,
        PixelModeBit = 0x00000020,
        LightingBit = 0x00000040,
        FogBit = 0x00000080,
        DepthBufferBit = 0x00000100,
        AccumBufferBit = 0x00000200,
        StencilBufferBit = 0x00000400,
        ViewportBit = 0x00000800,
        TransformBit = 0x00001000,
        EnableBit = 0x00002000,
        ColorBufferBit = 0x00004000,
        HintBit = 0x00008000,
        EvalBit = 0x00010000,
        ListBit = 0x00020000,
        TextureBit = 0x00040000,
        ScissorBit = 0x00080000,
        MultisampleBit = 0x20000000,
        MultisampleBitARB = 0x20000000,
        MultisampleBitEXT = 0x20000000,
        MultisampleBit3DFX = 0x20000000,
        AllAttribBits = 0xFFFFFFFF
    }
    
    [Flags]
    public enum BufferStorageMask : uint
    {
        DynamicStorageBit = 0x0100,
        DynamicStorageBitEXT = 0x0100,
        ClientStorageBit = 0x0200,
        ClientStorageBitEXT = 0x0200,
        SparseStorageBitARB = 0x0400,
        LgpuSeparateStorageBitNvx = 0x0800,
        PerGpuStorageBitNV = 0x0800,
        ExternalStorageBitNvx = 0x2000
    }
    
    [Flags]
    public enum ClearBufferMask : uint
    {
        ColorBufferBit = 0x00004000,
        DepthBufferBit = 0x00000100,
        AccumBufferBit = 0x00000200,
        StencilBufferBit = 0x00000400,

    }
    
    [Flags]
    public enum ClientAttribMask : uint
    {
        ClientPixelStoreBit = 0x00000001,
        ClientVertexArrayBit = 0x00000002,
        ClientAllAttribBits = 0xFFFFFFFF
    }
    
    [Flags]
    public enum ContextFlagMask : uint
    {
        ContextFlagForwardCompatibleBit = 0x00000001,
        ContextFlagDebugBit = 0x00000002,
        ContextFlagDebugBitKhr = 0x00000002,
        ContextFlagRobustAccessBit = 0x00000004,
        ContextFlagRobustAccessBitARB = 0x00000004,
        ContextFlagNoErrorBit = 0x00000008,
        ContextFlagNoErrorBitKhr = 0x00000008,
        ContextFlagProtectedContentBitEXT = 0x00000010
    }
    
    [Flags]
    public enum ContextProfileMask : uint
    {
        ContextCoreProfileBit = 0x00000001,
        ContextCompatibilityProfileBit = 0x00000002
    }
    
    [Flags]
    public enum MapBufferAccessMask : uint
    {
        MapReadBit = 0x0001,
        MapReadBitEXT = 0x0001,
        MapWriteBit = 0x0002,
        MapWriteBitEXT = 0x0002,
        MapInvalidateRangeBit = 0x0004,
        MapInvalidateRangeBitEXT = 0x0004,
        MapInvalidateBufferBit = 0x0008,
        MapInvalidateBufferBitEXT = 0x0008,
        MapFlushExplicitBit = 0x0010,
        MapFlushExplicitBitEXT = 0x0010,
        MapUnsynchronizedBit = 0x0020,
        MapUnsynchronizedBitEXT = 0x0020,
        MapPersistentBit = 0x0040,
        MapPersistentBitEXT = 0x0040,
        MapCoherentBit = 0x0080,
        MapCoherentBitEXT = 0x0080
    }
    
    [Flags]
    public enum MemoryBarrierMask : uint
    {
        VertexAttribArrayBarrierBit = 0x00000001,
        VertexAttribArrayBarrierBitEXT = 0x00000001,
        ElementArrayBarrierBit = 0x00000002,
        ElementArrayBarrierBitEXT = 0x00000002,
        UniformBarrierBit = 0x00000004,
        UniformBarrierBitEXT = 0x00000004,
        TextureFetchBarrierBit = 0x00000008,
        TextureFetchBarrierBitEXT = 0x00000008,
        ShaderGlobalAccessBarrierBitNV = 0x00000010,
        ShaderImageAccessBarrierBit = 0x00000020,
        ShaderImageAccessBarrierBitEXT = 0x00000020,
        CommandBarrierBit = 0x00000040,
        CommandBarrierBitEXT = 0x00000040,
        PixelBufferBarrierBit = 0x00000080,
        PixelBufferBarrierBitEXT = 0x00000080,
        TextureUpdateBarrierBit = 0x00000100,
        TextureUpdateBarrierBitEXT = 0x00000100,
        BufferUpdateBarrierBit = 0x00000200,
        BufferUpdateBarrierBitEXT = 0x00000200,
        FramebufferBarrierBit = 0x00000400,
        FramebufferBarrierBitEXT = 0x00000400,
        TransformFeedbackBarrierBit = 0x00000800,
        TransformFeedbackBarrierBitEXT = 0x00000800,
        AtomicCounterBarrierBit = 0x00001000,
        AtomicCounterBarrierBitEXT = 0x00001000,
        ShaderStorageBarrierBit = 0x00002000,
        ClientMappedBufferBarrierBit = 0x00004000,
        ClientMappedBufferBarrierBitEXT = 0x00004000,
        QueryBufferBarrierBit = 0x00008000,
        AllBarrierBits = 0xFFFFFFFF,
        AllBarrierBitsEXT = 0xFFFFFFFF
    }
    
    [Flags]
    public enum OcclusionQueryEventMaskAMD : uint
    {
        QueryDepthPassEventBitAMD = 0x00000001,
        QueryDepthFailEventBitAMD = 0x00000002,
        QueryStencilFailEventBitAMD = 0x00000004,
        QueryDepthBoundsFailEventBitAMD = 0x00000008,
        QueryAllEventBitsAMD = 0xFFFFFFFF
    }
    
    [Flags]
    public enum SyncObjectMask : uint
    {
        SyncFlushCommandsBit = 0x00000001,
        SyncFlushCommandsBitAPPLE = 0x00000001
    }
    
    [Flags]
    public enum UseProgramStageMask : uint
    {
        VertexShaderBit = 0x00000001,
        VertexShaderBitEXT = 0x00000001,
        FragmentShaderBit = 0x00000002,
        FragmentShaderBitEXT = 0x00000002,
        GeometryShaderBit = 0x00000004,
        GeometryShaderBitEXT = 0x00000004,
        GeometryShaderBitOES = 0x00000004,
        TessControlShaderBit = 0x00000008,
        TessControlShaderBitEXT = 0x00000008,
        TessControlShaderBitOES = 0x00000008,
        TessEvaluationShaderBit = 0x00000010,
        TessEvaluationShaderBitEXT = 0x00000010,
        TessEvaluationShaderBitOES = 0x00000010,
        ComputeShaderBit = 0x00000020,
        MeshShaderBitNV = 0x00000040,
        TaskShaderBitNV = 0x00000080,
        AllShaderBits = 0xFFFFFFFF,
        AllShaderBitsEXT = 0xFFFFFFFF
    }
    
    [Flags]
    public enum TextureStorageMaskAMD : uint
    {
        TextureStorageSparseBitAMD = 0x00000001
    }
    
    [Flags]
    public enum FragmentShaderDestMaskATI : uint
    {
        RedBitATI = 0x00000001,
        GreenBitATI = 0x00000002,
        BlueBitATI = 0x00000004
    }
    
    [Flags]
    public enum FragmentShaderDestModMaskATI : uint
    {
        TwoXBitATI = 0x00000001,
        FourXBitATI = 0x00000002,
        EightXBitATI = 0x00000004,
        HalfBitATI = 0x00000008,
        QuarterBitATI = 0x00000010,
        EighthBitATI = 0x00000020,
        SaturateBitATI = 0x00000040
    }
    
    [Flags]
    public enum FragmentShaderColorModMaskATI : uint
    {
        CompBitATI = 0x00000002,
        NegateBitATI = 0x00000004,
        BiasBitATI = 0x00000008
    }
    
    [Flags]
    public enum TraceMaskMESA : uint
    {
        TraceOperationsBitMESA = 0x0001,
        TracePrimitivesBitMESA = 0x0002,
        TraceArraysBitMESA = 0x0004,
        TraceTexturesBitMESA = 0x0008,
        TracePixelsBitMESA = 0x0010,
        TraceErrorsBitMESA = 0x0020,
        TraceAllBitsMESA = 0xFFFF
    }
    
    [Flags]
    public enum PathRenderingMaskNV : uint
    {
        BoldBitNV = 0x01,
        ItalicBitNV = 0x02,
        GlyphWidthBitNV = 0x01,
        GlyphHeightBitNV = 0x02,
        GlyphHorizontalBearingXBitNV = 0x04,
        GlyphHorizontalBearingYBitNV = 0x08,
        GlyphHorizontalBearingAdvanceBitNV = 0x10,
        GlyphVerticalBearingXBitNV = 0x20,
        GlyphVerticalBearingYBitNV = 0x40,
        GlyphVerticalBearingAdvanceBitNV = 0x80,
        GlyphHasKerningBitNV = 0x100,
        FontXMinBoundsBitNV = 0x00010000,
        FontYMinBoundsBitNV = 0x00020000,
        FontXMaxBoundsBitNV = 0x00040000,
        FontYMaxBoundsBitNV = 0x00080000,
        FontUnitsPerEmBitNV = 0x00100000,
        FontAscenderBitNV = 0x00200000,
        FontDescenderBitNV = 0x00400000,
        FontHeightBitNV = 0x00800000,
        FontMaxAdvanceWidthBitNV = 0x01000000,
        FontMaxAdvanceHeightBitNV = 0x02000000,
        FontUnderlinePositionBitNV = 0x04000000,
        FontUnderlineThicknessBitNV = 0x08000000,
        FontHasKerningBitNV = 0x10000000,
        FontNumGlyphIndicesBitNV = 0x20000000
    }
    
    [Flags]
    public enum PerformanceQueryCapsMaskINTEL : uint
    {
        PerfquerySingleContextINTEL = 0x00000000,
        PerfqueryGlobalContextINTEL = 0x00000001
    }
    
    [Flags]
    public enum VertexHintsMaskPGI : uint
    {
        Vertex23BitPGI = 0x00000004,
        Vertex4BitPGI = 0x00000008,
        Color3BitPGI = 0x00010000,
        Color4BitPGI = 0x00020000,
        EdgeflagBitPGI = 0x00040000,
        IndexBitPGI = 0x00080000,
        MatAmbientBitPGI = 0x00100000,
        MatAmbientAndDiffuseBitPGI = 0x00200000,
        MatDiffuseBitPGI = 0x00400000,
        MatEmissionBitPGI = 0x00800000,
        MatColorIndexesBitPGI = 0x01000000,
        MatShininessBitPGI = 0x02000000,
        MatSpecularBitPGI = 0x04000000,
        NormalBitPGI = 0x08000000,
        Texcoord1BitPGI = 0x10000000,
        Texcoord2BitPGI = 0x20000000,
        Texcoord3BitPGI = 0x40000000,
        Texcoord4BitPGI = 0x80000000
    }
    
    [Flags]
    public enum BufferBitQCOM : uint
    {
        ColorBufferBit0QCOM = 0x00000001,
        ColorBufferBit1QCOM = 0x00000002,
        ColorBufferBit2QCOM = 0x00000004,
        ColorBufferBit3QCOM = 0x00000008,
        ColorBufferBit4QCOM = 0x00000010,
        ColorBufferBit5QCOM = 0x00000020,
        ColorBufferBit6QCOM = 0x00000040,
        ColorBufferBit7QCOM = 0x00000080,
        DepthBufferBit0QCOM = 0x00000100,
        DepthBufferBit1QCOM = 0x00000200,
        DepthBufferBit2QCOM = 0x00000400,
        DepthBufferBit3QCOM = 0x00000800,
        DepthBufferBit4QCOM = 0x00001000,
        DepthBufferBit5QCOM = 0x00002000,
        DepthBufferBit6QCOM = 0x00004000,
        DepthBufferBit7QCOM = 0x00008000,
        StencilBufferBit0QCOM = 0x00010000,
        StencilBufferBit1QCOM = 0x00020000,
        StencilBufferBit2QCOM = 0x00040000,
        StencilBufferBit3QCOM = 0x00080000,
        StencilBufferBit4QCOM = 0x00100000,
        StencilBufferBit5QCOM = 0x00200000,
        StencilBufferBit6QCOM = 0x00400000,
        StencilBufferBit7QCOM = 0x00800000,
        MultisampleBufferBit0QCOM = 0x01000000,
        MultisampleBufferBit1QCOM = 0x02000000,
        MultisampleBufferBit2QCOM = 0x04000000,
        MultisampleBufferBit3QCOM = 0x08000000,
        MultisampleBufferBit4QCOM = 0x10000000,
        MultisampleBufferBit5QCOM = 0x20000000,
        MultisampleBufferBit6QCOM = 0x40000000,
        MultisampleBufferBit7QCOM = 0x80000000
    }
    
    [Flags]
    public enum FoveationConfigBitQCOM : uint
    {
        FoveationEnableBitQCOM = 0x00000001,
        FoveationScaledBinMethodBitQCOM = 0x00000002,
        FoveationSubsampledLayoutMethodBitQCOM = 0x00000004
    }
    
    [Flags]
    public enum FfdMaskSGIX : uint
    {
        TextureDeformationBitSGIX = 0x00000001,
        GeometryDeformationBitSGIX = 0x00000002
    }
    
    public enum CommandOpcodesNV
    {
        TerminateSequenceCommandNV = 0x0000,
        NopCommandNV = 0x0001,
        DrawElementsCommandNV = 0x0002,
        DrawArraysCommandNV = 0x0003,
        DrawElementsStripCommandNV = 0x0004,
        DrawArraysStripCommandNV = 0x0005,
        DrawElementsInstancedCommandNV = 0x0006,
        DrawArraysInstancedCommandNV = 0x0007,
        ElementAddressCommandNV = 0x0008,
        AttributeAddressCommandNV = 0x0009,
        UniformAddressCommandNV = 0x000A,
        BlendColorCommandNV = 0x000B,
        StencilRefCommandNV = 0x000C,
        LineWidthCommandNV = 0x000D,
        PolygonOffsetCommandNV = 0x000E,
        AlphaRefCommandNV = 0x000F,
        ViewportCommandNV = 0x0010,
        ScissorCommandNV = 0x0011,
        FrontFaceCommandNV = 0x0012
    }
    
    public enum MapTextureFormatINTEL
    {
        LayoutDefaultINTEL = 0,
        LayoutLinearINTEL = 1,
        LayoutLinearCpuCachedINTEL = 2
    }
    
    public enum PathRenderingTokenNV
    {
        ClosePathNV = 0x00,
        MoveToNV = 0x02,
        RelativeMoveToNV = 0x03,
        LineToNV = 0x04,
        RelativeLineToNV = 0x05,
        HorizontalLineToNV = 0x06,
        RelativeHorizontalLineToNV = 0x07,
        VerticalLineToNV = 0x08,
        RelativeVerticalLineToNV = 0x09,
        QuadraticCurveToNV = 0x0A,
        RelativeQuadraticCurveToNV = 0x0B,
        CubicCurveToNV = 0x0C,
        RelativeCubicCurveToNV = 0x0D,
        SmoothQuadraticCurveToNV = 0x0E,
        RelativeSmoothQuadraticCurveToNV = 0x0F,
        SmoothCubicCurveToNV = 0x10,
        RelativeSmoothCubicCurveToNV = 0x11,
        SmallCcwArcToNV = 0x12,
        RelativeSmallCcwArcToNV = 0x13,
        SmallCwArcToNV = 0x14,
        RelativeSmallCwArcToNV = 0x15,
        LargeCcwArcToNV = 0x16,
        RelativeLargeCcwArcToNV = 0x17,
        LargeCwArcToNV = 0x18,
        RelativeLargeCwArcToNV = 0x19,
        ConicCurveToNV = 0x1A,
        RelativeConicCurveToNV = 0x1B,
        SharedEdgeNV = 0xC0,
        RoundedRectNV = 0xE8,
        RelativeRoundedRectNV = 0xE9,
        RoundedRect2NV = 0xEA,
        RelativeRoundedRect2NV = 0xEB,
        RoundedRect4NV = 0xEC,
        RelativeRoundedRect4NV = 0xED,
        RoundedRect8NV = 0xEE,
        RelativeRoundedRect8NV = 0xEF,
        RestartPathNV = 0xF0,
        DupFirstCubicCurveToNV = 0xF2,
        DupLastCubicCurveToNV = 0xF4,
        RectNV = 0xF6,
        RelativeRectNV = 0xF7,
        CircularCcwArcToNV = 0xF8,
        CircularCwArcToNV = 0xFA,
        CircularTangentArcToNV = 0xFC,
        ArcToNV = 0xFE,
        RelativeArcToNV = 0xFF
    }
    
    public enum TransformFeedbackTokenNV
    {
        NextBufferNV = -2,
        SkipComponents4NV = -3,
        SkipComponents3NV = -4,
        SkipComponents2NV = -5,
        SkipComponents1NV = -6
    }
    
    public enum TriangleListSUN
    {
        RestartSUN = 0x0001,
        ReplaceMiddleSUN = 0x0002,
        ReplaceOldestSUN = 0x0003
    }
    
    public enum RegisterCombinerPname
    {
        Combine = 0x8570,
        CombineARB = 0x8570,
        CombineEXT = 0x8570,
        CombineRgb = 0x8571,
        CombineRgbARB = 0x8571,
        CombineRgbEXT = 0x8571,
        CombineAlpha = 0x8572,
        CombineAlphaARB = 0x8572,
        CombineAlphaEXT = 0x8572,
        RgbScale = 0x8573,
        RgbScaleARB = 0x8573,
        RgbScaleEXT = 0x8573,
        AddSigned = 0x8574,
        AddSignedARB = 0x8574,
        AddSignedEXT = 0x8574,
        Interpolate = 0x8575,
        InterpolateARB = 0x8575,
        InterpolateEXT = 0x8575,
        Constant = 0x8576,
        ConstantARB = 0x8576,
        ConstantEXT = 0x8576,
        ConstantNV = 0x8576,
        PrimaryColor = 0x8577,
        PrimaryColorARB = 0x8577,
        PrimaryColorEXT = 0x8577,
        Previous = 0x8578,
        PreviousARB = 0x8578,
        PreviousEXT = 0x8578,
        Source0Rgb = 0x8580,
        Source0RgbARB = 0x8580,
        Source0RgbEXT = 0x8580,
        Src0Rgb = 0x8580,
        Source1Rgb = 0x8581,
        Source1RgbARB = 0x8581,
        Source1RgbEXT = 0x8581,
        Src1Rgb = 0x8581,
        Source2Rgb = 0x8582,
        Source2RgbARB = 0x8582,
        Source2RgbEXT = 0x8582,
        Src2Rgb = 0x8582,
        Source3RgbNV = 0x8583,
        Source0Alpha = 0x8588,
        Source0AlphaARB = 0x8588,
        Source0AlphaEXT = 0x8588,
        Src0Alpha = 0x8588,
        Source1Alpha = 0x8589,
        Source1AlphaARB = 0x8589,
        Source1AlphaEXT = 0x8589,
        Src1Alpha = 0x8589,
        Src1AlphaEXT = 0x8589,
        Source2Alpha = 0x858A,
        Source2AlphaARB = 0x858A,
        Source2AlphaEXT = 0x858A,
        Src2Alpha = 0x858A,
        Source3AlphaNV = 0x858B,
        Operand0Rgb = 0x8590,
        Operand0RgbARB = 0x8590,
        Operand0RgbEXT = 0x8590,
        Operand1Rgb = 0x8591,
        Operand1RgbARB = 0x8591,
        Operand1RgbEXT = 0x8591,
        Operand2Rgb = 0x8592,
        Operand2RgbARB = 0x8592,
        Operand2RgbEXT = 0x8592,
        Operand3RgbNV = 0x8593,
        Operand0Alpha = 0x8598,
        Operand0AlphaARB = 0x8598,
        Operand0AlphaEXT = 0x8598,
        Operand1Alpha = 0x8599,
        Operand1AlphaARB = 0x8599,
        Operand1AlphaEXT = 0x8599,
        Operand2Alpha = 0x859A,
        Operand2AlphaARB = 0x859A,
        Operand2AlphaEXT = 0x859A,
        Operand3AlphaNV = 0x859B
    }
    
    public enum ShaderType
    {
        FragmentShader = 0x8B30,
        FragmentShaderARB = 0x8B30,
        VertexShader = 0x8B31,
        VertexShaderARB = 0x8B31
    }
    
    public enum ContainerType
    {
        ProgramObjectARB = 0x8B40,
        ProgramObjectEXT = 0x8B40
    }
    
    public enum AttributeType
    {
        FloatVec2 = 0x8B50,
        FloatVec2ARB = 0x8B50,
        FloatVec3 = 0x8B51,
        FloatVec3ARB = 0x8B51,
        FloatVec4 = 0x8B52,
        FloatVec4ARB = 0x8B52,
        IntVec2 = 0x8B53,
        IntVec2ARB = 0x8B53,
        IntVec3 = 0x8B54,
        IntVec3ARB = 0x8B54,
        IntVec4 = 0x8B55,
        IntVec4ARB = 0x8B55,
        Bool = 0x8B56,
        BoolARB = 0x8B56,
        BoolVec2 = 0x8B57,
        BoolVec2ARB = 0x8B57,
        BoolVec3 = 0x8B58,
        BoolVec3ARB = 0x8B58,
        BoolVec4 = 0x8B59,
        BoolVec4ARB = 0x8B59,
        FloatMat2 = 0x8B5A,
        FloatMat2ARB = 0x8B5A,
        FloatMat3 = 0x8B5B,
        FloatMat3ARB = 0x8B5B,
        FloatMat4 = 0x8B5C,
        FloatMat4ARB = 0x8B5C,
        Sampler1D = 0x8B5D,
        Sampler1DARB = 0x8B5D,
        Sampler2D = 0x8B5E,
        Sampler2DARB = 0x8B5E,
        Sampler3D = 0x8B5F,
        Sampler3DARB = 0x8B5F,
        Sampler3DOES = 0x8B5F,
        SamplerCube = 0x8B60,
        SamplerCubeARB = 0x8B60,
        Sampler1DShadow = 0x8B61,
        Sampler1DShadowARB = 0x8B61,
        Sampler2DShadow = 0x8B62,
        Sampler2DShadowARB = 0x8B62,
        Sampler2DShadowEXT = 0x8B62,
        Sampler2DRect = 0x8B63,
        Sampler2DRectARB = 0x8B63,
        Sampler2DRectShadow = 0x8B64,
        Sampler2DRectShadowARB = 0x8B64,
        FloatMat2x3 = 0x8B65,
        FloatMat2x3NV = 0x8B65,
        FloatMat2x4 = 0x8B66,
        FloatMat2x4NV = 0x8B66,
        FloatMat3x2 = 0x8B67,
        FloatMat3x2NV = 0x8B67,
        FloatMat3x4 = 0x8B68,
        FloatMat3x4NV = 0x8B68,
        FloatMat4x2 = 0x8B69,
        FloatMat4x2NV = 0x8B69,
        FloatMat4x3 = 0x8B6A,
        FloatMat4x3NV = 0x8B6A
    }
    public enum AccumOp
    {
        Accum = 0x0100,
        Load = 0x0101,
        Return = 0x0102,
        Mult = 0x0103,
        Add = 0x0104,
    }
    
    public enum AlphaFunction
    {
        Always = 0x0207,
        Equal = 0x0202,
        Gequal = 0x0206,
        Greater = 0x0204,
        Lequal = 0x0203,
        Less = 0x0201,
        Never = 0x0200,
        Notequal = 0x0205,
    }
    
    public enum BlendEquationModeEXT
    {
        AlphaMaxSGIX = 0x8321,
        AlphaMinSGIX = 0x8320,
        FuncAdd = 0x8006,
        FuncAddEXT = 0x8006,
        FuncReverseSubtract = 0x800B,
        FuncReverseSubtractEXT = 0x800B,
        FuncSubtract = 0x800A,
        FuncSubtractEXT = 0x800A,
        Max = 0x8008,
        MaxEXT = 0x8008,
        Min = 0x8007,
        MinEXT = 0x8007,
    }
    
    public enum Boolean
    {
        False = 0,
        True = 1,
    }
    
    public enum BufferTargetARB
    {
        ArrayBuffer = 0x8892,
        AtomicCounterBuffer = 0x92C0,
        CopyReadBuffer = 0x8F36,
        CopyWriteBuffer = 0x8F37,
        DispatchIndirectBuffer = 0x90EE,
        DrawIndirectBuffer = 0x8F3F,
        ElementArrayBuffer = 0x8893,
        PixelPackBuffer = 0x88EB,
        PixelUnpackBuffer = 0x88EC,
        QueryBuffer = 0x9192,
        ShaderStorageBuffer = 0x90D2,
        TextureBuffer = 0x8C2A,
        TransformFeedbackBuffer = 0x8C8E,
        UniformBuffer = 0x8A11,
        ParameterBuffer = 0x80EE,
    }
    
    public enum BufferUsageARB
    {
        StreamDraw = 0x88E0,
        StreamRead = 0x88E1,
        StreamCopy = 0x88E2,
        StaticDraw = 0x88E4,
        StaticRead = 0x88E5,
        StaticCopy = 0x88E6,
        DynamicDraw = 0x88E8,
        DynamicRead = 0x88E9,
        DynamicCopy = 0x88EA,
    }
    
    public enum BufferAccessARB
    {
        ReadOnly = 0x88B8,
        WriteOnly = 0x88B9,
        ReadWrite = 0x88BA,
    }
    
    public enum ClipPlaneName
    {
        ClipDistance0 = 0x3000,
        ClipDistance1 = 0x3001,
        ClipDistance2 = 0x3002,
        ClipDistance3 = 0x3003,
        ClipDistance4 = 0x3004,
        ClipDistance5 = 0x3005,
        ClipDistance6 = 0x3006,
        ClipDistance7 = 0x3007,
        ClipPlane0 = 0x3000,
        ClipPlane1 = 0x3001,
        ClipPlane2 = 0x3002,
        ClipPlane3 = 0x3003,
        ClipPlane4 = 0x3004,
        ClipPlane5 = 0x3005,
    }
    
    public enum ColorMaterialFace
    {
        Back = 0x0405,
        Front = 0x0404,
        FrontAndBack = 0x0408,
    }
    
    public enum ColorMaterialParameter
    {
        Ambient = 0x1200,
        AmbientAndDiffuse = 0x1602,
        Diffuse = 0x1201,
        Emission = 0x1600,
        Specular = 0x1202,
    }
    
    public enum ColorPointerType
    {
        Byte = 0x1400,
        Double = 0x140A,
        Float = 0x1406,
        Int = 0x1404,
        Short = 0x1402,
        UnsignedByte = 0x1401,
        UnsignedInt = 0x1405,
        UnsignedShort = 0x1403,
    }
    
    public enum ColorTableParameterPNameSGI
    {
        ColorTableBias = 0x80D7,
        ColorTableBiasSGI = 0x80D7,
        ColorTableScale = 0x80D6,
        ColorTableScaleSGI = 0x80D6,
    }
    
    public enum ColorTableTargetSGI
    {
        ColorTable = 0x80D0,
        ColorTableSGI = 0x80D0,
        PostColorMatrixColorTable = 0x80D2,
        PostColorMatrixColorTableSGI = 0x80D2,
        PostConvolutionColorTable = 0x80D1,
        PostConvolutionColorTableSGI = 0x80D1,
        ProxyColorTable = 0x80D3,
        ProxyColorTableSGI = 0x80D3,
        ProxyPostColorMatrixColorTable = 0x80D5,
        ProxyPostColorMatrixColorTableSGI = 0x80D5,
        ProxyPostConvolutionColorTable = 0x80D4,
        ProxyPostConvolutionColorTableSGI = 0x80D4,
        ProxyTextureColorTableSGI = 0x80BD,
        TextureColorTableSGI = 0x80BC,
    }
    
    public enum ConvolutionBorderModeEXT
    {
        Reduce = 0x8016,
        ReduceEXT = 0x8016,
    }
    
    public enum ConvolutionParameterEXT
    {
        ConvolutionBorderMode = 0x8013,
        ConvolutionBorderModeEXT = 0x8013,
        ConvolutionFilterBias = 0x8015,
        ConvolutionFilterBiasEXT = 0x8015,
        ConvolutionFilterScale = 0x8014,
        ConvolutionFilterScaleEXT = 0x8014,
    }
    
    public enum ConvolutionTargetEXT
    {
        Convolution1D = 0x8010,
        Convolution1DEXT = 0x8010,
        Convolution2D = 0x8011,
        Convolution2DEXT = 0x8011,
    }
    
    public enum CullFaceMode
    {
        Back = 0x0405,
        Front = 0x0404,
        FrontAndBack = 0x0408,
    }
    
    public enum DataType
    {
    }
    
    public enum DepthFunction
    {
        Always = 0x0207,
        Equal = 0x0202,
        Gequal = 0x0206,
        Greater = 0x0204,
        Lequal = 0x0203,
        Less = 0x0201,
        Never = 0x0200,
        Notequal = 0x0205,
    }
    
    public enum DrawBufferMode
    {
        Aux0 = 0x0409,
        Aux1 = 0x040A,
        Aux2 = 0x040B,
        Aux3 = 0x040C,
        Back = 0x0405,
        BackLeft = 0x0402,
        BackRight = 0x0403,
        Front = 0x0404,
        FrontAndBack = 0x0408,
        FrontLeft = 0x0400,
        FrontRight = 0x0401,
        Left = 0x0406,
        None = 0,
        NoneOES = 0,
        Right = 0x0407,
    }
    
    public enum DrawElementsType
    {
        UnsignedByte = 0x1401,
        UnsignedShort = 0x1403,
        UnsignedInt = 0x1405,
    }
    
    public enum EnableCap
    {
        AlphaTest = 0x0BC0,
        AsyncDrawPixelsSGIX = 0x835D,
        AsyncHistogramSGIX = 0x832C,
        AsyncReadPixelsSGIX = 0x835E,
        AsyncTexImageSGIX = 0x835C,
        AutoNormal = 0x0D80,
        Blend = 0x0BE2,
        CalligraphicFragmentSGIX = 0x8183,
        ClipPlane0 = 0x3000,
        ClipPlane1 = 0x3001,
        ClipPlane2 = 0x3002,
        ClipPlane3 = 0x3003,
        ClipPlane4 = 0x3004,
        ClipPlane5 = 0x3005,
        ColorArray = 0x8076,
        ColorLogicOp = 0x0BF2,
        ColorMaterial = 0x0B57,
        ColorTableSGI = 0x80D0,
        Convolution1DEXT = 0x8010,
        Convolution2DEXT = 0x8011,
        CullFace = 0x0B44,
        DebugOutput = 0x92E0,
        DebugOutputSynchronous = 0x8242,
        DepthClamp = 0x864F,
        DepthTest = 0x0B71,
        Dither = 0x0BD0,
        EdgeFlagArray = 0x8079,
        Fog = 0x0B60,
        FogOffsetSGIX = 0x8198,
        FragmentColorMaterialSGIX = 0x8401,
        FragmentLight0SGIX = 0x840C,
        FragmentLight1SGIX = 0x840D,
        FragmentLight2SGIX = 0x840E,
        FragmentLight3SGIX = 0x840F,
        FragmentLight4SGIX = 0x8410,
        FragmentLight5SGIX = 0x8411,
        FragmentLight6SGIX = 0x8412,
        FragmentLight7SGIX = 0x8413,
        FragmentLightingSGIX = 0x8400,
        FramebufferSrgb = 0x8DB9,
        FramezoomSGIX = 0x818B,
        HistogramEXT = 0x8024,
        IndexArray = 0x8077,
        IndexLogicOp = 0x0BF1,
        InterlaceSGIX = 0x8094,
        IrInstrument1SGIX = 0x817F,
        Light0 = 0x4000,
        Light1 = 0x4001,
        Light2 = 0x4002,
        Light3 = 0x4003,
        Light4 = 0x4004,
        Light5 = 0x4005,
        Light6 = 0x4006,
        Light7 = 0x4007,
        Lighting = 0x0B50,
        LineSmooth = 0x0B20,
        LineStipple = 0x0B24,
        Map1Color4 = 0x0D90,
        Map1Index = 0x0D91,
        Map1Normal = 0x0D92,
        Map1TextureCoord1 = 0x0D93,
        Map1TextureCoord2 = 0x0D94,
        Map1TextureCoord3 = 0x0D95,
        Map1TextureCoord4 = 0x0D96,
        Map1Vertex3 = 0x0D97,
        Map1Vertex4 = 0x0D98,
        Map2Color4 = 0x0DB0,
        Map2Index = 0x0DB1,
        Map2Normal = 0x0DB2,
        Map2TextureCoord1 = 0x0DB3,
        Map2TextureCoord2 = 0x0DB4,
        Map2TextureCoord3 = 0x0DB5,
        Map2TextureCoord4 = 0x0DB6,
        Map2Vertex3 = 0x0DB7,
        Map2Vertex4 = 0x0DB8,
        MinmaxEXT = 0x802E,
        Multisample = 0x809D,
        MultisampleSgis = 0x809D,
        Normalize = 0x0BA1,
        NormalArray = 0x8075,
        PixelTextureSgis = 0x8353,
        PixelTexGenSGIX = 0x8139,
        PointSmooth = 0x0B10,
        PolygonOffsetFill = 0x8037,
        PolygonOffsetLine = 0x2A02,
        PolygonOffsetPoint = 0x2A01,
        PolygonSmooth = 0x0B41,
        PolygonStipple = 0x0B42,
        PostColorMatrixColorTableSGI = 0x80D2,
        PostConvolutionColorTableSGI = 0x80D1,
        PrimitiveRestart = 0x8F9D,
        PrimitiveRestartFixedIndex = 0x8D69,
        ProgramPointSize = 0x8642,
        RasterizerDiscard = 0x8C89,
        ReferencePlaneSGIX = 0x817D,
        RescaleNormalEXT = 0x803A,
        SampleAlphaToCoverage = 0x809E,
        SampleAlphaToMaskSgis = 0x809E,
        SampleAlphaToOne = 0x809F,
        SampleAlphaToOneSgis = 0x809F,
        SampleCoverage = 0x80A0,
        SampleMask = 0x8E51,
        SampleMaskSgis = 0x80A0,
        SampleShading = 0x8C36,
        ScissorTest = 0x0C11,
        Separable2DEXT = 0x8012,
        SharedTexturePaletteEXT = 0x81FB,
        SpriteSGIX = 0x8148,
        StencilTest = 0x0B90,
        Texture1D = 0x0DE0,
        Texture2D = 0x0DE1,
        Texture3DEXT = 0x806F,
        Texture4dSgis = 0x8134,
        TextureColorTableSGI = 0x80BC,
        TextureCoordArray = 0x8078,
        TextureCubeMapSeamless = 0x884F,
        TextureGenQ = 0x0C63,
        TextureGenR = 0x0C62,
        TextureGenS = 0x0C60,
        TextureGenT = 0x0C61,
        VertexArray = 0x8074,
    }
    
    public enum ErrorCode
    {
        InvalidEnum = 0x0500,
        InvalidFramebufferOperation = 0x0506,
        InvalidFramebufferOperationEXT = 0x0506,
        InvalidFramebufferOperationOES = 0x0506,
        InvalidOperation = 0x0502,
        InvalidValue = 0x0501,
        NoError = 0,
        OutOfMemory = 0x0505,
        StackOverflow = 0x0503,
        StackUnderflow = 0x0504,
        TableTooLarge = 0x8031,
        TableTooLargeEXT = 0x8031,
        TextureTooLargeEXT = 0x8065,
    }
    
    public enum ExternalHandleType
    {
        HandleTypeOpaqueFdEXT = 0x9586,
        HandleTypeOpaqueWin32EXT = 0x9587,
        HandleTypeOpaqueWin32KmtEXT = 0x9588,
        HandleTypeD3d12TilepoolEXT = 0x9589,
        HandleTypeD3d12ResourceEXT = 0x958A,
        HandleTypeD3d11ImageEXT = 0x958B,
        HandleTypeD3d11ImageKmtEXT = 0x958C,
        HandleTypeD3d12FenceEXT = 0x9594,
    }
    
    public enum FeedbackType
    {
        Feedback2D = 0x0600,
        Feedback3D = 0x0601,
        Feedback3DColor = 0x0602,
        Feedback3DColorTexture = 0x0603,
        Feedback4dColorTexture = 0x0604,
    }
    
    public enum FeedBackToken
    {
        BitmapToken = 0x0704,
        CopyPixelToken = 0x0706,
        DrawPixelToken = 0x0705,
        LineResetToken = 0x0707,
        LineToken = 0x0702,
        PassThroughToken = 0x0700,
        PointToken = 0x0701,
        PolygonToken = 0x0703,
    }
    
    public enum FfdTargetSGIX
    {
        GeometryDeformationSGIX = 0x8194,
        TextureDeformationSGIX = 0x8195,
    }
    
    public enum FogCoordinatePointerType
    {
        Float = 0x1406,
        Double = 0x140A,
    }
    
    public enum FogMode
    {
        Exp = 0x0800,
        Exp2 = 0x0801,
        FogFuncSgis = 0x812A,
        Linear = 0x2601,
    }
    
    public enum FogParameter
    {
        FogColor = 0x0B66,
        FogDensity = 0x0B62,
        FogEnd = 0x0B64,
        FogIndex = 0x0B61,
        FogMode = 0x0B65,
        FogOffsetValueSGIX = 0x8199,
        FogStart = 0x0B63,
    }
    
    public enum FogPointerTypeEXT
    {
        Float = 0x1406,
        Double = 0x140A,
    }
    
    public enum FogPointerTypeIBM
    {
        Float = 0x1406,
        Double = 0x140A,
    }
    
    public enum FragmentLightModelParameterSGIX
    {
        FragmentLightModelAmbientSGIX = 0x840A,
        FragmentLightModelLocalViewerSGIX = 0x8408,
        FragmentLightModelNormalInterpolationSGIX = 0x840B,
        FragmentLightModelTwoSideSGIX = 0x8409,
    }
    
    public enum FramebufferFetchNoncoherent
    {
        FramebufferFetchNoncoherentQCOM = 0x96A2,
    }
    
    public enum FrontFaceDirection
    {
        Ccw = 0x0901,
        Cw = 0x0900,
    }
    
    public enum GetColorTableParameterPNameSGI
    {
        ColorTableAlphaSizeSGI = 0x80DD,
        ColorTableBiasSGI = 0x80D7,
        ColorTableBlueSizeSGI = 0x80DC,
        ColorTableFormatSGI = 0x80D8,
        ColorTableGreenSizeSGI = 0x80DB,
        ColorTableIntensitySizeSGI = 0x80DF,
        ColorTableLuminanceSizeSGI = 0x80DE,
        ColorTableRedSizeSGI = 0x80DA,
        ColorTableScaleSGI = 0x80D6,
        ColorTableWidthSGI = 0x80D9,
        ColorTableBias = 0x80D7,
        ColorTableScale = 0x80D6,
        ColorTableFormat = 0x80D8,
        ColorTableWidth = 0x80D9,
        ColorTableRedSize = 0x80DA,
        ColorTableGreenSize = 0x80DB,
        ColorTableBlueSize = 0x80DC,
        ColorTableAlphaSize = 0x80DD,
        ColorTableLuminanceSize = 0x80DE,
        ColorTableIntensitySize = 0x80DF,
    }
    
    public enum GetConvolutionParameter
    {
        ConvolutionBorderModeEXT = 0x8013,
        ConvolutionFilterBiasEXT = 0x8015,
        ConvolutionFilterScaleEXT = 0x8014,
        ConvolutionFormatEXT = 0x8017,
        ConvolutionHeightEXT = 0x8019,
        ConvolutionWidthEXT = 0x8018,
        MaxConvolutionHeightEXT = 0x801B,
        MaxConvolutionWidthEXT = 0x801A,
        ConvolutionBorderMode = 0x8013,
        ConvolutionBorderColor = 0x8154,
        ConvolutionFilterScale = 0x8014,
        ConvolutionFilterBias = 0x8015,
        ConvolutionFormat = 0x8017,
        ConvolutionWidth = 0x8018,
        ConvolutionHeight = 0x8019,
        MaxConvolutionWidth = 0x801A,
        MaxConvolutionHeight = 0x801B,
    }
    
    public enum GetHistogramParameterPNameEXT
    {
        HistogramAlphaSizeEXT = 0x802B,
        HistogramBlueSizeEXT = 0x802A,
        HistogramFormatEXT = 0x8027,
        HistogramGreenSizeEXT = 0x8029,
        HistogramLuminanceSizeEXT = 0x802C,
        HistogramRedSizeEXT = 0x8028,
        HistogramSinkEXT = 0x802D,
        HistogramWidthEXT = 0x8026,
        HistogramWidth = 0x8026,
        HistogramFormat = 0x8027,
        HistogramRedSize = 0x8028,
        HistogramGreenSize = 0x8029,
        HistogramBlueSize = 0x802A,
        HistogramAlphaSize = 0x802B,
        HistogramLuminanceSize = 0x802C,
        HistogramSink = 0x802D,
    }
    
    public enum GetMapQuery
    {
        Coeff = 0x0A00,
        Domain = 0x0A02,
        Order = 0x0A01,
    }
    
    public enum GetMinmaxParameterPNameEXT
    {
        MinmaxFormat = 0x802F,
        MinmaxFormatEXT = 0x802F,
        MinmaxSink = 0x8030,
        MinmaxSinkEXT = 0x8030,
    }
    
    public enum GetPixelMap
    {
        PixelMapAToA = 0x0C79,
        PixelMapBToB = 0x0C78,
        PixelMapGToG = 0x0C77,
        PixelMapIToA = 0x0C75,
        PixelMapIToB = 0x0C74,
        PixelMapIToG = 0x0C73,
        PixelMapIToI = 0x0C70,
        PixelMapIToR = 0x0C72,
        PixelMapRToR = 0x0C76,
        PixelMapSToS = 0x0C71,
    }
    
    public enum GetPName
    {
        AccumAlphaBits = 0x0D5B,
        AccumBlueBits = 0x0D5A,
        AccumClearValue = 0x0B80,
        AccumGreenBits = 0x0D59,
        AccumRedBits = 0x0D58,
        ActiveTexture = 0x84E0,
        AliasedLineWidthRange = 0x846E,
        AliasedPointSizeRange = 0x846D,
        AlphaBias = 0x0D1D,
        AlphaBits = 0x0D55,
        AlphaScale = 0x0D1C,
        AlphaTest = 0x0BC0,
        AlphaTestFunc = 0x0BC1,
        AlphaTestFuncQCOM = 0x0BC1,
        AlphaTestQCOM = 0x0BC0,
        AlphaTestRef = 0x0BC2,
        AlphaTestRefQCOM = 0x0BC2,
        ArrayBufferBinding = 0x8894,
        AsyncDrawPixelsSGIX = 0x835D,
        AsyncHistogramSGIX = 0x832C,
        AsyncMarkerSGIX = 0x8329,
        AsyncReadPixelsSGIX = 0x835E,
        AsyncTexImageSGIX = 0x835C,
        AttribStackDepth = 0x0BB0,
        AutoNormal = 0x0D80,
        AuxBuffers = 0x0C00,
        Blend = 0x0BE2,
        BlendColor = 0x8005,
        BlendColorEXT = 0x8005,
        BlendDst = 0x0BE0,
        BlendDstAlpha = 0x80CA,
        BlendDstRgb = 0x80C8,
        BlendEquationAlpha = 0x883D,
        BlendEquationEXT = 0x8009,
        BlendEquationRgb = 0x8009,
        BlendSrc = 0x0BE1,
        BlendSrcAlpha = 0x80CB,
        BlendSrcRgb = 0x80C9,
        BlueBias = 0x0D1B,
        BlueBits = 0x0D54,
        BlueScale = 0x0D1A,
        CalligraphicFragmentSGIX = 0x8183,
        ClientAttribStackDepth = 0x0BB1,
        ClipPlane0 = 0x3000,
        ClipPlane1 = 0x3001,
        ClipPlane2 = 0x3002,
        ClipPlane3 = 0x3003,
        ClipPlane4 = 0x3004,
        ClipPlane5 = 0x3005,
        ColorArray = 0x8076,
        ColorArrayCountEXT = 0x8084,
        ColorArraySize = 0x8081,
        ColorArrayStride = 0x8083,
        ColorArrayType = 0x8082,
        ColorClearValue = 0x0C22,
        ColorLogicOp = 0x0BF2,
        ColorMaterial = 0x0B57,
        ColorMaterialFace = 0x0B55,
        ColorMaterialParameter = 0x0B56,
        ColorMatrixSGI = 0x80B1,
        ColorMatrixStackDepthSGI = 0x80B2,
        ColorTableSGI = 0x80D0,
        ColorWritemask = 0x0C23,
        CompressedTextureFormats = 0x86A3,
        ContextFlags = 0x821E,
        Convolution1DEXT = 0x8010,
        Convolution2DEXT = 0x8011,
        ConvolutionHintSGIX = 0x8316,
        CullFace = 0x0B44,
        CullFaceMode = 0x0B45,
        CurrentColor = 0x0B00,
        CurrentIndex = 0x0B01,
        CurrentNormal = 0x0B02,
        CurrentProgram = 0x8B8D,
        CurrentRasterColor = 0x0B04,
        CurrentRasterDistance = 0x0B09,
        CurrentRasterIndex = 0x0B05,
        CurrentRasterPosition = 0x0B07,
        CurrentRasterPositionValid = 0x0B08,
        CurrentRasterTextureCoords = 0x0B06,
        CurrentTextureCoords = 0x0B03,
        DebugGroupStackDepth = 0x826D,
        DeformationsMaskSGIX = 0x8196,
        DepthBias = 0x0D1F,
        DepthBits = 0x0D56,
        DepthClearValue = 0x0B73,
        DepthFunc = 0x0B74,
        DepthRange = 0x0B70,
        DepthScale = 0x0D1E,
        DepthTest = 0x0B71,
        DepthWritemask = 0x0B72,
        DetailTexture2DBindingSgis = 0x8096,
        DeviceLuidEXT = 0x9599,
        DeviceNodeMaskEXT = 0x959A,
        DeviceUuidEXT = 0x9597,
        DispatchIndirectBufferBinding = 0x90EF,
        DistanceAttenuationSgis = 0x8129,
        Dither = 0x0BD0,
        Doublebuffer = 0x0C32,
        DrawBuffer = 0x0C01,
        DrawBufferEXT = 0x0C01,
        DrawFramebufferBinding = 0x8CA6,
        DriverUuidEXT = 0x9598,
        EdgeFlag = 0x0B43,
        EdgeFlagArray = 0x8079,
        EdgeFlagArrayCountEXT = 0x808D,
        EdgeFlagArrayStride = 0x808C,
        ElementArrayBufferBinding = 0x8895,
        FeedbackBufferSize = 0x0DF1,
        FeedbackBufferType = 0x0DF2,
        Fog = 0x0B60,
        FogColor = 0x0B66,
        FogDensity = 0x0B62,
        FogEnd = 0x0B64,
        FogFuncPointsSgis = 0x812B,
        FogHint = 0x0C54,
        FogIndex = 0x0B61,
        FogMode = 0x0B65,
        FogOffsetSGIX = 0x8198,
        FogOffsetValueSGIX = 0x8199,
        FogStart = 0x0B63,
        FragmentColorMaterialFaceSGIX = 0x8402,
        FragmentColorMaterialParameterSGIX = 0x8403,
        FragmentColorMaterialSGIX = 0x8401,
        FragmentLight0SGIX = 0x840C,
        FragmentLightingSGIX = 0x8400,
        FragmentLightModelAmbientSGIX = 0x840A,
        FragmentLightModelLocalViewerSGIX = 0x8408,
        FragmentLightModelNormalInterpolationSGIX = 0x840B,
        FragmentLightModelTwoSideSGIX = 0x8409,
        FragmentShaderDerivativeHint = 0x8B8B,
        FramezoomFactorSGIX = 0x818C,
        FramezoomSGIX = 0x818B,
        FrontFace = 0x0B46,
        GenerateMipmapHintSgis = 0x8192,
        GreenBias = 0x0D19,
        GreenBits = 0x0D53,
        GreenScale = 0x0D18,
        HistogramEXT = 0x8024,
        ImplementationColorReadFormat = 0x8B9B,
        ImplementationColorReadType = 0x8B9A,
        IndexArray = 0x8077,
        IndexArrayCountEXT = 0x8087,
        IndexArrayStride = 0x8086,
        IndexArrayType = 0x8085,
        IndexBits = 0x0D51,
        IndexClearValue = 0x0C20,
        IndexLogicOp = 0x0BF1,
        IndexMode = 0x0C30,
        IndexOffset = 0x0D13,
        IndexShift = 0x0D12,
        IndexWritemask = 0x0C21,
        InstrumentMeasurementsSGIX = 0x8181,
        InterlaceSGIX = 0x8094,
        IrInstrument1SGIX = 0x817F,
        LayerProvokingVertex = 0x825E,
        Light0 = 0x4000,
        Light1 = 0x4001,
        Light2 = 0x4002,
        Light3 = 0x4003,
        Light4 = 0x4004,
        Light5 = 0x4005,
        Light6 = 0x4006,
        Light7 = 0x4007,
        Lighting = 0x0B50,
        LightEnvModeSGIX = 0x8407,
        LightModelAmbient = 0x0B53,
        LightModelColorControl = 0x81F8,
        LightModelLocalViewer = 0x0B51,
        LightModelTwoSide = 0x0B52,
        LineSmooth = 0x0B20,
        LineSmoothHint = 0x0C52,
        LineStipple = 0x0B24,
        LineStipplePattern = 0x0B25,
        LineStippleRepeat = 0x0B26,
        LineWidth = 0x0B21,
        LineWidthGranularity = 0x0B23,
        LineWidthRange = 0x0B22,
        ListBase = 0x0B32,
        ListIndex = 0x0B33,
        ListMode = 0x0B30,
        LogicOp = 0x0BF1,
        LogicOpMode = 0x0BF0,
        MajorVersion = 0x821B,
        Map1Color4 = 0x0D90,
        Map1GridDomain = 0x0DD0,
        Map1GridSegments = 0x0DD1,
        Map1Index = 0x0D91,
        Map1Normal = 0x0D92,
        Map1TextureCoord1 = 0x0D93,
        Map1TextureCoord2 = 0x0D94,
        Map1TextureCoord3 = 0x0D95,
        Map1TextureCoord4 = 0x0D96,
        Map1Vertex3 = 0x0D97,
        Map1Vertex4 = 0x0D98,
        Map2Color4 = 0x0DB0,
        Map2GridDomain = 0x0DD2,
        Map2GridSegments = 0x0DD3,
        Map2Index = 0x0DB1,
        Map2Normal = 0x0DB2,
        Map2TextureCoord1 = 0x0DB3,
        Map2TextureCoord2 = 0x0DB4,
        Map2TextureCoord3 = 0x0DB5,
        Map2TextureCoord4 = 0x0DB6,
        Map2Vertex3 = 0x0DB7,
        Map2Vertex4 = 0x0DB8,
        MapColor = 0x0D10,
        MapStencil = 0x0D11,
        MatrixMode = 0x0BA0,
        Max3DTextureSize = 0x8073,
        Max3DTextureSizeEXT = 0x8073,
        Max4dTextureSizeSgis = 0x8138,
        MaxActiveLightsSGIX = 0x8405,
        MaxArrayTextureLayers = 0x88FF,
        MaxAsyncDrawPixelsSGIX = 0x8360,
        MaxAsyncHistogramSGIX = 0x832D,
        MaxAsyncReadPixelsSGIX = 0x8361,
        MaxAsyncTexImageSGIX = 0x835F,
        MaxAttribStackDepth = 0x0D35,
        MaxClientAttribStackDepth = 0x0D3B,
        MaxClipmapDepthSGIX = 0x8177,
        MaxClipmapVirtualDepthSGIX = 0x8178,
        MaxClipDistances = 0x0D32,
        MaxClipPlanes = 0x0D32,
        MaxColorMatrixStackDepthSGI = 0x80B3,
        MaxColorTextureSamples = 0x910E,
        MaxCombinedAtomicCounters = 0x92D7,
        MaxCombinedComputeUniformComponents = 0x8266,
        MaxCombinedFragmentUniformComponents = 0x8A33,
        MaxCombinedGeometryUniformComponents = 0x8A32,
        MaxCombinedShaderStorageBlocks = 0x90DC,
        MaxCombinedTextureImageUnits = 0x8B4D,
        MaxCombinedUniformBlocks = 0x8A2E,
        MaxCombinedVertexUniformComponents = 0x8A31,
        MaxComputeAtomicCounters = 0x8265,
        MaxComputeAtomicCounterBuffers = 0x8264,
        MaxComputeShaderStorageBlocks = 0x90DB,
        MaxComputeTextureImageUnits = 0x91BC,
        MaxComputeUniformBlocks = 0x91BB,
        MaxComputeUniformComponents = 0x8263,
        MaxComputeWorkGroupCount = 0x91BE,
        MaxComputeWorkGroupInvocations = 0x90EB,
        MaxComputeWorkGroupSize = 0x91BF,
        MaxCubeMapTextureSize = 0x851C,
        MaxDebugGroupStackDepth = 0x826C,
        MaxDepthTextureSamples = 0x910F,
        MaxDrawBuffers = 0x8824,
        MaxDualSourceDrawBuffers = 0x88FC,
        MaxElementsIndices = 0x80E9,
        MaxElementsVertices = 0x80E8,
        MaxElementIndex = 0x8D6B,
        MaxEvalOrder = 0x0D30,
        MaxFogFuncPointsSgis = 0x812C,
        MaxFragmentAtomicCounters = 0x92D6,
        MaxFragmentInputComponents = 0x9125,
        MaxFragmentLightsSGIX = 0x8404,
        MaxFragmentShaderStorageBlocks = 0x90DA,
        MaxFragmentUniformBlocks = 0x8A2D,
        MaxFragmentUniformComponents = 0x8B49,
        MaxFragmentUniformVectors = 0x8DFD,
        MaxFramebufferHeight = 0x9316,
        MaxFramebufferLayers = 0x9317,
        MaxFramebufferSamples = 0x9318,
        MaxFramebufferWidth = 0x9315,
        MaxFramezoomFactorSGIX = 0x818D,
        MaxGeometryAtomicCounters = 0x92D5,
        MaxGeometryInputComponents = 0x9123,
        MaxGeometryOutputComponents = 0x9124,
        MaxGeometryShaderStorageBlocks = 0x90D7,
        MaxGeometryTextureImageUnits = 0x8C29,
        MaxGeometryUniformBlocks = 0x8A2C,
        MaxGeometryUniformComponents = 0x8DDF,
        MaxIntegerSamples = 0x9110,
        MaxLabelLength = 0x82E8,
        MaxLights = 0x0D31,
        MaxListNesting = 0x0B31,
        MaxModelviewStackDepth = 0x0D36,
        MaxNameStackDepth = 0x0D37,
        MaxPixelMapTable = 0x0D34,
        MaxProgramTexelOffset = 0x8905,
        MaxProjectionStackDepth = 0x0D38,
        MaxRectangleTextureSize = 0x84F8,
        MaxRenderbufferSize = 0x84E8,
        MaxSampleMaskWords = 0x8E59,
        MaxServerWaitTimeout = 0x9111,
        MaxShaderStorageBufferBindings = 0x90DD,
        MaxTessControlAtomicCounters = 0x92D3,
        MaxTessControlShaderStorageBlocks = 0x90D8,
        MaxTessEvaluationAtomicCounters = 0x92D4,
        MaxTessEvaluationShaderStorageBlocks = 0x90D9,
        MaxTextureBufferSize = 0x8C2B,
        MaxTextureImageUnits = 0x8872,
        MaxTextureLodBias = 0x84FD,
        MaxTextureSize = 0x0D33,
        MaxTextureStackDepth = 0x0D39,
        MaxUniformBlockSize = 0x8A30,
        MaxUniformBufferBindings = 0x8A2F,
        MaxUniformLocations = 0x826E,
        MaxVaryingComponents = 0x8B4B,
        MaxVaryingFloats = 0x8B4B,
        MaxVaryingVectors = 0x8DFC,
        MaxVertexAtomicCounters = 0x92D2,
        MaxVertexAttribs = 0x8869,
        MaxVertexAttribBindings = 0x82DA,
        MaxVertexAttribRelativeOffset = 0x82D9,
        MaxVertexOutputComponents = 0x9122,
        MaxVertexShaderStorageBlocks = 0x90D6,
        MaxVertexTextureImageUnits = 0x8B4C,
        MaxVertexUniformBlocks = 0x8A2B,
        MaxVertexUniformComponents = 0x8B4A,
        MaxVertexUniformVectors = 0x8DFB,
        MaxViewports = 0x825B,
        MaxViewportDims = 0x0D3A,
        MinmaxEXT = 0x802E,
        MinorVersion = 0x821C,
        MinMapBufferAlignment = 0x90BC,
        MinProgramTexelOffset = 0x8904,
        Modelview0MatrixEXT = 0x0BA6,
        Modelview0StackDepthEXT = 0x0BA3,
        ModelviewMatrix = 0x0BA6,
        ModelviewStackDepth = 0x0BA3,
        MultisampleSgis = 0x809D,
        NameStackDepth = 0x0D70,
        Normalize = 0x0BA1,
        NormalArray = 0x8075,
        NormalArrayCountEXT = 0x8080,
        NormalArrayStride = 0x807F,
        NormalArrayType = 0x807E,
        NumCompressedTextureFormats = 0x86A2,
        NumDeviceUuidsEXT = 0x9596,
        NumExtensions = 0x821D,
        NumProgramBinaryFormats = 0x87FE,
        NumShaderBinaryFormats = 0x8DF9,
        PackAlignment = 0x0D05,
        PackCmykHintEXT = 0x800E,
        PackImageDepthSgis = 0x8131,
        PackImageHeight = 0x806C,
        PackImageHeightEXT = 0x806C,
        PackLsbFirst = 0x0D01,
        PackResampleSGIX = 0x842E,
        PackRowLength = 0x0D02,
        PackSkipImages = 0x806B,
        PackSkipImagesEXT = 0x806B,
        PackSkipPixels = 0x0D04,
        PackSkipRows = 0x0D03,
        PackSkipVolumesSgis = 0x8130,
        PackSubsampleRateSGIX = 0x85A0,
        PackSwapBytes = 0x0D00,
        PerspectiveCorrectionHint = 0x0C50,
        PixelMapAToASize = 0x0CB9,
        PixelMapBToBSize = 0x0CB8,
        PixelMapGToGSize = 0x0CB7,
        PixelMapIToASize = 0x0CB5,
        PixelMapIToBSize = 0x0CB4,
        PixelMapIToGSize = 0x0CB3,
        PixelMapIToISize = 0x0CB0,
        PixelMapIToRSize = 0x0CB2,
        PixelMapRToRSize = 0x0CB6,
        PixelMapSToSSize = 0x0CB1,
        PixelPackBufferBinding = 0x88ED,
        PixelTextureSgis = 0x8353,
        PixelTexGenModeSGIX = 0x832B,
        PixelTexGenSGIX = 0x8139,
        PixelTileBestAlignmentSGIX = 0x813E,
        PixelTileCacheIncrementSGIX = 0x813F,
        PixelTileCacheSizeSGIX = 0x8145,
        PixelTileGridDepthSGIX = 0x8144,
        PixelTileGridHeightSGIX = 0x8143,
        PixelTileGridWidthSGIX = 0x8142,
        PixelTileHeightSGIX = 0x8141,
        PixelTileWidthSGIX = 0x8140,
        PixelUnpackBufferBinding = 0x88EF,
        PointFadeThresholdSize = 0x8128,
        PointFadeThresholdSizeSgis = 0x8128,
        PointSize = 0x0B11,
        PointSizeGranularity = 0x0B13,
        PointSizeMaxSgis = 0x8127,
        PointSizeMinSgis = 0x8126,
        PointSizeRange = 0x0B12,
        PointSmooth = 0x0B10,
        PointSmoothHint = 0x0C51,
        PolygonMode = 0x0B40,
        PolygonOffsetBiasEXT = 0x8039,
        PolygonOffsetFactor = 0x8038,
        PolygonOffsetFill = 0x8037,
        PolygonOffsetLine = 0x2A02,
        PolygonOffsetPoint = 0x2A01,
        PolygonOffsetUnits = 0x2A00,
        PolygonSmooth = 0x0B41,
        PolygonSmoothHint = 0x0C53,
        PolygonStipple = 0x0B42,
        PostColorMatrixAlphaBiasSGI = 0x80BB,
        PostColorMatrixAlphaScaleSGI = 0x80B7,
        PostColorMatrixBlueBiasSGI = 0x80BA,
        PostColorMatrixBlueScaleSGI = 0x80B6,
        PostColorMatrixColorTableSGI = 0x80D2,
        PostColorMatrixGreenBiasSGI = 0x80B9,
        PostColorMatrixGreenScaleSGI = 0x80B5,
        PostColorMatrixRedBiasSGI = 0x80B8,
        PostColorMatrixRedScaleSGI = 0x80B4,
        PostConvolutionAlphaBiasEXT = 0x8023,
        PostConvolutionAlphaScaleEXT = 0x801F,
        PostConvolutionBlueBiasEXT = 0x8022,
        PostConvolutionBlueScaleEXT = 0x801E,
        PostConvolutionColorTableSGI = 0x80D1,
        PostConvolutionGreenBiasEXT = 0x8021,
        PostConvolutionGreenScaleEXT = 0x801D,
        PostConvolutionRedBiasEXT = 0x8020,
        PostConvolutionRedScaleEXT = 0x801C,
        PostTextureFilterBiasRangeSGIX = 0x817B,
        PostTextureFilterScaleRangeSGIX = 0x817C,
        PrimitiveRestartIndex = 0x8F9E,
        ProgramBinaryFormats = 0x87FF,
        ProgramPipelineBinding = 0x825A,
        ProgramPointSize = 0x8642,
        ProjectionMatrix = 0x0BA7,
        ProjectionStackDepth = 0x0BA4,
        ProvokingVertex = 0x8E4F,
        ReadBuffer = 0x0C02,
        ReadBufferEXT = 0x0C02,
        ReadBufferNV = 0x0C02,
        ReadFramebufferBinding = 0x8CAA,
        RedBias = 0x0D15,
        RedBits = 0x0D52,
        RedScale = 0x0D14,
        ReferencePlaneEquationSGIX = 0x817E,
        ReferencePlaneSGIX = 0x817D,
        RenderbufferBinding = 0x8CA7,
        RenderMode = 0x0C40,
        RescaleNormalEXT = 0x803A,
        RgbaMode = 0x0C31,
        SamplerBinding = 0x8919,
        Samples = 0x80A9,
        SamplesSgis = 0x80A9,
        SampleAlphaToMaskSgis = 0x809E,
        SampleAlphaToOneSgis = 0x809F,
        SampleBuffers = 0x80A8,
        SampleBuffersSgis = 0x80A8,
        SampleCoverageInvert = 0x80AB,
        SampleCoverageValue = 0x80AA,
        SampleMaskInvertSgis = 0x80AB,
        SampleMaskSgis = 0x80A0,
        SampleMaskValueSgis = 0x80AA,
        SamplePatternSgis = 0x80AC,
        ScissorBox = 0x0C10,
        ScissorTest = 0x0C11,
        SelectionBufferSize = 0x0DF4,
        Separable2DEXT = 0x8012,
        ShaderCompiler = 0x8DFA,
        ShaderStorageBufferBinding = 0x90D3,
        ShaderStorageBufferOffsetAlignment = 0x90DF,
        ShaderStorageBufferSize = 0x90D5,
        ShaderStorageBufferStart = 0x90D4,
        ShadeModel = 0x0B54,
        SharedTexturePaletteEXT = 0x81FB,
        SmoothLineWidthGranularity = 0x0B23,
        SmoothLineWidthRange = 0x0B22,
        SmoothPointSizeGranularity = 0x0B13,
        SmoothPointSizeRange = 0x0B12,
        SpriteAxisSGIX = 0x814A,
        SpriteModeSGIX = 0x8149,
        SpriteSGIX = 0x8148,
        SpriteTranslationSGIX = 0x814B,
        StencilBackFail = 0x8801,
        StencilBackFunc = 0x8800,
        StencilBackPassDepthFail = 0x8802,
        StencilBackPassDepthPass = 0x8803,
        StencilBackRef = 0x8CA3,
        StencilBackValueMask = 0x8CA4,
        StencilBackWritemask = 0x8CA5,
        StencilBits = 0x0D57,
        StencilClearValue = 0x0B91,
        StencilFail = 0x0B94,
        StencilFunc = 0x0B92,
        StencilPassDepthFail = 0x0B95,
        StencilPassDepthPass = 0x0B96,
        StencilRef = 0x0B97,
        StencilTest = 0x0B90,
        StencilValueMask = 0x0B93,
        StencilWritemask = 0x0B98,
        Stereo = 0x0C33,
        SubpixelBits = 0x0D50,
        Texture1D = 0x0DE0,
        Texture2D = 0x0DE1,
        Texture3DBindingEXT = 0x806A,
        Texture3DEXT = 0x806F,
        Texture4dBindingSgis = 0x814F,
        Texture4dSgis = 0x8134,
        TextureBinding1D = 0x8068,
        TextureBinding1DArray = 0x8C1C,
        TextureBinding2D = 0x8069,
        TextureBinding2DArray = 0x8C1D,
        TextureBinding2DMultisample = 0x9104,
        TextureBinding2DMultisampleArray = 0x9105,
        TextureBinding3D = 0x806A,
        TextureBindingBuffer = 0x8C2C,
        TextureBindingCubeMap = 0x8514,
        TextureBindingRectangle = 0x84F6,
        TextureBufferOffsetAlignment = 0x919F,
        TextureColorTableSGI = 0x80BC,
        TextureCompressionHint = 0x84EF,
        TextureCoordArray = 0x8078,
        TextureCoordArrayCountEXT = 0x808B,
        TextureCoordArraySize = 0x8088,
        TextureCoordArrayStride = 0x808A,
        TextureCoordArrayType = 0x8089,
        TextureGenQ = 0x0C63,
        TextureGenR = 0x0C62,
        TextureGenS = 0x0C60,
        TextureGenT = 0x0C61,
        TextureMatrix = 0x0BA8,
        TextureStackDepth = 0x0BA5,
        Timestamp = 0x8E28,
        TransformFeedbackBufferBinding = 0x8C8F,
        TransformFeedbackBufferSize = 0x8C85,
        TransformFeedbackBufferStart = 0x8C84,
        UniformBufferBinding = 0x8A28,
        UniformBufferOffsetAlignment = 0x8A34,
        UniformBufferSize = 0x8A2A,
        UniformBufferStart = 0x8A29,
        UnpackAlignment = 0x0CF5,
        UnpackCmykHintEXT = 0x800F,
        UnpackImageDepthSgis = 0x8133,
        UnpackImageHeight = 0x806E,
        UnpackImageHeightEXT = 0x806E,
        UnpackLsbFirst = 0x0CF1,
        UnpackResampleSGIX = 0x842F,
        UnpackRowLength = 0x0CF2,
        UnpackSkipImages = 0x806D,
        UnpackSkipImagesEXT = 0x806D,
        UnpackSkipPixels = 0x0CF4,
        UnpackSkipRows = 0x0CF3,
        UnpackSkipVolumesSgis = 0x8132,
        UnpackSubsampleRateSGIX = 0x85A1,
        UnpackSwapBytes = 0x0CF0,
        VertexArray = 0x8074,
        VertexArrayBinding = 0x85B5,
        VertexArrayCountEXT = 0x807D,
        VertexArraySize = 0x807A,
        VertexArrayStride = 0x807C,
        VertexArrayType = 0x807B,
        VertexBindingDivisor = 0x82D6,
        VertexBindingOffset = 0x82D7,
        VertexBindingStride = 0x82D8,
        VertexPreclipHintSGIX = 0x83EF,
        VertexPreclipSGIX = 0x83EE,
        Viewport = 0x0BA2,
        ViewportBoundsRange = 0x825D,
        ViewportIndexProvokingVertex = 0x825F,
        ViewportSubpixelBits = 0x825C,
        ZoomX = 0x0D16,
        ZoomY = 0x0D17,
    }
    
    public enum GetPointervPName
    {
        ColorArrayPointer = 0x8090,
        ColorArrayPointerEXT = 0x8090,
        EdgeFlagArrayPointer = 0x8093,
        EdgeFlagArrayPointerEXT = 0x8093,
        FeedbackBufferPointer = 0x0DF0,
        IndexArrayPointer = 0x8091,
        IndexArrayPointerEXT = 0x8091,
        InstrumentBufferPointerSGIX = 0x8180,
        NormalArrayPointer = 0x808F,
        NormalArrayPointerEXT = 0x808F,
        SelectionBufferPointer = 0x0DF3,
        TextureCoordArrayPointer = 0x8092,
        TextureCoordArrayPointerEXT = 0x8092,
        VertexArrayPointer = 0x808E,
        VertexArrayPointerEXT = 0x808E,
        DebugCallbackFunction = 0x8244,
        DebugCallbackUserParam = 0x8245,
    }
    
    public enum GetTextureParameter
    {
        DetailTextureFuncPointsSgis = 0x809C,
        DetailTextureLevelSgis = 0x809A,
        DetailTextureModeSgis = 0x809B,
        DualTextureSelectSgis = 0x8124,
        GenerateMipmapSgis = 0x8191,
        PostTextureFilterBiasSGIX = 0x8179,
        PostTextureFilterScaleSGIX = 0x817A,
        QuadTextureSelectSgis = 0x8125,
        ShadowAmbientSGIX = 0x80BF,
        SharpenTextureFuncPointsSgis = 0x80B0,
        Texture4dsizeSgis = 0x8136,
        TextureAlphaSize = 0x805F,
        TextureBaseLevelSgis = 0x813C,
        TextureBlueSize = 0x805E,
        TextureBorder = 0x1005,
        TextureBorderColor = 0x1004,
        TextureBorderColorNV = 0x1004,
        TextureClipmapCenterSGIX = 0x8171,
        TextureClipmapDepthSGIX = 0x8176,
        TextureClipmapFrameSGIX = 0x8172,
        TextureClipmapLodOffsetSGIX = 0x8175,
        TextureClipmapOffsetSGIX = 0x8173,
        TextureClipmapVirtualDepthSGIX = 0x8174,
        TextureCompareOperatorSGIX = 0x819B,
        TextureCompareSGIX = 0x819A,
        TextureComponents = 0x1003,
        TextureDepthEXT = 0x8071,
        TextureFilter4SizeSgis = 0x8147,
        TextureGequalRSGIX = 0x819D,
        TextureGreenSize = 0x805D,
        TextureHeight = 0x1001,
        TextureIntensitySize = 0x8061,
        TextureInternalFormat = 0x1003,
        TextureLequalRSGIX = 0x819C,
        TextureLodBiasRSGIX = 0x8190,
        TextureLodBiasSSGIX = 0x818E,
        TextureLodBiasTSGIX = 0x818F,
        TextureLuminanceSize = 0x8060,
        TextureMagFilter = 0x2800,
        TextureMaxClampRSGIX = 0x836B,
        TextureMaxClampSSGIX = 0x8369,
        TextureMaxClampTSGIX = 0x836A,
        TextureMaxLevelSgis = 0x813D,
        TextureMaxLodSgis = 0x813B,
        TextureMinFilter = 0x2801,
        TextureMinLodSgis = 0x813A,
        TexturePriority = 0x8066,
        TextureRedSize = 0x805C,
        TextureResident = 0x8067,
        TextureWidth = 0x1000,
        TextureWrapQSgis = 0x8137,
        TextureWrapREXT = 0x8072,
        TextureWrapS = 0x2802,
        TextureWrapT = 0x2803,
    }
    
    public enum HintMode
    {
        DontCare = 0x1100,
        Fastest = 0x1101,
        Nicest = 0x1102,
    }
    
    public enum HintTarget
    {
        AllowDrawFrgHintPGI = 0x1A210,
        AllowDrawMemHintPGI = 0x1A211,
        AllowDrawObjHintPGI = 0x1A20E,
        AllowDrawWinHintPGI = 0x1A20F,
        AlwaysFastHintPGI = 0x1A20C,
        AlwaysSoftHintPGI = 0x1A20D,
        BackNormalsHintPGI = 0x1A223,
        BinningControlHintQCOM = 0x8FB0,
        ClipFarHintPGI = 0x1A221,
        ClipNearHintPGI = 0x1A220,
        ClipVolumeClippingHintEXT = 0x80F0,
        ConserveMemoryHintPGI = 0x1A1FD,
        ConvolutionHintSGIX = 0x8316,
        FogHint = 0x0C54,
        FragmentShaderDerivativeHint = 0x8B8B,
        FragmentShaderDerivativeHintARB = 0x8B8B,
        FragmentShaderDerivativeHintOES = 0x8B8B,
        FullStippleHintPGI = 0x1A219,
        GenerateMipmapHint = 0x8192,
        GenerateMipmapHintSgis = 0x8192,
        LineQualityHintSGIX = 0x835B,
        LineSmoothHint = 0x0C52,
        MaterialSideHintPGI = 0x1A22C,
        MaxVertexHintPGI = 0x1A22D,
        MultisampleFilterHintNV = 0x8534,
        NativeGraphicsBeginHintPGI = 0x1A203,
        NativeGraphicsEndHintPGI = 0x1A204,
        PackCmykHintEXT = 0x800E,
        PerspectiveCorrectionHint = 0x0C50,
        PhongHintWin = 0x80EB,
        PointSmoothHint = 0x0C51,
        PolygonSmoothHint = 0x0C53,
        PreferDoublebufferHintPGI = 0x1A1F8,
        ProgramBinaryRetrievableHint = 0x8257,
        ReclaimMemoryHintPGI = 0x1A1FE,
        ScalebiasHintSGIX = 0x8322,
        StrictDepthfuncHintPGI = 0x1A216,
        StrictLightingHintPGI = 0x1A217,
        StrictScissorHintPGI = 0x1A218,
        TextureCompressionHint = 0x84EF,
        TextureCompressionHintARB = 0x84EF,
        TextureMultiBufferHintSGIX = 0x812E,
        TextureStorageHintAPPLE = 0x85BC,
        TransformHintAPPLE = 0x85B1,
        UnpackCmykHintEXT = 0x800F,
        VertexArrayStorageHintAPPLE = 0x851F,
        VertexConsistentHintPGI = 0x1A22B,
        VertexDataHintPGI = 0x1A22A,
        VertexPreclipHintSGIX = 0x83EF,
        VertexPreclipSGIX = 0x83EE,
        WideLineHintPGI = 0x1A222,
    }
    
    public enum HistogramTargetEXT
    {
        Histogram = 0x8024,
        HistogramEXT = 0x8024,
        ProxyHistogram = 0x8025,
        ProxyHistogramEXT = 0x8025,
    }
    
    public enum IndexPointerType
    {
        Double = 0x140A,
        Float = 0x1406,
        Int = 0x1404,
        Short = 0x1402,
    }
    
    public enum InterleavedArrayFormat
    {
        C3fV3f = 0x2A24,
        C4fN3fV3f = 0x2A26,
        C4ubV2f = 0x2A22,
        C4ubV3f = 0x2A23,
        N3fV3f = 0x2A25,
        T2fC3fV3f = 0x2A2A,
        T2fC4fN3fV3f = 0x2A2C,
        T2fC4ubV3f = 0x2A29,
        T2fN3fV3f = 0x2A2B,
        T2fV3f = 0x2A27,
        T4fC4fN3fV4f = 0x2A2D,
        T4fV4f = 0x2A28,
        V2f = 0x2A20,
        V3f = 0x2A21,
    }
    
    public enum LightEnvModeSGIX
    {
        Add = 0x0104,
        Modulate = 0x2100,
        Replace = 0x1E01,
    }
    
    public enum LightEnvParameterSGIX
    {
        LightEnvModeSGIX = 0x8407,
    }
    
    public enum LightModelColorControl
    {
        SeparateSpecularColor = 0x81FA,
        SeparateSpecularColorEXT = 0x81FA,
        SingleColor = 0x81F9,
        SingleColorEXT = 0x81F9,
    }
    
    public enum LightModelParameter
    {
        LightModelAmbient = 0x0B53,
        LightModelColorControl = 0x81F8,
        LightModelColorControlEXT = 0x81F8,
        LightModelLocalViewer = 0x0B51,
        LightModelTwoSide = 0x0B52,
    }
    
    public enum LightName
    {
        FragmentLight0SGIX = 0x840C,
        FragmentLight1SGIX = 0x840D,
        FragmentLight2SGIX = 0x840E,
        FragmentLight3SGIX = 0x840F,
        FragmentLight4SGIX = 0x8410,
        FragmentLight5SGIX = 0x8411,
        FragmentLight6SGIX = 0x8412,
        FragmentLight7SGIX = 0x8413,
        Light0 = 0x4000,
        Light1 = 0x4001,
        Light2 = 0x4002,
        Light3 = 0x4003,
        Light4 = 0x4004,
        Light5 = 0x4005,
        Light6 = 0x4006,
        Light7 = 0x4007,
    }
    
    public enum LightParameter
    {
        Ambient = 0x1200,
        ConstantAttenuation = 0x1207,
        Diffuse = 0x1201,
        LinearAttenuation = 0x1208,
        Position = 0x1203,
        QuadraticAttenuation = 0x1209,
        Specular = 0x1202,
        SpotCutoff = 0x1206,
        SpotDirection = 0x1204,
        SpotExponent = 0x1205,
    }
    
    public enum ListMode
    {
        Compile = 0x1300,
        CompileAndExecute = 0x1301,
    }
    
    public enum ListNameType
    {
        Type2Bytes = 0x1407,
        Type3Bytes = 0x1408,
        Type4Bytes = 0x1409,
        Byte = 0x1400,
        Float = 0x1406,
        Int = 0x1404,
        Short = 0x1402,
        UnsignedByte = 0x1401,
        UnsignedInt = 0x1405,
        UnsignedShort = 0x1403,
    }
    
    public enum ListParameterName
    {
        ListPrioritySGIX = 0x8182,
    }
    
    public enum LogicOp
    {
        And = 0x1501,
        AndInverted = 0x1504,
        AndReverse = 0x1502,
        Clear = 0x1500,
        Copy = 0x1503,
        CopyInverted = 0x150C,
        Equiv = 0x1509,
        Invert = 0x150A,
        Nand = 0x150E,
        Noop = 0x1505,
        Nor = 0x1508,
        Or = 0x1507,
        OrInverted = 0x150D,
        OrReverse = 0x150B,
        Set = 0x150F,
        Xor = 0x1506,
    }
    
    public enum MapTarget
    {
        GeometryDeformationSGIX = 0x8194,
        Map1Color4 = 0x0D90,
        Map1Index = 0x0D91,
        Map1Normal = 0x0D92,
        Map1TextureCoord1 = 0x0D93,
        Map1TextureCoord2 = 0x0D94,
        Map1TextureCoord3 = 0x0D95,
        Map1TextureCoord4 = 0x0D96,
        Map1Vertex3 = 0x0D97,
        Map1Vertex4 = 0x0D98,
        Map2Color4 = 0x0DB0,
        Map2Index = 0x0DB1,
        Map2Normal = 0x0DB2,
        Map2TextureCoord1 = 0x0DB3,
        Map2TextureCoord2 = 0x0DB4,
        Map2TextureCoord3 = 0x0DB5,
        Map2TextureCoord4 = 0x0DB6,
        Map2Vertex3 = 0x0DB7,
        Map2Vertex4 = 0x0DB8,
        TextureDeformationSGIX = 0x8195,
    }
    
    public enum MaterialFace
    {
        Back = 0x0405,
        Front = 0x0404,
        FrontAndBack = 0x0408,
    }
    
    public enum MaterialParameter
    {
        Ambient = 0x1200,
        AmbientAndDiffuse = 0x1602,
        ColorIndexes = 0x1603,
        Diffuse = 0x1201,
        Emission = 0x1600,
        Shininess = 0x1601,
        Specular = 0x1202,
    }
    
    public enum MatrixMode
    {
        Modelview = 0x1700,
        Modelview0EXT = 0x1700,
        Projection = 0x1701,
        Texture = 0x1702,
    }
    
    public enum MemoryObjectParameterName
    {
        DedicatedMemoryObjectEXT = 0x9581,
        ProtectedMemoryObjectEXT = 0x959B,
    }
    
    public enum MeshMode1
    {
        Line = 0x1B01,
        Point = 0x1B00,
    }
    
    public enum MeshMode2
    {
        Fill = 0x1B02,
        Line = 0x1B01,
        Point = 0x1B00,
    }
    
    public enum MinmaxTargetEXT
    {
        Minmax = 0x802E,
        MinmaxEXT = 0x802E,
    }
    
    public enum NormalPointerType
    {
        Byte = 0x1400,
        Double = 0x140A,
        Float = 0x1406,
        Int = 0x1404,
        Short = 0x1402,
    }
    
    public enum PixelCopyType
    {
        Color = 0x1800,
        ColorEXT = 0x1800,
        Depth = 0x1801,
        DepthEXT = 0x1801,
        Stencil = 0x1802,
        StencilEXT = 0x1802,
    }
    
    public enum PixelFormat
    {
        AbgrEXT = 0x8000,
        Alpha = 0x1906,
        Bgr = 0x80E0,
        BgrInteger = 0x8D9A,
        Bgra = 0x80E1,
        BgraInteger = 0x8D9B,
        Blue = 0x1905,
        BlueInteger = 0x8D96,
        CmykaEXT = 0x800D,
        CmykEXT = 0x800C,
        ColorIndex = 0x1900,
        DepthComponent = 0x1902,
        DepthStencil = 0x84F9,
        Green = 0x1904,
        GreenInteger = 0x8D95,
        Luminance = 0x1909,
        LuminanceAlpha = 0x190A,
        Red = 0x1903,
        RedEXT = 0x1903,
        RedInteger = 0x8D94,
        Rg = 0x8227,
        RgInteger = 0x8228,
        Rgb = 0x1907,
        RgbInteger = 0x8D98,
        Rgba = 0x1908,
        RgbaInteger = 0x8D99,
        StencilIndex = 0x1901,
        UnsignedInt = 0x1405,
        UnsignedShort = 0x1403,
        Ycrcb422SGIX = 0x81BB,
        Ycrcb444SGIX = 0x81BC,
    }
    
    public enum InternalFormat
    {
        Alpha12 = 0x803D,
        Alpha16 = 0x803E,
        Alpha4 = 0x803B,
        Alpha8 = 0x803C,
        DualAlpha12Sgis = 0x8112,
        DualAlpha16Sgis = 0x8113,
        DualAlpha4Sgis = 0x8110,
        DualAlpha8Sgis = 0x8111,
        DualIntensity12Sgis = 0x811A,
        DualIntensity16Sgis = 0x811B,
        DualIntensity4Sgis = 0x8118,
        DualIntensity8Sgis = 0x8119,
        DualLuminance12Sgis = 0x8116,
        DualLuminance16Sgis = 0x8117,
        DualLuminance4Sgis = 0x8114,
        DualLuminance8Sgis = 0x8115,
        DualLuminanceAlpha4Sgis = 0x811C,
        DualLuminanceAlpha8Sgis = 0x811D,
        Intensity = 0x8049,
        Intensity12 = 0x804C,
        Intensity16 = 0x804D,
        Intensity4 = 0x804A,
        Intensity8 = 0x804B,
        Luminance12 = 0x8041,
        Luminance12Alpha12 = 0x8047,
        Luminance12Alpha4 = 0x8046,
        Luminance16 = 0x8042,
        Luminance16Alpha16 = 0x8048,
        Luminance4 = 0x803F,
        Luminance4Alpha4 = 0x8043,
        Luminance6Alpha2 = 0x8044,
        Luminance8 = 0x8040,
        Luminance8Alpha8 = 0x8045,
        QuadAlpha4Sgis = 0x811E,
        QuadAlpha8Sgis = 0x811F,
        QuadIntensity4Sgis = 0x8122,
        QuadIntensity8Sgis = 0x8123,
        QuadLuminance4Sgis = 0x8120,
        QuadLuminance8Sgis = 0x8121,
        Red = 0x1903,
        RedEXT = 0x1903,
        R8 = 0x8229,
        R8EXT = 0x8229,
        R8Snorm = 0x8F94,
        R16 = 0x822A,
        R16EXT = 0x822A,
        R16Snorm = 0x8F98,
        R16SnormEXT = 0x8F98,
        R16f = 0x822D,
        R16fEXT = 0x822D,
        R32f = 0x822E,
        R32fEXT = 0x822E,
        R8i = 0x8231,
        R16i = 0x8233,
        R32i = 0x8235,
        R8ui = 0x8232,
        R16ui = 0x8234,
        R32ui = 0x8236,
        Rg = 0x8227,
        Rg8 = 0x822B,
        Rg8EXT = 0x822B,
        Rg8Snorm = 0x8F95,
        Rg16 = 0x822C,
        Rg16EXT = 0x822C,
        Rg16Snorm = 0x8F99,
        Rg16SnormEXT = 0x8F99,
        Rg16f = 0x822F,
        Rg16fEXT = 0x822F,
        Rg32f = 0x8230,
        Rg32fEXT = 0x8230,
        Rg8i = 0x8237,
        Rg16i = 0x8239,
        Rg32i = 0x823B,
        Rg8ui = 0x8238,
        Rg16ui = 0x823A,
        Rg32ui = 0x823C,
        Rgb = 0x1907,
        Rgb2EXT = 0x804E,
        Rgb4 = 0x804F,
        Rgb4EXT = 0x804F,
        Rgb5 = 0x8050,
        Rgb5EXT = 0x8050,
        Rgb8 = 0x8051,
        Rgb8EXT = 0x8051,
        Rgb8OES = 0x8051,
        Rgb8Snorm = 0x8F96,
        Rgb10 = 0x8052,
        Rgb10EXT = 0x8052,
        Rgb12 = 0x8053,
        Rgb12EXT = 0x8053,
        Rgb16 = 0x8054,
        Rgb16EXT = 0x8054,
        Rgb16f = 0x881B,
        Rgb16fARB = 0x881B,
        Rgb16fEXT = 0x881B,
        Rgb16Snorm = 0x8F9A,
        Rgb16SnormEXT = 0x8F9A,
        Rgb8i = 0x8D8F,
        Rgb16i = 0x8D89,
        Rgb32i = 0x8D83,
        Rgb8ui = 0x8D7D,
        Rgb16ui = 0x8D77,
        Rgb32ui = 0x8D71,
        Srgb = 0x8C40,
        SrgbEXT = 0x8C40,
        SrgbAlpha = 0x8C42,
        SrgbAlphaEXT = 0x8C42,
        Srgb8 = 0x8C41,
        Srgb8EXT = 0x8C41,
        Srgb8NV = 0x8C41,
        Srgb8Alpha8 = 0x8C43,
        Srgb8Alpha8EXT = 0x8C43,
        R3G3B2 = 0x2A10,
        R11fG11fB10f = 0x8C3A,
        R11fG11fB10fAPPLE = 0x8C3A,
        R11fG11fB10fEXT = 0x8C3A,
        Rgb9E5 = 0x8C3D,
        Rgb9E5APPLE = 0x8C3D,
        Rgb9E5EXT = 0x8C3D,
        Rgba = 0x1908,
        Rgba4 = 0x8056,
        Rgba4EXT = 0x8056,
        Rgba4OES = 0x8056,
        Rgb5A1 = 0x8057,
        Rgb5A1EXT = 0x8057,
        Rgb5A1OES = 0x8057,
        Rgba8 = 0x8058,
        Rgba8EXT = 0x8058,
        Rgba8OES = 0x8058,
        Rgba8Snorm = 0x8F97,
        Rgb10A2 = 0x8059,
        Rgb10A2EXT = 0x8059,
        Rgba12 = 0x805A,
        Rgba12EXT = 0x805A,
        Rgba16 = 0x805B,
        Rgba16EXT = 0x805B,
        Rgba16f = 0x881A,
        Rgba16fARB = 0x881A,
        Rgba16fEXT = 0x881A,
        Rgba32f = 0x8814,
        Rgba32fARB = 0x8814,
        Rgba32fEXT = 0x8814,
        Rgba8i = 0x8D8E,
        Rgba16i = 0x8D88,
        Rgba32i = 0x8D82,
        Rgba8ui = 0x8D7C,
        Rgba16ui = 0x8D76,
        Rgba32ui = 0x8D70,
        Rgb10A2ui = 0x906F,
        DepthComponent = 0x1902,
        DepthComponent16 = 0x81A5,
        DepthComponent16ARB = 0x81A5,
        DepthComponent16OES = 0x81A5,
        DepthComponent16SGIX = 0x81A5,
        DepthComponent24ARB = 0x81A6,
        DepthComponent24OES = 0x81A6,
        DepthComponent24SGIX = 0x81A6,
        DepthComponent32ARB = 0x81A7,
        DepthComponent32OES = 0x81A7,
        DepthComponent32SGIX = 0x81A7,
        DepthComponent32f = 0x8CAC,
        DepthComponent32fNV = 0x8DAB,
        DepthStencil = 0x84F9,
        DepthStencilEXT = 0x84F9,
        DepthStencilMESA = 0x8750,
        DepthStencilNV = 0x84F9,
        DepthStencilOES = 0x84F9,
        Depth24Stencil8 = 0x88F0,
        Depth24Stencil8EXT = 0x88F0,
        Depth24Stencil8OES = 0x88F0,
        Depth32fStencil8 = 0x8CAD,
        Depth32fStencil8NV = 0x8DAC,
        CompressedRed = 0x8225,
        CompressedRg = 0x8226,
        CompressedRgb = 0x84ED,
        CompressedRgba = 0x84EE,
        CompressedSrgb = 0x8C48,
        CompressedSrgbAlpha = 0x8C49,
        CompressedRedRgtc1 = 0x8DBB,
        CompressedRedRgtc1EXT = 0x8DBB,
        CompressedSignedRedRgtc1 = 0x8DBC,
        CompressedSignedRedRgtc1EXT = 0x8DBC,
        CompressedR11Eac = 0x9270,
        CompressedSignedR11Eac = 0x9271,
        CompressedRgRgtc2 = 0x8DBD,
        CompressedSignedRgRgtc2 = 0x8DBE,
        CompressedRgbaBptcUnorm = 0x8E8C,
        CompressedSrgbAlphaBptcUnorm = 0x8E8D,
        CompressedRgbBptcSignedFloat = 0x8E8E,
        CompressedRgbBptcUnsignedFloat = 0x8E8F,
        CompressedRgb8Etc2 = 0x9274,
        CompressedSrgb8Etc2 = 0x9275,
        CompressedRgb8PunchthroughAlpha1Etc2 = 0x9276,
        CompressedSrgb8PunchthroughAlpha1Etc2 = 0x9277,
        CompressedRgba8Etc2Eac = 0x9278,
        CompressedSrgb8Alpha8Etc2Eac = 0x9279,
        CompressedRg11Eac = 0x9272,
        CompressedSignedRg11Eac = 0x9273,
        CompressedRgbS3tcDxt1EXT = 0x83F0,
        CompressedSrgbS3tcDxt1EXT = 0x8C4C,
        CompressedRgbaS3tcDxt1EXT = 0x83F1,
        CompressedSrgbAlphaS3tcDxt1EXT = 0x8C4D,
        CompressedRgbaS3tcDxt3EXT = 0x83F2,
        CompressedSrgbAlphaS3tcDxt3EXT = 0x8C4E,
        CompressedRgbaS3tcDxt5EXT = 0x83F3,
        CompressedSrgbAlphaS3tcDxt5EXT = 0x8C4F,
    }
    
    public enum PixelMap
    {
        PixelMapAToA = 0x0C79,
        PixelMapBToB = 0x0C78,
        PixelMapGToG = 0x0C77,
        PixelMapIToA = 0x0C75,
        PixelMapIToB = 0x0C74,
        PixelMapIToG = 0x0C73,
        PixelMapIToI = 0x0C70,
        PixelMapIToR = 0x0C72,
        PixelMapRToR = 0x0C76,
        PixelMapSToS = 0x0C71,
    }
    
    public enum PixelStoreParameter
    {
        PackAlignment = 0x0D05,
        PackImageDepthSgis = 0x8131,
        PackImageHeight = 0x806C,
        PackImageHeightEXT = 0x806C,
        PackLsbFirst = 0x0D01,
        PackResampleOML = 0x8984,
        PackResampleSGIX = 0x842E,
        PackRowLength = 0x0D02,
        PackSkipImages = 0x806B,
        PackSkipImagesEXT = 0x806B,
        PackSkipPixels = 0x0D04,
        PackSkipRows = 0x0D03,
        PackSkipVolumesSgis = 0x8130,
        PackSubsampleRateSGIX = 0x85A0,
        PackSwapBytes = 0x0D00,
        PixelTileCacheSizeSGIX = 0x8145,
        PixelTileGridDepthSGIX = 0x8144,
        PixelTileGridHeightSGIX = 0x8143,
        PixelTileGridWidthSGIX = 0x8142,
        PixelTileHeightSGIX = 0x8141,
        PixelTileWidthSGIX = 0x8140,
        UnpackAlignment = 0x0CF5,
        UnpackImageDepthSgis = 0x8133,
        UnpackImageHeight = 0x806E,
        UnpackImageHeightEXT = 0x806E,
        UnpackLsbFirst = 0x0CF1,
        UnpackResampleOML = 0x8985,
        UnpackResampleSGIX = 0x842F,
        UnpackRowLength = 0x0CF2,
        UnpackRowLengthEXT = 0x0CF2,
        UnpackSkipImages = 0x806D,
        UnpackSkipImagesEXT = 0x806D,
        UnpackSkipPixels = 0x0CF4,
        UnpackSkipPixelsEXT = 0x0CF4,
        UnpackSkipRows = 0x0CF3,
        UnpackSkipRowsEXT = 0x0CF3,
        UnpackSkipVolumesSgis = 0x8132,
        UnpackSubsampleRateSGIX = 0x85A1,
        UnpackSwapBytes = 0x0CF0,
    }
    
    public enum PixelStoreResampleMode
    {
        ResampleDecimateSGIX = 0x8430,
        ResampleReplicateSGIX = 0x8433,
        ResampleZeroFillSGIX = 0x8434,
    }
    
    public enum PixelStoreSubsampleRate
    {
        PixelSubsample2424SGIX = 0x85A3,
        PixelSubsample4242SGIX = 0x85A4,
        PixelSubsample4444SGIX = 0x85A2,
    }
    
    public enum PixelTexGenMode
    {
        Luminance = 0x1909,
        LuminanceAlpha = 0x190A,
        None = 0,
        PixelTexGenAlphaLsSGIX = 0x8189,
        PixelTexGenAlphaMSSGIX = 0x818A,
        PixelTexGenAlphaNoReplaceSGIX = 0x8188,
        PixelTexGenAlphaReplaceSGIX = 0x8187,
        Rgb = 0x1907,
        Rgba = 0x1908,
    }
    
    public enum PixelTexGenParameterNameSGIS
    {
        PixelFragmentAlphaSourceSgis = 0x8355,
        PixelFragmentRgbSourceSgis = 0x8354,
    }
    
    public enum PixelTransferParameter
    {
        AlphaBias = 0x0D1D,
        AlphaScale = 0x0D1C,
        BlueBias = 0x0D1B,
        BlueScale = 0x0D1A,
        DepthBias = 0x0D1F,
        DepthScale = 0x0D1E,
        GreenBias = 0x0D19,
        GreenScale = 0x0D18,
        IndexOffset = 0x0D13,
        IndexShift = 0x0D12,
        MapColor = 0x0D10,
        MapStencil = 0x0D11,
        PostColorMatrixAlphaBias = 0x80BB,
        PostColorMatrixAlphaBiasSGI = 0x80BB,
        PostColorMatrixAlphaScale = 0x80B7,
        PostColorMatrixAlphaScaleSGI = 0x80B7,
        PostColorMatrixBlueBias = 0x80BA,
        PostColorMatrixBlueBiasSGI = 0x80BA,
        PostColorMatrixBlueScale = 0x80B6,
        PostColorMatrixBlueScaleSGI = 0x80B6,
        PostColorMatrixGreenBias = 0x80B9,
        PostColorMatrixGreenBiasSGI = 0x80B9,
        PostColorMatrixGreenScale = 0x80B5,
        PostColorMatrixGreenScaleSGI = 0x80B5,
        PostColorMatrixRedBias = 0x80B8,
        PostColorMatrixRedBiasSGI = 0x80B8,
        PostColorMatrixRedScale = 0x80B4,
        PostColorMatrixRedScaleSGI = 0x80B4,
        PostConvolutionAlphaBias = 0x8023,
        PostConvolutionAlphaBiasEXT = 0x8023,
        PostConvolutionAlphaScale = 0x801F,
        PostConvolutionAlphaScaleEXT = 0x801F,
        PostConvolutionBlueBias = 0x8022,
        PostConvolutionBlueBiasEXT = 0x8022,
        PostConvolutionBlueScale = 0x801E,
        PostConvolutionBlueScaleEXT = 0x801E,
        PostConvolutionGreenBias = 0x8021,
        PostConvolutionGreenBiasEXT = 0x8021,
        PostConvolutionGreenScale = 0x801D,
        PostConvolutionGreenScaleEXT = 0x801D,
        PostConvolutionRedBias = 0x8020,
        PostConvolutionRedBiasEXT = 0x8020,
        PostConvolutionRedScale = 0x801C,
        PostConvolutionRedScaleEXT = 0x801C,
        RedBias = 0x0D15,
        RedScale = 0x0D14,
    }
    
    public enum PixelType
    {
        Bitmap = 0x1A00,
        Byte = 0x1400,
        Float = 0x1406,
        Int = 0x1404,
        Short = 0x1402,
        UnsignedByte = 0x1401,
        UnsignedByte332 = 0x8032,
        UnsignedByte332EXT = 0x8032,
        UnsignedInt = 0x1405,
        UnsignedInt1010102 = 0x8036,
        UnsignedInt1010102EXT = 0x8036,
        UnsignedInt8888 = 0x8035,
        UnsignedInt8888EXT = 0x8035,
        UnsignedShort = 0x1403,
        UnsignedShort4444 = 0x8033,
        UnsignedShort4444EXT = 0x8033,
        UnsignedShort5551 = 0x8034,
        UnsignedShort5551EXT = 0x8034,
    }
    
    public enum PointParameterNameSGIS
    {
        DistanceAttenuationEXT = 0x8129,
        DistanceAttenuationSgis = 0x8129,
        PointDistanceAttenuation = 0x8129,
        PointDistanceAttenuationARB = 0x8129,
        PointFadeThresholdSize = 0x8128,
        PointFadeThresholdSizeARB = 0x8128,
        PointFadeThresholdSizeEXT = 0x8128,
        PointFadeThresholdSizeSgis = 0x8128,
        PointSizeMax = 0x8127,
        PointSizeMaxARB = 0x8127,
        PointSizeMaxEXT = 0x8127,
        PointSizeMaxSgis = 0x8127,
        PointSizeMin = 0x8126,
        PointSizeMinARB = 0x8126,
        PointSizeMinEXT = 0x8126,
        PointSizeMinSgis = 0x8126,
    }
    
    public enum PolygonMode
    {
        Fill = 0x1B02,
        Line = 0x1B01,
        Point = 0x1B00,
    }
    
    public enum PrimitiveType
    {
        Lines = 0x0001,
        LinesAdjacency = 0x000A,
        LinesAdjacencyARB = 0x000A,
        LinesAdjacencyEXT = 0x000A,
        LineLoop = 0x0002,
        LineStrip = 0x0003,
        LineStripAdjacency = 0x000B,
        LineStripAdjacencyARB = 0x000B,
        LineStripAdjacencyEXT = 0x000B,
        Patches = 0x000E,
        PatchesEXT = 0x000E,
        Points = 0x0000,
        Polygon = 0x0009,
        Quads = 0x0007,
        QuadsEXT = 0x0007,
        QuadStrip = 0x0008,
        Triangles = 0x0004,
        TrianglesAdjacency = 0x000C,
        TrianglesAdjacencyARB = 0x000C,
        TrianglesAdjacencyEXT = 0x000C,
        TriangleFan = 0x0006,
        TriangleStrip = 0x0005,
        TriangleStripAdjacency = 0x000D,
        TriangleStripAdjacencyARB = 0x000D,
        TriangleStripAdjacencyEXT = 0x000D,
    }
    
    public enum ReadBufferMode
    {
        Aux0 = 0x0409,
        Aux1 = 0x040A,
        Aux2 = 0x040B,
        Aux3 = 0x040C,
        Back = 0x0405,
        BackLeft = 0x0402,
        BackRight = 0x0403,
        Front = 0x0404,
        FrontLeft = 0x0400,
        FrontRight = 0x0401,
        Left = 0x0406,
        Right = 0x0407,
    }
    
    public enum RenderingMode
    {
        Feedback = 0x1C01,
        Render = 0x1C00,
        Select = 0x1C02,
    }
    
    public enum SamplePatternSGIS
    {
        pattern1passEXT = 0x80A1,
        pattern1passSgis = 0x80A1,
        pattern2pass0EXT = 0x80A2,
        pattern2pass0Sgis = 0x80A2,
        pattern2pass1EXT = 0x80A3,
        pattern2pass1Sgis = 0x80A3,
        pattern4pass0EXT = 0x80A4,
        pattern4pass0Sgis = 0x80A4,
        pattern4pass1EXT = 0x80A5,
        pattern4pass1Sgis = 0x80A5,
        pattern4pass2EXT = 0x80A6,
        pattern4pass2Sgis = 0x80A6,
        pattern4pass3EXT = 0x80A7,
        pattern4pass3Sgis = 0x80A7,
    }
    
    public enum SemaphoreParameterName
    {
        D3d12FenceValueEXT = 0x9595,
    }
    
    public enum SeparableTargetEXT
    {
        Separable2D = 0x8012,
        Separable2DEXT = 0x8012,
    }
    
    public enum ShadingModel
    {
        Flat = 0x1D00,
        Smooth = 0x1D01,
    }
    
    public enum StencilFaceDirection
    {
        Front = 0x0404,
        Back = 0x0405,
        FrontAndBack = 0x0408,
    }
    
    public enum StencilFunction
    {
        Always = 0x0207,
        Equal = 0x0202,
        Gequal = 0x0206,
        Greater = 0x0204,
        Lequal = 0x0203,
        Less = 0x0201,
        Never = 0x0200,
        Notequal = 0x0205,
    }
    
    public enum StencilOp
    {
        Decr = 0x1E03,
        DecrWrap = 0x8508,
        Incr = 0x1E02,
        IncrWrap = 0x8507,
        Invert = 0x150A,
        Keep = 0x1E00,
        Replace = 0x1E01,
        Zero = 0,
    }
    
    public enum StringName
    {
        Extensions = 0x1F03,
        Renderer = 0x1F01,
        Vendor = 0x1F00,
        Version = 0x1F02,
        ShadingLanguageVersion = 0x8B8C,
    }
    
    public enum TexCoordPointerType
    {
        Double = 0x140A,
        Float = 0x1406,
        Int = 0x1404,
        Short = 0x1402,
    }
    
    public enum TextureCoordName
    {
        S = 0x2000,
        T = 0x2001,
        R = 0x2002,
        Q = 0x2003,
    }
    
    public enum TextureEnvMode
    {
        Add = 0x0104,
        Blend = 0x0BE2,
        Decal = 0x2101,
        Modulate = 0x2100,
        ReplaceEXT = 0x8062,
        TextureEnvBiasSGIX = 0x80BE,
    }
    
    public enum TextureEnvParameter
    {
        TextureEnvColor = 0x2201,
        TextureEnvMode = 0x2200,
    }
    
    public enum TextureEnvTarget
    {
        TextureEnv = 0x2300,
    }
    
    public enum TextureFilterFuncSGIS
    {
        Filter4Sgis = 0x8146,
    }
    
    public enum TextureGenMode
    {
        EyeDistanceToLineSgis = 0x81F2,
        EyeDistanceToPointSgis = 0x81F0,
        EyeLinear = 0x2400,
        ObjectDistanceToLineSgis = 0x81F3,
        ObjectDistanceToPointSgis = 0x81F1,
        ObjectLinear = 0x2401,
        SphereMap = 0x2402,
    }
    
    public enum TextureGenParameter
    {
        EyeLineSgis = 0x81F6,
        EyePlane = 0x2502,
        EyePointSgis = 0x81F4,
        ObjectLineSgis = 0x81F7,
        ObjectPlane = 0x2501,
        ObjectPointSgis = 0x81F5,
        TextureGenMode = 0x2500,
    }
    
    public enum TextureMagFilter
    {
        Filter4Sgis = 0x8146,
        Linear = 0x2601,
        LinearDetailAlphaSgis = 0x8098,
        LinearDetailColorSgis = 0x8099,
        LinearDetailSgis = 0x8097,
        LinearSharpenAlphaSgis = 0x80AE,
        LinearSharpenColorSgis = 0x80AF,
        LinearSharpenSgis = 0x80AD,
        Nearest = 0x2600,
        PixelTexGenQCeilingSGIX = 0x8184,
        PixelTexGenQFloorSGIX = 0x8186,
        PixelTexGenQRoundSGIX = 0x8185,
    }
    
    public enum TextureMinFilter
    {
        Filter4Sgis = 0x8146,
        Linear = 0x2601,
        LinearClipmapLinearSGIX = 0x8170,
        LinearClipmapNearestSGIX = 0x844F,
        LinearMipmapLinear = 0x2703,
        LinearMipmapNearest = 0x2701,
        Nearest = 0x2600,
        NearestClipmapLinearSGIX = 0x844E,
        NearestClipmapNearestSGIX = 0x844D,
        NearestMipmapLinear = 0x2702,
        NearestMipmapNearest = 0x2700,
        PixelTexGenQCeilingSGIX = 0x8184,
        PixelTexGenQFloorSGIX = 0x8186,
        PixelTexGenQRoundSGIX = 0x8185,
    }
    
    public enum TextureParameterName
    {
        DetailTextureLevelSgis = 0x809A,
        DetailTextureModeSgis = 0x809B,
        DualTextureSelectSgis = 0x8124,
        GenerateMipmap = 0x8191,
        GenerateMipmapSgis = 0x8191,
        PostTextureFilterBiasSGIX = 0x8179,
        PostTextureFilterScaleSGIX = 0x817A,
        QuadTextureSelectSgis = 0x8125,
        ShadowAmbientSGIX = 0x80BF,
        TextureBorderColor = 0x1004,
        TextureClipmapCenterSGIX = 0x8171,
        TextureClipmapDepthSGIX = 0x8176,
        TextureClipmapFrameSGIX = 0x8172,
        TextureClipmapLodOffsetSGIX = 0x8175,
        TextureClipmapOffsetSGIX = 0x8173,
        TextureClipmapVirtualDepthSGIX = 0x8174,
        TextureCompareSGIX = 0x819A,
        TextureLodBiasRSGIX = 0x8190,
        TextureLodBiasSSGIX = 0x818E,
        TextureLodBiasTSGIX = 0x818F,
        TextureMagFilter = 0x2800,
        TextureMaxClampRSGIX = 0x836B,
        TextureMaxClampSSGIX = 0x8369,
        TextureMaxClampTSGIX = 0x836A,
        TextureMinFilter = 0x2801,
        TexturePriority = 0x8066,
        TexturePriorityEXT = 0x8066,
        TextureWrapQSgis = 0x8137,
        TextureWrapR = 0x8072,
        TextureWrapREXT = 0x8072,
        TextureWrapROES = 0x8072,
        TextureWrapS = 0x2802,
        TextureWrapT = 0x2803,
        TextureBaseLevel = 0x813C,
        TextureCompareMode = 0x884C,
        TextureCompareFunc = 0x884D,
        TextureLodBias = 0x8501,
        TextureMinLod = 0x813A,
        TextureMaxLod = 0x813B,
        TextureMaxLevel = 0x813D,
        TextureSwizzleR = 0x8E42,
        TextureSwizzleG = 0x8E43,
        TextureSwizzleB = 0x8E44,
        TextureSwizzleA = 0x8E45,
        TextureSwizzleRgba = 0x8E46,
        TextureTilingEXT = 0x9580,
        DepthStencilTextureMode = 0x90EA,
        DetailTextureFuncPointsSgis = 0x809C,
        SharpenTextureFuncPointsSgis = 0x80B0,
        Texture4dsizeSgis = 0x8136,
        TextureAlphaSize = 0x805F,
        TextureBaseLevelSgis = 0x813C,
        TextureBlueSize = 0x805E,
        TextureBorder = 0x1005,
        TextureBorderColorNV = 0x1004,
        TextureCompareOperatorSGIX = 0x819B,
        TextureComponents = 0x1003,
        TextureDepthEXT = 0x8071,
        TextureFilter4SizeSgis = 0x8147,
        TextureGequalRSGIX = 0x819D,
        TextureGreenSize = 0x805D,
        TextureHeight = 0x1001,
        TextureIntensitySize = 0x8061,
        TextureInternalFormat = 0x1003,
        TextureLequalRSGIX = 0x819C,
        TextureLuminanceSize = 0x8060,
        TextureMaxLevelSgis = 0x813D,
        TextureMaxLodSgis = 0x813B,
        TextureMinLodSgis = 0x813A,
        TextureRedSize = 0x805C,
        TextureResident = 0x8067,
        TextureWidth = 0x1000,
    }
    
    public enum TextureTarget
    {
        DetailTexture2DSgis = 0x8095,
        ProxyTexture1D = 0x8063,
        ProxyTexture1DArray = 0x8C19,
        ProxyTexture1DArrayEXT = 0x8C19,
        ProxyTexture1DEXT = 0x8063,
        ProxyTexture2D = 0x8064,
        ProxyTexture2DArray = 0x8C1B,
        ProxyTexture2DArrayEXT = 0x8C1B,
        ProxyTexture2DEXT = 0x8064,
        ProxyTexture2DMultisample = 0x9101,
        ProxyTexture2DMultisampleArray = 0x9103,
        ProxyTexture3D = 0x8070,
        ProxyTexture3DEXT = 0x8070,
        ProxyTexture4dSgis = 0x8135,
        ProxyTextureCubeMap = 0x851B,
        ProxyTextureCubeMapARB = 0x851B,
        ProxyTextureCubeMapEXT = 0x851B,
        ProxyTextureCubeMapArray = 0x900B,
        ProxyTextureCubeMapArrayARB = 0x900B,
        ProxyTextureRectangle = 0x84F7,
        ProxyTextureRectangleARB = 0x84F7,
        ProxyTextureRectangleNV = 0x84F7,
        Texture1D = 0x0DE0,
        Texture2D = 0x0DE1,
        Texture3D = 0x806F,
        Texture3DEXT = 0x806F,
        Texture3DOES = 0x806F,
        Texture4dSgis = 0x8134,
        TextureRectangle = 0x84F5,
        TextureCubeMap = 0x8513,
        TextureCubeMapPositiveX = 0x8515,
        TextureCubeMapNegativeX = 0x8516,
        TextureCubeMapPositiveY = 0x8517,
        TextureCubeMapNegativeY = 0x8518,
        TextureCubeMapPositiveZ = 0x8519,
        TextureCubeMapNegativeZ = 0x851A,
        TextureCubeMapArray = 0x9009,
        TextureCubeMapArrayARB = 0x9009,
        TextureCubeMapArrayEXT = 0x9009,
        TextureCubeMapArrayOES = 0x9009,
        Texture1DArray = 0x8C18,
        Texture2DArray = 0x8C1A,
        Texture2DMultisample = 0x9100,
        Texture2DMultisampleArray = 0x9102,
    }
    
    public enum TextureWrapMode
    {
        Clamp = 0x2900,
        ClampToBorder = 0x812D,
        ClampToBorderARB = 0x812D,
        ClampToBorderNV = 0x812D,
        ClampToBorderSgis = 0x812D,
        ClampToEdge = 0x812F,
        ClampToEdgeSgis = 0x812F,
        Repeat = 0x2901,
    }
    
    public enum VertexPointerType
    {
        Double = 0x140A,
        Float = 0x1406,
        Int = 0x1404,
        Short = 0x1402,
    }
    
    public enum FramebufferAttachment
    {
        MaxColorAttachments = 0x8CDF,
        MaxColorAttachmentsEXT = 0x8CDF,
        MaxColorAttachmentsNV = 0x8CDF,
        ColorAttachment0 = 0x8CE0,
        ColorAttachment0EXT = 0x8CE0,
        ColorAttachment0NV = 0x8CE0,
        ColorAttachment0OES = 0x8CE0,
        ColorAttachment1 = 0x8CE1,
        ColorAttachment1EXT = 0x8CE1,
        ColorAttachment1NV = 0x8CE1,
        ColorAttachment2 = 0x8CE2,
        ColorAttachment2EXT = 0x8CE2,
        ColorAttachment2NV = 0x8CE2,
        ColorAttachment3 = 0x8CE3,
        ColorAttachment3EXT = 0x8CE3,
        ColorAttachment3NV = 0x8CE3,
        ColorAttachment4 = 0x8CE4,
        ColorAttachment4EXT = 0x8CE4,
        ColorAttachment4NV = 0x8CE4,
        ColorAttachment5 = 0x8CE5,
        ColorAttachment5EXT = 0x8CE5,
        ColorAttachment5NV = 0x8CE5,
        ColorAttachment6 = 0x8CE6,
        ColorAttachment6EXT = 0x8CE6,
        ColorAttachment6NV = 0x8CE6,
        ColorAttachment7 = 0x8CE7,
        ColorAttachment7EXT = 0x8CE7,
        ColorAttachment7NV = 0x8CE7,
        ColorAttachment8 = 0x8CE8,
        ColorAttachment8EXT = 0x8CE8,
        ColorAttachment8NV = 0x8CE8,
        ColorAttachment9 = 0x8CE9,
        ColorAttachment9EXT = 0x8CE9,
        ColorAttachment9NV = 0x8CE9,
        ColorAttachment10 = 0x8CEA,
        ColorAttachment10EXT = 0x8CEA,
        ColorAttachment10NV = 0x8CEA,
        ColorAttachment11 = 0x8CEB,
        ColorAttachment11EXT = 0x8CEB,
        ColorAttachment11NV = 0x8CEB,
        ColorAttachment12 = 0x8CEC,
        ColorAttachment12EXT = 0x8CEC,
        ColorAttachment12NV = 0x8CEC,
        ColorAttachment13 = 0x8CED,
        ColorAttachment13EXT = 0x8CED,
        ColorAttachment13NV = 0x8CED,
        ColorAttachment14 = 0x8CEE,
        ColorAttachment14EXT = 0x8CEE,
        ColorAttachment14NV = 0x8CEE,
        ColorAttachment15 = 0x8CEF,
        ColorAttachment15EXT = 0x8CEF,
        ColorAttachment15NV = 0x8CEF,
        ColorAttachment16 = 0x8CF0,
        ColorAttachment17 = 0x8CF1,
        ColorAttachment18 = 0x8CF2,
        ColorAttachment19 = 0x8CF3,
        ColorAttachment20 = 0x8CF4,
        ColorAttachment21 = 0x8CF5,
        ColorAttachment22 = 0x8CF6,
        ColorAttachment23 = 0x8CF7,
        ColorAttachment24 = 0x8CF8,
        ColorAttachment25 = 0x8CF9,
        ColorAttachment26 = 0x8CFA,
        ColorAttachment27 = 0x8CFB,
        ColorAttachment28 = 0x8CFC,
        ColorAttachment29 = 0x8CFD,
        ColorAttachment30 = 0x8CFE,
        ColorAttachment31 = 0x8CFF,
        DepthAttachment = 0x8D00,
        DepthStencilAttachment = 0x821A,
        DepthAttachmentEXT = 0x8D00,
        DepthAttachmentOES = 0x8D00,
    }
    
    public enum RenderbufferTarget
    {
        Renderbuffer = 0x8D41,
    }
    
    public enum FramebufferTarget
    {
        Framebuffer = 0x8D40,
        DrawFramebuffer = 0x8CA9,
        ReadFramebuffer = 0x8CA8,
    }
    
    public enum TextureUnit
    {
        Texture0 = 0x84C0,
        Texture1 = 0x84C1,
        Texture2 = 0x84C2,
        Texture3 = 0x84C3,
        Texture4 = 0x84C4,
        Texture5 = 0x84C5,
        Texture6 = 0x84C6,
        Texture7 = 0x84C7,
        Texture8 = 0x84C8,
        Texture9 = 0x84C9,
        Texture10 = 0x84CA,
        Texture11 = 0x84CB,
        Texture12 = 0x84CC,
        Texture13 = 0x84CD,
        Texture14 = 0x84CE,
        Texture15 = 0x84CF,
        Texture16 = 0x84D0,
        Texture17 = 0x84D1,
        Texture18 = 0x84D2,
        Texture19 = 0x84D3,
        Texture20 = 0x84D4,
        Texture21 = 0x84D5,
        Texture22 = 0x84D6,
        Texture23 = 0x84D7,
        Texture24 = 0x84D8,
        Texture25 = 0x84D9,
        Texture26 = 0x84DA,
        Texture27 = 0x84DB,
        Texture28 = 0x84DC,
        Texture29 = 0x84DD,
        Texture30 = 0x84DE,
        Texture31 = 0x84DF,
    }
    
    public enum TypeEnum
    {
        QueryWait = 0x8E13,
        QueryNoWait = 0x8E14,
        QueryByRegionWait = 0x8E15,
        QueryByRegionNoWait = 0x8E16,
    }
    
    public enum FragmentOpATI
    {
        MovATI = 0x8961,
        AddATI = 0x8963,
        MulATI = 0x8964,
        SubATI = 0x8965,
        Dot3ATI = 0x8966,
        Dot4ATI = 0x8967,
        MadATI = 0x8968,
        LerpATI = 0x8969,
        CndATI = 0x896A,
        Cnd0ATI = 0x896B,
        Dot2AddATI = 0x896C,
    }
    
    public enum FramebufferStatus
    {
        FramebufferComplete = 0x8CD5,
        FramebufferUndefined = 0x8219,
        FramebufferIncompleteAttachment = 0x8CD6,
        FramebufferIncompleteMissingAttachment = 0x8CD7,
        FramebufferIncompleteDrawBuffer = 0x8CDB,
        FramebufferIncompleteReadBuffer = 0x8CDC,
        FramebufferUnsupported = 0x8CDD,
        FramebufferIncompleteMultisample = 0x8D56,
        FramebufferIncompleteLayerTargets = 0x8DA8,
    }
    
    public enum GraphicsResetStatus
    {
        NoError = 0,
        GuiltyContextReset = 0x8253,
        InnocentContextReset = 0x8254,
        UnknownContextReset = 0x8255,
    }
    
    public enum SyncStatus
    {
        AlreadySignaled = 0x911A,
        TimeoutExpired = 0x911B,
        ConditionSatisfied = 0x911C,
        WaitFailed = 0x911D,
    }
    
    public enum QueryTarget
    {
        SamplesPassed = 0x8914,
        AnySamplesPassed = 0x8C2F,
        AnySamplesPassedConservative = 0x8D6A,
        PrimitivesGenerated = 0x8C87,
        TransformFeedbackPrimitivesWritten = 0x8C88,
        TimeElapsed = 0x88BF,
    }
    
    public enum QueryCounterTarget
    {
        Timestamp = 0x8E28,
    }
    
    public enum ConvolutionTarget
    {
        Convolution1D = 0x8010,
        Convolution2D = 0x8011,
    }
    
    public enum PathFillMode
    {
        Invert = 0x150A,
        CountUpNV = 0x9088,
        CountDownNV = 0x9089,
        PathFillModeNV = 0x9080,
    }
    
    public enum ColorTableTarget
    {
        ColorTable = 0x80D0,
        PostConvolutionColorTable = 0x80D1,
        PostColorMatrixColorTable = 0x80D2,
    }
    
    public enum VertexBufferObjectParameter
    {
        BufferAccess = 0x88BB,
        BufferAccessFlags = 0x911F,
        BufferImmutableStorage = 0x821F,
        BufferMapped = 0x88BC,
        BufferMapLength = 0x9120,
        BufferMapOffset = 0x9121,
        BufferSize = 0x8764,
        BufferStorageFlags = 0x8220,
        BufferUsage = 0x8765,
    }
    
    public enum RenderbufferParameterName
    {
        RenderbufferWidth = 0x8D42,
        RenderbufferHeight = 0x8D43,
        RenderbufferInternalFormat = 0x8D44,
        RenderbufferSamples = 0x8CAB,
        RenderbufferRedSize = 0x8D50,
        RenderbufferGreenSize = 0x8D51,
        RenderbufferBlueSize = 0x8D52,
        RenderbufferAlphaSize = 0x8D53,
        RenderbufferDepthSize = 0x8D54,
        RenderbufferStencilSize = 0x8D55,
    }
    
    public enum VertexBufferObjectUsage
    {
        StreamDraw = 0x88E0,
        StreamRead = 0x88E1,
        StreamCopy = 0x88E2,
        StaticDraw = 0x88E4,
        StaticRead = 0x88E5,
        StaticCopy = 0x88E6,
        DynamicDraw = 0x88E8,
        DynamicRead = 0x88E9,
        DynamicCopy = 0x88EA,
    }
    
    public enum FramebufferParameterName
    {
        FramebufferDefaultWidth = 0x9310,
        FramebufferDefaultHeight = 0x9311,
        FramebufferDefaultLayers = 0x9312,
        FramebufferDefaultSamples = 0x9313,
        FramebufferDefaultFixedSampleLocations = 0x9314,
    }
    
    public enum ProgramParameterPName
    {
        ProgramBinaryRetrievableHint = 0x8257,
        ProgramSeparable = 0x8258,
    }
    
    public enum BlendingFactor
    {
        Zero = 0,
        One = 1,
        SrcColor = 0x0300,
        OneMinusSrcColor = 0x0301,
        DstColor = 0x0306,
        OneMinusDstColor = 0x0307,
        SrcAlpha = 0x0302,
        OneMinusSrcAlpha = 0x0303,
        DstAlpha = 0x0304,
        OneMinusDstAlpha = 0x0305,
        ConstantColor = 0x8001,
        OneMinusConstantColor = 0x8002,
        ConstantAlpha = 0x8003,
        OneMinusConstantAlpha = 0x8004,
        SrcAlphaSaturate = 0x0308,
        Src1Color = 0x88F9,
        OneMinusSrc1Color = 0x88FA,
        Src1Alpha = 0x8589,
        OneMinusSrc1Alpha = 0x88FB,
    }
    
    public enum BindTransformFeedbackTarget
    {
        TransformFeedback = 0x8E22,
    }
    
    public enum BlitFramebufferFilter
    {
        Nearest = 0x2600,
        Linear = 0x2601,
    }
    
    public enum BufferStorageTarget
    {
        ArrayBuffer = 0x8892,
        AtomicCounterBuffer = 0x92C0,
        CopyReadBuffer = 0x8F36,
        CopyWriteBuffer = 0x8F37,
        DispatchIndirectBuffer = 0x90EE,
        DrawIndirectBuffer = 0x8F3F,
        ElementArrayBuffer = 0x8893,
        PixelPackBuffer = 0x88EB,
        PixelUnpackBuffer = 0x88EC,
        QueryBuffer = 0x9192,
        ShaderStorageBuffer = 0x90D2,
        TextureBuffer = 0x8C2A,
        TransformFeedbackBuffer = 0x8C8E,
        UniformBuffer = 0x8A11,
    }
    
    public enum CheckFramebufferStatusTarget
    {
        DrawFramebuffer = 0x8CA9,
        ReadFramebuffer = 0x8CA8,
        Framebuffer = 0x8D40,
    }
    
    public enum Buffer
    {
        Color = 0x1800,
        Depth = 0x1801,
        Stencil = 0x1802,
    }
    
    public enum ClipControlOrigin
    {
        LowerLeft = 0x8CA1,
        UpperLeft = 0x8CA2,
    }
    
    public enum ClipControlDepth
    {
        NegativeOneToOne = 0x935E,
        ZeroToOne = 0x935F,
    }
    
    public enum CopyBufferSubDataTarget
    {
        ArrayBuffer = 0x8892,
        AtomicCounterBuffer = 0x92C0,
        CopyReadBuffer = 0x8F36,
        CopyWriteBuffer = 0x8F37,
        DispatchIndirectBuffer = 0x90EE,
        DrawIndirectBuffer = 0x8F3F,
        ElementArrayBuffer = 0x8893,
        PixelPackBuffer = 0x88EB,
        PixelUnpackBuffer = 0x88EC,
        QueryBuffer = 0x9192,
        ShaderStorageBuffer = 0x90D2,
        TextureBuffer = 0x8C2A,
        TransformFeedbackBuffer = 0x8C8E,
        UniformBuffer = 0x8A11,
    }
    
    public enum DebugSource
    {
        DebugSourceApi = 0x8246,
        DebugSourceWindowSystem = 0x8247,
        DebugSourceShaderCompiler = 0x8248,
        DebugSourceThirdParty = 0x8249,
        DebugSourceApplication = 0x824A,
        DebugSourceOther = 0x824B,
        DontCare = 0x1100,
    }
    
    public enum DebugType
    {
        DebugTypeError = 0x824C,
        DebugTypeDeprecatedBehavior = 0x824D,
        DebugTypeUndefinedBehavior = 0x824E,
        DebugTypePortability = 0x824F,
        DebugTypePerformance = 0x8250,
        DebugTypeMarker = 0x8268,
        DebugTypePushGroup = 0x8269,
        DebugTypePopGroup = 0x826A,
        DebugTypeOther = 0x8251,
        DontCare = 0x1100,
    }
    
    public enum DebugSeverity
    {
        DebugSeverityLow = 0x9148,
        DebugSeverityMedium = 0x9147,
        DebugSeverityHigh = 0x9146,
        DebugSeverityNotification = 0x826B,
        DontCare = 0x1100,
    }
    
    public enum SyncCondition
    {
        SyncGpuCommandsComplete = 0x9117,
    }
    
    public enum FogPName
    {
        FogMode = 0x0B65,
        FogDensity = 0x0B62,
        FogStart = 0x0B63,
        FogEnd = 0x0B64,
        FogIndex = 0x0B61,
        FogCoordSrc = 0x8450,
    }
    
    public enum AtomicCounterBufferPName
    {
        AtomicCounterBufferBinding = 0x92C1,
        AtomicCounterBufferDataSize = 0x92C4,
        AtomicCounterBufferActiveAtomicCounters = 0x92C5,
        AtomicCounterBufferActiveAtomicCounterIndices = 0x92C6,
        AtomicCounterBufferReferencedByVertexShader = 0x92C7,
        AtomicCounterBufferReferencedByTessControlShader = 0x92C8,
        AtomicCounterBufferReferencedByTessEvaluationShader = 0x92C9,
        AtomicCounterBufferReferencedByGeometryShader = 0x92CA,
        AtomicCounterBufferReferencedByFragmentShader = 0x92CB,
        AtomicCounterBufferReferencedByComputeShader = 0x90ED,
    }
    
    public enum UniformBlockPName
    {
        UniformBlockBinding = 0x8A3F,
        UniformBlockDataSize = 0x8A40,
        UniformBlockNameLength = 0x8A41,
        UniformBlockActiveUniforms = 0x8A42,
        UniformBlockActiveUniformIndices = 0x8A43,
        UniformBlockReferencedByVertexShader = 0x8A44,
        UniformBlockReferencedByTessControlShader = 0x84F0,
        UniformBlockReferencedByTessEvaluationShader = 0x84F1,
        UniformBlockReferencedByGeometryShader = 0x8A45,
        UniformBlockReferencedByFragmentShader = 0x8A46,
        UniformBlockReferencedByComputeShader = 0x90EC,
    }
    
    public enum UniformPName
    {
        UniformType = 0x8A37,
        UniformSize = 0x8A38,
        UniformNameLength = 0x8A39,
        UniformBlockIndex = 0x8A3A,
        UniformOffset = 0x8A3B,
        UniformArrayStride = 0x8A3C,
        UniformMatrixStride = 0x8A3D,
        UniformIsRowMajor = 0x8A3E,
        UniformAtomicCounterBufferIndex = 0x92DA,
    }
    
    public enum SamplerParameterName
    {
        TextureWrapS = 0x2802,
        TextureWrapT = 0x2803,
        TextureWrapR = 0x8072,
        TextureMinFilter = 0x2801,
        TextureMagFilter = 0x2800,
        TextureBorderColor = 0x1004,
        TextureMinLod = 0x813A,
        TextureMaxLod = 0x813B,
        TextureCompareMode = 0x884C,
        TextureCompareFunc = 0x884D,
    }
    
    public enum VertexProvokingMode
    {
        FirstVertexConvention = 0x8E4D,
        LastVertexConvention = 0x8E4E,
    }
    
    public enum PatchParameterName
    {
        PatchVertices = 0x8E72,
        PatchDefaultOuterLevel = 0x8E74,
        PatchDefaultInnerLevel = 0x8E73,
    }
    
    public enum ObjectIdentifier
    {
        Buffer = 0x82E0,
        Shader = 0x82E1,
        Program = 0x82E2,
        VertexArray = 0x8074,
        Query = 0x82E3,
        ProgramPipeline = 0x82E4,
        TransformFeedback = 0x8E22,
        Sampler = 0x82E6,
        Texture = 0x1702,
        Renderbuffer = 0x8D41,
        Framebuffer = 0x8D40,
    }
    
    public enum ColorBuffer
    {
        None = 0,
        FrontLeft = 0x0400,
        FrontRight = 0x0401,
        BackLeft = 0x0402,
        BackRight = 0x0403,
        Front = 0x0404,
        Back = 0x0405,
        Left = 0x0406,
        Right = 0x0407,
        FrontAndBack = 0x0408,
        ColorAttachment0 = 0x8CE0,
        ColorAttachment1 = 0x8CE1,
        ColorAttachment2 = 0x8CE2,
        ColorAttachment3 = 0x8CE3,
        ColorAttachment4 = 0x8CE4,
        ColorAttachment5 = 0x8CE5,
        ColorAttachment6 = 0x8CE6,
        ColorAttachment7 = 0x8CE7,
        ColorAttachment8 = 0x8CE8,
        ColorAttachment9 = 0x8CE9,
        ColorAttachment10 = 0x8CEA,
        ColorAttachment11 = 0x8CEB,
        ColorAttachment12 = 0x8CEC,
        ColorAttachment13 = 0x8CED,
        ColorAttachment14 = 0x8CEE,
        ColorAttachment15 = 0x8CEF,
        ColorAttachment16 = 0x8CF0,
        ColorAttachment17 = 0x8CF1,
        ColorAttachment18 = 0x8CF2,
        ColorAttachment19 = 0x8CF3,
        ColorAttachment20 = 0x8CF4,
        ColorAttachment21 = 0x8CF5,
        ColorAttachment22 = 0x8CF6,
        ColorAttachment23 = 0x8CF7,
        ColorAttachment24 = 0x8CF8,
        ColorAttachment25 = 0x8CF9,
        ColorAttachment26 = 0x8CFA,
        ColorAttachment27 = 0x8CFB,
        ColorAttachment28 = 0x8CFC,
        ColorAttachment29 = 0x8CFD,
        ColorAttachment30 = 0x8CFE,
        ColorAttachment31 = 0x8CFF,
    }
    
    public enum MapQuery
    {
        Coeff = 0x0A00,
        Order = 0x0A01,
        Domain = 0x0A02,
    }
    
    public enum VertexArrayPName
    {
        VertexAttribArrayEnabled = 0x8622,
        VertexAttribArraySize = 0x8623,
        VertexAttribArrayStride = 0x8624,
        VertexAttribArrayType = 0x8625,
        VertexAttribArrayNormalized = 0x886A,
        VertexAttribArrayInteger = 0x88FD,
        VertexAttribArrayLong = 0x874E,
        VertexAttribArrayDivisor = 0x88FE,
        VertexAttribRelativeOffset = 0x82D5,
    }
    
    public enum TransformFeedbackPName
    {
        TransformFeedbackBufferBinding = 0x8C8F,
        TransformFeedbackBufferStart = 0x8C84,
        TransformFeedbackBufferSize = 0x8C85,
        TransformFeedbackPaused = 0x8E23,
        TransformFeedbackActive = 0x8E24,
    }
    
    public enum SyncParameterName
    {
        ObjectType = 0x9112,
        SyncStatus = 0x9114,
        SyncCondition = 0x9113,
        SyncFlags = 0x9115,
    }
    
    public enum ShaderParameterName
    {
        ShaderType = 0x8B4F,
        DeleteStatus = 0x8B80,
        CompileStatus = 0x8B81,
        InfoLogLength = 0x8B84,
        ShaderSourceLength = 0x8B88,
    }
    
    public enum QueryObjectParameterName
    {
        QueryResultAvailable = 0x8867,
        QueryResult = 0x8866,
        QueryResultNoWait = 0x9194,
        QueryTarget = 0x82EA,
    }
    
    public enum QueryParameterName
    {
        CurrentQuery = 0x8865,
        QueryCounterBits = 0x8864,
    }
    
    public enum ProgramStagePName
    {
        ActiveSubroutineUniforms = 0x8DE6,
        ActiveSubroutineUniformLocations = 0x8E47,
        ActiveSubroutines = 0x8DE5,
        ActiveSubroutineUniformMaxLength = 0x8E49,
        ActiveSubroutineMaxLength = 0x8E48,
    }
    
    public enum PipelineParameterName
    {
        ActiveProgram = 0x8259,
        VertexShader = 0x8B31,
        TessControlShader = 0x8E88,
        TessEvaluationShader = 0x8E87,
        GeometryShader = 0x8DD9,
        FragmentShader = 0x8B30,
        InfoLogLength = 0x8B84,
    }
    
    public enum ProgramInterface
    {
        Uniform = 0x92E1,
        UniformBlock = 0x92E2,
        ProgramInput = 0x92E3,
        ProgramOutput = 0x92E4,
        VertexSubroutine = 0x92E8,
        TessControlSubroutine = 0x92E9,
        TessEvaluationSubroutine = 0x92EA,
        GeometrySubroutine = 0x92EB,
        FragmentSubroutine = 0x92EC,
        ComputeSubroutine = 0x92ED,
        VertexSubroutineUniform = 0x92EE,
        TessControlSubroutineUniform = 0x92EF,
        TessEvaluationSubroutineUniform = 0x92F0,
        GeometrySubroutineUniform = 0x92F1,
        FragmentSubroutineUniform = 0x92F2,
        ComputeSubroutineUniform = 0x92F3,
        TransformFeedbackVarying = 0x92F4,
        TransformFeedbackBuffer = 0x8C8E,
        BufferVariable = 0x92E5,
        ShaderStorageBlock = 0x92E6,
    }
    
    public enum VertexAttribEnum
    {
        VertexAttribArrayBufferBinding = 0x889F,
        VertexAttribArrayEnabled = 0x8622,
        VertexAttribArraySize = 0x8623,
        VertexAttribArrayStride = 0x8624,
        VertexAttribArrayType = 0x8625,
        VertexAttribArrayNormalized = 0x886A,
        VertexAttribArrayInteger = 0x88FD,
        VertexAttribArrayDivisor = 0x88FE,
        CurrentVertexAttrib = 0x8626,
    }
    
    public enum VertexAttribType
    {
        Byte = 0x1400,
        Short = 0x1402,
        Int = 0x1404,
        Fixed = 0x140C,
        Float = 0x1406,
        HalfFloat = 0x140B,
        Double = 0x140A,
        UnsignedByte = 0x1401,
        UnsignedShort = 0x1403,
        UnsignedInt = 0x1405,
        Int2101010Rev = 0x8D9F,
        UnsignedInt2101010Rev = 0x8368,
        UnsignedInt10f11f11fRev = 0x8C3B,
    }
    
    public enum InternalFormatPName
    {
        NumSampleCounts = 0x9380,
        Samples = 0x80A9,
        InternalformatSupported = 0x826F,
        InternalformatPreferred = 0x8270,
        InternalformatRedSize = 0x8271,
        InternalformatGreenSize = 0x8272,
        InternalformatBlueSize = 0x8273,
        InternalformatAlphaSize = 0x8274,
        InternalformatDepthSize = 0x8275,
        InternalformatStencilSize = 0x8276,
        InternalformatSharedSize = 0x8277,
        InternalformatRedType = 0x8278,
        InternalformatGreenType = 0x8279,
        InternalformatBlueType = 0x827A,
        InternalformatAlphaType = 0x827B,
        InternalformatDepthType = 0x827C,
        InternalformatStencilType = 0x827D,
        MaxWidth = 0x827E,
        MaxHeight = 0x827F,
        MaxDepth = 0x8280,
        MaxLayers = 0x8281,
        ColorComponents = 0x8283,
        ColorRenderable = 0x8286,
        DepthRenderable = 0x8287,
        StencilRenderable = 0x8288,
        FramebufferRenderable = 0x8289,
        FramebufferRenderableLayered = 0x828A,
        FramebufferBlend = 0x828B,
        ReadPixels = 0x828C,
        ReadPixelsFormat = 0x828D,
        ReadPixelsType = 0x828E,
        TextureImageFormat = 0x828F,
        TextureImageType = 0x8290,
        GetTextureImageFormat = 0x8291,
        GetTextureImageType = 0x8292,
        Mipmap = 0x8293,
        GenerateMipmap = 0x8191,
        AutoGenerateMipmap = 0x8295,
        ColorEncoding = 0x8296,
        SrgbRead = 0x8297,
        SrgbWrite = 0x8298,
        Filter = 0x829A,
        VertexTexture = 0x829B,
        TessControlTexture = 0x829C,
        TessEvaluationTexture = 0x829D,
        GeometryTexture = 0x829E,
        FragmentTexture = 0x829F,
        ComputeTexture = 0x82A0,
        TextureShadow = 0x82A1,
        TextureGather = 0x82A2,
        TextureGatherShadow = 0x82A3,
        ShaderImageLoad = 0x82A4,
        ShaderImageStore = 0x82A5,
        ShaderImageAtomic = 0x82A6,
        ImageTexelSize = 0x82A7,
        ImageCompatibilityClass = 0x82A8,
        ImagePixelFormat = 0x82A9,
        ImagePixelType = 0x82AA,
        ImageFormatCompatibilityType = 0x90C7,
        SimultaneousTextureAndDepthTest = 0x82AC,
        SimultaneousTextureAndStencilTest = 0x82AD,
        SimultaneousTextureAndDepthWrite = 0x82AE,
        SimultaneousTextureAndStencilWrite = 0x82AF,
        TextureCompressed = 0x86A1,
        TextureCompressedBlockWidth = 0x82B1,
        TextureCompressedBlockHeight = 0x82B2,
        TextureCompressedBlockSize = 0x82B3,
        ClearBuffer = 0x82B4,
        TextureView = 0x82B5,
        ViewCompatibilityClass = 0x82B6,
        ClearTexture = 0x9365,
    }
    
    public enum FramebufferAttachmentParameterName
    {
        FramebufferAttachmentRedSize = 0x8212,
        FramebufferAttachmentGreenSize = 0x8213,
        FramebufferAttachmentBlueSize = 0x8214,
        FramebufferAttachmentAlphaSize = 0x8215,
        FramebufferAttachmentDepthSize = 0x8216,
        FramebufferAttachmentStencilSize = 0x8217,
        FramebufferAttachmentComponentType = 0x8211,
        FramebufferAttachmentColorEncoding = 0x8210,
        FramebufferAttachmentObjectName = 0x8CD1,
        FramebufferAttachmentTextureLevel = 0x8CD2,
        FramebufferAttachmentTextureCubeMapFace = 0x8CD3,
        FramebufferAttachmentLayered = 0x8DA7,
        FramebufferAttachmentTextureLayer = 0x8CD4,
    }
    
    public enum ProgramInterfacePName
    {
        ActiveResources = 0x92F5,
        MaxNameLength = 0x92F6,
        MaxNumActiveVariables = 0x92F7,
        MaxNumCompatibleSubroutines = 0x92F8,
    }
    
    public enum PrecisionType
    {
        LowFloat = 0x8DF0,
        MediumFloat = 0x8DF1,
        HighFloat = 0x8DF2,
        LowInt = 0x8DF3,
        MediumInt = 0x8DF4,
        HighInt = 0x8DF5,
    }
    
    public enum VertexAttribPointerType
    {
        Byte = 0x1400,
        UnsignedByte = 0x1401,
        Short = 0x1402,
        UnsignedShort = 0x1403,
        Int = 0x1404,
        UnsignedInt = 0x1405,
        Float = 0x1406,
        Double = 0x140A,
        HalfFloat = 0x140B,
        Fixed = 0x140C,
        Int2101010Rev = 0x8D9F,
        UnsignedInt2101010Rev = 0x8368,
        UnsignedInt10f11f11fRev = 0x8C3B,
    }
    
    public enum SubroutineParameterName
    {
        NumCompatibleSubroutines = 0x8E4A,
        CompatibleSubroutines = 0x8E4B,
        UniformSize = 0x8A38,
        UniformNameLength = 0x8A39,
    }
    
    public enum GetFramebufferParameter
    {
        FramebufferDefaultWidth = 0x9310,
        FramebufferDefaultHeight = 0x9311,
        FramebufferDefaultLayers = 0x9312,
        FramebufferDefaultSamples = 0x9313,
        FramebufferDefaultFixedSampleLocations = 0x9314,
        Doublebuffer = 0x0C32,
        ImplementationColorReadFormat = 0x8B9B,
        ImplementationColorReadType = 0x8B9A,
        Samples = 0x80A9,
        SampleBuffers = 0x80A8,
        Stereo = 0x0C33,
    }
    
    public enum PathStringFormat
    {
        PathFormatSvgNV = 0x9070,
        PathFormatPsNV = 0x9071,
    }
    
    public enum PathFontTarget
    {
        StandardFontNameNV = 0x9072,
        SystemFontNameNV = 0x9073,
        FileNameNV = 0x9074,
    }
    
    public enum PathHandleMissingGlyphs
    {
        SkipMissingGlyphNV = 0x90A9,
        UseMissingGlyphNV = 0x90AA,
    }
    
    public enum PathParameter
    {
        PathStrokeWidthNV = 0x9075,
        PathInitialEndCapNV = 0x9077,
        PathTerminalEndCapNV = 0x9078,
        PathJoinStyleNV = 0x9079,
        PathMiterLimitNV = 0x907A,
        PathInitialDashCapNV = 0x907C,
        PathTerminalDashCapNV = 0x907D,
        PathDashOffsetNV = 0x907E,
        PathClientLengthNV = 0x907F,
        PathDashOffsetResetNV = 0x90B4,
        PathFillModeNV = 0x9080,
        PathFillMaskNV = 0x9081,
        PathFillCoverModeNV = 0x9082,
        PathStrokeCoverModeNV = 0x9083,
        PathStrokeMaskNV = 0x9084,
        PathEndCapsNV = 0x9076,
        PathDashCapsNV = 0x907B,
        PathCommandCountNV = 0x909D,
        PathCoordCountNV = 0x909E,
        PathDashArrayCountNV = 0x909F,
        PathComputedLengthNV = 0x90A0,
        PathObjectBoundingBoxNV = 0x908A,
        PathFillBoundingBoxNV = 0x90A1,
        PathStrokeBoundingBoxNV = 0x90A2,
    }
    
    public enum PathColor
    {
        PrimaryColor = 0x8577,
        PrimaryColorNV = 0x852C,
        SecondaryColorNV = 0x852D,
    }
    
    public enum PathGenMode
    {
        None = 0,
        EyeLinear = 0x2400,
        ObjectLinear = 0x2401,
        PathObjectBoundingBoxNV = 0x908A,
        Constant = 0x8576,
    }
    
    public enum TextureLayout
    {
        LayoutGeneralEXT = 0x958D,
        LayoutColorAttachmentEXT = 0x958E,
        LayoutDepthStencilAttachmentEXT = 0x958F,
        LayoutDepthStencilReadOnlyEXT = 0x9590,
        LayoutShaderReadOnlyEXT = 0x9591,
        LayoutTransferSrcEXT = 0x9592,
        LayoutTransferDstEXT = 0x9593,
        LayoutDepthReadOnlyStencilAttachmentEXT = 0x9530,
        LayoutDepthAttachmentStencilReadOnlyEXT = 0x9531,
    }
    
    public enum PathTransformType
    {
        None = 0,
        TranslateXNV = 0x908E,
        TranslateYNV = 0x908F,
        Translate2DNV = 0x9090,
        Translate3DNV = 0x9091,
        Affine2DNV = 0x9092,
        Affine3DNV = 0x9094,
        TransposeAffine2DNV = 0x9096,
        TransposeAffine3DNV = 0x9098,
    }
    
    public enum PathElementType
    {
        Utf8NV = 0x909A,
        Utf16NV = 0x909B,
    }
    
    public enum PathCoverMode
    {
        ConvexHullNV = 0x908B,
        BoundingBoxNV = 0x908D,
        BoundingBoxOfBoundingBoxesNV = 0x909C,
        PathFillCoverModeNV = 0x9082,
    }
    
    public enum PathFontStyle
    {
        None = 0,
        BoldBitNV = 0x01,
        ItalicBitNV = 0x02,
    }
    
    public enum PathMetricMask
    {
        GlyphWidthBitNV = 0x01,
        GlyphHeightBitNV = 0x02,
        GlyphHorizontalBearingXBitNV = 0x04,
        GlyphHorizontalBearingYBitNV = 0x08,
        GlyphHorizontalBearingAdvanceBitNV = 0x10,
        GlyphVerticalBearingXBitNV = 0x20,
        GlyphVerticalBearingYBitNV = 0x40,
        GlyphVerticalBearingAdvanceBitNV = 0x80,
        GlyphHasKerningBitNV = 0x100,
        FontXMinBoundsBitNV = 0x00010000,
        FontYMinBoundsBitNV = 0x00020000,
        FontXMaxBoundsBitNV = 0x00040000,
        FontYMaxBoundsBitNV = 0x00080000,
        FontUnitsPerEmBitNV = 0x00100000,
        FontAscenderBitNV = 0x00200000,
        FontDescenderBitNV = 0x00400000,
        FontHeightBitNV = 0x00800000,
        FontMaxAdvanceWidthBitNV = 0x01000000,
        FontMaxAdvanceHeightBitNV = 0x02000000,
        FontUnderlinePositionBitNV = 0x04000000,
        FontUnderlineThicknessBitNV = 0x08000000,
        FontHasKerningBitNV = 0x10000000,
        FontNumGlyphIndicesBitNV = 0x20000000,
    }
    
    public enum PathListMode
    {
        AccumAdjacentPairsNV = 0x90AD,
        AdjacentPairsNV = 0x90AE,
        FirstToRestNV = 0x90AF,
    }
    
    public enum ProgramPropertyARB
    {
        DeleteStatus = 0x8B80,
        LinkStatus = 0x8B82,
        ValidateStatus = 0x8B83,
        InfoLogLength = 0x8B84,
        AttachedShaders = 0x8B85,
        ActiveAtomicCounterBuffers = 0x92D9,
        ActiveAttributes = 0x8B89,
        ActiveAttributeMaxLength = 0x8B8A,
        ActiveUniforms = 0x8B86,
        ActiveUniformBlocks = 0x8A36,
        ActiveUniformBlockMaxNameLength = 0x8A35,
        ActiveUniformMaxLength = 0x8B87,
        ComputeWorkGroupSize = 0x8267,
        ProgramBinaryLength = 0x8741,
        TransformFeedbackBufferMode = 0x8C7F,
        TransformFeedbackVaryings = 0x8C83,
        TransformFeedbackVaryingMaxLength = 0x8C76,
        GeometryVerticesOut = 0x8916,
        GeometryInputType = 0x8917,
        GeometryOutputType = 0x8918,
    }
}
