    {-# LANGUAGE CPP, PatternSynonyms, ScopedTypeVariables #-}
    #if __GLASGOW_HASKELL__ >= 800
    {-# OPTIONS_GHC -Wno-missing-pattern-synonym-signatures #-}
    #endif
    --------------------------------------------------------------------------------
    -- |
    -- Module      :  Graphics.GL.Tokens
    -- Copyright   :  (c) Sven Panne 2019
    -- License     :  BSD3
    --
    -- Maintainer  :  Sven Panne <svenpanne@gmail.com>
    -- Stability   :  stable
    -- Portability :  portable
    --
    -- All enumeration tokens from the
    -- <http://www.opengl.org/registry/ OpenGL registry>.
    --
    --------------------------------------------------------------------------------

    module Graphics.GL.Tokens where

    import Graphics.GL.Types

    pattern $mGL_1PASS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_1PASS_EXT :: GLenum
    GL_1PASS_EXT = 0x80A1 :: GLenum

    pattern $mGL_1PASS_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_1PASS_SGIS :: GLenum
    GL_1PASS_SGIS = 0x80A1 :: GLenum

    pattern $mGL_2D :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_2D :: GLenum
    GL_2D = 0x0600 :: GLenum

    pattern $mGL_2PASS_0_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_2PASS_0_EXT :: GLenum
    GL_2PASS_0_EXT = 0x80A2 :: GLenum

    pattern $mGL_2PASS_0_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_2PASS_0_SGIS :: GLenum
    GL_2PASS_0_SGIS = 0x80A2 :: GLenum

    pattern $mGL_2PASS_1_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_2PASS_1_EXT :: GLenum
    GL_2PASS_1_EXT = 0x80A3 :: GLenum

    pattern $mGL_2PASS_1_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_2PASS_1_SGIS :: GLenum
    GL_2PASS_1_SGIS = 0x80A3 :: GLenum

    pattern $mGL_2X_BIT_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_2X_BIT_ATI :: GLenum
    GL_2X_BIT_ATI = 0x00000001 :: GLbitfield

    pattern $mGL_2_BYTES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_2_BYTES :: GLenum
    GL_2_BYTES = 0x1407 :: GLenum

    pattern $mGL_2_BYTES_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_2_BYTES_NV :: GLenum
    GL_2_BYTES_NV = 0x1407 :: GLenum

    pattern $mGL_3D :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_3D :: GLenum
    GL_3D = 0x0601 :: GLenum

    pattern $mGL_3DC_XY_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_3DC_XY_AMD :: GLenum
    GL_3DC_XY_AMD = 0x87FA :: GLenum

    pattern $mGL_3DC_X_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_3DC_X_AMD :: GLenum
    GL_3DC_X_AMD = 0x87F9 :: GLenum

    pattern $mGL_3D_COLOR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_3D_COLOR :: GLenum
    GL_3D_COLOR = 0x0602 :: GLenum

    pattern $mGL_3D_COLOR_TEXTURE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_3D_COLOR_TEXTURE :: GLenum
    GL_3D_COLOR_TEXTURE = 0x0603 :: GLenum

    pattern $mGL_3_BYTES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_3_BYTES :: GLenum
    GL_3_BYTES = 0x1408 :: GLenum

    pattern $mGL_3_BYTES_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_3_BYTES_NV :: GLenum
    GL_3_BYTES_NV = 0x1408 :: GLenum

    pattern $mGL_422_AVERAGE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_422_AVERAGE_EXT :: GLenum
    GL_422_AVERAGE_EXT = 0x80CE :: GLenum

    pattern $mGL_422_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_422_EXT :: GLenum
    GL_422_EXT = 0x80CC :: GLenum

    pattern $mGL_422_REV_AVERAGE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_422_REV_AVERAGE_EXT :: GLenum
    GL_422_REV_AVERAGE_EXT = 0x80CF :: GLenum

    pattern $mGL_422_REV_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_422_REV_EXT :: GLenum
    GL_422_REV_EXT = 0x80CD :: GLenum

    pattern $mGL_4D_COLOR_TEXTURE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_4D_COLOR_TEXTURE :: GLenum
    GL_4D_COLOR_TEXTURE = 0x0604 :: GLenum

    pattern $mGL_4PASS_0_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_4PASS_0_EXT :: GLenum
    GL_4PASS_0_EXT = 0x80A4 :: GLenum

    pattern $mGL_4PASS_0_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_4PASS_0_SGIS :: GLenum
    GL_4PASS_0_SGIS = 0x80A4 :: GLenum

    pattern $mGL_4PASS_1_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_4PASS_1_EXT :: GLenum
    GL_4PASS_1_EXT = 0x80A5 :: GLenum

    pattern $mGL_4PASS_1_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_4PASS_1_SGIS :: GLenum
    GL_4PASS_1_SGIS = 0x80A5 :: GLenum

    pattern $mGL_4PASS_2_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_4PASS_2_EXT :: GLenum
    GL_4PASS_2_EXT = 0x80A6 :: GLenum

    pattern $mGL_4PASS_2_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_4PASS_2_SGIS :: GLenum
    GL_4PASS_2_SGIS = 0x80A6 :: GLenum

    pattern $mGL_4PASS_3_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_4PASS_3_EXT :: GLenum
    GL_4PASS_3_EXT = 0x80A7 :: GLenum

    pattern $mGL_4PASS_3_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_4PASS_3_SGIS :: GLenum
    GL_4PASS_3_SGIS = 0x80A7 :: GLenum

    pattern $mGL_4X_BIT_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_4X_BIT_ATI :: GLenum
    GL_4X_BIT_ATI = 0x00000002 :: GLbitfield

    pattern $mGL_4_BYTES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_4_BYTES :: GLenum
    GL_4_BYTES = 0x1409 :: GLenum

    pattern $mGL_4_BYTES_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_4_BYTES_NV :: GLenum
    GL_4_BYTES_NV = 0x1409 :: GLenum

    pattern $mGL_8X_BIT_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_8X_BIT_ATI :: GLenum
    GL_8X_BIT_ATI = 0x00000004 :: GLbitfield

    pattern $mGL_ABGR_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ABGR_EXT :: GLenum
    GL_ABGR_EXT = 0x8000 :: GLenum

    pattern $mGL_ACCUM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ACCUM :: GLenum
    GL_ACCUM = 0x0100 :: GLenum

    pattern $mGL_ACCUM_ADJACENT_PAIRS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ACCUM_ADJACENT_PAIRS_NV :: GLenum
    GL_ACCUM_ADJACENT_PAIRS_NV = 0x90AD :: GLenum

    pattern $mGL_ACCUM_ALPHA_BITS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ACCUM_ALPHA_BITS :: GLenum
    GL_ACCUM_ALPHA_BITS = 0x0D5B :: GLenum

    pattern $mGL_ACCUM_BLUE_BITS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ACCUM_BLUE_BITS :: GLenum
    GL_ACCUM_BLUE_BITS = 0x0D5A :: GLenum

    pattern $mGL_ACCUM_BUFFER_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ACCUM_BUFFER_BIT :: GLenum
    GL_ACCUM_BUFFER_BIT = 0x00000200 :: GLbitfield

    pattern $mGL_ACCUM_CLEAR_VALUE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ACCUM_CLEAR_VALUE :: GLenum
    GL_ACCUM_CLEAR_VALUE = 0x0B80 :: GLenum

    pattern $mGL_ACCUM_GREEN_BITS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ACCUM_GREEN_BITS :: GLenum
    GL_ACCUM_GREEN_BITS = 0x0D59 :: GLenum

    pattern $mGL_ACCUM_RED_BITS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ACCUM_RED_BITS :: GLenum
    GL_ACCUM_RED_BITS = 0x0D58 :: GLenum

    pattern $mGL_ACTIVE_ATOMIC_COUNTER_BUFFERS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ACTIVE_ATOMIC_COUNTER_BUFFERS :: GLenum
    GL_ACTIVE_ATOMIC_COUNTER_BUFFERS = 0x92D9 :: GLenum

    pattern $mGL_ACTIVE_ATTRIBUTES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ACTIVE_ATTRIBUTES :: GLenum
    GL_ACTIVE_ATTRIBUTES = 0x8B89 :: GLenum

    pattern $mGL_ACTIVE_ATTRIBUTE_MAX_LENGTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ACTIVE_ATTRIBUTE_MAX_LENGTH :: GLenum
    GL_ACTIVE_ATTRIBUTE_MAX_LENGTH = 0x8B8A :: GLenum

    pattern $mGL_ACTIVE_PROGRAM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ACTIVE_PROGRAM :: GLenum
    GL_ACTIVE_PROGRAM = 0x8259 :: GLenum

    pattern $mGL_ACTIVE_PROGRAM_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ACTIVE_PROGRAM_EXT :: GLenum
    GL_ACTIVE_PROGRAM_EXT = 0x8B8D :: GLenum

    pattern $mGL_ACTIVE_RESOURCES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ACTIVE_RESOURCES :: GLenum
    GL_ACTIVE_RESOURCES = 0x92F5 :: GLenum

    pattern $mGL_ACTIVE_STENCIL_FACE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ACTIVE_STENCIL_FACE_EXT :: GLenum
    GL_ACTIVE_STENCIL_FACE_EXT = 0x8911 :: GLenum

    pattern $mGL_ACTIVE_SUBROUTINES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ACTIVE_SUBROUTINES :: GLenum
    GL_ACTIVE_SUBROUTINES = 0x8DE5 :: GLenum

    pattern $mGL_ACTIVE_SUBROUTINE_MAX_LENGTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ACTIVE_SUBROUTINE_MAX_LENGTH :: GLenum
    GL_ACTIVE_SUBROUTINE_MAX_LENGTH = 0x8E48 :: GLenum

    pattern $mGL_ACTIVE_SUBROUTINE_UNIFORMS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ACTIVE_SUBROUTINE_UNIFORMS :: GLenum
    GL_ACTIVE_SUBROUTINE_UNIFORMS = 0x8DE6 :: GLenum

    pattern $mGL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS :: GLenum
    GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS = 0x8E47 :: GLenum

    pattern $mGL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH :: GLenum
    GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH = 0x8E49 :: GLenum

    pattern $mGL_ACTIVE_TEXTURE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ACTIVE_TEXTURE :: GLenum
    GL_ACTIVE_TEXTURE = 0x84E0 :: GLenum

    pattern $mGL_ACTIVE_TEXTURE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ACTIVE_TEXTURE_ARB :: GLenum
    GL_ACTIVE_TEXTURE_ARB = 0x84E0 :: GLenum

    pattern $mGL_ACTIVE_UNIFORMS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ACTIVE_UNIFORMS :: GLenum
    GL_ACTIVE_UNIFORMS = 0x8B86 :: GLenum

    pattern $mGL_ACTIVE_UNIFORM_BLOCKS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ACTIVE_UNIFORM_BLOCKS :: GLenum
    GL_ACTIVE_UNIFORM_BLOCKS = 0x8A36 :: GLenum

    pattern $mGL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH :: GLenum
    GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH = 0x8A35 :: GLenum

    pattern $mGL_ACTIVE_UNIFORM_MAX_LENGTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ACTIVE_UNIFORM_MAX_LENGTH :: GLenum
    GL_ACTIVE_UNIFORM_MAX_LENGTH = 0x8B87 :: GLenum

    pattern $mGL_ACTIVE_VARIABLES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ACTIVE_VARIABLES :: GLenum
    GL_ACTIVE_VARIABLES = 0x9305 :: GLenum

    pattern $mGL_ACTIVE_VARYINGS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ACTIVE_VARYINGS_NV :: GLenum
    GL_ACTIVE_VARYINGS_NV = 0x8C81 :: GLenum

    pattern $mGL_ACTIVE_VARYING_MAX_LENGTH_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ACTIVE_VARYING_MAX_LENGTH_NV :: GLenum
    GL_ACTIVE_VARYING_MAX_LENGTH_NV = 0x8C82 :: GLenum

    pattern $mGL_ACTIVE_VERTEX_UNITS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ACTIVE_VERTEX_UNITS_ARB :: GLenum
    GL_ACTIVE_VERTEX_UNITS_ARB = 0x86A5 :: GLenum

    pattern $mGL_ADD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ADD :: GLenum
    GL_ADD = 0x0104 :: GLenum

    pattern $mGL_ADD_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ADD_ATI :: GLenum
    GL_ADD_ATI = 0x8963 :: GLenum

    pattern $mGL_ADD_BLEND_IMG :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ADD_BLEND_IMG :: GLenum
    GL_ADD_BLEND_IMG = 0x8C09 :: GLenum

    pattern $mGL_ADD_SIGNED :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ADD_SIGNED :: GLenum
    GL_ADD_SIGNED = 0x8574 :: GLenum

    pattern $mGL_ADD_SIGNED_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ADD_SIGNED_ARB :: GLenum
    GL_ADD_SIGNED_ARB = 0x8574 :: GLenum

    pattern $mGL_ADD_SIGNED_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ADD_SIGNED_EXT :: GLenum
    GL_ADD_SIGNED_EXT = 0x8574 :: GLenum

    pattern $mGL_ADJACENT_PAIRS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ADJACENT_PAIRS_NV :: GLenum
    GL_ADJACENT_PAIRS_NV = 0x90AE :: GLenum

    pattern $mGL_AFFINE_2D_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_AFFINE_2D_NV :: GLenum
    GL_AFFINE_2D_NV = 0x9092 :: GLenum

    pattern $mGL_AFFINE_3D_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_AFFINE_3D_NV :: GLenum
    GL_AFFINE_3D_NV = 0x9094 :: GLenum

    pattern $mGL_ALIASED_LINE_WIDTH_RANGE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALIASED_LINE_WIDTH_RANGE :: GLenum
    GL_ALIASED_LINE_WIDTH_RANGE = 0x846E :: GLenum

    pattern $mGL_ALIASED_POINT_SIZE_RANGE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALIASED_POINT_SIZE_RANGE :: GLenum
    GL_ALIASED_POINT_SIZE_RANGE = 0x846D :: GLenum

    pattern $mGL_ALLOW_DRAW_FRG_HINT_PGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALLOW_DRAW_FRG_HINT_PGI :: GLenum
    GL_ALLOW_DRAW_FRG_HINT_PGI = 0x1A210 :: GLenum

    pattern $mGL_ALLOW_DRAW_MEM_HINT_PGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALLOW_DRAW_MEM_HINT_PGI :: GLenum
    GL_ALLOW_DRAW_MEM_HINT_PGI = 0x1A211 :: GLenum

    pattern $mGL_ALLOW_DRAW_OBJ_HINT_PGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALLOW_DRAW_OBJ_HINT_PGI :: GLenum
    GL_ALLOW_DRAW_OBJ_HINT_PGI = 0x1A20E :: GLenum

    pattern $mGL_ALLOW_DRAW_WIN_HINT_PGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALLOW_DRAW_WIN_HINT_PGI :: GLenum
    GL_ALLOW_DRAW_WIN_HINT_PGI = 0x1A20F :: GLenum

    pattern $mGL_ALL_ATTRIB_BITS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALL_ATTRIB_BITS :: GLenum
    GL_ALL_ATTRIB_BITS = 0xFFFFFFFF :: GLbitfield

    pattern $mGL_ALL_BARRIER_BITS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALL_BARRIER_BITS :: GLenum
    GL_ALL_BARRIER_BITS = 0xFFFFFFFF :: GLbitfield

    pattern $mGL_ALL_BARRIER_BITS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALL_BARRIER_BITS_EXT :: GLenum
    GL_ALL_BARRIER_BITS_EXT = 0xFFFFFFFF :: GLbitfield

    pattern $mGL_ALL_COMPLETED_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALL_COMPLETED_NV :: GLenum
    GL_ALL_COMPLETED_NV = 0x84F2 :: GLenum

    pattern $mGL_ALL_PIXELS_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALL_PIXELS_AMD :: GLenum
    GL_ALL_PIXELS_AMD = 0xFFFFFFFF :: GLenum

    pattern $mGL_ALL_SHADER_BITS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALL_SHADER_BITS :: GLenum
    GL_ALL_SHADER_BITS = 0xFFFFFFFF :: GLbitfield

    pattern $mGL_ALL_SHADER_BITS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALL_SHADER_BITS_EXT :: GLenum
    GL_ALL_SHADER_BITS_EXT = 0xFFFFFFFF :: GLbitfield

    pattern $mGL_ALL_STATIC_DATA_IBM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALL_STATIC_DATA_IBM :: GLenum
    GL_ALL_STATIC_DATA_IBM = 103060 :: GLenum

    pattern $mGL_ALPHA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALPHA :: GLenum
    GL_ALPHA = 0x1906 :: GLenum

    pattern $mGL_ALPHA12 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALPHA12 :: GLenum
    GL_ALPHA12 = 0x803D :: GLenum

    pattern $mGL_ALPHA12_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALPHA12_EXT :: GLenum
    GL_ALPHA12_EXT = 0x803D :: GLenum

    pattern $mGL_ALPHA16 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALPHA16 :: GLenum
    GL_ALPHA16 = 0x803E :: GLenum

    pattern $mGL_ALPHA16F_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALPHA16F_ARB :: GLenum
    GL_ALPHA16F_ARB = 0x881C :: GLenum

    pattern $mGL_ALPHA16F_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALPHA16F_EXT :: GLenum
    GL_ALPHA16F_EXT = 0x881C :: GLenum

    pattern $mGL_ALPHA16I_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALPHA16I_EXT :: GLenum
    GL_ALPHA16I_EXT = 0x8D8A :: GLenum

    pattern $mGL_ALPHA16UI_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALPHA16UI_EXT :: GLenum
    GL_ALPHA16UI_EXT = 0x8D78 :: GLenum

    pattern $mGL_ALPHA16_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALPHA16_EXT :: GLenum
    GL_ALPHA16_EXT = 0x803E :: GLenum

    pattern $mGL_ALPHA16_SNORM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALPHA16_SNORM :: GLenum
    GL_ALPHA16_SNORM = 0x9018 :: GLenum

    pattern $mGL_ALPHA32F_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALPHA32F_ARB :: GLenum
    GL_ALPHA32F_ARB = 0x8816 :: GLenum

    pattern $mGL_ALPHA32F_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALPHA32F_EXT :: GLenum
    GL_ALPHA32F_EXT = 0x8816 :: GLenum

    pattern $mGL_ALPHA32I_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALPHA32I_EXT :: GLenum
    GL_ALPHA32I_EXT = 0x8D84 :: GLenum

    pattern $mGL_ALPHA32UI_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALPHA32UI_EXT :: GLenum
    GL_ALPHA32UI_EXT = 0x8D72 :: GLenum

    pattern $mGL_ALPHA4 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALPHA4 :: GLenum
    GL_ALPHA4 = 0x803B :: GLenum

    pattern $mGL_ALPHA4_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALPHA4_EXT :: GLenum
    GL_ALPHA4_EXT = 0x803B :: GLenum

    pattern $mGL_ALPHA8 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALPHA8 :: GLenum
    GL_ALPHA8 = 0x803C :: GLenum

    pattern $mGL_ALPHA8I_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALPHA8I_EXT :: GLenum
    GL_ALPHA8I_EXT = 0x8D90 :: GLenum

    pattern $mGL_ALPHA8UI_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALPHA8UI_EXT :: GLenum
    GL_ALPHA8UI_EXT = 0x8D7E :: GLenum

    pattern $mGL_ALPHA8_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALPHA8_EXT :: GLenum
    GL_ALPHA8_EXT = 0x803C :: GLenum

    pattern $mGL_ALPHA8_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALPHA8_OES :: GLenum
    GL_ALPHA8_OES = 0x803C :: GLenum

    pattern $mGL_ALPHA8_SNORM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALPHA8_SNORM :: GLenum
    GL_ALPHA8_SNORM = 0x9014 :: GLenum

    pattern $mGL_ALPHA_BIAS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALPHA_BIAS :: GLenum
    GL_ALPHA_BIAS = 0x0D1D :: GLenum

    pattern $mGL_ALPHA_BITS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALPHA_BITS :: GLenum
    GL_ALPHA_BITS = 0x0D55 :: GLenum

    pattern $mGL_ALPHA_FLOAT16_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALPHA_FLOAT16_APPLE :: GLenum
    GL_ALPHA_FLOAT16_APPLE = 0x881C :: GLenum

    pattern $mGL_ALPHA_FLOAT16_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALPHA_FLOAT16_ATI :: GLenum
    GL_ALPHA_FLOAT16_ATI = 0x881C :: GLenum

    pattern $mGL_ALPHA_FLOAT32_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALPHA_FLOAT32_APPLE :: GLenum
    GL_ALPHA_FLOAT32_APPLE = 0x8816 :: GLenum

    pattern $mGL_ALPHA_FLOAT32_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALPHA_FLOAT32_ATI :: GLenum
    GL_ALPHA_FLOAT32_ATI = 0x8816 :: GLenum

    pattern $mGL_ALPHA_INTEGER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALPHA_INTEGER :: GLenum
    GL_ALPHA_INTEGER = 0x8D97 :: GLenum

    pattern $mGL_ALPHA_INTEGER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALPHA_INTEGER_EXT :: GLenum
    GL_ALPHA_INTEGER_EXT = 0x8D97 :: GLenum

    pattern $mGL_ALPHA_MAX_CLAMP_INGR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALPHA_MAX_CLAMP_INGR :: GLenum
    GL_ALPHA_MAX_CLAMP_INGR = 0x8567 :: GLenum

    pattern $mGL_ALPHA_MAX_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALPHA_MAX_SGIX :: GLenum
    GL_ALPHA_MAX_SGIX = 0x8321 :: GLenum

    pattern $mGL_ALPHA_MIN_CLAMP_INGR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALPHA_MIN_CLAMP_INGR :: GLenum
    GL_ALPHA_MIN_CLAMP_INGR = 0x8563 :: GLenum

    pattern $mGL_ALPHA_MIN_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALPHA_MIN_SGIX :: GLenum
    GL_ALPHA_MIN_SGIX = 0x8320 :: GLenum

    pattern $mGL_ALPHA_REF_COMMAND_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALPHA_REF_COMMAND_NV :: GLenum
    GL_ALPHA_REF_COMMAND_NV = 0x000F :: GLenum

    pattern $mGL_ALPHA_SCALE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALPHA_SCALE :: GLenum
    GL_ALPHA_SCALE = 0x0D1C :: GLenum

    pattern $mGL_ALPHA_SNORM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALPHA_SNORM :: GLenum
    GL_ALPHA_SNORM = 0x9010 :: GLenum

    pattern $mGL_ALPHA_TEST :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALPHA_TEST :: GLenum
    GL_ALPHA_TEST = 0x0BC0 :: GLenum

    pattern $mGL_ALPHA_TEST_FUNC :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALPHA_TEST_FUNC :: GLenum
    GL_ALPHA_TEST_FUNC = 0x0BC1 :: GLenum

    pattern $mGL_ALPHA_TEST_FUNC_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALPHA_TEST_FUNC_QCOM :: GLenum
    GL_ALPHA_TEST_FUNC_QCOM = 0x0BC1 :: GLenum

    pattern $mGL_ALPHA_TEST_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALPHA_TEST_QCOM :: GLenum
    GL_ALPHA_TEST_QCOM = 0x0BC0 :: GLenum

    pattern $mGL_ALPHA_TEST_REF :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALPHA_TEST_REF :: GLenum
    GL_ALPHA_TEST_REF = 0x0BC2 :: GLenum

    pattern $mGL_ALPHA_TEST_REF_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALPHA_TEST_REF_QCOM :: GLenum
    GL_ALPHA_TEST_REF_QCOM = 0x0BC2 :: GLenum

    pattern $mGL_ALPHA_TO_COVERAGE_DITHER_DEFAULT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALPHA_TO_COVERAGE_DITHER_DEFAULT_NV :: GLenum
    GL_ALPHA_TO_COVERAGE_DITHER_DEFAULT_NV = 0x934D :: GLenum

    pattern $mGL_ALPHA_TO_COVERAGE_DITHER_DISABLE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALPHA_TO_COVERAGE_DITHER_DISABLE_NV :: GLenum
    GL_ALPHA_TO_COVERAGE_DITHER_DISABLE_NV = 0x934F :: GLenum

    pattern $mGL_ALPHA_TO_COVERAGE_DITHER_ENABLE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALPHA_TO_COVERAGE_DITHER_ENABLE_NV :: GLenum
    GL_ALPHA_TO_COVERAGE_DITHER_ENABLE_NV = 0x934E :: GLenum

    pattern $mGL_ALPHA_TO_COVERAGE_DITHER_MODE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALPHA_TO_COVERAGE_DITHER_MODE_NV :: GLenum
    GL_ALPHA_TO_COVERAGE_DITHER_MODE_NV = 0x92BF :: GLenum

    pattern $mGL_ALREADY_SIGNALED :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALREADY_SIGNALED :: GLenum
    GL_ALREADY_SIGNALED = 0x911A :: GLenum

    pattern $mGL_ALREADY_SIGNALED_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALREADY_SIGNALED_APPLE :: GLenum
    GL_ALREADY_SIGNALED_APPLE = 0x911A :: GLenum

    pattern $mGL_ALWAYS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALWAYS :: GLenum
    GL_ALWAYS = 0x0207 :: GLenum

    pattern $mGL_ALWAYS_FAST_HINT_PGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALWAYS_FAST_HINT_PGI :: GLenum
    GL_ALWAYS_FAST_HINT_PGI = 0x1A20C :: GLenum

    pattern $mGL_ALWAYS_SOFT_HINT_PGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ALWAYS_SOFT_HINT_PGI :: GLenum
    GL_ALWAYS_SOFT_HINT_PGI = 0x1A20D :: GLenum

    pattern $mGL_AMBIENT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_AMBIENT :: GLenum
    GL_AMBIENT = 0x1200 :: GLenum

    pattern $mGL_AMBIENT_AND_DIFFUSE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_AMBIENT_AND_DIFFUSE :: GLenum
    GL_AMBIENT_AND_DIFFUSE = 0x1602 :: GLenum

    pattern $mGL_AND :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_AND :: GLenum
    GL_AND = 0x1501 :: GLenum

    pattern $mGL_AND_INVERTED :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_AND_INVERTED :: GLenum
    GL_AND_INVERTED = 0x1504 :: GLenum

    pattern $mGL_AND_REVERSE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_AND_REVERSE :: GLenum
    GL_AND_REVERSE = 0x1502 :: GLenum

    pattern $mGL_ANY_SAMPLES_PASSED :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ANY_SAMPLES_PASSED :: GLenum
    GL_ANY_SAMPLES_PASSED = 0x8C2F :: GLenum

    pattern $mGL_ANY_SAMPLES_PASSED_CONSERVATIVE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ANY_SAMPLES_PASSED_CONSERVATIVE :: GLenum
    GL_ANY_SAMPLES_PASSED_CONSERVATIVE = 0x8D6A :: GLenum

    pattern $mGL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT :: GLenum
    GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT = 0x8D6A :: GLenum

    pattern $mGL_ANY_SAMPLES_PASSED_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ANY_SAMPLES_PASSED_EXT :: GLenum
    GL_ANY_SAMPLES_PASSED_EXT = 0x8C2F :: GLenum

    pattern $mGL_ARC_TO_NV :: forall {r}. GLubyte -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ARC_TO_NV :: GLubyte
    GL_ARC_TO_NV = 0xFE :: GLubyte

    pattern $mGL_ARRAY_BUFFER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ARRAY_BUFFER :: GLenum
    GL_ARRAY_BUFFER = 0x8892 :: GLenum

    pattern $mGL_ARRAY_BUFFER_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ARRAY_BUFFER_ARB :: GLenum
    GL_ARRAY_BUFFER_ARB = 0x8892 :: GLenum

    pattern $mGL_ARRAY_BUFFER_BINDING :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ARRAY_BUFFER_BINDING :: GLenum
    GL_ARRAY_BUFFER_BINDING = 0x8894 :: GLenum

    pattern $mGL_ARRAY_BUFFER_BINDING_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ARRAY_BUFFER_BINDING_ARB :: GLenum
    GL_ARRAY_BUFFER_BINDING_ARB = 0x8894 :: GLenum

    pattern $mGL_ARRAY_ELEMENT_LOCK_COUNT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ARRAY_ELEMENT_LOCK_COUNT_EXT :: GLenum
    GL_ARRAY_ELEMENT_LOCK_COUNT_EXT = 0x81A9 :: GLenum

    pattern $mGL_ARRAY_ELEMENT_LOCK_FIRST_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ARRAY_ELEMENT_LOCK_FIRST_EXT :: GLenum
    GL_ARRAY_ELEMENT_LOCK_FIRST_EXT = 0x81A8 :: GLenum

    pattern $mGL_ARRAY_OBJECT_BUFFER_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ARRAY_OBJECT_BUFFER_ATI :: GLenum
    GL_ARRAY_OBJECT_BUFFER_ATI = 0x8766 :: GLenum

    pattern $mGL_ARRAY_OBJECT_OFFSET_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ARRAY_OBJECT_OFFSET_ATI :: GLenum
    GL_ARRAY_OBJECT_OFFSET_ATI = 0x8767 :: GLenum

    pattern $mGL_ARRAY_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ARRAY_SIZE :: GLenum
    GL_ARRAY_SIZE = 0x92FB :: GLenum

    pattern $mGL_ARRAY_STRIDE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ARRAY_STRIDE :: GLenum
    GL_ARRAY_STRIDE = 0x92FE :: GLenum

    pattern $mGL_ASYNC_DRAW_PIXELS_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ASYNC_DRAW_PIXELS_SGIX :: GLenum
    GL_ASYNC_DRAW_PIXELS_SGIX = 0x835D :: GLenum

    pattern $mGL_ASYNC_HISTOGRAM_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ASYNC_HISTOGRAM_SGIX :: GLenum
    GL_ASYNC_HISTOGRAM_SGIX = 0x832C :: GLenum

    pattern $mGL_ASYNC_MARKER_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ASYNC_MARKER_SGIX :: GLenum
    GL_ASYNC_MARKER_SGIX = 0x8329 :: GLenum

    pattern $mGL_ASYNC_READ_PIXELS_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ASYNC_READ_PIXELS_SGIX :: GLenum
    GL_ASYNC_READ_PIXELS_SGIX = 0x835E :: GLenum

    pattern $mGL_ASYNC_TEX_IMAGE_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ASYNC_TEX_IMAGE_SGIX :: GLenum
    GL_ASYNC_TEX_IMAGE_SGIX = 0x835C :: GLenum

    pattern $mGL_ATC_RGBA_EXPLICIT_ALPHA_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ATC_RGBA_EXPLICIT_ALPHA_AMD :: GLenum
    GL_ATC_RGBA_EXPLICIT_ALPHA_AMD = 0x8C93 :: GLenum

    pattern $mGL_ATC_RGBA_INTERPOLATED_ALPHA_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ATC_RGBA_INTERPOLATED_ALPHA_AMD :: GLenum
    GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD = 0x87EE :: GLenum

    pattern $mGL_ATC_RGB_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ATC_RGB_AMD :: GLenum
    GL_ATC_RGB_AMD = 0x8C92 :: GLenum

    pattern $mGL_ATOMIC_COUNTER_BARRIER_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ATOMIC_COUNTER_BARRIER_BIT :: GLenum
    GL_ATOMIC_COUNTER_BARRIER_BIT = 0x00001000 :: GLbitfield

    pattern $mGL_ATOMIC_COUNTER_BARRIER_BIT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ATOMIC_COUNTER_BARRIER_BIT_EXT :: GLenum
    GL_ATOMIC_COUNTER_BARRIER_BIT_EXT = 0x00001000 :: GLbitfield

    pattern $mGL_ATOMIC_COUNTER_BUFFER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ATOMIC_COUNTER_BUFFER :: GLenum
    GL_ATOMIC_COUNTER_BUFFER = 0x92C0 :: GLenum

    pattern $mGL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS :: GLenum
    GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS = 0x92C5 :: GLenum

    pattern $mGL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES :: GLenum
    GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES = 0x92C6 :: GLenum

    pattern $mGL_ATOMIC_COUNTER_BUFFER_BINDING :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ATOMIC_COUNTER_BUFFER_BINDING :: GLenum
    GL_ATOMIC_COUNTER_BUFFER_BINDING = 0x92C1 :: GLenum

    pattern $mGL_ATOMIC_COUNTER_BUFFER_DATA_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ATOMIC_COUNTER_BUFFER_DATA_SIZE :: GLenum
    GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE = 0x92C4 :: GLenum

    pattern $mGL_ATOMIC_COUNTER_BUFFER_INDEX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ATOMIC_COUNTER_BUFFER_INDEX :: GLenum
    GL_ATOMIC_COUNTER_BUFFER_INDEX = 0x9301 :: GLenum

    pattern $mGL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER :: GLenum
    GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER = 0x90ED :: GLenum

    pattern $mGL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
    GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER = 0x92CB :: GLenum

    pattern $mGL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
    GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER = 0x92CA :: GLenum

    pattern $mGL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_MESH_SHADER_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_MESH_SHADER_NV :: GLenum
    GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_MESH_SHADER_NV = 0x959E :: GLenum

    pattern $mGL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TASK_SHADER_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TASK_SHADER_NV :: GLenum
    GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TASK_SHADER_NV = 0x959F :: GLenum

    pattern $mGL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER :: GLenum
    GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER = 0x92C8 :: GLenum

    pattern $mGL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER :: GLenum
    GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x92C9 :: GLenum

    pattern $mGL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER :: GLenum
    GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER = 0x92C7 :: GLenum

    pattern $mGL_ATOMIC_COUNTER_BUFFER_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ATOMIC_COUNTER_BUFFER_SIZE :: GLenum
    GL_ATOMIC_COUNTER_BUFFER_SIZE = 0x92C3 :: GLenum

    pattern $mGL_ATOMIC_COUNTER_BUFFER_START :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ATOMIC_COUNTER_BUFFER_START :: GLenum
    GL_ATOMIC_COUNTER_BUFFER_START = 0x92C2 :: GLenum

    pattern $mGL_ATTACHED_MEMORY_OBJECT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ATTACHED_MEMORY_OBJECT_NV :: GLenum
    GL_ATTACHED_MEMORY_OBJECT_NV = 0x95A4 :: GLenum

    pattern $mGL_ATTACHED_MEMORY_OFFSET_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ATTACHED_MEMORY_OFFSET_NV :: GLenum
    GL_ATTACHED_MEMORY_OFFSET_NV = 0x95A5 :: GLenum

    pattern $mGL_ATTACHED_SHADERS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ATTACHED_SHADERS :: GLenum
    GL_ATTACHED_SHADERS = 0x8B85 :: GLenum

    pattern $mGL_ATTENUATION_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ATTENUATION_EXT :: GLenum
    GL_ATTENUATION_EXT = 0x834D :: GLenum

    pattern $mGL_ATTRIBUTE_ADDRESS_COMMAND_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ATTRIBUTE_ADDRESS_COMMAND_NV :: GLenum
    GL_ATTRIBUTE_ADDRESS_COMMAND_NV = 0x0009 :: GLenum

    pattern $mGL_ATTRIB_ARRAY_POINTER_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ATTRIB_ARRAY_POINTER_NV :: GLenum
    GL_ATTRIB_ARRAY_POINTER_NV = 0x8645 :: GLenum

    pattern $mGL_ATTRIB_ARRAY_SIZE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ATTRIB_ARRAY_SIZE_NV :: GLenum
    GL_ATTRIB_ARRAY_SIZE_NV = 0x8623 :: GLenum

    pattern $mGL_ATTRIB_ARRAY_STRIDE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ATTRIB_ARRAY_STRIDE_NV :: GLenum
    GL_ATTRIB_ARRAY_STRIDE_NV = 0x8624 :: GLenum

    pattern $mGL_ATTRIB_ARRAY_TYPE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ATTRIB_ARRAY_TYPE_NV :: GLenum
    GL_ATTRIB_ARRAY_TYPE_NV = 0x8625 :: GLenum

    pattern $mGL_ATTRIB_STACK_DEPTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ATTRIB_STACK_DEPTH :: GLenum
    GL_ATTRIB_STACK_DEPTH = 0x0BB0 :: GLenum

    pattern $mGL_AUTO_GENERATE_MIPMAP :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_AUTO_GENERATE_MIPMAP :: GLenum
    GL_AUTO_GENERATE_MIPMAP = 0x8295 :: GLenum

    pattern $mGL_AUTO_NORMAL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_AUTO_NORMAL :: GLenum
    GL_AUTO_NORMAL = 0x0D80 :: GLenum

    pattern $mGL_AUX0 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_AUX0 :: GLenum
    GL_AUX0 = 0x0409 :: GLenum

    pattern $mGL_AUX1 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_AUX1 :: GLenum
    GL_AUX1 = 0x040A :: GLenum

    pattern $mGL_AUX2 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_AUX2 :: GLenum
    GL_AUX2 = 0x040B :: GLenum

    pattern $mGL_AUX3 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_AUX3 :: GLenum
    GL_AUX3 = 0x040C :: GLenum

    pattern $mGL_AUX_BUFFERS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_AUX_BUFFERS :: GLenum
    GL_AUX_BUFFERS = 0x0C00 :: GLenum

    pattern $mGL_AUX_DEPTH_STENCIL_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_AUX_DEPTH_STENCIL_APPLE :: GLenum
    GL_AUX_DEPTH_STENCIL_APPLE = 0x8A14 :: GLenum

    pattern $mGL_AVERAGE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_AVERAGE_EXT :: GLenum
    GL_AVERAGE_EXT = 0x8335 :: GLenum

    pattern $mGL_AVERAGE_HP :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_AVERAGE_HP :: GLenum
    GL_AVERAGE_HP = 0x8160 :: GLenum

    pattern $mGL_BACK :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BACK :: GLenum
    GL_BACK = 0x0405 :: GLenum

    pattern $mGL_BACK_LEFT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BACK_LEFT :: GLenum
    GL_BACK_LEFT = 0x0402 :: GLenum

    pattern $mGL_BACK_NORMALS_HINT_PGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BACK_NORMALS_HINT_PGI :: GLenum
    GL_BACK_NORMALS_HINT_PGI = 0x1A223 :: GLenum

    pattern $mGL_BACK_PRIMARY_COLOR_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BACK_PRIMARY_COLOR_NV :: GLenum
    GL_BACK_PRIMARY_COLOR_NV = 0x8C77 :: GLenum

    pattern $mGL_BACK_RIGHT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BACK_RIGHT :: GLenum
    GL_BACK_RIGHT = 0x0403 :: GLenum

    pattern $mGL_BACK_SECONDARY_COLOR_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BACK_SECONDARY_COLOR_NV :: GLenum
    GL_BACK_SECONDARY_COLOR_NV = 0x8C78 :: GLenum

    pattern $mGL_BEVEL_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BEVEL_NV :: GLenum
    GL_BEVEL_NV = 0x90A6 :: GLenum

    pattern $mGL_BGR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BGR :: GLenum
    GL_BGR = 0x80E0 :: GLenum

    pattern $mGL_BGRA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BGRA :: GLenum
    GL_BGRA = 0x80E1 :: GLenum

    pattern $mGL_BGRA8_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BGRA8_EXT :: GLenum
    GL_BGRA8_EXT = 0x93A1 :: GLenum

    pattern $mGL_BGRA_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BGRA_EXT :: GLenum
    GL_BGRA_EXT = 0x80E1 :: GLenum

    pattern $mGL_BGRA_IMG :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BGRA_IMG :: GLenum
    GL_BGRA_IMG = 0x80E1 :: GLenum

    pattern $mGL_BGRA_INTEGER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BGRA_INTEGER :: GLenum
    GL_BGRA_INTEGER = 0x8D9B :: GLenum

    pattern $mGL_BGRA_INTEGER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BGRA_INTEGER_EXT :: GLenum
    GL_BGRA_INTEGER_EXT = 0x8D9B :: GLenum

    pattern $mGL_BGR_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BGR_EXT :: GLenum
    GL_BGR_EXT = 0x80E0 :: GLenum

    pattern $mGL_BGR_INTEGER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BGR_INTEGER :: GLenum
    GL_BGR_INTEGER = 0x8D9A :: GLenum

    pattern $mGL_BGR_INTEGER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BGR_INTEGER_EXT :: GLenum
    GL_BGR_INTEGER_EXT = 0x8D9A :: GLenum

    pattern $mGL_BIAS_BIT_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BIAS_BIT_ATI :: GLenum
    GL_BIAS_BIT_ATI = 0x00000008 :: GLbitfield

    pattern $mGL_BIAS_BY_NEGATIVE_ONE_HALF_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BIAS_BY_NEGATIVE_ONE_HALF_NV :: GLenum
    GL_BIAS_BY_NEGATIVE_ONE_HALF_NV = 0x8541 :: GLenum

    pattern $mGL_BINNING_CONTROL_HINT_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BINNING_CONTROL_HINT_QCOM :: GLenum
    GL_BINNING_CONTROL_HINT_QCOM = 0x8FB0 :: GLenum

    pattern $mGL_BINORMAL_ARRAY_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BINORMAL_ARRAY_EXT :: GLenum
    GL_BINORMAL_ARRAY_EXT = 0x843A :: GLenum

    pattern $mGL_BINORMAL_ARRAY_POINTER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BINORMAL_ARRAY_POINTER_EXT :: GLenum
    GL_BINORMAL_ARRAY_POINTER_EXT = 0x8443 :: GLenum

    pattern $mGL_BINORMAL_ARRAY_STRIDE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BINORMAL_ARRAY_STRIDE_EXT :: GLenum
    GL_BINORMAL_ARRAY_STRIDE_EXT = 0x8441 :: GLenum

    pattern $mGL_BINORMAL_ARRAY_TYPE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BINORMAL_ARRAY_TYPE_EXT :: GLenum
    GL_BINORMAL_ARRAY_TYPE_EXT = 0x8440 :: GLenum

    pattern $mGL_BITMAP :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BITMAP :: GLenum
    GL_BITMAP = 0x1A00 :: GLenum

    pattern $mGL_BITMAP_TOKEN :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BITMAP_TOKEN :: GLenum
    GL_BITMAP_TOKEN = 0x0704 :: GLenum

    pattern $mGL_BLACKHOLE_RENDER_INTEL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BLACKHOLE_RENDER_INTEL :: GLenum
    GL_BLACKHOLE_RENDER_INTEL = 0x83FC :: GLenum

    pattern $mGL_BLEND :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BLEND :: GLenum
    GL_BLEND = 0x0BE2 :: GLenum

    pattern $mGL_BLEND_ADVANCED_COHERENT_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BLEND_ADVANCED_COHERENT_KHR :: GLenum
    GL_BLEND_ADVANCED_COHERENT_KHR = 0x9285 :: GLenum

    pattern $mGL_BLEND_ADVANCED_COHERENT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BLEND_ADVANCED_COHERENT_NV :: GLenum
    GL_BLEND_ADVANCED_COHERENT_NV = 0x9285 :: GLenum

    pattern $mGL_BLEND_COLOR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BLEND_COLOR :: GLenum
    GL_BLEND_COLOR = 0x8005 :: GLenum

    pattern $mGL_BLEND_COLOR_COMMAND_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BLEND_COLOR_COMMAND_NV :: GLenum
    GL_BLEND_COLOR_COMMAND_NV = 0x000B :: GLenum

    pattern $mGL_BLEND_COLOR_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BLEND_COLOR_EXT :: GLenum
    GL_BLEND_COLOR_EXT = 0x8005 :: GLenum

    pattern $mGL_BLEND_DST :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BLEND_DST :: GLenum
    GL_BLEND_DST = 0x0BE0 :: GLenum

    pattern $mGL_BLEND_DST_ALPHA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BLEND_DST_ALPHA :: GLenum
    GL_BLEND_DST_ALPHA = 0x80CA :: GLenum

    pattern $mGL_BLEND_DST_ALPHA_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BLEND_DST_ALPHA_EXT :: GLenum
    GL_BLEND_DST_ALPHA_EXT = 0x80CA :: GLenum

    pattern $mGL_BLEND_DST_ALPHA_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BLEND_DST_ALPHA_OES :: GLenum
    GL_BLEND_DST_ALPHA_OES = 0x80CA :: GLenum

    pattern $mGL_BLEND_DST_RGB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BLEND_DST_RGB :: GLenum
    GL_BLEND_DST_RGB = 0x80C8 :: GLenum

    pattern $mGL_BLEND_DST_RGB_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BLEND_DST_RGB_EXT :: GLenum
    GL_BLEND_DST_RGB_EXT = 0x80C8 :: GLenum

    pattern $mGL_BLEND_DST_RGB_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BLEND_DST_RGB_OES :: GLenum
    GL_BLEND_DST_RGB_OES = 0x80C8 :: GLenum

    pattern $mGL_BLEND_EQUATION :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BLEND_EQUATION :: GLenum
    GL_BLEND_EQUATION = 0x8009 :: GLenum

    pattern $mGL_BLEND_EQUATION_ALPHA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BLEND_EQUATION_ALPHA :: GLenum
    GL_BLEND_EQUATION_ALPHA = 0x883D :: GLenum

    pattern $mGL_BLEND_EQUATION_ALPHA_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BLEND_EQUATION_ALPHA_EXT :: GLenum
    GL_BLEND_EQUATION_ALPHA_EXT = 0x883D :: GLenum

    pattern $mGL_BLEND_EQUATION_ALPHA_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BLEND_EQUATION_ALPHA_OES :: GLenum
    GL_BLEND_EQUATION_ALPHA_OES = 0x883D :: GLenum

    pattern $mGL_BLEND_EQUATION_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BLEND_EQUATION_EXT :: GLenum
    GL_BLEND_EQUATION_EXT = 0x8009 :: GLenum

    pattern $mGL_BLEND_EQUATION_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BLEND_EQUATION_OES :: GLenum
    GL_BLEND_EQUATION_OES = 0x8009 :: GLenum

    pattern $mGL_BLEND_EQUATION_RGB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BLEND_EQUATION_RGB :: GLenum
    GL_BLEND_EQUATION_RGB = 0x8009 :: GLenum

    pattern $mGL_BLEND_EQUATION_RGB_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BLEND_EQUATION_RGB_EXT :: GLenum
    GL_BLEND_EQUATION_RGB_EXT = 0x8009 :: GLenum

    pattern $mGL_BLEND_EQUATION_RGB_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BLEND_EQUATION_RGB_OES :: GLenum
    GL_BLEND_EQUATION_RGB_OES = 0x8009 :: GLenum

    pattern $mGL_BLEND_OVERLAP_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BLEND_OVERLAP_NV :: GLenum
    GL_BLEND_OVERLAP_NV = 0x9281 :: GLenum

    pattern $mGL_BLEND_PREMULTIPLIED_SRC_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BLEND_PREMULTIPLIED_SRC_NV :: GLenum
    GL_BLEND_PREMULTIPLIED_SRC_NV = 0x9280 :: GLenum

    pattern $mGL_BLEND_SRC :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BLEND_SRC :: GLenum
    GL_BLEND_SRC = 0x0BE1 :: GLenum

    pattern $mGL_BLEND_SRC_ALPHA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BLEND_SRC_ALPHA :: GLenum
    GL_BLEND_SRC_ALPHA = 0x80CB :: GLenum

    pattern $mGL_BLEND_SRC_ALPHA_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BLEND_SRC_ALPHA_EXT :: GLenum
    GL_BLEND_SRC_ALPHA_EXT = 0x80CB :: GLenum

    pattern $mGL_BLEND_SRC_ALPHA_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BLEND_SRC_ALPHA_OES :: GLenum
    GL_BLEND_SRC_ALPHA_OES = 0x80CB :: GLenum

    pattern $mGL_BLEND_SRC_RGB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BLEND_SRC_RGB :: GLenum
    GL_BLEND_SRC_RGB = 0x80C9 :: GLenum

    pattern $mGL_BLEND_SRC_RGB_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BLEND_SRC_RGB_EXT :: GLenum
    GL_BLEND_SRC_RGB_EXT = 0x80C9 :: GLenum

    pattern $mGL_BLEND_SRC_RGB_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BLEND_SRC_RGB_OES :: GLenum
    GL_BLEND_SRC_RGB_OES = 0x80C9 :: GLenum

    pattern $mGL_BLOCK_INDEX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BLOCK_INDEX :: GLenum
    GL_BLOCK_INDEX = 0x92FD :: GLenum

    pattern $mGL_BLUE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BLUE :: GLenum
    GL_BLUE = 0x1905 :: GLenum

    pattern $mGL_BLUE_BIAS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BLUE_BIAS :: GLenum
    GL_BLUE_BIAS = 0x0D1B :: GLenum

    pattern $mGL_BLUE_BITS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BLUE_BITS :: GLenum
    GL_BLUE_BITS = 0x0D54 :: GLenum

    pattern $mGL_BLUE_BIT_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BLUE_BIT_ATI :: GLenum
    GL_BLUE_BIT_ATI = 0x00000004 :: GLbitfield

    pattern $mGL_BLUE_INTEGER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BLUE_INTEGER :: GLenum
    GL_BLUE_INTEGER = 0x8D96 :: GLenum

    pattern $mGL_BLUE_INTEGER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BLUE_INTEGER_EXT :: GLenum
    GL_BLUE_INTEGER_EXT = 0x8D96 :: GLenum

    pattern $mGL_BLUE_MAX_CLAMP_INGR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BLUE_MAX_CLAMP_INGR :: GLenum
    GL_BLUE_MAX_CLAMP_INGR = 0x8566 :: GLenum

    pattern $mGL_BLUE_MIN_CLAMP_INGR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BLUE_MIN_CLAMP_INGR :: GLenum
    GL_BLUE_MIN_CLAMP_INGR = 0x8562 :: GLenum

    pattern $mGL_BLUE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BLUE_NV :: GLenum
    GL_BLUE_NV = 0x1905 :: GLenum

    pattern $mGL_BLUE_SCALE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BLUE_SCALE :: GLenum
    GL_BLUE_SCALE = 0x0D1A :: GLenum

    pattern $mGL_BOLD_BIT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BOLD_BIT_NV :: GLenum
    GL_BOLD_BIT_NV = 0x01 :: GLbitfield

    pattern $mGL_BOOL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BOOL :: GLenum
    GL_BOOL = 0x8B56 :: GLenum

    pattern $mGL_BOOL_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BOOL_ARB :: GLenum
    GL_BOOL_ARB = 0x8B56 :: GLenum

    pattern $mGL_BOOL_VEC2 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BOOL_VEC2 :: GLenum
    GL_BOOL_VEC2 = 0x8B57 :: GLenum

    pattern $mGL_BOOL_VEC2_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BOOL_VEC2_ARB :: GLenum
    GL_BOOL_VEC2_ARB = 0x8B57 :: GLenum

    pattern $mGL_BOOL_VEC3 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BOOL_VEC3 :: GLenum
    GL_BOOL_VEC3 = 0x8B58 :: GLenum

    pattern $mGL_BOOL_VEC3_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BOOL_VEC3_ARB :: GLenum
    GL_BOOL_VEC3_ARB = 0x8B58 :: GLenum

    pattern $mGL_BOOL_VEC4 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BOOL_VEC4 :: GLenum
    GL_BOOL_VEC4 = 0x8B59 :: GLenum

    pattern $mGL_BOOL_VEC4_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BOOL_VEC4_ARB :: GLenum
    GL_BOOL_VEC4_ARB = 0x8B59 :: GLenum

    pattern $mGL_BOUNDING_BOX_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BOUNDING_BOX_NV :: GLenum
    GL_BOUNDING_BOX_NV = 0x908D :: GLenum

    pattern $mGL_BOUNDING_BOX_OF_BOUNDING_BOXES_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BOUNDING_BOX_OF_BOUNDING_BOXES_NV :: GLenum
    GL_BOUNDING_BOX_OF_BOUNDING_BOXES_NV = 0x909C :: GLenum

    pattern $mGL_BROWSER_DEFAULT_WEBGL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BROWSER_DEFAULT_WEBGL :: GLenum
    GL_BROWSER_DEFAULT_WEBGL = 0x9244 :: GLenum

    pattern $mGL_BUFFER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BUFFER :: GLenum
    GL_BUFFER = 0x82E0 :: GLenum

    pattern $mGL_BUFFER_ACCESS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BUFFER_ACCESS :: GLenum
    GL_BUFFER_ACCESS = 0x88BB :: GLenum

    pattern $mGL_BUFFER_ACCESS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BUFFER_ACCESS_ARB :: GLenum
    GL_BUFFER_ACCESS_ARB = 0x88BB :: GLenum

    pattern $mGL_BUFFER_ACCESS_FLAGS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BUFFER_ACCESS_FLAGS :: GLenum
    GL_BUFFER_ACCESS_FLAGS = 0x911F :: GLenum

    pattern $mGL_BUFFER_ACCESS_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BUFFER_ACCESS_OES :: GLenum
    GL_BUFFER_ACCESS_OES = 0x88BB :: GLenum

    pattern $mGL_BUFFER_BINDING :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BUFFER_BINDING :: GLenum
    GL_BUFFER_BINDING = 0x9302 :: GLenum

    pattern $mGL_BUFFER_DATA_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BUFFER_DATA_SIZE :: GLenum
    GL_BUFFER_DATA_SIZE = 0x9303 :: GLenum

    pattern $mGL_BUFFER_FLUSHING_UNMAP_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BUFFER_FLUSHING_UNMAP_APPLE :: GLenum
    GL_BUFFER_FLUSHING_UNMAP_APPLE = 0x8A13 :: GLenum

    pattern $mGL_BUFFER_GPU_ADDRESS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BUFFER_GPU_ADDRESS_NV :: GLenum
    GL_BUFFER_GPU_ADDRESS_NV = 0x8F1D :: GLenum

    pattern $mGL_BUFFER_IMMUTABLE_STORAGE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BUFFER_IMMUTABLE_STORAGE :: GLenum
    GL_BUFFER_IMMUTABLE_STORAGE = 0x821F :: GLenum

    pattern $mGL_BUFFER_IMMUTABLE_STORAGE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BUFFER_IMMUTABLE_STORAGE_EXT :: GLenum
    GL_BUFFER_IMMUTABLE_STORAGE_EXT = 0x821F :: GLenum

    pattern $mGL_BUFFER_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BUFFER_KHR :: GLenum
    GL_BUFFER_KHR = 0x82E0 :: GLenum

    pattern $mGL_BUFFER_MAPPED :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BUFFER_MAPPED :: GLenum
    GL_BUFFER_MAPPED = 0x88BC :: GLenum

    pattern $mGL_BUFFER_MAPPED_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BUFFER_MAPPED_ARB :: GLenum
    GL_BUFFER_MAPPED_ARB = 0x88BC :: GLenum

    pattern $mGL_BUFFER_MAPPED_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BUFFER_MAPPED_OES :: GLenum
    GL_BUFFER_MAPPED_OES = 0x88BC :: GLenum

    pattern $mGL_BUFFER_MAP_LENGTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BUFFER_MAP_LENGTH :: GLenum
    GL_BUFFER_MAP_LENGTH = 0x9120 :: GLenum

    pattern $mGL_BUFFER_MAP_OFFSET :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BUFFER_MAP_OFFSET :: GLenum
    GL_BUFFER_MAP_OFFSET = 0x9121 :: GLenum

    pattern $mGL_BUFFER_MAP_POINTER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BUFFER_MAP_POINTER :: GLenum
    GL_BUFFER_MAP_POINTER = 0x88BD :: GLenum

    pattern $mGL_BUFFER_MAP_POINTER_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BUFFER_MAP_POINTER_ARB :: GLenum
    GL_BUFFER_MAP_POINTER_ARB = 0x88BD :: GLenum

    pattern $mGL_BUFFER_MAP_POINTER_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BUFFER_MAP_POINTER_OES :: GLenum
    GL_BUFFER_MAP_POINTER_OES = 0x88BD :: GLenum

    pattern $mGL_BUFFER_OBJECT_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BUFFER_OBJECT_APPLE :: GLenum
    GL_BUFFER_OBJECT_APPLE = 0x85B3 :: GLenum

    pattern $mGL_BUFFER_OBJECT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BUFFER_OBJECT_EXT :: GLenum
    GL_BUFFER_OBJECT_EXT = 0x9151 :: GLenum

    pattern $mGL_BUFFER_SERIALIZED_MODIFY_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BUFFER_SERIALIZED_MODIFY_APPLE :: GLenum
    GL_BUFFER_SERIALIZED_MODIFY_APPLE = 0x8A12 :: GLenum

    pattern $mGL_BUFFER_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BUFFER_SIZE :: GLenum
    GL_BUFFER_SIZE = 0x8764 :: GLenum

    pattern $mGL_BUFFER_SIZE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BUFFER_SIZE_ARB :: GLenum
    GL_BUFFER_SIZE_ARB = 0x8764 :: GLenum

    pattern $mGL_BUFFER_STORAGE_FLAGS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BUFFER_STORAGE_FLAGS :: GLenum
    GL_BUFFER_STORAGE_FLAGS = 0x8220 :: GLenum

    pattern $mGL_BUFFER_STORAGE_FLAGS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BUFFER_STORAGE_FLAGS_EXT :: GLenum
    GL_BUFFER_STORAGE_FLAGS_EXT = 0x8220 :: GLenum

    pattern $mGL_BUFFER_UPDATE_BARRIER_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BUFFER_UPDATE_BARRIER_BIT :: GLenum
    GL_BUFFER_UPDATE_BARRIER_BIT = 0x00000200 :: GLbitfield

    pattern $mGL_BUFFER_UPDATE_BARRIER_BIT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BUFFER_UPDATE_BARRIER_BIT_EXT :: GLenum
    GL_BUFFER_UPDATE_BARRIER_BIT_EXT = 0x00000200 :: GLbitfield

    pattern $mGL_BUFFER_USAGE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BUFFER_USAGE :: GLenum
    GL_BUFFER_USAGE = 0x8765 :: GLenum

    pattern $mGL_BUFFER_USAGE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BUFFER_USAGE_ARB :: GLenum
    GL_BUFFER_USAGE_ARB = 0x8765 :: GLenum

    pattern $mGL_BUFFER_VARIABLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BUFFER_VARIABLE :: GLenum
    GL_BUFFER_VARIABLE = 0x92E5 :: GLenum

    pattern $mGL_BUMP_ENVMAP_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BUMP_ENVMAP_ATI :: GLenum
    GL_BUMP_ENVMAP_ATI = 0x877B :: GLenum

    pattern $mGL_BUMP_NUM_TEX_UNITS_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BUMP_NUM_TEX_UNITS_ATI :: GLenum
    GL_BUMP_NUM_TEX_UNITS_ATI = 0x8777 :: GLenum

    pattern $mGL_BUMP_ROT_MATRIX_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BUMP_ROT_MATRIX_ATI :: GLenum
    GL_BUMP_ROT_MATRIX_ATI = 0x8775 :: GLenum

    pattern $mGL_BUMP_ROT_MATRIX_SIZE_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BUMP_ROT_MATRIX_SIZE_ATI :: GLenum
    GL_BUMP_ROT_MATRIX_SIZE_ATI = 0x8776 :: GLenum

    pattern $mGL_BUMP_TARGET_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BUMP_TARGET_ATI :: GLenum
    GL_BUMP_TARGET_ATI = 0x877C :: GLenum

    pattern $mGL_BUMP_TEX_UNITS_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BUMP_TEX_UNITS_ATI :: GLenum
    GL_BUMP_TEX_UNITS_ATI = 0x8778 :: GLenum

    pattern $mGL_BYTE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_BYTE :: GLenum
    GL_BYTE = 0x1400 :: GLenum

    pattern $mGL_C3F_V3F :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_C3F_V3F :: GLenum
    GL_C3F_V3F = 0x2A24 :: GLenum

    pattern $mGL_C4F_N3F_V3F :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_C4F_N3F_V3F :: GLenum
    GL_C4F_N3F_V3F = 0x2A26 :: GLenum

    pattern $mGL_C4UB_V2F :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_C4UB_V2F :: GLenum
    GL_C4UB_V2F = 0x2A22 :: GLenum

    pattern $mGL_C4UB_V3F :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_C4UB_V3F :: GLenum
    GL_C4UB_V3F = 0x2A23 :: GLenum

    pattern $mGL_CALLIGRAPHIC_FRAGMENT_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CALLIGRAPHIC_FRAGMENT_SGIX :: GLenum
    GL_CALLIGRAPHIC_FRAGMENT_SGIX = 0x8183 :: GLenum

    pattern $mGL_CAVEAT_SUPPORT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CAVEAT_SUPPORT :: GLenum
    GL_CAVEAT_SUPPORT = 0x82B8 :: GLenum

    pattern $mGL_CCW :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CCW :: GLenum
    GL_CCW = 0x0901 :: GLenum

    pattern $mGL_CIRCULAR_CCW_ARC_TO_NV :: forall {r}. GLubyte -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CIRCULAR_CCW_ARC_TO_NV :: GLubyte
    GL_CIRCULAR_CCW_ARC_TO_NV = 0xF8 :: GLubyte

    pattern $mGL_CIRCULAR_CW_ARC_TO_NV :: forall {r}. GLubyte -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CIRCULAR_CW_ARC_TO_NV :: GLubyte
    GL_CIRCULAR_CW_ARC_TO_NV = 0xFA :: GLubyte

    pattern $mGL_CIRCULAR_TANGENT_ARC_TO_NV :: forall {r}. GLubyte -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CIRCULAR_TANGENT_ARC_TO_NV :: GLubyte
    GL_CIRCULAR_TANGENT_ARC_TO_NV = 0xFC :: GLubyte

    pattern $mGL_CLAMP :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLAMP :: GLenum
    GL_CLAMP = 0x2900 :: GLenum

    pattern $mGL_CLAMP_FRAGMENT_COLOR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLAMP_FRAGMENT_COLOR :: GLenum
    GL_CLAMP_FRAGMENT_COLOR = 0x891B :: GLenum

    pattern $mGL_CLAMP_FRAGMENT_COLOR_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLAMP_FRAGMENT_COLOR_ARB :: GLenum
    GL_CLAMP_FRAGMENT_COLOR_ARB = 0x891B :: GLenum

    pattern $mGL_CLAMP_READ_COLOR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLAMP_READ_COLOR :: GLenum
    GL_CLAMP_READ_COLOR = 0x891C :: GLenum

    pattern $mGL_CLAMP_READ_COLOR_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLAMP_READ_COLOR_ARB :: GLenum
    GL_CLAMP_READ_COLOR_ARB = 0x891C :: GLenum

    pattern $mGL_CLAMP_TO_BORDER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLAMP_TO_BORDER :: GLenum
    GL_CLAMP_TO_BORDER = 0x812D :: GLenum

    pattern $mGL_CLAMP_TO_BORDER_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLAMP_TO_BORDER_ARB :: GLenum
    GL_CLAMP_TO_BORDER_ARB = 0x812D :: GLenum

    pattern $mGL_CLAMP_TO_BORDER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLAMP_TO_BORDER_EXT :: GLenum
    GL_CLAMP_TO_BORDER_EXT = 0x812D :: GLenum

    pattern $mGL_CLAMP_TO_BORDER_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLAMP_TO_BORDER_NV :: GLenum
    GL_CLAMP_TO_BORDER_NV = 0x812D :: GLenum

    pattern $mGL_CLAMP_TO_BORDER_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLAMP_TO_BORDER_OES :: GLenum
    GL_CLAMP_TO_BORDER_OES = 0x812D :: GLenum

    pattern $mGL_CLAMP_TO_BORDER_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLAMP_TO_BORDER_SGIS :: GLenum
    GL_CLAMP_TO_BORDER_SGIS = 0x812D :: GLenum

    pattern $mGL_CLAMP_TO_EDGE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLAMP_TO_EDGE :: GLenum
    GL_CLAMP_TO_EDGE = 0x812F :: GLenum

    pattern $mGL_CLAMP_TO_EDGE_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLAMP_TO_EDGE_SGIS :: GLenum
    GL_CLAMP_TO_EDGE_SGIS = 0x812F :: GLenum

    pattern $mGL_CLAMP_VERTEX_COLOR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLAMP_VERTEX_COLOR :: GLenum
    GL_CLAMP_VERTEX_COLOR = 0x891A :: GLenum

    pattern $mGL_CLAMP_VERTEX_COLOR_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLAMP_VERTEX_COLOR_ARB :: GLenum
    GL_CLAMP_VERTEX_COLOR_ARB = 0x891A :: GLenum

    pattern $mGL_CLEAR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLEAR :: GLenum
    GL_CLEAR = 0x1500 :: GLenum

    pattern $mGL_CLEAR_BUFFER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLEAR_BUFFER :: GLenum
    GL_CLEAR_BUFFER = 0x82B4 :: GLenum

    pattern $mGL_CLEAR_TEXTURE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLEAR_TEXTURE :: GLenum
    GL_CLEAR_TEXTURE = 0x9365 :: GLenum

    pattern $mGL_CLIENT_ACTIVE_TEXTURE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIENT_ACTIVE_TEXTURE :: GLenum
    GL_CLIENT_ACTIVE_TEXTURE = 0x84E1 :: GLenum

    pattern $mGL_CLIENT_ACTIVE_TEXTURE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIENT_ACTIVE_TEXTURE_ARB :: GLenum
    GL_CLIENT_ACTIVE_TEXTURE_ARB = 0x84E1 :: GLenum

    pattern $mGL_CLIENT_ALL_ATTRIB_BITS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIENT_ALL_ATTRIB_BITS :: GLenum
    GL_CLIENT_ALL_ATTRIB_BITS = 0xFFFFFFFF :: GLbitfield

    pattern $mGL_CLIENT_ATTRIB_STACK_DEPTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIENT_ATTRIB_STACK_DEPTH :: GLenum
    GL_CLIENT_ATTRIB_STACK_DEPTH = 0x0BB1 :: GLenum

    pattern $mGL_CLIENT_MAPPED_BUFFER_BARRIER_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIENT_MAPPED_BUFFER_BARRIER_BIT :: GLenum
    GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT = 0x00004000 :: GLbitfield

    pattern $mGL_CLIENT_MAPPED_BUFFER_BARRIER_BIT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIENT_MAPPED_BUFFER_BARRIER_BIT_EXT :: GLenum
    GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT_EXT = 0x00004000 :: GLbitfield

    pattern $mGL_CLIENT_PIXEL_STORE_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIENT_PIXEL_STORE_BIT :: GLenum
    GL_CLIENT_PIXEL_STORE_BIT = 0x00000001 :: GLbitfield

    pattern $mGL_CLIENT_STORAGE_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIENT_STORAGE_BIT :: GLenum
    GL_CLIENT_STORAGE_BIT = 0x0200 :: GLbitfield

    pattern $mGL_CLIENT_STORAGE_BIT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIENT_STORAGE_BIT_EXT :: GLenum
    GL_CLIENT_STORAGE_BIT_EXT = 0x0200 :: GLbitfield

    pattern $mGL_CLIENT_VERTEX_ARRAY_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIENT_VERTEX_ARRAY_BIT :: GLenum
    GL_CLIENT_VERTEX_ARRAY_BIT = 0x00000002 :: GLbitfield

    pattern $mGL_CLIPPING_INPUT_PRIMITIVES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIPPING_INPUT_PRIMITIVES :: GLenum
    GL_CLIPPING_INPUT_PRIMITIVES = 0x82F6 :: GLenum

    pattern $mGL_CLIPPING_INPUT_PRIMITIVES_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIPPING_INPUT_PRIMITIVES_ARB :: GLenum
    GL_CLIPPING_INPUT_PRIMITIVES_ARB = 0x82F6 :: GLenum

    pattern $mGL_CLIPPING_OUTPUT_PRIMITIVES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIPPING_OUTPUT_PRIMITIVES :: GLenum
    GL_CLIPPING_OUTPUT_PRIMITIVES = 0x82F7 :: GLenum

    pattern $mGL_CLIPPING_OUTPUT_PRIMITIVES_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIPPING_OUTPUT_PRIMITIVES_ARB :: GLenum
    GL_CLIPPING_OUTPUT_PRIMITIVES_ARB = 0x82F7 :: GLenum

    pattern $mGL_CLIP_DEPTH_MODE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIP_DEPTH_MODE :: GLenum
    GL_CLIP_DEPTH_MODE = 0x935D :: GLenum

    pattern $mGL_CLIP_DEPTH_MODE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIP_DEPTH_MODE_EXT :: GLenum
    GL_CLIP_DEPTH_MODE_EXT = 0x935D :: GLenum

    pattern $mGL_CLIP_DISTANCE0 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIP_DISTANCE0 :: GLenum
    GL_CLIP_DISTANCE0 = 0x3000 :: GLenum

    pattern $mGL_CLIP_DISTANCE0_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIP_DISTANCE0_APPLE :: GLenum
    GL_CLIP_DISTANCE0_APPLE = 0x3000 :: GLenum

    pattern $mGL_CLIP_DISTANCE0_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIP_DISTANCE0_EXT :: GLenum
    GL_CLIP_DISTANCE0_EXT = 0x3000 :: GLenum

    pattern $mGL_CLIP_DISTANCE1 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIP_DISTANCE1 :: GLenum
    GL_CLIP_DISTANCE1 = 0x3001 :: GLenum

    pattern $mGL_CLIP_DISTANCE1_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIP_DISTANCE1_APPLE :: GLenum
    GL_CLIP_DISTANCE1_APPLE = 0x3001 :: GLenum

    pattern $mGL_CLIP_DISTANCE1_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIP_DISTANCE1_EXT :: GLenum
    GL_CLIP_DISTANCE1_EXT = 0x3001 :: GLenum

    pattern $mGL_CLIP_DISTANCE2 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIP_DISTANCE2 :: GLenum
    GL_CLIP_DISTANCE2 = 0x3002 :: GLenum

    pattern $mGL_CLIP_DISTANCE2_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIP_DISTANCE2_APPLE :: GLenum
    GL_CLIP_DISTANCE2_APPLE = 0x3002 :: GLenum

    pattern $mGL_CLIP_DISTANCE2_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIP_DISTANCE2_EXT :: GLenum
    GL_CLIP_DISTANCE2_EXT = 0x3002 :: GLenum

    pattern $mGL_CLIP_DISTANCE3 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIP_DISTANCE3 :: GLenum
    GL_CLIP_DISTANCE3 = 0x3003 :: GLenum

    pattern $mGL_CLIP_DISTANCE3_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIP_DISTANCE3_APPLE :: GLenum
    GL_CLIP_DISTANCE3_APPLE = 0x3003 :: GLenum

    pattern $mGL_CLIP_DISTANCE3_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIP_DISTANCE3_EXT :: GLenum
    GL_CLIP_DISTANCE3_EXT = 0x3003 :: GLenum

    pattern $mGL_CLIP_DISTANCE4 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIP_DISTANCE4 :: GLenum
    GL_CLIP_DISTANCE4 = 0x3004 :: GLenum

    pattern $mGL_CLIP_DISTANCE4_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIP_DISTANCE4_APPLE :: GLenum
    GL_CLIP_DISTANCE4_APPLE = 0x3004 :: GLenum

    pattern $mGL_CLIP_DISTANCE4_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIP_DISTANCE4_EXT :: GLenum
    GL_CLIP_DISTANCE4_EXT = 0x3004 :: GLenum

    pattern $mGL_CLIP_DISTANCE5 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIP_DISTANCE5 :: GLenum
    GL_CLIP_DISTANCE5 = 0x3005 :: GLenum

    pattern $mGL_CLIP_DISTANCE5_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIP_DISTANCE5_APPLE :: GLenum
    GL_CLIP_DISTANCE5_APPLE = 0x3005 :: GLenum

    pattern $mGL_CLIP_DISTANCE5_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIP_DISTANCE5_EXT :: GLenum
    GL_CLIP_DISTANCE5_EXT = 0x3005 :: GLenum

    pattern $mGL_CLIP_DISTANCE6 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIP_DISTANCE6 :: GLenum
    GL_CLIP_DISTANCE6 = 0x3006 :: GLenum

    pattern $mGL_CLIP_DISTANCE6_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIP_DISTANCE6_APPLE :: GLenum
    GL_CLIP_DISTANCE6_APPLE = 0x3006 :: GLenum

    pattern $mGL_CLIP_DISTANCE6_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIP_DISTANCE6_EXT :: GLenum
    GL_CLIP_DISTANCE6_EXT = 0x3006 :: GLenum

    pattern $mGL_CLIP_DISTANCE7 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIP_DISTANCE7 :: GLenum
    GL_CLIP_DISTANCE7 = 0x3007 :: GLenum

    pattern $mGL_CLIP_DISTANCE7_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIP_DISTANCE7_APPLE :: GLenum
    GL_CLIP_DISTANCE7_APPLE = 0x3007 :: GLenum

    pattern $mGL_CLIP_DISTANCE7_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIP_DISTANCE7_EXT :: GLenum
    GL_CLIP_DISTANCE7_EXT = 0x3007 :: GLenum

    pattern $mGL_CLIP_DISTANCE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIP_DISTANCE_NV :: GLenum
    GL_CLIP_DISTANCE_NV = 0x8C7A :: GLenum

    pattern $mGL_CLIP_FAR_HINT_PGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIP_FAR_HINT_PGI :: GLenum
    GL_CLIP_FAR_HINT_PGI = 0x1A221 :: GLenum

    pattern $mGL_CLIP_NEAR_HINT_PGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIP_NEAR_HINT_PGI :: GLenum
    GL_CLIP_NEAR_HINT_PGI = 0x1A220 :: GLenum

    pattern $mGL_CLIP_ORIGIN :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIP_ORIGIN :: GLenum
    GL_CLIP_ORIGIN = 0x935C :: GLenum

    pattern $mGL_CLIP_ORIGIN_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIP_ORIGIN_EXT :: GLenum
    GL_CLIP_ORIGIN_EXT = 0x935C :: GLenum

    pattern $mGL_CLIP_PLANE0 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIP_PLANE0 :: GLenum
    GL_CLIP_PLANE0 = 0x3000 :: GLenum

    pattern $mGL_CLIP_PLANE0_IMG :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIP_PLANE0_IMG :: GLenum
    GL_CLIP_PLANE0_IMG = 0x3000 :: GLenum

    pattern $mGL_CLIP_PLANE1 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIP_PLANE1 :: GLenum
    GL_CLIP_PLANE1 = 0x3001 :: GLenum

    pattern $mGL_CLIP_PLANE1_IMG :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIP_PLANE1_IMG :: GLenum
    GL_CLIP_PLANE1_IMG = 0x3001 :: GLenum

    pattern $mGL_CLIP_PLANE2 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIP_PLANE2 :: GLenum
    GL_CLIP_PLANE2 = 0x3002 :: GLenum

    pattern $mGL_CLIP_PLANE2_IMG :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIP_PLANE2_IMG :: GLenum
    GL_CLIP_PLANE2_IMG = 0x3002 :: GLenum

    pattern $mGL_CLIP_PLANE3 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIP_PLANE3 :: GLenum
    GL_CLIP_PLANE3 = 0x3003 :: GLenum

    pattern $mGL_CLIP_PLANE3_IMG :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIP_PLANE3_IMG :: GLenum
    GL_CLIP_PLANE3_IMG = 0x3003 :: GLenum

    pattern $mGL_CLIP_PLANE4 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIP_PLANE4 :: GLenum
    GL_CLIP_PLANE4 = 0x3004 :: GLenum

    pattern $mGL_CLIP_PLANE4_IMG :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIP_PLANE4_IMG :: GLenum
    GL_CLIP_PLANE4_IMG = 0x3004 :: GLenum

    pattern $mGL_CLIP_PLANE5 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIP_PLANE5 :: GLenum
    GL_CLIP_PLANE5 = 0x3005 :: GLenum

    pattern $mGL_CLIP_PLANE5_IMG :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIP_PLANE5_IMG :: GLenum
    GL_CLIP_PLANE5_IMG = 0x3005 :: GLenum

    pattern $mGL_CLIP_VOLUME_CLIPPING_HINT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLIP_VOLUME_CLIPPING_HINT_EXT :: GLenum
    GL_CLIP_VOLUME_CLIPPING_HINT_EXT = 0x80F0 :: GLenum

    pattern $mGL_CLOSE_PATH_NV :: forall {r}. GLubyte -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CLOSE_PATH_NV :: GLubyte
    GL_CLOSE_PATH_NV = 0x00 :: GLubyte

    pattern $mGL_CMYKA_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CMYKA_EXT :: GLenum
    GL_CMYKA_EXT = 0x800D :: GLenum

    pattern $mGL_CMYK_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CMYK_EXT :: GLenum
    GL_CMYK_EXT = 0x800C :: GLenum

    pattern $mGL_CND0_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CND0_ATI :: GLenum
    GL_CND0_ATI = 0x896B :: GLenum

    pattern $mGL_CND_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CND_ATI :: GLenum
    GL_CND_ATI = 0x896A :: GLenum

    pattern $mGL_COEFF :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COEFF :: GLenum
    GL_COEFF = 0x0A00 :: GLenum

    pattern $mGL_COLOR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR :: GLenum
    GL_COLOR = 0x1800 :: GLenum

    pattern $mGL_COLOR3_BIT_PGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR3_BIT_PGI :: GLenum
    GL_COLOR3_BIT_PGI = 0x00010000 :: GLbitfield

    pattern $mGL_COLOR4_BIT_PGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR4_BIT_PGI :: GLenum
    GL_COLOR4_BIT_PGI = 0x00020000 :: GLbitfield

    pattern $mGL_COLORBURN :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLORBURN :: GLenum
    GL_COLORBURN = 0x929A :: GLenum

    pattern $mGL_COLORBURN_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLORBURN_KHR :: GLenum
    GL_COLORBURN_KHR = 0x929A :: GLenum

    pattern $mGL_COLORBURN_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLORBURN_NV :: GLenum
    GL_COLORBURN_NV = 0x929A :: GLenum

    pattern $mGL_COLORDODGE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLORDODGE :: GLenum
    GL_COLORDODGE = 0x9299 :: GLenum

    pattern $mGL_COLORDODGE_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLORDODGE_KHR :: GLenum
    GL_COLORDODGE_KHR = 0x9299 :: GLenum

    pattern $mGL_COLORDODGE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLORDODGE_NV :: GLenum
    GL_COLORDODGE_NV = 0x9299 :: GLenum

    pattern $mGL_COLOR_ALPHA_PAIRING_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ALPHA_PAIRING_ATI :: GLenum
    GL_COLOR_ALPHA_PAIRING_ATI = 0x8975 :: GLenum

    pattern $mGL_COLOR_ARRAY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ARRAY :: GLenum
    GL_COLOR_ARRAY = 0x8076 :: GLenum

    pattern $mGL_COLOR_ARRAY_ADDRESS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ARRAY_ADDRESS_NV :: GLenum
    GL_COLOR_ARRAY_ADDRESS_NV = 0x8F23 :: GLenum

    pattern $mGL_COLOR_ARRAY_BUFFER_BINDING :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ARRAY_BUFFER_BINDING :: GLenum
    GL_COLOR_ARRAY_BUFFER_BINDING = 0x8898 :: GLenum

    pattern $mGL_COLOR_ARRAY_BUFFER_BINDING_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ARRAY_BUFFER_BINDING_ARB :: GLenum
    GL_COLOR_ARRAY_BUFFER_BINDING_ARB = 0x8898 :: GLenum

    pattern $mGL_COLOR_ARRAY_COUNT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ARRAY_COUNT_EXT :: GLenum
    GL_COLOR_ARRAY_COUNT_EXT = 0x8084 :: GLenum

    pattern $mGL_COLOR_ARRAY_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ARRAY_EXT :: GLenum
    GL_COLOR_ARRAY_EXT = 0x8076 :: GLenum

    pattern $mGL_COLOR_ARRAY_LENGTH_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ARRAY_LENGTH_NV :: GLenum
    GL_COLOR_ARRAY_LENGTH_NV = 0x8F2D :: GLenum

    pattern $mGL_COLOR_ARRAY_LIST_IBM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ARRAY_LIST_IBM :: GLenum
    GL_COLOR_ARRAY_LIST_IBM = 103072 :: GLenum

    pattern $mGL_COLOR_ARRAY_LIST_STRIDE_IBM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ARRAY_LIST_STRIDE_IBM :: GLenum
    GL_COLOR_ARRAY_LIST_STRIDE_IBM = 103082 :: GLenum

    pattern $mGL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL :: GLenum
    GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F7 :: GLenum

    pattern $mGL_COLOR_ARRAY_POINTER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ARRAY_POINTER :: GLenum
    GL_COLOR_ARRAY_POINTER = 0x8090 :: GLenum

    pattern $mGL_COLOR_ARRAY_POINTER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ARRAY_POINTER_EXT :: GLenum
    GL_COLOR_ARRAY_POINTER_EXT = 0x8090 :: GLenum

    pattern $mGL_COLOR_ARRAY_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ARRAY_SIZE :: GLenum
    GL_COLOR_ARRAY_SIZE = 0x8081 :: GLenum

    pattern $mGL_COLOR_ARRAY_SIZE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ARRAY_SIZE_EXT :: GLenum
    GL_COLOR_ARRAY_SIZE_EXT = 0x8081 :: GLenum

    pattern $mGL_COLOR_ARRAY_STRIDE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ARRAY_STRIDE :: GLenum
    GL_COLOR_ARRAY_STRIDE = 0x8083 :: GLenum

    pattern $mGL_COLOR_ARRAY_STRIDE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ARRAY_STRIDE_EXT :: GLenum
    GL_COLOR_ARRAY_STRIDE_EXT = 0x8083 :: GLenum

    pattern $mGL_COLOR_ARRAY_TYPE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ARRAY_TYPE :: GLenum
    GL_COLOR_ARRAY_TYPE = 0x8082 :: GLenum

    pattern $mGL_COLOR_ARRAY_TYPE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ARRAY_TYPE_EXT :: GLenum
    GL_COLOR_ARRAY_TYPE_EXT = 0x8082 :: GLenum

    pattern $mGL_COLOR_ATTACHMENT0 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT0 :: GLenum
    GL_COLOR_ATTACHMENT0 = 0x8CE0 :: GLenum

    pattern $mGL_COLOR_ATTACHMENT0_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT0_EXT :: GLenum
    GL_COLOR_ATTACHMENT0_EXT = 0x8CE0 :: GLenum

    pattern $mGL_COLOR_ATTACHMENT0_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT0_NV :: GLenum
    GL_COLOR_ATTACHMENT0_NV = 0x8CE0 :: GLenum

    pattern $mGL_COLOR_ATTACHMENT0_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT0_OES :: GLenum
    GL_COLOR_ATTACHMENT0_OES = 0x8CE0 :: GLenum

    pattern $mGL_COLOR_ATTACHMENT1 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT1 :: GLenum
    GL_COLOR_ATTACHMENT1 = 0x8CE1 :: GLenum

    pattern $mGL_COLOR_ATTACHMENT10 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT10 :: GLenum
    GL_COLOR_ATTACHMENT10 = 0x8CEA :: GLenum

    pattern $mGL_COLOR_ATTACHMENT10_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT10_EXT :: GLenum
    GL_COLOR_ATTACHMENT10_EXT = 0x8CEA :: GLenum

    pattern $mGL_COLOR_ATTACHMENT10_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT10_NV :: GLenum
    GL_COLOR_ATTACHMENT10_NV = 0x8CEA :: GLenum

    pattern $mGL_COLOR_ATTACHMENT11 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT11 :: GLenum
    GL_COLOR_ATTACHMENT11 = 0x8CEB :: GLenum

    pattern $mGL_COLOR_ATTACHMENT11_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT11_EXT :: GLenum
    GL_COLOR_ATTACHMENT11_EXT = 0x8CEB :: GLenum

    pattern $mGL_COLOR_ATTACHMENT11_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT11_NV :: GLenum
    GL_COLOR_ATTACHMENT11_NV = 0x8CEB :: GLenum

    pattern $mGL_COLOR_ATTACHMENT12 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT12 :: GLenum
    GL_COLOR_ATTACHMENT12 = 0x8CEC :: GLenum

    pattern $mGL_COLOR_ATTACHMENT12_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT12_EXT :: GLenum
    GL_COLOR_ATTACHMENT12_EXT = 0x8CEC :: GLenum

    pattern $mGL_COLOR_ATTACHMENT12_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT12_NV :: GLenum
    GL_COLOR_ATTACHMENT12_NV = 0x8CEC :: GLenum

    pattern $mGL_COLOR_ATTACHMENT13 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT13 :: GLenum
    GL_COLOR_ATTACHMENT13 = 0x8CED :: GLenum

    pattern $mGL_COLOR_ATTACHMENT13_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT13_EXT :: GLenum
    GL_COLOR_ATTACHMENT13_EXT = 0x8CED :: GLenum

    pattern $mGL_COLOR_ATTACHMENT13_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT13_NV :: GLenum
    GL_COLOR_ATTACHMENT13_NV = 0x8CED :: GLenum

    pattern $mGL_COLOR_ATTACHMENT14 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT14 :: GLenum
    GL_COLOR_ATTACHMENT14 = 0x8CEE :: GLenum

    pattern $mGL_COLOR_ATTACHMENT14_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT14_EXT :: GLenum
    GL_COLOR_ATTACHMENT14_EXT = 0x8CEE :: GLenum

    pattern $mGL_COLOR_ATTACHMENT14_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT14_NV :: GLenum
    GL_COLOR_ATTACHMENT14_NV = 0x8CEE :: GLenum

    pattern $mGL_COLOR_ATTACHMENT15 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT15 :: GLenum
    GL_COLOR_ATTACHMENT15 = 0x8CEF :: GLenum

    pattern $mGL_COLOR_ATTACHMENT15_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT15_EXT :: GLenum
    GL_COLOR_ATTACHMENT15_EXT = 0x8CEF :: GLenum

    pattern $mGL_COLOR_ATTACHMENT15_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT15_NV :: GLenum
    GL_COLOR_ATTACHMENT15_NV = 0x8CEF :: GLenum

    pattern $mGL_COLOR_ATTACHMENT16 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT16 :: GLenum
    GL_COLOR_ATTACHMENT16 = 0x8CF0 :: GLenum

    pattern $mGL_COLOR_ATTACHMENT17 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT17 :: GLenum
    GL_COLOR_ATTACHMENT17 = 0x8CF1 :: GLenum

    pattern $mGL_COLOR_ATTACHMENT18 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT18 :: GLenum
    GL_COLOR_ATTACHMENT18 = 0x8CF2 :: GLenum

    pattern $mGL_COLOR_ATTACHMENT19 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT19 :: GLenum
    GL_COLOR_ATTACHMENT19 = 0x8CF3 :: GLenum

    pattern $mGL_COLOR_ATTACHMENT1_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT1_EXT :: GLenum
    GL_COLOR_ATTACHMENT1_EXT = 0x8CE1 :: GLenum

    pattern $mGL_COLOR_ATTACHMENT1_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT1_NV :: GLenum
    GL_COLOR_ATTACHMENT1_NV = 0x8CE1 :: GLenum

    pattern $mGL_COLOR_ATTACHMENT2 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT2 :: GLenum
    GL_COLOR_ATTACHMENT2 = 0x8CE2 :: GLenum

    pattern $mGL_COLOR_ATTACHMENT20 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT20 :: GLenum
    GL_COLOR_ATTACHMENT20 = 0x8CF4 :: GLenum

    pattern $mGL_COLOR_ATTACHMENT21 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT21 :: GLenum
    GL_COLOR_ATTACHMENT21 = 0x8CF5 :: GLenum

    pattern $mGL_COLOR_ATTACHMENT22 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT22 :: GLenum
    GL_COLOR_ATTACHMENT22 = 0x8CF6 :: GLenum

    pattern $mGL_COLOR_ATTACHMENT23 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT23 :: GLenum
    GL_COLOR_ATTACHMENT23 = 0x8CF7 :: GLenum

    pattern $mGL_COLOR_ATTACHMENT24 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT24 :: GLenum
    GL_COLOR_ATTACHMENT24 = 0x8CF8 :: GLenum

    pattern $mGL_COLOR_ATTACHMENT25 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT25 :: GLenum
    GL_COLOR_ATTACHMENT25 = 0x8CF9 :: GLenum

    pattern $mGL_COLOR_ATTACHMENT26 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT26 :: GLenum
    GL_COLOR_ATTACHMENT26 = 0x8CFA :: GLenum

    pattern $mGL_COLOR_ATTACHMENT27 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT27 :: GLenum
    GL_COLOR_ATTACHMENT27 = 0x8CFB :: GLenum

    pattern $mGL_COLOR_ATTACHMENT28 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT28 :: GLenum
    GL_COLOR_ATTACHMENT28 = 0x8CFC :: GLenum

    pattern $mGL_COLOR_ATTACHMENT29 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT29 :: GLenum
    GL_COLOR_ATTACHMENT29 = 0x8CFD :: GLenum

    pattern $mGL_COLOR_ATTACHMENT2_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT2_EXT :: GLenum
    GL_COLOR_ATTACHMENT2_EXT = 0x8CE2 :: GLenum

    pattern $mGL_COLOR_ATTACHMENT2_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT2_NV :: GLenum
    GL_COLOR_ATTACHMENT2_NV = 0x8CE2 :: GLenum

    pattern $mGL_COLOR_ATTACHMENT3 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT3 :: GLenum
    GL_COLOR_ATTACHMENT3 = 0x8CE3 :: GLenum

    pattern $mGL_COLOR_ATTACHMENT30 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT30 :: GLenum
    GL_COLOR_ATTACHMENT30 = 0x8CFE :: GLenum

    pattern $mGL_COLOR_ATTACHMENT31 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT31 :: GLenum
    GL_COLOR_ATTACHMENT31 = 0x8CFF :: GLenum

    pattern $mGL_COLOR_ATTACHMENT3_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT3_EXT :: GLenum
    GL_COLOR_ATTACHMENT3_EXT = 0x8CE3 :: GLenum

    pattern $mGL_COLOR_ATTACHMENT3_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT3_NV :: GLenum
    GL_COLOR_ATTACHMENT3_NV = 0x8CE3 :: GLenum

    pattern $mGL_COLOR_ATTACHMENT4 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT4 :: GLenum
    GL_COLOR_ATTACHMENT4 = 0x8CE4 :: GLenum

    pattern $mGL_COLOR_ATTACHMENT4_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT4_EXT :: GLenum
    GL_COLOR_ATTACHMENT4_EXT = 0x8CE4 :: GLenum

    pattern $mGL_COLOR_ATTACHMENT4_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT4_NV :: GLenum
    GL_COLOR_ATTACHMENT4_NV = 0x8CE4 :: GLenum

    pattern $mGL_COLOR_ATTACHMENT5 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT5 :: GLenum
    GL_COLOR_ATTACHMENT5 = 0x8CE5 :: GLenum

    pattern $mGL_COLOR_ATTACHMENT5_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT5_EXT :: GLenum
    GL_COLOR_ATTACHMENT5_EXT = 0x8CE5 :: GLenum

    pattern $mGL_COLOR_ATTACHMENT5_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT5_NV :: GLenum
    GL_COLOR_ATTACHMENT5_NV = 0x8CE5 :: GLenum

    pattern $mGL_COLOR_ATTACHMENT6 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT6 :: GLenum
    GL_COLOR_ATTACHMENT6 = 0x8CE6 :: GLenum

    pattern $mGL_COLOR_ATTACHMENT6_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT6_EXT :: GLenum
    GL_COLOR_ATTACHMENT6_EXT = 0x8CE6 :: GLenum

    pattern $mGL_COLOR_ATTACHMENT6_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT6_NV :: GLenum
    GL_COLOR_ATTACHMENT6_NV = 0x8CE6 :: GLenum

    pattern $mGL_COLOR_ATTACHMENT7 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT7 :: GLenum
    GL_COLOR_ATTACHMENT7 = 0x8CE7 :: GLenum

    pattern $mGL_COLOR_ATTACHMENT7_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT7_EXT :: GLenum
    GL_COLOR_ATTACHMENT7_EXT = 0x8CE7 :: GLenum

    pattern $mGL_COLOR_ATTACHMENT7_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT7_NV :: GLenum
    GL_COLOR_ATTACHMENT7_NV = 0x8CE7 :: GLenum

    pattern $mGL_COLOR_ATTACHMENT8 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT8 :: GLenum
    GL_COLOR_ATTACHMENT8 = 0x8CE8 :: GLenum

    pattern $mGL_COLOR_ATTACHMENT8_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT8_EXT :: GLenum
    GL_COLOR_ATTACHMENT8_EXT = 0x8CE8 :: GLenum

    pattern $mGL_COLOR_ATTACHMENT8_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT8_NV :: GLenum
    GL_COLOR_ATTACHMENT8_NV = 0x8CE8 :: GLenum

    pattern $mGL_COLOR_ATTACHMENT9 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT9 :: GLenum
    GL_COLOR_ATTACHMENT9 = 0x8CE9 :: GLenum

    pattern $mGL_COLOR_ATTACHMENT9_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT9_EXT :: GLenum
    GL_COLOR_ATTACHMENT9_EXT = 0x8CE9 :: GLenum

    pattern $mGL_COLOR_ATTACHMENT9_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT9_NV :: GLenum
    GL_COLOR_ATTACHMENT9_NV = 0x8CE9 :: GLenum

    pattern $mGL_COLOR_ATTACHMENT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ATTACHMENT_EXT :: GLenum
    GL_COLOR_ATTACHMENT_EXT = 0x90F0 :: GLenum

    pattern $mGL_COLOR_BUFFER_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_BUFFER_BIT :: GLenum
    GL_COLOR_BUFFER_BIT = 0x00004000 :: GLbitfield

    pattern $mGL_COLOR_BUFFER_BIT0_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_BUFFER_BIT0_QCOM :: GLenum
    GL_COLOR_BUFFER_BIT0_QCOM = 0x00000001 :: GLbitfield

    pattern $mGL_COLOR_BUFFER_BIT1_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_BUFFER_BIT1_QCOM :: GLenum
    GL_COLOR_BUFFER_BIT1_QCOM = 0x00000002 :: GLbitfield

    pattern $mGL_COLOR_BUFFER_BIT2_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_BUFFER_BIT2_QCOM :: GLenum
    GL_COLOR_BUFFER_BIT2_QCOM = 0x00000004 :: GLbitfield

    pattern $mGL_COLOR_BUFFER_BIT3_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_BUFFER_BIT3_QCOM :: GLenum
    GL_COLOR_BUFFER_BIT3_QCOM = 0x00000008 :: GLbitfield

    pattern $mGL_COLOR_BUFFER_BIT4_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_BUFFER_BIT4_QCOM :: GLenum
    GL_COLOR_BUFFER_BIT4_QCOM = 0x00000010 :: GLbitfield

    pattern $mGL_COLOR_BUFFER_BIT5_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_BUFFER_BIT5_QCOM :: GLenum
    GL_COLOR_BUFFER_BIT5_QCOM = 0x00000020 :: GLbitfield

    pattern $mGL_COLOR_BUFFER_BIT6_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_BUFFER_BIT6_QCOM :: GLenum
    GL_COLOR_BUFFER_BIT6_QCOM = 0x00000040 :: GLbitfield

    pattern $mGL_COLOR_BUFFER_BIT7_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_BUFFER_BIT7_QCOM :: GLenum
    GL_COLOR_BUFFER_BIT7_QCOM = 0x00000080 :: GLbitfield

    pattern $mGL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI :: GLenum
    GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI = 0x8835 :: GLenum

    pattern $mGL_COLOR_CLEAR_VALUE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_CLEAR_VALUE :: GLenum
    GL_COLOR_CLEAR_VALUE = 0x0C22 :: GLenum

    pattern $mGL_COLOR_COMPONENTS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_COMPONENTS :: GLenum
    GL_COLOR_COMPONENTS = 0x8283 :: GLenum

    pattern $mGL_COLOR_ENCODING :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_ENCODING :: GLenum
    GL_COLOR_ENCODING = 0x8296 :: GLenum

    pattern $mGL_COLOR_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_EXT :: GLenum
    GL_COLOR_EXT = 0x1800 :: GLenum

    pattern $mGL_COLOR_FLOAT_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_FLOAT_APPLE :: GLenum
    GL_COLOR_FLOAT_APPLE = 0x8A0F :: GLenum

    pattern $mGL_COLOR_INDEX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_INDEX :: GLenum
    GL_COLOR_INDEX = 0x1900 :: GLenum

    pattern $mGL_COLOR_INDEX12_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_INDEX12_EXT :: GLenum
    GL_COLOR_INDEX12_EXT = 0x80E6 :: GLenum

    pattern $mGL_COLOR_INDEX16_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_INDEX16_EXT :: GLenum
    GL_COLOR_INDEX16_EXT = 0x80E7 :: GLenum

    pattern $mGL_COLOR_INDEX1_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_INDEX1_EXT :: GLenum
    GL_COLOR_INDEX1_EXT = 0x80E2 :: GLenum

    pattern $mGL_COLOR_INDEX2_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_INDEX2_EXT :: GLenum
    GL_COLOR_INDEX2_EXT = 0x80E3 :: GLenum

    pattern $mGL_COLOR_INDEX4_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_INDEX4_EXT :: GLenum
    GL_COLOR_INDEX4_EXT = 0x80E4 :: GLenum

    pattern $mGL_COLOR_INDEX8_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_INDEX8_EXT :: GLenum
    GL_COLOR_INDEX8_EXT = 0x80E5 :: GLenum

    pattern $mGL_COLOR_INDEXES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_INDEXES :: GLenum
    GL_COLOR_INDEXES = 0x1603 :: GLenum

    pattern $mGL_COLOR_LOGIC_OP :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_LOGIC_OP :: GLenum
    GL_COLOR_LOGIC_OP = 0x0BF2 :: GLenum

    pattern $mGL_COLOR_MATERIAL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_MATERIAL :: GLenum
    GL_COLOR_MATERIAL = 0x0B57 :: GLenum

    pattern $mGL_COLOR_MATERIAL_FACE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_MATERIAL_FACE :: GLenum
    GL_COLOR_MATERIAL_FACE = 0x0B55 :: GLenum

    pattern $mGL_COLOR_MATERIAL_PARAMETER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_MATERIAL_PARAMETER :: GLenum
    GL_COLOR_MATERIAL_PARAMETER = 0x0B56 :: GLenum

    pattern $mGL_COLOR_MATRIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_MATRIX :: GLenum
    GL_COLOR_MATRIX = 0x80B1 :: GLenum

    pattern $mGL_COLOR_MATRIX_SGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_MATRIX_SGI :: GLenum
    GL_COLOR_MATRIX_SGI = 0x80B1 :: GLenum

    pattern $mGL_COLOR_MATRIX_STACK_DEPTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_MATRIX_STACK_DEPTH :: GLenum
    GL_COLOR_MATRIX_STACK_DEPTH = 0x80B2 :: GLenum

    pattern $mGL_COLOR_MATRIX_STACK_DEPTH_SGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_MATRIX_STACK_DEPTH_SGI :: GLenum
    GL_COLOR_MATRIX_STACK_DEPTH_SGI = 0x80B2 :: GLenum

    pattern $mGL_COLOR_RENDERABLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_RENDERABLE :: GLenum
    GL_COLOR_RENDERABLE = 0x8286 :: GLenum

    pattern $mGL_COLOR_SAMPLES_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_SAMPLES_NV :: GLenum
    GL_COLOR_SAMPLES_NV = 0x8E20 :: GLenum

    pattern $mGL_COLOR_SUM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_SUM :: GLenum
    GL_COLOR_SUM = 0x8458 :: GLenum

    pattern $mGL_COLOR_SUM_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_SUM_ARB :: GLenum
    GL_COLOR_SUM_ARB = 0x8458 :: GLenum

    pattern $mGL_COLOR_SUM_CLAMP_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_SUM_CLAMP_NV :: GLenum
    GL_COLOR_SUM_CLAMP_NV = 0x854F :: GLenum

    pattern $mGL_COLOR_SUM_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_SUM_EXT :: GLenum
    GL_COLOR_SUM_EXT = 0x8458 :: GLenum

    pattern $mGL_COLOR_TABLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_TABLE :: GLenum
    GL_COLOR_TABLE = 0x80D0 :: GLenum

    pattern $mGL_COLOR_TABLE_ALPHA_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_TABLE_ALPHA_SIZE :: GLenum
    GL_COLOR_TABLE_ALPHA_SIZE = 0x80DD :: GLenum

    pattern $mGL_COLOR_TABLE_ALPHA_SIZE_SGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_TABLE_ALPHA_SIZE_SGI :: GLenum
    GL_COLOR_TABLE_ALPHA_SIZE_SGI = 0x80DD :: GLenum

    pattern $mGL_COLOR_TABLE_BIAS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_TABLE_BIAS :: GLenum
    GL_COLOR_TABLE_BIAS = 0x80D7 :: GLenum

    pattern $mGL_COLOR_TABLE_BIAS_SGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_TABLE_BIAS_SGI :: GLenum
    GL_COLOR_TABLE_BIAS_SGI = 0x80D7 :: GLenum

    pattern $mGL_COLOR_TABLE_BLUE_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_TABLE_BLUE_SIZE :: GLenum
    GL_COLOR_TABLE_BLUE_SIZE = 0x80DC :: GLenum

    pattern $mGL_COLOR_TABLE_BLUE_SIZE_SGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_TABLE_BLUE_SIZE_SGI :: GLenum
    GL_COLOR_TABLE_BLUE_SIZE_SGI = 0x80DC :: GLenum

    pattern $mGL_COLOR_TABLE_FORMAT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_TABLE_FORMAT :: GLenum
    GL_COLOR_TABLE_FORMAT = 0x80D8 :: GLenum

    pattern $mGL_COLOR_TABLE_FORMAT_SGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_TABLE_FORMAT_SGI :: GLenum
    GL_COLOR_TABLE_FORMAT_SGI = 0x80D8 :: GLenum

    pattern $mGL_COLOR_TABLE_GREEN_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_TABLE_GREEN_SIZE :: GLenum
    GL_COLOR_TABLE_GREEN_SIZE = 0x80DB :: GLenum

    pattern $mGL_COLOR_TABLE_GREEN_SIZE_SGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_TABLE_GREEN_SIZE_SGI :: GLenum
    GL_COLOR_TABLE_GREEN_SIZE_SGI = 0x80DB :: GLenum

    pattern $mGL_COLOR_TABLE_INTENSITY_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_TABLE_INTENSITY_SIZE :: GLenum
    GL_COLOR_TABLE_INTENSITY_SIZE = 0x80DF :: GLenum

    pattern $mGL_COLOR_TABLE_INTENSITY_SIZE_SGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_TABLE_INTENSITY_SIZE_SGI :: GLenum
    GL_COLOR_TABLE_INTENSITY_SIZE_SGI = 0x80DF :: GLenum

    pattern $mGL_COLOR_TABLE_LUMINANCE_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_TABLE_LUMINANCE_SIZE :: GLenum
    GL_COLOR_TABLE_LUMINANCE_SIZE = 0x80DE :: GLenum

    pattern $mGL_COLOR_TABLE_LUMINANCE_SIZE_SGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_TABLE_LUMINANCE_SIZE_SGI :: GLenum
    GL_COLOR_TABLE_LUMINANCE_SIZE_SGI = 0x80DE :: GLenum

    pattern $mGL_COLOR_TABLE_RED_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_TABLE_RED_SIZE :: GLenum
    GL_COLOR_TABLE_RED_SIZE = 0x80DA :: GLenum

    pattern $mGL_COLOR_TABLE_RED_SIZE_SGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_TABLE_RED_SIZE_SGI :: GLenum
    GL_COLOR_TABLE_RED_SIZE_SGI = 0x80DA :: GLenum

    pattern $mGL_COLOR_TABLE_SCALE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_TABLE_SCALE :: GLenum
    GL_COLOR_TABLE_SCALE = 0x80D6 :: GLenum

    pattern $mGL_COLOR_TABLE_SCALE_SGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_TABLE_SCALE_SGI :: GLenum
    GL_COLOR_TABLE_SCALE_SGI = 0x80D6 :: GLenum

    pattern $mGL_COLOR_TABLE_SGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_TABLE_SGI :: GLenum
    GL_COLOR_TABLE_SGI = 0x80D0 :: GLenum

    pattern $mGL_COLOR_TABLE_WIDTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_TABLE_WIDTH :: GLenum
    GL_COLOR_TABLE_WIDTH = 0x80D9 :: GLenum

    pattern $mGL_COLOR_TABLE_WIDTH_SGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_TABLE_WIDTH_SGI :: GLenum
    GL_COLOR_TABLE_WIDTH_SGI = 0x80D9 :: GLenum

    pattern $mGL_COLOR_WRITEMASK :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COLOR_WRITEMASK :: GLenum
    GL_COLOR_WRITEMASK = 0x0C23 :: GLenum

    pattern $mGL_COMBINE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMBINE :: GLenum
    GL_COMBINE = 0x8570 :: GLenum

    pattern $mGL_COMBINE4_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMBINE4_NV :: GLenum
    GL_COMBINE4_NV = 0x8503 :: GLenum

    pattern $mGL_COMBINER0_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMBINER0_NV :: GLenum
    GL_COMBINER0_NV = 0x8550 :: GLenum

    pattern $mGL_COMBINER1_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMBINER1_NV :: GLenum
    GL_COMBINER1_NV = 0x8551 :: GLenum

    pattern $mGL_COMBINER2_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMBINER2_NV :: GLenum
    GL_COMBINER2_NV = 0x8552 :: GLenum

    pattern $mGL_COMBINER3_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMBINER3_NV :: GLenum
    GL_COMBINER3_NV = 0x8553 :: GLenum

    pattern $mGL_COMBINER4_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMBINER4_NV :: GLenum
    GL_COMBINER4_NV = 0x8554 :: GLenum

    pattern $mGL_COMBINER5_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMBINER5_NV :: GLenum
    GL_COMBINER5_NV = 0x8555 :: GLenum

    pattern $mGL_COMBINER6_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMBINER6_NV :: GLenum
    GL_COMBINER6_NV = 0x8556 :: GLenum

    pattern $mGL_COMBINER7_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMBINER7_NV :: GLenum
    GL_COMBINER7_NV = 0x8557 :: GLenum

    pattern $mGL_COMBINER_AB_DOT_PRODUCT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMBINER_AB_DOT_PRODUCT_NV :: GLenum
    GL_COMBINER_AB_DOT_PRODUCT_NV = 0x8545 :: GLenum

    pattern $mGL_COMBINER_AB_OUTPUT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMBINER_AB_OUTPUT_NV :: GLenum
    GL_COMBINER_AB_OUTPUT_NV = 0x854A :: GLenum

    pattern $mGL_COMBINER_BIAS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMBINER_BIAS_NV :: GLenum
    GL_COMBINER_BIAS_NV = 0x8549 :: GLenum

    pattern $mGL_COMBINER_CD_DOT_PRODUCT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMBINER_CD_DOT_PRODUCT_NV :: GLenum
    GL_COMBINER_CD_DOT_PRODUCT_NV = 0x8546 :: GLenum

    pattern $mGL_COMBINER_CD_OUTPUT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMBINER_CD_OUTPUT_NV :: GLenum
    GL_COMBINER_CD_OUTPUT_NV = 0x854B :: GLenum

    pattern $mGL_COMBINER_COMPONENT_USAGE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMBINER_COMPONENT_USAGE_NV :: GLenum
    GL_COMBINER_COMPONENT_USAGE_NV = 0x8544 :: GLenum

    pattern $mGL_COMBINER_INPUT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMBINER_INPUT_NV :: GLenum
    GL_COMBINER_INPUT_NV = 0x8542 :: GLenum

    pattern $mGL_COMBINER_MAPPING_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMBINER_MAPPING_NV :: GLenum
    GL_COMBINER_MAPPING_NV = 0x8543 :: GLenum

    pattern $mGL_COMBINER_MUX_SUM_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMBINER_MUX_SUM_NV :: GLenum
    GL_COMBINER_MUX_SUM_NV = 0x8547 :: GLenum

    pattern $mGL_COMBINER_SCALE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMBINER_SCALE_NV :: GLenum
    GL_COMBINER_SCALE_NV = 0x8548 :: GLenum

    pattern $mGL_COMBINER_SUM_OUTPUT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMBINER_SUM_OUTPUT_NV :: GLenum
    GL_COMBINER_SUM_OUTPUT_NV = 0x854C :: GLenum

    pattern $mGL_COMBINE_ALPHA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMBINE_ALPHA :: GLenum
    GL_COMBINE_ALPHA = 0x8572 :: GLenum

    pattern $mGL_COMBINE_ALPHA_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMBINE_ALPHA_ARB :: GLenum
    GL_COMBINE_ALPHA_ARB = 0x8572 :: GLenum

    pattern $mGL_COMBINE_ALPHA_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMBINE_ALPHA_EXT :: GLenum
    GL_COMBINE_ALPHA_EXT = 0x8572 :: GLenum

    pattern $mGL_COMBINE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMBINE_ARB :: GLenum
    GL_COMBINE_ARB = 0x8570 :: GLenum

    pattern $mGL_COMBINE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMBINE_EXT :: GLenum
    GL_COMBINE_EXT = 0x8570 :: GLenum

    pattern $mGL_COMBINE_RGB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMBINE_RGB :: GLenum
    GL_COMBINE_RGB = 0x8571 :: GLenum

    pattern $mGL_COMBINE_RGB_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMBINE_RGB_ARB :: GLenum
    GL_COMBINE_RGB_ARB = 0x8571 :: GLenum

    pattern $mGL_COMBINE_RGB_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMBINE_RGB_EXT :: GLenum
    GL_COMBINE_RGB_EXT = 0x8571 :: GLenum

    pattern $mGL_COMMAND_BARRIER_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMMAND_BARRIER_BIT :: GLenum
    GL_COMMAND_BARRIER_BIT = 0x00000040 :: GLbitfield

    pattern $mGL_COMMAND_BARRIER_BIT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMMAND_BARRIER_BIT_EXT :: GLenum
    GL_COMMAND_BARRIER_BIT_EXT = 0x00000040 :: GLbitfield

    pattern $mGL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT :: GLenum
    GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT = 0x884E :: GLenum

    pattern $mGL_COMPARE_REF_TO_TEXTURE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPARE_REF_TO_TEXTURE :: GLenum
    GL_COMPARE_REF_TO_TEXTURE = 0x884E :: GLenum

    pattern $mGL_COMPARE_REF_TO_TEXTURE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPARE_REF_TO_TEXTURE_EXT :: GLenum
    GL_COMPARE_REF_TO_TEXTURE_EXT = 0x884E :: GLenum

    pattern $mGL_COMPARE_R_TO_TEXTURE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPARE_R_TO_TEXTURE :: GLenum
    GL_COMPARE_R_TO_TEXTURE = 0x884E :: GLenum

    pattern $mGL_COMPARE_R_TO_TEXTURE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPARE_R_TO_TEXTURE_ARB :: GLenum
    GL_COMPARE_R_TO_TEXTURE_ARB = 0x884E :: GLenum

    pattern $mGL_COMPATIBLE_SUBROUTINES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPATIBLE_SUBROUTINES :: GLenum
    GL_COMPATIBLE_SUBROUTINES = 0x8E4B :: GLenum

    pattern $mGL_COMPILE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPILE :: GLenum
    GL_COMPILE = 0x1300 :: GLenum

    pattern $mGL_COMPILE_AND_EXECUTE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPILE_AND_EXECUTE :: GLenum
    GL_COMPILE_AND_EXECUTE = 0x1301 :: GLenum

    pattern $mGL_COMPILE_STATUS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPILE_STATUS :: GLenum
    GL_COMPILE_STATUS = 0x8B81 :: GLenum

    pattern $mGL_COMPLETION_STATUS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPLETION_STATUS_ARB :: GLenum
    GL_COMPLETION_STATUS_ARB = 0x91B1 :: GLenum

    pattern $mGL_COMPLETION_STATUS_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPLETION_STATUS_KHR :: GLenum
    GL_COMPLETION_STATUS_KHR = 0x91B1 :: GLenum

    pattern $mGL_COMPRESSED_ALPHA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_ALPHA :: GLenum
    GL_COMPRESSED_ALPHA = 0x84E9 :: GLenum

    pattern $mGL_COMPRESSED_ALPHA_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_ALPHA_ARB :: GLenum
    GL_COMPRESSED_ALPHA_ARB = 0x84E9 :: GLenum

    pattern $mGL_COMPRESSED_INTENSITY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_INTENSITY :: GLenum
    GL_COMPRESSED_INTENSITY = 0x84EC :: GLenum

    pattern $mGL_COMPRESSED_INTENSITY_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_INTENSITY_ARB :: GLenum
    GL_COMPRESSED_INTENSITY_ARB = 0x84EC :: GLenum

    pattern $mGL_COMPRESSED_LUMINANCE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_LUMINANCE :: GLenum
    GL_COMPRESSED_LUMINANCE = 0x84EA :: GLenum

    pattern $mGL_COMPRESSED_LUMINANCE_ALPHA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_LUMINANCE_ALPHA :: GLenum
    GL_COMPRESSED_LUMINANCE_ALPHA = 0x84EB :: GLenum

    pattern $mGL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI :: GLenum
    GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI = 0x8837 :: GLenum

    pattern $mGL_COMPRESSED_LUMINANCE_ALPHA_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_LUMINANCE_ALPHA_ARB :: GLenum
    GL_COMPRESSED_LUMINANCE_ALPHA_ARB = 0x84EB :: GLenum

    pattern $mGL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT :: GLenum
    GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT = 0x8C72 :: GLenum

    pattern $mGL_COMPRESSED_LUMINANCE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_LUMINANCE_ARB :: GLenum
    GL_COMPRESSED_LUMINANCE_ARB = 0x84EA :: GLenum

    pattern $mGL_COMPRESSED_LUMINANCE_LATC1_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_LUMINANCE_LATC1_EXT :: GLenum
    GL_COMPRESSED_LUMINANCE_LATC1_EXT = 0x8C70 :: GLenum

    pattern $mGL_COMPRESSED_R11_EAC :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_R11_EAC :: GLenum
    GL_COMPRESSED_R11_EAC = 0x9270 :: GLenum

    pattern $mGL_COMPRESSED_R11_EAC_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_R11_EAC_OES :: GLenum
    GL_COMPRESSED_R11_EAC_OES = 0x9270 :: GLenum

    pattern $mGL_COMPRESSED_RED :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RED :: GLenum
    GL_COMPRESSED_RED = 0x8225 :: GLenum

    pattern $mGL_COMPRESSED_RED_GREEN_RGTC2_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RED_GREEN_RGTC2_EXT :: GLenum
    GL_COMPRESSED_RED_GREEN_RGTC2_EXT = 0x8DBD :: GLenum

    pattern $mGL_COMPRESSED_RED_RGTC1 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RED_RGTC1 :: GLenum
    GL_COMPRESSED_RED_RGTC1 = 0x8DBB :: GLenum

    pattern $mGL_COMPRESSED_RED_RGTC1_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RED_RGTC1_EXT :: GLenum
    GL_COMPRESSED_RED_RGTC1_EXT = 0x8DBB :: GLenum

    pattern $mGL_COMPRESSED_RG :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RG :: GLenum
    GL_COMPRESSED_RG = 0x8226 :: GLenum

    pattern $mGL_COMPRESSED_RG11_EAC :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RG11_EAC :: GLenum
    GL_COMPRESSED_RG11_EAC = 0x9272 :: GLenum

    pattern $mGL_COMPRESSED_RG11_EAC_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RG11_EAC_OES :: GLenum
    GL_COMPRESSED_RG11_EAC_OES = 0x9272 :: GLenum

    pattern $mGL_COMPRESSED_RGB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGB :: GLenum
    GL_COMPRESSED_RGB = 0x84ED :: GLenum

    pattern $mGL_COMPRESSED_RGB8_ETC2 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGB8_ETC2 :: GLenum
    GL_COMPRESSED_RGB8_ETC2 = 0x9274 :: GLenum

    pattern $mGL_COMPRESSED_RGB8_ETC2_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGB8_ETC2_OES :: GLenum
    GL_COMPRESSED_RGB8_ETC2_OES = 0x9274 :: GLenum

    pattern $mGL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 :: GLenum
    GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9276 :: GLenum

    pattern $mGL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2_OES :: GLenum
    GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2_OES = 0x9276 :: GLenum

    pattern $mGL_COMPRESSED_RGBA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGBA :: GLenum
    GL_COMPRESSED_RGBA = 0x84EE :: GLenum

    pattern $mGL_COMPRESSED_RGBA8_ETC2_EAC :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGBA8_ETC2_EAC :: GLenum
    GL_COMPRESSED_RGBA8_ETC2_EAC = 0x9278 :: GLenum

    pattern $mGL_COMPRESSED_RGBA8_ETC2_EAC_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGBA8_ETC2_EAC_OES :: GLenum
    GL_COMPRESSED_RGBA8_ETC2_EAC_OES = 0x9278 :: GLenum

    pattern $mGL_COMPRESSED_RGBA_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGBA_ARB :: GLenum
    GL_COMPRESSED_RGBA_ARB = 0x84EE :: GLenum

    pattern $mGL_COMPRESSED_RGBA_ASTC_10x10 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGBA_ASTC_10x10 :: GLenum
    GL_COMPRESSED_RGBA_ASTC_10x10 = 0x93BB :: GLenum

    pattern $mGL_COMPRESSED_RGBA_ASTC_10x10_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGBA_ASTC_10x10_KHR :: GLenum
    GL_COMPRESSED_RGBA_ASTC_10x10_KHR = 0x93BB :: GLenum

    pattern $mGL_COMPRESSED_RGBA_ASTC_10x5 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGBA_ASTC_10x5 :: GLenum
    GL_COMPRESSED_RGBA_ASTC_10x5 = 0x93B8 :: GLenum

    pattern $mGL_COMPRESSED_RGBA_ASTC_10x5_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGBA_ASTC_10x5_KHR :: GLenum
    GL_COMPRESSED_RGBA_ASTC_10x5_KHR = 0x93B8 :: GLenum

    pattern $mGL_COMPRESSED_RGBA_ASTC_10x6 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGBA_ASTC_10x6 :: GLenum
    GL_COMPRESSED_RGBA_ASTC_10x6 = 0x93B9 :: GLenum

    pattern $mGL_COMPRESSED_RGBA_ASTC_10x6_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGBA_ASTC_10x6_KHR :: GLenum
    GL_COMPRESSED_RGBA_ASTC_10x6_KHR = 0x93B9 :: GLenum

    pattern $mGL_COMPRESSED_RGBA_ASTC_10x8 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGBA_ASTC_10x8 :: GLenum
    GL_COMPRESSED_RGBA_ASTC_10x8 = 0x93BA :: GLenum

    pattern $mGL_COMPRESSED_RGBA_ASTC_10x8_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGBA_ASTC_10x8_KHR :: GLenum
    GL_COMPRESSED_RGBA_ASTC_10x8_KHR = 0x93BA :: GLenum

    pattern $mGL_COMPRESSED_RGBA_ASTC_12x10 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGBA_ASTC_12x10 :: GLenum
    GL_COMPRESSED_RGBA_ASTC_12x10 = 0x93BC :: GLenum

    pattern $mGL_COMPRESSED_RGBA_ASTC_12x10_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGBA_ASTC_12x10_KHR :: GLenum
    GL_COMPRESSED_RGBA_ASTC_12x10_KHR = 0x93BC :: GLenum

    pattern $mGL_COMPRESSED_RGBA_ASTC_12x12 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGBA_ASTC_12x12 :: GLenum
    GL_COMPRESSED_RGBA_ASTC_12x12 = 0x93BD :: GLenum

    pattern $mGL_COMPRESSED_RGBA_ASTC_12x12_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGBA_ASTC_12x12_KHR :: GLenum
    GL_COMPRESSED_RGBA_ASTC_12x12_KHR = 0x93BD :: GLenum

    pattern $mGL_COMPRESSED_RGBA_ASTC_3x3x3_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGBA_ASTC_3x3x3_OES :: GLenum
    GL_COMPRESSED_RGBA_ASTC_3x3x3_OES = 0x93C0 :: GLenum

    pattern $mGL_COMPRESSED_RGBA_ASTC_4x3x3_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGBA_ASTC_4x3x3_OES :: GLenum
    GL_COMPRESSED_RGBA_ASTC_4x3x3_OES = 0x93C1 :: GLenum

    pattern $mGL_COMPRESSED_RGBA_ASTC_4x4 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGBA_ASTC_4x4 :: GLenum
    GL_COMPRESSED_RGBA_ASTC_4x4 = 0x93B0 :: GLenum

    pattern $mGL_COMPRESSED_RGBA_ASTC_4x4_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGBA_ASTC_4x4_KHR :: GLenum
    GL_COMPRESSED_RGBA_ASTC_4x4_KHR = 0x93B0 :: GLenum

    pattern $mGL_COMPRESSED_RGBA_ASTC_4x4x3_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGBA_ASTC_4x4x3_OES :: GLenum
    GL_COMPRESSED_RGBA_ASTC_4x4x3_OES = 0x93C2 :: GLenum

    pattern $mGL_COMPRESSED_RGBA_ASTC_4x4x4_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGBA_ASTC_4x4x4_OES :: GLenum
    GL_COMPRESSED_RGBA_ASTC_4x4x4_OES = 0x93C3 :: GLenum

    pattern $mGL_COMPRESSED_RGBA_ASTC_5x4 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGBA_ASTC_5x4 :: GLenum
    GL_COMPRESSED_RGBA_ASTC_5x4 = 0x93B1 :: GLenum

    pattern $mGL_COMPRESSED_RGBA_ASTC_5x4_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGBA_ASTC_5x4_KHR :: GLenum
    GL_COMPRESSED_RGBA_ASTC_5x4_KHR = 0x93B1 :: GLenum

    pattern $mGL_COMPRESSED_RGBA_ASTC_5x4x4_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGBA_ASTC_5x4x4_OES :: GLenum
    GL_COMPRESSED_RGBA_ASTC_5x4x4_OES = 0x93C4 :: GLenum

    pattern $mGL_COMPRESSED_RGBA_ASTC_5x5 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGBA_ASTC_5x5 :: GLenum
    GL_COMPRESSED_RGBA_ASTC_5x5 = 0x93B2 :: GLenum

    pattern $mGL_COMPRESSED_RGBA_ASTC_5x5_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGBA_ASTC_5x5_KHR :: GLenum
    GL_COMPRESSED_RGBA_ASTC_5x5_KHR = 0x93B2 :: GLenum

    pattern $mGL_COMPRESSED_RGBA_ASTC_5x5x4_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGBA_ASTC_5x5x4_OES :: GLenum
    GL_COMPRESSED_RGBA_ASTC_5x5x4_OES = 0x93C5 :: GLenum

    pattern $mGL_COMPRESSED_RGBA_ASTC_5x5x5_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGBA_ASTC_5x5x5_OES :: GLenum
    GL_COMPRESSED_RGBA_ASTC_5x5x5_OES = 0x93C6 :: GLenum

    pattern $mGL_COMPRESSED_RGBA_ASTC_6x5 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGBA_ASTC_6x5 :: GLenum
    GL_COMPRESSED_RGBA_ASTC_6x5 = 0x93B3 :: GLenum

    pattern $mGL_COMPRESSED_RGBA_ASTC_6x5_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGBA_ASTC_6x5_KHR :: GLenum
    GL_COMPRESSED_RGBA_ASTC_6x5_KHR = 0x93B3 :: GLenum

    pattern $mGL_COMPRESSED_RGBA_ASTC_6x5x5_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGBA_ASTC_6x5x5_OES :: GLenum
    GL_COMPRESSED_RGBA_ASTC_6x5x5_OES = 0x93C7 :: GLenum

    pattern $mGL_COMPRESSED_RGBA_ASTC_6x6 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGBA_ASTC_6x6 :: GLenum
    GL_COMPRESSED_RGBA_ASTC_6x6 = 0x93B4 :: GLenum

    pattern $mGL_COMPRESSED_RGBA_ASTC_6x6_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGBA_ASTC_6x6_KHR :: GLenum
    GL_COMPRESSED_RGBA_ASTC_6x6_KHR = 0x93B4 :: GLenum

    pattern $mGL_COMPRESSED_RGBA_ASTC_6x6x5_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGBA_ASTC_6x6x5_OES :: GLenum
    GL_COMPRESSED_RGBA_ASTC_6x6x5_OES = 0x93C8 :: GLenum

    pattern $mGL_COMPRESSED_RGBA_ASTC_6x6x6_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGBA_ASTC_6x6x6_OES :: GLenum
    GL_COMPRESSED_RGBA_ASTC_6x6x6_OES = 0x93C9 :: GLenum

    pattern $mGL_COMPRESSED_RGBA_ASTC_8x5 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGBA_ASTC_8x5 :: GLenum
    GL_COMPRESSED_RGBA_ASTC_8x5 = 0x93B5 :: GLenum

    pattern $mGL_COMPRESSED_RGBA_ASTC_8x5_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGBA_ASTC_8x5_KHR :: GLenum
    GL_COMPRESSED_RGBA_ASTC_8x5_KHR = 0x93B5 :: GLenum

    pattern $mGL_COMPRESSED_RGBA_ASTC_8x6 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGBA_ASTC_8x6 :: GLenum
    GL_COMPRESSED_RGBA_ASTC_8x6 = 0x93B6 :: GLenum

    pattern $mGL_COMPRESSED_RGBA_ASTC_8x6_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGBA_ASTC_8x6_KHR :: GLenum
    GL_COMPRESSED_RGBA_ASTC_8x6_KHR = 0x93B6 :: GLenum

    pattern $mGL_COMPRESSED_RGBA_ASTC_8x8 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGBA_ASTC_8x8 :: GLenum
    GL_COMPRESSED_RGBA_ASTC_8x8 = 0x93B7 :: GLenum

    pattern $mGL_COMPRESSED_RGBA_ASTC_8x8_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGBA_ASTC_8x8_KHR :: GLenum
    GL_COMPRESSED_RGBA_ASTC_8x8_KHR = 0x93B7 :: GLenum

    pattern $mGL_COMPRESSED_RGBA_BPTC_UNORM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGBA_BPTC_UNORM :: GLenum
    GL_COMPRESSED_RGBA_BPTC_UNORM = 0x8E8C :: GLenum

    pattern $mGL_COMPRESSED_RGBA_BPTC_UNORM_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGBA_BPTC_UNORM_ARB :: GLenum
    GL_COMPRESSED_RGBA_BPTC_UNORM_ARB = 0x8E8C :: GLenum

    pattern $mGL_COMPRESSED_RGBA_BPTC_UNORM_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGBA_BPTC_UNORM_EXT :: GLenum
    GL_COMPRESSED_RGBA_BPTC_UNORM_EXT = 0x8E8C :: GLenum

    pattern $mGL_COMPRESSED_RGBA_FXT1_3DFX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGBA_FXT1_3DFX :: GLenum
    GL_COMPRESSED_RGBA_FXT1_3DFX = 0x86B1 :: GLenum

    pattern $mGL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG :: GLenum
    GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG = 0x8C03 :: GLenum

    pattern $mGL_COMPRESSED_RGBA_PVRTC_2BPPV2_IMG :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGBA_PVRTC_2BPPV2_IMG :: GLenum
    GL_COMPRESSED_RGBA_PVRTC_2BPPV2_IMG = 0x9137 :: GLenum

    pattern $mGL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG :: GLenum
    GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG = 0x8C02 :: GLenum

    pattern $mGL_COMPRESSED_RGBA_PVRTC_4BPPV2_IMG :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGBA_PVRTC_4BPPV2_IMG :: GLenum
    GL_COMPRESSED_RGBA_PVRTC_4BPPV2_IMG = 0x9138 :: GLenum

    pattern $mGL_COMPRESSED_RGBA_S3TC_DXT1_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGBA_S3TC_DXT1_EXT :: GLenum
    GL_COMPRESSED_RGBA_S3TC_DXT1_EXT = 0x83F1 :: GLenum

    pattern $mGL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE :: GLenum
    GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE = 0x83F2 :: GLenum

    pattern $mGL_COMPRESSED_RGBA_S3TC_DXT3_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGBA_S3TC_DXT3_EXT :: GLenum
    GL_COMPRESSED_RGBA_S3TC_DXT3_EXT = 0x83F2 :: GLenum

    pattern $mGL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE :: GLenum
    GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE = 0x83F3 :: GLenum

    pattern $mGL_COMPRESSED_RGBA_S3TC_DXT5_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGBA_S3TC_DXT5_EXT :: GLenum
    GL_COMPRESSED_RGBA_S3TC_DXT5_EXT = 0x83F3 :: GLenum

    pattern $mGL_COMPRESSED_RGB_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGB_ARB :: GLenum
    GL_COMPRESSED_RGB_ARB = 0x84ED :: GLenum

    pattern $mGL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT :: GLenum
    GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT = 0x8E8E :: GLenum

    pattern $mGL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB :: GLenum
    GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB = 0x8E8E :: GLenum

    pattern $mGL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT :: GLenum
    GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT = 0x8E8E :: GLenum

    pattern $mGL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT :: GLenum
    GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT = 0x8E8F :: GLenum

    pattern $mGL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB :: GLenum
    GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB = 0x8E8F :: GLenum

    pattern $mGL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT :: GLenum
    GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT = 0x8E8F :: GLenum

    pattern $mGL_COMPRESSED_RGB_FXT1_3DFX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGB_FXT1_3DFX :: GLenum
    GL_COMPRESSED_RGB_FXT1_3DFX = 0x86B0 :: GLenum

    pattern $mGL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG :: GLenum
    GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG = 0x8C01 :: GLenum

    pattern $mGL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG :: GLenum
    GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG = 0x8C00 :: GLenum

    pattern $mGL_COMPRESSED_RGB_S3TC_DXT1_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RGB_S3TC_DXT1_EXT :: GLenum
    GL_COMPRESSED_RGB_S3TC_DXT1_EXT = 0x83F0 :: GLenum

    pattern $mGL_COMPRESSED_RG_RGTC2 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_RG_RGTC2 :: GLenum
    GL_COMPRESSED_RG_RGTC2 = 0x8DBD :: GLenum

    pattern $mGL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT :: GLenum
    GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT = 0x8C73 :: GLenum

    pattern $mGL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT :: GLenum
    GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT = 0x8C71 :: GLenum

    pattern $mGL_COMPRESSED_SIGNED_R11_EAC :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SIGNED_R11_EAC :: GLenum
    GL_COMPRESSED_SIGNED_R11_EAC = 0x9271 :: GLenum

    pattern $mGL_COMPRESSED_SIGNED_R11_EAC_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SIGNED_R11_EAC_OES :: GLenum
    GL_COMPRESSED_SIGNED_R11_EAC_OES = 0x9271 :: GLenum

    pattern $mGL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT :: GLenum
    GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT = 0x8DBE :: GLenum

    pattern $mGL_COMPRESSED_SIGNED_RED_RGTC1 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SIGNED_RED_RGTC1 :: GLenum
    GL_COMPRESSED_SIGNED_RED_RGTC1 = 0x8DBC :: GLenum

    pattern $mGL_COMPRESSED_SIGNED_RED_RGTC1_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SIGNED_RED_RGTC1_EXT :: GLenum
    GL_COMPRESSED_SIGNED_RED_RGTC1_EXT = 0x8DBC :: GLenum

    pattern $mGL_COMPRESSED_SIGNED_RG11_EAC :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SIGNED_RG11_EAC :: GLenum
    GL_COMPRESSED_SIGNED_RG11_EAC = 0x9273 :: GLenum

    pattern $mGL_COMPRESSED_SIGNED_RG11_EAC_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SIGNED_RG11_EAC_OES :: GLenum
    GL_COMPRESSED_SIGNED_RG11_EAC_OES = 0x9273 :: GLenum

    pattern $mGL_COMPRESSED_SIGNED_RG_RGTC2 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SIGNED_RG_RGTC2 :: GLenum
    GL_COMPRESSED_SIGNED_RG_RGTC2 = 0x8DBE :: GLenum

    pattern $mGL_COMPRESSED_SLUMINANCE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SLUMINANCE :: GLenum
    GL_COMPRESSED_SLUMINANCE = 0x8C4A :: GLenum

    pattern $mGL_COMPRESSED_SLUMINANCE_ALPHA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SLUMINANCE_ALPHA :: GLenum
    GL_COMPRESSED_SLUMINANCE_ALPHA = 0x8C4B :: GLenum

    pattern $mGL_COMPRESSED_SLUMINANCE_ALPHA_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SLUMINANCE_ALPHA_EXT :: GLenum
    GL_COMPRESSED_SLUMINANCE_ALPHA_EXT = 0x8C4B :: GLenum

    pattern $mGL_COMPRESSED_SLUMINANCE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SLUMINANCE_EXT :: GLenum
    GL_COMPRESSED_SLUMINANCE_EXT = 0x8C4A :: GLenum

    pattern $mGL_COMPRESSED_SRGB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB :: GLenum
    GL_COMPRESSED_SRGB = 0x8C48 :: GLenum

    pattern $mGL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10 :: GLenum
    GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10 = 0x93DB :: GLenum

    pattern $mGL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR :: GLenum
    GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR = 0x93DB :: GLenum

    pattern $mGL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5 :: GLenum
    GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5 = 0x93D8 :: GLenum

    pattern $mGL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR :: GLenum
    GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR = 0x93D8 :: GLenum

    pattern $mGL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6 :: GLenum
    GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6 = 0x93D9 :: GLenum

    pattern $mGL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR :: GLenum
    GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR = 0x93D9 :: GLenum

    pattern $mGL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8 :: GLenum
    GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8 = 0x93DA :: GLenum

    pattern $mGL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR :: GLenum
    GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR = 0x93DA :: GLenum

    pattern $mGL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10 :: GLenum
    GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10 = 0x93DC :: GLenum

    pattern $mGL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR :: GLenum
    GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR = 0x93DC :: GLenum

    pattern $mGL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12 :: GLenum
    GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12 = 0x93DD :: GLenum

    pattern $mGL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR :: GLenum
    GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR = 0x93DD :: GLenum

    pattern $mGL_COMPRESSED_SRGB8_ALPHA8_ASTC_3x3x3_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB8_ALPHA8_ASTC_3x3x3_OES :: GLenum
    GL_COMPRESSED_SRGB8_ALPHA8_ASTC_3x3x3_OES = 0x93E0 :: GLenum

    pattern $mGL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x3x3_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x3x3_OES :: GLenum
    GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x3x3_OES = 0x93E1 :: GLenum

    pattern $mGL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4 :: GLenum
    GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4 = 0x93D0 :: GLenum

    pattern $mGL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR :: GLenum
    GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR = 0x93D0 :: GLenum

    pattern $mGL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x3_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x3_OES :: GLenum
    GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x3_OES = 0x93E2 :: GLenum

    pattern $mGL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x4_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x4_OES :: GLenum
    GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x4_OES = 0x93E3 :: GLenum

    pattern $mGL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4 :: GLenum
    GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4 = 0x93D1 :: GLenum

    pattern $mGL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR :: GLenum
    GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR = 0x93D1 :: GLenum

    pattern $mGL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4x4_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4x4_OES :: GLenum
    GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4x4_OES = 0x93E4 :: GLenum

    pattern $mGL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5 :: GLenum
    GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5 = 0x93D2 :: GLenum

    pattern $mGL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR :: GLenum
    GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR = 0x93D2 :: GLenum

    pattern $mGL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x4_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x4_OES :: GLenum
    GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x4_OES = 0x93E5 :: GLenum

    pattern $mGL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x5_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x5_OES :: GLenum
    GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x5_OES = 0x93E6 :: GLenum

    pattern $mGL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5 :: GLenum
    GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5 = 0x93D3 :: GLenum

    pattern $mGL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR :: GLenum
    GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR = 0x93D3 :: GLenum

    pattern $mGL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5x5_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5x5_OES :: GLenum
    GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5x5_OES = 0x93E7 :: GLenum

    pattern $mGL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6 :: GLenum
    GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6 = 0x93D4 :: GLenum

    pattern $mGL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR :: GLenum
    GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR = 0x93D4 :: GLenum

    pattern $mGL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x5_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x5_OES :: GLenum
    GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x5_OES = 0x93E8 :: GLenum

    pattern $mGL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x6_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x6_OES :: GLenum
    GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x6_OES = 0x93E9 :: GLenum

    pattern $mGL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5 :: GLenum
    GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5 = 0x93D5 :: GLenum

    pattern $mGL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR :: GLenum
    GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR = 0x93D5 :: GLenum

    pattern $mGL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6 :: GLenum
    GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6 = 0x93D6 :: GLenum

    pattern $mGL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR :: GLenum
    GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR = 0x93D6 :: GLenum

    pattern $mGL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8 :: GLenum
    GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8 = 0x93D7 :: GLenum

    pattern $mGL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR :: GLenum
    GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR = 0x93D7 :: GLenum

    pattern $mGL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC :: GLenum
    GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC = 0x9279 :: GLenum

    pattern $mGL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC_OES :: GLenum
    GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC_OES = 0x9279 :: GLenum

    pattern $mGL_COMPRESSED_SRGB8_ETC2 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB8_ETC2 :: GLenum
    GL_COMPRESSED_SRGB8_ETC2 = 0x9275 :: GLenum

    pattern $mGL_COMPRESSED_SRGB8_ETC2_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB8_ETC2_OES :: GLenum
    GL_COMPRESSED_SRGB8_ETC2_OES = 0x9275 :: GLenum

    pattern $mGL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 :: GLenum
    GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9277 :: GLenum

    pattern $mGL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2_OES :: GLenum
    GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2_OES = 0x9277 :: GLenum

    pattern $mGL_COMPRESSED_SRGB_ALPHA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB_ALPHA :: GLenum
    GL_COMPRESSED_SRGB_ALPHA = 0x8C49 :: GLenum

    pattern $mGL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM :: GLenum
    GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM = 0x8E8D :: GLenum

    pattern $mGL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB :: GLenum
    GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB = 0x8E8D :: GLenum

    pattern $mGL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT :: GLenum
    GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT = 0x8E8D :: GLenum

    pattern $mGL_COMPRESSED_SRGB_ALPHA_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB_ALPHA_EXT :: GLenum
    GL_COMPRESSED_SRGB_ALPHA_EXT = 0x8C49 :: GLenum

    pattern $mGL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1_EXT :: GLenum
    GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1_EXT = 0x8A56 :: GLenum

    pattern $mGL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV2_IMG :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV2_IMG :: GLenum
    GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV2_IMG = 0x93F0 :: GLenum

    pattern $mGL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1_EXT :: GLenum
    GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1_EXT = 0x8A57 :: GLenum

    pattern $mGL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV2_IMG :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV2_IMG :: GLenum
    GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV2_IMG = 0x93F1 :: GLenum

    pattern $mGL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT :: GLenum
    GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT = 0x8C4D :: GLenum

    pattern $mGL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_NV :: GLenum
    GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_NV = 0x8C4D :: GLenum

    pattern $mGL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT :: GLenum
    GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT = 0x8C4E :: GLenum

    pattern $mGL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_NV :: GLenum
    GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_NV = 0x8C4E :: GLenum

    pattern $mGL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT :: GLenum
    GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT = 0x8C4F :: GLenum

    pattern $mGL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_NV :: GLenum
    GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_NV = 0x8C4F :: GLenum

    pattern $mGL_COMPRESSED_SRGB_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB_EXT :: GLenum
    GL_COMPRESSED_SRGB_EXT = 0x8C48 :: GLenum

    pattern $mGL_COMPRESSED_SRGB_PVRTC_2BPPV1_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB_PVRTC_2BPPV1_EXT :: GLenum
    GL_COMPRESSED_SRGB_PVRTC_2BPPV1_EXT = 0x8A54 :: GLenum

    pattern $mGL_COMPRESSED_SRGB_PVRTC_4BPPV1_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB_PVRTC_4BPPV1_EXT :: GLenum
    GL_COMPRESSED_SRGB_PVRTC_4BPPV1_EXT = 0x8A55 :: GLenum

    pattern $mGL_COMPRESSED_SRGB_S3TC_DXT1_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB_S3TC_DXT1_EXT :: GLenum
    GL_COMPRESSED_SRGB_S3TC_DXT1_EXT = 0x8C4C :: GLenum

    pattern $mGL_COMPRESSED_SRGB_S3TC_DXT1_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_SRGB_S3TC_DXT1_NV :: GLenum
    GL_COMPRESSED_SRGB_S3TC_DXT1_NV = 0x8C4C :: GLenum

    pattern $mGL_COMPRESSED_TEXTURE_FORMATS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_TEXTURE_FORMATS :: GLenum
    GL_COMPRESSED_TEXTURE_FORMATS = 0x86A3 :: GLenum

    pattern $mGL_COMPRESSED_TEXTURE_FORMATS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPRESSED_TEXTURE_FORMATS_ARB :: GLenum
    GL_COMPRESSED_TEXTURE_FORMATS_ARB = 0x86A3 :: GLenum

    pattern $mGL_COMPUTE_PROGRAM_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPUTE_PROGRAM_NV :: GLenum
    GL_COMPUTE_PROGRAM_NV = 0x90FB :: GLenum

    pattern $mGL_COMPUTE_PROGRAM_PARAMETER_BUFFER_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPUTE_PROGRAM_PARAMETER_BUFFER_NV :: GLenum
    GL_COMPUTE_PROGRAM_PARAMETER_BUFFER_NV = 0x90FC :: GLenum

    pattern $mGL_COMPUTE_SHADER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPUTE_SHADER :: GLenum
    GL_COMPUTE_SHADER = 0x91B9 :: GLenum

    pattern $mGL_COMPUTE_SHADER_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPUTE_SHADER_BIT :: GLenum
    GL_COMPUTE_SHADER_BIT = 0x00000020 :: GLbitfield

    pattern $mGL_COMPUTE_SHADER_INVOCATIONS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPUTE_SHADER_INVOCATIONS :: GLenum
    GL_COMPUTE_SHADER_INVOCATIONS = 0x82F5 :: GLenum

    pattern $mGL_COMPUTE_SHADER_INVOCATIONS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPUTE_SHADER_INVOCATIONS_ARB :: GLenum
    GL_COMPUTE_SHADER_INVOCATIONS_ARB = 0x82F5 :: GLenum

    pattern $mGL_COMPUTE_SUBROUTINE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPUTE_SUBROUTINE :: GLenum
    GL_COMPUTE_SUBROUTINE = 0x92ED :: GLenum

    pattern $mGL_COMPUTE_SUBROUTINE_UNIFORM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPUTE_SUBROUTINE_UNIFORM :: GLenum
    GL_COMPUTE_SUBROUTINE_UNIFORM = 0x92F3 :: GLenum

    pattern $mGL_COMPUTE_TEXTURE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPUTE_TEXTURE :: GLenum
    GL_COMPUTE_TEXTURE = 0x82A0 :: GLenum

    pattern $mGL_COMPUTE_WORK_GROUP_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMPUTE_WORK_GROUP_SIZE :: GLenum
    GL_COMPUTE_WORK_GROUP_SIZE = 0x8267 :: GLenum

    pattern $mGL_COMP_BIT_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COMP_BIT_ATI :: GLenum
    GL_COMP_BIT_ATI = 0x00000002 :: GLbitfield

    pattern $mGL_CONDITION_SATISFIED :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONDITION_SATISFIED :: GLenum
    GL_CONDITION_SATISFIED = 0x911C :: GLenum

    pattern $mGL_CONDITION_SATISFIED_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONDITION_SATISFIED_APPLE :: GLenum
    GL_CONDITION_SATISFIED_APPLE = 0x911C :: GLenum

    pattern $mGL_CONFORMANT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONFORMANT_NV :: GLenum
    GL_CONFORMANT_NV = 0x9374 :: GLenum

    pattern $mGL_CONIC_CURVE_TO_NV :: forall {r}. GLubyte -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONIC_CURVE_TO_NV :: GLubyte
    GL_CONIC_CURVE_TO_NV = 0x1A :: GLubyte

    pattern $mGL_CONJOINT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONJOINT_NV :: GLenum
    GL_CONJOINT_NV = 0x9284 :: GLenum

    pattern $mGL_CONSERVATIVE_RASTERIZATION_INTEL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONSERVATIVE_RASTERIZATION_INTEL :: GLenum
    GL_CONSERVATIVE_RASTERIZATION_INTEL = 0x83FE :: GLenum

    pattern $mGL_CONSERVATIVE_RASTERIZATION_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONSERVATIVE_RASTERIZATION_NV :: GLenum
    GL_CONSERVATIVE_RASTERIZATION_NV = 0x9346 :: GLenum

    pattern $mGL_CONSERVATIVE_RASTER_DILATE_GRANULARITY_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONSERVATIVE_RASTER_DILATE_GRANULARITY_NV :: GLenum
    GL_CONSERVATIVE_RASTER_DILATE_GRANULARITY_NV = 0x937B :: GLenum

    pattern $mGL_CONSERVATIVE_RASTER_DILATE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONSERVATIVE_RASTER_DILATE_NV :: GLenum
    GL_CONSERVATIVE_RASTER_DILATE_NV = 0x9379 :: GLenum

    pattern $mGL_CONSERVATIVE_RASTER_DILATE_RANGE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONSERVATIVE_RASTER_DILATE_RANGE_NV :: GLenum
    GL_CONSERVATIVE_RASTER_DILATE_RANGE_NV = 0x937A :: GLenum

    pattern $mGL_CONSERVATIVE_RASTER_MODE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONSERVATIVE_RASTER_MODE_NV :: GLenum
    GL_CONSERVATIVE_RASTER_MODE_NV = 0x954D :: GLenum

    pattern $mGL_CONSERVATIVE_RASTER_MODE_POST_SNAP_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONSERVATIVE_RASTER_MODE_POST_SNAP_NV :: GLenum
    GL_CONSERVATIVE_RASTER_MODE_POST_SNAP_NV = 0x954E :: GLenum

    pattern $mGL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_NV :: GLenum
    GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_NV = 0x9550 :: GLenum

    pattern $mGL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_TRIANGLES_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_TRIANGLES_NV :: GLenum
    GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_TRIANGLES_NV = 0x954F :: GLenum

    pattern $mGL_CONSERVE_MEMORY_HINT_PGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONSERVE_MEMORY_HINT_PGI :: GLenum
    GL_CONSERVE_MEMORY_HINT_PGI = 0x1A1FD :: GLenum

    pattern $mGL_CONSTANT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONSTANT :: GLenum
    GL_CONSTANT = 0x8576 :: GLenum

    pattern $mGL_CONSTANT_ALPHA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONSTANT_ALPHA :: GLenum
    GL_CONSTANT_ALPHA = 0x8003 :: GLenum

    pattern $mGL_CONSTANT_ALPHA_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONSTANT_ALPHA_EXT :: GLenum
    GL_CONSTANT_ALPHA_EXT = 0x8003 :: GLenum

    pattern $mGL_CONSTANT_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONSTANT_ARB :: GLenum
    GL_CONSTANT_ARB = 0x8576 :: GLenum

    pattern $mGL_CONSTANT_ATTENUATION :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONSTANT_ATTENUATION :: GLenum
    GL_CONSTANT_ATTENUATION = 0x1207 :: GLenum

    pattern $mGL_CONSTANT_BORDER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONSTANT_BORDER :: GLenum
    GL_CONSTANT_BORDER = 0x8151 :: GLenum

    pattern $mGL_CONSTANT_BORDER_HP :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONSTANT_BORDER_HP :: GLenum
    GL_CONSTANT_BORDER_HP = 0x8151 :: GLenum

    pattern $mGL_CONSTANT_COLOR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONSTANT_COLOR :: GLenum
    GL_CONSTANT_COLOR = 0x8001 :: GLenum

    pattern $mGL_CONSTANT_COLOR0_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONSTANT_COLOR0_NV :: GLenum
    GL_CONSTANT_COLOR0_NV = 0x852A :: GLenum

    pattern $mGL_CONSTANT_COLOR1_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONSTANT_COLOR1_NV :: GLenum
    GL_CONSTANT_COLOR1_NV = 0x852B :: GLenum

    pattern $mGL_CONSTANT_COLOR_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONSTANT_COLOR_EXT :: GLenum
    GL_CONSTANT_COLOR_EXT = 0x8001 :: GLenum

    pattern $mGL_CONSTANT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONSTANT_EXT :: GLenum
    GL_CONSTANT_EXT = 0x8576 :: GLenum

    pattern $mGL_CONSTANT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONSTANT_NV :: GLenum
    GL_CONSTANT_NV = 0x8576 :: GLenum

    pattern $mGL_CONST_EYE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONST_EYE_NV :: GLenum
    GL_CONST_EYE_NV = 0x86E5 :: GLenum

    pattern $mGL_CONTEXT_COMPATIBILITY_PROFILE_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONTEXT_COMPATIBILITY_PROFILE_BIT :: GLenum
    GL_CONTEXT_COMPATIBILITY_PROFILE_BIT = 0x00000002 :: GLbitfield

    pattern $mGL_CONTEXT_CORE_PROFILE_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONTEXT_CORE_PROFILE_BIT :: GLenum
    GL_CONTEXT_CORE_PROFILE_BIT = 0x00000001 :: GLbitfield

    pattern $mGL_CONTEXT_FLAGS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONTEXT_FLAGS :: GLenum
    GL_CONTEXT_FLAGS = 0x821E :: GLenum

    pattern $mGL_CONTEXT_FLAG_DEBUG_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONTEXT_FLAG_DEBUG_BIT :: GLenum
    GL_CONTEXT_FLAG_DEBUG_BIT = 0x00000002 :: GLbitfield

    pattern $mGL_CONTEXT_FLAG_DEBUG_BIT_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONTEXT_FLAG_DEBUG_BIT_KHR :: GLenum
    GL_CONTEXT_FLAG_DEBUG_BIT_KHR = 0x00000002 :: GLbitfield

    pattern $mGL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT :: GLenum
    GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT = 0x00000001 :: GLbitfield

    pattern $mGL_CONTEXT_FLAG_NO_ERROR_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONTEXT_FLAG_NO_ERROR_BIT :: GLenum
    GL_CONTEXT_FLAG_NO_ERROR_BIT = 0x00000008 :: GLbitfield

    pattern $mGL_CONTEXT_FLAG_NO_ERROR_BIT_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONTEXT_FLAG_NO_ERROR_BIT_KHR :: GLenum
    GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR = 0x00000008 :: GLbitfield

    pattern $mGL_CONTEXT_FLAG_PROTECTED_CONTENT_BIT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONTEXT_FLAG_PROTECTED_CONTENT_BIT_EXT :: GLenum
    GL_CONTEXT_FLAG_PROTECTED_CONTENT_BIT_EXT = 0x00000010 :: GLbitfield

    pattern $mGL_CONTEXT_FLAG_ROBUST_ACCESS_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONTEXT_FLAG_ROBUST_ACCESS_BIT :: GLenum
    GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT = 0x00000004 :: GLbitfield

    pattern $mGL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB :: GLenum
    GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB = 0x00000004 :: GLbitfield

    pattern $mGL_CONTEXT_LOST :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONTEXT_LOST :: GLenum
    GL_CONTEXT_LOST = 0x0507 :: GLenum

    pattern $mGL_CONTEXT_LOST_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONTEXT_LOST_KHR :: GLenum
    GL_CONTEXT_LOST_KHR = 0x0507 :: GLenum

    pattern $mGL_CONTEXT_LOST_WEBGL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONTEXT_LOST_WEBGL :: GLenum
    GL_CONTEXT_LOST_WEBGL = 0x9242 :: GLenum

    pattern $mGL_CONTEXT_PROFILE_MASK :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONTEXT_PROFILE_MASK :: GLenum
    GL_CONTEXT_PROFILE_MASK = 0x9126 :: GLenum

    pattern $mGL_CONTEXT_RELEASE_BEHAVIOR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONTEXT_RELEASE_BEHAVIOR :: GLenum
    GL_CONTEXT_RELEASE_BEHAVIOR = 0x82FB :: GLenum

    pattern $mGL_CONTEXT_RELEASE_BEHAVIOR_FLUSH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONTEXT_RELEASE_BEHAVIOR_FLUSH :: GLenum
    GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH = 0x82FC :: GLenum

    pattern $mGL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_KHR :: GLenum
    GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_KHR = 0x82FC :: GLenum

    pattern $mGL_CONTEXT_RELEASE_BEHAVIOR_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONTEXT_RELEASE_BEHAVIOR_KHR :: GLenum
    GL_CONTEXT_RELEASE_BEHAVIOR_KHR = 0x82FB :: GLenum

    pattern $mGL_CONTEXT_ROBUST_ACCESS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONTEXT_ROBUST_ACCESS :: GLenum
    GL_CONTEXT_ROBUST_ACCESS = 0x90F3 :: GLenum

    pattern $mGL_CONTEXT_ROBUST_ACCESS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONTEXT_ROBUST_ACCESS_EXT :: GLenum
    GL_CONTEXT_ROBUST_ACCESS_EXT = 0x90F3 :: GLenum

    pattern $mGL_CONTEXT_ROBUST_ACCESS_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONTEXT_ROBUST_ACCESS_KHR :: GLenum
    GL_CONTEXT_ROBUST_ACCESS_KHR = 0x90F3 :: GLenum

    pattern $mGL_CONTINUOUS_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONTINUOUS_AMD :: GLenum
    GL_CONTINUOUS_AMD = 0x9007 :: GLenum

    pattern $mGL_CONTRAST_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONTRAST_NV :: GLenum
    GL_CONTRAST_NV = 0x92A1 :: GLenum

    pattern $mGL_CONVEX_HULL_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONVEX_HULL_NV :: GLenum
    GL_CONVEX_HULL_NV = 0x908B :: GLenum

    pattern $mGL_CONVOLUTION_1D :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONVOLUTION_1D :: GLenum
    GL_CONVOLUTION_1D = 0x8010 :: GLenum

    pattern $mGL_CONVOLUTION_1D_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONVOLUTION_1D_EXT :: GLenum
    GL_CONVOLUTION_1D_EXT = 0x8010 :: GLenum

    pattern $mGL_CONVOLUTION_2D :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONVOLUTION_2D :: GLenum
    GL_CONVOLUTION_2D = 0x8011 :: GLenum

    pattern $mGL_CONVOLUTION_2D_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONVOLUTION_2D_EXT :: GLenum
    GL_CONVOLUTION_2D_EXT = 0x8011 :: GLenum

    pattern $mGL_CONVOLUTION_BORDER_COLOR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONVOLUTION_BORDER_COLOR :: GLenum
    GL_CONVOLUTION_BORDER_COLOR = 0x8154 :: GLenum

    pattern $mGL_CONVOLUTION_BORDER_COLOR_HP :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONVOLUTION_BORDER_COLOR_HP :: GLenum
    GL_CONVOLUTION_BORDER_COLOR_HP = 0x8154 :: GLenum

    pattern $mGL_CONVOLUTION_BORDER_MODE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONVOLUTION_BORDER_MODE :: GLenum
    GL_CONVOLUTION_BORDER_MODE = 0x8013 :: GLenum

    pattern $mGL_CONVOLUTION_BORDER_MODE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONVOLUTION_BORDER_MODE_EXT :: GLenum
    GL_CONVOLUTION_BORDER_MODE_EXT = 0x8013 :: GLenum

    pattern $mGL_CONVOLUTION_FILTER_BIAS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONVOLUTION_FILTER_BIAS :: GLenum
    GL_CONVOLUTION_FILTER_BIAS = 0x8015 :: GLenum

    pattern $mGL_CONVOLUTION_FILTER_BIAS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONVOLUTION_FILTER_BIAS_EXT :: GLenum
    GL_CONVOLUTION_FILTER_BIAS_EXT = 0x8015 :: GLenum

    pattern $mGL_CONVOLUTION_FILTER_SCALE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONVOLUTION_FILTER_SCALE :: GLenum
    GL_CONVOLUTION_FILTER_SCALE = 0x8014 :: GLenum

    pattern $mGL_CONVOLUTION_FILTER_SCALE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONVOLUTION_FILTER_SCALE_EXT :: GLenum
    GL_CONVOLUTION_FILTER_SCALE_EXT = 0x8014 :: GLenum

    pattern $mGL_CONVOLUTION_FORMAT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONVOLUTION_FORMAT :: GLenum
    GL_CONVOLUTION_FORMAT = 0x8017 :: GLenum

    pattern $mGL_CONVOLUTION_FORMAT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONVOLUTION_FORMAT_EXT :: GLenum
    GL_CONVOLUTION_FORMAT_EXT = 0x8017 :: GLenum

    pattern $mGL_CONVOLUTION_HEIGHT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONVOLUTION_HEIGHT :: GLenum
    GL_CONVOLUTION_HEIGHT = 0x8019 :: GLenum

    pattern $mGL_CONVOLUTION_HEIGHT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONVOLUTION_HEIGHT_EXT :: GLenum
    GL_CONVOLUTION_HEIGHT_EXT = 0x8019 :: GLenum

    pattern $mGL_CONVOLUTION_HINT_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONVOLUTION_HINT_SGIX :: GLenum
    GL_CONVOLUTION_HINT_SGIX = 0x8316 :: GLenum

    pattern $mGL_CONVOLUTION_WIDTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONVOLUTION_WIDTH :: GLenum
    GL_CONVOLUTION_WIDTH = 0x8018 :: GLenum

    pattern $mGL_CONVOLUTION_WIDTH_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CONVOLUTION_WIDTH_EXT :: GLenum
    GL_CONVOLUTION_WIDTH_EXT = 0x8018 :: GLenum

    pattern $mGL_CON_0_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CON_0_ATI :: GLenum
    GL_CON_0_ATI = 0x8941 :: GLenum

    pattern $mGL_CON_10_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CON_10_ATI :: GLenum
    GL_CON_10_ATI = 0x894B :: GLenum

    pattern $mGL_CON_11_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CON_11_ATI :: GLenum
    GL_CON_11_ATI = 0x894C :: GLenum

    pattern $mGL_CON_12_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CON_12_ATI :: GLenum
    GL_CON_12_ATI = 0x894D :: GLenum

    pattern $mGL_CON_13_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CON_13_ATI :: GLenum
    GL_CON_13_ATI = 0x894E :: GLenum

    pattern $mGL_CON_14_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CON_14_ATI :: GLenum
    GL_CON_14_ATI = 0x894F :: GLenum

    pattern $mGL_CON_15_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CON_15_ATI :: GLenum
    GL_CON_15_ATI = 0x8950 :: GLenum

    pattern $mGL_CON_16_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CON_16_ATI :: GLenum
    GL_CON_16_ATI = 0x8951 :: GLenum

    pattern $mGL_CON_17_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CON_17_ATI :: GLenum
    GL_CON_17_ATI = 0x8952 :: GLenum

    pattern $mGL_CON_18_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CON_18_ATI :: GLenum
    GL_CON_18_ATI = 0x8953 :: GLenum

    pattern $mGL_CON_19_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CON_19_ATI :: GLenum
    GL_CON_19_ATI = 0x8954 :: GLenum

    pattern $mGL_CON_1_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CON_1_ATI :: GLenum
    GL_CON_1_ATI = 0x8942 :: GLenum

    pattern $mGL_CON_20_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CON_20_ATI :: GLenum
    GL_CON_20_ATI = 0x8955 :: GLenum

    pattern $mGL_CON_21_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CON_21_ATI :: GLenum
    GL_CON_21_ATI = 0x8956 :: GLenum

    pattern $mGL_CON_22_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CON_22_ATI :: GLenum
    GL_CON_22_ATI = 0x8957 :: GLenum

    pattern $mGL_CON_23_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CON_23_ATI :: GLenum
    GL_CON_23_ATI = 0x8958 :: GLenum

    pattern $mGL_CON_24_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CON_24_ATI :: GLenum
    GL_CON_24_ATI = 0x8959 :: GLenum

    pattern $mGL_CON_25_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CON_25_ATI :: GLenum
    GL_CON_25_ATI = 0x895A :: GLenum

    pattern $mGL_CON_26_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CON_26_ATI :: GLenum
    GL_CON_26_ATI = 0x895B :: GLenum

    pattern $mGL_CON_27_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CON_27_ATI :: GLenum
    GL_CON_27_ATI = 0x895C :: GLenum

    pattern $mGL_CON_28_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CON_28_ATI :: GLenum
    GL_CON_28_ATI = 0x895D :: GLenum

    pattern $mGL_CON_29_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CON_29_ATI :: GLenum
    GL_CON_29_ATI = 0x895E :: GLenum

    pattern $mGL_CON_2_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CON_2_ATI :: GLenum
    GL_CON_2_ATI = 0x8943 :: GLenum

    pattern $mGL_CON_30_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CON_30_ATI :: GLenum
    GL_CON_30_ATI = 0x895F :: GLenum

    pattern $mGL_CON_31_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CON_31_ATI :: GLenum
    GL_CON_31_ATI = 0x8960 :: GLenum

    pattern $mGL_CON_3_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CON_3_ATI :: GLenum
    GL_CON_3_ATI = 0x8944 :: GLenum

    pattern $mGL_CON_4_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CON_4_ATI :: GLenum
    GL_CON_4_ATI = 0x8945 :: GLenum

    pattern $mGL_CON_5_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CON_5_ATI :: GLenum
    GL_CON_5_ATI = 0x8946 :: GLenum

    pattern $mGL_CON_6_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CON_6_ATI :: GLenum
    GL_CON_6_ATI = 0x8947 :: GLenum

    pattern $mGL_CON_7_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CON_7_ATI :: GLenum
    GL_CON_7_ATI = 0x8948 :: GLenum

    pattern $mGL_CON_8_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CON_8_ATI :: GLenum
    GL_CON_8_ATI = 0x8949 :: GLenum

    pattern $mGL_CON_9_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CON_9_ATI :: GLenum
    GL_CON_9_ATI = 0x894A :: GLenum

    pattern $mGL_COORD_REPLACE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COORD_REPLACE :: GLenum
    GL_COORD_REPLACE = 0x8862 :: GLenum

    pattern $mGL_COORD_REPLACE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COORD_REPLACE_ARB :: GLenum
    GL_COORD_REPLACE_ARB = 0x8862 :: GLenum

    pattern $mGL_COORD_REPLACE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COORD_REPLACE_NV :: GLenum
    GL_COORD_REPLACE_NV = 0x8862 :: GLenum

    pattern $mGL_COORD_REPLACE_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COORD_REPLACE_OES :: GLenum
    GL_COORD_REPLACE_OES = 0x8862 :: GLenum

    pattern $mGL_COPY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COPY :: GLenum
    GL_COPY = 0x1503 :: GLenum

    pattern $mGL_COPY_INVERTED :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COPY_INVERTED :: GLenum
    GL_COPY_INVERTED = 0x150C :: GLenum

    pattern $mGL_COPY_PIXEL_TOKEN :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COPY_PIXEL_TOKEN :: GLenum
    GL_COPY_PIXEL_TOKEN = 0x0706 :: GLenum

    pattern $mGL_COPY_READ_BUFFER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COPY_READ_BUFFER :: GLenum
    GL_COPY_READ_BUFFER = 0x8F36 :: GLenum

    pattern $mGL_COPY_READ_BUFFER_BINDING :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COPY_READ_BUFFER_BINDING :: GLenum
    GL_COPY_READ_BUFFER_BINDING = 0x8F36 :: GLenum

    pattern $mGL_COPY_READ_BUFFER_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COPY_READ_BUFFER_NV :: GLenum
    GL_COPY_READ_BUFFER_NV = 0x8F36 :: GLenum

    pattern $mGL_COPY_WRITE_BUFFER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COPY_WRITE_BUFFER :: GLenum
    GL_COPY_WRITE_BUFFER = 0x8F37 :: GLenum

    pattern $mGL_COPY_WRITE_BUFFER_BINDING :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COPY_WRITE_BUFFER_BINDING :: GLenum
    GL_COPY_WRITE_BUFFER_BINDING = 0x8F37 :: GLenum

    pattern $mGL_COPY_WRITE_BUFFER_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COPY_WRITE_BUFFER_NV :: GLenum
    GL_COPY_WRITE_BUFFER_NV = 0x8F37 :: GLenum

    pattern $mGL_COUNTER_RANGE_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COUNTER_RANGE_AMD :: GLenum
    GL_COUNTER_RANGE_AMD = 0x8BC1 :: GLenum

    pattern $mGL_COUNTER_TYPE_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COUNTER_TYPE_AMD :: GLenum
    GL_COUNTER_TYPE_AMD = 0x8BC0 :: GLenum

    pattern $mGL_COUNT_DOWN_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COUNT_DOWN_NV :: GLenum
    GL_COUNT_DOWN_NV = 0x9089 :: GLenum

    pattern $mGL_COUNT_UP_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COUNT_UP_NV :: GLenum
    GL_COUNT_UP_NV = 0x9088 :: GLenum

    pattern $mGL_COVERAGE_ALL_FRAGMENTS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COVERAGE_ALL_FRAGMENTS_NV :: GLenum
    GL_COVERAGE_ALL_FRAGMENTS_NV = 0x8ED5 :: GLenum

    pattern $mGL_COVERAGE_ATTACHMENT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COVERAGE_ATTACHMENT_NV :: GLenum
    GL_COVERAGE_ATTACHMENT_NV = 0x8ED2 :: GLenum

    pattern $mGL_COVERAGE_AUTOMATIC_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COVERAGE_AUTOMATIC_NV :: GLenum
    GL_COVERAGE_AUTOMATIC_NV = 0x8ED7 :: GLenum

    pattern $mGL_COVERAGE_BUFFERS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COVERAGE_BUFFERS_NV :: GLenum
    GL_COVERAGE_BUFFERS_NV = 0x8ED3 :: GLenum

    pattern $mGL_COVERAGE_BUFFER_BIT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COVERAGE_BUFFER_BIT_NV :: GLenum
    GL_COVERAGE_BUFFER_BIT_NV = 0x00008000 :: GLbitfield

    pattern $mGL_COVERAGE_COMPONENT4_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COVERAGE_COMPONENT4_NV :: GLenum
    GL_COVERAGE_COMPONENT4_NV = 0x8ED1 :: GLenum

    pattern $mGL_COVERAGE_COMPONENT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COVERAGE_COMPONENT_NV :: GLenum
    GL_COVERAGE_COMPONENT_NV = 0x8ED0 :: GLenum

    pattern $mGL_COVERAGE_EDGE_FRAGMENTS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COVERAGE_EDGE_FRAGMENTS_NV :: GLenum
    GL_COVERAGE_EDGE_FRAGMENTS_NV = 0x8ED6 :: GLenum

    pattern $mGL_COVERAGE_MODULATION_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COVERAGE_MODULATION_NV :: GLenum
    GL_COVERAGE_MODULATION_NV = 0x9332 :: GLenum

    pattern $mGL_COVERAGE_MODULATION_TABLE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COVERAGE_MODULATION_TABLE_NV :: GLenum
    GL_COVERAGE_MODULATION_TABLE_NV = 0x9331 :: GLenum

    pattern $mGL_COVERAGE_MODULATION_TABLE_SIZE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COVERAGE_MODULATION_TABLE_SIZE_NV :: GLenum
    GL_COVERAGE_MODULATION_TABLE_SIZE_NV = 0x9333 :: GLenum

    pattern $mGL_COVERAGE_SAMPLES_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_COVERAGE_SAMPLES_NV :: GLenum
    GL_COVERAGE_SAMPLES_NV = 0x8ED4 :: GLenum

    pattern $mGL_CPU_OPTIMIZED_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CPU_OPTIMIZED_QCOM :: GLenum
    GL_CPU_OPTIMIZED_QCOM = 0x8FB1 :: GLenum

    pattern $mGL_CUBIC_CURVE_TO_NV :: forall {r}. GLubyte -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CUBIC_CURVE_TO_NV :: GLubyte
    GL_CUBIC_CURVE_TO_NV = 0x0C :: GLubyte

    pattern $mGL_CUBIC_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CUBIC_EXT :: GLenum
    GL_CUBIC_EXT = 0x8334 :: GLenum

    pattern $mGL_CUBIC_HP :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CUBIC_HP :: GLenum
    GL_CUBIC_HP = 0x815F :: GLenum

    pattern $mGL_CUBIC_IMG :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CUBIC_IMG :: GLenum
    GL_CUBIC_IMG = 0x9139 :: GLenum

    pattern $mGL_CUBIC_MIPMAP_LINEAR_IMG :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CUBIC_MIPMAP_LINEAR_IMG :: GLenum
    GL_CUBIC_MIPMAP_LINEAR_IMG = 0x913B :: GLenum

    pattern $mGL_CUBIC_MIPMAP_NEAREST_IMG :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CUBIC_MIPMAP_NEAREST_IMG :: GLenum
    GL_CUBIC_MIPMAP_NEAREST_IMG = 0x913A :: GLenum

    pattern $mGL_CULL_FACE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CULL_FACE :: GLenum
    GL_CULL_FACE = 0x0B44 :: GLenum

    pattern $mGL_CULL_FACE_MODE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CULL_FACE_MODE :: GLenum
    GL_CULL_FACE_MODE = 0x0B45 :: GLenum

    pattern $mGL_CULL_FRAGMENT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CULL_FRAGMENT_NV :: GLenum
    GL_CULL_FRAGMENT_NV = 0x86E7 :: GLenum

    pattern $mGL_CULL_MODES_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CULL_MODES_NV :: GLenum
    GL_CULL_MODES_NV = 0x86E0 :: GLenum

    pattern $mGL_CULL_VERTEX_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CULL_VERTEX_EXT :: GLenum
    GL_CULL_VERTEX_EXT = 0x81AA :: GLenum

    pattern $mGL_CULL_VERTEX_EYE_POSITION_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CULL_VERTEX_EYE_POSITION_EXT :: GLenum
    GL_CULL_VERTEX_EYE_POSITION_EXT = 0x81AB :: GLenum

    pattern $mGL_CULL_VERTEX_IBM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CULL_VERTEX_IBM :: GLenum
    GL_CULL_VERTEX_IBM = 103050 :: GLenum

    pattern $mGL_CULL_VERTEX_OBJECT_POSITION_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CULL_VERTEX_OBJECT_POSITION_EXT :: GLenum
    GL_CULL_VERTEX_OBJECT_POSITION_EXT = 0x81AC :: GLenum

    pattern $mGL_CURRENT_ATTRIB_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CURRENT_ATTRIB_NV :: GLenum
    GL_CURRENT_ATTRIB_NV = 0x8626 :: GLenum

    pattern $mGL_CURRENT_BINORMAL_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CURRENT_BINORMAL_EXT :: GLenum
    GL_CURRENT_BINORMAL_EXT = 0x843C :: GLenum

    pattern $mGL_CURRENT_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CURRENT_BIT :: GLenum
    GL_CURRENT_BIT = 0x00000001 :: GLbitfield

    pattern $mGL_CURRENT_COLOR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CURRENT_COLOR :: GLenum
    GL_CURRENT_COLOR = 0x0B00 :: GLenum

    pattern $mGL_CURRENT_FOG_COORD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CURRENT_FOG_COORD :: GLenum
    GL_CURRENT_FOG_COORD = 0x8453 :: GLenum

    pattern $mGL_CURRENT_FOG_COORDINATE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CURRENT_FOG_COORDINATE :: GLenum
    GL_CURRENT_FOG_COORDINATE = 0x8453 :: GLenum

    pattern $mGL_CURRENT_FOG_COORDINATE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CURRENT_FOG_COORDINATE_EXT :: GLenum
    GL_CURRENT_FOG_COORDINATE_EXT = 0x8453 :: GLenum

    pattern $mGL_CURRENT_INDEX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CURRENT_INDEX :: GLenum
    GL_CURRENT_INDEX = 0x0B01 :: GLenum

    pattern $mGL_CURRENT_MATRIX_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CURRENT_MATRIX_ARB :: GLenum
    GL_CURRENT_MATRIX_ARB = 0x8641 :: GLenum

    pattern $mGL_CURRENT_MATRIX_INDEX_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CURRENT_MATRIX_INDEX_ARB :: GLenum
    GL_CURRENT_MATRIX_INDEX_ARB = 0x8845 :: GLenum

    pattern $mGL_CURRENT_MATRIX_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CURRENT_MATRIX_NV :: GLenum
    GL_CURRENT_MATRIX_NV = 0x8641 :: GLenum

    pattern $mGL_CURRENT_MATRIX_STACK_DEPTH_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CURRENT_MATRIX_STACK_DEPTH_ARB :: GLenum
    GL_CURRENT_MATRIX_STACK_DEPTH_ARB = 0x8640 :: GLenum

    pattern $mGL_CURRENT_MATRIX_STACK_DEPTH_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CURRENT_MATRIX_STACK_DEPTH_NV :: GLenum
    GL_CURRENT_MATRIX_STACK_DEPTH_NV = 0x8640 :: GLenum

    pattern $mGL_CURRENT_NORMAL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CURRENT_NORMAL :: GLenum
    GL_CURRENT_NORMAL = 0x0B02 :: GLenum

    pattern $mGL_CURRENT_OCCLUSION_QUERY_ID_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CURRENT_OCCLUSION_QUERY_ID_NV :: GLenum
    GL_CURRENT_OCCLUSION_QUERY_ID_NV = 0x8865 :: GLenum

    pattern $mGL_CURRENT_PALETTE_MATRIX_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CURRENT_PALETTE_MATRIX_ARB :: GLenum
    GL_CURRENT_PALETTE_MATRIX_ARB = 0x8843 :: GLenum

    pattern $mGL_CURRENT_PALETTE_MATRIX_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CURRENT_PALETTE_MATRIX_OES :: GLenum
    GL_CURRENT_PALETTE_MATRIX_OES = 0x8843 :: GLenum

    pattern $mGL_CURRENT_PROGRAM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CURRENT_PROGRAM :: GLenum
    GL_CURRENT_PROGRAM = 0x8B8D :: GLenum

    pattern $mGL_CURRENT_QUERY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CURRENT_QUERY :: GLenum
    GL_CURRENT_QUERY = 0x8865 :: GLenum

    pattern $mGL_CURRENT_QUERY_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CURRENT_QUERY_ARB :: GLenum
    GL_CURRENT_QUERY_ARB = 0x8865 :: GLenum

    pattern $mGL_CURRENT_QUERY_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CURRENT_QUERY_EXT :: GLenum
    GL_CURRENT_QUERY_EXT = 0x8865 :: GLenum

    pattern $mGL_CURRENT_RASTER_COLOR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CURRENT_RASTER_COLOR :: GLenum
    GL_CURRENT_RASTER_COLOR = 0x0B04 :: GLenum

    pattern $mGL_CURRENT_RASTER_DISTANCE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CURRENT_RASTER_DISTANCE :: GLenum
    GL_CURRENT_RASTER_DISTANCE = 0x0B09 :: GLenum

    pattern $mGL_CURRENT_RASTER_INDEX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CURRENT_RASTER_INDEX :: GLenum
    GL_CURRENT_RASTER_INDEX = 0x0B05 :: GLenum

    pattern $mGL_CURRENT_RASTER_NORMAL_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CURRENT_RASTER_NORMAL_SGIX :: GLenum
    GL_CURRENT_RASTER_NORMAL_SGIX = 0x8406 :: GLenum

    pattern $mGL_CURRENT_RASTER_POSITION :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CURRENT_RASTER_POSITION :: GLenum
    GL_CURRENT_RASTER_POSITION = 0x0B07 :: GLenum

    pattern $mGL_CURRENT_RASTER_POSITION_VALID :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CURRENT_RASTER_POSITION_VALID :: GLenum
    GL_CURRENT_RASTER_POSITION_VALID = 0x0B08 :: GLenum

    pattern $mGL_CURRENT_RASTER_SECONDARY_COLOR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CURRENT_RASTER_SECONDARY_COLOR :: GLenum
    GL_CURRENT_RASTER_SECONDARY_COLOR = 0x845F :: GLenum

    pattern $mGL_CURRENT_RASTER_TEXTURE_COORDS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CURRENT_RASTER_TEXTURE_COORDS :: GLenum
    GL_CURRENT_RASTER_TEXTURE_COORDS = 0x0B06 :: GLenum

    pattern $mGL_CURRENT_SECONDARY_COLOR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CURRENT_SECONDARY_COLOR :: GLenum
    GL_CURRENT_SECONDARY_COLOR = 0x8459 :: GLenum

    pattern $mGL_CURRENT_SECONDARY_COLOR_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CURRENT_SECONDARY_COLOR_EXT :: GLenum
    GL_CURRENT_SECONDARY_COLOR_EXT = 0x8459 :: GLenum

    pattern $mGL_CURRENT_TANGENT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CURRENT_TANGENT_EXT :: GLenum
    GL_CURRENT_TANGENT_EXT = 0x843B :: GLenum

    pattern $mGL_CURRENT_TEXTURE_COORDS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CURRENT_TEXTURE_COORDS :: GLenum
    GL_CURRENT_TEXTURE_COORDS = 0x0B03 :: GLenum

    pattern $mGL_CURRENT_TIME_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CURRENT_TIME_NV :: GLenum
    GL_CURRENT_TIME_NV = 0x8E28 :: GLenum

    pattern $mGL_CURRENT_VERTEX_ATTRIB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CURRENT_VERTEX_ATTRIB :: GLenum
    GL_CURRENT_VERTEX_ATTRIB = 0x8626 :: GLenum

    pattern $mGL_CURRENT_VERTEX_ATTRIB_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CURRENT_VERTEX_ATTRIB_ARB :: GLenum
    GL_CURRENT_VERTEX_ATTRIB_ARB = 0x8626 :: GLenum

    pattern $mGL_CURRENT_VERTEX_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CURRENT_VERTEX_EXT :: GLenum
    GL_CURRENT_VERTEX_EXT = 0x87E2 :: GLenum

    pattern $mGL_CURRENT_VERTEX_WEIGHT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CURRENT_VERTEX_WEIGHT_EXT :: GLenum
    GL_CURRENT_VERTEX_WEIGHT_EXT = 0x850B :: GLenum

    pattern $mGL_CURRENT_WEIGHT_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CURRENT_WEIGHT_ARB :: GLenum
    GL_CURRENT_WEIGHT_ARB = 0x86A8 :: GLenum

    pattern $mGL_CW :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_CW :: GLenum
    GL_CW = 0x0900 :: GLenum

    pattern $mGL_D3D12_FENCE_VALUE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_D3D12_FENCE_VALUE_EXT :: GLenum
    GL_D3D12_FENCE_VALUE_EXT = 0x9595 :: GLenum

    pattern $mGL_DARKEN :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DARKEN :: GLenum
    GL_DARKEN = 0x9297 :: GLenum

    pattern $mGL_DARKEN_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DARKEN_KHR :: GLenum
    GL_DARKEN_KHR = 0x9297 :: GLenum

    pattern $mGL_DARKEN_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DARKEN_NV :: GLenum
    GL_DARKEN_NV = 0x9297 :: GLenum

    pattern $mGL_DATA_BUFFER_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DATA_BUFFER_AMD :: GLenum
    GL_DATA_BUFFER_AMD = 0x9151 :: GLenum

    pattern $mGL_DEBUG_ASSERT_MESA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_ASSERT_MESA :: GLenum
    GL_DEBUG_ASSERT_MESA = 0x875B :: GLenum

    pattern $mGL_DEBUG_CALLBACK_FUNCTION :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_CALLBACK_FUNCTION :: GLenum
    GL_DEBUG_CALLBACK_FUNCTION = 0x8244 :: GLenum

    pattern $mGL_DEBUG_CALLBACK_FUNCTION_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_CALLBACK_FUNCTION_ARB :: GLenum
    GL_DEBUG_CALLBACK_FUNCTION_ARB = 0x8244 :: GLenum

    pattern $mGL_DEBUG_CALLBACK_FUNCTION_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_CALLBACK_FUNCTION_KHR :: GLenum
    GL_DEBUG_CALLBACK_FUNCTION_KHR = 0x8244 :: GLenum

    pattern $mGL_DEBUG_CALLBACK_USER_PARAM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_CALLBACK_USER_PARAM :: GLenum
    GL_DEBUG_CALLBACK_USER_PARAM = 0x8245 :: GLenum

    pattern $mGL_DEBUG_CALLBACK_USER_PARAM_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_CALLBACK_USER_PARAM_ARB :: GLenum
    GL_DEBUG_CALLBACK_USER_PARAM_ARB = 0x8245 :: GLenum

    pattern $mGL_DEBUG_CALLBACK_USER_PARAM_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_CALLBACK_USER_PARAM_KHR :: GLenum
    GL_DEBUG_CALLBACK_USER_PARAM_KHR = 0x8245 :: GLenum

    pattern $mGL_DEBUG_CATEGORY_API_ERROR_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_CATEGORY_API_ERROR_AMD :: GLenum
    GL_DEBUG_CATEGORY_API_ERROR_AMD = 0x9149 :: GLenum

    pattern $mGL_DEBUG_CATEGORY_APPLICATION_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_CATEGORY_APPLICATION_AMD :: GLenum
    GL_DEBUG_CATEGORY_APPLICATION_AMD = 0x914F :: GLenum

    pattern $mGL_DEBUG_CATEGORY_DEPRECATION_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_CATEGORY_DEPRECATION_AMD :: GLenum
    GL_DEBUG_CATEGORY_DEPRECATION_AMD = 0x914B :: GLenum

    pattern $mGL_DEBUG_CATEGORY_OTHER_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_CATEGORY_OTHER_AMD :: GLenum
    GL_DEBUG_CATEGORY_OTHER_AMD = 0x9150 :: GLenum

    pattern $mGL_DEBUG_CATEGORY_PERFORMANCE_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_CATEGORY_PERFORMANCE_AMD :: GLenum
    GL_DEBUG_CATEGORY_PERFORMANCE_AMD = 0x914D :: GLenum

    pattern $mGL_DEBUG_CATEGORY_SHADER_COMPILER_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_CATEGORY_SHADER_COMPILER_AMD :: GLenum
    GL_DEBUG_CATEGORY_SHADER_COMPILER_AMD = 0x914E :: GLenum

    pattern $mGL_DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD :: GLenum
    GL_DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD = 0x914C :: GLenum

    pattern $mGL_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD :: GLenum
    GL_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD = 0x914A :: GLenum

    pattern $mGL_DEBUG_GROUP_STACK_DEPTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_GROUP_STACK_DEPTH :: GLenum
    GL_DEBUG_GROUP_STACK_DEPTH = 0x826D :: GLenum

    pattern $mGL_DEBUG_GROUP_STACK_DEPTH_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_GROUP_STACK_DEPTH_KHR :: GLenum
    GL_DEBUG_GROUP_STACK_DEPTH_KHR = 0x826D :: GLenum

    pattern $mGL_DEBUG_LOGGED_MESSAGES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_LOGGED_MESSAGES :: GLenum
    GL_DEBUG_LOGGED_MESSAGES = 0x9145 :: GLenum

    pattern $mGL_DEBUG_LOGGED_MESSAGES_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_LOGGED_MESSAGES_AMD :: GLenum
    GL_DEBUG_LOGGED_MESSAGES_AMD = 0x9145 :: GLenum

    pattern $mGL_DEBUG_LOGGED_MESSAGES_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_LOGGED_MESSAGES_ARB :: GLenum
    GL_DEBUG_LOGGED_MESSAGES_ARB = 0x9145 :: GLenum

    pattern $mGL_DEBUG_LOGGED_MESSAGES_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_LOGGED_MESSAGES_KHR :: GLenum
    GL_DEBUG_LOGGED_MESSAGES_KHR = 0x9145 :: GLenum

    pattern $mGL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH :: GLenum
    GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH = 0x8243 :: GLenum

    pattern $mGL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB :: GLenum
    GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB = 0x8243 :: GLenum

    pattern $mGL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_KHR :: GLenum
    GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_KHR = 0x8243 :: GLenum

    pattern $mGL_DEBUG_OBJECT_MESA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_OBJECT_MESA :: GLenum
    GL_DEBUG_OBJECT_MESA = 0x8759 :: GLenum

    pattern $mGL_DEBUG_OUTPUT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_OUTPUT :: GLenum
    GL_DEBUG_OUTPUT = 0x92E0 :: GLenum

    pattern $mGL_DEBUG_OUTPUT_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_OUTPUT_KHR :: GLenum
    GL_DEBUG_OUTPUT_KHR = 0x92E0 :: GLenum

    pattern $mGL_DEBUG_OUTPUT_SYNCHRONOUS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_OUTPUT_SYNCHRONOUS :: GLenum
    GL_DEBUG_OUTPUT_SYNCHRONOUS = 0x8242 :: GLenum

    pattern $mGL_DEBUG_OUTPUT_SYNCHRONOUS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_OUTPUT_SYNCHRONOUS_ARB :: GLenum
    GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB = 0x8242 :: GLenum

    pattern $mGL_DEBUG_OUTPUT_SYNCHRONOUS_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_OUTPUT_SYNCHRONOUS_KHR :: GLenum
    GL_DEBUG_OUTPUT_SYNCHRONOUS_KHR = 0x8242 :: GLenum

    pattern $mGL_DEBUG_PRINT_MESA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_PRINT_MESA :: GLenum
    GL_DEBUG_PRINT_MESA = 0x875A :: GLenum

    pattern $mGL_DEBUG_SEVERITY_HIGH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_SEVERITY_HIGH :: GLenum
    GL_DEBUG_SEVERITY_HIGH = 0x9146 :: GLenum

    pattern $mGL_DEBUG_SEVERITY_HIGH_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_SEVERITY_HIGH_AMD :: GLenum
    GL_DEBUG_SEVERITY_HIGH_AMD = 0x9146 :: GLenum

    pattern $mGL_DEBUG_SEVERITY_HIGH_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_SEVERITY_HIGH_ARB :: GLenum
    GL_DEBUG_SEVERITY_HIGH_ARB = 0x9146 :: GLenum

    pattern $mGL_DEBUG_SEVERITY_HIGH_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_SEVERITY_HIGH_KHR :: GLenum
    GL_DEBUG_SEVERITY_HIGH_KHR = 0x9146 :: GLenum

    pattern $mGL_DEBUG_SEVERITY_LOW :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_SEVERITY_LOW :: GLenum
    GL_DEBUG_SEVERITY_LOW = 0x9148 :: GLenum

    pattern $mGL_DEBUG_SEVERITY_LOW_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_SEVERITY_LOW_AMD :: GLenum
    GL_DEBUG_SEVERITY_LOW_AMD = 0x9148 :: GLenum

    pattern $mGL_DEBUG_SEVERITY_LOW_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_SEVERITY_LOW_ARB :: GLenum
    GL_DEBUG_SEVERITY_LOW_ARB = 0x9148 :: GLenum

    pattern $mGL_DEBUG_SEVERITY_LOW_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_SEVERITY_LOW_KHR :: GLenum
    GL_DEBUG_SEVERITY_LOW_KHR = 0x9148 :: GLenum

    pattern $mGL_DEBUG_SEVERITY_MEDIUM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_SEVERITY_MEDIUM :: GLenum
    GL_DEBUG_SEVERITY_MEDIUM = 0x9147 :: GLenum

    pattern $mGL_DEBUG_SEVERITY_MEDIUM_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_SEVERITY_MEDIUM_AMD :: GLenum
    GL_DEBUG_SEVERITY_MEDIUM_AMD = 0x9147 :: GLenum

    pattern $mGL_DEBUG_SEVERITY_MEDIUM_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_SEVERITY_MEDIUM_ARB :: GLenum
    GL_DEBUG_SEVERITY_MEDIUM_ARB = 0x9147 :: GLenum

    pattern $mGL_DEBUG_SEVERITY_MEDIUM_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_SEVERITY_MEDIUM_KHR :: GLenum
    GL_DEBUG_SEVERITY_MEDIUM_KHR = 0x9147 :: GLenum

    pattern $mGL_DEBUG_SEVERITY_NOTIFICATION :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_SEVERITY_NOTIFICATION :: GLenum
    GL_DEBUG_SEVERITY_NOTIFICATION = 0x826B :: GLenum

    pattern $mGL_DEBUG_SEVERITY_NOTIFICATION_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_SEVERITY_NOTIFICATION_KHR :: GLenum
    GL_DEBUG_SEVERITY_NOTIFICATION_KHR = 0x826B :: GLenum

    pattern $mGL_DEBUG_SOURCE_API :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_SOURCE_API :: GLenum
    GL_DEBUG_SOURCE_API = 0x8246 :: GLenum

    pattern $mGL_DEBUG_SOURCE_API_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_SOURCE_API_ARB :: GLenum
    GL_DEBUG_SOURCE_API_ARB = 0x8246 :: GLenum

    pattern $mGL_DEBUG_SOURCE_API_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_SOURCE_API_KHR :: GLenum
    GL_DEBUG_SOURCE_API_KHR = 0x8246 :: GLenum

    pattern $mGL_DEBUG_SOURCE_APPLICATION :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_SOURCE_APPLICATION :: GLenum
    GL_DEBUG_SOURCE_APPLICATION = 0x824A :: GLenum

    pattern $mGL_DEBUG_SOURCE_APPLICATION_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_SOURCE_APPLICATION_ARB :: GLenum
    GL_DEBUG_SOURCE_APPLICATION_ARB = 0x824A :: GLenum

    pattern $mGL_DEBUG_SOURCE_APPLICATION_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_SOURCE_APPLICATION_KHR :: GLenum
    GL_DEBUG_SOURCE_APPLICATION_KHR = 0x824A :: GLenum

    pattern $mGL_DEBUG_SOURCE_OTHER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_SOURCE_OTHER :: GLenum
    GL_DEBUG_SOURCE_OTHER = 0x824B :: GLenum

    pattern $mGL_DEBUG_SOURCE_OTHER_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_SOURCE_OTHER_ARB :: GLenum
    GL_DEBUG_SOURCE_OTHER_ARB = 0x824B :: GLenum

    pattern $mGL_DEBUG_SOURCE_OTHER_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_SOURCE_OTHER_KHR :: GLenum
    GL_DEBUG_SOURCE_OTHER_KHR = 0x824B :: GLenum

    pattern $mGL_DEBUG_SOURCE_SHADER_COMPILER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_SOURCE_SHADER_COMPILER :: GLenum
    GL_DEBUG_SOURCE_SHADER_COMPILER = 0x8248 :: GLenum

    pattern $mGL_DEBUG_SOURCE_SHADER_COMPILER_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_SOURCE_SHADER_COMPILER_ARB :: GLenum
    GL_DEBUG_SOURCE_SHADER_COMPILER_ARB = 0x8248 :: GLenum

    pattern $mGL_DEBUG_SOURCE_SHADER_COMPILER_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_SOURCE_SHADER_COMPILER_KHR :: GLenum
    GL_DEBUG_SOURCE_SHADER_COMPILER_KHR = 0x8248 :: GLenum

    pattern $mGL_DEBUG_SOURCE_THIRD_PARTY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_SOURCE_THIRD_PARTY :: GLenum
    GL_DEBUG_SOURCE_THIRD_PARTY = 0x8249 :: GLenum

    pattern $mGL_DEBUG_SOURCE_THIRD_PARTY_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_SOURCE_THIRD_PARTY_ARB :: GLenum
    GL_DEBUG_SOURCE_THIRD_PARTY_ARB = 0x8249 :: GLenum

    pattern $mGL_DEBUG_SOURCE_THIRD_PARTY_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_SOURCE_THIRD_PARTY_KHR :: GLenum
    GL_DEBUG_SOURCE_THIRD_PARTY_KHR = 0x8249 :: GLenum

    pattern $mGL_DEBUG_SOURCE_WINDOW_SYSTEM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_SOURCE_WINDOW_SYSTEM :: GLenum
    GL_DEBUG_SOURCE_WINDOW_SYSTEM = 0x8247 :: GLenum

    pattern $mGL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB :: GLenum
    GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB = 0x8247 :: GLenum

    pattern $mGL_DEBUG_SOURCE_WINDOW_SYSTEM_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_SOURCE_WINDOW_SYSTEM_KHR :: GLenum
    GL_DEBUG_SOURCE_WINDOW_SYSTEM_KHR = 0x8247 :: GLenum

    pattern $mGL_DEBUG_TYPE_DEPRECATED_BEHAVIOR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_TYPE_DEPRECATED_BEHAVIOR :: GLenum
    GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR = 0x824D :: GLenum

    pattern $mGL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB :: GLenum
    GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB = 0x824D :: GLenum

    pattern $mGL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR :: GLenum
    GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR = 0x824D :: GLenum

    pattern $mGL_DEBUG_TYPE_ERROR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_TYPE_ERROR :: GLenum
    GL_DEBUG_TYPE_ERROR = 0x824C :: GLenum

    pattern $mGL_DEBUG_TYPE_ERROR_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_TYPE_ERROR_ARB :: GLenum
    GL_DEBUG_TYPE_ERROR_ARB = 0x824C :: GLenum

    pattern $mGL_DEBUG_TYPE_ERROR_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_TYPE_ERROR_KHR :: GLenum
    GL_DEBUG_TYPE_ERROR_KHR = 0x824C :: GLenum

    pattern $mGL_DEBUG_TYPE_MARKER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_TYPE_MARKER :: GLenum
    GL_DEBUG_TYPE_MARKER = 0x8268 :: GLenum

    pattern $mGL_DEBUG_TYPE_MARKER_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_TYPE_MARKER_KHR :: GLenum
    GL_DEBUG_TYPE_MARKER_KHR = 0x8268 :: GLenum

    pattern $mGL_DEBUG_TYPE_OTHER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_TYPE_OTHER :: GLenum
    GL_DEBUG_TYPE_OTHER = 0x8251 :: GLenum

    pattern $mGL_DEBUG_TYPE_OTHER_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_TYPE_OTHER_ARB :: GLenum
    GL_DEBUG_TYPE_OTHER_ARB = 0x8251 :: GLenum

    pattern $mGL_DEBUG_TYPE_OTHER_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_TYPE_OTHER_KHR :: GLenum
    GL_DEBUG_TYPE_OTHER_KHR = 0x8251 :: GLenum

    pattern $mGL_DEBUG_TYPE_PERFORMANCE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_TYPE_PERFORMANCE :: GLenum
    GL_DEBUG_TYPE_PERFORMANCE = 0x8250 :: GLenum

    pattern $mGL_DEBUG_TYPE_PERFORMANCE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_TYPE_PERFORMANCE_ARB :: GLenum
    GL_DEBUG_TYPE_PERFORMANCE_ARB = 0x8250 :: GLenum

    pattern $mGL_DEBUG_TYPE_PERFORMANCE_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_TYPE_PERFORMANCE_KHR :: GLenum
    GL_DEBUG_TYPE_PERFORMANCE_KHR = 0x8250 :: GLenum

    pattern $mGL_DEBUG_TYPE_POP_GROUP :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_TYPE_POP_GROUP :: GLenum
    GL_DEBUG_TYPE_POP_GROUP = 0x826A :: GLenum

    pattern $mGL_DEBUG_TYPE_POP_GROUP_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_TYPE_POP_GROUP_KHR :: GLenum
    GL_DEBUG_TYPE_POP_GROUP_KHR = 0x826A :: GLenum

    pattern $mGL_DEBUG_TYPE_PORTABILITY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_TYPE_PORTABILITY :: GLenum
    GL_DEBUG_TYPE_PORTABILITY = 0x824F :: GLenum

    pattern $mGL_DEBUG_TYPE_PORTABILITY_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_TYPE_PORTABILITY_ARB :: GLenum
    GL_DEBUG_TYPE_PORTABILITY_ARB = 0x824F :: GLenum

    pattern $mGL_DEBUG_TYPE_PORTABILITY_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_TYPE_PORTABILITY_KHR :: GLenum
    GL_DEBUG_TYPE_PORTABILITY_KHR = 0x824F :: GLenum

    pattern $mGL_DEBUG_TYPE_PUSH_GROUP :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_TYPE_PUSH_GROUP :: GLenum
    GL_DEBUG_TYPE_PUSH_GROUP = 0x8269 :: GLenum

    pattern $mGL_DEBUG_TYPE_PUSH_GROUP_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_TYPE_PUSH_GROUP_KHR :: GLenum
    GL_DEBUG_TYPE_PUSH_GROUP_KHR = 0x8269 :: GLenum

    pattern $mGL_DEBUG_TYPE_UNDEFINED_BEHAVIOR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_TYPE_UNDEFINED_BEHAVIOR :: GLenum
    GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR = 0x824E :: GLenum

    pattern $mGL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB :: GLenum
    GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB = 0x824E :: GLenum

    pattern $mGL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR :: GLenum
    GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR = 0x824E :: GLenum

    pattern $mGL_DECAL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DECAL :: GLenum
    GL_DECAL = 0x2101 :: GLenum

    pattern $mGL_DECODE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DECODE_EXT :: GLenum
    GL_DECODE_EXT = 0x8A49 :: GLenum

    pattern $mGL_DECR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DECR :: GLenum
    GL_DECR = 0x1E03 :: GLenum

    pattern $mGL_DECR_WRAP :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DECR_WRAP :: GLenum
    GL_DECR_WRAP = 0x8508 :: GLenum

    pattern $mGL_DECR_WRAP_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DECR_WRAP_EXT :: GLenum
    GL_DECR_WRAP_EXT = 0x8508 :: GLenum

    pattern $mGL_DECR_WRAP_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DECR_WRAP_OES :: GLenum
    GL_DECR_WRAP_OES = 0x8508 :: GLenum

    pattern $mGL_DEDICATED_MEMORY_OBJECT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEDICATED_MEMORY_OBJECT_EXT :: GLenum
    GL_DEDICATED_MEMORY_OBJECT_EXT = 0x9581 :: GLenum

    pattern $mGL_DEFORMATIONS_MASK_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEFORMATIONS_MASK_SGIX :: GLenum
    GL_DEFORMATIONS_MASK_SGIX = 0x8196 :: GLenum

    pattern $mGL_DELETE_STATUS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DELETE_STATUS :: GLenum
    GL_DELETE_STATUS = 0x8B80 :: GLenum

    pattern $mGL_DEPENDENT_AR_TEXTURE_2D_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPENDENT_AR_TEXTURE_2D_NV :: GLenum
    GL_DEPENDENT_AR_TEXTURE_2D_NV = 0x86E9 :: GLenum

    pattern $mGL_DEPENDENT_GB_TEXTURE_2D_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPENDENT_GB_TEXTURE_2D_NV :: GLenum
    GL_DEPENDENT_GB_TEXTURE_2D_NV = 0x86EA :: GLenum

    pattern $mGL_DEPENDENT_HILO_TEXTURE_2D_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPENDENT_HILO_TEXTURE_2D_NV :: GLenum
    GL_DEPENDENT_HILO_TEXTURE_2D_NV = 0x8858 :: GLenum

    pattern $mGL_DEPENDENT_RGB_TEXTURE_3D_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPENDENT_RGB_TEXTURE_3D_NV :: GLenum
    GL_DEPENDENT_RGB_TEXTURE_3D_NV = 0x8859 :: GLenum

    pattern $mGL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV :: GLenum
    GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV = 0x885A :: GLenum

    pattern $mGL_DEPTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH :: GLenum
    GL_DEPTH = 0x1801 :: GLenum

    pattern $mGL_DEPTH24_STENCIL8 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH24_STENCIL8 :: GLenum
    GL_DEPTH24_STENCIL8 = 0x88F0 :: GLenum

    pattern $mGL_DEPTH24_STENCIL8_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH24_STENCIL8_EXT :: GLenum
    GL_DEPTH24_STENCIL8_EXT = 0x88F0 :: GLenum

    pattern $mGL_DEPTH24_STENCIL8_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH24_STENCIL8_OES :: GLenum
    GL_DEPTH24_STENCIL8_OES = 0x88F0 :: GLenum

    pattern $mGL_DEPTH32F_STENCIL8 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH32F_STENCIL8 :: GLenum
    GL_DEPTH32F_STENCIL8 = 0x8CAD :: GLenum

    pattern $mGL_DEPTH32F_STENCIL8_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH32F_STENCIL8_NV :: GLenum
    GL_DEPTH32F_STENCIL8_NV = 0x8DAC :: GLenum

    pattern $mGL_DEPTH_ATTACHMENT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_ATTACHMENT :: GLenum
    GL_DEPTH_ATTACHMENT = 0x8D00 :: GLenum

    pattern $mGL_DEPTH_ATTACHMENT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_ATTACHMENT_EXT :: GLenum
    GL_DEPTH_ATTACHMENT_EXT = 0x8D00 :: GLenum

    pattern $mGL_DEPTH_ATTACHMENT_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_ATTACHMENT_OES :: GLenum
    GL_DEPTH_ATTACHMENT_OES = 0x8D00 :: GLenum

    pattern $mGL_DEPTH_BIAS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_BIAS :: GLenum
    GL_DEPTH_BIAS = 0x0D1F :: GLenum

    pattern $mGL_DEPTH_BITS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_BITS :: GLenum
    GL_DEPTH_BITS = 0x0D56 :: GLenum

    pattern $mGL_DEPTH_BOUNDS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_BOUNDS_EXT :: GLenum
    GL_DEPTH_BOUNDS_EXT = 0x8891 :: GLenum

    pattern $mGL_DEPTH_BOUNDS_TEST_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_BOUNDS_TEST_EXT :: GLenum
    GL_DEPTH_BOUNDS_TEST_EXT = 0x8890 :: GLenum

    pattern $mGL_DEPTH_BUFFER_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_BUFFER_BIT :: GLenum
    GL_DEPTH_BUFFER_BIT = 0x00000100 :: GLbitfield

    pattern $mGL_DEPTH_BUFFER_BIT0_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_BUFFER_BIT0_QCOM :: GLenum
    GL_DEPTH_BUFFER_BIT0_QCOM = 0x00000100 :: GLbitfield

    pattern $mGL_DEPTH_BUFFER_BIT1_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_BUFFER_BIT1_QCOM :: GLenum
    GL_DEPTH_BUFFER_BIT1_QCOM = 0x00000200 :: GLbitfield

    pattern $mGL_DEPTH_BUFFER_BIT2_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_BUFFER_BIT2_QCOM :: GLenum
    GL_DEPTH_BUFFER_BIT2_QCOM = 0x00000400 :: GLbitfield

    pattern $mGL_DEPTH_BUFFER_BIT3_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_BUFFER_BIT3_QCOM :: GLenum
    GL_DEPTH_BUFFER_BIT3_QCOM = 0x00000800 :: GLbitfield

    pattern $mGL_DEPTH_BUFFER_BIT4_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_BUFFER_BIT4_QCOM :: GLenum
    GL_DEPTH_BUFFER_BIT4_QCOM = 0x00001000 :: GLbitfield

    pattern $mGL_DEPTH_BUFFER_BIT5_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_BUFFER_BIT5_QCOM :: GLenum
    GL_DEPTH_BUFFER_BIT5_QCOM = 0x00002000 :: GLbitfield

    pattern $mGL_DEPTH_BUFFER_BIT6_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_BUFFER_BIT6_QCOM :: GLenum
    GL_DEPTH_BUFFER_BIT6_QCOM = 0x00004000 :: GLbitfield

    pattern $mGL_DEPTH_BUFFER_BIT7_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_BUFFER_BIT7_QCOM :: GLenum
    GL_DEPTH_BUFFER_BIT7_QCOM = 0x00008000 :: GLbitfield

    pattern $mGL_DEPTH_BUFFER_FLOAT_MODE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_BUFFER_FLOAT_MODE_NV :: GLenum
    GL_DEPTH_BUFFER_FLOAT_MODE_NV = 0x8DAF :: GLenum

    pattern $mGL_DEPTH_CLAMP :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_CLAMP :: GLenum
    GL_DEPTH_CLAMP = 0x864F :: GLenum

    pattern $mGL_DEPTH_CLAMP_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_CLAMP_EXT :: GLenum
    GL_DEPTH_CLAMP_EXT = 0x864F :: GLenum

    pattern $mGL_DEPTH_CLAMP_FAR_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_CLAMP_FAR_AMD :: GLenum
    GL_DEPTH_CLAMP_FAR_AMD = 0x901F :: GLenum

    pattern $mGL_DEPTH_CLAMP_NEAR_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_CLAMP_NEAR_AMD :: GLenum
    GL_DEPTH_CLAMP_NEAR_AMD = 0x901E :: GLenum

    pattern $mGL_DEPTH_CLAMP_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_CLAMP_NV :: GLenum
    GL_DEPTH_CLAMP_NV = 0x864F :: GLenum

    pattern $mGL_DEPTH_CLEAR_VALUE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_CLEAR_VALUE :: GLenum
    GL_DEPTH_CLEAR_VALUE = 0x0B73 :: GLenum

    pattern $mGL_DEPTH_COMPONENT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_COMPONENT :: GLenum
    GL_DEPTH_COMPONENT = 0x1902 :: GLenum

    pattern $mGL_DEPTH_COMPONENT16 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_COMPONENT16 :: GLenum
    GL_DEPTH_COMPONENT16 = 0x81A5 :: GLenum

    pattern $mGL_DEPTH_COMPONENT16_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_COMPONENT16_ARB :: GLenum
    GL_DEPTH_COMPONENT16_ARB = 0x81A5 :: GLenum

    pattern $mGL_DEPTH_COMPONENT16_NONLINEAR_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_COMPONENT16_NONLINEAR_NV :: GLenum
    GL_DEPTH_COMPONENT16_NONLINEAR_NV = 0x8E2C :: GLenum

    pattern $mGL_DEPTH_COMPONENT16_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_COMPONENT16_OES :: GLenum
    GL_DEPTH_COMPONENT16_OES = 0x81A5 :: GLenum

    pattern $mGL_DEPTH_COMPONENT16_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_COMPONENT16_SGIX :: GLenum
    GL_DEPTH_COMPONENT16_SGIX = 0x81A5 :: GLenum

    pattern $mGL_DEPTH_COMPONENT24 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_COMPONENT24 :: GLenum
    GL_DEPTH_COMPONENT24 = 0x81A6 :: GLenum

    pattern $mGL_DEPTH_COMPONENT24_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_COMPONENT24_ARB :: GLenum
    GL_DEPTH_COMPONENT24_ARB = 0x81A6 :: GLenum

    pattern $mGL_DEPTH_COMPONENT24_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_COMPONENT24_OES :: GLenum
    GL_DEPTH_COMPONENT24_OES = 0x81A6 :: GLenum

    pattern $mGL_DEPTH_COMPONENT24_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_COMPONENT24_SGIX :: GLenum
    GL_DEPTH_COMPONENT24_SGIX = 0x81A6 :: GLenum

    pattern $mGL_DEPTH_COMPONENT32 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_COMPONENT32 :: GLenum
    GL_DEPTH_COMPONENT32 = 0x81A7 :: GLenum

    pattern $mGL_DEPTH_COMPONENT32F :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_COMPONENT32F :: GLenum
    GL_DEPTH_COMPONENT32F = 0x8CAC :: GLenum

    pattern $mGL_DEPTH_COMPONENT32F_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_COMPONENT32F_NV :: GLenum
    GL_DEPTH_COMPONENT32F_NV = 0x8DAB :: GLenum

    pattern $mGL_DEPTH_COMPONENT32_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_COMPONENT32_ARB :: GLenum
    GL_DEPTH_COMPONENT32_ARB = 0x81A7 :: GLenum

    pattern $mGL_DEPTH_COMPONENT32_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_COMPONENT32_OES :: GLenum
    GL_DEPTH_COMPONENT32_OES = 0x81A7 :: GLenum

    pattern $mGL_DEPTH_COMPONENT32_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_COMPONENT32_SGIX :: GLenum
    GL_DEPTH_COMPONENT32_SGIX = 0x81A7 :: GLenum

    pattern $mGL_DEPTH_COMPONENTS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_COMPONENTS :: GLenum
    GL_DEPTH_COMPONENTS = 0x8284 :: GLenum

    pattern $mGL_DEPTH_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_EXT :: GLenum
    GL_DEPTH_EXT = 0x1801 :: GLenum

    pattern $mGL_DEPTH_FUNC :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_FUNC :: GLenum
    GL_DEPTH_FUNC = 0x0B74 :: GLenum

    pattern $mGL_DEPTH_PASS_INSTRUMENT_COUNTERS_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_PASS_INSTRUMENT_COUNTERS_SGIX :: GLenum
    GL_DEPTH_PASS_INSTRUMENT_COUNTERS_SGIX = 0x8311 :: GLenum

    pattern $mGL_DEPTH_PASS_INSTRUMENT_MAX_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_PASS_INSTRUMENT_MAX_SGIX :: GLenum
    GL_DEPTH_PASS_INSTRUMENT_MAX_SGIX = 0x8312 :: GLenum

    pattern $mGL_DEPTH_PASS_INSTRUMENT_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_PASS_INSTRUMENT_SGIX :: GLenum
    GL_DEPTH_PASS_INSTRUMENT_SGIX = 0x8310 :: GLenum

    pattern $mGL_DEPTH_RANGE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_RANGE :: GLenum
    GL_DEPTH_RANGE = 0x0B70 :: GLenum

    pattern $mGL_DEPTH_RENDERABLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_RENDERABLE :: GLenum
    GL_DEPTH_RENDERABLE = 0x8287 :: GLenum

    pattern $mGL_DEPTH_SAMPLES_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_SAMPLES_NV :: GLenum
    GL_DEPTH_SAMPLES_NV = 0x932D :: GLenum

    pattern $mGL_DEPTH_SCALE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_SCALE :: GLenum
    GL_DEPTH_SCALE = 0x0D1E :: GLenum

    pattern $mGL_DEPTH_STENCIL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_STENCIL :: GLenum
    GL_DEPTH_STENCIL = 0x84F9 :: GLenum

    pattern $mGL_DEPTH_STENCIL_ATTACHMENT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_STENCIL_ATTACHMENT :: GLenum
    GL_DEPTH_STENCIL_ATTACHMENT = 0x821A :: GLenum

    pattern $mGL_DEPTH_STENCIL_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_STENCIL_EXT :: GLenum
    GL_DEPTH_STENCIL_EXT = 0x84F9 :: GLenum

    pattern $mGL_DEPTH_STENCIL_MESA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_STENCIL_MESA :: GLenum
    GL_DEPTH_STENCIL_MESA = 0x8750 :: GLenum

    pattern $mGL_DEPTH_STENCIL_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_STENCIL_NV :: GLenum
    GL_DEPTH_STENCIL_NV = 0x84F9 :: GLenum

    pattern $mGL_DEPTH_STENCIL_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_STENCIL_OES :: GLenum
    GL_DEPTH_STENCIL_OES = 0x84F9 :: GLenum

    pattern $mGL_DEPTH_STENCIL_TEXTURE_MODE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_STENCIL_TEXTURE_MODE :: GLenum
    GL_DEPTH_STENCIL_TEXTURE_MODE = 0x90EA :: GLenum

    pattern $mGL_DEPTH_STENCIL_TO_BGRA_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_STENCIL_TO_BGRA_NV :: GLenum
    GL_DEPTH_STENCIL_TO_BGRA_NV = 0x886F :: GLenum

    pattern $mGL_DEPTH_STENCIL_TO_RGBA_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_STENCIL_TO_RGBA_NV :: GLenum
    GL_DEPTH_STENCIL_TO_RGBA_NV = 0x886E :: GLenum

    pattern $mGL_DEPTH_TEST :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_TEST :: GLenum
    GL_DEPTH_TEST = 0x0B71 :: GLenum

    pattern $mGL_DEPTH_TEXTURE_MODE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_TEXTURE_MODE :: GLenum
    GL_DEPTH_TEXTURE_MODE = 0x884B :: GLenum

    pattern $mGL_DEPTH_TEXTURE_MODE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_TEXTURE_MODE_ARB :: GLenum
    GL_DEPTH_TEXTURE_MODE_ARB = 0x884B :: GLenum

    pattern $mGL_DEPTH_WRITEMASK :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEPTH_WRITEMASK :: GLenum
    GL_DEPTH_WRITEMASK = 0x0B72 :: GLenum

    pattern $mGL_DETACHED_BUFFERS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DETACHED_BUFFERS_NV :: GLenum
    GL_DETACHED_BUFFERS_NV = 0x95AB :: GLenum

    pattern $mGL_DETACHED_MEMORY_INCARNATION_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DETACHED_MEMORY_INCARNATION_NV :: GLenum
    GL_DETACHED_MEMORY_INCARNATION_NV = 0x95A9 :: GLenum

    pattern $mGL_DETACHED_TEXTURES_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DETACHED_TEXTURES_NV :: GLenum
    GL_DETACHED_TEXTURES_NV = 0x95AA :: GLenum

    pattern $mGL_DETAIL_TEXTURE_2D_BINDING_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DETAIL_TEXTURE_2D_BINDING_SGIS :: GLenum
    GL_DETAIL_TEXTURE_2D_BINDING_SGIS = 0x8096 :: GLenum

    pattern $mGL_DETAIL_TEXTURE_2D_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DETAIL_TEXTURE_2D_SGIS :: GLenum
    GL_DETAIL_TEXTURE_2D_SGIS = 0x8095 :: GLenum

    pattern $mGL_DETAIL_TEXTURE_FUNC_POINTS_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DETAIL_TEXTURE_FUNC_POINTS_SGIS :: GLenum
    GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS = 0x809C :: GLenum

    pattern $mGL_DETAIL_TEXTURE_LEVEL_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DETAIL_TEXTURE_LEVEL_SGIS :: GLenum
    GL_DETAIL_TEXTURE_LEVEL_SGIS = 0x809A :: GLenum

    pattern $mGL_DETAIL_TEXTURE_MODE_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DETAIL_TEXTURE_MODE_SGIS :: GLenum
    GL_DETAIL_TEXTURE_MODE_SGIS = 0x809B :: GLenum

    pattern $mGL_DEVICE_LUID_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEVICE_LUID_EXT :: GLenum
    GL_DEVICE_LUID_EXT = 0x9599 :: GLenum

    pattern $mGL_DEVICE_NODE_MASK_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEVICE_NODE_MASK_EXT :: GLenum
    GL_DEVICE_NODE_MASK_EXT = 0x959A :: GLenum

    pattern $mGL_DEVICE_UUID_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DEVICE_UUID_EXT :: GLenum
    GL_DEVICE_UUID_EXT = 0x9597 :: GLenum

    pattern $mGL_DIFFERENCE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DIFFERENCE :: GLenum
    GL_DIFFERENCE = 0x929E :: GLenum

    pattern $mGL_DIFFERENCE_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DIFFERENCE_KHR :: GLenum
    GL_DIFFERENCE_KHR = 0x929E :: GLenum

    pattern $mGL_DIFFERENCE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DIFFERENCE_NV :: GLenum
    GL_DIFFERENCE_NV = 0x929E :: GLenum

    pattern $mGL_DIFFUSE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DIFFUSE :: GLenum
    GL_DIFFUSE = 0x1201 :: GLenum

    pattern $mGL_DISCARD_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DISCARD_ATI :: GLenum
    GL_DISCARD_ATI = 0x8763 :: GLenum

    pattern $mGL_DISCARD_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DISCARD_NV :: GLenum
    GL_DISCARD_NV = 0x8530 :: GLenum

    pattern $mGL_DISCRETE_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DISCRETE_AMD :: GLenum
    GL_DISCRETE_AMD = 0x9006 :: GLenum

    pattern $mGL_DISJOINT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DISJOINT_NV :: GLenum
    GL_DISJOINT_NV = 0x9283 :: GLenum

    pattern $mGL_DISPATCH_INDIRECT_BUFFER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DISPATCH_INDIRECT_BUFFER :: GLenum
    GL_DISPATCH_INDIRECT_BUFFER = 0x90EE :: GLenum

    pattern $mGL_DISPATCH_INDIRECT_BUFFER_BINDING :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DISPATCH_INDIRECT_BUFFER_BINDING :: GLenum
    GL_DISPATCH_INDIRECT_BUFFER_BINDING = 0x90EF :: GLenum

    pattern $mGL_DISPLAY_LIST :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DISPLAY_LIST :: GLenum
    GL_DISPLAY_LIST = 0x82E7 :: GLenum

    pattern $mGL_DISTANCE_ATTENUATION_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DISTANCE_ATTENUATION_EXT :: GLenum
    GL_DISTANCE_ATTENUATION_EXT = 0x8129 :: GLenum

    pattern $mGL_DISTANCE_ATTENUATION_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DISTANCE_ATTENUATION_SGIS :: GLenum
    GL_DISTANCE_ATTENUATION_SGIS = 0x8129 :: GLenum

    pattern $mGL_DITHER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DITHER :: GLenum
    GL_DITHER = 0x0BD0 :: GLenum

    pattern $mGL_DMP_PROGRAM_BINARY_DMP :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DMP_PROGRAM_BINARY_DMP :: GLenum
    GL_DMP_PROGRAM_BINARY_DMP = 0x9253 :: GLenum

    pattern $mGL_DOMAIN :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DOMAIN :: GLenum
    GL_DOMAIN = 0x0A02 :: GLenum

    pattern $mGL_DONT_CARE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DONT_CARE :: GLenum
    GL_DONT_CARE = 0x1100 :: GLenum

    pattern $mGL_DOT2_ADD_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DOT2_ADD_ATI :: GLenum
    GL_DOT2_ADD_ATI = 0x896C :: GLenum

    pattern $mGL_DOT3_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DOT3_ATI :: GLenum
    GL_DOT3_ATI = 0x8966 :: GLenum

    pattern $mGL_DOT3_RGB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DOT3_RGB :: GLenum
    GL_DOT3_RGB = 0x86AE :: GLenum

    pattern $mGL_DOT3_RGBA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DOT3_RGBA :: GLenum
    GL_DOT3_RGBA = 0x86AF :: GLenum

    pattern $mGL_DOT3_RGBA_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DOT3_RGBA_ARB :: GLenum
    GL_DOT3_RGBA_ARB = 0x86AF :: GLenum

    pattern $mGL_DOT3_RGBA_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DOT3_RGBA_EXT :: GLenum
    GL_DOT3_RGBA_EXT = 0x8741 :: GLenum

    pattern $mGL_DOT3_RGBA_IMG :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DOT3_RGBA_IMG :: GLenum
    GL_DOT3_RGBA_IMG = 0x86AF :: GLenum

    pattern $mGL_DOT3_RGB_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DOT3_RGB_ARB :: GLenum
    GL_DOT3_RGB_ARB = 0x86AE :: GLenum

    pattern $mGL_DOT3_RGB_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DOT3_RGB_EXT :: GLenum
    GL_DOT3_RGB_EXT = 0x8740 :: GLenum

    pattern $mGL_DOT4_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DOT4_ATI :: GLenum
    GL_DOT4_ATI = 0x8967 :: GLenum

    pattern $mGL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV :: GLenum
    GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV = 0x885D :: GLenum

    pattern $mGL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV :: GLenum
    GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV = 0x86F3 :: GLenum

    pattern $mGL_DOT_PRODUCT_DEPTH_REPLACE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DOT_PRODUCT_DEPTH_REPLACE_NV :: GLenum
    GL_DOT_PRODUCT_DEPTH_REPLACE_NV = 0x86ED :: GLenum

    pattern $mGL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV :: GLenum
    GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV = 0x86F1 :: GLenum

    pattern $mGL_DOT_PRODUCT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DOT_PRODUCT_NV :: GLenum
    GL_DOT_PRODUCT_NV = 0x86EC :: GLenum

    pattern $mGL_DOT_PRODUCT_PASS_THROUGH_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DOT_PRODUCT_PASS_THROUGH_NV :: GLenum
    GL_DOT_PRODUCT_PASS_THROUGH_NV = 0x885B :: GLenum

    pattern $mGL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV :: GLenum
    GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV = 0x86F2 :: GLenum

    pattern $mGL_DOT_PRODUCT_TEXTURE_1D_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DOT_PRODUCT_TEXTURE_1D_NV :: GLenum
    GL_DOT_PRODUCT_TEXTURE_1D_NV = 0x885C :: GLenum

    pattern $mGL_DOT_PRODUCT_TEXTURE_2D_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DOT_PRODUCT_TEXTURE_2D_NV :: GLenum
    GL_DOT_PRODUCT_TEXTURE_2D_NV = 0x86EE :: GLenum

    pattern $mGL_DOT_PRODUCT_TEXTURE_3D_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DOT_PRODUCT_TEXTURE_3D_NV :: GLenum
    GL_DOT_PRODUCT_TEXTURE_3D_NV = 0x86EF :: GLenum

    pattern $mGL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV :: GLenum
    GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV = 0x86F0 :: GLenum

    pattern $mGL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV :: GLenum
    GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV = 0x864E :: GLenum

    pattern $mGL_DOUBLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DOUBLE :: GLenum
    GL_DOUBLE = 0x140A :: GLenum

    pattern $mGL_DOUBLEBUFFER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DOUBLEBUFFER :: GLenum
    GL_DOUBLEBUFFER = 0x0C32 :: GLenum

    pattern $mGL_DOUBLE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DOUBLE_EXT :: GLenum
    GL_DOUBLE_EXT = 0x140A :: GLenum

    pattern $mGL_DOUBLE_MAT2 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DOUBLE_MAT2 :: GLenum
    GL_DOUBLE_MAT2 = 0x8F46 :: GLenum

    pattern $mGL_DOUBLE_MAT2_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DOUBLE_MAT2_EXT :: GLenum
    GL_DOUBLE_MAT2_EXT = 0x8F46 :: GLenum

    pattern $mGL_DOUBLE_MAT2x3 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DOUBLE_MAT2x3 :: GLenum
    GL_DOUBLE_MAT2x3 = 0x8F49 :: GLenum

    pattern $mGL_DOUBLE_MAT2x3_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DOUBLE_MAT2x3_EXT :: GLenum
    GL_DOUBLE_MAT2x3_EXT = 0x8F49 :: GLenum

    pattern $mGL_DOUBLE_MAT2x4 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DOUBLE_MAT2x4 :: GLenum
    GL_DOUBLE_MAT2x4 = 0x8F4A :: GLenum

    pattern $mGL_DOUBLE_MAT2x4_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DOUBLE_MAT2x4_EXT :: GLenum
    GL_DOUBLE_MAT2x4_EXT = 0x8F4A :: GLenum

    pattern $mGL_DOUBLE_MAT3 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DOUBLE_MAT3 :: GLenum
    GL_DOUBLE_MAT3 = 0x8F47 :: GLenum

    pattern $mGL_DOUBLE_MAT3_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DOUBLE_MAT3_EXT :: GLenum
    GL_DOUBLE_MAT3_EXT = 0x8F47 :: GLenum

    pattern $mGL_DOUBLE_MAT3x2 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DOUBLE_MAT3x2 :: GLenum
    GL_DOUBLE_MAT3x2 = 0x8F4B :: GLenum

    pattern $mGL_DOUBLE_MAT3x2_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DOUBLE_MAT3x2_EXT :: GLenum
    GL_DOUBLE_MAT3x2_EXT = 0x8F4B :: GLenum

    pattern $mGL_DOUBLE_MAT3x4 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DOUBLE_MAT3x4 :: GLenum
    GL_DOUBLE_MAT3x4 = 0x8F4C :: GLenum

    pattern $mGL_DOUBLE_MAT3x4_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DOUBLE_MAT3x4_EXT :: GLenum
    GL_DOUBLE_MAT3x4_EXT = 0x8F4C :: GLenum

    pattern $mGL_DOUBLE_MAT4 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DOUBLE_MAT4 :: GLenum
    GL_DOUBLE_MAT4 = 0x8F48 :: GLenum

    pattern $mGL_DOUBLE_MAT4_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DOUBLE_MAT4_EXT :: GLenum
    GL_DOUBLE_MAT4_EXT = 0x8F48 :: GLenum

    pattern $mGL_DOUBLE_MAT4x2 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DOUBLE_MAT4x2 :: GLenum
    GL_DOUBLE_MAT4x2 = 0x8F4D :: GLenum

    pattern $mGL_DOUBLE_MAT4x2_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DOUBLE_MAT4x2_EXT :: GLenum
    GL_DOUBLE_MAT4x2_EXT = 0x8F4D :: GLenum

    pattern $mGL_DOUBLE_MAT4x3 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DOUBLE_MAT4x3 :: GLenum
    GL_DOUBLE_MAT4x3 = 0x8F4E :: GLenum

    pattern $mGL_DOUBLE_MAT4x3_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DOUBLE_MAT4x3_EXT :: GLenum
    GL_DOUBLE_MAT4x3_EXT = 0x8F4E :: GLenum

    pattern $mGL_DOUBLE_VEC2 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DOUBLE_VEC2 :: GLenum
    GL_DOUBLE_VEC2 = 0x8FFC :: GLenum

    pattern $mGL_DOUBLE_VEC2_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DOUBLE_VEC2_EXT :: GLenum
    GL_DOUBLE_VEC2_EXT = 0x8FFC :: GLenum

    pattern $mGL_DOUBLE_VEC3 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DOUBLE_VEC3 :: GLenum
    GL_DOUBLE_VEC3 = 0x8FFD :: GLenum

    pattern $mGL_DOUBLE_VEC3_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DOUBLE_VEC3_EXT :: GLenum
    GL_DOUBLE_VEC3_EXT = 0x8FFD :: GLenum

    pattern $mGL_DOUBLE_VEC4 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DOUBLE_VEC4 :: GLenum
    GL_DOUBLE_VEC4 = 0x8FFE :: GLenum

    pattern $mGL_DOUBLE_VEC4_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DOUBLE_VEC4_EXT :: GLenum
    GL_DOUBLE_VEC4_EXT = 0x8FFE :: GLenum

    pattern $mGL_DOWNSAMPLE_SCALES_IMG :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DOWNSAMPLE_SCALES_IMG :: GLenum
    GL_DOWNSAMPLE_SCALES_IMG = 0x913E :: GLenum

    pattern $mGL_DRAW_ARRAYS_COMMAND_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_ARRAYS_COMMAND_NV :: GLenum
    GL_DRAW_ARRAYS_COMMAND_NV = 0x0003 :: GLenum

    pattern $mGL_DRAW_ARRAYS_INSTANCED_COMMAND_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_ARRAYS_INSTANCED_COMMAND_NV :: GLenum
    GL_DRAW_ARRAYS_INSTANCED_COMMAND_NV = 0x0007 :: GLenum

    pattern $mGL_DRAW_ARRAYS_STRIP_COMMAND_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_ARRAYS_STRIP_COMMAND_NV :: GLenum
    GL_DRAW_ARRAYS_STRIP_COMMAND_NV = 0x0005 :: GLenum

    pattern $mGL_DRAW_BUFFER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER :: GLenum
    GL_DRAW_BUFFER = 0x0C01 :: GLenum

    pattern $mGL_DRAW_BUFFER0 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER0 :: GLenum
    GL_DRAW_BUFFER0 = 0x8825 :: GLenum

    pattern $mGL_DRAW_BUFFER0_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER0_ARB :: GLenum
    GL_DRAW_BUFFER0_ARB = 0x8825 :: GLenum

    pattern $mGL_DRAW_BUFFER0_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER0_ATI :: GLenum
    GL_DRAW_BUFFER0_ATI = 0x8825 :: GLenum

    pattern $mGL_DRAW_BUFFER0_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER0_EXT :: GLenum
    GL_DRAW_BUFFER0_EXT = 0x8825 :: GLenum

    pattern $mGL_DRAW_BUFFER0_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER0_NV :: GLenum
    GL_DRAW_BUFFER0_NV = 0x8825 :: GLenum

    pattern $mGL_DRAW_BUFFER1 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER1 :: GLenum
    GL_DRAW_BUFFER1 = 0x8826 :: GLenum

    pattern $mGL_DRAW_BUFFER10 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER10 :: GLenum
    GL_DRAW_BUFFER10 = 0x882F :: GLenum

    pattern $mGL_DRAW_BUFFER10_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER10_ARB :: GLenum
    GL_DRAW_BUFFER10_ARB = 0x882F :: GLenum

    pattern $mGL_DRAW_BUFFER10_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER10_ATI :: GLenum
    GL_DRAW_BUFFER10_ATI = 0x882F :: GLenum

    pattern $mGL_DRAW_BUFFER10_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER10_EXT :: GLenum
    GL_DRAW_BUFFER10_EXT = 0x882F :: GLenum

    pattern $mGL_DRAW_BUFFER10_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER10_NV :: GLenum
    GL_DRAW_BUFFER10_NV = 0x882F :: GLenum

    pattern $mGL_DRAW_BUFFER11 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER11 :: GLenum
    GL_DRAW_BUFFER11 = 0x8830 :: GLenum

    pattern $mGL_DRAW_BUFFER11_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER11_ARB :: GLenum
    GL_DRAW_BUFFER11_ARB = 0x8830 :: GLenum

    pattern $mGL_DRAW_BUFFER11_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER11_ATI :: GLenum
    GL_DRAW_BUFFER11_ATI = 0x8830 :: GLenum

    pattern $mGL_DRAW_BUFFER11_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER11_EXT :: GLenum
    GL_DRAW_BUFFER11_EXT = 0x8830 :: GLenum

    pattern $mGL_DRAW_BUFFER11_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER11_NV :: GLenum
    GL_DRAW_BUFFER11_NV = 0x8830 :: GLenum

    pattern $mGL_DRAW_BUFFER12 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER12 :: GLenum
    GL_DRAW_BUFFER12 = 0x8831 :: GLenum

    pattern $mGL_DRAW_BUFFER12_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER12_ARB :: GLenum
    GL_DRAW_BUFFER12_ARB = 0x8831 :: GLenum

    pattern $mGL_DRAW_BUFFER12_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER12_ATI :: GLenum
    GL_DRAW_BUFFER12_ATI = 0x8831 :: GLenum

    pattern $mGL_DRAW_BUFFER12_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER12_EXT :: GLenum
    GL_DRAW_BUFFER12_EXT = 0x8831 :: GLenum

    pattern $mGL_DRAW_BUFFER12_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER12_NV :: GLenum
    GL_DRAW_BUFFER12_NV = 0x8831 :: GLenum

    pattern $mGL_DRAW_BUFFER13 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER13 :: GLenum
    GL_DRAW_BUFFER13 = 0x8832 :: GLenum

    pattern $mGL_DRAW_BUFFER13_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER13_ARB :: GLenum
    GL_DRAW_BUFFER13_ARB = 0x8832 :: GLenum

    pattern $mGL_DRAW_BUFFER13_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER13_ATI :: GLenum
    GL_DRAW_BUFFER13_ATI = 0x8832 :: GLenum

    pattern $mGL_DRAW_BUFFER13_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER13_EXT :: GLenum
    GL_DRAW_BUFFER13_EXT = 0x8832 :: GLenum

    pattern $mGL_DRAW_BUFFER13_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER13_NV :: GLenum
    GL_DRAW_BUFFER13_NV = 0x8832 :: GLenum

    pattern $mGL_DRAW_BUFFER14 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER14 :: GLenum
    GL_DRAW_BUFFER14 = 0x8833 :: GLenum

    pattern $mGL_DRAW_BUFFER14_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER14_ARB :: GLenum
    GL_DRAW_BUFFER14_ARB = 0x8833 :: GLenum

    pattern $mGL_DRAW_BUFFER14_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER14_ATI :: GLenum
    GL_DRAW_BUFFER14_ATI = 0x8833 :: GLenum

    pattern $mGL_DRAW_BUFFER14_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER14_EXT :: GLenum
    GL_DRAW_BUFFER14_EXT = 0x8833 :: GLenum

    pattern $mGL_DRAW_BUFFER14_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER14_NV :: GLenum
    GL_DRAW_BUFFER14_NV = 0x8833 :: GLenum

    pattern $mGL_DRAW_BUFFER15 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER15 :: GLenum
    GL_DRAW_BUFFER15 = 0x8834 :: GLenum

    pattern $mGL_DRAW_BUFFER15_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER15_ARB :: GLenum
    GL_DRAW_BUFFER15_ARB = 0x8834 :: GLenum

    pattern $mGL_DRAW_BUFFER15_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER15_ATI :: GLenum
    GL_DRAW_BUFFER15_ATI = 0x8834 :: GLenum

    pattern $mGL_DRAW_BUFFER15_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER15_EXT :: GLenum
    GL_DRAW_BUFFER15_EXT = 0x8834 :: GLenum

    pattern $mGL_DRAW_BUFFER15_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER15_NV :: GLenum
    GL_DRAW_BUFFER15_NV = 0x8834 :: GLenum

    pattern $mGL_DRAW_BUFFER1_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER1_ARB :: GLenum
    GL_DRAW_BUFFER1_ARB = 0x8826 :: GLenum

    pattern $mGL_DRAW_BUFFER1_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER1_ATI :: GLenum
    GL_DRAW_BUFFER1_ATI = 0x8826 :: GLenum

    pattern $mGL_DRAW_BUFFER1_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER1_EXT :: GLenum
    GL_DRAW_BUFFER1_EXT = 0x8826 :: GLenum

    pattern $mGL_DRAW_BUFFER1_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER1_NV :: GLenum
    GL_DRAW_BUFFER1_NV = 0x8826 :: GLenum

    pattern $mGL_DRAW_BUFFER2 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER2 :: GLenum
    GL_DRAW_BUFFER2 = 0x8827 :: GLenum

    pattern $mGL_DRAW_BUFFER2_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER2_ARB :: GLenum
    GL_DRAW_BUFFER2_ARB = 0x8827 :: GLenum

    pattern $mGL_DRAW_BUFFER2_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER2_ATI :: GLenum
    GL_DRAW_BUFFER2_ATI = 0x8827 :: GLenum

    pattern $mGL_DRAW_BUFFER2_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER2_EXT :: GLenum
    GL_DRAW_BUFFER2_EXT = 0x8827 :: GLenum

    pattern $mGL_DRAW_BUFFER2_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER2_NV :: GLenum
    GL_DRAW_BUFFER2_NV = 0x8827 :: GLenum

    pattern $mGL_DRAW_BUFFER3 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER3 :: GLenum
    GL_DRAW_BUFFER3 = 0x8828 :: GLenum

    pattern $mGL_DRAW_BUFFER3_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER3_ARB :: GLenum
    GL_DRAW_BUFFER3_ARB = 0x8828 :: GLenum

    pattern $mGL_DRAW_BUFFER3_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER3_ATI :: GLenum
    GL_DRAW_BUFFER3_ATI = 0x8828 :: GLenum

    pattern $mGL_DRAW_BUFFER3_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER3_EXT :: GLenum
    GL_DRAW_BUFFER3_EXT = 0x8828 :: GLenum

    pattern $mGL_DRAW_BUFFER3_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER3_NV :: GLenum
    GL_DRAW_BUFFER3_NV = 0x8828 :: GLenum

    pattern $mGL_DRAW_BUFFER4 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER4 :: GLenum
    GL_DRAW_BUFFER4 = 0x8829 :: GLenum

    pattern $mGL_DRAW_BUFFER4_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER4_ARB :: GLenum
    GL_DRAW_BUFFER4_ARB = 0x8829 :: GLenum

    pattern $mGL_DRAW_BUFFER4_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER4_ATI :: GLenum
    GL_DRAW_BUFFER4_ATI = 0x8829 :: GLenum

    pattern $mGL_DRAW_BUFFER4_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER4_EXT :: GLenum
    GL_DRAW_BUFFER4_EXT = 0x8829 :: GLenum

    pattern $mGL_DRAW_BUFFER4_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER4_NV :: GLenum
    GL_DRAW_BUFFER4_NV = 0x8829 :: GLenum

    pattern $mGL_DRAW_BUFFER5 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER5 :: GLenum
    GL_DRAW_BUFFER5 = 0x882A :: GLenum

    pattern $mGL_DRAW_BUFFER5_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER5_ARB :: GLenum
    GL_DRAW_BUFFER5_ARB = 0x882A :: GLenum

    pattern $mGL_DRAW_BUFFER5_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER5_ATI :: GLenum
    GL_DRAW_BUFFER5_ATI = 0x882A :: GLenum

    pattern $mGL_DRAW_BUFFER5_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER5_EXT :: GLenum
    GL_DRAW_BUFFER5_EXT = 0x882A :: GLenum

    pattern $mGL_DRAW_BUFFER5_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER5_NV :: GLenum
    GL_DRAW_BUFFER5_NV = 0x882A :: GLenum

    pattern $mGL_DRAW_BUFFER6 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER6 :: GLenum
    GL_DRAW_BUFFER6 = 0x882B :: GLenum

    pattern $mGL_DRAW_BUFFER6_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER6_ARB :: GLenum
    GL_DRAW_BUFFER6_ARB = 0x882B :: GLenum

    pattern $mGL_DRAW_BUFFER6_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER6_ATI :: GLenum
    GL_DRAW_BUFFER6_ATI = 0x882B :: GLenum

    pattern $mGL_DRAW_BUFFER6_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER6_EXT :: GLenum
    GL_DRAW_BUFFER6_EXT = 0x882B :: GLenum

    pattern $mGL_DRAW_BUFFER6_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER6_NV :: GLenum
    GL_DRAW_BUFFER6_NV = 0x882B :: GLenum

    pattern $mGL_DRAW_BUFFER7 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER7 :: GLenum
    GL_DRAW_BUFFER7 = 0x882C :: GLenum

    pattern $mGL_DRAW_BUFFER7_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER7_ARB :: GLenum
    GL_DRAW_BUFFER7_ARB = 0x882C :: GLenum

    pattern $mGL_DRAW_BUFFER7_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER7_ATI :: GLenum
    GL_DRAW_BUFFER7_ATI = 0x882C :: GLenum

    pattern $mGL_DRAW_BUFFER7_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER7_EXT :: GLenum
    GL_DRAW_BUFFER7_EXT = 0x882C :: GLenum

    pattern $mGL_DRAW_BUFFER7_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER7_NV :: GLenum
    GL_DRAW_BUFFER7_NV = 0x882C :: GLenum

    pattern $mGL_DRAW_BUFFER8 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER8 :: GLenum
    GL_DRAW_BUFFER8 = 0x882D :: GLenum

    pattern $mGL_DRAW_BUFFER8_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER8_ARB :: GLenum
    GL_DRAW_BUFFER8_ARB = 0x882D :: GLenum

    pattern $mGL_DRAW_BUFFER8_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER8_ATI :: GLenum
    GL_DRAW_BUFFER8_ATI = 0x882D :: GLenum

    pattern $mGL_DRAW_BUFFER8_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER8_EXT :: GLenum
    GL_DRAW_BUFFER8_EXT = 0x882D :: GLenum

    pattern $mGL_DRAW_BUFFER8_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER8_NV :: GLenum
    GL_DRAW_BUFFER8_NV = 0x882D :: GLenum

    pattern $mGL_DRAW_BUFFER9 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER9 :: GLenum
    GL_DRAW_BUFFER9 = 0x882E :: GLenum

    pattern $mGL_DRAW_BUFFER9_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER9_ARB :: GLenum
    GL_DRAW_BUFFER9_ARB = 0x882E :: GLenum

    pattern $mGL_DRAW_BUFFER9_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER9_ATI :: GLenum
    GL_DRAW_BUFFER9_ATI = 0x882E :: GLenum

    pattern $mGL_DRAW_BUFFER9_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER9_EXT :: GLenum
    GL_DRAW_BUFFER9_EXT = 0x882E :: GLenum

    pattern $mGL_DRAW_BUFFER9_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER9_NV :: GLenum
    GL_DRAW_BUFFER9_NV = 0x882E :: GLenum

    pattern $mGL_DRAW_BUFFER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_BUFFER_EXT :: GLenum
    GL_DRAW_BUFFER_EXT = 0x0C01 :: GLenum

    pattern $mGL_DRAW_ELEMENTS_COMMAND_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_ELEMENTS_COMMAND_NV :: GLenum
    GL_DRAW_ELEMENTS_COMMAND_NV = 0x0002 :: GLenum

    pattern $mGL_DRAW_ELEMENTS_INSTANCED_COMMAND_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_ELEMENTS_INSTANCED_COMMAND_NV :: GLenum
    GL_DRAW_ELEMENTS_INSTANCED_COMMAND_NV = 0x0006 :: GLenum

    pattern $mGL_DRAW_ELEMENTS_STRIP_COMMAND_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_ELEMENTS_STRIP_COMMAND_NV :: GLenum
    GL_DRAW_ELEMENTS_STRIP_COMMAND_NV = 0x0004 :: GLenum

    pattern $mGL_DRAW_FRAMEBUFFER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_FRAMEBUFFER :: GLenum
    GL_DRAW_FRAMEBUFFER = 0x8CA9 :: GLenum

    pattern $mGL_DRAW_FRAMEBUFFER_ANGLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_FRAMEBUFFER_ANGLE :: GLenum
    GL_DRAW_FRAMEBUFFER_ANGLE = 0x8CA9 :: GLenum

    pattern $mGL_DRAW_FRAMEBUFFER_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_FRAMEBUFFER_APPLE :: GLenum
    GL_DRAW_FRAMEBUFFER_APPLE = 0x8CA9 :: GLenum

    pattern $mGL_DRAW_FRAMEBUFFER_BINDING :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_FRAMEBUFFER_BINDING :: GLenum
    GL_DRAW_FRAMEBUFFER_BINDING = 0x8CA6 :: GLenum

    pattern $mGL_DRAW_FRAMEBUFFER_BINDING_ANGLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_FRAMEBUFFER_BINDING_ANGLE :: GLenum
    GL_DRAW_FRAMEBUFFER_BINDING_ANGLE = 0x8CA6 :: GLenum

    pattern $mGL_DRAW_FRAMEBUFFER_BINDING_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_FRAMEBUFFER_BINDING_APPLE :: GLenum
    GL_DRAW_FRAMEBUFFER_BINDING_APPLE = 0x8CA6 :: GLenum

    pattern $mGL_DRAW_FRAMEBUFFER_BINDING_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_FRAMEBUFFER_BINDING_EXT :: GLenum
    GL_DRAW_FRAMEBUFFER_BINDING_EXT = 0x8CA6 :: GLenum

    pattern $mGL_DRAW_FRAMEBUFFER_BINDING_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_FRAMEBUFFER_BINDING_NV :: GLenum
    GL_DRAW_FRAMEBUFFER_BINDING_NV = 0x8CA6 :: GLenum

    pattern $mGL_DRAW_FRAMEBUFFER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_FRAMEBUFFER_EXT :: GLenum
    GL_DRAW_FRAMEBUFFER_EXT = 0x8CA9 :: GLenum

    pattern $mGL_DRAW_FRAMEBUFFER_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_FRAMEBUFFER_NV :: GLenum
    GL_DRAW_FRAMEBUFFER_NV = 0x8CA9 :: GLenum

    pattern $mGL_DRAW_INDIRECT_ADDRESS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_INDIRECT_ADDRESS_NV :: GLenum
    GL_DRAW_INDIRECT_ADDRESS_NV = 0x8F41 :: GLenum

    pattern $mGL_DRAW_INDIRECT_BUFFER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_INDIRECT_BUFFER :: GLenum
    GL_DRAW_INDIRECT_BUFFER = 0x8F3F :: GLenum

    pattern $mGL_DRAW_INDIRECT_BUFFER_BINDING :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_INDIRECT_BUFFER_BINDING :: GLenum
    GL_DRAW_INDIRECT_BUFFER_BINDING = 0x8F43 :: GLenum

    pattern $mGL_DRAW_INDIRECT_LENGTH_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_INDIRECT_LENGTH_NV :: GLenum
    GL_DRAW_INDIRECT_LENGTH_NV = 0x8F42 :: GLenum

    pattern $mGL_DRAW_INDIRECT_UNIFIED_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_INDIRECT_UNIFIED_NV :: GLenum
    GL_DRAW_INDIRECT_UNIFIED_NV = 0x8F40 :: GLenum

    pattern $mGL_DRAW_PIXELS_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_PIXELS_APPLE :: GLenum
    GL_DRAW_PIXELS_APPLE = 0x8A0A :: GLenum

    pattern $mGL_DRAW_PIXEL_TOKEN :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRAW_PIXEL_TOKEN :: GLenum
    GL_DRAW_PIXEL_TOKEN = 0x0705 :: GLenum

    pattern $mGL_DRIVER_UUID_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DRIVER_UUID_EXT :: GLenum
    GL_DRIVER_UUID_EXT = 0x9598 :: GLenum

    pattern $mGL_DSDT8_MAG8_INTENSITY8_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DSDT8_MAG8_INTENSITY8_NV :: GLenum
    GL_DSDT8_MAG8_INTENSITY8_NV = 0x870B :: GLenum

    pattern $mGL_DSDT8_MAG8_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DSDT8_MAG8_NV :: GLenum
    GL_DSDT8_MAG8_NV = 0x870A :: GLenum

    pattern $mGL_DSDT8_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DSDT8_NV :: GLenum
    GL_DSDT8_NV = 0x8709 :: GLenum

    pattern $mGL_DSDT_MAG_INTENSITY_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DSDT_MAG_INTENSITY_NV :: GLenum
    GL_DSDT_MAG_INTENSITY_NV = 0x86DC :: GLenum

    pattern $mGL_DSDT_MAG_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DSDT_MAG_NV :: GLenum
    GL_DSDT_MAG_NV = 0x86F6 :: GLenum

    pattern $mGL_DSDT_MAG_VIB_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DSDT_MAG_VIB_NV :: GLenum
    GL_DSDT_MAG_VIB_NV = 0x86F7 :: GLenum

    pattern $mGL_DSDT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DSDT_NV :: GLenum
    GL_DSDT_NV = 0x86F5 :: GLenum

    pattern $mGL_DST_ALPHA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DST_ALPHA :: GLenum
    GL_DST_ALPHA = 0x0304 :: GLenum

    pattern $mGL_DST_ATOP_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DST_ATOP_NV :: GLenum
    GL_DST_ATOP_NV = 0x928F :: GLenum

    pattern $mGL_DST_COLOR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DST_COLOR :: GLenum
    GL_DST_COLOR = 0x0306 :: GLenum

    pattern $mGL_DST_IN_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DST_IN_NV :: GLenum
    GL_DST_IN_NV = 0x928B :: GLenum

    pattern $mGL_DST_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DST_NV :: GLenum
    GL_DST_NV = 0x9287 :: GLenum

    pattern $mGL_DST_OUT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DST_OUT_NV :: GLenum
    GL_DST_OUT_NV = 0x928D :: GLenum

    pattern $mGL_DST_OVER_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DST_OVER_NV :: GLenum
    GL_DST_OVER_NV = 0x9289 :: GLenum

    pattern $mGL_DS_BIAS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DS_BIAS_NV :: GLenum
    GL_DS_BIAS_NV = 0x8716 :: GLenum

    pattern $mGL_DS_SCALE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DS_SCALE_NV :: GLenum
    GL_DS_SCALE_NV = 0x8710 :: GLenum

    pattern $mGL_DT_BIAS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DT_BIAS_NV :: GLenum
    GL_DT_BIAS_NV = 0x8717 :: GLenum

    pattern $mGL_DT_SCALE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DT_SCALE_NV :: GLenum
    GL_DT_SCALE_NV = 0x8711 :: GLenum

    pattern $mGL_DU8DV8_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DU8DV8_ATI :: GLenum
    GL_DU8DV8_ATI = 0x877A :: GLenum

    pattern $mGL_DUAL_ALPHA12_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DUAL_ALPHA12_SGIS :: GLenum
    GL_DUAL_ALPHA12_SGIS = 0x8112 :: GLenum

    pattern $mGL_DUAL_ALPHA16_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DUAL_ALPHA16_SGIS :: GLenum
    GL_DUAL_ALPHA16_SGIS = 0x8113 :: GLenum

    pattern $mGL_DUAL_ALPHA4_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DUAL_ALPHA4_SGIS :: GLenum
    GL_DUAL_ALPHA4_SGIS = 0x8110 :: GLenum

    pattern $mGL_DUAL_ALPHA8_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DUAL_ALPHA8_SGIS :: GLenum
    GL_DUAL_ALPHA8_SGIS = 0x8111 :: GLenum

    pattern $mGL_DUAL_INTENSITY12_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DUAL_INTENSITY12_SGIS :: GLenum
    GL_DUAL_INTENSITY12_SGIS = 0x811A :: GLenum

    pattern $mGL_DUAL_INTENSITY16_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DUAL_INTENSITY16_SGIS :: GLenum
    GL_DUAL_INTENSITY16_SGIS = 0x811B :: GLenum

    pattern $mGL_DUAL_INTENSITY4_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DUAL_INTENSITY4_SGIS :: GLenum
    GL_DUAL_INTENSITY4_SGIS = 0x8118 :: GLenum

    pattern $mGL_DUAL_INTENSITY8_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DUAL_INTENSITY8_SGIS :: GLenum
    GL_DUAL_INTENSITY8_SGIS = 0x8119 :: GLenum

    pattern $mGL_DUAL_LUMINANCE12_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DUAL_LUMINANCE12_SGIS :: GLenum
    GL_DUAL_LUMINANCE12_SGIS = 0x8116 :: GLenum

    pattern $mGL_DUAL_LUMINANCE16_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DUAL_LUMINANCE16_SGIS :: GLenum
    GL_DUAL_LUMINANCE16_SGIS = 0x8117 :: GLenum

    pattern $mGL_DUAL_LUMINANCE4_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DUAL_LUMINANCE4_SGIS :: GLenum
    GL_DUAL_LUMINANCE4_SGIS = 0x8114 :: GLenum

    pattern $mGL_DUAL_LUMINANCE8_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DUAL_LUMINANCE8_SGIS :: GLenum
    GL_DUAL_LUMINANCE8_SGIS = 0x8115 :: GLenum

    pattern $mGL_DUAL_LUMINANCE_ALPHA4_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DUAL_LUMINANCE_ALPHA4_SGIS :: GLenum
    GL_DUAL_LUMINANCE_ALPHA4_SGIS = 0x811C :: GLenum

    pattern $mGL_DUAL_LUMINANCE_ALPHA8_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DUAL_LUMINANCE_ALPHA8_SGIS :: GLenum
    GL_DUAL_LUMINANCE_ALPHA8_SGIS = 0x811D :: GLenum

    pattern $mGL_DUAL_TEXTURE_SELECT_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DUAL_TEXTURE_SELECT_SGIS :: GLenum
    GL_DUAL_TEXTURE_SELECT_SGIS = 0x8124 :: GLenum

    pattern $mGL_DUDV_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DUDV_ATI :: GLenum
    GL_DUDV_ATI = 0x8779 :: GLenum

    pattern $mGL_DUP_FIRST_CUBIC_CURVE_TO_NV :: forall {r}. GLubyte -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DUP_FIRST_CUBIC_CURVE_TO_NV :: GLubyte
    GL_DUP_FIRST_CUBIC_CURVE_TO_NV = 0xF2 :: GLubyte

    pattern $mGL_DUP_LAST_CUBIC_CURVE_TO_NV :: forall {r}. GLubyte -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DUP_LAST_CUBIC_CURVE_TO_NV :: GLubyte
    GL_DUP_LAST_CUBIC_CURVE_TO_NV = 0xF4 :: GLubyte

    pattern $mGL_DYNAMIC_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DYNAMIC_ATI :: GLenum
    GL_DYNAMIC_ATI = 0x8761 :: GLenum

    pattern $mGL_DYNAMIC_COPY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DYNAMIC_COPY :: GLenum
    GL_DYNAMIC_COPY = 0x88EA :: GLenum

    pattern $mGL_DYNAMIC_COPY_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DYNAMIC_COPY_ARB :: GLenum
    GL_DYNAMIC_COPY_ARB = 0x88EA :: GLenum

    pattern $mGL_DYNAMIC_DRAW :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DYNAMIC_DRAW :: GLenum
    GL_DYNAMIC_DRAW = 0x88E8 :: GLenum

    pattern $mGL_DYNAMIC_DRAW_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DYNAMIC_DRAW_ARB :: GLenum
    GL_DYNAMIC_DRAW_ARB = 0x88E8 :: GLenum

    pattern $mGL_DYNAMIC_READ :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DYNAMIC_READ :: GLenum
    GL_DYNAMIC_READ = 0x88E9 :: GLenum

    pattern $mGL_DYNAMIC_READ_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DYNAMIC_READ_ARB :: GLenum
    GL_DYNAMIC_READ_ARB = 0x88E9 :: GLenum

    pattern $mGL_DYNAMIC_STORAGE_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DYNAMIC_STORAGE_BIT :: GLenum
    GL_DYNAMIC_STORAGE_BIT = 0x0100 :: GLbitfield

    pattern $mGL_DYNAMIC_STORAGE_BIT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_DYNAMIC_STORAGE_BIT_EXT :: GLenum
    GL_DYNAMIC_STORAGE_BIT_EXT = 0x0100 :: GLbitfield

    pattern $mGL_EDGEFLAG_BIT_PGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EDGEFLAG_BIT_PGI :: GLenum
    GL_EDGEFLAG_BIT_PGI = 0x00040000 :: GLbitfield

    pattern $mGL_EDGE_FLAG :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EDGE_FLAG :: GLenum
    GL_EDGE_FLAG = 0x0B43 :: GLenum

    pattern $mGL_EDGE_FLAG_ARRAY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EDGE_FLAG_ARRAY :: GLenum
    GL_EDGE_FLAG_ARRAY = 0x8079 :: GLenum

    pattern $mGL_EDGE_FLAG_ARRAY_ADDRESS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EDGE_FLAG_ARRAY_ADDRESS_NV :: GLenum
    GL_EDGE_FLAG_ARRAY_ADDRESS_NV = 0x8F26 :: GLenum

    pattern $mGL_EDGE_FLAG_ARRAY_BUFFER_BINDING :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EDGE_FLAG_ARRAY_BUFFER_BINDING :: GLenum
    GL_EDGE_FLAG_ARRAY_BUFFER_BINDING = 0x889B :: GLenum

    pattern $mGL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB :: GLenum
    GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB = 0x889B :: GLenum

    pattern $mGL_EDGE_FLAG_ARRAY_COUNT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EDGE_FLAG_ARRAY_COUNT_EXT :: GLenum
    GL_EDGE_FLAG_ARRAY_COUNT_EXT = 0x808D :: GLenum

    pattern $mGL_EDGE_FLAG_ARRAY_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EDGE_FLAG_ARRAY_EXT :: GLenum
    GL_EDGE_FLAG_ARRAY_EXT = 0x8079 :: GLenum

    pattern $mGL_EDGE_FLAG_ARRAY_LENGTH_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EDGE_FLAG_ARRAY_LENGTH_NV :: GLenum
    GL_EDGE_FLAG_ARRAY_LENGTH_NV = 0x8F30 :: GLenum

    pattern $mGL_EDGE_FLAG_ARRAY_LIST_IBM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EDGE_FLAG_ARRAY_LIST_IBM :: GLenum
    GL_EDGE_FLAG_ARRAY_LIST_IBM = 103075 :: GLenum

    pattern $mGL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM :: GLenum
    GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM = 103085 :: GLenum

    pattern $mGL_EDGE_FLAG_ARRAY_POINTER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EDGE_FLAG_ARRAY_POINTER :: GLenum
    GL_EDGE_FLAG_ARRAY_POINTER = 0x8093 :: GLenum

    pattern $mGL_EDGE_FLAG_ARRAY_POINTER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EDGE_FLAG_ARRAY_POINTER_EXT :: GLenum
    GL_EDGE_FLAG_ARRAY_POINTER_EXT = 0x8093 :: GLenum

    pattern $mGL_EDGE_FLAG_ARRAY_STRIDE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EDGE_FLAG_ARRAY_STRIDE :: GLenum
    GL_EDGE_FLAG_ARRAY_STRIDE = 0x808C :: GLenum

    pattern $mGL_EDGE_FLAG_ARRAY_STRIDE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EDGE_FLAG_ARRAY_STRIDE_EXT :: GLenum
    GL_EDGE_FLAG_ARRAY_STRIDE_EXT = 0x808C :: GLenum

    pattern $mGL_EFFECTIVE_RASTER_SAMPLES_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EFFECTIVE_RASTER_SAMPLES_EXT :: GLenum
    GL_EFFECTIVE_RASTER_SAMPLES_EXT = 0x932C :: GLenum

    pattern $mGL_EIGHTH_BIT_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EIGHTH_BIT_ATI :: GLenum
    GL_EIGHTH_BIT_ATI = 0x00000020 :: GLbitfield

    pattern $mGL_ELEMENT_ADDRESS_COMMAND_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ELEMENT_ADDRESS_COMMAND_NV :: GLenum
    GL_ELEMENT_ADDRESS_COMMAND_NV = 0x0008 :: GLenum

    pattern $mGL_ELEMENT_ARRAY_ADDRESS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ELEMENT_ARRAY_ADDRESS_NV :: GLenum
    GL_ELEMENT_ARRAY_ADDRESS_NV = 0x8F29 :: GLenum

    pattern $mGL_ELEMENT_ARRAY_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ELEMENT_ARRAY_APPLE :: GLenum
    GL_ELEMENT_ARRAY_APPLE = 0x8A0C :: GLenum

    pattern $mGL_ELEMENT_ARRAY_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ELEMENT_ARRAY_ATI :: GLenum
    GL_ELEMENT_ARRAY_ATI = 0x8768 :: GLenum

    pattern $mGL_ELEMENT_ARRAY_BARRIER_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ELEMENT_ARRAY_BARRIER_BIT :: GLenum
    GL_ELEMENT_ARRAY_BARRIER_BIT = 0x00000002 :: GLbitfield

    pattern $mGL_ELEMENT_ARRAY_BARRIER_BIT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ELEMENT_ARRAY_BARRIER_BIT_EXT :: GLenum
    GL_ELEMENT_ARRAY_BARRIER_BIT_EXT = 0x00000002 :: GLbitfield

    pattern $mGL_ELEMENT_ARRAY_BUFFER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ELEMENT_ARRAY_BUFFER :: GLenum
    GL_ELEMENT_ARRAY_BUFFER = 0x8893 :: GLenum

    pattern $mGL_ELEMENT_ARRAY_BUFFER_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ELEMENT_ARRAY_BUFFER_ARB :: GLenum
    GL_ELEMENT_ARRAY_BUFFER_ARB = 0x8893 :: GLenum

    pattern $mGL_ELEMENT_ARRAY_BUFFER_BINDING :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ELEMENT_ARRAY_BUFFER_BINDING :: GLenum
    GL_ELEMENT_ARRAY_BUFFER_BINDING = 0x8895 :: GLenum

    pattern $mGL_ELEMENT_ARRAY_BUFFER_BINDING_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ELEMENT_ARRAY_BUFFER_BINDING_ARB :: GLenum
    GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB = 0x8895 :: GLenum

    pattern $mGL_ELEMENT_ARRAY_LENGTH_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ELEMENT_ARRAY_LENGTH_NV :: GLenum
    GL_ELEMENT_ARRAY_LENGTH_NV = 0x8F33 :: GLenum

    pattern $mGL_ELEMENT_ARRAY_POINTER_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ELEMENT_ARRAY_POINTER_APPLE :: GLenum
    GL_ELEMENT_ARRAY_POINTER_APPLE = 0x8A0E :: GLenum

    pattern $mGL_ELEMENT_ARRAY_POINTER_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ELEMENT_ARRAY_POINTER_ATI :: GLenum
    GL_ELEMENT_ARRAY_POINTER_ATI = 0x876A :: GLenum

    pattern $mGL_ELEMENT_ARRAY_TYPE_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ELEMENT_ARRAY_TYPE_APPLE :: GLenum
    GL_ELEMENT_ARRAY_TYPE_APPLE = 0x8A0D :: GLenum

    pattern $mGL_ELEMENT_ARRAY_TYPE_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ELEMENT_ARRAY_TYPE_ATI :: GLenum
    GL_ELEMENT_ARRAY_TYPE_ATI = 0x8769 :: GLenum

    pattern $mGL_ELEMENT_ARRAY_UNIFIED_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ELEMENT_ARRAY_UNIFIED_NV :: GLenum
    GL_ELEMENT_ARRAY_UNIFIED_NV = 0x8F1F :: GLenum

    pattern $mGL_EMBOSS_CONSTANT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EMBOSS_CONSTANT_NV :: GLenum
    GL_EMBOSS_CONSTANT_NV = 0x855E :: GLenum

    pattern $mGL_EMBOSS_LIGHT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EMBOSS_LIGHT_NV :: GLenum
    GL_EMBOSS_LIGHT_NV = 0x855D :: GLenum

    pattern $mGL_EMBOSS_MAP_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EMBOSS_MAP_NV :: GLenum
    GL_EMBOSS_MAP_NV = 0x855F :: GLenum

    pattern $mGL_EMISSION :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EMISSION :: GLenum
    GL_EMISSION = 0x1600 :: GLenum

    pattern $mGL_ENABLE_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ENABLE_BIT :: GLenum
    GL_ENABLE_BIT = 0x00002000 :: GLbitfield

    pattern $mGL_EQUAL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EQUAL :: GLenum
    GL_EQUAL = 0x0202 :: GLenum

    pattern $mGL_EQUIV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EQUIV :: GLenum
    GL_EQUIV = 0x1509 :: GLenum

    pattern $mGL_ETC1_RGB8_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ETC1_RGB8_OES :: GLenum
    GL_ETC1_RGB8_OES = 0x8D64 :: GLenum

    pattern $mGL_ETC1_SRGB8_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ETC1_SRGB8_NV :: GLenum
    GL_ETC1_SRGB8_NV = 0x88EE :: GLenum

    pattern $mGL_EVAL_2D_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EVAL_2D_NV :: GLenum
    GL_EVAL_2D_NV = 0x86C0 :: GLenum

    pattern $mGL_EVAL_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EVAL_BIT :: GLenum
    GL_EVAL_BIT = 0x00010000 :: GLbitfield

    pattern $mGL_EVAL_FRACTIONAL_TESSELLATION_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EVAL_FRACTIONAL_TESSELLATION_NV :: GLenum
    GL_EVAL_FRACTIONAL_TESSELLATION_NV = 0x86C5 :: GLenum

    pattern $mGL_EVAL_TRIANGULAR_2D_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EVAL_TRIANGULAR_2D_NV :: GLenum
    GL_EVAL_TRIANGULAR_2D_NV = 0x86C1 :: GLenum

    pattern $mGL_EVAL_VERTEX_ATTRIB0_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EVAL_VERTEX_ATTRIB0_NV :: GLenum
    GL_EVAL_VERTEX_ATTRIB0_NV = 0x86C6 :: GLenum

    pattern $mGL_EVAL_VERTEX_ATTRIB10_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EVAL_VERTEX_ATTRIB10_NV :: GLenum
    GL_EVAL_VERTEX_ATTRIB10_NV = 0x86D0 :: GLenum

    pattern $mGL_EVAL_VERTEX_ATTRIB11_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EVAL_VERTEX_ATTRIB11_NV :: GLenum
    GL_EVAL_VERTEX_ATTRIB11_NV = 0x86D1 :: GLenum

    pattern $mGL_EVAL_VERTEX_ATTRIB12_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EVAL_VERTEX_ATTRIB12_NV :: GLenum
    GL_EVAL_VERTEX_ATTRIB12_NV = 0x86D2 :: GLenum

    pattern $mGL_EVAL_VERTEX_ATTRIB13_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EVAL_VERTEX_ATTRIB13_NV :: GLenum
    GL_EVAL_VERTEX_ATTRIB13_NV = 0x86D3 :: GLenum

    pattern $mGL_EVAL_VERTEX_ATTRIB14_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EVAL_VERTEX_ATTRIB14_NV :: GLenum
    GL_EVAL_VERTEX_ATTRIB14_NV = 0x86D4 :: GLenum

    pattern $mGL_EVAL_VERTEX_ATTRIB15_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EVAL_VERTEX_ATTRIB15_NV :: GLenum
    GL_EVAL_VERTEX_ATTRIB15_NV = 0x86D5 :: GLenum

    pattern $mGL_EVAL_VERTEX_ATTRIB1_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EVAL_VERTEX_ATTRIB1_NV :: GLenum
    GL_EVAL_VERTEX_ATTRIB1_NV = 0x86C7 :: GLenum

    pattern $mGL_EVAL_VERTEX_ATTRIB2_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EVAL_VERTEX_ATTRIB2_NV :: GLenum
    GL_EVAL_VERTEX_ATTRIB2_NV = 0x86C8 :: GLenum

    pattern $mGL_EVAL_VERTEX_ATTRIB3_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EVAL_VERTEX_ATTRIB3_NV :: GLenum
    GL_EVAL_VERTEX_ATTRIB3_NV = 0x86C9 :: GLenum

    pattern $mGL_EVAL_VERTEX_ATTRIB4_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EVAL_VERTEX_ATTRIB4_NV :: GLenum
    GL_EVAL_VERTEX_ATTRIB4_NV = 0x86CA :: GLenum

    pattern $mGL_EVAL_VERTEX_ATTRIB5_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EVAL_VERTEX_ATTRIB5_NV :: GLenum
    GL_EVAL_VERTEX_ATTRIB5_NV = 0x86CB :: GLenum

    pattern $mGL_EVAL_VERTEX_ATTRIB6_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EVAL_VERTEX_ATTRIB6_NV :: GLenum
    GL_EVAL_VERTEX_ATTRIB6_NV = 0x86CC :: GLenum

    pattern $mGL_EVAL_VERTEX_ATTRIB7_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EVAL_VERTEX_ATTRIB7_NV :: GLenum
    GL_EVAL_VERTEX_ATTRIB7_NV = 0x86CD :: GLenum

    pattern $mGL_EVAL_VERTEX_ATTRIB8_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EVAL_VERTEX_ATTRIB8_NV :: GLenum
    GL_EVAL_VERTEX_ATTRIB8_NV = 0x86CE :: GLenum

    pattern $mGL_EVAL_VERTEX_ATTRIB9_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EVAL_VERTEX_ATTRIB9_NV :: GLenum
    GL_EVAL_VERTEX_ATTRIB9_NV = 0x86CF :: GLenum

    pattern $mGL_EXCLUSION :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EXCLUSION :: GLenum
    GL_EXCLUSION = 0x92A0 :: GLenum

    pattern $mGL_EXCLUSION_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EXCLUSION_KHR :: GLenum
    GL_EXCLUSION_KHR = 0x92A0 :: GLenum

    pattern $mGL_EXCLUSION_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EXCLUSION_NV :: GLenum
    GL_EXCLUSION_NV = 0x92A0 :: GLenum

    pattern $mGL_EXCLUSIVE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EXCLUSIVE_EXT :: GLenum
    GL_EXCLUSIVE_EXT = 0x8F11 :: GLenum

    pattern $mGL_EXP :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EXP :: GLenum
    GL_EXP = 0x0800 :: GLenum

    pattern $mGL_EXP2 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EXP2 :: GLenum
    GL_EXP2 = 0x0801 :: GLenum

    pattern $mGL_EXPAND_NEGATE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EXPAND_NEGATE_NV :: GLenum
    GL_EXPAND_NEGATE_NV = 0x8539 :: GLenum

    pattern $mGL_EXPAND_NORMAL_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EXPAND_NORMAL_NV :: GLenum
    GL_EXPAND_NORMAL_NV = 0x8538 :: GLenum

    pattern $mGL_EXTENSIONS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EXTENSIONS :: GLenum
    GL_EXTENSIONS = 0x1F03 :: GLenum

    pattern $mGL_EXTERNAL_STORAGE_BIT_NVX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EXTERNAL_STORAGE_BIT_NVX :: GLenum
    GL_EXTERNAL_STORAGE_BIT_NVX = 0x2000 :: GLbitfield

    pattern $mGL_EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD :: GLenum
    GL_EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD = 0x9160 :: GLenum

    pattern $mGL_EYE_DISTANCE_TO_LINE_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EYE_DISTANCE_TO_LINE_SGIS :: GLenum
    GL_EYE_DISTANCE_TO_LINE_SGIS = 0x81F2 :: GLenum

    pattern $mGL_EYE_DISTANCE_TO_POINT_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EYE_DISTANCE_TO_POINT_SGIS :: GLenum
    GL_EYE_DISTANCE_TO_POINT_SGIS = 0x81F0 :: GLenum

    pattern $mGL_EYE_LINEAR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EYE_LINEAR :: GLenum
    GL_EYE_LINEAR = 0x2400 :: GLenum

    pattern $mGL_EYE_LINEAR_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EYE_LINEAR_NV :: GLenum
    GL_EYE_LINEAR_NV = 0x2400 :: GLenum

    pattern $mGL_EYE_LINE_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EYE_LINE_SGIS :: GLenum
    GL_EYE_LINE_SGIS = 0x81F6 :: GLenum

    pattern $mGL_EYE_PLANE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EYE_PLANE :: GLenum
    GL_EYE_PLANE = 0x2502 :: GLenum

    pattern $mGL_EYE_PLANE_ABSOLUTE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EYE_PLANE_ABSOLUTE_NV :: GLenum
    GL_EYE_PLANE_ABSOLUTE_NV = 0x855C :: GLenum

    pattern $mGL_EYE_POINT_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EYE_POINT_SGIS :: GLenum
    GL_EYE_POINT_SGIS = 0x81F4 :: GLenum

    pattern $mGL_EYE_RADIAL_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_EYE_RADIAL_NV :: GLenum
    GL_EYE_RADIAL_NV = 0x855B :: GLenum

    pattern $mGL_E_TIMES_F_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_E_TIMES_F_NV :: GLenum
    GL_E_TIMES_F_NV = 0x8531 :: GLenum

    pattern $mGL_FACTOR_ALPHA_MODULATE_IMG :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FACTOR_ALPHA_MODULATE_IMG :: GLenum
    GL_FACTOR_ALPHA_MODULATE_IMG = 0x8C07 :: GLenum

    pattern $mGL_FACTOR_MAX_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FACTOR_MAX_AMD :: GLenum
    GL_FACTOR_MAX_AMD = 0x901D :: GLenum

    pattern $mGL_FACTOR_MIN_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FACTOR_MIN_AMD :: GLenum
    GL_FACTOR_MIN_AMD = 0x901C :: GLenum

    pattern $mGL_FAILURE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FAILURE_NV :: GLenum
    GL_FAILURE_NV = 0x9030 :: GLenum

    pattern $mGL_FALSE :: forall {r}. GLubyte -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FALSE :: GLubyte
    GL_FALSE = 0 :: GLboolean

    pattern $mGL_FASTEST :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FASTEST :: GLenum
    GL_FASTEST = 0x1101 :: GLenum

    pattern $mGL_FEEDBACK :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FEEDBACK :: GLenum
    GL_FEEDBACK = 0x1C01 :: GLenum

    pattern $mGL_FEEDBACK_BUFFER_POINTER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FEEDBACK_BUFFER_POINTER :: GLenum
    GL_FEEDBACK_BUFFER_POINTER = 0x0DF0 :: GLenum

    pattern $mGL_FEEDBACK_BUFFER_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FEEDBACK_BUFFER_SIZE :: GLenum
    GL_FEEDBACK_BUFFER_SIZE = 0x0DF1 :: GLenum

    pattern $mGL_FEEDBACK_BUFFER_TYPE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FEEDBACK_BUFFER_TYPE :: GLenum
    GL_FEEDBACK_BUFFER_TYPE = 0x0DF2 :: GLenum

    pattern $mGL_FENCE_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FENCE_APPLE :: GLenum
    GL_FENCE_APPLE = 0x8A0B :: GLenum

    pattern $mGL_FENCE_CONDITION_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FENCE_CONDITION_NV :: GLenum
    GL_FENCE_CONDITION_NV = 0x84F4 :: GLenum

    pattern $mGL_FENCE_STATUS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FENCE_STATUS_NV :: GLenum
    GL_FENCE_STATUS_NV = 0x84F3 :: GLenum

    pattern $mGL_FETCH_PER_SAMPLE_ARM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FETCH_PER_SAMPLE_ARM :: GLenum
    GL_FETCH_PER_SAMPLE_ARM = 0x8F65 :: GLenum

    pattern $mGL_FIELDS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FIELDS_NV :: GLenum
    GL_FIELDS_NV = 0x8E27 :: GLenum

    pattern $mGL_FIELD_LOWER_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FIELD_LOWER_NV :: GLenum
    GL_FIELD_LOWER_NV = 0x9023 :: GLenum

    pattern $mGL_FIELD_UPPER_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FIELD_UPPER_NV :: GLenum
    GL_FIELD_UPPER_NV = 0x9022 :: GLenum

    pattern $mGL_FILE_NAME_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FILE_NAME_NV :: GLenum
    GL_FILE_NAME_NV = 0x9074 :: GLenum

    pattern $mGL_FILL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FILL :: GLenum
    GL_FILL = 0x1B02 :: GLenum

    pattern $mGL_FILL_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FILL_NV :: GLenum
    GL_FILL_NV = 0x1B02 :: GLenum

    pattern $mGL_FILL_RECTANGLE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FILL_RECTANGLE_NV :: GLenum
    GL_FILL_RECTANGLE_NV = 0x933C :: GLenum

    pattern $mGL_FILTER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FILTER :: GLenum
    GL_FILTER = 0x829A :: GLenum

    pattern $mGL_FILTER4_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FILTER4_SGIS :: GLenum
    GL_FILTER4_SGIS = 0x8146 :: GLenum

    pattern $mGL_FIRST_TO_REST_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FIRST_TO_REST_NV :: GLenum
    GL_FIRST_TO_REST_NV = 0x90AF :: GLenum

    pattern $mGL_FIRST_VERTEX_CONVENTION :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FIRST_VERTEX_CONVENTION :: GLenum
    GL_FIRST_VERTEX_CONVENTION = 0x8E4D :: GLenum

    pattern $mGL_FIRST_VERTEX_CONVENTION_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FIRST_VERTEX_CONVENTION_EXT :: GLenum
    GL_FIRST_VERTEX_CONVENTION_EXT = 0x8E4D :: GLenum

    pattern $mGL_FIRST_VERTEX_CONVENTION_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FIRST_VERTEX_CONVENTION_OES :: GLenum
    GL_FIRST_VERTEX_CONVENTION_OES = 0x8E4D :: GLenum

    pattern $mGL_FIXED :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FIXED :: GLenum
    GL_FIXED = 0x140C :: GLenum

    pattern $mGL_FIXED_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FIXED_OES :: GLenum
    GL_FIXED_OES = 0x140C :: GLenum

    pattern $mGL_FIXED_ONLY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FIXED_ONLY :: GLenum
    GL_FIXED_ONLY = 0x891D :: GLenum

    pattern $mGL_FIXED_ONLY_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FIXED_ONLY_ARB :: GLenum
    GL_FIXED_ONLY_ARB = 0x891D :: GLenum

    pattern $mGL_FLAT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FLAT :: GLenum
    GL_FLAT = 0x1D00 :: GLenum

    pattern $mGL_FLOAT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FLOAT :: GLenum
    GL_FLOAT = 0x1406 :: GLenum

    pattern $mGL_FLOAT16_MAT2_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FLOAT16_MAT2_AMD :: GLenum
    GL_FLOAT16_MAT2_AMD = 0x91C5 :: GLenum

    pattern $mGL_FLOAT16_MAT2x3_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FLOAT16_MAT2x3_AMD :: GLenum
    GL_FLOAT16_MAT2x3_AMD = 0x91C8 :: GLenum

    pattern $mGL_FLOAT16_MAT2x4_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FLOAT16_MAT2x4_AMD :: GLenum
    GL_FLOAT16_MAT2x4_AMD = 0x91C9 :: GLenum

    pattern $mGL_FLOAT16_MAT3_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FLOAT16_MAT3_AMD :: GLenum
    GL_FLOAT16_MAT3_AMD = 0x91C6 :: GLenum

    pattern $mGL_FLOAT16_MAT3x2_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FLOAT16_MAT3x2_AMD :: GLenum
    GL_FLOAT16_MAT3x2_AMD = 0x91CA :: GLenum

    pattern $mGL_FLOAT16_MAT3x4_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FLOAT16_MAT3x4_AMD :: GLenum
    GL_FLOAT16_MAT3x4_AMD = 0x91CB :: GLenum

    pattern $mGL_FLOAT16_MAT4_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FLOAT16_MAT4_AMD :: GLenum
    GL_FLOAT16_MAT4_AMD = 0x91C7 :: GLenum

    pattern $mGL_FLOAT16_MAT4x2_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FLOAT16_MAT4x2_AMD :: GLenum
    GL_FLOAT16_MAT4x2_AMD = 0x91CC :: GLenum

    pattern $mGL_FLOAT16_MAT4x3_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FLOAT16_MAT4x3_AMD :: GLenum
    GL_FLOAT16_MAT4x3_AMD = 0x91CD :: GLenum

    pattern $mGL_FLOAT16_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FLOAT16_NV :: GLenum
    GL_FLOAT16_NV = 0x8FF8 :: GLenum

    pattern $mGL_FLOAT16_VEC2_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FLOAT16_VEC2_NV :: GLenum
    GL_FLOAT16_VEC2_NV = 0x8FF9 :: GLenum

    pattern $mGL_FLOAT16_VEC3_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FLOAT16_VEC3_NV :: GLenum
    GL_FLOAT16_VEC3_NV = 0x8FFA :: GLenum

    pattern $mGL_FLOAT16_VEC4_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FLOAT16_VEC4_NV :: GLenum
    GL_FLOAT16_VEC4_NV = 0x8FFB :: GLenum

    pattern $mGL_FLOAT_32_UNSIGNED_INT_24_8_REV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FLOAT_32_UNSIGNED_INT_24_8_REV :: GLenum
    GL_FLOAT_32_UNSIGNED_INT_24_8_REV = 0x8DAD :: GLenum

    pattern $mGL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV :: GLenum
    GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV = 0x8DAD :: GLenum

    pattern $mGL_FLOAT_CLEAR_COLOR_VALUE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FLOAT_CLEAR_COLOR_VALUE_NV :: GLenum
    GL_FLOAT_CLEAR_COLOR_VALUE_NV = 0x888D :: GLenum

    pattern $mGL_FLOAT_MAT2 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FLOAT_MAT2 :: GLenum
    GL_FLOAT_MAT2 = 0x8B5A :: GLenum

    pattern $mGL_FLOAT_MAT2_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FLOAT_MAT2_ARB :: GLenum
    GL_FLOAT_MAT2_ARB = 0x8B5A :: GLenum

    pattern $mGL_FLOAT_MAT2x3 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FLOAT_MAT2x3 :: GLenum
    GL_FLOAT_MAT2x3 = 0x8B65 :: GLenum

    pattern $mGL_FLOAT_MAT2x3_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FLOAT_MAT2x3_NV :: GLenum
    GL_FLOAT_MAT2x3_NV = 0x8B65 :: GLenum

    pattern $mGL_FLOAT_MAT2x4 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FLOAT_MAT2x4 :: GLenum
    GL_FLOAT_MAT2x4 = 0x8B66 :: GLenum

    pattern $mGL_FLOAT_MAT2x4_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FLOAT_MAT2x4_NV :: GLenum
    GL_FLOAT_MAT2x4_NV = 0x8B66 :: GLenum

    pattern $mGL_FLOAT_MAT3 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FLOAT_MAT3 :: GLenum
    GL_FLOAT_MAT3 = 0x8B5B :: GLenum

    pattern $mGL_FLOAT_MAT3_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FLOAT_MAT3_ARB :: GLenum
    GL_FLOAT_MAT3_ARB = 0x8B5B :: GLenum

    pattern $mGL_FLOAT_MAT3x2 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FLOAT_MAT3x2 :: GLenum
    GL_FLOAT_MAT3x2 = 0x8B67 :: GLenum

    pattern $mGL_FLOAT_MAT3x2_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FLOAT_MAT3x2_NV :: GLenum
    GL_FLOAT_MAT3x2_NV = 0x8B67 :: GLenum

    pattern $mGL_FLOAT_MAT3x4 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FLOAT_MAT3x4 :: GLenum
    GL_FLOAT_MAT3x4 = 0x8B68 :: GLenum

    pattern $mGL_FLOAT_MAT3x4_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FLOAT_MAT3x4_NV :: GLenum
    GL_FLOAT_MAT3x4_NV = 0x8B68 :: GLenum

    pattern $mGL_FLOAT_MAT4 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FLOAT_MAT4 :: GLenum
    GL_FLOAT_MAT4 = 0x8B5C :: GLenum

    pattern $mGL_FLOAT_MAT4_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FLOAT_MAT4_ARB :: GLenum
    GL_FLOAT_MAT4_ARB = 0x8B5C :: GLenum

    pattern $mGL_FLOAT_MAT4x2 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FLOAT_MAT4x2 :: GLenum
    GL_FLOAT_MAT4x2 = 0x8B69 :: GLenum

    pattern $mGL_FLOAT_MAT4x2_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FLOAT_MAT4x2_NV :: GLenum
    GL_FLOAT_MAT4x2_NV = 0x8B69 :: GLenum

    pattern $mGL_FLOAT_MAT4x3 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FLOAT_MAT4x3 :: GLenum
    GL_FLOAT_MAT4x3 = 0x8B6A :: GLenum

    pattern $mGL_FLOAT_MAT4x3_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FLOAT_MAT4x3_NV :: GLenum
    GL_FLOAT_MAT4x3_NV = 0x8B6A :: GLenum

    pattern $mGL_FLOAT_R16_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FLOAT_R16_NV :: GLenum
    GL_FLOAT_R16_NV = 0x8884 :: GLenum

    pattern $mGL_FLOAT_R32_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FLOAT_R32_NV :: GLenum
    GL_FLOAT_R32_NV = 0x8885 :: GLenum

    pattern $mGL_FLOAT_RG16_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FLOAT_RG16_NV :: GLenum
    GL_FLOAT_RG16_NV = 0x8886 :: GLenum

    pattern $mGL_FLOAT_RG32_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FLOAT_RG32_NV :: GLenum
    GL_FLOAT_RG32_NV = 0x8887 :: GLenum

    pattern $mGL_FLOAT_RGB16_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FLOAT_RGB16_NV :: GLenum
    GL_FLOAT_RGB16_NV = 0x8888 :: GLenum

    pattern $mGL_FLOAT_RGB32_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FLOAT_RGB32_NV :: GLenum
    GL_FLOAT_RGB32_NV = 0x8889 :: GLenum

    pattern $mGL_FLOAT_RGBA16_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FLOAT_RGBA16_NV :: GLenum
    GL_FLOAT_RGBA16_NV = 0x888A :: GLenum

    pattern $mGL_FLOAT_RGBA32_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FLOAT_RGBA32_NV :: GLenum
    GL_FLOAT_RGBA32_NV = 0x888B :: GLenum

    pattern $mGL_FLOAT_RGBA_MODE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FLOAT_RGBA_MODE_NV :: GLenum
    GL_FLOAT_RGBA_MODE_NV = 0x888E :: GLenum

    pattern $mGL_FLOAT_RGBA_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FLOAT_RGBA_NV :: GLenum
    GL_FLOAT_RGBA_NV = 0x8883 :: GLenum

    pattern $mGL_FLOAT_RGB_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FLOAT_RGB_NV :: GLenum
    GL_FLOAT_RGB_NV = 0x8882 :: GLenum

    pattern $mGL_FLOAT_RG_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FLOAT_RG_NV :: GLenum
    GL_FLOAT_RG_NV = 0x8881 :: GLenum

    pattern $mGL_FLOAT_R_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FLOAT_R_NV :: GLenum
    GL_FLOAT_R_NV = 0x8880 :: GLenum

    pattern $mGL_FLOAT_VEC2 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FLOAT_VEC2 :: GLenum
    GL_FLOAT_VEC2 = 0x8B50 :: GLenum

    pattern $mGL_FLOAT_VEC2_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FLOAT_VEC2_ARB :: GLenum
    GL_FLOAT_VEC2_ARB = 0x8B50 :: GLenum

    pattern $mGL_FLOAT_VEC3 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FLOAT_VEC3 :: GLenum
    GL_FLOAT_VEC3 = 0x8B51 :: GLenum

    pattern $mGL_FLOAT_VEC3_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FLOAT_VEC3_ARB :: GLenum
    GL_FLOAT_VEC3_ARB = 0x8B51 :: GLenum

    pattern $mGL_FLOAT_VEC4 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FLOAT_VEC4 :: GLenum
    GL_FLOAT_VEC4 = 0x8B52 :: GLenum

    pattern $mGL_FLOAT_VEC4_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FLOAT_VEC4_ARB :: GLenum
    GL_FLOAT_VEC4_ARB = 0x8B52 :: GLenum

    pattern $mGL_FOG :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FOG :: GLenum
    GL_FOG = 0x0B60 :: GLenum

    pattern $mGL_FOG_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FOG_BIT :: GLenum
    GL_FOG_BIT = 0x00000080 :: GLbitfield

    pattern $mGL_FOG_COLOR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FOG_COLOR :: GLenum
    GL_FOG_COLOR = 0x0B66 :: GLenum

    pattern $mGL_FOG_COORD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FOG_COORD :: GLenum
    GL_FOG_COORD = 0x8451 :: GLenum

    pattern $mGL_FOG_COORDINATE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FOG_COORDINATE :: GLenum
    GL_FOG_COORDINATE = 0x8451 :: GLenum

    pattern $mGL_FOG_COORDINATE_ARRAY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FOG_COORDINATE_ARRAY :: GLenum
    GL_FOG_COORDINATE_ARRAY = 0x8457 :: GLenum

    pattern $mGL_FOG_COORDINATE_ARRAY_BUFFER_BINDING :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FOG_COORDINATE_ARRAY_BUFFER_BINDING :: GLenum
    GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING = 0x889D :: GLenum

    pattern $mGL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB :: GLenum
    GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB = 0x889D :: GLenum

    pattern $mGL_FOG_COORDINATE_ARRAY_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FOG_COORDINATE_ARRAY_EXT :: GLenum
    GL_FOG_COORDINATE_ARRAY_EXT = 0x8457 :: GLenum

    pattern $mGL_FOG_COORDINATE_ARRAY_LIST_IBM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FOG_COORDINATE_ARRAY_LIST_IBM :: GLenum
    GL_FOG_COORDINATE_ARRAY_LIST_IBM = 103076 :: GLenum

    pattern $mGL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM :: GLenum
    GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM = 103086 :: GLenum

    pattern $mGL_FOG_COORDINATE_ARRAY_POINTER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FOG_COORDINATE_ARRAY_POINTER :: GLenum
    GL_FOG_COORDINATE_ARRAY_POINTER = 0x8456 :: GLenum

    pattern $mGL_FOG_COORDINATE_ARRAY_POINTER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FOG_COORDINATE_ARRAY_POINTER_EXT :: GLenum
    GL_FOG_COORDINATE_ARRAY_POINTER_EXT = 0x8456 :: GLenum

    pattern $mGL_FOG_COORDINATE_ARRAY_STRIDE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FOG_COORDINATE_ARRAY_STRIDE :: GLenum
    GL_FOG_COORDINATE_ARRAY_STRIDE = 0x8455 :: GLenum

    pattern $mGL_FOG_COORDINATE_ARRAY_STRIDE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FOG_COORDINATE_ARRAY_STRIDE_EXT :: GLenum
    GL_FOG_COORDINATE_ARRAY_STRIDE_EXT = 0x8455 :: GLenum

    pattern $mGL_FOG_COORDINATE_ARRAY_TYPE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FOG_COORDINATE_ARRAY_TYPE :: GLenum
    GL_FOG_COORDINATE_ARRAY_TYPE = 0x8454 :: GLenum

    pattern $mGL_FOG_COORDINATE_ARRAY_TYPE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FOG_COORDINATE_ARRAY_TYPE_EXT :: GLenum
    GL_FOG_COORDINATE_ARRAY_TYPE_EXT = 0x8454 :: GLenum

    pattern $mGL_FOG_COORDINATE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FOG_COORDINATE_EXT :: GLenum
    GL_FOG_COORDINATE_EXT = 0x8451 :: GLenum

    pattern $mGL_FOG_COORDINATE_SOURCE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FOG_COORDINATE_SOURCE :: GLenum
    GL_FOG_COORDINATE_SOURCE = 0x8450 :: GLenum

    pattern $mGL_FOG_COORDINATE_SOURCE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FOG_COORDINATE_SOURCE_EXT :: GLenum
    GL_FOG_COORDINATE_SOURCE_EXT = 0x8450 :: GLenum

    pattern $mGL_FOG_COORD_ARRAY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FOG_COORD_ARRAY :: GLenum
    GL_FOG_COORD_ARRAY = 0x8457 :: GLenum

    pattern $mGL_FOG_COORD_ARRAY_ADDRESS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FOG_COORD_ARRAY_ADDRESS_NV :: GLenum
    GL_FOG_COORD_ARRAY_ADDRESS_NV = 0x8F28 :: GLenum

    pattern $mGL_FOG_COORD_ARRAY_BUFFER_BINDING :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FOG_COORD_ARRAY_BUFFER_BINDING :: GLenum
    GL_FOG_COORD_ARRAY_BUFFER_BINDING = 0x889D :: GLenum

    pattern $mGL_FOG_COORD_ARRAY_LENGTH_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FOG_COORD_ARRAY_LENGTH_NV :: GLenum
    GL_FOG_COORD_ARRAY_LENGTH_NV = 0x8F32 :: GLenum

    pattern $mGL_FOG_COORD_ARRAY_POINTER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FOG_COORD_ARRAY_POINTER :: GLenum
    GL_FOG_COORD_ARRAY_POINTER = 0x8456 :: GLenum

    pattern $mGL_FOG_COORD_ARRAY_STRIDE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FOG_COORD_ARRAY_STRIDE :: GLenum
    GL_FOG_COORD_ARRAY_STRIDE = 0x8455 :: GLenum

    pattern $mGL_FOG_COORD_ARRAY_TYPE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FOG_COORD_ARRAY_TYPE :: GLenum
    GL_FOG_COORD_ARRAY_TYPE = 0x8454 :: GLenum

    pattern $mGL_FOG_COORD_SRC :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FOG_COORD_SRC :: GLenum
    GL_FOG_COORD_SRC = 0x8450 :: GLenum

    pattern $mGL_FOG_DENSITY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FOG_DENSITY :: GLenum
    GL_FOG_DENSITY = 0x0B62 :: GLenum

    pattern $mGL_FOG_DISTANCE_MODE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FOG_DISTANCE_MODE_NV :: GLenum
    GL_FOG_DISTANCE_MODE_NV = 0x855A :: GLenum

    pattern $mGL_FOG_END :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FOG_END :: GLenum
    GL_FOG_END = 0x0B64 :: GLenum

    pattern $mGL_FOG_FUNC_POINTS_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FOG_FUNC_POINTS_SGIS :: GLenum
    GL_FOG_FUNC_POINTS_SGIS = 0x812B :: GLenum

    pattern $mGL_FOG_FUNC_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FOG_FUNC_SGIS :: GLenum
    GL_FOG_FUNC_SGIS = 0x812A :: GLenum

    pattern $mGL_FOG_HINT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FOG_HINT :: GLenum
    GL_FOG_HINT = 0x0C54 :: GLenum

    pattern $mGL_FOG_INDEX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FOG_INDEX :: GLenum
    GL_FOG_INDEX = 0x0B61 :: GLenum

    pattern $mGL_FOG_MODE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FOG_MODE :: GLenum
    GL_FOG_MODE = 0x0B65 :: GLenum

    pattern $mGL_FOG_OFFSET_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FOG_OFFSET_SGIX :: GLenum
    GL_FOG_OFFSET_SGIX = 0x8198 :: GLenum

    pattern $mGL_FOG_OFFSET_VALUE_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FOG_OFFSET_VALUE_SGIX :: GLenum
    GL_FOG_OFFSET_VALUE_SGIX = 0x8199 :: GLenum

    pattern $mGL_FOG_SPECULAR_TEXTURE_WIN :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FOG_SPECULAR_TEXTURE_WIN :: GLenum
    GL_FOG_SPECULAR_TEXTURE_WIN = 0x80EC :: GLenum

    pattern $mGL_FOG_START :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FOG_START :: GLenum
    GL_FOG_START = 0x0B63 :: GLenum

    pattern $mGL_FONT_ASCENDER_BIT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FONT_ASCENDER_BIT_NV :: GLenum
    GL_FONT_ASCENDER_BIT_NV = 0x00200000 :: GLbitfield

    pattern $mGL_FONT_DESCENDER_BIT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FONT_DESCENDER_BIT_NV :: GLenum
    GL_FONT_DESCENDER_BIT_NV = 0x00400000 :: GLbitfield

    pattern $mGL_FONT_GLYPHS_AVAILABLE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FONT_GLYPHS_AVAILABLE_NV :: GLenum
    GL_FONT_GLYPHS_AVAILABLE_NV = 0x9368 :: GLenum

    pattern $mGL_FONT_HAS_KERNING_BIT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FONT_HAS_KERNING_BIT_NV :: GLenum
    GL_FONT_HAS_KERNING_BIT_NV = 0x10000000 :: GLbitfield

    pattern $mGL_FONT_HEIGHT_BIT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FONT_HEIGHT_BIT_NV :: GLenum
    GL_FONT_HEIGHT_BIT_NV = 0x00800000 :: GLbitfield

    pattern $mGL_FONT_MAX_ADVANCE_HEIGHT_BIT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FONT_MAX_ADVANCE_HEIGHT_BIT_NV :: GLenum
    GL_FONT_MAX_ADVANCE_HEIGHT_BIT_NV = 0x02000000 :: GLbitfield

    pattern $mGL_FONT_MAX_ADVANCE_WIDTH_BIT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FONT_MAX_ADVANCE_WIDTH_BIT_NV :: GLenum
    GL_FONT_MAX_ADVANCE_WIDTH_BIT_NV = 0x01000000 :: GLbitfield

    pattern $mGL_FONT_NUM_GLYPH_INDICES_BIT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FONT_NUM_GLYPH_INDICES_BIT_NV :: GLenum
    GL_FONT_NUM_GLYPH_INDICES_BIT_NV = 0x20000000 :: GLbitfield

    pattern $mGL_FONT_TARGET_UNAVAILABLE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FONT_TARGET_UNAVAILABLE_NV :: GLenum
    GL_FONT_TARGET_UNAVAILABLE_NV = 0x9369 :: GLenum

    pattern $mGL_FONT_UNAVAILABLE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FONT_UNAVAILABLE_NV :: GLenum
    GL_FONT_UNAVAILABLE_NV = 0x936A :: GLenum

    pattern $mGL_FONT_UNDERLINE_POSITION_BIT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FONT_UNDERLINE_POSITION_BIT_NV :: GLenum
    GL_FONT_UNDERLINE_POSITION_BIT_NV = 0x04000000 :: GLbitfield

    pattern $mGL_FONT_UNDERLINE_THICKNESS_BIT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FONT_UNDERLINE_THICKNESS_BIT_NV :: GLenum
    GL_FONT_UNDERLINE_THICKNESS_BIT_NV = 0x08000000 :: GLbitfield

    pattern $mGL_FONT_UNINTELLIGIBLE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FONT_UNINTELLIGIBLE_NV :: GLenum
    GL_FONT_UNINTELLIGIBLE_NV = 0x936B :: GLenum

    pattern $mGL_FONT_UNITS_PER_EM_BIT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FONT_UNITS_PER_EM_BIT_NV :: GLenum
    GL_FONT_UNITS_PER_EM_BIT_NV = 0x00100000 :: GLbitfield

    pattern $mGL_FONT_X_MAX_BOUNDS_BIT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FONT_X_MAX_BOUNDS_BIT_NV :: GLenum
    GL_FONT_X_MAX_BOUNDS_BIT_NV = 0x00040000 :: GLbitfield

    pattern $mGL_FONT_X_MIN_BOUNDS_BIT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FONT_X_MIN_BOUNDS_BIT_NV :: GLenum
    GL_FONT_X_MIN_BOUNDS_BIT_NV = 0x00010000 :: GLbitfield

    pattern $mGL_FONT_Y_MAX_BOUNDS_BIT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FONT_Y_MAX_BOUNDS_BIT_NV :: GLenum
    GL_FONT_Y_MAX_BOUNDS_BIT_NV = 0x00080000 :: GLbitfield

    pattern $mGL_FONT_Y_MIN_BOUNDS_BIT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FONT_Y_MIN_BOUNDS_BIT_NV :: GLenum
    GL_FONT_Y_MIN_BOUNDS_BIT_NV = 0x00020000 :: GLbitfield

    pattern $mGL_FORCE_BLUE_TO_ONE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FORCE_BLUE_TO_ONE_NV :: GLenum
    GL_FORCE_BLUE_TO_ONE_NV = 0x8860 :: GLenum

    pattern $mGL_FORMAT_SUBSAMPLE_244_244_OML :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FORMAT_SUBSAMPLE_244_244_OML :: GLenum
    GL_FORMAT_SUBSAMPLE_244_244_OML = 0x8983 :: GLenum

    pattern $mGL_FORMAT_SUBSAMPLE_24_24_OML :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FORMAT_SUBSAMPLE_24_24_OML :: GLenum
    GL_FORMAT_SUBSAMPLE_24_24_OML = 0x8982 :: GLenum

    pattern $mGL_FOVEATION_ENABLE_BIT_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FOVEATION_ENABLE_BIT_QCOM :: GLenum
    GL_FOVEATION_ENABLE_BIT_QCOM = 0x00000001 :: GLbitfield

    pattern $mGL_FOVEATION_SCALED_BIN_METHOD_BIT_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FOVEATION_SCALED_BIN_METHOD_BIT_QCOM :: GLenum
    GL_FOVEATION_SCALED_BIN_METHOD_BIT_QCOM = 0x00000002 :: GLbitfield

    pattern $mGL_FOVEATION_SUBSAMPLED_LAYOUT_METHOD_BIT_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FOVEATION_SUBSAMPLED_LAYOUT_METHOD_BIT_QCOM :: GLenum
    GL_FOVEATION_SUBSAMPLED_LAYOUT_METHOD_BIT_QCOM = 0x00000004 :: GLbitfield

    pattern $mGL_FRACTIONAL_EVEN :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRACTIONAL_EVEN :: GLenum
    GL_FRACTIONAL_EVEN = 0x8E7C :: GLenum

    pattern $mGL_FRACTIONAL_EVEN_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRACTIONAL_EVEN_EXT :: GLenum
    GL_FRACTIONAL_EVEN_EXT = 0x8E7C :: GLenum

    pattern $mGL_FRACTIONAL_EVEN_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRACTIONAL_EVEN_OES :: GLenum
    GL_FRACTIONAL_EVEN_OES = 0x8E7C :: GLenum

    pattern $mGL_FRACTIONAL_ODD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRACTIONAL_ODD :: GLenum
    GL_FRACTIONAL_ODD = 0x8E7B :: GLenum

    pattern $mGL_FRACTIONAL_ODD_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRACTIONAL_ODD_EXT :: GLenum
    GL_FRACTIONAL_ODD_EXT = 0x8E7B :: GLenum

    pattern $mGL_FRACTIONAL_ODD_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRACTIONAL_ODD_OES :: GLenum
    GL_FRACTIONAL_ODD_OES = 0x8E7B :: GLenum

    pattern $mGL_FRAGMENTS_INSTRUMENT_COUNTERS_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAGMENTS_INSTRUMENT_COUNTERS_SGIX :: GLenum
    GL_FRAGMENTS_INSTRUMENT_COUNTERS_SGIX = 0x8314 :: GLenum

    pattern $mGL_FRAGMENTS_INSTRUMENT_MAX_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAGMENTS_INSTRUMENT_MAX_SGIX :: GLenum
    GL_FRAGMENTS_INSTRUMENT_MAX_SGIX = 0x8315 :: GLenum

    pattern $mGL_FRAGMENTS_INSTRUMENT_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAGMENTS_INSTRUMENT_SGIX :: GLenum
    GL_FRAGMENTS_INSTRUMENT_SGIX = 0x8313 :: GLenum

    pattern $mGL_FRAGMENT_ALPHA_MODULATE_IMG :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAGMENT_ALPHA_MODULATE_IMG :: GLenum
    GL_FRAGMENT_ALPHA_MODULATE_IMG = 0x8C08 :: GLenum

    pattern $mGL_FRAGMENT_COLOR_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAGMENT_COLOR_EXT :: GLenum
    GL_FRAGMENT_COLOR_EXT = 0x834C :: GLenum

    pattern $mGL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX :: GLenum
    GL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX = 0x8402 :: GLenum

    pattern $mGL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX :: GLenum
    GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX = 0x8403 :: GLenum

    pattern $mGL_FRAGMENT_COLOR_MATERIAL_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAGMENT_COLOR_MATERIAL_SGIX :: GLenum
    GL_FRAGMENT_COLOR_MATERIAL_SGIX = 0x8401 :: GLenum

    pattern $mGL_FRAGMENT_COVERAGE_COLOR_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAGMENT_COVERAGE_COLOR_NV :: GLenum
    GL_FRAGMENT_COVERAGE_COLOR_NV = 0x92DE :: GLenum

    pattern $mGL_FRAGMENT_COVERAGE_TO_COLOR_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAGMENT_COVERAGE_TO_COLOR_NV :: GLenum
    GL_FRAGMENT_COVERAGE_TO_COLOR_NV = 0x92DD :: GLenum

    pattern $mGL_FRAGMENT_DEPTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAGMENT_DEPTH :: GLenum
    GL_FRAGMENT_DEPTH = 0x8452 :: GLenum

    pattern $mGL_FRAGMENT_DEPTH_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAGMENT_DEPTH_EXT :: GLenum
    GL_FRAGMENT_DEPTH_EXT = 0x8452 :: GLenum

    pattern $mGL_FRAGMENT_INPUT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAGMENT_INPUT_NV :: GLenum
    GL_FRAGMENT_INPUT_NV = 0x936D :: GLenum

    pattern $mGL_FRAGMENT_INTERPOLATION_OFFSET_BITS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAGMENT_INTERPOLATION_OFFSET_BITS :: GLenum
    GL_FRAGMENT_INTERPOLATION_OFFSET_BITS = 0x8E5D :: GLenum

    pattern $mGL_FRAGMENT_INTERPOLATION_OFFSET_BITS_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAGMENT_INTERPOLATION_OFFSET_BITS_OES :: GLenum
    GL_FRAGMENT_INTERPOLATION_OFFSET_BITS_OES = 0x8E5D :: GLenum

    pattern $mGL_FRAGMENT_LIGHT0_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAGMENT_LIGHT0_SGIX :: GLenum
    GL_FRAGMENT_LIGHT0_SGIX = 0x840C :: GLenum

    pattern $mGL_FRAGMENT_LIGHT1_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAGMENT_LIGHT1_SGIX :: GLenum
    GL_FRAGMENT_LIGHT1_SGIX = 0x840D :: GLenum

    pattern $mGL_FRAGMENT_LIGHT2_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAGMENT_LIGHT2_SGIX :: GLenum
    GL_FRAGMENT_LIGHT2_SGIX = 0x840E :: GLenum

    pattern $mGL_FRAGMENT_LIGHT3_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAGMENT_LIGHT3_SGIX :: GLenum
    GL_FRAGMENT_LIGHT3_SGIX = 0x840F :: GLenum

    pattern $mGL_FRAGMENT_LIGHT4_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAGMENT_LIGHT4_SGIX :: GLenum
    GL_FRAGMENT_LIGHT4_SGIX = 0x8410 :: GLenum

    pattern $mGL_FRAGMENT_LIGHT5_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAGMENT_LIGHT5_SGIX :: GLenum
    GL_FRAGMENT_LIGHT5_SGIX = 0x8411 :: GLenum

    pattern $mGL_FRAGMENT_LIGHT6_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAGMENT_LIGHT6_SGIX :: GLenum
    GL_FRAGMENT_LIGHT6_SGIX = 0x8412 :: GLenum

    pattern $mGL_FRAGMENT_LIGHT7_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAGMENT_LIGHT7_SGIX :: GLenum
    GL_FRAGMENT_LIGHT7_SGIX = 0x8413 :: GLenum

    pattern $mGL_FRAGMENT_LIGHTING_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAGMENT_LIGHTING_SGIX :: GLenum
    GL_FRAGMENT_LIGHTING_SGIX = 0x8400 :: GLenum

    pattern $mGL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX :: GLenum
    GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX = 0x840A :: GLenum

    pattern $mGL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX :: GLenum
    GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX = 0x8408 :: GLenum

    pattern $mGL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX :: GLenum
    GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX = 0x840B :: GLenum

    pattern $mGL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX :: GLenum
    GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX = 0x8409 :: GLenum

    pattern $mGL_FRAGMENT_MATERIAL_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAGMENT_MATERIAL_EXT :: GLenum
    GL_FRAGMENT_MATERIAL_EXT = 0x8349 :: GLenum

    pattern $mGL_FRAGMENT_NORMAL_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAGMENT_NORMAL_EXT :: GLenum
    GL_FRAGMENT_NORMAL_EXT = 0x834A :: GLenum

    pattern $mGL_FRAGMENT_PROGRAM_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAGMENT_PROGRAM_ARB :: GLenum
    GL_FRAGMENT_PROGRAM_ARB = 0x8804 :: GLenum

    pattern $mGL_FRAGMENT_PROGRAM_BINDING_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAGMENT_PROGRAM_BINDING_NV :: GLenum
    GL_FRAGMENT_PROGRAM_BINDING_NV = 0x8873 :: GLenum

    pattern $mGL_FRAGMENT_PROGRAM_CALLBACK_DATA_MESA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAGMENT_PROGRAM_CALLBACK_DATA_MESA :: GLenum
    GL_FRAGMENT_PROGRAM_CALLBACK_DATA_MESA = 0x8BB3 :: GLenum

    pattern $mGL_FRAGMENT_PROGRAM_CALLBACK_FUNC_MESA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAGMENT_PROGRAM_CALLBACK_FUNC_MESA :: GLenum
    GL_FRAGMENT_PROGRAM_CALLBACK_FUNC_MESA = 0x8BB2 :: GLenum

    pattern $mGL_FRAGMENT_PROGRAM_CALLBACK_MESA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAGMENT_PROGRAM_CALLBACK_MESA :: GLenum
    GL_FRAGMENT_PROGRAM_CALLBACK_MESA = 0x8BB1 :: GLenum

    pattern $mGL_FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV :: GLenum
    GL_FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV = 0x8E5D :: GLenum

    pattern $mGL_FRAGMENT_PROGRAM_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAGMENT_PROGRAM_NV :: GLenum
    GL_FRAGMENT_PROGRAM_NV = 0x8870 :: GLenum

    pattern $mGL_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV :: GLenum
    GL_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV = 0x8DA4 :: GLenum

    pattern $mGL_FRAGMENT_PROGRAM_POSITION_MESA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAGMENT_PROGRAM_POSITION_MESA :: GLenum
    GL_FRAGMENT_PROGRAM_POSITION_MESA = 0x8BB0 :: GLenum

    pattern $mGL_FRAGMENT_SHADER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAGMENT_SHADER :: GLenum
    GL_FRAGMENT_SHADER = 0x8B30 :: GLenum

    pattern $mGL_FRAGMENT_SHADER_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAGMENT_SHADER_ARB :: GLenum
    GL_FRAGMENT_SHADER_ARB = 0x8B30 :: GLenum

    pattern $mGL_FRAGMENT_SHADER_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAGMENT_SHADER_ATI :: GLenum
    GL_FRAGMENT_SHADER_ATI = 0x8920 :: GLenum

    pattern $mGL_FRAGMENT_SHADER_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAGMENT_SHADER_BIT :: GLenum
    GL_FRAGMENT_SHADER_BIT = 0x00000002 :: GLbitfield

    pattern $mGL_FRAGMENT_SHADER_BIT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAGMENT_SHADER_BIT_EXT :: GLenum
    GL_FRAGMENT_SHADER_BIT_EXT = 0x00000002 :: GLbitfield

    pattern $mGL_FRAGMENT_SHADER_DERIVATIVE_HINT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAGMENT_SHADER_DERIVATIVE_HINT :: GLenum
    GL_FRAGMENT_SHADER_DERIVATIVE_HINT = 0x8B8B :: GLenum

    pattern $mGL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB :: GLenum
    GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB = 0x8B8B :: GLenum

    pattern $mGL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES :: GLenum
    GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES = 0x8B8B :: GLenum

    pattern $mGL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT :: GLenum
    GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT = 0x8A52 :: GLenum

    pattern $mGL_FRAGMENT_SHADER_FRAMEBUFFER_FETCH_MRT_ARM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAGMENT_SHADER_FRAMEBUFFER_FETCH_MRT_ARM :: GLenum
    GL_FRAGMENT_SHADER_FRAMEBUFFER_FETCH_MRT_ARM = 0x8F66 :: GLenum

    pattern $mGL_FRAGMENT_SHADER_INVOCATIONS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAGMENT_SHADER_INVOCATIONS :: GLenum
    GL_FRAGMENT_SHADER_INVOCATIONS = 0x82F4 :: GLenum

    pattern $mGL_FRAGMENT_SHADER_INVOCATIONS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAGMENT_SHADER_INVOCATIONS_ARB :: GLenum
    GL_FRAGMENT_SHADER_INVOCATIONS_ARB = 0x82F4 :: GLenum

    pattern $mGL_FRAGMENT_SUBROUTINE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAGMENT_SUBROUTINE :: GLenum
    GL_FRAGMENT_SUBROUTINE = 0x92EC :: GLenum

    pattern $mGL_FRAGMENT_SUBROUTINE_UNIFORM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAGMENT_SUBROUTINE_UNIFORM :: GLenum
    GL_FRAGMENT_SUBROUTINE_UNIFORM = 0x92F2 :: GLenum

    pattern $mGL_FRAGMENT_TEXTURE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAGMENT_TEXTURE :: GLenum
    GL_FRAGMENT_TEXTURE = 0x829F :: GLenum

    pattern $mGL_FRAMEBUFFER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER :: GLenum
    GL_FRAMEBUFFER = 0x8D40 :: GLenum

    pattern $mGL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE :: GLenum
    GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = 0x8215 :: GLenum

    pattern $mGL_FRAMEBUFFER_ATTACHMENT_ANGLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_ATTACHMENT_ANGLE :: GLenum
    GL_FRAMEBUFFER_ATTACHMENT_ANGLE = 0x93A3 :: GLenum

    pattern $mGL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE :: GLenum
    GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = 0x8214 :: GLenum

    pattern $mGL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING :: GLenum
    GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = 0x8210 :: GLenum

    pattern $mGL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT :: GLenum
    GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT = 0x8210 :: GLenum

    pattern $mGL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE :: GLenum
    GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = 0x8211 :: GLenum

    pattern $mGL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT :: GLenum
    GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT = 0x8211 :: GLenum

    pattern $mGL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE :: GLenum
    GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = 0x8216 :: GLenum

    pattern $mGL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE :: GLenum
    GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = 0x8213 :: GLenum

    pattern $mGL_FRAMEBUFFER_ATTACHMENT_LAYERED :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_ATTACHMENT_LAYERED :: GLenum
    GL_FRAMEBUFFER_ATTACHMENT_LAYERED = 0x8DA7 :: GLenum

    pattern $mGL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB :: GLenum
    GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB = 0x8DA7 :: GLenum

    pattern $mGL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT :: GLenum
    GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT = 0x8DA7 :: GLenum

    pattern $mGL_FRAMEBUFFER_ATTACHMENT_LAYERED_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_ATTACHMENT_LAYERED_OES :: GLenum
    GL_FRAMEBUFFER_ATTACHMENT_LAYERED_OES = 0x8DA7 :: GLenum

    pattern $mGL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME :: GLenum
    GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = 0x8CD1 :: GLenum

    pattern $mGL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT :: GLenum
    GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT = 0x8CD1 :: GLenum

    pattern $mGL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES :: GLenum
    GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES = 0x8CD1 :: GLenum

    pattern $mGL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE :: GLenum
    GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = 0x8CD0 :: GLenum

    pattern $mGL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT :: GLenum
    GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT = 0x8CD0 :: GLenum

    pattern $mGL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES :: GLenum
    GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES = 0x8CD0 :: GLenum

    pattern $mGL_FRAMEBUFFER_ATTACHMENT_RED_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_ATTACHMENT_RED_SIZE :: GLenum
    GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE = 0x8212 :: GLenum

    pattern $mGL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE :: GLenum
    GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = 0x8217 :: GLenum

    pattern $mGL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT :: GLenum
    GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT = 0x8CD4 :: GLenum

    pattern $mGL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES :: GLenum
    GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES = 0x8CD4 :: GLenum

    pattern $mGL_FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR :: GLenum
    GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR = 0x9632 :: GLenum

    pattern $mGL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE :: GLenum
    GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = 0x8CD3 :: GLenum

    pattern $mGL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT :: GLenum
    GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT = 0x8CD3 :: GLenum

    pattern $mGL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES :: GLenum
    GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES = 0x8CD3 :: GLenum

    pattern $mGL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER :: GLenum
    GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = 0x8CD4 :: GLenum

    pattern $mGL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT :: GLenum
    GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT = 0x8CD4 :: GLenum

    pattern $mGL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL :: GLenum
    GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = 0x8CD2 :: GLenum

    pattern $mGL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT :: GLenum
    GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT = 0x8CD2 :: GLenum

    pattern $mGL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES :: GLenum
    GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES = 0x8CD2 :: GLenum

    pattern $mGL_FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR :: GLenum
    GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR = 0x9630 :: GLenum

    pattern $mGL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT :: GLenum
    GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT = 0x8D6C :: GLenum

    pattern $mGL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SCALE_IMG :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SCALE_IMG :: GLenum
    GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SCALE_IMG = 0x913F :: GLenum

    pattern $mGL_FRAMEBUFFER_BARRIER_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_BARRIER_BIT :: GLenum
    GL_FRAMEBUFFER_BARRIER_BIT = 0x00000400 :: GLbitfield

    pattern $mGL_FRAMEBUFFER_BARRIER_BIT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_BARRIER_BIT_EXT :: GLenum
    GL_FRAMEBUFFER_BARRIER_BIT_EXT = 0x00000400 :: GLbitfield

    pattern $mGL_FRAMEBUFFER_BINDING :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_BINDING :: GLenum
    GL_FRAMEBUFFER_BINDING = 0x8CA6 :: GLenum

    pattern $mGL_FRAMEBUFFER_BINDING_ANGLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_BINDING_ANGLE :: GLenum
    GL_FRAMEBUFFER_BINDING_ANGLE = 0x8CA6 :: GLenum

    pattern $mGL_FRAMEBUFFER_BINDING_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_BINDING_EXT :: GLenum
    GL_FRAMEBUFFER_BINDING_EXT = 0x8CA6 :: GLenum

    pattern $mGL_FRAMEBUFFER_BINDING_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_BINDING_OES :: GLenum
    GL_FRAMEBUFFER_BINDING_OES = 0x8CA6 :: GLenum

    pattern $mGL_FRAMEBUFFER_BLEND :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_BLEND :: GLenum
    GL_FRAMEBUFFER_BLEND = 0x828B :: GLenum

    pattern $mGL_FRAMEBUFFER_COMPLETE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_COMPLETE :: GLenum
    GL_FRAMEBUFFER_COMPLETE = 0x8CD5 :: GLenum

    pattern $mGL_FRAMEBUFFER_COMPLETE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_COMPLETE_EXT :: GLenum
    GL_FRAMEBUFFER_COMPLETE_EXT = 0x8CD5 :: GLenum

    pattern $mGL_FRAMEBUFFER_COMPLETE_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_COMPLETE_OES :: GLenum
    GL_FRAMEBUFFER_COMPLETE_OES = 0x8CD5 :: GLenum

    pattern $mGL_FRAMEBUFFER_DEFAULT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_DEFAULT :: GLenum
    GL_FRAMEBUFFER_DEFAULT = 0x8218 :: GLenum

    pattern $mGL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS :: GLenum
    GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS = 0x9314 :: GLenum

    pattern $mGL_FRAMEBUFFER_DEFAULT_HEIGHT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_DEFAULT_HEIGHT :: GLenum
    GL_FRAMEBUFFER_DEFAULT_HEIGHT = 0x9311 :: GLenum

    pattern $mGL_FRAMEBUFFER_DEFAULT_LAYERS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_DEFAULT_LAYERS :: GLenum
    GL_FRAMEBUFFER_DEFAULT_LAYERS = 0x9312 :: GLenum

    pattern $mGL_FRAMEBUFFER_DEFAULT_LAYERS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_DEFAULT_LAYERS_EXT :: GLenum
    GL_FRAMEBUFFER_DEFAULT_LAYERS_EXT = 0x9312 :: GLenum

    pattern $mGL_FRAMEBUFFER_DEFAULT_LAYERS_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_DEFAULT_LAYERS_OES :: GLenum
    GL_FRAMEBUFFER_DEFAULT_LAYERS_OES = 0x9312 :: GLenum

    pattern $mGL_FRAMEBUFFER_DEFAULT_SAMPLES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_DEFAULT_SAMPLES :: GLenum
    GL_FRAMEBUFFER_DEFAULT_SAMPLES = 0x9313 :: GLenum

    pattern $mGL_FRAMEBUFFER_DEFAULT_WIDTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_DEFAULT_WIDTH :: GLenum
    GL_FRAMEBUFFER_DEFAULT_WIDTH = 0x9310 :: GLenum

    pattern $mGL_FRAMEBUFFER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_EXT :: GLenum
    GL_FRAMEBUFFER_EXT = 0x8D40 :: GLenum

    pattern $mGL_FRAMEBUFFER_FETCH_NONCOHERENT_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_FETCH_NONCOHERENT_QCOM :: GLenum
    GL_FRAMEBUFFER_FETCH_NONCOHERENT_QCOM = 0x96A2 :: GLenum

    pattern $mGL_FRAMEBUFFER_FLIP_Y_MESA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_FLIP_Y_MESA :: GLenum
    GL_FRAMEBUFFER_FLIP_Y_MESA = 0x8BBB :: GLenum

    pattern $mGL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT :: GLenum
    GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT = 0x8CD6 :: GLenum

    pattern $mGL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT :: GLenum
    GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT = 0x8CD6 :: GLenum

    pattern $mGL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES :: GLenum
    GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES = 0x8CD6 :: GLenum

    pattern $mGL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS :: GLenum
    GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS = 0x8CD9 :: GLenum

    pattern $mGL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT :: GLenum
    GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT = 0x8CD9 :: GLenum

    pattern $mGL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES :: GLenum
    GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES = 0x8CD9 :: GLenum

    pattern $mGL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER :: GLenum
    GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER = 0x8CDB :: GLenum

    pattern $mGL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT :: GLenum
    GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT = 0x8CDB :: GLenum

    pattern $mGL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_OES :: GLenum
    GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_OES = 0x8CDB :: GLenum

    pattern $mGL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT :: GLenum
    GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT = 0x8CDA :: GLenum

    pattern $mGL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES :: GLenum
    GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES = 0x8CDA :: GLenum

    pattern $mGL_FRAMEBUFFER_INCOMPLETE_FOVEATION_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_INCOMPLETE_FOVEATION_QCOM :: GLenum
    GL_FRAMEBUFFER_INCOMPLETE_FOVEATION_QCOM = 0x8BFF :: GLenum

    pattern $mGL_FRAMEBUFFER_INCOMPLETE_INSUFFICIENT_SHADER_COMBINED_LOCAL_STORAGE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_INCOMPLETE_INSUFFICIENT_SHADER_COMBINED_LOCAL_STORAGE_EXT :: GLenum
    GL_FRAMEBUFFER_INCOMPLETE_INSUFFICIENT_SHADER_COMBINED_LOCAL_STORAGE_EXT = 0x9652 :: GLenum

    pattern $mGL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB :: GLenum
    GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB = 0x8DA9 :: GLenum

    pattern $mGL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT :: GLenum
    GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT = 0x8DA9 :: GLenum

    pattern $mGL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS :: GLenum
    GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS = 0x8DA8 :: GLenum

    pattern $mGL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB :: GLenum
    GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB = 0x8DA8 :: GLenum

    pattern $mGL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT :: GLenum
    GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT = 0x8DA8 :: GLenum

    pattern $mGL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_OES :: GLenum
    GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_OES = 0x8DA8 :: GLenum

    pattern $mGL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT :: GLenum
    GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = 0x8CD7 :: GLenum

    pattern $mGL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT :: GLenum
    GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT = 0x8CD7 :: GLenum

    pattern $mGL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES :: GLenum
    GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES = 0x8CD7 :: GLenum

    pattern $mGL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE :: GLenum
    GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = 0x8D56 :: GLenum

    pattern $mGL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_AND_DOWNSAMPLE_IMG :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_AND_DOWNSAMPLE_IMG :: GLenum
    GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_AND_DOWNSAMPLE_IMG = 0x913C :: GLenum

    pattern $mGL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE :: GLenum
    GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE = 0x8D56 :: GLenum

    pattern $mGL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE :: GLenum
    GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE = 0x8D56 :: GLenum

    pattern $mGL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT :: GLenum
    GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT = 0x8D56 :: GLenum

    pattern $mGL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG :: GLenum
    GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG = 0x9134 :: GLenum

    pattern $mGL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_NV :: GLenum
    GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_NV = 0x8D56 :: GLenum

    pattern $mGL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER :: GLenum
    GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER = 0x8CDC :: GLenum

    pattern $mGL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT :: GLenum
    GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT = 0x8CDC :: GLenum

    pattern $mGL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_OES :: GLenum
    GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_OES = 0x8CDC :: GLenum

    pattern $mGL_FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR :: GLenum
    GL_FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR = 0x9633 :: GLenum

    pattern $mGL_FRAMEBUFFER_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_OES :: GLenum
    GL_FRAMEBUFFER_OES = 0x8D40 :: GLenum

    pattern $mGL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_ARB :: GLenum
    GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_ARB = 0x9342 :: GLenum

    pattern $mGL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_NV :: GLenum
    GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_NV = 0x9342 :: GLenum

    pattern $mGL_FRAMEBUFFER_RENDERABLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_RENDERABLE :: GLenum
    GL_FRAMEBUFFER_RENDERABLE = 0x8289 :: GLenum

    pattern $mGL_FRAMEBUFFER_RENDERABLE_LAYERED :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_RENDERABLE_LAYERED :: GLenum
    GL_FRAMEBUFFER_RENDERABLE_LAYERED = 0x828A :: GLenum

    pattern $mGL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_ARB :: GLenum
    GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_ARB = 0x9343 :: GLenum

    pattern $mGL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_NV :: GLenum
    GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_NV = 0x9343 :: GLenum

    pattern $mGL_FRAMEBUFFER_SRGB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_SRGB :: GLenum
    GL_FRAMEBUFFER_SRGB = 0x8DB9 :: GLenum

    pattern $mGL_FRAMEBUFFER_SRGB_CAPABLE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_SRGB_CAPABLE_EXT :: GLenum
    GL_FRAMEBUFFER_SRGB_CAPABLE_EXT = 0x8DBA :: GLenum

    pattern $mGL_FRAMEBUFFER_SRGB_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_SRGB_EXT :: GLenum
    GL_FRAMEBUFFER_SRGB_EXT = 0x8DB9 :: GLenum

    pattern $mGL_FRAMEBUFFER_UNDEFINED :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_UNDEFINED :: GLenum
    GL_FRAMEBUFFER_UNDEFINED = 0x8219 :: GLenum

    pattern $mGL_FRAMEBUFFER_UNDEFINED_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_UNDEFINED_OES :: GLenum
    GL_FRAMEBUFFER_UNDEFINED_OES = 0x8219 :: GLenum

    pattern $mGL_FRAMEBUFFER_UNSUPPORTED :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_UNSUPPORTED :: GLenum
    GL_FRAMEBUFFER_UNSUPPORTED = 0x8CDD :: GLenum

    pattern $mGL_FRAMEBUFFER_UNSUPPORTED_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_UNSUPPORTED_EXT :: GLenum
    GL_FRAMEBUFFER_UNSUPPORTED_EXT = 0x8CDD :: GLenum

    pattern $mGL_FRAMEBUFFER_UNSUPPORTED_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEBUFFER_UNSUPPORTED_OES :: GLenum
    GL_FRAMEBUFFER_UNSUPPORTED_OES = 0x8CDD :: GLenum

    pattern $mGL_FRAMEZOOM_FACTOR_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEZOOM_FACTOR_SGIX :: GLenum
    GL_FRAMEZOOM_FACTOR_SGIX = 0x818C :: GLenum

    pattern $mGL_FRAMEZOOM_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAMEZOOM_SGIX :: GLenum
    GL_FRAMEZOOM_SGIX = 0x818B :: GLenum

    pattern $mGL_FRAME_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRAME_NV :: GLenum
    GL_FRAME_NV = 0x8E26 :: GLenum

    pattern $mGL_FRONT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRONT :: GLenum
    GL_FRONT = 0x0404 :: GLenum

    pattern $mGL_FRONT_AND_BACK :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRONT_AND_BACK :: GLenum
    GL_FRONT_AND_BACK = 0x0408 :: GLenum

    pattern $mGL_FRONT_FACE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRONT_FACE :: GLenum
    GL_FRONT_FACE = 0x0B46 :: GLenum

    pattern $mGL_FRONT_FACE_COMMAND_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRONT_FACE_COMMAND_NV :: GLenum
    GL_FRONT_FACE_COMMAND_NV = 0x0012 :: GLenum

    pattern $mGL_FRONT_LEFT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRONT_LEFT :: GLenum
    GL_FRONT_LEFT = 0x0400 :: GLenum

    pattern $mGL_FRONT_RIGHT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FRONT_RIGHT :: GLenum
    GL_FRONT_RIGHT = 0x0401 :: GLenum

    pattern $mGL_FULL_RANGE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FULL_RANGE_EXT :: GLenum
    GL_FULL_RANGE_EXT = 0x87E1 :: GLenum

    pattern $mGL_FULL_STIPPLE_HINT_PGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FULL_STIPPLE_HINT_PGI :: GLenum
    GL_FULL_STIPPLE_HINT_PGI = 0x1A219 :: GLenum

    pattern $mGL_FULL_SUPPORT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FULL_SUPPORT :: GLenum
    GL_FULL_SUPPORT = 0x82B7 :: GLenum

    pattern $mGL_FUNC_ADD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FUNC_ADD :: GLenum
    GL_FUNC_ADD = 0x8006 :: GLenum

    pattern $mGL_FUNC_ADD_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FUNC_ADD_EXT :: GLenum
    GL_FUNC_ADD_EXT = 0x8006 :: GLenum

    pattern $mGL_FUNC_ADD_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FUNC_ADD_OES :: GLenum
    GL_FUNC_ADD_OES = 0x8006 :: GLenum

    pattern $mGL_FUNC_REVERSE_SUBTRACT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FUNC_REVERSE_SUBTRACT :: GLenum
    GL_FUNC_REVERSE_SUBTRACT = 0x800B :: GLenum

    pattern $mGL_FUNC_REVERSE_SUBTRACT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FUNC_REVERSE_SUBTRACT_EXT :: GLenum
    GL_FUNC_REVERSE_SUBTRACT_EXT = 0x800B :: GLenum

    pattern $mGL_FUNC_REVERSE_SUBTRACT_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FUNC_REVERSE_SUBTRACT_OES :: GLenum
    GL_FUNC_REVERSE_SUBTRACT_OES = 0x800B :: GLenum

    pattern $mGL_FUNC_SUBTRACT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FUNC_SUBTRACT :: GLenum
    GL_FUNC_SUBTRACT = 0x800A :: GLenum

    pattern $mGL_FUNC_SUBTRACT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FUNC_SUBTRACT_EXT :: GLenum
    GL_FUNC_SUBTRACT_EXT = 0x800A :: GLenum

    pattern $mGL_FUNC_SUBTRACT_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_FUNC_SUBTRACT_OES :: GLenum
    GL_FUNC_SUBTRACT_OES = 0x800A :: GLenum

    pattern $mGL_GCCSO_SHADER_BINARY_FJ :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GCCSO_SHADER_BINARY_FJ :: GLenum
    GL_GCCSO_SHADER_BINARY_FJ = 0x9260 :: GLenum

    pattern $mGL_GENERATE_MIPMAP :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GENERATE_MIPMAP :: GLenum
    GL_GENERATE_MIPMAP = 0x8191 :: GLenum

    pattern $mGL_GENERATE_MIPMAP_HINT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GENERATE_MIPMAP_HINT :: GLenum
    GL_GENERATE_MIPMAP_HINT = 0x8192 :: GLenum

    pattern $mGL_GENERATE_MIPMAP_HINT_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GENERATE_MIPMAP_HINT_SGIS :: GLenum
    GL_GENERATE_MIPMAP_HINT_SGIS = 0x8192 :: GLenum

    pattern $mGL_GENERATE_MIPMAP_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GENERATE_MIPMAP_SGIS :: GLenum
    GL_GENERATE_MIPMAP_SGIS = 0x8191 :: GLenum

    pattern $mGL_GENERIC_ATTRIB_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GENERIC_ATTRIB_NV :: GLenum
    GL_GENERIC_ATTRIB_NV = 0x8C7D :: GLenum

    pattern $mGL_GEOMETRY_DEFORMATION_BIT_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GEOMETRY_DEFORMATION_BIT_SGIX :: GLenum
    GL_GEOMETRY_DEFORMATION_BIT_SGIX = 0x00000002 :: GLbitfield

    pattern $mGL_GEOMETRY_DEFORMATION_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GEOMETRY_DEFORMATION_SGIX :: GLenum
    GL_GEOMETRY_DEFORMATION_SGIX = 0x8194 :: GLenum

    pattern $mGL_GEOMETRY_INPUT_TYPE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GEOMETRY_INPUT_TYPE :: GLenum
    GL_GEOMETRY_INPUT_TYPE = 0x8917 :: GLenum

    pattern $mGL_GEOMETRY_INPUT_TYPE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GEOMETRY_INPUT_TYPE_ARB :: GLenum
    GL_GEOMETRY_INPUT_TYPE_ARB = 0x8DDB :: GLenum

    pattern $mGL_GEOMETRY_INPUT_TYPE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GEOMETRY_INPUT_TYPE_EXT :: GLenum
    GL_GEOMETRY_INPUT_TYPE_EXT = 0x8DDB :: GLenum

    pattern $mGL_GEOMETRY_LINKED_INPUT_TYPE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GEOMETRY_LINKED_INPUT_TYPE_EXT :: GLenum
    GL_GEOMETRY_LINKED_INPUT_TYPE_EXT = 0x8917 :: GLenum

    pattern $mGL_GEOMETRY_LINKED_INPUT_TYPE_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GEOMETRY_LINKED_INPUT_TYPE_OES :: GLenum
    GL_GEOMETRY_LINKED_INPUT_TYPE_OES = 0x8917 :: GLenum

    pattern $mGL_GEOMETRY_LINKED_OUTPUT_TYPE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GEOMETRY_LINKED_OUTPUT_TYPE_EXT :: GLenum
    GL_GEOMETRY_LINKED_OUTPUT_TYPE_EXT = 0x8918 :: GLenum

    pattern $mGL_GEOMETRY_LINKED_OUTPUT_TYPE_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GEOMETRY_LINKED_OUTPUT_TYPE_OES :: GLenum
    GL_GEOMETRY_LINKED_OUTPUT_TYPE_OES = 0x8918 :: GLenum

    pattern $mGL_GEOMETRY_LINKED_VERTICES_OUT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GEOMETRY_LINKED_VERTICES_OUT_EXT :: GLenum
    GL_GEOMETRY_LINKED_VERTICES_OUT_EXT = 0x8916 :: GLenum

    pattern $mGL_GEOMETRY_LINKED_VERTICES_OUT_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GEOMETRY_LINKED_VERTICES_OUT_OES :: GLenum
    GL_GEOMETRY_LINKED_VERTICES_OUT_OES = 0x8916 :: GLenum

    pattern $mGL_GEOMETRY_OUTPUT_TYPE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GEOMETRY_OUTPUT_TYPE :: GLenum
    GL_GEOMETRY_OUTPUT_TYPE = 0x8918 :: GLenum

    pattern $mGL_GEOMETRY_OUTPUT_TYPE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GEOMETRY_OUTPUT_TYPE_ARB :: GLenum
    GL_GEOMETRY_OUTPUT_TYPE_ARB = 0x8DDC :: GLenum

    pattern $mGL_GEOMETRY_OUTPUT_TYPE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GEOMETRY_OUTPUT_TYPE_EXT :: GLenum
    GL_GEOMETRY_OUTPUT_TYPE_EXT = 0x8DDC :: GLenum

    pattern $mGL_GEOMETRY_PROGRAM_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GEOMETRY_PROGRAM_NV :: GLenum
    GL_GEOMETRY_PROGRAM_NV = 0x8C26 :: GLenum

    pattern $mGL_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV :: GLenum
    GL_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV = 0x8DA3 :: GLenum

    pattern $mGL_GEOMETRY_SHADER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GEOMETRY_SHADER :: GLenum
    GL_GEOMETRY_SHADER = 0x8DD9 :: GLenum

    pattern $mGL_GEOMETRY_SHADER_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GEOMETRY_SHADER_ARB :: GLenum
    GL_GEOMETRY_SHADER_ARB = 0x8DD9 :: GLenum

    pattern $mGL_GEOMETRY_SHADER_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GEOMETRY_SHADER_BIT :: GLenum
    GL_GEOMETRY_SHADER_BIT = 0x00000004 :: GLbitfield

    pattern $mGL_GEOMETRY_SHADER_BIT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GEOMETRY_SHADER_BIT_EXT :: GLenum
    GL_GEOMETRY_SHADER_BIT_EXT = 0x00000004 :: GLbitfield

    pattern $mGL_GEOMETRY_SHADER_BIT_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GEOMETRY_SHADER_BIT_OES :: GLenum
    GL_GEOMETRY_SHADER_BIT_OES = 0x00000004 :: GLbitfield

    pattern $mGL_GEOMETRY_SHADER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GEOMETRY_SHADER_EXT :: GLenum
    GL_GEOMETRY_SHADER_EXT = 0x8DD9 :: GLenum

    pattern $mGL_GEOMETRY_SHADER_INVOCATIONS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GEOMETRY_SHADER_INVOCATIONS :: GLenum
    GL_GEOMETRY_SHADER_INVOCATIONS = 0x887F :: GLenum

    pattern $mGL_GEOMETRY_SHADER_INVOCATIONS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GEOMETRY_SHADER_INVOCATIONS_EXT :: GLenum
    GL_GEOMETRY_SHADER_INVOCATIONS_EXT = 0x887F :: GLenum

    pattern $mGL_GEOMETRY_SHADER_INVOCATIONS_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GEOMETRY_SHADER_INVOCATIONS_OES :: GLenum
    GL_GEOMETRY_SHADER_INVOCATIONS_OES = 0x887F :: GLenum

    pattern $mGL_GEOMETRY_SHADER_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GEOMETRY_SHADER_OES :: GLenum
    GL_GEOMETRY_SHADER_OES = 0x8DD9 :: GLenum

    pattern $mGL_GEOMETRY_SHADER_PRIMITIVES_EMITTED :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GEOMETRY_SHADER_PRIMITIVES_EMITTED :: GLenum
    GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED = 0x82F3 :: GLenum

    pattern $mGL_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB :: GLenum
    GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB = 0x82F3 :: GLenum

    pattern $mGL_GEOMETRY_SUBROUTINE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GEOMETRY_SUBROUTINE :: GLenum
    GL_GEOMETRY_SUBROUTINE = 0x92EB :: GLenum

    pattern $mGL_GEOMETRY_SUBROUTINE_UNIFORM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GEOMETRY_SUBROUTINE_UNIFORM :: GLenum
    GL_GEOMETRY_SUBROUTINE_UNIFORM = 0x92F1 :: GLenum

    pattern $mGL_GEOMETRY_TEXTURE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GEOMETRY_TEXTURE :: GLenum
    GL_GEOMETRY_TEXTURE = 0x829E :: GLenum

    pattern $mGL_GEOMETRY_VERTICES_OUT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GEOMETRY_VERTICES_OUT :: GLenum
    GL_GEOMETRY_VERTICES_OUT = 0x8916 :: GLenum

    pattern $mGL_GEOMETRY_VERTICES_OUT_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GEOMETRY_VERTICES_OUT_ARB :: GLenum
    GL_GEOMETRY_VERTICES_OUT_ARB = 0x8DDA :: GLenum

    pattern $mGL_GEOMETRY_VERTICES_OUT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GEOMETRY_VERTICES_OUT_EXT :: GLenum
    GL_GEOMETRY_VERTICES_OUT_EXT = 0x8DDA :: GLenum

    pattern $mGL_GEQUAL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GEQUAL :: GLenum
    GL_GEQUAL = 0x0206 :: GLenum

    pattern $mGL_GET_TEXTURE_IMAGE_FORMAT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GET_TEXTURE_IMAGE_FORMAT :: GLenum
    GL_GET_TEXTURE_IMAGE_FORMAT = 0x8291 :: GLenum

    pattern $mGL_GET_TEXTURE_IMAGE_TYPE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GET_TEXTURE_IMAGE_TYPE :: GLenum
    GL_GET_TEXTURE_IMAGE_TYPE = 0x8292 :: GLenum

    pattern $mGL_GLOBAL_ALPHA_FACTOR_SUN :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GLOBAL_ALPHA_FACTOR_SUN :: GLenum
    GL_GLOBAL_ALPHA_FACTOR_SUN = 0x81DA :: GLenum

    pattern $mGL_GLOBAL_ALPHA_SUN :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GLOBAL_ALPHA_SUN :: GLenum
    GL_GLOBAL_ALPHA_SUN = 0x81D9 :: GLenum

    pattern $mGL_GLYPH_HAS_KERNING_BIT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GLYPH_HAS_KERNING_BIT_NV :: GLenum
    GL_GLYPH_HAS_KERNING_BIT_NV = 0x100 :: GLbitfield

    pattern $mGL_GLYPH_HEIGHT_BIT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GLYPH_HEIGHT_BIT_NV :: GLenum
    GL_GLYPH_HEIGHT_BIT_NV = 0x02 :: GLbitfield

    pattern $mGL_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV :: GLenum
    GL_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV = 0x10 :: GLbitfield

    pattern $mGL_GLYPH_HORIZONTAL_BEARING_X_BIT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GLYPH_HORIZONTAL_BEARING_X_BIT_NV :: GLenum
    GL_GLYPH_HORIZONTAL_BEARING_X_BIT_NV = 0x04 :: GLbitfield

    pattern $mGL_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV :: GLenum
    GL_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV = 0x08 :: GLbitfield

    pattern $mGL_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV :: GLenum
    GL_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV = 0x80 :: GLbitfield

    pattern $mGL_GLYPH_VERTICAL_BEARING_X_BIT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GLYPH_VERTICAL_BEARING_X_BIT_NV :: GLenum
    GL_GLYPH_VERTICAL_BEARING_X_BIT_NV = 0x20 :: GLbitfield

    pattern $mGL_GLYPH_VERTICAL_BEARING_Y_BIT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GLYPH_VERTICAL_BEARING_Y_BIT_NV :: GLenum
    GL_GLYPH_VERTICAL_BEARING_Y_BIT_NV = 0x40 :: GLbitfield

    pattern $mGL_GLYPH_WIDTH_BIT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GLYPH_WIDTH_BIT_NV :: GLenum
    GL_GLYPH_WIDTH_BIT_NV = 0x01 :: GLbitfield

    pattern $mGL_GPU_ADDRESS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GPU_ADDRESS_NV :: GLenum
    GL_GPU_ADDRESS_NV = 0x8F34 :: GLenum

    pattern $mGL_GPU_DISJOINT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GPU_DISJOINT_EXT :: GLenum
    GL_GPU_DISJOINT_EXT = 0x8FBB :: GLenum

    pattern $mGL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX :: GLenum
    GL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX = 0x9049 :: GLenum

    pattern $mGL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX :: GLenum
    GL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX = 0x9047 :: GLenum

    pattern $mGL_GPU_MEMORY_INFO_EVICTED_MEMORY_NVX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GPU_MEMORY_INFO_EVICTED_MEMORY_NVX :: GLenum
    GL_GPU_MEMORY_INFO_EVICTED_MEMORY_NVX = 0x904B :: GLenum

    pattern $mGL_GPU_MEMORY_INFO_EVICTION_COUNT_NVX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GPU_MEMORY_INFO_EVICTION_COUNT_NVX :: GLenum
    GL_GPU_MEMORY_INFO_EVICTION_COUNT_NVX = 0x904A :: GLenum

    pattern $mGL_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX :: GLenum
    GL_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX = 0x9048 :: GLenum

    pattern $mGL_GPU_OPTIMIZED_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GPU_OPTIMIZED_QCOM :: GLenum
    GL_GPU_OPTIMIZED_QCOM = 0x8FB2 :: GLenum

    pattern $mGL_GREATER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GREATER :: GLenum
    GL_GREATER = 0x0204 :: GLenum

    pattern $mGL_GREEN :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GREEN :: GLenum
    GL_GREEN = 0x1904 :: GLenum

    pattern $mGL_GREEN_BIAS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GREEN_BIAS :: GLenum
    GL_GREEN_BIAS = 0x0D19 :: GLenum

    pattern $mGL_GREEN_BITS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GREEN_BITS :: GLenum
    GL_GREEN_BITS = 0x0D53 :: GLenum

    pattern $mGL_GREEN_BIT_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GREEN_BIT_ATI :: GLenum
    GL_GREEN_BIT_ATI = 0x00000002 :: GLbitfield

    pattern $mGL_GREEN_INTEGER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GREEN_INTEGER :: GLenum
    GL_GREEN_INTEGER = 0x8D95 :: GLenum

    pattern $mGL_GREEN_INTEGER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GREEN_INTEGER_EXT :: GLenum
    GL_GREEN_INTEGER_EXT = 0x8D95 :: GLenum

    pattern $mGL_GREEN_MAX_CLAMP_INGR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GREEN_MAX_CLAMP_INGR :: GLenum
    GL_GREEN_MAX_CLAMP_INGR = 0x8565 :: GLenum

    pattern $mGL_GREEN_MIN_CLAMP_INGR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GREEN_MIN_CLAMP_INGR :: GLenum
    GL_GREEN_MIN_CLAMP_INGR = 0x8561 :: GLenum

    pattern $mGL_GREEN_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GREEN_NV :: GLenum
    GL_GREEN_NV = 0x1904 :: GLenum

    pattern $mGL_GREEN_SCALE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GREEN_SCALE :: GLenum
    GL_GREEN_SCALE = 0x0D18 :: GLenum

    pattern $mGL_GS_PROGRAM_BINARY_MTK :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GS_PROGRAM_BINARY_MTK :: GLenum
    GL_GS_PROGRAM_BINARY_MTK = 0x9641 :: GLenum

    pattern $mGL_GS_SHADER_BINARY_MTK :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GS_SHADER_BINARY_MTK :: GLenum
    GL_GS_SHADER_BINARY_MTK = 0x9640 :: GLenum

    pattern $mGL_GUILTY_CONTEXT_RESET :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GUILTY_CONTEXT_RESET :: GLenum
    GL_GUILTY_CONTEXT_RESET = 0x8253 :: GLenum

    pattern $mGL_GUILTY_CONTEXT_RESET_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GUILTY_CONTEXT_RESET_ARB :: GLenum
    GL_GUILTY_CONTEXT_RESET_ARB = 0x8253 :: GLenum

    pattern $mGL_GUILTY_CONTEXT_RESET_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GUILTY_CONTEXT_RESET_EXT :: GLenum
    GL_GUILTY_CONTEXT_RESET_EXT = 0x8253 :: GLenum

    pattern $mGL_GUILTY_CONTEXT_RESET_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_GUILTY_CONTEXT_RESET_KHR :: GLenum
    GL_GUILTY_CONTEXT_RESET_KHR = 0x8253 :: GLenum

    pattern $mGL_HALF_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HALF_APPLE :: GLenum
    GL_HALF_APPLE = 0x140B :: GLenum

    pattern $mGL_HALF_BIAS_NEGATE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HALF_BIAS_NEGATE_NV :: GLenum
    GL_HALF_BIAS_NEGATE_NV = 0x853B :: GLenum

    pattern $mGL_HALF_BIAS_NORMAL_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HALF_BIAS_NORMAL_NV :: GLenum
    GL_HALF_BIAS_NORMAL_NV = 0x853A :: GLenum

    pattern $mGL_HALF_BIT_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HALF_BIT_ATI :: GLenum
    GL_HALF_BIT_ATI = 0x00000008 :: GLbitfield

    pattern $mGL_HALF_FLOAT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HALF_FLOAT :: GLenum
    GL_HALF_FLOAT = 0x140B :: GLenum

    pattern $mGL_HALF_FLOAT_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HALF_FLOAT_ARB :: GLenum
    GL_HALF_FLOAT_ARB = 0x140B :: GLenum

    pattern $mGL_HALF_FLOAT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HALF_FLOAT_NV :: GLenum
    GL_HALF_FLOAT_NV = 0x140B :: GLenum

    pattern $mGL_HALF_FLOAT_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HALF_FLOAT_OES :: GLenum
    GL_HALF_FLOAT_OES = 0x8D61 :: GLenum

    pattern $mGL_HANDLE_TYPE_D3D11_IMAGE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HANDLE_TYPE_D3D11_IMAGE_EXT :: GLenum
    GL_HANDLE_TYPE_D3D11_IMAGE_EXT = 0x958B :: GLenum

    pattern $mGL_HANDLE_TYPE_D3D11_IMAGE_KMT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HANDLE_TYPE_D3D11_IMAGE_KMT_EXT :: GLenum
    GL_HANDLE_TYPE_D3D11_IMAGE_KMT_EXT = 0x958C :: GLenum

    pattern $mGL_HANDLE_TYPE_D3D12_FENCE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HANDLE_TYPE_D3D12_FENCE_EXT :: GLenum
    GL_HANDLE_TYPE_D3D12_FENCE_EXT = 0x9594 :: GLenum

    pattern $mGL_HANDLE_TYPE_D3D12_RESOURCE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HANDLE_TYPE_D3D12_RESOURCE_EXT :: GLenum
    GL_HANDLE_TYPE_D3D12_RESOURCE_EXT = 0x958A :: GLenum

    pattern $mGL_HANDLE_TYPE_D3D12_TILEPOOL_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HANDLE_TYPE_D3D12_TILEPOOL_EXT :: GLenum
    GL_HANDLE_TYPE_D3D12_TILEPOOL_EXT = 0x9589 :: GLenum

    pattern $mGL_HANDLE_TYPE_OPAQUE_FD_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HANDLE_TYPE_OPAQUE_FD_EXT :: GLenum
    GL_HANDLE_TYPE_OPAQUE_FD_EXT = 0x9586 :: GLenum

    pattern $mGL_HANDLE_TYPE_OPAQUE_WIN32_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HANDLE_TYPE_OPAQUE_WIN32_EXT :: GLenum
    GL_HANDLE_TYPE_OPAQUE_WIN32_EXT = 0x9587 :: GLenum

    pattern $mGL_HANDLE_TYPE_OPAQUE_WIN32_KMT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HANDLE_TYPE_OPAQUE_WIN32_KMT_EXT :: GLenum
    GL_HANDLE_TYPE_OPAQUE_WIN32_KMT_EXT = 0x9588 :: GLenum

    pattern $mGL_HARDLIGHT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HARDLIGHT :: GLenum
    GL_HARDLIGHT = 0x929B :: GLenum

    pattern $mGL_HARDLIGHT_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HARDLIGHT_KHR :: GLenum
    GL_HARDLIGHT_KHR = 0x929B :: GLenum

    pattern $mGL_HARDLIGHT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HARDLIGHT_NV :: GLenum
    GL_HARDLIGHT_NV = 0x929B :: GLenum

    pattern $mGL_HARDMIX_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HARDMIX_NV :: GLenum
    GL_HARDMIX_NV = 0x92A9 :: GLenum

    pattern $mGL_HIGH_FLOAT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HIGH_FLOAT :: GLenum
    GL_HIGH_FLOAT = 0x8DF2 :: GLenum

    pattern $mGL_HIGH_INT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HIGH_INT :: GLenum
    GL_HIGH_INT = 0x8DF5 :: GLenum

    pattern $mGL_HILO16_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HILO16_NV :: GLenum
    GL_HILO16_NV = 0x86F8 :: GLenum

    pattern $mGL_HILO8_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HILO8_NV :: GLenum
    GL_HILO8_NV = 0x885E :: GLenum

    pattern $mGL_HILO_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HILO_NV :: GLenum
    GL_HILO_NV = 0x86F4 :: GLenum

    pattern $mGL_HINT_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HINT_BIT :: GLenum
    GL_HINT_BIT = 0x00008000 :: GLbitfield

    pattern $mGL_HISTOGRAM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HISTOGRAM :: GLenum
    GL_HISTOGRAM = 0x8024 :: GLenum

    pattern $mGL_HISTOGRAM_ALPHA_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HISTOGRAM_ALPHA_SIZE :: GLenum
    GL_HISTOGRAM_ALPHA_SIZE = 0x802B :: GLenum

    pattern $mGL_HISTOGRAM_ALPHA_SIZE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HISTOGRAM_ALPHA_SIZE_EXT :: GLenum
    GL_HISTOGRAM_ALPHA_SIZE_EXT = 0x802B :: GLenum

    pattern $mGL_HISTOGRAM_BLUE_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HISTOGRAM_BLUE_SIZE :: GLenum
    GL_HISTOGRAM_BLUE_SIZE = 0x802A :: GLenum

    pattern $mGL_HISTOGRAM_BLUE_SIZE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HISTOGRAM_BLUE_SIZE_EXT :: GLenum
    GL_HISTOGRAM_BLUE_SIZE_EXT = 0x802A :: GLenum

    pattern $mGL_HISTOGRAM_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HISTOGRAM_EXT :: GLenum
    GL_HISTOGRAM_EXT = 0x8024 :: GLenum

    pattern $mGL_HISTOGRAM_FORMAT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HISTOGRAM_FORMAT :: GLenum
    GL_HISTOGRAM_FORMAT = 0x8027 :: GLenum

    pattern $mGL_HISTOGRAM_FORMAT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HISTOGRAM_FORMAT_EXT :: GLenum
    GL_HISTOGRAM_FORMAT_EXT = 0x8027 :: GLenum

    pattern $mGL_HISTOGRAM_GREEN_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HISTOGRAM_GREEN_SIZE :: GLenum
    GL_HISTOGRAM_GREEN_SIZE = 0x8029 :: GLenum

    pattern $mGL_HISTOGRAM_GREEN_SIZE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HISTOGRAM_GREEN_SIZE_EXT :: GLenum
    GL_HISTOGRAM_GREEN_SIZE_EXT = 0x8029 :: GLenum

    pattern $mGL_HISTOGRAM_LUMINANCE_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HISTOGRAM_LUMINANCE_SIZE :: GLenum
    GL_HISTOGRAM_LUMINANCE_SIZE = 0x802C :: GLenum

    pattern $mGL_HISTOGRAM_LUMINANCE_SIZE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HISTOGRAM_LUMINANCE_SIZE_EXT :: GLenum
    GL_HISTOGRAM_LUMINANCE_SIZE_EXT = 0x802C :: GLenum

    pattern $mGL_HISTOGRAM_RED_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HISTOGRAM_RED_SIZE :: GLenum
    GL_HISTOGRAM_RED_SIZE = 0x8028 :: GLenum

    pattern $mGL_HISTOGRAM_RED_SIZE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HISTOGRAM_RED_SIZE_EXT :: GLenum
    GL_HISTOGRAM_RED_SIZE_EXT = 0x8028 :: GLenum

    pattern $mGL_HISTOGRAM_SINK :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HISTOGRAM_SINK :: GLenum
    GL_HISTOGRAM_SINK = 0x802D :: GLenum

    pattern $mGL_HISTOGRAM_SINK_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HISTOGRAM_SINK_EXT :: GLenum
    GL_HISTOGRAM_SINK_EXT = 0x802D :: GLenum

    pattern $mGL_HISTOGRAM_WIDTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HISTOGRAM_WIDTH :: GLenum
    GL_HISTOGRAM_WIDTH = 0x8026 :: GLenum

    pattern $mGL_HISTOGRAM_WIDTH_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HISTOGRAM_WIDTH_EXT :: GLenum
    GL_HISTOGRAM_WIDTH_EXT = 0x8026 :: GLenum

    pattern $mGL_HI_BIAS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HI_BIAS_NV :: GLenum
    GL_HI_BIAS_NV = 0x8714 :: GLenum

    pattern $mGL_HI_SCALE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HI_SCALE_NV :: GLenum
    GL_HI_SCALE_NV = 0x870E :: GLenum

    pattern $mGL_HORIZONTAL_LINE_TO_NV :: forall {r}. GLubyte -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HORIZONTAL_LINE_TO_NV :: GLubyte
    GL_HORIZONTAL_LINE_TO_NV = 0x06 :: GLubyte

    pattern $mGL_HSL_COLOR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HSL_COLOR :: GLenum
    GL_HSL_COLOR = 0x92AF :: GLenum

    pattern $mGL_HSL_COLOR_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HSL_COLOR_KHR :: GLenum
    GL_HSL_COLOR_KHR = 0x92AF :: GLenum

    pattern $mGL_HSL_COLOR_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HSL_COLOR_NV :: GLenum
    GL_HSL_COLOR_NV = 0x92AF :: GLenum

    pattern $mGL_HSL_HUE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HSL_HUE :: GLenum
    GL_HSL_HUE = 0x92AD :: GLenum

    pattern $mGL_HSL_HUE_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HSL_HUE_KHR :: GLenum
    GL_HSL_HUE_KHR = 0x92AD :: GLenum

    pattern $mGL_HSL_HUE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HSL_HUE_NV :: GLenum
    GL_HSL_HUE_NV = 0x92AD :: GLenum

    pattern $mGL_HSL_LUMINOSITY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HSL_LUMINOSITY :: GLenum
    GL_HSL_LUMINOSITY = 0x92B0 :: GLenum

    pattern $mGL_HSL_LUMINOSITY_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HSL_LUMINOSITY_KHR :: GLenum
    GL_HSL_LUMINOSITY_KHR = 0x92B0 :: GLenum

    pattern $mGL_HSL_LUMINOSITY_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HSL_LUMINOSITY_NV :: GLenum
    GL_HSL_LUMINOSITY_NV = 0x92B0 :: GLenum

    pattern $mGL_HSL_SATURATION :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HSL_SATURATION :: GLenum
    GL_HSL_SATURATION = 0x92AE :: GLenum

    pattern $mGL_HSL_SATURATION_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HSL_SATURATION_KHR :: GLenum
    GL_HSL_SATURATION_KHR = 0x92AE :: GLenum

    pattern $mGL_HSL_SATURATION_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_HSL_SATURATION_NV :: GLenum
    GL_HSL_SATURATION_NV = 0x92AE :: GLenum

    pattern $mGL_IDENTITY_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IDENTITY_NV :: GLenum
    GL_IDENTITY_NV = 0x862A :: GLenum

    pattern $mGL_IGNORE_BORDER_HP :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IGNORE_BORDER_HP :: GLenum
    GL_IGNORE_BORDER_HP = 0x8150 :: GLenum

    pattern $mGL_IMAGE_1D :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_1D :: GLenum
    GL_IMAGE_1D = 0x904C :: GLenum

    pattern $mGL_IMAGE_1D_ARRAY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_1D_ARRAY :: GLenum
    GL_IMAGE_1D_ARRAY = 0x9052 :: GLenum

    pattern $mGL_IMAGE_1D_ARRAY_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_1D_ARRAY_EXT :: GLenum
    GL_IMAGE_1D_ARRAY_EXT = 0x9052 :: GLenum

    pattern $mGL_IMAGE_1D_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_1D_EXT :: GLenum
    GL_IMAGE_1D_EXT = 0x904C :: GLenum

    pattern $mGL_IMAGE_2D :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_2D :: GLenum
    GL_IMAGE_2D = 0x904D :: GLenum

    pattern $mGL_IMAGE_2D_ARRAY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_2D_ARRAY :: GLenum
    GL_IMAGE_2D_ARRAY = 0x9053 :: GLenum

    pattern $mGL_IMAGE_2D_ARRAY_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_2D_ARRAY_EXT :: GLenum
    GL_IMAGE_2D_ARRAY_EXT = 0x9053 :: GLenum

    pattern $mGL_IMAGE_2D_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_2D_EXT :: GLenum
    GL_IMAGE_2D_EXT = 0x904D :: GLenum

    pattern $mGL_IMAGE_2D_MULTISAMPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_2D_MULTISAMPLE :: GLenum
    GL_IMAGE_2D_MULTISAMPLE = 0x9055 :: GLenum

    pattern $mGL_IMAGE_2D_MULTISAMPLE_ARRAY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_2D_MULTISAMPLE_ARRAY :: GLenum
    GL_IMAGE_2D_MULTISAMPLE_ARRAY = 0x9056 :: GLenum

    pattern $mGL_IMAGE_2D_MULTISAMPLE_ARRAY_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_2D_MULTISAMPLE_ARRAY_EXT :: GLenum
    GL_IMAGE_2D_MULTISAMPLE_ARRAY_EXT = 0x9056 :: GLenum

    pattern $mGL_IMAGE_2D_MULTISAMPLE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_2D_MULTISAMPLE_EXT :: GLenum
    GL_IMAGE_2D_MULTISAMPLE_EXT = 0x9055 :: GLenum

    pattern $mGL_IMAGE_2D_RECT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_2D_RECT :: GLenum
    GL_IMAGE_2D_RECT = 0x904F :: GLenum

    pattern $mGL_IMAGE_2D_RECT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_2D_RECT_EXT :: GLenum
    GL_IMAGE_2D_RECT_EXT = 0x904F :: GLenum

    pattern $mGL_IMAGE_3D :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_3D :: GLenum
    GL_IMAGE_3D = 0x904E :: GLenum

    pattern $mGL_IMAGE_3D_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_3D_EXT :: GLenum
    GL_IMAGE_3D_EXT = 0x904E :: GLenum

    pattern $mGL_IMAGE_BINDING_ACCESS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_BINDING_ACCESS :: GLenum
    GL_IMAGE_BINDING_ACCESS = 0x8F3E :: GLenum

    pattern $mGL_IMAGE_BINDING_ACCESS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_BINDING_ACCESS_EXT :: GLenum
    GL_IMAGE_BINDING_ACCESS_EXT = 0x8F3E :: GLenum

    pattern $mGL_IMAGE_BINDING_FORMAT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_BINDING_FORMAT :: GLenum
    GL_IMAGE_BINDING_FORMAT = 0x906E :: GLenum

    pattern $mGL_IMAGE_BINDING_FORMAT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_BINDING_FORMAT_EXT :: GLenum
    GL_IMAGE_BINDING_FORMAT_EXT = 0x906E :: GLenum

    pattern $mGL_IMAGE_BINDING_LAYER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_BINDING_LAYER :: GLenum
    GL_IMAGE_BINDING_LAYER = 0x8F3D :: GLenum

    pattern $mGL_IMAGE_BINDING_LAYERED :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_BINDING_LAYERED :: GLenum
    GL_IMAGE_BINDING_LAYERED = 0x8F3C :: GLenum

    pattern $mGL_IMAGE_BINDING_LAYERED_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_BINDING_LAYERED_EXT :: GLenum
    GL_IMAGE_BINDING_LAYERED_EXT = 0x8F3C :: GLenum

    pattern $mGL_IMAGE_BINDING_LAYER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_BINDING_LAYER_EXT :: GLenum
    GL_IMAGE_BINDING_LAYER_EXT = 0x8F3D :: GLenum

    pattern $mGL_IMAGE_BINDING_LEVEL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_BINDING_LEVEL :: GLenum
    GL_IMAGE_BINDING_LEVEL = 0x8F3B :: GLenum

    pattern $mGL_IMAGE_BINDING_LEVEL_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_BINDING_LEVEL_EXT :: GLenum
    GL_IMAGE_BINDING_LEVEL_EXT = 0x8F3B :: GLenum

    pattern $mGL_IMAGE_BINDING_NAME :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_BINDING_NAME :: GLenum
    GL_IMAGE_BINDING_NAME = 0x8F3A :: GLenum

    pattern $mGL_IMAGE_BINDING_NAME_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_BINDING_NAME_EXT :: GLenum
    GL_IMAGE_BINDING_NAME_EXT = 0x8F3A :: GLenum

    pattern $mGL_IMAGE_BUFFER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_BUFFER :: GLenum
    GL_IMAGE_BUFFER = 0x9051 :: GLenum

    pattern $mGL_IMAGE_BUFFER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_BUFFER_EXT :: GLenum
    GL_IMAGE_BUFFER_EXT = 0x9051 :: GLenum

    pattern $mGL_IMAGE_BUFFER_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_BUFFER_OES :: GLenum
    GL_IMAGE_BUFFER_OES = 0x9051 :: GLenum

    pattern $mGL_IMAGE_CLASS_10_10_10_2 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_CLASS_10_10_10_2 :: GLenum
    GL_IMAGE_CLASS_10_10_10_2 = 0x82C3 :: GLenum

    pattern $mGL_IMAGE_CLASS_11_11_10 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_CLASS_11_11_10 :: GLenum
    GL_IMAGE_CLASS_11_11_10 = 0x82C2 :: GLenum

    pattern $mGL_IMAGE_CLASS_1_X_16 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_CLASS_1_X_16 :: GLenum
    GL_IMAGE_CLASS_1_X_16 = 0x82BE :: GLenum

    pattern $mGL_IMAGE_CLASS_1_X_32 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_CLASS_1_X_32 :: GLenum
    GL_IMAGE_CLASS_1_X_32 = 0x82BB :: GLenum

    pattern $mGL_IMAGE_CLASS_1_X_8 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_CLASS_1_X_8 :: GLenum
    GL_IMAGE_CLASS_1_X_8 = 0x82C1 :: GLenum

    pattern $mGL_IMAGE_CLASS_2_X_16 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_CLASS_2_X_16 :: GLenum
    GL_IMAGE_CLASS_2_X_16 = 0x82BD :: GLenum

    pattern $mGL_IMAGE_CLASS_2_X_32 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_CLASS_2_X_32 :: GLenum
    GL_IMAGE_CLASS_2_X_32 = 0x82BA :: GLenum

    pattern $mGL_IMAGE_CLASS_2_X_8 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_CLASS_2_X_8 :: GLenum
    GL_IMAGE_CLASS_2_X_8 = 0x82C0 :: GLenum

    pattern $mGL_IMAGE_CLASS_4_X_16 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_CLASS_4_X_16 :: GLenum
    GL_IMAGE_CLASS_4_X_16 = 0x82BC :: GLenum

    pattern $mGL_IMAGE_CLASS_4_X_32 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_CLASS_4_X_32 :: GLenum
    GL_IMAGE_CLASS_4_X_32 = 0x82B9 :: GLenum

    pattern $mGL_IMAGE_CLASS_4_X_8 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_CLASS_4_X_8 :: GLenum
    GL_IMAGE_CLASS_4_X_8 = 0x82BF :: GLenum

    pattern $mGL_IMAGE_COMPATIBILITY_CLASS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_COMPATIBILITY_CLASS :: GLenum
    GL_IMAGE_COMPATIBILITY_CLASS = 0x82A8 :: GLenum

    pattern $mGL_IMAGE_CUBE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_CUBE :: GLenum
    GL_IMAGE_CUBE = 0x9050 :: GLenum

    pattern $mGL_IMAGE_CUBE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_CUBE_EXT :: GLenum
    GL_IMAGE_CUBE_EXT = 0x9050 :: GLenum

    pattern $mGL_IMAGE_CUBE_MAP_ARRAY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_CUBE_MAP_ARRAY :: GLenum
    GL_IMAGE_CUBE_MAP_ARRAY = 0x9054 :: GLenum

    pattern $mGL_IMAGE_CUBE_MAP_ARRAY_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_CUBE_MAP_ARRAY_EXT :: GLenum
    GL_IMAGE_CUBE_MAP_ARRAY_EXT = 0x9054 :: GLenum

    pattern $mGL_IMAGE_CUBE_MAP_ARRAY_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_CUBE_MAP_ARRAY_OES :: GLenum
    GL_IMAGE_CUBE_MAP_ARRAY_OES = 0x9054 :: GLenum

    pattern $mGL_IMAGE_CUBIC_WEIGHT_HP :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_CUBIC_WEIGHT_HP :: GLenum
    GL_IMAGE_CUBIC_WEIGHT_HP = 0x815E :: GLenum

    pattern $mGL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS :: GLenum
    GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS = 0x90C9 :: GLenum

    pattern $mGL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE :: GLenum
    GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE = 0x90C8 :: GLenum

    pattern $mGL_IMAGE_FORMAT_COMPATIBILITY_TYPE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_FORMAT_COMPATIBILITY_TYPE :: GLenum
    GL_IMAGE_FORMAT_COMPATIBILITY_TYPE = 0x90C7 :: GLenum

    pattern $mGL_IMAGE_MAG_FILTER_HP :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_MAG_FILTER_HP :: GLenum
    GL_IMAGE_MAG_FILTER_HP = 0x815C :: GLenum

    pattern $mGL_IMAGE_MIN_FILTER_HP :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_MIN_FILTER_HP :: GLenum
    GL_IMAGE_MIN_FILTER_HP = 0x815D :: GLenum

    pattern $mGL_IMAGE_PIXEL_FORMAT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_PIXEL_FORMAT :: GLenum
    GL_IMAGE_PIXEL_FORMAT = 0x82A9 :: GLenum

    pattern $mGL_IMAGE_PIXEL_TYPE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_PIXEL_TYPE :: GLenum
    GL_IMAGE_PIXEL_TYPE = 0x82AA :: GLenum

    pattern $mGL_IMAGE_ROTATE_ANGLE_HP :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_ROTATE_ANGLE_HP :: GLenum
    GL_IMAGE_ROTATE_ANGLE_HP = 0x8159 :: GLenum

    pattern $mGL_IMAGE_ROTATE_ORIGIN_X_HP :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_ROTATE_ORIGIN_X_HP :: GLenum
    GL_IMAGE_ROTATE_ORIGIN_X_HP = 0x815A :: GLenum

    pattern $mGL_IMAGE_ROTATE_ORIGIN_Y_HP :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_ROTATE_ORIGIN_Y_HP :: GLenum
    GL_IMAGE_ROTATE_ORIGIN_Y_HP = 0x815B :: GLenum

    pattern $mGL_IMAGE_SCALE_X_HP :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_SCALE_X_HP :: GLenum
    GL_IMAGE_SCALE_X_HP = 0x8155 :: GLenum

    pattern $mGL_IMAGE_SCALE_Y_HP :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_SCALE_Y_HP :: GLenum
    GL_IMAGE_SCALE_Y_HP = 0x8156 :: GLenum

    pattern $mGL_IMAGE_TEXEL_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_TEXEL_SIZE :: GLenum
    GL_IMAGE_TEXEL_SIZE = 0x82A7 :: GLenum

    pattern $mGL_IMAGE_TRANSFORM_2D_HP :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_TRANSFORM_2D_HP :: GLenum
    GL_IMAGE_TRANSFORM_2D_HP = 0x8161 :: GLenum

    pattern $mGL_IMAGE_TRANSLATE_X_HP :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_TRANSLATE_X_HP :: GLenum
    GL_IMAGE_TRANSLATE_X_HP = 0x8157 :: GLenum

    pattern $mGL_IMAGE_TRANSLATE_Y_HP :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMAGE_TRANSLATE_Y_HP :: GLenum
    GL_IMAGE_TRANSLATE_Y_HP = 0x8158 :: GLenum

    pattern $mGL_IMPLEMENTATION_COLOR_READ_FORMAT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMPLEMENTATION_COLOR_READ_FORMAT :: GLenum
    GL_IMPLEMENTATION_COLOR_READ_FORMAT = 0x8B9B :: GLenum

    pattern $mGL_IMPLEMENTATION_COLOR_READ_FORMAT_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMPLEMENTATION_COLOR_READ_FORMAT_OES :: GLenum
    GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES = 0x8B9B :: GLenum

    pattern $mGL_IMPLEMENTATION_COLOR_READ_TYPE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMPLEMENTATION_COLOR_READ_TYPE :: GLenum
    GL_IMPLEMENTATION_COLOR_READ_TYPE = 0x8B9A :: GLenum

    pattern $mGL_IMPLEMENTATION_COLOR_READ_TYPE_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IMPLEMENTATION_COLOR_READ_TYPE_OES :: GLenum
    GL_IMPLEMENTATION_COLOR_READ_TYPE_OES = 0x8B9A :: GLenum

    pattern $mGL_INCLUSIVE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INCLUSIVE_EXT :: GLenum
    GL_INCLUSIVE_EXT = 0x8F10 :: GLenum

    pattern $mGL_INCR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INCR :: GLenum
    GL_INCR = 0x1E02 :: GLenum

    pattern $mGL_INCR_WRAP :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INCR_WRAP :: GLenum
    GL_INCR_WRAP = 0x8507 :: GLenum

    pattern $mGL_INCR_WRAP_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INCR_WRAP_EXT :: GLenum
    GL_INCR_WRAP_EXT = 0x8507 :: GLenum

    pattern $mGL_INCR_WRAP_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INCR_WRAP_OES :: GLenum
    GL_INCR_WRAP_OES = 0x8507 :: GLenum

    pattern $mGL_INDEX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INDEX :: GLenum
    GL_INDEX = 0x8222 :: GLenum

    pattern $mGL_INDEX_ARRAY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INDEX_ARRAY :: GLenum
    GL_INDEX_ARRAY = 0x8077 :: GLenum

    pattern $mGL_INDEX_ARRAY_ADDRESS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INDEX_ARRAY_ADDRESS_NV :: GLenum
    GL_INDEX_ARRAY_ADDRESS_NV = 0x8F24 :: GLenum

    pattern $mGL_INDEX_ARRAY_BUFFER_BINDING :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INDEX_ARRAY_BUFFER_BINDING :: GLenum
    GL_INDEX_ARRAY_BUFFER_BINDING = 0x8899 :: GLenum

    pattern $mGL_INDEX_ARRAY_BUFFER_BINDING_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INDEX_ARRAY_BUFFER_BINDING_ARB :: GLenum
    GL_INDEX_ARRAY_BUFFER_BINDING_ARB = 0x8899 :: GLenum

    pattern $mGL_INDEX_ARRAY_COUNT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INDEX_ARRAY_COUNT_EXT :: GLenum
    GL_INDEX_ARRAY_COUNT_EXT = 0x8087 :: GLenum

    pattern $mGL_INDEX_ARRAY_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INDEX_ARRAY_EXT :: GLenum
    GL_INDEX_ARRAY_EXT = 0x8077 :: GLenum

    pattern $mGL_INDEX_ARRAY_LENGTH_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INDEX_ARRAY_LENGTH_NV :: GLenum
    GL_INDEX_ARRAY_LENGTH_NV = 0x8F2E :: GLenum

    pattern $mGL_INDEX_ARRAY_LIST_IBM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INDEX_ARRAY_LIST_IBM :: GLenum
    GL_INDEX_ARRAY_LIST_IBM = 103073 :: GLenum

    pattern $mGL_INDEX_ARRAY_LIST_STRIDE_IBM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INDEX_ARRAY_LIST_STRIDE_IBM :: GLenum
    GL_INDEX_ARRAY_LIST_STRIDE_IBM = 103083 :: GLenum

    pattern $mGL_INDEX_ARRAY_POINTER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INDEX_ARRAY_POINTER :: GLenum
    GL_INDEX_ARRAY_POINTER = 0x8091 :: GLenum

    pattern $mGL_INDEX_ARRAY_POINTER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INDEX_ARRAY_POINTER_EXT :: GLenum
    GL_INDEX_ARRAY_POINTER_EXT = 0x8091 :: GLenum

    pattern $mGL_INDEX_ARRAY_STRIDE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INDEX_ARRAY_STRIDE :: GLenum
    GL_INDEX_ARRAY_STRIDE = 0x8086 :: GLenum

    pattern $mGL_INDEX_ARRAY_STRIDE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INDEX_ARRAY_STRIDE_EXT :: GLenum
    GL_INDEX_ARRAY_STRIDE_EXT = 0x8086 :: GLenum

    pattern $mGL_INDEX_ARRAY_TYPE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INDEX_ARRAY_TYPE :: GLenum
    GL_INDEX_ARRAY_TYPE = 0x8085 :: GLenum

    pattern $mGL_INDEX_ARRAY_TYPE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INDEX_ARRAY_TYPE_EXT :: GLenum
    GL_INDEX_ARRAY_TYPE_EXT = 0x8085 :: GLenum

    pattern $mGL_INDEX_BITS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INDEX_BITS :: GLenum
    GL_INDEX_BITS = 0x0D51 :: GLenum

    pattern $mGL_INDEX_BIT_PGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INDEX_BIT_PGI :: GLenum
    GL_INDEX_BIT_PGI = 0x00080000 :: GLbitfield

    pattern $mGL_INDEX_CLEAR_VALUE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INDEX_CLEAR_VALUE :: GLenum
    GL_INDEX_CLEAR_VALUE = 0x0C20 :: GLenum

    pattern $mGL_INDEX_LOGIC_OP :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INDEX_LOGIC_OP :: GLenum
    GL_INDEX_LOGIC_OP = 0x0BF1 :: GLenum

    pattern $mGL_INDEX_MATERIAL_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INDEX_MATERIAL_EXT :: GLenum
    GL_INDEX_MATERIAL_EXT = 0x81B8 :: GLenum

    pattern $mGL_INDEX_MATERIAL_FACE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INDEX_MATERIAL_FACE_EXT :: GLenum
    GL_INDEX_MATERIAL_FACE_EXT = 0x81BA :: GLenum

    pattern $mGL_INDEX_MATERIAL_PARAMETER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INDEX_MATERIAL_PARAMETER_EXT :: GLenum
    GL_INDEX_MATERIAL_PARAMETER_EXT = 0x81B9 :: GLenum

    pattern $mGL_INDEX_MODE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INDEX_MODE :: GLenum
    GL_INDEX_MODE = 0x0C30 :: GLenum

    pattern $mGL_INDEX_OFFSET :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INDEX_OFFSET :: GLenum
    GL_INDEX_OFFSET = 0x0D13 :: GLenum

    pattern $mGL_INDEX_SHIFT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INDEX_SHIFT :: GLenum
    GL_INDEX_SHIFT = 0x0D12 :: GLenum

    pattern $mGL_INDEX_TEST_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INDEX_TEST_EXT :: GLenum
    GL_INDEX_TEST_EXT = 0x81B5 :: GLenum

    pattern $mGL_INDEX_TEST_FUNC_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INDEX_TEST_FUNC_EXT :: GLenum
    GL_INDEX_TEST_FUNC_EXT = 0x81B6 :: GLenum

    pattern $mGL_INDEX_TEST_REF_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INDEX_TEST_REF_EXT :: GLenum
    GL_INDEX_TEST_REF_EXT = 0x81B7 :: GLenum

    pattern $mGL_INDEX_WRITEMASK :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INDEX_WRITEMASK :: GLenum
    GL_INDEX_WRITEMASK = 0x0C21 :: GLenum

    pattern $mGL_INFO_LOG_LENGTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INFO_LOG_LENGTH :: GLenum
    GL_INFO_LOG_LENGTH = 0x8B84 :: GLenum

    pattern $mGL_INNOCENT_CONTEXT_RESET :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INNOCENT_CONTEXT_RESET :: GLenum
    GL_INNOCENT_CONTEXT_RESET = 0x8254 :: GLenum

    pattern $mGL_INNOCENT_CONTEXT_RESET_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INNOCENT_CONTEXT_RESET_ARB :: GLenum
    GL_INNOCENT_CONTEXT_RESET_ARB = 0x8254 :: GLenum

    pattern $mGL_INNOCENT_CONTEXT_RESET_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INNOCENT_CONTEXT_RESET_EXT :: GLenum
    GL_INNOCENT_CONTEXT_RESET_EXT = 0x8254 :: GLenum

    pattern $mGL_INNOCENT_CONTEXT_RESET_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INNOCENT_CONTEXT_RESET_KHR :: GLenum
    GL_INNOCENT_CONTEXT_RESET_KHR = 0x8254 :: GLenum

    pattern $mGL_INSTRUMENT_BUFFER_POINTER_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INSTRUMENT_BUFFER_POINTER_SGIX :: GLenum
    GL_INSTRUMENT_BUFFER_POINTER_SGIX = 0x8180 :: GLenum

    pattern $mGL_INSTRUMENT_MEASUREMENTS_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INSTRUMENT_MEASUREMENTS_SGIX :: GLenum
    GL_INSTRUMENT_MEASUREMENTS_SGIX = 0x8181 :: GLenum

    pattern $mGL_INT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT :: GLenum
    GL_INT = 0x1404 :: GLenum

    pattern $mGL_INT16_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT16_NV :: GLenum
    GL_INT16_NV = 0x8FE4 :: GLenum

    pattern $mGL_INT16_VEC2_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT16_VEC2_NV :: GLenum
    GL_INT16_VEC2_NV = 0x8FE5 :: GLenum

    pattern $mGL_INT16_VEC3_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT16_VEC3_NV :: GLenum
    GL_INT16_VEC3_NV = 0x8FE6 :: GLenum

    pattern $mGL_INT16_VEC4_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT16_VEC4_NV :: GLenum
    GL_INT16_VEC4_NV = 0x8FE7 :: GLenum

    pattern $mGL_INT64_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT64_ARB :: GLenum
    GL_INT64_ARB = 0x140E :: GLenum

    pattern $mGL_INT64_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT64_NV :: GLenum
    GL_INT64_NV = 0x140E :: GLenum

    pattern $mGL_INT64_VEC2_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT64_VEC2_ARB :: GLenum
    GL_INT64_VEC2_ARB = 0x8FE9 :: GLenum

    pattern $mGL_INT64_VEC2_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT64_VEC2_NV :: GLenum
    GL_INT64_VEC2_NV = 0x8FE9 :: GLenum

    pattern $mGL_INT64_VEC3_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT64_VEC3_ARB :: GLenum
    GL_INT64_VEC3_ARB = 0x8FEA :: GLenum

    pattern $mGL_INT64_VEC3_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT64_VEC3_NV :: GLenum
    GL_INT64_VEC3_NV = 0x8FEA :: GLenum

    pattern $mGL_INT64_VEC4_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT64_VEC4_ARB :: GLenum
    GL_INT64_VEC4_ARB = 0x8FEB :: GLenum

    pattern $mGL_INT64_VEC4_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT64_VEC4_NV :: GLenum
    GL_INT64_VEC4_NV = 0x8FEB :: GLenum

    pattern $mGL_INT8_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT8_NV :: GLenum
    GL_INT8_NV = 0x8FE0 :: GLenum

    pattern $mGL_INT8_VEC2_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT8_VEC2_NV :: GLenum
    GL_INT8_VEC2_NV = 0x8FE1 :: GLenum

    pattern $mGL_INT8_VEC3_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT8_VEC3_NV :: GLenum
    GL_INT8_VEC3_NV = 0x8FE2 :: GLenum

    pattern $mGL_INT8_VEC4_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT8_VEC4_NV :: GLenum
    GL_INT8_VEC4_NV = 0x8FE3 :: GLenum

    pattern $mGL_INTENSITY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INTENSITY :: GLenum
    GL_INTENSITY = 0x8049 :: GLenum

    pattern $mGL_INTENSITY12 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INTENSITY12 :: GLenum
    GL_INTENSITY12 = 0x804C :: GLenum

    pattern $mGL_INTENSITY12_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INTENSITY12_EXT :: GLenum
    GL_INTENSITY12_EXT = 0x804C :: GLenum

    pattern $mGL_INTENSITY16 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INTENSITY16 :: GLenum
    GL_INTENSITY16 = 0x804D :: GLenum

    pattern $mGL_INTENSITY16F_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INTENSITY16F_ARB :: GLenum
    GL_INTENSITY16F_ARB = 0x881D :: GLenum

    pattern $mGL_INTENSITY16I_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INTENSITY16I_EXT :: GLenum
    GL_INTENSITY16I_EXT = 0x8D8B :: GLenum

    pattern $mGL_INTENSITY16UI_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INTENSITY16UI_EXT :: GLenum
    GL_INTENSITY16UI_EXT = 0x8D79 :: GLenum

    pattern $mGL_INTENSITY16_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INTENSITY16_EXT :: GLenum
    GL_INTENSITY16_EXT = 0x804D :: GLenum

    pattern $mGL_INTENSITY16_SNORM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INTENSITY16_SNORM :: GLenum
    GL_INTENSITY16_SNORM = 0x901B :: GLenum

    pattern $mGL_INTENSITY32F_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INTENSITY32F_ARB :: GLenum
    GL_INTENSITY32F_ARB = 0x8817 :: GLenum

    pattern $mGL_INTENSITY32I_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INTENSITY32I_EXT :: GLenum
    GL_INTENSITY32I_EXT = 0x8D85 :: GLenum

    pattern $mGL_INTENSITY32UI_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INTENSITY32UI_EXT :: GLenum
    GL_INTENSITY32UI_EXT = 0x8D73 :: GLenum

    pattern $mGL_INTENSITY4 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INTENSITY4 :: GLenum
    GL_INTENSITY4 = 0x804A :: GLenum

    pattern $mGL_INTENSITY4_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INTENSITY4_EXT :: GLenum
    GL_INTENSITY4_EXT = 0x804A :: GLenum

    pattern $mGL_INTENSITY8 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INTENSITY8 :: GLenum
    GL_INTENSITY8 = 0x804B :: GLenum

    pattern $mGL_INTENSITY8I_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INTENSITY8I_EXT :: GLenum
    GL_INTENSITY8I_EXT = 0x8D91 :: GLenum

    pattern $mGL_INTENSITY8UI_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INTENSITY8UI_EXT :: GLenum
    GL_INTENSITY8UI_EXT = 0x8D7F :: GLenum

    pattern $mGL_INTENSITY8_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INTENSITY8_EXT :: GLenum
    GL_INTENSITY8_EXT = 0x804B :: GLenum

    pattern $mGL_INTENSITY8_SNORM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INTENSITY8_SNORM :: GLenum
    GL_INTENSITY8_SNORM = 0x9017 :: GLenum

    pattern $mGL_INTENSITY_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INTENSITY_EXT :: GLenum
    GL_INTENSITY_EXT = 0x8049 :: GLenum

    pattern $mGL_INTENSITY_FLOAT16_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INTENSITY_FLOAT16_APPLE :: GLenum
    GL_INTENSITY_FLOAT16_APPLE = 0x881D :: GLenum

    pattern $mGL_INTENSITY_FLOAT16_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INTENSITY_FLOAT16_ATI :: GLenum
    GL_INTENSITY_FLOAT16_ATI = 0x881D :: GLenum

    pattern $mGL_INTENSITY_FLOAT32_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INTENSITY_FLOAT32_APPLE :: GLenum
    GL_INTENSITY_FLOAT32_APPLE = 0x8817 :: GLenum

    pattern $mGL_INTENSITY_FLOAT32_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INTENSITY_FLOAT32_ATI :: GLenum
    GL_INTENSITY_FLOAT32_ATI = 0x8817 :: GLenum

    pattern $mGL_INTENSITY_SNORM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INTENSITY_SNORM :: GLenum
    GL_INTENSITY_SNORM = 0x9013 :: GLenum

    pattern $mGL_INTERLACE_OML :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INTERLACE_OML :: GLenum
    GL_INTERLACE_OML = 0x8980 :: GLenum

    pattern $mGL_INTERLACE_READ_INGR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INTERLACE_READ_INGR :: GLenum
    GL_INTERLACE_READ_INGR = 0x8568 :: GLenum

    pattern $mGL_INTERLACE_READ_OML :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INTERLACE_READ_OML :: GLenum
    GL_INTERLACE_READ_OML = 0x8981 :: GLenum

    pattern $mGL_INTERLACE_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INTERLACE_SGIX :: GLenum
    GL_INTERLACE_SGIX = 0x8094 :: GLenum

    pattern $mGL_INTERLEAVED_ATTRIBS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INTERLEAVED_ATTRIBS :: GLenum
    GL_INTERLEAVED_ATTRIBS = 0x8C8C :: GLenum

    pattern $mGL_INTERLEAVED_ATTRIBS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INTERLEAVED_ATTRIBS_EXT :: GLenum
    GL_INTERLEAVED_ATTRIBS_EXT = 0x8C8C :: GLenum

    pattern $mGL_INTERLEAVED_ATTRIBS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INTERLEAVED_ATTRIBS_NV :: GLenum
    GL_INTERLEAVED_ATTRIBS_NV = 0x8C8C :: GLenum

    pattern $mGL_INTERNALFORMAT_ALPHA_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INTERNALFORMAT_ALPHA_SIZE :: GLenum
    GL_INTERNALFORMAT_ALPHA_SIZE = 0x8274 :: GLenum

    pattern $mGL_INTERNALFORMAT_ALPHA_TYPE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INTERNALFORMAT_ALPHA_TYPE :: GLenum
    GL_INTERNALFORMAT_ALPHA_TYPE = 0x827B :: GLenum

    pattern $mGL_INTERNALFORMAT_BLUE_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INTERNALFORMAT_BLUE_SIZE :: GLenum
    GL_INTERNALFORMAT_BLUE_SIZE = 0x8273 :: GLenum

    pattern $mGL_INTERNALFORMAT_BLUE_TYPE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INTERNALFORMAT_BLUE_TYPE :: GLenum
    GL_INTERNALFORMAT_BLUE_TYPE = 0x827A :: GLenum

    pattern $mGL_INTERNALFORMAT_DEPTH_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INTERNALFORMAT_DEPTH_SIZE :: GLenum
    GL_INTERNALFORMAT_DEPTH_SIZE = 0x8275 :: GLenum

    pattern $mGL_INTERNALFORMAT_DEPTH_TYPE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INTERNALFORMAT_DEPTH_TYPE :: GLenum
    GL_INTERNALFORMAT_DEPTH_TYPE = 0x827C :: GLenum

    pattern $mGL_INTERNALFORMAT_GREEN_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INTERNALFORMAT_GREEN_SIZE :: GLenum
    GL_INTERNALFORMAT_GREEN_SIZE = 0x8272 :: GLenum

    pattern $mGL_INTERNALFORMAT_GREEN_TYPE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INTERNALFORMAT_GREEN_TYPE :: GLenum
    GL_INTERNALFORMAT_GREEN_TYPE = 0x8279 :: GLenum

    pattern $mGL_INTERNALFORMAT_PREFERRED :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INTERNALFORMAT_PREFERRED :: GLenum
    GL_INTERNALFORMAT_PREFERRED = 0x8270 :: GLenum

    pattern $mGL_INTERNALFORMAT_RED_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INTERNALFORMAT_RED_SIZE :: GLenum
    GL_INTERNALFORMAT_RED_SIZE = 0x8271 :: GLenum

    pattern $mGL_INTERNALFORMAT_RED_TYPE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INTERNALFORMAT_RED_TYPE :: GLenum
    GL_INTERNALFORMAT_RED_TYPE = 0x8278 :: GLenum

    pattern $mGL_INTERNALFORMAT_SHARED_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INTERNALFORMAT_SHARED_SIZE :: GLenum
    GL_INTERNALFORMAT_SHARED_SIZE = 0x8277 :: GLenum

    pattern $mGL_INTERNALFORMAT_STENCIL_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INTERNALFORMAT_STENCIL_SIZE :: GLenum
    GL_INTERNALFORMAT_STENCIL_SIZE = 0x8276 :: GLenum

    pattern $mGL_INTERNALFORMAT_STENCIL_TYPE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INTERNALFORMAT_STENCIL_TYPE :: GLenum
    GL_INTERNALFORMAT_STENCIL_TYPE = 0x827D :: GLenum

    pattern $mGL_INTERNALFORMAT_SUPPORTED :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INTERNALFORMAT_SUPPORTED :: GLenum
    GL_INTERNALFORMAT_SUPPORTED = 0x826F :: GLenum

    pattern $mGL_INTERPOLATE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INTERPOLATE :: GLenum
    GL_INTERPOLATE = 0x8575 :: GLenum

    pattern $mGL_INTERPOLATE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INTERPOLATE_ARB :: GLenum
    GL_INTERPOLATE_ARB = 0x8575 :: GLenum

    pattern $mGL_INTERPOLATE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INTERPOLATE_EXT :: GLenum
    GL_INTERPOLATE_EXT = 0x8575 :: GLenum

    pattern $mGL_INT_10_10_10_2_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_10_10_10_2_OES :: GLenum
    GL_INT_10_10_10_2_OES = 0x8DF7 :: GLenum

    pattern $mGL_INT_2_10_10_10_REV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_2_10_10_10_REV :: GLenum
    GL_INT_2_10_10_10_REV = 0x8D9F :: GLenum

    pattern $mGL_INT_IMAGE_1D :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_IMAGE_1D :: GLenum
    GL_INT_IMAGE_1D = 0x9057 :: GLenum

    pattern $mGL_INT_IMAGE_1D_ARRAY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_IMAGE_1D_ARRAY :: GLenum
    GL_INT_IMAGE_1D_ARRAY = 0x905D :: GLenum

    pattern $mGL_INT_IMAGE_1D_ARRAY_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_IMAGE_1D_ARRAY_EXT :: GLenum
    GL_INT_IMAGE_1D_ARRAY_EXT = 0x905D :: GLenum

    pattern $mGL_INT_IMAGE_1D_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_IMAGE_1D_EXT :: GLenum
    GL_INT_IMAGE_1D_EXT = 0x9057 :: GLenum

    pattern $mGL_INT_IMAGE_2D :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_IMAGE_2D :: GLenum
    GL_INT_IMAGE_2D = 0x9058 :: GLenum

    pattern $mGL_INT_IMAGE_2D_ARRAY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_IMAGE_2D_ARRAY :: GLenum
    GL_INT_IMAGE_2D_ARRAY = 0x905E :: GLenum

    pattern $mGL_INT_IMAGE_2D_ARRAY_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_IMAGE_2D_ARRAY_EXT :: GLenum
    GL_INT_IMAGE_2D_ARRAY_EXT = 0x905E :: GLenum

    pattern $mGL_INT_IMAGE_2D_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_IMAGE_2D_EXT :: GLenum
    GL_INT_IMAGE_2D_EXT = 0x9058 :: GLenum

    pattern $mGL_INT_IMAGE_2D_MULTISAMPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_IMAGE_2D_MULTISAMPLE :: GLenum
    GL_INT_IMAGE_2D_MULTISAMPLE = 0x9060 :: GLenum

    pattern $mGL_INT_IMAGE_2D_MULTISAMPLE_ARRAY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_IMAGE_2D_MULTISAMPLE_ARRAY :: GLenum
    GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY = 0x9061 :: GLenum

    pattern $mGL_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT :: GLenum
    GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT = 0x9061 :: GLenum

    pattern $mGL_INT_IMAGE_2D_MULTISAMPLE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_IMAGE_2D_MULTISAMPLE_EXT :: GLenum
    GL_INT_IMAGE_2D_MULTISAMPLE_EXT = 0x9060 :: GLenum

    pattern $mGL_INT_IMAGE_2D_RECT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_IMAGE_2D_RECT :: GLenum
    GL_INT_IMAGE_2D_RECT = 0x905A :: GLenum

    pattern $mGL_INT_IMAGE_2D_RECT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_IMAGE_2D_RECT_EXT :: GLenum
    GL_INT_IMAGE_2D_RECT_EXT = 0x905A :: GLenum

    pattern $mGL_INT_IMAGE_3D :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_IMAGE_3D :: GLenum
    GL_INT_IMAGE_3D = 0x9059 :: GLenum

    pattern $mGL_INT_IMAGE_3D_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_IMAGE_3D_EXT :: GLenum
    GL_INT_IMAGE_3D_EXT = 0x9059 :: GLenum

    pattern $mGL_INT_IMAGE_BUFFER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_IMAGE_BUFFER :: GLenum
    GL_INT_IMAGE_BUFFER = 0x905C :: GLenum

    pattern $mGL_INT_IMAGE_BUFFER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_IMAGE_BUFFER_EXT :: GLenum
    GL_INT_IMAGE_BUFFER_EXT = 0x905C :: GLenum

    pattern $mGL_INT_IMAGE_BUFFER_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_IMAGE_BUFFER_OES :: GLenum
    GL_INT_IMAGE_BUFFER_OES = 0x905C :: GLenum

    pattern $mGL_INT_IMAGE_CUBE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_IMAGE_CUBE :: GLenum
    GL_INT_IMAGE_CUBE = 0x905B :: GLenum

    pattern $mGL_INT_IMAGE_CUBE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_IMAGE_CUBE_EXT :: GLenum
    GL_INT_IMAGE_CUBE_EXT = 0x905B :: GLenum

    pattern $mGL_INT_IMAGE_CUBE_MAP_ARRAY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_IMAGE_CUBE_MAP_ARRAY :: GLenum
    GL_INT_IMAGE_CUBE_MAP_ARRAY = 0x905F :: GLenum

    pattern $mGL_INT_IMAGE_CUBE_MAP_ARRAY_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_IMAGE_CUBE_MAP_ARRAY_EXT :: GLenum
    GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT = 0x905F :: GLenum

    pattern $mGL_INT_IMAGE_CUBE_MAP_ARRAY_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_IMAGE_CUBE_MAP_ARRAY_OES :: GLenum
    GL_INT_IMAGE_CUBE_MAP_ARRAY_OES = 0x905F :: GLenum

    pattern $mGL_INT_SAMPLER_1D :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_SAMPLER_1D :: GLenum
    GL_INT_SAMPLER_1D = 0x8DC9 :: GLenum

    pattern $mGL_INT_SAMPLER_1D_ARRAY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_SAMPLER_1D_ARRAY :: GLenum
    GL_INT_SAMPLER_1D_ARRAY = 0x8DCE :: GLenum

    pattern $mGL_INT_SAMPLER_1D_ARRAY_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_SAMPLER_1D_ARRAY_EXT :: GLenum
    GL_INT_SAMPLER_1D_ARRAY_EXT = 0x8DCE :: GLenum

    pattern $mGL_INT_SAMPLER_1D_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_SAMPLER_1D_EXT :: GLenum
    GL_INT_SAMPLER_1D_EXT = 0x8DC9 :: GLenum

    pattern $mGL_INT_SAMPLER_2D :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_SAMPLER_2D :: GLenum
    GL_INT_SAMPLER_2D = 0x8DCA :: GLenum

    pattern $mGL_INT_SAMPLER_2D_ARRAY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_SAMPLER_2D_ARRAY :: GLenum
    GL_INT_SAMPLER_2D_ARRAY = 0x8DCF :: GLenum

    pattern $mGL_INT_SAMPLER_2D_ARRAY_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_SAMPLER_2D_ARRAY_EXT :: GLenum
    GL_INT_SAMPLER_2D_ARRAY_EXT = 0x8DCF :: GLenum

    pattern $mGL_INT_SAMPLER_2D_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_SAMPLER_2D_EXT :: GLenum
    GL_INT_SAMPLER_2D_EXT = 0x8DCA :: GLenum

    pattern $mGL_INT_SAMPLER_2D_MULTISAMPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_SAMPLER_2D_MULTISAMPLE :: GLenum
    GL_INT_SAMPLER_2D_MULTISAMPLE = 0x9109 :: GLenum

    pattern $mGL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
    GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910C :: GLenum

    pattern $mGL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES :: GLenum
    GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES = 0x910C :: GLenum

    pattern $mGL_INT_SAMPLER_2D_RECT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_SAMPLER_2D_RECT :: GLenum
    GL_INT_SAMPLER_2D_RECT = 0x8DCD :: GLenum

    pattern $mGL_INT_SAMPLER_2D_RECT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_SAMPLER_2D_RECT_EXT :: GLenum
    GL_INT_SAMPLER_2D_RECT_EXT = 0x8DCD :: GLenum

    pattern $mGL_INT_SAMPLER_3D :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_SAMPLER_3D :: GLenum
    GL_INT_SAMPLER_3D = 0x8DCB :: GLenum

    pattern $mGL_INT_SAMPLER_3D_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_SAMPLER_3D_EXT :: GLenum
    GL_INT_SAMPLER_3D_EXT = 0x8DCB :: GLenum

    pattern $mGL_INT_SAMPLER_BUFFER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_SAMPLER_BUFFER :: GLenum
    GL_INT_SAMPLER_BUFFER = 0x8DD0 :: GLenum

    pattern $mGL_INT_SAMPLER_BUFFER_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_SAMPLER_BUFFER_AMD :: GLenum
    GL_INT_SAMPLER_BUFFER_AMD = 0x9002 :: GLenum

    pattern $mGL_INT_SAMPLER_BUFFER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_SAMPLER_BUFFER_EXT :: GLenum
    GL_INT_SAMPLER_BUFFER_EXT = 0x8DD0 :: GLenum

    pattern $mGL_INT_SAMPLER_BUFFER_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_SAMPLER_BUFFER_OES :: GLenum
    GL_INT_SAMPLER_BUFFER_OES = 0x8DD0 :: GLenum

    pattern $mGL_INT_SAMPLER_CUBE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_SAMPLER_CUBE :: GLenum
    GL_INT_SAMPLER_CUBE = 0x8DCC :: GLenum

    pattern $mGL_INT_SAMPLER_CUBE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_SAMPLER_CUBE_EXT :: GLenum
    GL_INT_SAMPLER_CUBE_EXT = 0x8DCC :: GLenum

    pattern $mGL_INT_SAMPLER_CUBE_MAP_ARRAY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_SAMPLER_CUBE_MAP_ARRAY :: GLenum
    GL_INT_SAMPLER_CUBE_MAP_ARRAY = 0x900E :: GLenum

    pattern $mGL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB :: GLenum
    GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB = 0x900E :: GLenum

    pattern $mGL_INT_SAMPLER_CUBE_MAP_ARRAY_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_SAMPLER_CUBE_MAP_ARRAY_EXT :: GLenum
    GL_INT_SAMPLER_CUBE_MAP_ARRAY_EXT = 0x900E :: GLenum

    pattern $mGL_INT_SAMPLER_CUBE_MAP_ARRAY_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_SAMPLER_CUBE_MAP_ARRAY_OES :: GLenum
    GL_INT_SAMPLER_CUBE_MAP_ARRAY_OES = 0x900E :: GLenum

    pattern $mGL_INT_SAMPLER_RENDERBUFFER_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_SAMPLER_RENDERBUFFER_NV :: GLenum
    GL_INT_SAMPLER_RENDERBUFFER_NV = 0x8E57 :: GLenum

    pattern $mGL_INT_VEC2 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_VEC2 :: GLenum
    GL_INT_VEC2 = 0x8B53 :: GLenum

    pattern $mGL_INT_VEC2_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_VEC2_ARB :: GLenum
    GL_INT_VEC2_ARB = 0x8B53 :: GLenum

    pattern $mGL_INT_VEC3 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_VEC3 :: GLenum
    GL_INT_VEC3 = 0x8B54 :: GLenum

    pattern $mGL_INT_VEC3_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_VEC3_ARB :: GLenum
    GL_INT_VEC3_ARB = 0x8B54 :: GLenum

    pattern $mGL_INT_VEC4 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_VEC4 :: GLenum
    GL_INT_VEC4 = 0x8B55 :: GLenum

    pattern $mGL_INT_VEC4_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INT_VEC4_ARB :: GLenum
    GL_INT_VEC4_ARB = 0x8B55 :: GLenum

    pattern $mGL_INVALID_ENUM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INVALID_ENUM :: GLenum
    GL_INVALID_ENUM = 0x0500 :: GLenum

    pattern $mGL_INVALID_FRAMEBUFFER_OPERATION :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INVALID_FRAMEBUFFER_OPERATION :: GLenum
    GL_INVALID_FRAMEBUFFER_OPERATION = 0x0506 :: GLenum

    pattern $mGL_INVALID_FRAMEBUFFER_OPERATION_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INVALID_FRAMEBUFFER_OPERATION_EXT :: GLenum
    GL_INVALID_FRAMEBUFFER_OPERATION_EXT = 0x0506 :: GLenum

    pattern $mGL_INVALID_FRAMEBUFFER_OPERATION_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INVALID_FRAMEBUFFER_OPERATION_OES :: GLenum
    GL_INVALID_FRAMEBUFFER_OPERATION_OES = 0x0506 :: GLenum

    pattern $mGL_INVALID_INDEX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INVALID_INDEX :: GLenum
    GL_INVALID_INDEX = 0xFFFFFFFF :: GLuint

    pattern $mGL_INVALID_OPERATION :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INVALID_OPERATION :: GLenum
    GL_INVALID_OPERATION = 0x0502 :: GLenum

    pattern $mGL_INVALID_VALUE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INVALID_VALUE :: GLenum
    GL_INVALID_VALUE = 0x0501 :: GLenum

    pattern $mGL_INVARIANT_DATATYPE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INVARIANT_DATATYPE_EXT :: GLenum
    GL_INVARIANT_DATATYPE_EXT = 0x87EB :: GLenum

    pattern $mGL_INVARIANT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INVARIANT_EXT :: GLenum
    GL_INVARIANT_EXT = 0x87C2 :: GLenum

    pattern $mGL_INVARIANT_VALUE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INVARIANT_VALUE_EXT :: GLenum
    GL_INVARIANT_VALUE_EXT = 0x87EA :: GLenum

    pattern $mGL_INVERSE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INVERSE_NV :: GLenum
    GL_INVERSE_NV = 0x862B :: GLenum

    pattern $mGL_INVERSE_TRANSPOSE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INVERSE_TRANSPOSE_NV :: GLenum
    GL_INVERSE_TRANSPOSE_NV = 0x862D :: GLenum

    pattern $mGL_INVERT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INVERT :: GLenum
    GL_INVERT = 0x150A :: GLenum

    pattern $mGL_INVERTED_SCREEN_W_REND :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INVERTED_SCREEN_W_REND :: GLenum
    GL_INVERTED_SCREEN_W_REND = 0x8491 :: GLenum

    pattern $mGL_INVERT_OVG_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INVERT_OVG_NV :: GLenum
    GL_INVERT_OVG_NV = 0x92B4 :: GLenum

    pattern $mGL_INVERT_RGB_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_INVERT_RGB_NV :: GLenum
    GL_INVERT_RGB_NV = 0x92A3 :: GLenum

    pattern $mGL_IR_INSTRUMENT1_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IR_INSTRUMENT1_SGIX :: GLenum
    GL_IR_INSTRUMENT1_SGIX = 0x817F :: GLenum

    pattern $mGL_ISOLINES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ISOLINES :: GLenum
    GL_ISOLINES = 0x8E7A :: GLenum

    pattern $mGL_ISOLINES_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ISOLINES_EXT :: GLenum
    GL_ISOLINES_EXT = 0x8E7A :: GLenum

    pattern $mGL_ISOLINES_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ISOLINES_OES :: GLenum
    GL_ISOLINES_OES = 0x8E7A :: GLenum

    pattern $mGL_IS_PER_PATCH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IS_PER_PATCH :: GLenum
    GL_IS_PER_PATCH = 0x92E7 :: GLenum

    pattern $mGL_IS_PER_PATCH_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IS_PER_PATCH_EXT :: GLenum
    GL_IS_PER_PATCH_EXT = 0x92E7 :: GLenum

    pattern $mGL_IS_PER_PATCH_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IS_PER_PATCH_OES :: GLenum
    GL_IS_PER_PATCH_OES = 0x92E7 :: GLenum

    pattern $mGL_IS_ROW_MAJOR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IS_ROW_MAJOR :: GLenum
    GL_IS_ROW_MAJOR = 0x9300 :: GLenum

    pattern $mGL_ITALIC_BIT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ITALIC_BIT_NV :: GLenum
    GL_ITALIC_BIT_NV = 0x02 :: GLbitfield

    pattern $mGL_IUI_N3F_V2F_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IUI_N3F_V2F_EXT :: GLenum
    GL_IUI_N3F_V2F_EXT = 0x81AF :: GLenum

    pattern $mGL_IUI_N3F_V3F_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IUI_N3F_V3F_EXT :: GLenum
    GL_IUI_N3F_V3F_EXT = 0x81B0 :: GLenum

    pattern $mGL_IUI_V2F_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IUI_V2F_EXT :: GLenum
    GL_IUI_V2F_EXT = 0x81AD :: GLenum

    pattern $mGL_IUI_V3F_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_IUI_V3F_EXT :: GLenum
    GL_IUI_V3F_EXT = 0x81AE :: GLenum

    pattern $mGL_KEEP :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_KEEP :: GLenum
    GL_KEEP = 0x1E00 :: GLenum

    pattern $mGL_LARGE_CCW_ARC_TO_NV :: forall {r}. GLubyte -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LARGE_CCW_ARC_TO_NV :: GLubyte
    GL_LARGE_CCW_ARC_TO_NV = 0x16 :: GLubyte

    pattern $mGL_LARGE_CW_ARC_TO_NV :: forall {r}. GLubyte -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LARGE_CW_ARC_TO_NV :: GLubyte
    GL_LARGE_CW_ARC_TO_NV = 0x18 :: GLubyte

    pattern $mGL_LAST_VERTEX_CONVENTION :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LAST_VERTEX_CONVENTION :: GLenum
    GL_LAST_VERTEX_CONVENTION = 0x8E4E :: GLenum

    pattern $mGL_LAST_VERTEX_CONVENTION_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LAST_VERTEX_CONVENTION_EXT :: GLenum
    GL_LAST_VERTEX_CONVENTION_EXT = 0x8E4E :: GLenum

    pattern $mGL_LAST_VERTEX_CONVENTION_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LAST_VERTEX_CONVENTION_OES :: GLenum
    GL_LAST_VERTEX_CONVENTION_OES = 0x8E4E :: GLenum

    pattern $mGL_LAST_VIDEO_CAPTURE_STATUS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LAST_VIDEO_CAPTURE_STATUS_NV :: GLenum
    GL_LAST_VIDEO_CAPTURE_STATUS_NV = 0x9027 :: GLenum

    pattern $mGL_LAYER_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LAYER_NV :: GLenum
    GL_LAYER_NV = 0x8DAA :: GLenum

    pattern $mGL_LAYER_PROVOKING_VERTEX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LAYER_PROVOKING_VERTEX :: GLenum
    GL_LAYER_PROVOKING_VERTEX = 0x825E :: GLenum

    pattern $mGL_LAYER_PROVOKING_VERTEX_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LAYER_PROVOKING_VERTEX_EXT :: GLenum
    GL_LAYER_PROVOKING_VERTEX_EXT = 0x825E :: GLenum

    pattern $mGL_LAYER_PROVOKING_VERTEX_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LAYER_PROVOKING_VERTEX_OES :: GLenum
    GL_LAYER_PROVOKING_VERTEX_OES = 0x825E :: GLenum

    pattern $mGL_LAYOUT_COLOR_ATTACHMENT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LAYOUT_COLOR_ATTACHMENT_EXT :: GLenum
    GL_LAYOUT_COLOR_ATTACHMENT_EXT = 0x958E :: GLenum

    pattern $mGL_LAYOUT_DEFAULT_INTEL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LAYOUT_DEFAULT_INTEL :: GLenum
    GL_LAYOUT_DEFAULT_INTEL = 0 :: GLenum

    pattern $mGL_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_EXT :: GLenum
    GL_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_EXT = 0x9531 :: GLenum

    pattern $mGL_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_EXT :: GLenum
    GL_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_EXT = 0x9530 :: GLenum

    pattern $mGL_LAYOUT_DEPTH_STENCIL_ATTACHMENT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LAYOUT_DEPTH_STENCIL_ATTACHMENT_EXT :: GLenum
    GL_LAYOUT_DEPTH_STENCIL_ATTACHMENT_EXT = 0x958F :: GLenum

    pattern $mGL_LAYOUT_DEPTH_STENCIL_READ_ONLY_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LAYOUT_DEPTH_STENCIL_READ_ONLY_EXT :: GLenum
    GL_LAYOUT_DEPTH_STENCIL_READ_ONLY_EXT = 0x9590 :: GLenum

    pattern $mGL_LAYOUT_GENERAL_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LAYOUT_GENERAL_EXT :: GLenum
    GL_LAYOUT_GENERAL_EXT = 0x958D :: GLenum

    pattern $mGL_LAYOUT_LINEAR_CPU_CACHED_INTEL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LAYOUT_LINEAR_CPU_CACHED_INTEL :: GLenum
    GL_LAYOUT_LINEAR_CPU_CACHED_INTEL = 2 :: GLenum

    pattern $mGL_LAYOUT_LINEAR_INTEL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LAYOUT_LINEAR_INTEL :: GLenum
    GL_LAYOUT_LINEAR_INTEL = 1 :: GLenum

    pattern $mGL_LAYOUT_SHADER_READ_ONLY_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LAYOUT_SHADER_READ_ONLY_EXT :: GLenum
    GL_LAYOUT_SHADER_READ_ONLY_EXT = 0x9591 :: GLenum

    pattern $mGL_LAYOUT_TRANSFER_DST_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LAYOUT_TRANSFER_DST_EXT :: GLenum
    GL_LAYOUT_TRANSFER_DST_EXT = 0x9593 :: GLenum

    pattern $mGL_LAYOUT_TRANSFER_SRC_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LAYOUT_TRANSFER_SRC_EXT :: GLenum
    GL_LAYOUT_TRANSFER_SRC_EXT = 0x9592 :: GLenum

    pattern $mGL_LEFT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LEFT :: GLenum
    GL_LEFT = 0x0406 :: GLenum

    pattern $mGL_LEQUAL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LEQUAL :: GLenum
    GL_LEQUAL = 0x0203 :: GLenum

    pattern $mGL_LERP_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LERP_ATI :: GLenum
    GL_LERP_ATI = 0x8969 :: GLenum

    pattern $mGL_LESS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LESS :: GLenum
    GL_LESS = 0x0201 :: GLenum

    pattern $mGL_LGPU_SEPARATE_STORAGE_BIT_NVX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LGPU_SEPARATE_STORAGE_BIT_NVX :: GLenum
    GL_LGPU_SEPARATE_STORAGE_BIT_NVX = 0x0800 :: GLbitfield

    pattern $mGL_LIGHT0 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LIGHT0 :: GLenum
    GL_LIGHT0 = 0x4000 :: GLenum

    pattern $mGL_LIGHT1 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LIGHT1 :: GLenum
    GL_LIGHT1 = 0x4001 :: GLenum

    pattern $mGL_LIGHT2 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LIGHT2 :: GLenum
    GL_LIGHT2 = 0x4002 :: GLenum

    pattern $mGL_LIGHT3 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LIGHT3 :: GLenum
    GL_LIGHT3 = 0x4003 :: GLenum

    pattern $mGL_LIGHT4 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LIGHT4 :: GLenum
    GL_LIGHT4 = 0x4004 :: GLenum

    pattern $mGL_LIGHT5 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LIGHT5 :: GLenum
    GL_LIGHT5 = 0x4005 :: GLenum

    pattern $mGL_LIGHT6 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LIGHT6 :: GLenum
    GL_LIGHT6 = 0x4006 :: GLenum

    pattern $mGL_LIGHT7 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LIGHT7 :: GLenum
    GL_LIGHT7 = 0x4007 :: GLenum

    pattern $mGL_LIGHTEN :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LIGHTEN :: GLenum
    GL_LIGHTEN = 0x9298 :: GLenum

    pattern $mGL_LIGHTEN_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LIGHTEN_KHR :: GLenum
    GL_LIGHTEN_KHR = 0x9298 :: GLenum

    pattern $mGL_LIGHTEN_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LIGHTEN_NV :: GLenum
    GL_LIGHTEN_NV = 0x9298 :: GLenum

    pattern $mGL_LIGHTING :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LIGHTING :: GLenum
    GL_LIGHTING = 0x0B50 :: GLenum

    pattern $mGL_LIGHTING_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LIGHTING_BIT :: GLenum
    GL_LIGHTING_BIT = 0x00000040 :: GLbitfield

    pattern $mGL_LIGHT_ENV_MODE_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LIGHT_ENV_MODE_SGIX :: GLenum
    GL_LIGHT_ENV_MODE_SGIX = 0x8407 :: GLenum

    pattern $mGL_LIGHT_MODEL_AMBIENT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LIGHT_MODEL_AMBIENT :: GLenum
    GL_LIGHT_MODEL_AMBIENT = 0x0B53 :: GLenum

    pattern $mGL_LIGHT_MODEL_COLOR_CONTROL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LIGHT_MODEL_COLOR_CONTROL :: GLenum
    GL_LIGHT_MODEL_COLOR_CONTROL = 0x81F8 :: GLenum

    pattern $mGL_LIGHT_MODEL_COLOR_CONTROL_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LIGHT_MODEL_COLOR_CONTROL_EXT :: GLenum
    GL_LIGHT_MODEL_COLOR_CONTROL_EXT = 0x81F8 :: GLenum

    pattern $mGL_LIGHT_MODEL_LOCAL_VIEWER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LIGHT_MODEL_LOCAL_VIEWER :: GLenum
    GL_LIGHT_MODEL_LOCAL_VIEWER = 0x0B51 :: GLenum

    pattern $mGL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE :: GLenum
    GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE = 0x85B0 :: GLenum

    pattern $mGL_LIGHT_MODEL_TWO_SIDE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LIGHT_MODEL_TWO_SIDE :: GLenum
    GL_LIGHT_MODEL_TWO_SIDE = 0x0B52 :: GLenum

    pattern $mGL_LINE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LINE :: GLenum
    GL_LINE = 0x1B01 :: GLenum

    pattern $mGL_LINEAR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LINEAR :: GLenum
    GL_LINEAR = 0x2601 :: GLenum

    pattern $mGL_LINEARBURN_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LINEARBURN_NV :: GLenum
    GL_LINEARBURN_NV = 0x92A5 :: GLenum

    pattern $mGL_LINEARDODGE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LINEARDODGE_NV :: GLenum
    GL_LINEARDODGE_NV = 0x92A4 :: GLenum

    pattern $mGL_LINEARLIGHT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LINEARLIGHT_NV :: GLenum
    GL_LINEARLIGHT_NV = 0x92A7 :: GLenum

    pattern $mGL_LINEAR_ATTENUATION :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LINEAR_ATTENUATION :: GLenum
    GL_LINEAR_ATTENUATION = 0x1208 :: GLenum

    pattern $mGL_LINEAR_CLIPMAP_LINEAR_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LINEAR_CLIPMAP_LINEAR_SGIX :: GLenum
    GL_LINEAR_CLIPMAP_LINEAR_SGIX = 0x8170 :: GLenum

    pattern $mGL_LINEAR_CLIPMAP_NEAREST_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LINEAR_CLIPMAP_NEAREST_SGIX :: GLenum
    GL_LINEAR_CLIPMAP_NEAREST_SGIX = 0x844F :: GLenum

    pattern $mGL_LINEAR_DETAIL_ALPHA_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LINEAR_DETAIL_ALPHA_SGIS :: GLenum
    GL_LINEAR_DETAIL_ALPHA_SGIS = 0x8098 :: GLenum

    pattern $mGL_LINEAR_DETAIL_COLOR_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LINEAR_DETAIL_COLOR_SGIS :: GLenum
    GL_LINEAR_DETAIL_COLOR_SGIS = 0x8099 :: GLenum

    pattern $mGL_LINEAR_DETAIL_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LINEAR_DETAIL_SGIS :: GLenum
    GL_LINEAR_DETAIL_SGIS = 0x8097 :: GLenum

    pattern $mGL_LINEAR_MIPMAP_LINEAR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LINEAR_MIPMAP_LINEAR :: GLenum
    GL_LINEAR_MIPMAP_LINEAR = 0x2703 :: GLenum

    pattern $mGL_LINEAR_MIPMAP_NEAREST :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LINEAR_MIPMAP_NEAREST :: GLenum
    GL_LINEAR_MIPMAP_NEAREST = 0x2701 :: GLenum

    pattern $mGL_LINEAR_SHARPEN_ALPHA_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LINEAR_SHARPEN_ALPHA_SGIS :: GLenum
    GL_LINEAR_SHARPEN_ALPHA_SGIS = 0x80AE :: GLenum

    pattern $mGL_LINEAR_SHARPEN_COLOR_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LINEAR_SHARPEN_COLOR_SGIS :: GLenum
    GL_LINEAR_SHARPEN_COLOR_SGIS = 0x80AF :: GLenum

    pattern $mGL_LINEAR_SHARPEN_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LINEAR_SHARPEN_SGIS :: GLenum
    GL_LINEAR_SHARPEN_SGIS = 0x80AD :: GLenum

    pattern $mGL_LINEAR_TILING_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LINEAR_TILING_EXT :: GLenum
    GL_LINEAR_TILING_EXT = 0x9585 :: GLenum

    pattern $mGL_LINES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LINES :: GLenum
    GL_LINES = 0x0001 :: GLenum

    pattern $mGL_LINES_ADJACENCY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LINES_ADJACENCY :: GLenum
    GL_LINES_ADJACENCY = 0x000A :: GLenum

    pattern $mGL_LINES_ADJACENCY_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LINES_ADJACENCY_ARB :: GLenum
    GL_LINES_ADJACENCY_ARB = 0x000A :: GLenum

    pattern $mGL_LINES_ADJACENCY_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LINES_ADJACENCY_EXT :: GLenum
    GL_LINES_ADJACENCY_EXT = 0x000A :: GLenum

    pattern $mGL_LINES_ADJACENCY_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LINES_ADJACENCY_OES :: GLenum
    GL_LINES_ADJACENCY_OES = 0x000A :: GLenum

    pattern $mGL_LINE_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LINE_BIT :: GLenum
    GL_LINE_BIT = 0x00000004 :: GLbitfield

    pattern $mGL_LINE_LOOP :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LINE_LOOP :: GLenum
    GL_LINE_LOOP = 0x0002 :: GLenum

    pattern $mGL_LINE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LINE_NV :: GLenum
    GL_LINE_NV = 0x1B01 :: GLenum

    pattern $mGL_LINE_QUALITY_HINT_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LINE_QUALITY_HINT_SGIX :: GLenum
    GL_LINE_QUALITY_HINT_SGIX = 0x835B :: GLenum

    pattern $mGL_LINE_RESET_TOKEN :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LINE_RESET_TOKEN :: GLenum
    GL_LINE_RESET_TOKEN = 0x0707 :: GLenum

    pattern $mGL_LINE_SMOOTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LINE_SMOOTH :: GLenum
    GL_LINE_SMOOTH = 0x0B20 :: GLenum

    pattern $mGL_LINE_SMOOTH_HINT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LINE_SMOOTH_HINT :: GLenum
    GL_LINE_SMOOTH_HINT = 0x0C52 :: GLenum

    pattern $mGL_LINE_STIPPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LINE_STIPPLE :: GLenum
    GL_LINE_STIPPLE = 0x0B24 :: GLenum

    pattern $mGL_LINE_STIPPLE_PATTERN :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LINE_STIPPLE_PATTERN :: GLenum
    GL_LINE_STIPPLE_PATTERN = 0x0B25 :: GLenum

    pattern $mGL_LINE_STIPPLE_REPEAT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LINE_STIPPLE_REPEAT :: GLenum
    GL_LINE_STIPPLE_REPEAT = 0x0B26 :: GLenum

    pattern $mGL_LINE_STRIP :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LINE_STRIP :: GLenum
    GL_LINE_STRIP = 0x0003 :: GLenum

    pattern $mGL_LINE_STRIP_ADJACENCY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LINE_STRIP_ADJACENCY :: GLenum
    GL_LINE_STRIP_ADJACENCY = 0x000B :: GLenum

    pattern $mGL_LINE_STRIP_ADJACENCY_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LINE_STRIP_ADJACENCY_ARB :: GLenum
    GL_LINE_STRIP_ADJACENCY_ARB = 0x000B :: GLenum

    pattern $mGL_LINE_STRIP_ADJACENCY_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LINE_STRIP_ADJACENCY_EXT :: GLenum
    GL_LINE_STRIP_ADJACENCY_EXT = 0x000B :: GLenum

    pattern $mGL_LINE_STRIP_ADJACENCY_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LINE_STRIP_ADJACENCY_OES :: GLenum
    GL_LINE_STRIP_ADJACENCY_OES = 0x000B :: GLenum

    pattern $mGL_LINE_TOKEN :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LINE_TOKEN :: GLenum
    GL_LINE_TOKEN = 0x0702 :: GLenum

    pattern $mGL_LINE_TO_NV :: forall {r}. GLubyte -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LINE_TO_NV :: GLubyte
    GL_LINE_TO_NV = 0x04 :: GLubyte

    pattern $mGL_LINE_WIDTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LINE_WIDTH :: GLenum
    GL_LINE_WIDTH = 0x0B21 :: GLenum

    pattern $mGL_LINE_WIDTH_COMMAND_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LINE_WIDTH_COMMAND_NV :: GLenum
    GL_LINE_WIDTH_COMMAND_NV = 0x000D :: GLenum

    pattern $mGL_LINE_WIDTH_GRANULARITY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LINE_WIDTH_GRANULARITY :: GLenum
    GL_LINE_WIDTH_GRANULARITY = 0x0B23 :: GLenum

    pattern $mGL_LINE_WIDTH_RANGE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LINE_WIDTH_RANGE :: GLenum
    GL_LINE_WIDTH_RANGE = 0x0B22 :: GLenum

    pattern $mGL_LINK_STATUS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LINK_STATUS :: GLenum
    GL_LINK_STATUS = 0x8B82 :: GLenum

    pattern $mGL_LIST_BASE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LIST_BASE :: GLenum
    GL_LIST_BASE = 0x0B32 :: GLenum

    pattern $mGL_LIST_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LIST_BIT :: GLenum
    GL_LIST_BIT = 0x00020000 :: GLbitfield

    pattern $mGL_LIST_INDEX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LIST_INDEX :: GLenum
    GL_LIST_INDEX = 0x0B33 :: GLenum

    pattern $mGL_LIST_MODE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LIST_MODE :: GLenum
    GL_LIST_MODE = 0x0B30 :: GLenum

    pattern $mGL_LIST_PRIORITY_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LIST_PRIORITY_SGIX :: GLenum
    GL_LIST_PRIORITY_SGIX = 0x8182 :: GLenum

    pattern $mGL_LOAD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LOAD :: GLenum
    GL_LOAD = 0x0101 :: GLenum

    pattern $mGL_LOCAL_CONSTANT_DATATYPE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LOCAL_CONSTANT_DATATYPE_EXT :: GLenum
    GL_LOCAL_CONSTANT_DATATYPE_EXT = 0x87ED :: GLenum

    pattern $mGL_LOCAL_CONSTANT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LOCAL_CONSTANT_EXT :: GLenum
    GL_LOCAL_CONSTANT_EXT = 0x87C3 :: GLenum

    pattern $mGL_LOCAL_CONSTANT_VALUE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LOCAL_CONSTANT_VALUE_EXT :: GLenum
    GL_LOCAL_CONSTANT_VALUE_EXT = 0x87EC :: GLenum

    pattern $mGL_LOCAL_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LOCAL_EXT :: GLenum
    GL_LOCAL_EXT = 0x87C4 :: GLenum

    pattern $mGL_LOCATION :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LOCATION :: GLenum
    GL_LOCATION = 0x930E :: GLenum

    pattern $mGL_LOCATION_COMPONENT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LOCATION_COMPONENT :: GLenum
    GL_LOCATION_COMPONENT = 0x934A :: GLenum

    pattern $mGL_LOCATION_INDEX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LOCATION_INDEX :: GLenum
    GL_LOCATION_INDEX = 0x930F :: GLenum

    pattern $mGL_LOCATION_INDEX_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LOCATION_INDEX_EXT :: GLenum
    GL_LOCATION_INDEX_EXT = 0x930F :: GLenum

    pattern $mGL_LOGIC_OP :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LOGIC_OP :: GLenum
    GL_LOGIC_OP = 0x0BF1 :: GLenum

    pattern $mGL_LOGIC_OP_MODE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LOGIC_OP_MODE :: GLenum
    GL_LOGIC_OP_MODE = 0x0BF0 :: GLenum

    pattern $mGL_LOSE_CONTEXT_ON_RESET :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LOSE_CONTEXT_ON_RESET :: GLenum
    GL_LOSE_CONTEXT_ON_RESET = 0x8252 :: GLenum

    pattern $mGL_LOSE_CONTEXT_ON_RESET_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LOSE_CONTEXT_ON_RESET_ARB :: GLenum
    GL_LOSE_CONTEXT_ON_RESET_ARB = 0x8252 :: GLenum

    pattern $mGL_LOSE_CONTEXT_ON_RESET_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LOSE_CONTEXT_ON_RESET_EXT :: GLenum
    GL_LOSE_CONTEXT_ON_RESET_EXT = 0x8252 :: GLenum

    pattern $mGL_LOSE_CONTEXT_ON_RESET_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LOSE_CONTEXT_ON_RESET_KHR :: GLenum
    GL_LOSE_CONTEXT_ON_RESET_KHR = 0x8252 :: GLenum

    pattern $mGL_LOWER_LEFT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LOWER_LEFT :: GLenum
    GL_LOWER_LEFT = 0x8CA1 :: GLenum

    pattern $mGL_LOWER_LEFT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LOWER_LEFT_EXT :: GLenum
    GL_LOWER_LEFT_EXT = 0x8CA1 :: GLenum

    pattern $mGL_LOW_FLOAT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LOW_FLOAT :: GLenum
    GL_LOW_FLOAT = 0x8DF0 :: GLenum

    pattern $mGL_LOW_INT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LOW_INT :: GLenum
    GL_LOW_INT = 0x8DF3 :: GLenum

    pattern $mGL_LO_BIAS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LO_BIAS_NV :: GLenum
    GL_LO_BIAS_NV = 0x8715 :: GLenum

    pattern $mGL_LO_SCALE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LO_SCALE_NV :: GLenum
    GL_LO_SCALE_NV = 0x870F :: GLenum

    pattern $mGL_LUID_SIZE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUID_SIZE_EXT :: GLenum
    GL_LUID_SIZE_EXT = 8 :: GLenum

    pattern $mGL_LUMINANCE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE :: GLenum
    GL_LUMINANCE = 0x1909 :: GLenum

    pattern $mGL_LUMINANCE12 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE12 :: GLenum
    GL_LUMINANCE12 = 0x8041 :: GLenum

    pattern $mGL_LUMINANCE12_ALPHA12 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE12_ALPHA12 :: GLenum
    GL_LUMINANCE12_ALPHA12 = 0x8047 :: GLenum

    pattern $mGL_LUMINANCE12_ALPHA12_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE12_ALPHA12_EXT :: GLenum
    GL_LUMINANCE12_ALPHA12_EXT = 0x8047 :: GLenum

    pattern $mGL_LUMINANCE12_ALPHA4 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE12_ALPHA4 :: GLenum
    GL_LUMINANCE12_ALPHA4 = 0x8046 :: GLenum

    pattern $mGL_LUMINANCE12_ALPHA4_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE12_ALPHA4_EXT :: GLenum
    GL_LUMINANCE12_ALPHA4_EXT = 0x8046 :: GLenum

    pattern $mGL_LUMINANCE12_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE12_EXT :: GLenum
    GL_LUMINANCE12_EXT = 0x8041 :: GLenum

    pattern $mGL_LUMINANCE16 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE16 :: GLenum
    GL_LUMINANCE16 = 0x8042 :: GLenum

    pattern $mGL_LUMINANCE16F_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE16F_ARB :: GLenum
    GL_LUMINANCE16F_ARB = 0x881E :: GLenum

    pattern $mGL_LUMINANCE16F_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE16F_EXT :: GLenum
    GL_LUMINANCE16F_EXT = 0x881E :: GLenum

    pattern $mGL_LUMINANCE16I_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE16I_EXT :: GLenum
    GL_LUMINANCE16I_EXT = 0x8D8C :: GLenum

    pattern $mGL_LUMINANCE16UI_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE16UI_EXT :: GLenum
    GL_LUMINANCE16UI_EXT = 0x8D7A :: GLenum

    pattern $mGL_LUMINANCE16_ALPHA16 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE16_ALPHA16 :: GLenum
    GL_LUMINANCE16_ALPHA16 = 0x8048 :: GLenum

    pattern $mGL_LUMINANCE16_ALPHA16_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE16_ALPHA16_EXT :: GLenum
    GL_LUMINANCE16_ALPHA16_EXT = 0x8048 :: GLenum

    pattern $mGL_LUMINANCE16_ALPHA16_SNORM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE16_ALPHA16_SNORM :: GLenum
    GL_LUMINANCE16_ALPHA16_SNORM = 0x901A :: GLenum

    pattern $mGL_LUMINANCE16_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE16_EXT :: GLenum
    GL_LUMINANCE16_EXT = 0x8042 :: GLenum

    pattern $mGL_LUMINANCE16_SNORM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE16_SNORM :: GLenum
    GL_LUMINANCE16_SNORM = 0x9019 :: GLenum

    pattern $mGL_LUMINANCE32F_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE32F_ARB :: GLenum
    GL_LUMINANCE32F_ARB = 0x8818 :: GLenum

    pattern $mGL_LUMINANCE32F_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE32F_EXT :: GLenum
    GL_LUMINANCE32F_EXT = 0x8818 :: GLenum

    pattern $mGL_LUMINANCE32I_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE32I_EXT :: GLenum
    GL_LUMINANCE32I_EXT = 0x8D86 :: GLenum

    pattern $mGL_LUMINANCE32UI_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE32UI_EXT :: GLenum
    GL_LUMINANCE32UI_EXT = 0x8D74 :: GLenum

    pattern $mGL_LUMINANCE4 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE4 :: GLenum
    GL_LUMINANCE4 = 0x803F :: GLenum

    pattern $mGL_LUMINANCE4_ALPHA4 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE4_ALPHA4 :: GLenum
    GL_LUMINANCE4_ALPHA4 = 0x8043 :: GLenum

    pattern $mGL_LUMINANCE4_ALPHA4_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE4_ALPHA4_EXT :: GLenum
    GL_LUMINANCE4_ALPHA4_EXT = 0x8043 :: GLenum

    pattern $mGL_LUMINANCE4_ALPHA4_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE4_ALPHA4_OES :: GLenum
    GL_LUMINANCE4_ALPHA4_OES = 0x8043 :: GLenum

    pattern $mGL_LUMINANCE4_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE4_EXT :: GLenum
    GL_LUMINANCE4_EXT = 0x803F :: GLenum

    pattern $mGL_LUMINANCE6_ALPHA2 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE6_ALPHA2 :: GLenum
    GL_LUMINANCE6_ALPHA2 = 0x8044 :: GLenum

    pattern $mGL_LUMINANCE6_ALPHA2_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE6_ALPHA2_EXT :: GLenum
    GL_LUMINANCE6_ALPHA2_EXT = 0x8044 :: GLenum

    pattern $mGL_LUMINANCE8 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE8 :: GLenum
    GL_LUMINANCE8 = 0x8040 :: GLenum

    pattern $mGL_LUMINANCE8I_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE8I_EXT :: GLenum
    GL_LUMINANCE8I_EXT = 0x8D92 :: GLenum

    pattern $mGL_LUMINANCE8UI_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE8UI_EXT :: GLenum
    GL_LUMINANCE8UI_EXT = 0x8D80 :: GLenum

    pattern $mGL_LUMINANCE8_ALPHA8 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE8_ALPHA8 :: GLenum
    GL_LUMINANCE8_ALPHA8 = 0x8045 :: GLenum

    pattern $mGL_LUMINANCE8_ALPHA8_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE8_ALPHA8_EXT :: GLenum
    GL_LUMINANCE8_ALPHA8_EXT = 0x8045 :: GLenum

    pattern $mGL_LUMINANCE8_ALPHA8_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE8_ALPHA8_OES :: GLenum
    GL_LUMINANCE8_ALPHA8_OES = 0x8045 :: GLenum

    pattern $mGL_LUMINANCE8_ALPHA8_SNORM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE8_ALPHA8_SNORM :: GLenum
    GL_LUMINANCE8_ALPHA8_SNORM = 0x9016 :: GLenum

    pattern $mGL_LUMINANCE8_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE8_EXT :: GLenum
    GL_LUMINANCE8_EXT = 0x8040 :: GLenum

    pattern $mGL_LUMINANCE8_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE8_OES :: GLenum
    GL_LUMINANCE8_OES = 0x8040 :: GLenum

    pattern $mGL_LUMINANCE8_SNORM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE8_SNORM :: GLenum
    GL_LUMINANCE8_SNORM = 0x9015 :: GLenum

    pattern $mGL_LUMINANCE_ALPHA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE_ALPHA :: GLenum
    GL_LUMINANCE_ALPHA = 0x190A :: GLenum

    pattern $mGL_LUMINANCE_ALPHA16F_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE_ALPHA16F_ARB :: GLenum
    GL_LUMINANCE_ALPHA16F_ARB = 0x881F :: GLenum

    pattern $mGL_LUMINANCE_ALPHA16F_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE_ALPHA16F_EXT :: GLenum
    GL_LUMINANCE_ALPHA16F_EXT = 0x881F :: GLenum

    pattern $mGL_LUMINANCE_ALPHA16I_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE_ALPHA16I_EXT :: GLenum
    GL_LUMINANCE_ALPHA16I_EXT = 0x8D8D :: GLenum

    pattern $mGL_LUMINANCE_ALPHA16UI_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE_ALPHA16UI_EXT :: GLenum
    GL_LUMINANCE_ALPHA16UI_EXT = 0x8D7B :: GLenum

    pattern $mGL_LUMINANCE_ALPHA32F_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE_ALPHA32F_ARB :: GLenum
    GL_LUMINANCE_ALPHA32F_ARB = 0x8819 :: GLenum

    pattern $mGL_LUMINANCE_ALPHA32F_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE_ALPHA32F_EXT :: GLenum
    GL_LUMINANCE_ALPHA32F_EXT = 0x8819 :: GLenum

    pattern $mGL_LUMINANCE_ALPHA32I_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE_ALPHA32I_EXT :: GLenum
    GL_LUMINANCE_ALPHA32I_EXT = 0x8D87 :: GLenum

    pattern $mGL_LUMINANCE_ALPHA32UI_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE_ALPHA32UI_EXT :: GLenum
    GL_LUMINANCE_ALPHA32UI_EXT = 0x8D75 :: GLenum

    pattern $mGL_LUMINANCE_ALPHA8I_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE_ALPHA8I_EXT :: GLenum
    GL_LUMINANCE_ALPHA8I_EXT = 0x8D93 :: GLenum

    pattern $mGL_LUMINANCE_ALPHA8UI_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE_ALPHA8UI_EXT :: GLenum
    GL_LUMINANCE_ALPHA8UI_EXT = 0x8D81 :: GLenum

    pattern $mGL_LUMINANCE_ALPHA_FLOAT16_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE_ALPHA_FLOAT16_APPLE :: GLenum
    GL_LUMINANCE_ALPHA_FLOAT16_APPLE = 0x881F :: GLenum

    pattern $mGL_LUMINANCE_ALPHA_FLOAT16_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE_ALPHA_FLOAT16_ATI :: GLenum
    GL_LUMINANCE_ALPHA_FLOAT16_ATI = 0x881F :: GLenum

    pattern $mGL_LUMINANCE_ALPHA_FLOAT32_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE_ALPHA_FLOAT32_APPLE :: GLenum
    GL_LUMINANCE_ALPHA_FLOAT32_APPLE = 0x8819 :: GLenum

    pattern $mGL_LUMINANCE_ALPHA_FLOAT32_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE_ALPHA_FLOAT32_ATI :: GLenum
    GL_LUMINANCE_ALPHA_FLOAT32_ATI = 0x8819 :: GLenum

    pattern $mGL_LUMINANCE_ALPHA_INTEGER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE_ALPHA_INTEGER_EXT :: GLenum
    GL_LUMINANCE_ALPHA_INTEGER_EXT = 0x8D9D :: GLenum

    pattern $mGL_LUMINANCE_ALPHA_SNORM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE_ALPHA_SNORM :: GLenum
    GL_LUMINANCE_ALPHA_SNORM = 0x9012 :: GLenum

    pattern $mGL_LUMINANCE_FLOAT16_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE_FLOAT16_APPLE :: GLenum
    GL_LUMINANCE_FLOAT16_APPLE = 0x881E :: GLenum

    pattern $mGL_LUMINANCE_FLOAT16_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE_FLOAT16_ATI :: GLenum
    GL_LUMINANCE_FLOAT16_ATI = 0x881E :: GLenum

    pattern $mGL_LUMINANCE_FLOAT32_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE_FLOAT32_APPLE :: GLenum
    GL_LUMINANCE_FLOAT32_APPLE = 0x8818 :: GLenum

    pattern $mGL_LUMINANCE_FLOAT32_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE_FLOAT32_ATI :: GLenum
    GL_LUMINANCE_FLOAT32_ATI = 0x8818 :: GLenum

    pattern $mGL_LUMINANCE_INTEGER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE_INTEGER_EXT :: GLenum
    GL_LUMINANCE_INTEGER_EXT = 0x8D9C :: GLenum

    pattern $mGL_LUMINANCE_SNORM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_LUMINANCE_SNORM :: GLenum
    GL_LUMINANCE_SNORM = 0x9011 :: GLenum

    pattern $mGL_MAD_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAD_ATI :: GLenum
    GL_MAD_ATI = 0x8968 :: GLenum

    pattern $mGL_MAGNITUDE_BIAS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAGNITUDE_BIAS_NV :: GLenum
    GL_MAGNITUDE_BIAS_NV = 0x8718 :: GLenum

    pattern $mGL_MAGNITUDE_SCALE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAGNITUDE_SCALE_NV :: GLenum
    GL_MAGNITUDE_SCALE_NV = 0x8712 :: GLenum

    pattern $mGL_MAJOR_VERSION :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAJOR_VERSION :: GLenum
    GL_MAJOR_VERSION = 0x821B :: GLenum

    pattern $mGL_MALI_PROGRAM_BINARY_ARM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MALI_PROGRAM_BINARY_ARM :: GLenum
    GL_MALI_PROGRAM_BINARY_ARM = 0x8F61 :: GLenum

    pattern $mGL_MALI_SHADER_BINARY_ARM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MALI_SHADER_BINARY_ARM :: GLenum
    GL_MALI_SHADER_BINARY_ARM = 0x8F60 :: GLenum

    pattern $mGL_MANUAL_GENERATE_MIPMAP :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MANUAL_GENERATE_MIPMAP :: GLenum
    GL_MANUAL_GENERATE_MIPMAP = 0x8294 :: GLenum

    pattern $mGL_MAP1_BINORMAL_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP1_BINORMAL_EXT :: GLenum
    GL_MAP1_BINORMAL_EXT = 0x8446 :: GLenum

    pattern $mGL_MAP1_COLOR_4 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP1_COLOR_4 :: GLenum
    GL_MAP1_COLOR_4 = 0x0D90 :: GLenum

    pattern $mGL_MAP1_GRID_DOMAIN :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP1_GRID_DOMAIN :: GLenum
    GL_MAP1_GRID_DOMAIN = 0x0DD0 :: GLenum

    pattern $mGL_MAP1_GRID_SEGMENTS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP1_GRID_SEGMENTS :: GLenum
    GL_MAP1_GRID_SEGMENTS = 0x0DD1 :: GLenum

    pattern $mGL_MAP1_INDEX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP1_INDEX :: GLenum
    GL_MAP1_INDEX = 0x0D91 :: GLenum

    pattern $mGL_MAP1_NORMAL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP1_NORMAL :: GLenum
    GL_MAP1_NORMAL = 0x0D92 :: GLenum

    pattern $mGL_MAP1_TANGENT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP1_TANGENT_EXT :: GLenum
    GL_MAP1_TANGENT_EXT = 0x8444 :: GLenum

    pattern $mGL_MAP1_TEXTURE_COORD_1 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP1_TEXTURE_COORD_1 :: GLenum
    GL_MAP1_TEXTURE_COORD_1 = 0x0D93 :: GLenum

    pattern $mGL_MAP1_TEXTURE_COORD_2 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP1_TEXTURE_COORD_2 :: GLenum
    GL_MAP1_TEXTURE_COORD_2 = 0x0D94 :: GLenum

    pattern $mGL_MAP1_TEXTURE_COORD_3 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP1_TEXTURE_COORD_3 :: GLenum
    GL_MAP1_TEXTURE_COORD_3 = 0x0D95 :: GLenum

    pattern $mGL_MAP1_TEXTURE_COORD_4 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP1_TEXTURE_COORD_4 :: GLenum
    GL_MAP1_TEXTURE_COORD_4 = 0x0D96 :: GLenum

    pattern $mGL_MAP1_VERTEX_3 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP1_VERTEX_3 :: GLenum
    GL_MAP1_VERTEX_3 = 0x0D97 :: GLenum

    pattern $mGL_MAP1_VERTEX_4 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP1_VERTEX_4 :: GLenum
    GL_MAP1_VERTEX_4 = 0x0D98 :: GLenum

    pattern $mGL_MAP1_VERTEX_ATTRIB0_4_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP1_VERTEX_ATTRIB0_4_NV :: GLenum
    GL_MAP1_VERTEX_ATTRIB0_4_NV = 0x8660 :: GLenum

    pattern $mGL_MAP1_VERTEX_ATTRIB10_4_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP1_VERTEX_ATTRIB10_4_NV :: GLenum
    GL_MAP1_VERTEX_ATTRIB10_4_NV = 0x866A :: GLenum

    pattern $mGL_MAP1_VERTEX_ATTRIB11_4_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP1_VERTEX_ATTRIB11_4_NV :: GLenum
    GL_MAP1_VERTEX_ATTRIB11_4_NV = 0x866B :: GLenum

    pattern $mGL_MAP1_VERTEX_ATTRIB12_4_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP1_VERTEX_ATTRIB12_4_NV :: GLenum
    GL_MAP1_VERTEX_ATTRIB12_4_NV = 0x866C :: GLenum

    pattern $mGL_MAP1_VERTEX_ATTRIB13_4_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP1_VERTEX_ATTRIB13_4_NV :: GLenum
    GL_MAP1_VERTEX_ATTRIB13_4_NV = 0x866D :: GLenum

    pattern $mGL_MAP1_VERTEX_ATTRIB14_4_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP1_VERTEX_ATTRIB14_4_NV :: GLenum
    GL_MAP1_VERTEX_ATTRIB14_4_NV = 0x866E :: GLenum

    pattern $mGL_MAP1_VERTEX_ATTRIB15_4_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP1_VERTEX_ATTRIB15_4_NV :: GLenum
    GL_MAP1_VERTEX_ATTRIB15_4_NV = 0x866F :: GLenum

    pattern $mGL_MAP1_VERTEX_ATTRIB1_4_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP1_VERTEX_ATTRIB1_4_NV :: GLenum
    GL_MAP1_VERTEX_ATTRIB1_4_NV = 0x8661 :: GLenum

    pattern $mGL_MAP1_VERTEX_ATTRIB2_4_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP1_VERTEX_ATTRIB2_4_NV :: GLenum
    GL_MAP1_VERTEX_ATTRIB2_4_NV = 0x8662 :: GLenum

    pattern $mGL_MAP1_VERTEX_ATTRIB3_4_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP1_VERTEX_ATTRIB3_4_NV :: GLenum
    GL_MAP1_VERTEX_ATTRIB3_4_NV = 0x8663 :: GLenum

    pattern $mGL_MAP1_VERTEX_ATTRIB4_4_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP1_VERTEX_ATTRIB4_4_NV :: GLenum
    GL_MAP1_VERTEX_ATTRIB4_4_NV = 0x8664 :: GLenum

    pattern $mGL_MAP1_VERTEX_ATTRIB5_4_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP1_VERTEX_ATTRIB5_4_NV :: GLenum
    GL_MAP1_VERTEX_ATTRIB5_4_NV = 0x8665 :: GLenum

    pattern $mGL_MAP1_VERTEX_ATTRIB6_4_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP1_VERTEX_ATTRIB6_4_NV :: GLenum
    GL_MAP1_VERTEX_ATTRIB6_4_NV = 0x8666 :: GLenum

    pattern $mGL_MAP1_VERTEX_ATTRIB7_4_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP1_VERTEX_ATTRIB7_4_NV :: GLenum
    GL_MAP1_VERTEX_ATTRIB7_4_NV = 0x8667 :: GLenum

    pattern $mGL_MAP1_VERTEX_ATTRIB8_4_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP1_VERTEX_ATTRIB8_4_NV :: GLenum
    GL_MAP1_VERTEX_ATTRIB8_4_NV = 0x8668 :: GLenum

    pattern $mGL_MAP1_VERTEX_ATTRIB9_4_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP1_VERTEX_ATTRIB9_4_NV :: GLenum
    GL_MAP1_VERTEX_ATTRIB9_4_NV = 0x8669 :: GLenum

    pattern $mGL_MAP2_BINORMAL_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP2_BINORMAL_EXT :: GLenum
    GL_MAP2_BINORMAL_EXT = 0x8447 :: GLenum

    pattern $mGL_MAP2_COLOR_4 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP2_COLOR_4 :: GLenum
    GL_MAP2_COLOR_4 = 0x0DB0 :: GLenum

    pattern $mGL_MAP2_GRID_DOMAIN :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP2_GRID_DOMAIN :: GLenum
    GL_MAP2_GRID_DOMAIN = 0x0DD2 :: GLenum

    pattern $mGL_MAP2_GRID_SEGMENTS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP2_GRID_SEGMENTS :: GLenum
    GL_MAP2_GRID_SEGMENTS = 0x0DD3 :: GLenum

    pattern $mGL_MAP2_INDEX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP2_INDEX :: GLenum
    GL_MAP2_INDEX = 0x0DB1 :: GLenum

    pattern $mGL_MAP2_NORMAL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP2_NORMAL :: GLenum
    GL_MAP2_NORMAL = 0x0DB2 :: GLenum

    pattern $mGL_MAP2_TANGENT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP2_TANGENT_EXT :: GLenum
    GL_MAP2_TANGENT_EXT = 0x8445 :: GLenum

    pattern $mGL_MAP2_TEXTURE_COORD_1 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP2_TEXTURE_COORD_1 :: GLenum
    GL_MAP2_TEXTURE_COORD_1 = 0x0DB3 :: GLenum

    pattern $mGL_MAP2_TEXTURE_COORD_2 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP2_TEXTURE_COORD_2 :: GLenum
    GL_MAP2_TEXTURE_COORD_2 = 0x0DB4 :: GLenum

    pattern $mGL_MAP2_TEXTURE_COORD_3 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP2_TEXTURE_COORD_3 :: GLenum
    GL_MAP2_TEXTURE_COORD_3 = 0x0DB5 :: GLenum

    pattern $mGL_MAP2_TEXTURE_COORD_4 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP2_TEXTURE_COORD_4 :: GLenum
    GL_MAP2_TEXTURE_COORD_4 = 0x0DB6 :: GLenum

    pattern $mGL_MAP2_VERTEX_3 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP2_VERTEX_3 :: GLenum
    GL_MAP2_VERTEX_3 = 0x0DB7 :: GLenum

    pattern $mGL_MAP2_VERTEX_4 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP2_VERTEX_4 :: GLenum
    GL_MAP2_VERTEX_4 = 0x0DB8 :: GLenum

    pattern $mGL_MAP2_VERTEX_ATTRIB0_4_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP2_VERTEX_ATTRIB0_4_NV :: GLenum
    GL_MAP2_VERTEX_ATTRIB0_4_NV = 0x8670 :: GLenum

    pattern $mGL_MAP2_VERTEX_ATTRIB10_4_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP2_VERTEX_ATTRIB10_4_NV :: GLenum
    GL_MAP2_VERTEX_ATTRIB10_4_NV = 0x867A :: GLenum

    pattern $mGL_MAP2_VERTEX_ATTRIB11_4_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP2_VERTEX_ATTRIB11_4_NV :: GLenum
    GL_MAP2_VERTEX_ATTRIB11_4_NV = 0x867B :: GLenum

    pattern $mGL_MAP2_VERTEX_ATTRIB12_4_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP2_VERTEX_ATTRIB12_4_NV :: GLenum
    GL_MAP2_VERTEX_ATTRIB12_4_NV = 0x867C :: GLenum

    pattern $mGL_MAP2_VERTEX_ATTRIB13_4_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP2_VERTEX_ATTRIB13_4_NV :: GLenum
    GL_MAP2_VERTEX_ATTRIB13_4_NV = 0x867D :: GLenum

    pattern $mGL_MAP2_VERTEX_ATTRIB14_4_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP2_VERTEX_ATTRIB14_4_NV :: GLenum
    GL_MAP2_VERTEX_ATTRIB14_4_NV = 0x867E :: GLenum

    pattern $mGL_MAP2_VERTEX_ATTRIB15_4_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP2_VERTEX_ATTRIB15_4_NV :: GLenum
    GL_MAP2_VERTEX_ATTRIB15_4_NV = 0x867F :: GLenum

    pattern $mGL_MAP2_VERTEX_ATTRIB1_4_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP2_VERTEX_ATTRIB1_4_NV :: GLenum
    GL_MAP2_VERTEX_ATTRIB1_4_NV = 0x8671 :: GLenum

    pattern $mGL_MAP2_VERTEX_ATTRIB2_4_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP2_VERTEX_ATTRIB2_4_NV :: GLenum
    GL_MAP2_VERTEX_ATTRIB2_4_NV = 0x8672 :: GLenum

    pattern $mGL_MAP2_VERTEX_ATTRIB3_4_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP2_VERTEX_ATTRIB3_4_NV :: GLenum
    GL_MAP2_VERTEX_ATTRIB3_4_NV = 0x8673 :: GLenum

    pattern $mGL_MAP2_VERTEX_ATTRIB4_4_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP2_VERTEX_ATTRIB4_4_NV :: GLenum
    GL_MAP2_VERTEX_ATTRIB4_4_NV = 0x8674 :: GLenum

    pattern $mGL_MAP2_VERTEX_ATTRIB5_4_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP2_VERTEX_ATTRIB5_4_NV :: GLenum
    GL_MAP2_VERTEX_ATTRIB5_4_NV = 0x8675 :: GLenum

    pattern $mGL_MAP2_VERTEX_ATTRIB6_4_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP2_VERTEX_ATTRIB6_4_NV :: GLenum
    GL_MAP2_VERTEX_ATTRIB6_4_NV = 0x8676 :: GLenum

    pattern $mGL_MAP2_VERTEX_ATTRIB7_4_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP2_VERTEX_ATTRIB7_4_NV :: GLenum
    GL_MAP2_VERTEX_ATTRIB7_4_NV = 0x8677 :: GLenum

    pattern $mGL_MAP2_VERTEX_ATTRIB8_4_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP2_VERTEX_ATTRIB8_4_NV :: GLenum
    GL_MAP2_VERTEX_ATTRIB8_4_NV = 0x8678 :: GLenum

    pattern $mGL_MAP2_VERTEX_ATTRIB9_4_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP2_VERTEX_ATTRIB9_4_NV :: GLenum
    GL_MAP2_VERTEX_ATTRIB9_4_NV = 0x8679 :: GLenum

    pattern $mGL_MAP_ATTRIB_U_ORDER_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP_ATTRIB_U_ORDER_NV :: GLenum
    GL_MAP_ATTRIB_U_ORDER_NV = 0x86C3 :: GLenum

    pattern $mGL_MAP_ATTRIB_V_ORDER_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP_ATTRIB_V_ORDER_NV :: GLenum
    GL_MAP_ATTRIB_V_ORDER_NV = 0x86C4 :: GLenum

    pattern $mGL_MAP_COHERENT_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP_COHERENT_BIT :: GLenum
    GL_MAP_COHERENT_BIT = 0x0080 :: GLbitfield

    pattern $mGL_MAP_COHERENT_BIT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP_COHERENT_BIT_EXT :: GLenum
    GL_MAP_COHERENT_BIT_EXT = 0x0080 :: GLbitfield

    pattern $mGL_MAP_COLOR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP_COLOR :: GLenum
    GL_MAP_COLOR = 0x0D10 :: GLenum

    pattern $mGL_MAP_FLUSH_EXPLICIT_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP_FLUSH_EXPLICIT_BIT :: GLenum
    GL_MAP_FLUSH_EXPLICIT_BIT = 0x0010 :: GLbitfield

    pattern $mGL_MAP_FLUSH_EXPLICIT_BIT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP_FLUSH_EXPLICIT_BIT_EXT :: GLenum
    GL_MAP_FLUSH_EXPLICIT_BIT_EXT = 0x0010 :: GLbitfield

    pattern $mGL_MAP_INVALIDATE_BUFFER_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP_INVALIDATE_BUFFER_BIT :: GLenum
    GL_MAP_INVALIDATE_BUFFER_BIT = 0x0008 :: GLbitfield

    pattern $mGL_MAP_INVALIDATE_BUFFER_BIT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP_INVALIDATE_BUFFER_BIT_EXT :: GLenum
    GL_MAP_INVALIDATE_BUFFER_BIT_EXT = 0x0008 :: GLbitfield

    pattern $mGL_MAP_INVALIDATE_RANGE_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP_INVALIDATE_RANGE_BIT :: GLenum
    GL_MAP_INVALIDATE_RANGE_BIT = 0x0004 :: GLbitfield

    pattern $mGL_MAP_INVALIDATE_RANGE_BIT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP_INVALIDATE_RANGE_BIT_EXT :: GLenum
    GL_MAP_INVALIDATE_RANGE_BIT_EXT = 0x0004 :: GLbitfield

    pattern $mGL_MAP_PERSISTENT_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP_PERSISTENT_BIT :: GLenum
    GL_MAP_PERSISTENT_BIT = 0x0040 :: GLbitfield

    pattern $mGL_MAP_PERSISTENT_BIT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP_PERSISTENT_BIT_EXT :: GLenum
    GL_MAP_PERSISTENT_BIT_EXT = 0x0040 :: GLbitfield

    pattern $mGL_MAP_READ_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP_READ_BIT :: GLenum
    GL_MAP_READ_BIT = 0x0001 :: GLbitfield

    pattern $mGL_MAP_READ_BIT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP_READ_BIT_EXT :: GLenum
    GL_MAP_READ_BIT_EXT = 0x0001 :: GLbitfield

    pattern $mGL_MAP_STENCIL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP_STENCIL :: GLenum
    GL_MAP_STENCIL = 0x0D11 :: GLenum

    pattern $mGL_MAP_TESSELLATION_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP_TESSELLATION_NV :: GLenum
    GL_MAP_TESSELLATION_NV = 0x86C2 :: GLenum

    pattern $mGL_MAP_UNSYNCHRONIZED_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP_UNSYNCHRONIZED_BIT :: GLenum
    GL_MAP_UNSYNCHRONIZED_BIT = 0x0020 :: GLbitfield

    pattern $mGL_MAP_UNSYNCHRONIZED_BIT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP_UNSYNCHRONIZED_BIT_EXT :: GLenum
    GL_MAP_UNSYNCHRONIZED_BIT_EXT = 0x0020 :: GLbitfield

    pattern $mGL_MAP_WRITE_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP_WRITE_BIT :: GLenum
    GL_MAP_WRITE_BIT = 0x0002 :: GLbitfield

    pattern $mGL_MAP_WRITE_BIT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAP_WRITE_BIT_EXT :: GLenum
    GL_MAP_WRITE_BIT_EXT = 0x0002 :: GLbitfield

    pattern $mGL_MATERIAL_SIDE_HINT_PGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MATERIAL_SIDE_HINT_PGI :: GLenum
    GL_MATERIAL_SIDE_HINT_PGI = 0x1A22C :: GLenum

    pattern $mGL_MATRIX0_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MATRIX0_ARB :: GLenum
    GL_MATRIX0_ARB = 0x88C0 :: GLenum

    pattern $mGL_MATRIX0_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MATRIX0_NV :: GLenum
    GL_MATRIX0_NV = 0x8630 :: GLenum

    pattern $mGL_MATRIX10_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MATRIX10_ARB :: GLenum
    GL_MATRIX10_ARB = 0x88CA :: GLenum

    pattern $mGL_MATRIX11_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MATRIX11_ARB :: GLenum
    GL_MATRIX11_ARB = 0x88CB :: GLenum

    pattern $mGL_MATRIX12_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MATRIX12_ARB :: GLenum
    GL_MATRIX12_ARB = 0x88CC :: GLenum

    pattern $mGL_MATRIX13_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MATRIX13_ARB :: GLenum
    GL_MATRIX13_ARB = 0x88CD :: GLenum

    pattern $mGL_MATRIX14_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MATRIX14_ARB :: GLenum
    GL_MATRIX14_ARB = 0x88CE :: GLenum

    pattern $mGL_MATRIX15_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MATRIX15_ARB :: GLenum
    GL_MATRIX15_ARB = 0x88CF :: GLenum

    pattern $mGL_MATRIX16_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MATRIX16_ARB :: GLenum
    GL_MATRIX16_ARB = 0x88D0 :: GLenum

    pattern $mGL_MATRIX17_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MATRIX17_ARB :: GLenum
    GL_MATRIX17_ARB = 0x88D1 :: GLenum

    pattern $mGL_MATRIX18_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MATRIX18_ARB :: GLenum
    GL_MATRIX18_ARB = 0x88D2 :: GLenum

    pattern $mGL_MATRIX19_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MATRIX19_ARB :: GLenum
    GL_MATRIX19_ARB = 0x88D3 :: GLenum

    pattern $mGL_MATRIX1_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MATRIX1_ARB :: GLenum
    GL_MATRIX1_ARB = 0x88C1 :: GLenum

    pattern $mGL_MATRIX1_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MATRIX1_NV :: GLenum
    GL_MATRIX1_NV = 0x8631 :: GLenum

    pattern $mGL_MATRIX20_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MATRIX20_ARB :: GLenum
    GL_MATRIX20_ARB = 0x88D4 :: GLenum

    pattern $mGL_MATRIX21_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MATRIX21_ARB :: GLenum
    GL_MATRIX21_ARB = 0x88D5 :: GLenum

    pattern $mGL_MATRIX22_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MATRIX22_ARB :: GLenum
    GL_MATRIX22_ARB = 0x88D6 :: GLenum

    pattern $mGL_MATRIX23_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MATRIX23_ARB :: GLenum
    GL_MATRIX23_ARB = 0x88D7 :: GLenum

    pattern $mGL_MATRIX24_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MATRIX24_ARB :: GLenum
    GL_MATRIX24_ARB = 0x88D8 :: GLenum

    pattern $mGL_MATRIX25_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MATRIX25_ARB :: GLenum
    GL_MATRIX25_ARB = 0x88D9 :: GLenum

    pattern $mGL_MATRIX26_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MATRIX26_ARB :: GLenum
    GL_MATRIX26_ARB = 0x88DA :: GLenum

    pattern $mGL_MATRIX27_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MATRIX27_ARB :: GLenum
    GL_MATRIX27_ARB = 0x88DB :: GLenum

    pattern $mGL_MATRIX28_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MATRIX28_ARB :: GLenum
    GL_MATRIX28_ARB = 0x88DC :: GLenum

    pattern $mGL_MATRIX29_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MATRIX29_ARB :: GLenum
    GL_MATRIX29_ARB = 0x88DD :: GLenum

    pattern $mGL_MATRIX2_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MATRIX2_ARB :: GLenum
    GL_MATRIX2_ARB = 0x88C2 :: GLenum

    pattern $mGL_MATRIX2_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MATRIX2_NV :: GLenum
    GL_MATRIX2_NV = 0x8632 :: GLenum

    pattern $mGL_MATRIX30_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MATRIX30_ARB :: GLenum
    GL_MATRIX30_ARB = 0x88DE :: GLenum

    pattern $mGL_MATRIX31_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MATRIX31_ARB :: GLenum
    GL_MATRIX31_ARB = 0x88DF :: GLenum

    pattern $mGL_MATRIX3_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MATRIX3_ARB :: GLenum
    GL_MATRIX3_ARB = 0x88C3 :: GLenum

    pattern $mGL_MATRIX3_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MATRIX3_NV :: GLenum
    GL_MATRIX3_NV = 0x8633 :: GLenum

    pattern $mGL_MATRIX4_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MATRIX4_ARB :: GLenum
    GL_MATRIX4_ARB = 0x88C4 :: GLenum

    pattern $mGL_MATRIX4_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MATRIX4_NV :: GLenum
    GL_MATRIX4_NV = 0x8634 :: GLenum

    pattern $mGL_MATRIX5_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MATRIX5_ARB :: GLenum
    GL_MATRIX5_ARB = 0x88C5 :: GLenum

    pattern $mGL_MATRIX5_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MATRIX5_NV :: GLenum
    GL_MATRIX5_NV = 0x8635 :: GLenum

    pattern $mGL_MATRIX6_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MATRIX6_ARB :: GLenum
    GL_MATRIX6_ARB = 0x88C6 :: GLenum

    pattern $mGL_MATRIX6_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MATRIX6_NV :: GLenum
    GL_MATRIX6_NV = 0x8636 :: GLenum

    pattern $mGL_MATRIX7_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MATRIX7_ARB :: GLenum
    GL_MATRIX7_ARB = 0x88C7 :: GLenum

    pattern $mGL_MATRIX7_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MATRIX7_NV :: GLenum
    GL_MATRIX7_NV = 0x8637 :: GLenum

    pattern $mGL_MATRIX8_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MATRIX8_ARB :: GLenum
    GL_MATRIX8_ARB = 0x88C8 :: GLenum

    pattern $mGL_MATRIX9_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MATRIX9_ARB :: GLenum
    GL_MATRIX9_ARB = 0x88C9 :: GLenum

    pattern $mGL_MATRIX_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MATRIX_EXT :: GLenum
    GL_MATRIX_EXT = 0x87C0 :: GLenum

    pattern $mGL_MATRIX_INDEX_ARRAY_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MATRIX_INDEX_ARRAY_ARB :: GLenum
    GL_MATRIX_INDEX_ARRAY_ARB = 0x8844 :: GLenum

    pattern $mGL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES :: GLenum
    GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES = 0x8B9E :: GLenum

    pattern $mGL_MATRIX_INDEX_ARRAY_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MATRIX_INDEX_ARRAY_OES :: GLenum
    GL_MATRIX_INDEX_ARRAY_OES = 0x8844 :: GLenum

    pattern $mGL_MATRIX_INDEX_ARRAY_POINTER_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MATRIX_INDEX_ARRAY_POINTER_ARB :: GLenum
    GL_MATRIX_INDEX_ARRAY_POINTER_ARB = 0x8849 :: GLenum

    pattern $mGL_MATRIX_INDEX_ARRAY_POINTER_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MATRIX_INDEX_ARRAY_POINTER_OES :: GLenum
    GL_MATRIX_INDEX_ARRAY_POINTER_OES = 0x8849 :: GLenum

    pattern $mGL_MATRIX_INDEX_ARRAY_SIZE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MATRIX_INDEX_ARRAY_SIZE_ARB :: GLenum
    GL_MATRIX_INDEX_ARRAY_SIZE_ARB = 0x8846 :: GLenum

    pattern $mGL_MATRIX_INDEX_ARRAY_SIZE_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MATRIX_INDEX_ARRAY_SIZE_OES :: GLenum
    GL_MATRIX_INDEX_ARRAY_SIZE_OES = 0x8846 :: GLenum

    pattern $mGL_MATRIX_INDEX_ARRAY_STRIDE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MATRIX_INDEX_ARRAY_STRIDE_ARB :: GLenum
    GL_MATRIX_INDEX_ARRAY_STRIDE_ARB = 0x8848 :: GLenum

    pattern $mGL_MATRIX_INDEX_ARRAY_STRIDE_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MATRIX_INDEX_ARRAY_STRIDE_OES :: GLenum
    GL_MATRIX_INDEX_ARRAY_STRIDE_OES = 0x8848 :: GLenum

    pattern $mGL_MATRIX_INDEX_ARRAY_TYPE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MATRIX_INDEX_ARRAY_TYPE_ARB :: GLenum
    GL_MATRIX_INDEX_ARRAY_TYPE_ARB = 0x8847 :: GLenum

    pattern $mGL_MATRIX_INDEX_ARRAY_TYPE_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MATRIX_INDEX_ARRAY_TYPE_OES :: GLenum
    GL_MATRIX_INDEX_ARRAY_TYPE_OES = 0x8847 :: GLenum

    pattern $mGL_MATRIX_MODE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MATRIX_MODE :: GLenum
    GL_MATRIX_MODE = 0x0BA0 :: GLenum

    pattern $mGL_MATRIX_PALETTE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MATRIX_PALETTE_ARB :: GLenum
    GL_MATRIX_PALETTE_ARB = 0x8840 :: GLenum

    pattern $mGL_MATRIX_PALETTE_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MATRIX_PALETTE_OES :: GLenum
    GL_MATRIX_PALETTE_OES = 0x8840 :: GLenum

    pattern $mGL_MATRIX_STRIDE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MATRIX_STRIDE :: GLenum
    GL_MATRIX_STRIDE = 0x92FF :: GLenum

    pattern $mGL_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI :: GLenum
    GL_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI = 0x00200000 :: GLbitfield

    pattern $mGL_MAT_AMBIENT_BIT_PGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAT_AMBIENT_BIT_PGI :: GLenum
    GL_MAT_AMBIENT_BIT_PGI = 0x00100000 :: GLbitfield

    pattern $mGL_MAT_COLOR_INDEXES_BIT_PGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAT_COLOR_INDEXES_BIT_PGI :: GLenum
    GL_MAT_COLOR_INDEXES_BIT_PGI = 0x01000000 :: GLbitfield

    pattern $mGL_MAT_DIFFUSE_BIT_PGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAT_DIFFUSE_BIT_PGI :: GLenum
    GL_MAT_DIFFUSE_BIT_PGI = 0x00400000 :: GLbitfield

    pattern $mGL_MAT_EMISSION_BIT_PGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAT_EMISSION_BIT_PGI :: GLenum
    GL_MAT_EMISSION_BIT_PGI = 0x00800000 :: GLbitfield

    pattern $mGL_MAT_SHININESS_BIT_PGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAT_SHININESS_BIT_PGI :: GLenum
    GL_MAT_SHININESS_BIT_PGI = 0x02000000 :: GLbitfield

    pattern $mGL_MAT_SPECULAR_BIT_PGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAT_SPECULAR_BIT_PGI :: GLenum
    GL_MAT_SPECULAR_BIT_PGI = 0x04000000 :: GLbitfield

    pattern $mGL_MAX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX :: GLenum
    GL_MAX = 0x8008 :: GLenum

    pattern $mGL_MAX_3D_TEXTURE_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_3D_TEXTURE_SIZE :: GLenum
    GL_MAX_3D_TEXTURE_SIZE = 0x8073 :: GLenum

    pattern $mGL_MAX_3D_TEXTURE_SIZE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_3D_TEXTURE_SIZE_EXT :: GLenum
    GL_MAX_3D_TEXTURE_SIZE_EXT = 0x8073 :: GLenum

    pattern $mGL_MAX_3D_TEXTURE_SIZE_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_3D_TEXTURE_SIZE_OES :: GLenum
    GL_MAX_3D_TEXTURE_SIZE_OES = 0x8073 :: GLenum

    pattern $mGL_MAX_4D_TEXTURE_SIZE_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_4D_TEXTURE_SIZE_SGIS :: GLenum
    GL_MAX_4D_TEXTURE_SIZE_SGIS = 0x8138 :: GLenum

    pattern $mGL_MAX_ACTIVE_LIGHTS_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_ACTIVE_LIGHTS_SGIX :: GLenum
    GL_MAX_ACTIVE_LIGHTS_SGIX = 0x8405 :: GLenum

    pattern $mGL_MAX_ARRAY_TEXTURE_LAYERS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_ARRAY_TEXTURE_LAYERS :: GLenum
    GL_MAX_ARRAY_TEXTURE_LAYERS = 0x88FF :: GLenum

    pattern $mGL_MAX_ARRAY_TEXTURE_LAYERS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_ARRAY_TEXTURE_LAYERS_EXT :: GLenum
    GL_MAX_ARRAY_TEXTURE_LAYERS_EXT = 0x88FF :: GLenum

    pattern $mGL_MAX_ASYNC_DRAW_PIXELS_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_ASYNC_DRAW_PIXELS_SGIX :: GLenum
    GL_MAX_ASYNC_DRAW_PIXELS_SGIX = 0x8360 :: GLenum

    pattern $mGL_MAX_ASYNC_HISTOGRAM_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_ASYNC_HISTOGRAM_SGIX :: GLenum
    GL_MAX_ASYNC_HISTOGRAM_SGIX = 0x832D :: GLenum

    pattern $mGL_MAX_ASYNC_READ_PIXELS_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_ASYNC_READ_PIXELS_SGIX :: GLenum
    GL_MAX_ASYNC_READ_PIXELS_SGIX = 0x8361 :: GLenum

    pattern $mGL_MAX_ASYNC_TEX_IMAGE_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_ASYNC_TEX_IMAGE_SGIX :: GLenum
    GL_MAX_ASYNC_TEX_IMAGE_SGIX = 0x835F :: GLenum

    pattern $mGL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS :: GLenum
    GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS = 0x92DC :: GLenum

    pattern $mGL_MAX_ATOMIC_COUNTER_BUFFER_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_ATOMIC_COUNTER_BUFFER_SIZE :: GLenum
    GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE = 0x92D8 :: GLenum

    pattern $mGL_MAX_ATTRIB_STACK_DEPTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_ATTRIB_STACK_DEPTH :: GLenum
    GL_MAX_ATTRIB_STACK_DEPTH = 0x0D35 :: GLenum

    pattern $mGL_MAX_BINDABLE_UNIFORM_SIZE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_BINDABLE_UNIFORM_SIZE_EXT :: GLenum
    GL_MAX_BINDABLE_UNIFORM_SIZE_EXT = 0x8DED :: GLenum

    pattern $mGL_MAX_CLIENT_ATTRIB_STACK_DEPTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_CLIENT_ATTRIB_STACK_DEPTH :: GLenum
    GL_MAX_CLIENT_ATTRIB_STACK_DEPTH = 0x0D3B :: GLenum

    pattern $mGL_MAX_CLIPMAP_DEPTH_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_CLIPMAP_DEPTH_SGIX :: GLenum
    GL_MAX_CLIPMAP_DEPTH_SGIX = 0x8177 :: GLenum

    pattern $mGL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX :: GLenum
    GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX = 0x8178 :: GLenum

    pattern $mGL_MAX_CLIP_DISTANCES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_CLIP_DISTANCES :: GLenum
    GL_MAX_CLIP_DISTANCES = 0x0D32 :: GLenum

    pattern $mGL_MAX_CLIP_DISTANCES_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_CLIP_DISTANCES_APPLE :: GLenum
    GL_MAX_CLIP_DISTANCES_APPLE = 0x0D32 :: GLenum

    pattern $mGL_MAX_CLIP_DISTANCES_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_CLIP_DISTANCES_EXT :: GLenum
    GL_MAX_CLIP_DISTANCES_EXT = 0x0D32 :: GLenum

    pattern $mGL_MAX_CLIP_PLANES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_CLIP_PLANES :: GLenum
    GL_MAX_CLIP_PLANES = 0x0D32 :: GLenum

    pattern $mGL_MAX_CLIP_PLANES_IMG :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_CLIP_PLANES_IMG :: GLenum
    GL_MAX_CLIP_PLANES_IMG = 0x0D32 :: GLenum

    pattern $mGL_MAX_COARSE_FRAGMENT_SAMPLES_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_COARSE_FRAGMENT_SAMPLES_NV :: GLenum
    GL_MAX_COARSE_FRAGMENT_SAMPLES_NV = 0x955F :: GLenum

    pattern $mGL_MAX_COLOR_ATTACHMENTS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_COLOR_ATTACHMENTS :: GLenum
    GL_MAX_COLOR_ATTACHMENTS = 0x8CDF :: GLenum

    pattern $mGL_MAX_COLOR_ATTACHMENTS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_COLOR_ATTACHMENTS_EXT :: GLenum
    GL_MAX_COLOR_ATTACHMENTS_EXT = 0x8CDF :: GLenum

    pattern $mGL_MAX_COLOR_ATTACHMENTS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_COLOR_ATTACHMENTS_NV :: GLenum
    GL_MAX_COLOR_ATTACHMENTS_NV = 0x8CDF :: GLenum

    pattern $mGL_MAX_COLOR_FRAMEBUFFER_SAMPLES_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_COLOR_FRAMEBUFFER_SAMPLES_AMD :: GLenum
    GL_MAX_COLOR_FRAMEBUFFER_SAMPLES_AMD = 0x91B3 :: GLenum

    pattern $mGL_MAX_COLOR_FRAMEBUFFER_STORAGE_SAMPLES_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_COLOR_FRAMEBUFFER_STORAGE_SAMPLES_AMD :: GLenum
    GL_MAX_COLOR_FRAMEBUFFER_STORAGE_SAMPLES_AMD = 0x91B4 :: GLenum

    pattern $mGL_MAX_COLOR_MATRIX_STACK_DEPTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_COLOR_MATRIX_STACK_DEPTH :: GLenum
    GL_MAX_COLOR_MATRIX_STACK_DEPTH = 0x80B3 :: GLenum

    pattern $mGL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI :: GLenum
    GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI = 0x80B3 :: GLenum

    pattern $mGL_MAX_COLOR_TEXTURE_SAMPLES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_COLOR_TEXTURE_SAMPLES :: GLenum
    GL_MAX_COLOR_TEXTURE_SAMPLES = 0x910E :: GLenum

    pattern $mGL_MAX_COMBINED_ATOMIC_COUNTERS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_COMBINED_ATOMIC_COUNTERS :: GLenum
    GL_MAX_COMBINED_ATOMIC_COUNTERS = 0x92D7 :: GLenum

    pattern $mGL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS :: GLenum
    GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS = 0x92D1 :: GLenum

    pattern $mGL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES :: GLenum
    GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES = 0x82FA :: GLenum

    pattern $mGL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES_EXT :: GLenum
    GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES_EXT = 0x82FA :: GLenum

    pattern $mGL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS :: GLenum
    GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS = 0x8266 :: GLenum

    pattern $mGL_MAX_COMBINED_DIMENSIONS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_COMBINED_DIMENSIONS :: GLenum
    GL_MAX_COMBINED_DIMENSIONS = 0x8282 :: GLenum

    pattern $mGL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
    GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = 0x8A33 :: GLenum

    pattern $mGL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS :: GLenum
    GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS = 0x8A32 :: GLenum

    pattern $mGL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_EXT :: GLenum
    GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_EXT = 0x8A32 :: GLenum

    pattern $mGL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_OES :: GLenum
    GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_OES = 0x8A32 :: GLenum

    pattern $mGL_MAX_COMBINED_IMAGE_UNIFORMS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_COMBINED_IMAGE_UNIFORMS :: GLenum
    GL_MAX_COMBINED_IMAGE_UNIFORMS = 0x90CF :: GLenum

    pattern $mGL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS :: GLenum
    GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS = 0x8F39 :: GLenum

    pattern $mGL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT :: GLenum
    GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT = 0x8F39 :: GLenum

    pattern $mGL_MAX_COMBINED_MESH_UNIFORM_COMPONENTS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_COMBINED_MESH_UNIFORM_COMPONENTS_NV :: GLenum
    GL_MAX_COMBINED_MESH_UNIFORM_COMPONENTS_NV = 0x8E67 :: GLenum

    pattern $mGL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES :: GLenum
    GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES = 0x8F39 :: GLenum

    pattern $mGL_MAX_COMBINED_SHADER_STORAGE_BLOCKS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_COMBINED_SHADER_STORAGE_BLOCKS :: GLenum
    GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS = 0x90DC :: GLenum

    pattern $mGL_MAX_COMBINED_TASK_UNIFORM_COMPONENTS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_COMBINED_TASK_UNIFORM_COMPONENTS_NV :: GLenum
    GL_MAX_COMBINED_TASK_UNIFORM_COMPONENTS_NV = 0x8E6F :: GLenum

    pattern $mGL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS :: GLenum
    GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS = 0x8E1E :: GLenum

    pattern $mGL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_EXT :: GLenum
    GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_EXT = 0x8E1E :: GLenum

    pattern $mGL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_OES :: GLenum
    GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_OES = 0x8E1E :: GLenum

    pattern $mGL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS :: GLenum
    GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS = 0x8E1F :: GLenum

    pattern $mGL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT :: GLenum
    GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT = 0x8E1F :: GLenum

    pattern $mGL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_OES :: GLenum
    GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_OES = 0x8E1F :: GLenum

    pattern $mGL_MAX_COMBINED_TEXTURE_IMAGE_UNITS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_COMBINED_TEXTURE_IMAGE_UNITS :: GLenum
    GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS = 0x8B4D :: GLenum

    pattern $mGL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB :: GLenum
    GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB = 0x8B4D :: GLenum

    pattern $mGL_MAX_COMBINED_UNIFORM_BLOCKS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_COMBINED_UNIFORM_BLOCKS :: GLenum
    GL_MAX_COMBINED_UNIFORM_BLOCKS = 0x8A2E :: GLenum

    pattern $mGL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS :: GLenum
    GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = 0x8A31 :: GLenum

    pattern $mGL_MAX_COMPUTE_ATOMIC_COUNTERS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_COMPUTE_ATOMIC_COUNTERS :: GLenum
    GL_MAX_COMPUTE_ATOMIC_COUNTERS = 0x8265 :: GLenum

    pattern $mGL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS :: GLenum
    GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS = 0x8264 :: GLenum

    pattern $mGL_MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB :: GLenum
    GL_MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB = 0x90EB :: GLenum

    pattern $mGL_MAX_COMPUTE_FIXED_GROUP_SIZE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_COMPUTE_FIXED_GROUP_SIZE_ARB :: GLenum
    GL_MAX_COMPUTE_FIXED_GROUP_SIZE_ARB = 0x91BF :: GLenum

    pattern $mGL_MAX_COMPUTE_IMAGE_UNIFORMS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_COMPUTE_IMAGE_UNIFORMS :: GLenum
    GL_MAX_COMPUTE_IMAGE_UNIFORMS = 0x91BD :: GLenum

    pattern $mGL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS :: GLenum
    GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS = 0x90DB :: GLenum

    pattern $mGL_MAX_COMPUTE_SHARED_MEMORY_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_COMPUTE_SHARED_MEMORY_SIZE :: GLenum
    GL_MAX_COMPUTE_SHARED_MEMORY_SIZE = 0x8262 :: GLenum

    pattern $mGL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS :: GLenum
    GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS = 0x91BC :: GLenum

    pattern $mGL_MAX_COMPUTE_UNIFORM_BLOCKS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_COMPUTE_UNIFORM_BLOCKS :: GLenum
    GL_MAX_COMPUTE_UNIFORM_BLOCKS = 0x91BB :: GLenum

    pattern $mGL_MAX_COMPUTE_UNIFORM_COMPONENTS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_COMPUTE_UNIFORM_COMPONENTS :: GLenum
    GL_MAX_COMPUTE_UNIFORM_COMPONENTS = 0x8263 :: GLenum

    pattern $mGL_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB :: GLenum
    GL_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB = 0x9344 :: GLenum

    pattern $mGL_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB :: GLenum
    GL_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB = 0x9345 :: GLenum

    pattern $mGL_MAX_COMPUTE_WORK_GROUP_COUNT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_COMPUTE_WORK_GROUP_COUNT :: GLenum
    GL_MAX_COMPUTE_WORK_GROUP_COUNT = 0x91BE :: GLenum

    pattern $mGL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS :: GLenum
    GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS = 0x90EB :: GLenum

    pattern $mGL_MAX_COMPUTE_WORK_GROUP_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_COMPUTE_WORK_GROUP_SIZE :: GLenum
    GL_MAX_COMPUTE_WORK_GROUP_SIZE = 0x91BF :: GLenum

    pattern $mGL_MAX_CONVOLUTION_HEIGHT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_CONVOLUTION_HEIGHT :: GLenum
    GL_MAX_CONVOLUTION_HEIGHT = 0x801B :: GLenum

    pattern $mGL_MAX_CONVOLUTION_HEIGHT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_CONVOLUTION_HEIGHT_EXT :: GLenum
    GL_MAX_CONVOLUTION_HEIGHT_EXT = 0x801B :: GLenum

    pattern $mGL_MAX_CONVOLUTION_WIDTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_CONVOLUTION_WIDTH :: GLenum
    GL_MAX_CONVOLUTION_WIDTH = 0x801A :: GLenum

    pattern $mGL_MAX_CONVOLUTION_WIDTH_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_CONVOLUTION_WIDTH_EXT :: GLenum
    GL_MAX_CONVOLUTION_WIDTH_EXT = 0x801A :: GLenum

    pattern $mGL_MAX_CUBE_MAP_TEXTURE_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_CUBE_MAP_TEXTURE_SIZE :: GLenum
    GL_MAX_CUBE_MAP_TEXTURE_SIZE = 0x851C :: GLenum

    pattern $mGL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB :: GLenum
    GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB = 0x851C :: GLenum

    pattern $mGL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT :: GLenum
    GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT = 0x851C :: GLenum

    pattern $mGL_MAX_CUBE_MAP_TEXTURE_SIZE_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_CUBE_MAP_TEXTURE_SIZE_OES :: GLenum
    GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES = 0x851C :: GLenum

    pattern $mGL_MAX_CULL_DISTANCES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_CULL_DISTANCES :: GLenum
    GL_MAX_CULL_DISTANCES = 0x82F9 :: GLenum

    pattern $mGL_MAX_CULL_DISTANCES_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_CULL_DISTANCES_EXT :: GLenum
    GL_MAX_CULL_DISTANCES_EXT = 0x82F9 :: GLenum

    pattern $mGL_MAX_DEBUG_GROUP_STACK_DEPTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_DEBUG_GROUP_STACK_DEPTH :: GLenum
    GL_MAX_DEBUG_GROUP_STACK_DEPTH = 0x826C :: GLenum

    pattern $mGL_MAX_DEBUG_GROUP_STACK_DEPTH_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_DEBUG_GROUP_STACK_DEPTH_KHR :: GLenum
    GL_MAX_DEBUG_GROUP_STACK_DEPTH_KHR = 0x826C :: GLenum

    pattern $mGL_MAX_DEBUG_LOGGED_MESSAGES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_DEBUG_LOGGED_MESSAGES :: GLenum
    GL_MAX_DEBUG_LOGGED_MESSAGES = 0x9144 :: GLenum

    pattern $mGL_MAX_DEBUG_LOGGED_MESSAGES_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_DEBUG_LOGGED_MESSAGES_AMD :: GLenum
    GL_MAX_DEBUG_LOGGED_MESSAGES_AMD = 0x9144 :: GLenum

    pattern $mGL_MAX_DEBUG_LOGGED_MESSAGES_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_DEBUG_LOGGED_MESSAGES_ARB :: GLenum
    GL_MAX_DEBUG_LOGGED_MESSAGES_ARB = 0x9144 :: GLenum

    pattern $mGL_MAX_DEBUG_LOGGED_MESSAGES_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_DEBUG_LOGGED_MESSAGES_KHR :: GLenum
    GL_MAX_DEBUG_LOGGED_MESSAGES_KHR = 0x9144 :: GLenum

    pattern $mGL_MAX_DEBUG_MESSAGE_LENGTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_DEBUG_MESSAGE_LENGTH :: GLenum
    GL_MAX_DEBUG_MESSAGE_LENGTH = 0x9143 :: GLenum

    pattern $mGL_MAX_DEBUG_MESSAGE_LENGTH_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_DEBUG_MESSAGE_LENGTH_AMD :: GLenum
    GL_MAX_DEBUG_MESSAGE_LENGTH_AMD = 0x9143 :: GLenum

    pattern $mGL_MAX_DEBUG_MESSAGE_LENGTH_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_DEBUG_MESSAGE_LENGTH_ARB :: GLenum
    GL_MAX_DEBUG_MESSAGE_LENGTH_ARB = 0x9143 :: GLenum

    pattern $mGL_MAX_DEBUG_MESSAGE_LENGTH_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_DEBUG_MESSAGE_LENGTH_KHR :: GLenum
    GL_MAX_DEBUG_MESSAGE_LENGTH_KHR = 0x9143 :: GLenum

    pattern $mGL_MAX_DEEP_3D_TEXTURE_DEPTH_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_DEEP_3D_TEXTURE_DEPTH_NV :: GLenum
    GL_MAX_DEEP_3D_TEXTURE_DEPTH_NV = 0x90D1 :: GLenum

    pattern $mGL_MAX_DEEP_3D_TEXTURE_WIDTH_HEIGHT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_DEEP_3D_TEXTURE_WIDTH_HEIGHT_NV :: GLenum
    GL_MAX_DEEP_3D_TEXTURE_WIDTH_HEIGHT_NV = 0x90D0 :: GLenum

    pattern $mGL_MAX_DEFORMATION_ORDER_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_DEFORMATION_ORDER_SGIX :: GLenum
    GL_MAX_DEFORMATION_ORDER_SGIX = 0x8197 :: GLenum

    pattern $mGL_MAX_DEPTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_DEPTH :: GLenum
    GL_MAX_DEPTH = 0x8280 :: GLenum

    pattern $mGL_MAX_DEPTH_STENCIL_FRAMEBUFFER_SAMPLES_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_DEPTH_STENCIL_FRAMEBUFFER_SAMPLES_AMD :: GLenum
    GL_MAX_DEPTH_STENCIL_FRAMEBUFFER_SAMPLES_AMD = 0x91B5 :: GLenum

    pattern $mGL_MAX_DEPTH_TEXTURE_SAMPLES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_DEPTH_TEXTURE_SAMPLES :: GLenum
    GL_MAX_DEPTH_TEXTURE_SAMPLES = 0x910F :: GLenum

    pattern $mGL_MAX_DETACHED_BUFFERS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_DETACHED_BUFFERS_NV :: GLenum
    GL_MAX_DETACHED_BUFFERS_NV = 0x95AD :: GLenum

    pattern $mGL_MAX_DETACHED_TEXTURES_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_DETACHED_TEXTURES_NV :: GLenum
    GL_MAX_DETACHED_TEXTURES_NV = 0x95AC :: GLenum

    pattern $mGL_MAX_DRAW_BUFFERS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_DRAW_BUFFERS :: GLenum
    GL_MAX_DRAW_BUFFERS = 0x8824 :: GLenum

    pattern $mGL_MAX_DRAW_BUFFERS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_DRAW_BUFFERS_ARB :: GLenum
    GL_MAX_DRAW_BUFFERS_ARB = 0x8824 :: GLenum

    pattern $mGL_MAX_DRAW_BUFFERS_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_DRAW_BUFFERS_ATI :: GLenum
    GL_MAX_DRAW_BUFFERS_ATI = 0x8824 :: GLenum

    pattern $mGL_MAX_DRAW_BUFFERS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_DRAW_BUFFERS_EXT :: GLenum
    GL_MAX_DRAW_BUFFERS_EXT = 0x8824 :: GLenum

    pattern $mGL_MAX_DRAW_BUFFERS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_DRAW_BUFFERS_NV :: GLenum
    GL_MAX_DRAW_BUFFERS_NV = 0x8824 :: GLenum

    pattern $mGL_MAX_DRAW_MESH_TASKS_COUNT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_DRAW_MESH_TASKS_COUNT_NV :: GLenum
    GL_MAX_DRAW_MESH_TASKS_COUNT_NV = 0x953D :: GLenum

    pattern $mGL_MAX_DUAL_SOURCE_DRAW_BUFFERS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_DUAL_SOURCE_DRAW_BUFFERS :: GLenum
    GL_MAX_DUAL_SOURCE_DRAW_BUFFERS = 0x88FC :: GLenum

    pattern $mGL_MAX_DUAL_SOURCE_DRAW_BUFFERS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_DUAL_SOURCE_DRAW_BUFFERS_EXT :: GLenum
    GL_MAX_DUAL_SOURCE_DRAW_BUFFERS_EXT = 0x88FC :: GLenum

    pattern $mGL_MAX_ELEMENTS_INDICES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_ELEMENTS_INDICES :: GLenum
    GL_MAX_ELEMENTS_INDICES = 0x80E9 :: GLenum

    pattern $mGL_MAX_ELEMENTS_INDICES_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_ELEMENTS_INDICES_EXT :: GLenum
    GL_MAX_ELEMENTS_INDICES_EXT = 0x80E9 :: GLenum

    pattern $mGL_MAX_ELEMENTS_VERTICES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_ELEMENTS_VERTICES :: GLenum
    GL_MAX_ELEMENTS_VERTICES = 0x80E8 :: GLenum

    pattern $mGL_MAX_ELEMENTS_VERTICES_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_ELEMENTS_VERTICES_EXT :: GLenum
    GL_MAX_ELEMENTS_VERTICES_EXT = 0x80E8 :: GLenum

    pattern $mGL_MAX_ELEMENT_INDEX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_ELEMENT_INDEX :: GLenum
    GL_MAX_ELEMENT_INDEX = 0x8D6B :: GLenum

    pattern $mGL_MAX_EVAL_ORDER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_EVAL_ORDER :: GLenum
    GL_MAX_EVAL_ORDER = 0x0D30 :: GLenum

    pattern $mGL_MAX_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_EXT :: GLenum
    GL_MAX_EXT = 0x8008 :: GLenum

    pattern $mGL_MAX_FOG_FUNC_POINTS_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_FOG_FUNC_POINTS_SGIS :: GLenum
    GL_MAX_FOG_FUNC_POINTS_SGIS = 0x812C :: GLenum

    pattern $mGL_MAX_FRAGMENT_ATOMIC_COUNTERS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_FRAGMENT_ATOMIC_COUNTERS :: GLenum
    GL_MAX_FRAGMENT_ATOMIC_COUNTERS = 0x92D6 :: GLenum

    pattern $mGL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS :: GLenum
    GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS = 0x92D0 :: GLenum

    pattern $mGL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT :: GLenum
    GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT = 0x8DE3 :: GLenum

    pattern $mGL_MAX_FRAGMENT_IMAGE_UNIFORMS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_FRAGMENT_IMAGE_UNIFORMS :: GLenum
    GL_MAX_FRAGMENT_IMAGE_UNIFORMS = 0x90CE :: GLenum

    pattern $mGL_MAX_FRAGMENT_INPUT_COMPONENTS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_FRAGMENT_INPUT_COMPONENTS :: GLenum
    GL_MAX_FRAGMENT_INPUT_COMPONENTS = 0x9125 :: GLenum

    pattern $mGL_MAX_FRAGMENT_INTERPOLATION_OFFSET :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_FRAGMENT_INTERPOLATION_OFFSET :: GLenum
    GL_MAX_FRAGMENT_INTERPOLATION_OFFSET = 0x8E5C :: GLenum

    pattern $mGL_MAX_FRAGMENT_INTERPOLATION_OFFSET_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_FRAGMENT_INTERPOLATION_OFFSET_NV :: GLenum
    GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_NV = 0x8E5C :: GLenum

    pattern $mGL_MAX_FRAGMENT_INTERPOLATION_OFFSET_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_FRAGMENT_INTERPOLATION_OFFSET_OES :: GLenum
    GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_OES = 0x8E5C :: GLenum

    pattern $mGL_MAX_FRAGMENT_LIGHTS_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_FRAGMENT_LIGHTS_SGIX :: GLenum
    GL_MAX_FRAGMENT_LIGHTS_SGIX = 0x8404 :: GLenum

    pattern $mGL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV :: GLenum
    GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV = 0x8868 :: GLenum

    pattern $mGL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS :: GLenum
    GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS = 0x90DA :: GLenum

    pattern $mGL_MAX_FRAGMENT_UNIFORM_BLOCKS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_FRAGMENT_UNIFORM_BLOCKS :: GLenum
    GL_MAX_FRAGMENT_UNIFORM_BLOCKS = 0x8A2D :: GLenum

    pattern $mGL_MAX_FRAGMENT_UNIFORM_COMPONENTS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_FRAGMENT_UNIFORM_COMPONENTS :: GLenum
    GL_MAX_FRAGMENT_UNIFORM_COMPONENTS = 0x8B49 :: GLenum

    pattern $mGL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB :: GLenum
    GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB = 0x8B49 :: GLenum

    pattern $mGL_MAX_FRAGMENT_UNIFORM_VECTORS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_FRAGMENT_UNIFORM_VECTORS :: GLenum
    GL_MAX_FRAGMENT_UNIFORM_VECTORS = 0x8DFD :: GLenum

    pattern $mGL_MAX_FRAMEBUFFER_HEIGHT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_FRAMEBUFFER_HEIGHT :: GLenum
    GL_MAX_FRAMEBUFFER_HEIGHT = 0x9316 :: GLenum

    pattern $mGL_MAX_FRAMEBUFFER_LAYERS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_FRAMEBUFFER_LAYERS :: GLenum
    GL_MAX_FRAMEBUFFER_LAYERS = 0x9317 :: GLenum

    pattern $mGL_MAX_FRAMEBUFFER_LAYERS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_FRAMEBUFFER_LAYERS_EXT :: GLenum
    GL_MAX_FRAMEBUFFER_LAYERS_EXT = 0x9317 :: GLenum

    pattern $mGL_MAX_FRAMEBUFFER_LAYERS_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_FRAMEBUFFER_LAYERS_OES :: GLenum
    GL_MAX_FRAMEBUFFER_LAYERS_OES = 0x9317 :: GLenum

    pattern $mGL_MAX_FRAMEBUFFER_SAMPLES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_FRAMEBUFFER_SAMPLES :: GLenum
    GL_MAX_FRAMEBUFFER_SAMPLES = 0x9318 :: GLenum

    pattern $mGL_MAX_FRAMEBUFFER_WIDTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_FRAMEBUFFER_WIDTH :: GLenum
    GL_MAX_FRAMEBUFFER_WIDTH = 0x9315 :: GLenum

    pattern $mGL_MAX_FRAMEZOOM_FACTOR_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_FRAMEZOOM_FACTOR_SGIX :: GLenum
    GL_MAX_FRAMEZOOM_FACTOR_SGIX = 0x818D :: GLenum

    pattern $mGL_MAX_GENERAL_COMBINERS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_GENERAL_COMBINERS_NV :: GLenum
    GL_MAX_GENERAL_COMBINERS_NV = 0x854D :: GLenum

    pattern $mGL_MAX_GEOMETRY_ATOMIC_COUNTERS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_GEOMETRY_ATOMIC_COUNTERS :: GLenum
    GL_MAX_GEOMETRY_ATOMIC_COUNTERS = 0x92D5 :: GLenum

    pattern $mGL_MAX_GEOMETRY_ATOMIC_COUNTERS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_GEOMETRY_ATOMIC_COUNTERS_EXT :: GLenum
    GL_MAX_GEOMETRY_ATOMIC_COUNTERS_EXT = 0x92D5 :: GLenum

    pattern $mGL_MAX_GEOMETRY_ATOMIC_COUNTERS_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_GEOMETRY_ATOMIC_COUNTERS_OES :: GLenum
    GL_MAX_GEOMETRY_ATOMIC_COUNTERS_OES = 0x92D5 :: GLenum

    pattern $mGL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS :: GLenum
    GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS = 0x92CF :: GLenum

    pattern $mGL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_EXT :: GLenum
    GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_EXT = 0x92CF :: GLenum

    pattern $mGL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_OES :: GLenum
    GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_OES = 0x92CF :: GLenum

    pattern $mGL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT :: GLenum
    GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT = 0x8DE4 :: GLenum

    pattern $mGL_MAX_GEOMETRY_IMAGE_UNIFORMS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_GEOMETRY_IMAGE_UNIFORMS :: GLenum
    GL_MAX_GEOMETRY_IMAGE_UNIFORMS = 0x90CD :: GLenum

    pattern $mGL_MAX_GEOMETRY_IMAGE_UNIFORMS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_GEOMETRY_IMAGE_UNIFORMS_EXT :: GLenum
    GL_MAX_GEOMETRY_IMAGE_UNIFORMS_EXT = 0x90CD :: GLenum

    pattern $mGL_MAX_GEOMETRY_IMAGE_UNIFORMS_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_GEOMETRY_IMAGE_UNIFORMS_OES :: GLenum
    GL_MAX_GEOMETRY_IMAGE_UNIFORMS_OES = 0x90CD :: GLenum

    pattern $mGL_MAX_GEOMETRY_INPUT_COMPONENTS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_GEOMETRY_INPUT_COMPONENTS :: GLenum
    GL_MAX_GEOMETRY_INPUT_COMPONENTS = 0x9123 :: GLenum

    pattern $mGL_MAX_GEOMETRY_INPUT_COMPONENTS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_GEOMETRY_INPUT_COMPONENTS_EXT :: GLenum
    GL_MAX_GEOMETRY_INPUT_COMPONENTS_EXT = 0x9123 :: GLenum

    pattern $mGL_MAX_GEOMETRY_INPUT_COMPONENTS_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_GEOMETRY_INPUT_COMPONENTS_OES :: GLenum
    GL_MAX_GEOMETRY_INPUT_COMPONENTS_OES = 0x9123 :: GLenum

    pattern $mGL_MAX_GEOMETRY_OUTPUT_COMPONENTS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_GEOMETRY_OUTPUT_COMPONENTS :: GLenum
    GL_MAX_GEOMETRY_OUTPUT_COMPONENTS = 0x9124 :: GLenum

    pattern $mGL_MAX_GEOMETRY_OUTPUT_COMPONENTS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_GEOMETRY_OUTPUT_COMPONENTS_EXT :: GLenum
    GL_MAX_GEOMETRY_OUTPUT_COMPONENTS_EXT = 0x9124 :: GLenum

    pattern $mGL_MAX_GEOMETRY_OUTPUT_COMPONENTS_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_GEOMETRY_OUTPUT_COMPONENTS_OES :: GLenum
    GL_MAX_GEOMETRY_OUTPUT_COMPONENTS_OES = 0x9124 :: GLenum

    pattern $mGL_MAX_GEOMETRY_OUTPUT_VERTICES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_GEOMETRY_OUTPUT_VERTICES :: GLenum
    GL_MAX_GEOMETRY_OUTPUT_VERTICES = 0x8DE0 :: GLenum

    pattern $mGL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB :: GLenum
    GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB = 0x8DE0 :: GLenum

    pattern $mGL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT :: GLenum
    GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT = 0x8DE0 :: GLenum

    pattern $mGL_MAX_GEOMETRY_OUTPUT_VERTICES_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_GEOMETRY_OUTPUT_VERTICES_OES :: GLenum
    GL_MAX_GEOMETRY_OUTPUT_VERTICES_OES = 0x8DE0 :: GLenum

    pattern $mGL_MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV :: GLenum
    GL_MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV = 0x8E5A :: GLenum

    pattern $mGL_MAX_GEOMETRY_SHADER_INVOCATIONS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_GEOMETRY_SHADER_INVOCATIONS :: GLenum
    GL_MAX_GEOMETRY_SHADER_INVOCATIONS = 0x8E5A :: GLenum

    pattern $mGL_MAX_GEOMETRY_SHADER_INVOCATIONS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_GEOMETRY_SHADER_INVOCATIONS_EXT :: GLenum
    GL_MAX_GEOMETRY_SHADER_INVOCATIONS_EXT = 0x8E5A :: GLenum

    pattern $mGL_MAX_GEOMETRY_SHADER_INVOCATIONS_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_GEOMETRY_SHADER_INVOCATIONS_OES :: GLenum
    GL_MAX_GEOMETRY_SHADER_INVOCATIONS_OES = 0x8E5A :: GLenum

    pattern $mGL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS :: GLenum
    GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS = 0x90D7 :: GLenum

    pattern $mGL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_EXT :: GLenum
    GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_EXT = 0x90D7 :: GLenum

    pattern $mGL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_OES :: GLenum
    GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_OES = 0x90D7 :: GLenum

    pattern $mGL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS :: GLenum
    GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS = 0x8C29 :: GLenum

    pattern $mGL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB :: GLenum
    GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB = 0x8C29 :: GLenum

    pattern $mGL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT :: GLenum
    GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT = 0x8C29 :: GLenum

    pattern $mGL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_OES :: GLenum
    GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_OES = 0x8C29 :: GLenum

    pattern $mGL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS :: GLenum
    GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS = 0x8DE1 :: GLenum

    pattern $mGL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB :: GLenum
    GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB = 0x8DE1 :: GLenum

    pattern $mGL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT :: GLenum
    GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT = 0x8DE1 :: GLenum

    pattern $mGL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_OES :: GLenum
    GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_OES = 0x8DE1 :: GLenum

    pattern $mGL_MAX_GEOMETRY_UNIFORM_BLOCKS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_GEOMETRY_UNIFORM_BLOCKS :: GLenum
    GL_MAX_GEOMETRY_UNIFORM_BLOCKS = 0x8A2C :: GLenum

    pattern $mGL_MAX_GEOMETRY_UNIFORM_BLOCKS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_GEOMETRY_UNIFORM_BLOCKS_EXT :: GLenum
    GL_MAX_GEOMETRY_UNIFORM_BLOCKS_EXT = 0x8A2C :: GLenum

    pattern $mGL_MAX_GEOMETRY_UNIFORM_BLOCKS_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_GEOMETRY_UNIFORM_BLOCKS_OES :: GLenum
    GL_MAX_GEOMETRY_UNIFORM_BLOCKS_OES = 0x8A2C :: GLenum

    pattern $mGL_MAX_GEOMETRY_UNIFORM_COMPONENTS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_GEOMETRY_UNIFORM_COMPONENTS :: GLenum
    GL_MAX_GEOMETRY_UNIFORM_COMPONENTS = 0x8DDF :: GLenum

    pattern $mGL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB :: GLenum
    GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB = 0x8DDF :: GLenum

    pattern $mGL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT :: GLenum
    GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT = 0x8DDF :: GLenum

    pattern $mGL_MAX_GEOMETRY_UNIFORM_COMPONENTS_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_GEOMETRY_UNIFORM_COMPONENTS_OES :: GLenum
    GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_OES = 0x8DDF :: GLenum

    pattern $mGL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB :: GLenum
    GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB = 0x8DDD :: GLenum

    pattern $mGL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT :: GLenum
    GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT = 0x8DDD :: GLenum

    pattern $mGL_MAX_HEIGHT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_HEIGHT :: GLenum
    GL_MAX_HEIGHT = 0x827F :: GLenum

    pattern $mGL_MAX_IMAGE_SAMPLES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_IMAGE_SAMPLES :: GLenum
    GL_MAX_IMAGE_SAMPLES = 0x906D :: GLenum

    pattern $mGL_MAX_IMAGE_SAMPLES_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_IMAGE_SAMPLES_EXT :: GLenum
    GL_MAX_IMAGE_SAMPLES_EXT = 0x906D :: GLenum

    pattern $mGL_MAX_IMAGE_UNITS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_IMAGE_UNITS :: GLenum
    GL_MAX_IMAGE_UNITS = 0x8F38 :: GLenum

    pattern $mGL_MAX_IMAGE_UNITS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_IMAGE_UNITS_EXT :: GLenum
    GL_MAX_IMAGE_UNITS_EXT = 0x8F38 :: GLenum

    pattern $mGL_MAX_INTEGER_SAMPLES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_INTEGER_SAMPLES :: GLenum
    GL_MAX_INTEGER_SAMPLES = 0x9110 :: GLenum

    pattern $mGL_MAX_LABEL_LENGTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_LABEL_LENGTH :: GLenum
    GL_MAX_LABEL_LENGTH = 0x82E8 :: GLenum

    pattern $mGL_MAX_LABEL_LENGTH_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_LABEL_LENGTH_KHR :: GLenum
    GL_MAX_LABEL_LENGTH_KHR = 0x82E8 :: GLenum

    pattern $mGL_MAX_LAYERS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_LAYERS :: GLenum
    GL_MAX_LAYERS = 0x8281 :: GLenum

    pattern $mGL_MAX_LGPU_GPUS_NVX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_LGPU_GPUS_NVX :: GLenum
    GL_MAX_LGPU_GPUS_NVX = 0x92BA :: GLenum

    pattern $mGL_MAX_LIGHTS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_LIGHTS :: GLenum
    GL_MAX_LIGHTS = 0x0D31 :: GLenum

    pattern $mGL_MAX_LIST_NESTING :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_LIST_NESTING :: GLenum
    GL_MAX_LIST_NESTING = 0x0B31 :: GLenum

    pattern $mGL_MAX_MAP_TESSELLATION_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_MAP_TESSELLATION_NV :: GLenum
    GL_MAX_MAP_TESSELLATION_NV = 0x86D6 :: GLenum

    pattern $mGL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB :: GLenum
    GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB = 0x8841 :: GLenum

    pattern $mGL_MAX_MESH_ATOMIC_COUNTERS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_MESH_ATOMIC_COUNTERS_NV :: GLenum
    GL_MAX_MESH_ATOMIC_COUNTERS_NV = 0x8E65 :: GLenum

    pattern $mGL_MAX_MESH_ATOMIC_COUNTER_BUFFERS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_MESH_ATOMIC_COUNTER_BUFFERS_NV :: GLenum
    GL_MAX_MESH_ATOMIC_COUNTER_BUFFERS_NV = 0x8E64 :: GLenum

    pattern $mGL_MAX_MESH_IMAGE_UNIFORMS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_MESH_IMAGE_UNIFORMS_NV :: GLenum
    GL_MAX_MESH_IMAGE_UNIFORMS_NV = 0x8E62 :: GLenum

    pattern $mGL_MAX_MESH_OUTPUT_PRIMITIVES_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_MESH_OUTPUT_PRIMITIVES_NV :: GLenum
    GL_MAX_MESH_OUTPUT_PRIMITIVES_NV = 0x9539 :: GLenum

    pattern $mGL_MAX_MESH_OUTPUT_VERTICES_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_MESH_OUTPUT_VERTICES_NV :: GLenum
    GL_MAX_MESH_OUTPUT_VERTICES_NV = 0x9538 :: GLenum

    pattern $mGL_MAX_MESH_SHADER_STORAGE_BLOCKS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_MESH_SHADER_STORAGE_BLOCKS_NV :: GLenum
    GL_MAX_MESH_SHADER_STORAGE_BLOCKS_NV = 0x8E66 :: GLenum

    pattern $mGL_MAX_MESH_TEXTURE_IMAGE_UNITS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_MESH_TEXTURE_IMAGE_UNITS_NV :: GLenum
    GL_MAX_MESH_TEXTURE_IMAGE_UNITS_NV = 0x8E61 :: GLenum

    pattern $mGL_MAX_MESH_TOTAL_MEMORY_SIZE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_MESH_TOTAL_MEMORY_SIZE_NV :: GLenum
    GL_MAX_MESH_TOTAL_MEMORY_SIZE_NV = 0x9536 :: GLenum

    pattern $mGL_MAX_MESH_UNIFORM_BLOCKS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_MESH_UNIFORM_BLOCKS_NV :: GLenum
    GL_MAX_MESH_UNIFORM_BLOCKS_NV = 0x8E60 :: GLenum

    pattern $mGL_MAX_MESH_UNIFORM_COMPONENTS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_MESH_UNIFORM_COMPONENTS_NV :: GLenum
    GL_MAX_MESH_UNIFORM_COMPONENTS_NV = 0x8E63 :: GLenum

    pattern $mGL_MAX_MESH_VIEWS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_MESH_VIEWS_NV :: GLenum
    GL_MAX_MESH_VIEWS_NV = 0x9557 :: GLenum

    pattern $mGL_MAX_MESH_WORK_GROUP_INVOCATIONS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_MESH_WORK_GROUP_INVOCATIONS_NV :: GLenum
    GL_MAX_MESH_WORK_GROUP_INVOCATIONS_NV = 0x95A2 :: GLenum

    pattern $mGL_MAX_MESH_WORK_GROUP_SIZE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_MESH_WORK_GROUP_SIZE_NV :: GLenum
    GL_MAX_MESH_WORK_GROUP_SIZE_NV = 0x953B :: GLenum

    pattern $mGL_MAX_MODELVIEW_STACK_DEPTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_MODELVIEW_STACK_DEPTH :: GLenum
    GL_MAX_MODELVIEW_STACK_DEPTH = 0x0D36 :: GLenum

    pattern $mGL_MAX_MULTISAMPLE_COVERAGE_MODES_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_MULTISAMPLE_COVERAGE_MODES_NV :: GLenum
    GL_MAX_MULTISAMPLE_COVERAGE_MODES_NV = 0x8E11 :: GLenum

    pattern $mGL_MAX_MULTIVIEW_BUFFERS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_MULTIVIEW_BUFFERS_EXT :: GLenum
    GL_MAX_MULTIVIEW_BUFFERS_EXT = 0x90F2 :: GLenum

    pattern $mGL_MAX_NAME_LENGTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_NAME_LENGTH :: GLenum
    GL_MAX_NAME_LENGTH = 0x92F6 :: GLenum

    pattern $mGL_MAX_NAME_STACK_DEPTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_NAME_STACK_DEPTH :: GLenum
    GL_MAX_NAME_STACK_DEPTH = 0x0D37 :: GLenum

    pattern $mGL_MAX_NUM_ACTIVE_VARIABLES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_NUM_ACTIVE_VARIABLES :: GLenum
    GL_MAX_NUM_ACTIVE_VARIABLES = 0x92F7 :: GLenum

    pattern $mGL_MAX_NUM_COMPATIBLE_SUBROUTINES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_NUM_COMPATIBLE_SUBROUTINES :: GLenum
    GL_MAX_NUM_COMPATIBLE_SUBROUTINES = 0x92F8 :: GLenum

    pattern $mGL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT :: GLenum
    GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87CA :: GLenum

    pattern $mGL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT :: GLenum
    GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT = 0x87CD :: GLenum

    pattern $mGL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT :: GLenum
    GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT = 0x87CE :: GLenum

    pattern $mGL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT :: GLenum
    GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87CC :: GLenum

    pattern $mGL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT :: GLenum
    GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT = 0x87CB :: GLenum

    pattern $mGL_MAX_PALETTE_MATRICES_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_PALETTE_MATRICES_ARB :: GLenum
    GL_MAX_PALETTE_MATRICES_ARB = 0x8842 :: GLenum

    pattern $mGL_MAX_PALETTE_MATRICES_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_PALETTE_MATRICES_OES :: GLenum
    GL_MAX_PALETTE_MATRICES_OES = 0x8842 :: GLenum

    pattern $mGL_MAX_PATCH_VERTICES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_PATCH_VERTICES :: GLenum
    GL_MAX_PATCH_VERTICES = 0x8E7D :: GLenum

    pattern $mGL_MAX_PATCH_VERTICES_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_PATCH_VERTICES_EXT :: GLenum
    GL_MAX_PATCH_VERTICES_EXT = 0x8E7D :: GLenum

    pattern $mGL_MAX_PATCH_VERTICES_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_PATCH_VERTICES_OES :: GLenum
    GL_MAX_PATCH_VERTICES_OES = 0x8E7D :: GLenum

    pattern $mGL_MAX_PIXEL_MAP_TABLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_PIXEL_MAP_TABLE :: GLenum
    GL_MAX_PIXEL_MAP_TABLE = 0x0D34 :: GLenum

    pattern $mGL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT :: GLenum
    GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = 0x8337 :: GLenum

    pattern $mGL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI :: GLenum
    GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI = 0x87F1 :: GLenum

    pattern $mGL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB :: GLenum
    GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB = 0x88B1 :: GLenum

    pattern $mGL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB :: GLenum
    GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB = 0x880B :: GLenum

    pattern $mGL_MAX_PROGRAM_ATTRIBS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_PROGRAM_ATTRIBS_ARB :: GLenum
    GL_MAX_PROGRAM_ATTRIBS_ARB = 0x88AD :: GLenum

    pattern $mGL_MAX_PROGRAM_ATTRIB_COMPONENTS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_PROGRAM_ATTRIB_COMPONENTS_NV :: GLenum
    GL_MAX_PROGRAM_ATTRIB_COMPONENTS_NV = 0x8908 :: GLenum

    pattern $mGL_MAX_PROGRAM_CALL_DEPTH_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_PROGRAM_CALL_DEPTH_NV :: GLenum
    GL_MAX_PROGRAM_CALL_DEPTH_NV = 0x88F5 :: GLenum

    pattern $mGL_MAX_PROGRAM_ENV_PARAMETERS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_PROGRAM_ENV_PARAMETERS_ARB :: GLenum
    GL_MAX_PROGRAM_ENV_PARAMETERS_ARB = 0x88B5 :: GLenum

    pattern $mGL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV :: GLenum
    GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV = 0x88F4 :: GLenum

    pattern $mGL_MAX_PROGRAM_GENERIC_ATTRIBS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_PROGRAM_GENERIC_ATTRIBS_NV :: GLenum
    GL_MAX_PROGRAM_GENERIC_ATTRIBS_NV = 0x8DA5 :: GLenum

    pattern $mGL_MAX_PROGRAM_GENERIC_RESULTS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_PROGRAM_GENERIC_RESULTS_NV :: GLenum
    GL_MAX_PROGRAM_GENERIC_RESULTS_NV = 0x8DA6 :: GLenum

    pattern $mGL_MAX_PROGRAM_IF_DEPTH_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_PROGRAM_IF_DEPTH_NV :: GLenum
    GL_MAX_PROGRAM_IF_DEPTH_NV = 0x88F6 :: GLenum

    pattern $mGL_MAX_PROGRAM_INSTRUCTIONS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_PROGRAM_INSTRUCTIONS_ARB :: GLenum
    GL_MAX_PROGRAM_INSTRUCTIONS_ARB = 0x88A1 :: GLenum

    pattern $mGL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB :: GLenum
    GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB = 0x88B4 :: GLenum

    pattern $mGL_MAX_PROGRAM_LOOP_COUNT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_PROGRAM_LOOP_COUNT_NV :: GLenum
    GL_MAX_PROGRAM_LOOP_COUNT_NV = 0x88F8 :: GLenum

    pattern $mGL_MAX_PROGRAM_LOOP_DEPTH_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_PROGRAM_LOOP_DEPTH_NV :: GLenum
    GL_MAX_PROGRAM_LOOP_DEPTH_NV = 0x88F7 :: GLenum

    pattern $mGL_MAX_PROGRAM_MATRICES_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_PROGRAM_MATRICES_ARB :: GLenum
    GL_MAX_PROGRAM_MATRICES_ARB = 0x862F :: GLenum

    pattern $mGL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB :: GLenum
    GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB = 0x862E :: GLenum

    pattern $mGL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB :: GLenum
    GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = 0x88B3 :: GLenum

    pattern $mGL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB :: GLenum
    GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = 0x880E :: GLenum

    pattern $mGL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB :: GLenum
    GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB = 0x88AF :: GLenum

    pattern $mGL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB :: GLenum
    GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB = 0x88A3 :: GLenum

    pattern $mGL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB :: GLenum
    GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB = 0x88AB :: GLenum

    pattern $mGL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB :: GLenum
    GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB = 0x88A7 :: GLenum

    pattern $mGL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB :: GLenum
    GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = 0x8810 :: GLenum

    pattern $mGL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB :: GLenum
    GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = 0x880F :: GLenum

    pattern $mGL_MAX_PROGRAM_OUTPUT_VERTICES_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_PROGRAM_OUTPUT_VERTICES_NV :: GLenum
    GL_MAX_PROGRAM_OUTPUT_VERTICES_NV = 0x8C27 :: GLenum

    pattern $mGL_MAX_PROGRAM_PARAMETERS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_PROGRAM_PARAMETERS_ARB :: GLenum
    GL_MAX_PROGRAM_PARAMETERS_ARB = 0x88A9 :: GLenum

    pattern $mGL_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV :: GLenum
    GL_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV = 0x8DA0 :: GLenum

    pattern $mGL_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV :: GLenum
    GL_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV = 0x8DA1 :: GLenum

    pattern $mGL_MAX_PROGRAM_PATCH_ATTRIBS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_PROGRAM_PATCH_ATTRIBS_NV :: GLenum
    GL_MAX_PROGRAM_PATCH_ATTRIBS_NV = 0x86D8 :: GLenum

    pattern $mGL_MAX_PROGRAM_RESULT_COMPONENTS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_PROGRAM_RESULT_COMPONENTS_NV :: GLenum
    GL_MAX_PROGRAM_RESULT_COMPONENTS_NV = 0x8909 :: GLenum

    pattern $mGL_MAX_PROGRAM_SUBROUTINE_NUM_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_PROGRAM_SUBROUTINE_NUM_NV :: GLenum
    GL_MAX_PROGRAM_SUBROUTINE_NUM_NV = 0x8F45 :: GLenum

    pattern $mGL_MAX_PROGRAM_SUBROUTINE_PARAMETERS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_PROGRAM_SUBROUTINE_PARAMETERS_NV :: GLenum
    GL_MAX_PROGRAM_SUBROUTINE_PARAMETERS_NV = 0x8F44 :: GLenum

    pattern $mGL_MAX_PROGRAM_TEMPORARIES_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_PROGRAM_TEMPORARIES_ARB :: GLenum
    GL_MAX_PROGRAM_TEMPORARIES_ARB = 0x88A5 :: GLenum

    pattern $mGL_MAX_PROGRAM_TEXEL_OFFSET :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_PROGRAM_TEXEL_OFFSET :: GLenum
    GL_MAX_PROGRAM_TEXEL_OFFSET = 0x8905 :: GLenum

    pattern $mGL_MAX_PROGRAM_TEXEL_OFFSET_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_PROGRAM_TEXEL_OFFSET_EXT :: GLenum
    GL_MAX_PROGRAM_TEXEL_OFFSET_EXT = 0x8905 :: GLenum

    pattern $mGL_MAX_PROGRAM_TEXEL_OFFSET_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_PROGRAM_TEXEL_OFFSET_NV :: GLenum
    GL_MAX_PROGRAM_TEXEL_OFFSET_NV = 0x8905 :: GLenum

    pattern $mGL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB :: GLenum
    GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB = 0x8F9F :: GLenum

    pattern $mGL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET :: GLenum
    GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET = 0x8E5F :: GLenum

    pattern $mGL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB :: GLenum
    GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB = 0x8E5F :: GLenum

    pattern $mGL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_NV :: GLenum
    GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_NV = 0x8E5F :: GLenum

    pattern $mGL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB :: GLenum
    GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB = 0x880D :: GLenum

    pattern $mGL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB :: GLenum
    GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB = 0x880C :: GLenum

    pattern $mGL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV :: GLenum
    GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV = 0x8C28 :: GLenum

    pattern $mGL_MAX_PROJECTION_STACK_DEPTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_PROJECTION_STACK_DEPTH :: GLenum
    GL_MAX_PROJECTION_STACK_DEPTH = 0x0D38 :: GLenum

    pattern $mGL_MAX_RASTER_SAMPLES_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_RASTER_SAMPLES_EXT :: GLenum
    GL_MAX_RASTER_SAMPLES_EXT = 0x9329 :: GLenum

    pattern $mGL_MAX_RATIONAL_EVAL_ORDER_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_RATIONAL_EVAL_ORDER_NV :: GLenum
    GL_MAX_RATIONAL_EVAL_ORDER_NV = 0x86D7 :: GLenum

    pattern $mGL_MAX_RECTANGLE_TEXTURE_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_RECTANGLE_TEXTURE_SIZE :: GLenum
    GL_MAX_RECTANGLE_TEXTURE_SIZE = 0x84F8 :: GLenum

    pattern $mGL_MAX_RECTANGLE_TEXTURE_SIZE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_RECTANGLE_TEXTURE_SIZE_ARB :: GLenum
    GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB = 0x84F8 :: GLenum

    pattern $mGL_MAX_RECTANGLE_TEXTURE_SIZE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_RECTANGLE_TEXTURE_SIZE_NV :: GLenum
    GL_MAX_RECTANGLE_TEXTURE_SIZE_NV = 0x84F8 :: GLenum

    pattern $mGL_MAX_RENDERBUFFER_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_RENDERBUFFER_SIZE :: GLenum
    GL_MAX_RENDERBUFFER_SIZE = 0x84E8 :: GLenum

    pattern $mGL_MAX_RENDERBUFFER_SIZE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_RENDERBUFFER_SIZE_EXT :: GLenum
    GL_MAX_RENDERBUFFER_SIZE_EXT = 0x84E8 :: GLenum

    pattern $mGL_MAX_RENDERBUFFER_SIZE_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_RENDERBUFFER_SIZE_OES :: GLenum
    GL_MAX_RENDERBUFFER_SIZE_OES = 0x84E8 :: GLenum

    pattern $mGL_MAX_SAMPLES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_SAMPLES :: GLenum
    GL_MAX_SAMPLES = 0x8D57 :: GLenum

    pattern $mGL_MAX_SAMPLES_ANGLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_SAMPLES_ANGLE :: GLenum
    GL_MAX_SAMPLES_ANGLE = 0x8D57 :: GLenum

    pattern $mGL_MAX_SAMPLES_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_SAMPLES_APPLE :: GLenum
    GL_MAX_SAMPLES_APPLE = 0x8D57 :: GLenum

    pattern $mGL_MAX_SAMPLES_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_SAMPLES_EXT :: GLenum
    GL_MAX_SAMPLES_EXT = 0x8D57 :: GLenum

    pattern $mGL_MAX_SAMPLES_IMG :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_SAMPLES_IMG :: GLenum
    GL_MAX_SAMPLES_IMG = 0x9135 :: GLenum

    pattern $mGL_MAX_SAMPLES_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_SAMPLES_NV :: GLenum
    GL_MAX_SAMPLES_NV = 0x8D57 :: GLenum

    pattern $mGL_MAX_SAMPLE_MASK_WORDS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_SAMPLE_MASK_WORDS :: GLenum
    GL_MAX_SAMPLE_MASK_WORDS = 0x8E59 :: GLenum

    pattern $mGL_MAX_SAMPLE_MASK_WORDS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_SAMPLE_MASK_WORDS_NV :: GLenum
    GL_MAX_SAMPLE_MASK_WORDS_NV = 0x8E59 :: GLenum

    pattern $mGL_MAX_SERVER_WAIT_TIMEOUT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_SERVER_WAIT_TIMEOUT :: GLenum
    GL_MAX_SERVER_WAIT_TIMEOUT = 0x9111 :: GLenum

    pattern $mGL_MAX_SERVER_WAIT_TIMEOUT_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_SERVER_WAIT_TIMEOUT_APPLE :: GLenum
    GL_MAX_SERVER_WAIT_TIMEOUT_APPLE = 0x9111 :: GLenum

    pattern $mGL_MAX_SHADER_BUFFER_ADDRESS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_SHADER_BUFFER_ADDRESS_NV :: GLenum
    GL_MAX_SHADER_BUFFER_ADDRESS_NV = 0x8F35 :: GLenum

    pattern $mGL_MAX_SHADER_COMBINED_LOCAL_STORAGE_FAST_SIZE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_SHADER_COMBINED_LOCAL_STORAGE_FAST_SIZE_EXT :: GLenum
    GL_MAX_SHADER_COMBINED_LOCAL_STORAGE_FAST_SIZE_EXT = 0x9650 :: GLenum

    pattern $mGL_MAX_SHADER_COMBINED_LOCAL_STORAGE_SIZE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_SHADER_COMBINED_LOCAL_STORAGE_SIZE_EXT :: GLenum
    GL_MAX_SHADER_COMBINED_LOCAL_STORAGE_SIZE_EXT = 0x9651 :: GLenum

    pattern $mGL_MAX_SHADER_COMPILER_THREADS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_SHADER_COMPILER_THREADS_ARB :: GLenum
    GL_MAX_SHADER_COMPILER_THREADS_ARB = 0x91B0 :: GLenum

    pattern $mGL_MAX_SHADER_COMPILER_THREADS_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_SHADER_COMPILER_THREADS_KHR :: GLenum
    GL_MAX_SHADER_COMPILER_THREADS_KHR = 0x91B0 :: GLenum

    pattern $mGL_MAX_SHADER_PIXEL_LOCAL_STORAGE_FAST_SIZE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_SHADER_PIXEL_LOCAL_STORAGE_FAST_SIZE_EXT :: GLenum
    GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_FAST_SIZE_EXT = 0x8F63 :: GLenum

    pattern $mGL_MAX_SHADER_PIXEL_LOCAL_STORAGE_SIZE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_SHADER_PIXEL_LOCAL_STORAGE_SIZE_EXT :: GLenum
    GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_SIZE_EXT = 0x8F67 :: GLenum

    pattern $mGL_MAX_SHADER_STORAGE_BLOCK_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_SHADER_STORAGE_BLOCK_SIZE :: GLenum
    GL_MAX_SHADER_STORAGE_BLOCK_SIZE = 0x90DE :: GLenum

    pattern $mGL_MAX_SHADER_STORAGE_BUFFER_BINDINGS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_SHADER_STORAGE_BUFFER_BINDINGS :: GLenum
    GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS = 0x90DD :: GLenum

    pattern $mGL_MAX_SHADER_SUBSAMPLED_IMAGE_UNITS_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_SHADER_SUBSAMPLED_IMAGE_UNITS_QCOM :: GLenum
    GL_MAX_SHADER_SUBSAMPLED_IMAGE_UNITS_QCOM = 0x8FA1 :: GLenum

    pattern $mGL_MAX_SHININESS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_SHININESS_NV :: GLenum
    GL_MAX_SHININESS_NV = 0x8504 :: GLenum

    pattern $mGL_MAX_SPARSE_3D_TEXTURE_SIZE_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_SPARSE_3D_TEXTURE_SIZE_AMD :: GLenum
    GL_MAX_SPARSE_3D_TEXTURE_SIZE_AMD = 0x9199 :: GLenum

    pattern $mGL_MAX_SPARSE_3D_TEXTURE_SIZE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_SPARSE_3D_TEXTURE_SIZE_ARB :: GLenum
    GL_MAX_SPARSE_3D_TEXTURE_SIZE_ARB = 0x9199 :: GLenum

    pattern $mGL_MAX_SPARSE_3D_TEXTURE_SIZE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_SPARSE_3D_TEXTURE_SIZE_EXT :: GLenum
    GL_MAX_SPARSE_3D_TEXTURE_SIZE_EXT = 0x9199 :: GLenum

    pattern $mGL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS :: GLenum
    GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS = 0x919A :: GLenum

    pattern $mGL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB :: GLenum
    GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB = 0x919A :: GLenum

    pattern $mGL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_EXT :: GLenum
    GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_EXT = 0x919A :: GLenum

    pattern $mGL_MAX_SPARSE_TEXTURE_SIZE_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_SPARSE_TEXTURE_SIZE_AMD :: GLenum
    GL_MAX_SPARSE_TEXTURE_SIZE_AMD = 0x9198 :: GLenum

    pattern $mGL_MAX_SPARSE_TEXTURE_SIZE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_SPARSE_TEXTURE_SIZE_ARB :: GLenum
    GL_MAX_SPARSE_TEXTURE_SIZE_ARB = 0x9198 :: GLenum

    pattern $mGL_MAX_SPARSE_TEXTURE_SIZE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_SPARSE_TEXTURE_SIZE_EXT :: GLenum
    GL_MAX_SPARSE_TEXTURE_SIZE_EXT = 0x9198 :: GLenum

    pattern $mGL_MAX_SPOT_EXPONENT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_SPOT_EXPONENT_NV :: GLenum
    GL_MAX_SPOT_EXPONENT_NV = 0x8505 :: GLenum

    pattern $mGL_MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV :: GLenum
    GL_MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV = 0x9349 :: GLenum

    pattern $mGL_MAX_SUBROUTINES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_SUBROUTINES :: GLenum
    GL_MAX_SUBROUTINES = 0x8DE7 :: GLenum

    pattern $mGL_MAX_SUBROUTINE_UNIFORM_LOCATIONS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_SUBROUTINE_UNIFORM_LOCATIONS :: GLenum
    GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS = 0x8DE8 :: GLenum

    pattern $mGL_MAX_TASK_ATOMIC_COUNTERS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TASK_ATOMIC_COUNTERS_NV :: GLenum
    GL_MAX_TASK_ATOMIC_COUNTERS_NV = 0x8E6D :: GLenum

    pattern $mGL_MAX_TASK_ATOMIC_COUNTER_BUFFERS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TASK_ATOMIC_COUNTER_BUFFERS_NV :: GLenum
    GL_MAX_TASK_ATOMIC_COUNTER_BUFFERS_NV = 0x8E6C :: GLenum

    pattern $mGL_MAX_TASK_IMAGE_UNIFORMS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TASK_IMAGE_UNIFORMS_NV :: GLenum
    GL_MAX_TASK_IMAGE_UNIFORMS_NV = 0x8E6A :: GLenum

    pattern $mGL_MAX_TASK_OUTPUT_COUNT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TASK_OUTPUT_COUNT_NV :: GLenum
    GL_MAX_TASK_OUTPUT_COUNT_NV = 0x953A :: GLenum

    pattern $mGL_MAX_TASK_SHADER_STORAGE_BLOCKS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TASK_SHADER_STORAGE_BLOCKS_NV :: GLenum
    GL_MAX_TASK_SHADER_STORAGE_BLOCKS_NV = 0x8E6E :: GLenum

    pattern $mGL_MAX_TASK_TEXTURE_IMAGE_UNITS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TASK_TEXTURE_IMAGE_UNITS_NV :: GLenum
    GL_MAX_TASK_TEXTURE_IMAGE_UNITS_NV = 0x8E69 :: GLenum

    pattern $mGL_MAX_TASK_TOTAL_MEMORY_SIZE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TASK_TOTAL_MEMORY_SIZE_NV :: GLenum
    GL_MAX_TASK_TOTAL_MEMORY_SIZE_NV = 0x9537 :: GLenum

    pattern $mGL_MAX_TASK_UNIFORM_BLOCKS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TASK_UNIFORM_BLOCKS_NV :: GLenum
    GL_MAX_TASK_UNIFORM_BLOCKS_NV = 0x8E68 :: GLenum

    pattern $mGL_MAX_TASK_UNIFORM_COMPONENTS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TASK_UNIFORM_COMPONENTS_NV :: GLenum
    GL_MAX_TASK_UNIFORM_COMPONENTS_NV = 0x8E6B :: GLenum

    pattern $mGL_MAX_TASK_WORK_GROUP_INVOCATIONS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TASK_WORK_GROUP_INVOCATIONS_NV :: GLenum
    GL_MAX_TASK_WORK_GROUP_INVOCATIONS_NV = 0x95A3 :: GLenum

    pattern $mGL_MAX_TASK_WORK_GROUP_SIZE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TASK_WORK_GROUP_SIZE_NV :: GLenum
    GL_MAX_TASK_WORK_GROUP_SIZE_NV = 0x953C :: GLenum

    pattern $mGL_MAX_TESS_CONTROL_ATOMIC_COUNTERS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_CONTROL_ATOMIC_COUNTERS :: GLenum
    GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS = 0x92D3 :: GLenum

    pattern $mGL_MAX_TESS_CONTROL_ATOMIC_COUNTERS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_CONTROL_ATOMIC_COUNTERS_EXT :: GLenum
    GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS_EXT = 0x92D3 :: GLenum

    pattern $mGL_MAX_TESS_CONTROL_ATOMIC_COUNTERS_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_CONTROL_ATOMIC_COUNTERS_OES :: GLenum
    GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS_OES = 0x92D3 :: GLenum

    pattern $mGL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS :: GLenum
    GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS = 0x92CD :: GLenum

    pattern $mGL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_EXT :: GLenum
    GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_EXT = 0x92CD :: GLenum

    pattern $mGL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_OES :: GLenum
    GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_OES = 0x92CD :: GLenum

    pattern $mGL_MAX_TESS_CONTROL_IMAGE_UNIFORMS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_CONTROL_IMAGE_UNIFORMS :: GLenum
    GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS = 0x90CB :: GLenum

    pattern $mGL_MAX_TESS_CONTROL_IMAGE_UNIFORMS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_CONTROL_IMAGE_UNIFORMS_EXT :: GLenum
    GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS_EXT = 0x90CB :: GLenum

    pattern $mGL_MAX_TESS_CONTROL_IMAGE_UNIFORMS_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_CONTROL_IMAGE_UNIFORMS_OES :: GLenum
    GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS_OES = 0x90CB :: GLenum

    pattern $mGL_MAX_TESS_CONTROL_INPUT_COMPONENTS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_CONTROL_INPUT_COMPONENTS :: GLenum
    GL_MAX_TESS_CONTROL_INPUT_COMPONENTS = 0x886C :: GLenum

    pattern $mGL_MAX_TESS_CONTROL_INPUT_COMPONENTS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_CONTROL_INPUT_COMPONENTS_EXT :: GLenum
    GL_MAX_TESS_CONTROL_INPUT_COMPONENTS_EXT = 0x886C :: GLenum

    pattern $mGL_MAX_TESS_CONTROL_INPUT_COMPONENTS_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_CONTROL_INPUT_COMPONENTS_OES :: GLenum
    GL_MAX_TESS_CONTROL_INPUT_COMPONENTS_OES = 0x886C :: GLenum

    pattern $mGL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS :: GLenum
    GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS = 0x8E83 :: GLenum

    pattern $mGL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_EXT :: GLenum
    GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_EXT = 0x8E83 :: GLenum

    pattern $mGL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_OES :: GLenum
    GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_OES = 0x8E83 :: GLenum

    pattern $mGL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS :: GLenum
    GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS = 0x90D8 :: GLenum

    pattern $mGL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_EXT :: GLenum
    GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_EXT = 0x90D8 :: GLenum

    pattern $mGL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_OES :: GLenum
    GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_OES = 0x90D8 :: GLenum

    pattern $mGL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS :: GLenum
    GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS = 0x8E81 :: GLenum

    pattern $mGL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_EXT :: GLenum
    GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_EXT = 0x8E81 :: GLenum

    pattern $mGL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_OES :: GLenum
    GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_OES = 0x8E81 :: GLenum

    pattern $mGL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS :: GLenum
    GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS = 0x8E85 :: GLenum

    pattern $mGL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_EXT :: GLenum
    GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_EXT = 0x8E85 :: GLenum

    pattern $mGL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_OES :: GLenum
    GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_OES = 0x8E85 :: GLenum

    pattern $mGL_MAX_TESS_CONTROL_UNIFORM_BLOCKS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_CONTROL_UNIFORM_BLOCKS :: GLenum
    GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS = 0x8E89 :: GLenum

    pattern $mGL_MAX_TESS_CONTROL_UNIFORM_BLOCKS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_CONTROL_UNIFORM_BLOCKS_EXT :: GLenum
    GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS_EXT = 0x8E89 :: GLenum

    pattern $mGL_MAX_TESS_CONTROL_UNIFORM_BLOCKS_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_CONTROL_UNIFORM_BLOCKS_OES :: GLenum
    GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS_OES = 0x8E89 :: GLenum

    pattern $mGL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS :: GLenum
    GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS = 0x8E7F :: GLenum

    pattern $mGL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_EXT :: GLenum
    GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_EXT = 0x8E7F :: GLenum

    pattern $mGL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_OES :: GLenum
    GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_OES = 0x8E7F :: GLenum

    pattern $mGL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS :: GLenum
    GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS = 0x92D4 :: GLenum

    pattern $mGL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_EXT :: GLenum
    GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_EXT = 0x92D4 :: GLenum

    pattern $mGL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_OES :: GLenum
    GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_OES = 0x92D4 :: GLenum

    pattern $mGL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS :: GLenum
    GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS = 0x92CE :: GLenum

    pattern $mGL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_EXT :: GLenum
    GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_EXT = 0x92CE :: GLenum

    pattern $mGL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_OES :: GLenum
    GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_OES = 0x92CE :: GLenum

    pattern $mGL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS :: GLenum
    GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS = 0x90CC :: GLenum

    pattern $mGL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_EXT :: GLenum
    GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_EXT = 0x90CC :: GLenum

    pattern $mGL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_OES :: GLenum
    GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_OES = 0x90CC :: GLenum

    pattern $mGL_MAX_TESS_EVALUATION_INPUT_COMPONENTS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_EVALUATION_INPUT_COMPONENTS :: GLenum
    GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS = 0x886D :: GLenum

    pattern $mGL_MAX_TESS_EVALUATION_INPUT_COMPONENTS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_EVALUATION_INPUT_COMPONENTS_EXT :: GLenum
    GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS_EXT = 0x886D :: GLenum

    pattern $mGL_MAX_TESS_EVALUATION_INPUT_COMPONENTS_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_EVALUATION_INPUT_COMPONENTS_OES :: GLenum
    GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS_OES = 0x886D :: GLenum

    pattern $mGL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS :: GLenum
    GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS = 0x8E86 :: GLenum

    pattern $mGL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_EXT :: GLenum
    GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_EXT = 0x8E86 :: GLenum

    pattern $mGL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_OES :: GLenum
    GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_OES = 0x8E86 :: GLenum

    pattern $mGL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS :: GLenum
    GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS = 0x90D9 :: GLenum

    pattern $mGL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_EXT :: GLenum
    GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_EXT = 0x90D9 :: GLenum

    pattern $mGL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_OES :: GLenum
    GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_OES = 0x90D9 :: GLenum

    pattern $mGL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS :: GLenum
    GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS = 0x8E82 :: GLenum

    pattern $mGL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_EXT :: GLenum
    GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_EXT = 0x8E82 :: GLenum

    pattern $mGL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_OES :: GLenum
    GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_OES = 0x8E82 :: GLenum

    pattern $mGL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS :: GLenum
    GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS = 0x8E8A :: GLenum

    pattern $mGL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_EXT :: GLenum
    GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_EXT = 0x8E8A :: GLenum

    pattern $mGL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_OES :: GLenum
    GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_OES = 0x8E8A :: GLenum

    pattern $mGL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS :: GLenum
    GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS = 0x8E80 :: GLenum

    pattern $mGL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT :: GLenum
    GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT = 0x8E80 :: GLenum

    pattern $mGL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_OES :: GLenum
    GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_OES = 0x8E80 :: GLenum

    pattern $mGL_MAX_TESS_GEN_LEVEL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_GEN_LEVEL :: GLenum
    GL_MAX_TESS_GEN_LEVEL = 0x8E7E :: GLenum

    pattern $mGL_MAX_TESS_GEN_LEVEL_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_GEN_LEVEL_EXT :: GLenum
    GL_MAX_TESS_GEN_LEVEL_EXT = 0x8E7E :: GLenum

    pattern $mGL_MAX_TESS_GEN_LEVEL_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_GEN_LEVEL_OES :: GLenum
    GL_MAX_TESS_GEN_LEVEL_OES = 0x8E7E :: GLenum

    pattern $mGL_MAX_TESS_PATCH_COMPONENTS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_PATCH_COMPONENTS :: GLenum
    GL_MAX_TESS_PATCH_COMPONENTS = 0x8E84 :: GLenum

    pattern $mGL_MAX_TESS_PATCH_COMPONENTS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_PATCH_COMPONENTS_EXT :: GLenum
    GL_MAX_TESS_PATCH_COMPONENTS_EXT = 0x8E84 :: GLenum

    pattern $mGL_MAX_TESS_PATCH_COMPONENTS_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TESS_PATCH_COMPONENTS_OES :: GLenum
    GL_MAX_TESS_PATCH_COMPONENTS_OES = 0x8E84 :: GLenum

    pattern $mGL_MAX_TEXTURE_BUFFER_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TEXTURE_BUFFER_SIZE :: GLenum
    GL_MAX_TEXTURE_BUFFER_SIZE = 0x8C2B :: GLenum

    pattern $mGL_MAX_TEXTURE_BUFFER_SIZE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TEXTURE_BUFFER_SIZE_ARB :: GLenum
    GL_MAX_TEXTURE_BUFFER_SIZE_ARB = 0x8C2B :: GLenum

    pattern $mGL_MAX_TEXTURE_BUFFER_SIZE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TEXTURE_BUFFER_SIZE_EXT :: GLenum
    GL_MAX_TEXTURE_BUFFER_SIZE_EXT = 0x8C2B :: GLenum

    pattern $mGL_MAX_TEXTURE_BUFFER_SIZE_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TEXTURE_BUFFER_SIZE_OES :: GLenum
    GL_MAX_TEXTURE_BUFFER_SIZE_OES = 0x8C2B :: GLenum

    pattern $mGL_MAX_TEXTURE_COORDS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TEXTURE_COORDS :: GLenum
    GL_MAX_TEXTURE_COORDS = 0x8871 :: GLenum

    pattern $mGL_MAX_TEXTURE_COORDS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TEXTURE_COORDS_ARB :: GLenum
    GL_MAX_TEXTURE_COORDS_ARB = 0x8871 :: GLenum

    pattern $mGL_MAX_TEXTURE_COORDS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TEXTURE_COORDS_NV :: GLenum
    GL_MAX_TEXTURE_COORDS_NV = 0x8871 :: GLenum

    pattern $mGL_MAX_TEXTURE_IMAGE_UNITS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TEXTURE_IMAGE_UNITS :: GLenum
    GL_MAX_TEXTURE_IMAGE_UNITS = 0x8872 :: GLenum

    pattern $mGL_MAX_TEXTURE_IMAGE_UNITS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TEXTURE_IMAGE_UNITS_ARB :: GLenum
    GL_MAX_TEXTURE_IMAGE_UNITS_ARB = 0x8872 :: GLenum

    pattern $mGL_MAX_TEXTURE_IMAGE_UNITS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TEXTURE_IMAGE_UNITS_NV :: GLenum
    GL_MAX_TEXTURE_IMAGE_UNITS_NV = 0x8872 :: GLenum

    pattern $mGL_MAX_TEXTURE_LOD_BIAS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TEXTURE_LOD_BIAS :: GLenum
    GL_MAX_TEXTURE_LOD_BIAS = 0x84FD :: GLenum

    pattern $mGL_MAX_TEXTURE_LOD_BIAS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TEXTURE_LOD_BIAS_EXT :: GLenum
    GL_MAX_TEXTURE_LOD_BIAS_EXT = 0x84FD :: GLenum

    pattern $mGL_MAX_TEXTURE_MAX_ANISOTROPY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TEXTURE_MAX_ANISOTROPY :: GLenum
    GL_MAX_TEXTURE_MAX_ANISOTROPY = 0x84FF :: GLenum

    pattern $mGL_MAX_TEXTURE_MAX_ANISOTROPY_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TEXTURE_MAX_ANISOTROPY_EXT :: GLenum
    GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT = 0x84FF :: GLenum

    pattern $mGL_MAX_TEXTURE_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TEXTURE_SIZE :: GLenum
    GL_MAX_TEXTURE_SIZE = 0x0D33 :: GLenum

    pattern $mGL_MAX_TEXTURE_STACK_DEPTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TEXTURE_STACK_DEPTH :: GLenum
    GL_MAX_TEXTURE_STACK_DEPTH = 0x0D39 :: GLenum

    pattern $mGL_MAX_TEXTURE_UNITS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TEXTURE_UNITS :: GLenum
    GL_MAX_TEXTURE_UNITS = 0x84E2 :: GLenum

    pattern $mGL_MAX_TEXTURE_UNITS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TEXTURE_UNITS_ARB :: GLenum
    GL_MAX_TEXTURE_UNITS_ARB = 0x84E2 :: GLenum

    pattern $mGL_MAX_TRACK_MATRICES_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TRACK_MATRICES_NV :: GLenum
    GL_MAX_TRACK_MATRICES_NV = 0x862F :: GLenum

    pattern $mGL_MAX_TRACK_MATRIX_STACK_DEPTH_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TRACK_MATRIX_STACK_DEPTH_NV :: GLenum
    GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV = 0x862E :: GLenum

    pattern $mGL_MAX_TRANSFORM_FEEDBACK_BUFFERS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TRANSFORM_FEEDBACK_BUFFERS :: GLenum
    GL_MAX_TRANSFORM_FEEDBACK_BUFFERS = 0x8E70 :: GLenum

    pattern $mGL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS :: GLenum
    GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = 0x8C8A :: GLenum

    pattern $mGL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT :: GLenum
    GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT = 0x8C8A :: GLenum

    pattern $mGL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV :: GLenum
    GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV = 0x8C8A :: GLenum

    pattern $mGL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS :: GLenum
    GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = 0x8C8B :: GLenum

    pattern $mGL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT :: GLenum
    GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT = 0x8C8B :: GLenum

    pattern $mGL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV :: GLenum
    GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV = 0x8C8B :: GLenum

    pattern $mGL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS :: GLenum
    GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = 0x8C80 :: GLenum

    pattern $mGL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT :: GLenum
    GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT = 0x8C80 :: GLenum

    pattern $mGL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV :: GLenum
    GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV = 0x8C80 :: GLenum

    pattern $mGL_MAX_UNIFORM_BLOCK_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_UNIFORM_BLOCK_SIZE :: GLenum
    GL_MAX_UNIFORM_BLOCK_SIZE = 0x8A30 :: GLenum

    pattern $mGL_MAX_UNIFORM_BUFFER_BINDINGS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_UNIFORM_BUFFER_BINDINGS :: GLenum
    GL_MAX_UNIFORM_BUFFER_BINDINGS = 0x8A2F :: GLenum

    pattern $mGL_MAX_UNIFORM_LOCATIONS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_UNIFORM_LOCATIONS :: GLenum
    GL_MAX_UNIFORM_LOCATIONS = 0x826E :: GLenum

    pattern $mGL_MAX_VARYING_COMPONENTS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_VARYING_COMPONENTS :: GLenum
    GL_MAX_VARYING_COMPONENTS = 0x8B4B :: GLenum

    pattern $mGL_MAX_VARYING_COMPONENTS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_VARYING_COMPONENTS_EXT :: GLenum
    GL_MAX_VARYING_COMPONENTS_EXT = 0x8B4B :: GLenum

    pattern $mGL_MAX_VARYING_FLOATS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_VARYING_FLOATS :: GLenum
    GL_MAX_VARYING_FLOATS = 0x8B4B :: GLenum

    pattern $mGL_MAX_VARYING_FLOATS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_VARYING_FLOATS_ARB :: GLenum
    GL_MAX_VARYING_FLOATS_ARB = 0x8B4B :: GLenum

    pattern $mGL_MAX_VARYING_VECTORS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_VARYING_VECTORS :: GLenum
    GL_MAX_VARYING_VECTORS = 0x8DFC :: GLenum

    pattern $mGL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV :: GLenum
    GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV = 0x8520 :: GLenum

    pattern $mGL_MAX_VERTEX_ATOMIC_COUNTERS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_VERTEX_ATOMIC_COUNTERS :: GLenum
    GL_MAX_VERTEX_ATOMIC_COUNTERS = 0x92D2 :: GLenum

    pattern $mGL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS :: GLenum
    GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS = 0x92CC :: GLenum

    pattern $mGL_MAX_VERTEX_ATTRIBS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_VERTEX_ATTRIBS :: GLenum
    GL_MAX_VERTEX_ATTRIBS = 0x8869 :: GLenum

    pattern $mGL_MAX_VERTEX_ATTRIBS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_VERTEX_ATTRIBS_ARB :: GLenum
    GL_MAX_VERTEX_ATTRIBS_ARB = 0x8869 :: GLenum

    pattern $mGL_MAX_VERTEX_ATTRIB_BINDINGS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_VERTEX_ATTRIB_BINDINGS :: GLenum
    GL_MAX_VERTEX_ATTRIB_BINDINGS = 0x82DA :: GLenum

    pattern $mGL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET :: GLenum
    GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET = 0x82D9 :: GLenum

    pattern $mGL_MAX_VERTEX_ATTRIB_STRIDE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_VERTEX_ATTRIB_STRIDE :: GLenum
    GL_MAX_VERTEX_ATTRIB_STRIDE = 0x82E5 :: GLenum

    pattern $mGL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT :: GLenum
    GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT = 0x8DE2 :: GLenum

    pattern $mGL_MAX_VERTEX_HINT_PGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_VERTEX_HINT_PGI :: GLenum
    GL_MAX_VERTEX_HINT_PGI = 0x1A22D :: GLenum

    pattern $mGL_MAX_VERTEX_IMAGE_UNIFORMS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_VERTEX_IMAGE_UNIFORMS :: GLenum
    GL_MAX_VERTEX_IMAGE_UNIFORMS = 0x90CA :: GLenum

    pattern $mGL_MAX_VERTEX_OUTPUT_COMPONENTS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_VERTEX_OUTPUT_COMPONENTS :: GLenum
    GL_MAX_VERTEX_OUTPUT_COMPONENTS = 0x9122 :: GLenum

    pattern $mGL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT :: GLenum
    GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87C5 :: GLenum

    pattern $mGL_MAX_VERTEX_SHADER_INVARIANTS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_VERTEX_SHADER_INVARIANTS_EXT :: GLenum
    GL_MAX_VERTEX_SHADER_INVARIANTS_EXT = 0x87C7 :: GLenum

    pattern $mGL_MAX_VERTEX_SHADER_LOCALS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_VERTEX_SHADER_LOCALS_EXT :: GLenum
    GL_MAX_VERTEX_SHADER_LOCALS_EXT = 0x87C9 :: GLenum

    pattern $mGL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT :: GLenum
    GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87C8 :: GLenum

    pattern $mGL_MAX_VERTEX_SHADER_STORAGE_BLOCKS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_VERTEX_SHADER_STORAGE_BLOCKS :: GLenum
    GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS = 0x90D6 :: GLenum

    pattern $mGL_MAX_VERTEX_SHADER_VARIANTS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_VERTEX_SHADER_VARIANTS_EXT :: GLenum
    GL_MAX_VERTEX_SHADER_VARIANTS_EXT = 0x87C6 :: GLenum

    pattern $mGL_MAX_VERTEX_STREAMS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_VERTEX_STREAMS :: GLenum
    GL_MAX_VERTEX_STREAMS = 0x8E71 :: GLenum

    pattern $mGL_MAX_VERTEX_STREAMS_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_VERTEX_STREAMS_ATI :: GLenum
    GL_MAX_VERTEX_STREAMS_ATI = 0x876B :: GLenum

    pattern $mGL_MAX_VERTEX_TEXTURE_IMAGE_UNITS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_VERTEX_TEXTURE_IMAGE_UNITS :: GLenum
    GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS = 0x8B4C :: GLenum

    pattern $mGL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB :: GLenum
    GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB = 0x8B4C :: GLenum

    pattern $mGL_MAX_VERTEX_UNIFORM_BLOCKS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_VERTEX_UNIFORM_BLOCKS :: GLenum
    GL_MAX_VERTEX_UNIFORM_BLOCKS = 0x8A2B :: GLenum

    pattern $mGL_MAX_VERTEX_UNIFORM_COMPONENTS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_VERTEX_UNIFORM_COMPONENTS :: GLenum
    GL_MAX_VERTEX_UNIFORM_COMPONENTS = 0x8B4A :: GLenum

    pattern $mGL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB :: GLenum
    GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB = 0x8B4A :: GLenum

    pattern $mGL_MAX_VERTEX_UNIFORM_VECTORS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_VERTEX_UNIFORM_VECTORS :: GLenum
    GL_MAX_VERTEX_UNIFORM_VECTORS = 0x8DFB :: GLenum

    pattern $mGL_MAX_VERTEX_UNITS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_VERTEX_UNITS_ARB :: GLenum
    GL_MAX_VERTEX_UNITS_ARB = 0x86A4 :: GLenum

    pattern $mGL_MAX_VERTEX_UNITS_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_VERTEX_UNITS_OES :: GLenum
    GL_MAX_VERTEX_UNITS_OES = 0x86A4 :: GLenum

    pattern $mGL_MAX_VERTEX_VARYING_COMPONENTS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_VERTEX_VARYING_COMPONENTS_ARB :: GLenum
    GL_MAX_VERTEX_VARYING_COMPONENTS_ARB = 0x8DDE :: GLenum

    pattern $mGL_MAX_VERTEX_VARYING_COMPONENTS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_VERTEX_VARYING_COMPONENTS_EXT :: GLenum
    GL_MAX_VERTEX_VARYING_COMPONENTS_EXT = 0x8DDE :: GLenum

    pattern $mGL_MAX_VIEWPORTS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_VIEWPORTS :: GLenum
    GL_MAX_VIEWPORTS = 0x825B :: GLenum

    pattern $mGL_MAX_VIEWPORTS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_VIEWPORTS_NV :: GLenum
    GL_MAX_VIEWPORTS_NV = 0x825B :: GLenum

    pattern $mGL_MAX_VIEWPORTS_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_VIEWPORTS_OES :: GLenum
    GL_MAX_VIEWPORTS_OES = 0x825B :: GLenum

    pattern $mGL_MAX_VIEWPORT_DIMS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_VIEWPORT_DIMS :: GLenum
    GL_MAX_VIEWPORT_DIMS = 0x0D3A :: GLenum

    pattern $mGL_MAX_VIEWS_OVR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_VIEWS_OVR :: GLenum
    GL_MAX_VIEWS_OVR = 0x9631 :: GLenum

    pattern $mGL_MAX_WIDTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_WIDTH :: GLenum
    GL_MAX_WIDTH = 0x827E :: GLenum

    pattern $mGL_MAX_WINDOW_RECTANGLES_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MAX_WINDOW_RECTANGLES_EXT :: GLenum
    GL_MAX_WINDOW_RECTANGLES_EXT = 0x8F14 :: GLenum

    pattern $mGL_MEDIUM_FLOAT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MEDIUM_FLOAT :: GLenum
    GL_MEDIUM_FLOAT = 0x8DF1 :: GLenum

    pattern $mGL_MEDIUM_INT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MEDIUM_INT :: GLenum
    GL_MEDIUM_INT = 0x8DF4 :: GLenum

    pattern $mGL_MEMORY_ATTACHABLE_ALIGNMENT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MEMORY_ATTACHABLE_ALIGNMENT_NV :: GLenum
    GL_MEMORY_ATTACHABLE_ALIGNMENT_NV = 0x95A6 :: GLenum

    pattern $mGL_MEMORY_ATTACHABLE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MEMORY_ATTACHABLE_NV :: GLenum
    GL_MEMORY_ATTACHABLE_NV = 0x95A8 :: GLenum

    pattern $mGL_MEMORY_ATTACHABLE_SIZE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MEMORY_ATTACHABLE_SIZE_NV :: GLenum
    GL_MEMORY_ATTACHABLE_SIZE_NV = 0x95A7 :: GLenum

    pattern $mGL_MESH_OUTPUT_PER_PRIMITIVE_GRANULARITY_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MESH_OUTPUT_PER_PRIMITIVE_GRANULARITY_NV :: GLenum
    GL_MESH_OUTPUT_PER_PRIMITIVE_GRANULARITY_NV = 0x9543 :: GLenum

    pattern $mGL_MESH_OUTPUT_PER_VERTEX_GRANULARITY_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MESH_OUTPUT_PER_VERTEX_GRANULARITY_NV :: GLenum
    GL_MESH_OUTPUT_PER_VERTEX_GRANULARITY_NV = 0x92DF :: GLenum

    pattern $mGL_MESH_OUTPUT_TYPE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MESH_OUTPUT_TYPE_NV :: GLenum
    GL_MESH_OUTPUT_TYPE_NV = 0x957B :: GLenum

    pattern $mGL_MESH_PRIMITIVES_OUT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MESH_PRIMITIVES_OUT_NV :: GLenum
    GL_MESH_PRIMITIVES_OUT_NV = 0x957A :: GLenum

    pattern $mGL_MESH_SHADER_BIT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MESH_SHADER_BIT_NV :: GLenum
    GL_MESH_SHADER_BIT_NV = 0x00000040 :: GLbitfield

    pattern $mGL_MESH_SHADER_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MESH_SHADER_NV :: GLenum
    GL_MESH_SHADER_NV = 0x9559 :: GLenum

    pattern $mGL_MESH_SUBROUTINE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MESH_SUBROUTINE_NV :: GLenum
    GL_MESH_SUBROUTINE_NV = 0x957C :: GLenum

    pattern $mGL_MESH_SUBROUTINE_UNIFORM_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MESH_SUBROUTINE_UNIFORM_NV :: GLenum
    GL_MESH_SUBROUTINE_UNIFORM_NV = 0x957E :: GLenum

    pattern $mGL_MESH_VERTICES_OUT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MESH_VERTICES_OUT_NV :: GLenum
    GL_MESH_VERTICES_OUT_NV = 0x9579 :: GLenum

    pattern $mGL_MESH_WORK_GROUP_SIZE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MESH_WORK_GROUP_SIZE_NV :: GLenum
    GL_MESH_WORK_GROUP_SIZE_NV = 0x953E :: GLenum

    pattern $mGL_MIN :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MIN :: GLenum
    GL_MIN = 0x8007 :: GLenum

    pattern $mGL_MINMAX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MINMAX :: GLenum
    GL_MINMAX = 0x802E :: GLenum

    pattern $mGL_MINMAX_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MINMAX_EXT :: GLenum
    GL_MINMAX_EXT = 0x802E :: GLenum

    pattern $mGL_MINMAX_FORMAT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MINMAX_FORMAT :: GLenum
    GL_MINMAX_FORMAT = 0x802F :: GLenum

    pattern $mGL_MINMAX_FORMAT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MINMAX_FORMAT_EXT :: GLenum
    GL_MINMAX_FORMAT_EXT = 0x802F :: GLenum

    pattern $mGL_MINMAX_SINK :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MINMAX_SINK :: GLenum
    GL_MINMAX_SINK = 0x8030 :: GLenum

    pattern $mGL_MINMAX_SINK_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MINMAX_SINK_EXT :: GLenum
    GL_MINMAX_SINK_EXT = 0x8030 :: GLenum

    pattern $mGL_MINOR_VERSION :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MINOR_VERSION :: GLenum
    GL_MINOR_VERSION = 0x821C :: GLenum

    pattern $mGL_MINUS_CLAMPED_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MINUS_CLAMPED_NV :: GLenum
    GL_MINUS_CLAMPED_NV = 0x92B3 :: GLenum

    pattern $mGL_MINUS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MINUS_NV :: GLenum
    GL_MINUS_NV = 0x929F :: GLenum

    pattern $mGL_MIN_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MIN_EXT :: GLenum
    GL_MIN_EXT = 0x8007 :: GLenum

    pattern $mGL_MIN_FRAGMENT_INTERPOLATION_OFFSET :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MIN_FRAGMENT_INTERPOLATION_OFFSET :: GLenum
    GL_MIN_FRAGMENT_INTERPOLATION_OFFSET = 0x8E5B :: GLenum

    pattern $mGL_MIN_FRAGMENT_INTERPOLATION_OFFSET_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MIN_FRAGMENT_INTERPOLATION_OFFSET_NV :: GLenum
    GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_NV = 0x8E5B :: GLenum

    pattern $mGL_MIN_FRAGMENT_INTERPOLATION_OFFSET_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MIN_FRAGMENT_INTERPOLATION_OFFSET_OES :: GLenum
    GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_OES = 0x8E5B :: GLenum

    pattern $mGL_MIN_LOD_WARNING_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MIN_LOD_WARNING_AMD :: GLenum
    GL_MIN_LOD_WARNING_AMD = 0x919C :: GLenum

    pattern $mGL_MIN_MAP_BUFFER_ALIGNMENT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MIN_MAP_BUFFER_ALIGNMENT :: GLenum
    GL_MIN_MAP_BUFFER_ALIGNMENT = 0x90BC :: GLenum

    pattern $mGL_MIN_PROGRAM_TEXEL_OFFSET :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MIN_PROGRAM_TEXEL_OFFSET :: GLenum
    GL_MIN_PROGRAM_TEXEL_OFFSET = 0x8904 :: GLenum

    pattern $mGL_MIN_PROGRAM_TEXEL_OFFSET_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MIN_PROGRAM_TEXEL_OFFSET_EXT :: GLenum
    GL_MIN_PROGRAM_TEXEL_OFFSET_EXT = 0x8904 :: GLenum

    pattern $mGL_MIN_PROGRAM_TEXEL_OFFSET_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MIN_PROGRAM_TEXEL_OFFSET_NV :: GLenum
    GL_MIN_PROGRAM_TEXEL_OFFSET_NV = 0x8904 :: GLenum

    pattern $mGL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET :: GLenum
    GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET = 0x8E5E :: GLenum

    pattern $mGL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB :: GLenum
    GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB = 0x8E5E :: GLenum

    pattern $mGL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_NV :: GLenum
    GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_NV = 0x8E5E :: GLenum

    pattern $mGL_MIN_SAMPLE_SHADING_VALUE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MIN_SAMPLE_SHADING_VALUE :: GLenum
    GL_MIN_SAMPLE_SHADING_VALUE = 0x8C37 :: GLenum

    pattern $mGL_MIN_SAMPLE_SHADING_VALUE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MIN_SAMPLE_SHADING_VALUE_ARB :: GLenum
    GL_MIN_SAMPLE_SHADING_VALUE_ARB = 0x8C37 :: GLenum

    pattern $mGL_MIN_SAMPLE_SHADING_VALUE_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MIN_SAMPLE_SHADING_VALUE_OES :: GLenum
    GL_MIN_SAMPLE_SHADING_VALUE_OES = 0x8C37 :: GLenum

    pattern $mGL_MIN_SPARSE_LEVEL_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MIN_SPARSE_LEVEL_AMD :: GLenum
    GL_MIN_SPARSE_LEVEL_AMD = 0x919B :: GLenum

    pattern $mGL_MIPMAP :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MIPMAP :: GLenum
    GL_MIPMAP = 0x8293 :: GLenum

    pattern $mGL_MIRRORED_REPEAT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MIRRORED_REPEAT :: GLenum
    GL_MIRRORED_REPEAT = 0x8370 :: GLenum

    pattern $mGL_MIRRORED_REPEAT_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MIRRORED_REPEAT_ARB :: GLenum
    GL_MIRRORED_REPEAT_ARB = 0x8370 :: GLenum

    pattern $mGL_MIRRORED_REPEAT_IBM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MIRRORED_REPEAT_IBM :: GLenum
    GL_MIRRORED_REPEAT_IBM = 0x8370 :: GLenum

    pattern $mGL_MIRRORED_REPEAT_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MIRRORED_REPEAT_OES :: GLenum
    GL_MIRRORED_REPEAT_OES = 0x8370 :: GLenum

    pattern $mGL_MIRROR_CLAMP_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MIRROR_CLAMP_ATI :: GLenum
    GL_MIRROR_CLAMP_ATI = 0x8742 :: GLenum

    pattern $mGL_MIRROR_CLAMP_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MIRROR_CLAMP_EXT :: GLenum
    GL_MIRROR_CLAMP_EXT = 0x8742 :: GLenum

    pattern $mGL_MIRROR_CLAMP_TO_BORDER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MIRROR_CLAMP_TO_BORDER_EXT :: GLenum
    GL_MIRROR_CLAMP_TO_BORDER_EXT = 0x8912 :: GLenum

    pattern $mGL_MIRROR_CLAMP_TO_EDGE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MIRROR_CLAMP_TO_EDGE :: GLenum
    GL_MIRROR_CLAMP_TO_EDGE = 0x8743 :: GLenum

    pattern $mGL_MIRROR_CLAMP_TO_EDGE_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MIRROR_CLAMP_TO_EDGE_ATI :: GLenum
    GL_MIRROR_CLAMP_TO_EDGE_ATI = 0x8743 :: GLenum

    pattern $mGL_MIRROR_CLAMP_TO_EDGE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MIRROR_CLAMP_TO_EDGE_EXT :: GLenum
    GL_MIRROR_CLAMP_TO_EDGE_EXT = 0x8743 :: GLenum

    pattern $mGL_MITER_REVERT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MITER_REVERT_NV :: GLenum
    GL_MITER_REVERT_NV = 0x90A7 :: GLenum

    pattern $mGL_MITER_TRUNCATE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MITER_TRUNCATE_NV :: GLenum
    GL_MITER_TRUNCATE_NV = 0x90A8 :: GLenum

    pattern $mGL_MIXED_DEPTH_SAMPLES_SUPPORTED_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MIXED_DEPTH_SAMPLES_SUPPORTED_NV :: GLenum
    GL_MIXED_DEPTH_SAMPLES_SUPPORTED_NV = 0x932F :: GLenum

    pattern $mGL_MIXED_STENCIL_SAMPLES_SUPPORTED_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MIXED_STENCIL_SAMPLES_SUPPORTED_NV :: GLenum
    GL_MIXED_STENCIL_SAMPLES_SUPPORTED_NV = 0x9330 :: GLenum

    pattern $mGL_MODELVIEW :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MODELVIEW :: GLenum
    GL_MODELVIEW = 0x1700 :: GLenum

    pattern $mGL_MODELVIEW0_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MODELVIEW0_ARB :: GLenum
    GL_MODELVIEW0_ARB = 0x1700 :: GLenum

    pattern $mGL_MODELVIEW0_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MODELVIEW0_EXT :: GLenum
    GL_MODELVIEW0_EXT = 0x1700 :: GLenum

    pattern $mGL_MODELVIEW0_MATRIX_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MODELVIEW0_MATRIX_EXT :: GLenum
    GL_MODELVIEW0_MATRIX_EXT = 0x0BA6 :: GLenum

    pattern $mGL_MODELVIEW0_STACK_DEPTH_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MODELVIEW0_STACK_DEPTH_EXT :: GLenum
    GL_MODELVIEW0_STACK_DEPTH_EXT = 0x0BA3 :: GLenum

    pattern $mGL_MODELVIEW10_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MODELVIEW10_ARB :: GLenum
    GL_MODELVIEW10_ARB = 0x872A :: GLenum

    pattern $mGL_MODELVIEW11_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MODELVIEW11_ARB :: GLenum
    GL_MODELVIEW11_ARB = 0x872B :: GLenum

    pattern $mGL_MODELVIEW12_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MODELVIEW12_ARB :: GLenum
    GL_MODELVIEW12_ARB = 0x872C :: GLenum

    pattern $mGL_MODELVIEW13_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MODELVIEW13_ARB :: GLenum
    GL_MODELVIEW13_ARB = 0x872D :: GLenum

    pattern $mGL_MODELVIEW14_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MODELVIEW14_ARB :: GLenum
    GL_MODELVIEW14_ARB = 0x872E :: GLenum

    pattern $mGL_MODELVIEW15_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MODELVIEW15_ARB :: GLenum
    GL_MODELVIEW15_ARB = 0x872F :: GLenum

    pattern $mGL_MODELVIEW16_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MODELVIEW16_ARB :: GLenum
    GL_MODELVIEW16_ARB = 0x8730 :: GLenum

    pattern $mGL_MODELVIEW17_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MODELVIEW17_ARB :: GLenum
    GL_MODELVIEW17_ARB = 0x8731 :: GLenum

    pattern $mGL_MODELVIEW18_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MODELVIEW18_ARB :: GLenum
    GL_MODELVIEW18_ARB = 0x8732 :: GLenum

    pattern $mGL_MODELVIEW19_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MODELVIEW19_ARB :: GLenum
    GL_MODELVIEW19_ARB = 0x8733 :: GLenum

    pattern $mGL_MODELVIEW1_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MODELVIEW1_ARB :: GLenum
    GL_MODELVIEW1_ARB = 0x850A :: GLenum

    pattern $mGL_MODELVIEW1_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MODELVIEW1_EXT :: GLenum
    GL_MODELVIEW1_EXT = 0x850A :: GLenum

    pattern $mGL_MODELVIEW1_MATRIX_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MODELVIEW1_MATRIX_EXT :: GLenum
    GL_MODELVIEW1_MATRIX_EXT = 0x8506 :: GLenum

    pattern $mGL_MODELVIEW1_STACK_DEPTH_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MODELVIEW1_STACK_DEPTH_EXT :: GLenum
    GL_MODELVIEW1_STACK_DEPTH_EXT = 0x8502 :: GLenum

    pattern $mGL_MODELVIEW20_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MODELVIEW20_ARB :: GLenum
    GL_MODELVIEW20_ARB = 0x8734 :: GLenum

    pattern $mGL_MODELVIEW21_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MODELVIEW21_ARB :: GLenum
    GL_MODELVIEW21_ARB = 0x8735 :: GLenum

    pattern $mGL_MODELVIEW22_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MODELVIEW22_ARB :: GLenum
    GL_MODELVIEW22_ARB = 0x8736 :: GLenum

    pattern $mGL_MODELVIEW23_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MODELVIEW23_ARB :: GLenum
    GL_MODELVIEW23_ARB = 0x8737 :: GLenum

    pattern $mGL_MODELVIEW24_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MODELVIEW24_ARB :: GLenum
    GL_MODELVIEW24_ARB = 0x8738 :: GLenum

    pattern $mGL_MODELVIEW25_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MODELVIEW25_ARB :: GLenum
    GL_MODELVIEW25_ARB = 0x8739 :: GLenum

    pattern $mGL_MODELVIEW26_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MODELVIEW26_ARB :: GLenum
    GL_MODELVIEW26_ARB = 0x873A :: GLenum

    pattern $mGL_MODELVIEW27_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MODELVIEW27_ARB :: GLenum
    GL_MODELVIEW27_ARB = 0x873B :: GLenum

    pattern $mGL_MODELVIEW28_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MODELVIEW28_ARB :: GLenum
    GL_MODELVIEW28_ARB = 0x873C :: GLenum

    pattern $mGL_MODELVIEW29_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MODELVIEW29_ARB :: GLenum
    GL_MODELVIEW29_ARB = 0x873D :: GLenum

    pattern $mGL_MODELVIEW2_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MODELVIEW2_ARB :: GLenum
    GL_MODELVIEW2_ARB = 0x8722 :: GLenum

    pattern $mGL_MODELVIEW30_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MODELVIEW30_ARB :: GLenum
    GL_MODELVIEW30_ARB = 0x873E :: GLenum

    pattern $mGL_MODELVIEW31_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MODELVIEW31_ARB :: GLenum
    GL_MODELVIEW31_ARB = 0x873F :: GLenum

    pattern $mGL_MODELVIEW3_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MODELVIEW3_ARB :: GLenum
    GL_MODELVIEW3_ARB = 0x8723 :: GLenum

    pattern $mGL_MODELVIEW4_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MODELVIEW4_ARB :: GLenum
    GL_MODELVIEW4_ARB = 0x8724 :: GLenum

    pattern $mGL_MODELVIEW5_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MODELVIEW5_ARB :: GLenum
    GL_MODELVIEW5_ARB = 0x8725 :: GLenum

    pattern $mGL_MODELVIEW6_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MODELVIEW6_ARB :: GLenum
    GL_MODELVIEW6_ARB = 0x8726 :: GLenum

    pattern $mGL_MODELVIEW7_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MODELVIEW7_ARB :: GLenum
    GL_MODELVIEW7_ARB = 0x8727 :: GLenum

    pattern $mGL_MODELVIEW8_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MODELVIEW8_ARB :: GLenum
    GL_MODELVIEW8_ARB = 0x8728 :: GLenum

    pattern $mGL_MODELVIEW9_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MODELVIEW9_ARB :: GLenum
    GL_MODELVIEW9_ARB = 0x8729 :: GLenum

    pattern $mGL_MODELVIEW_MATRIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MODELVIEW_MATRIX :: GLenum
    GL_MODELVIEW_MATRIX = 0x0BA6 :: GLenum

    pattern $mGL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES :: GLenum
    GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES = 0x898D :: GLenum

    pattern $mGL_MODELVIEW_PROJECTION_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MODELVIEW_PROJECTION_NV :: GLenum
    GL_MODELVIEW_PROJECTION_NV = 0x8629 :: GLenum

    pattern $mGL_MODELVIEW_STACK_DEPTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MODELVIEW_STACK_DEPTH :: GLenum
    GL_MODELVIEW_STACK_DEPTH = 0x0BA3 :: GLenum

    pattern $mGL_MODULATE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MODULATE :: GLenum
    GL_MODULATE = 0x2100 :: GLenum

    pattern $mGL_MODULATE_ADD_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MODULATE_ADD_ATI :: GLenum
    GL_MODULATE_ADD_ATI = 0x8744 :: GLenum

    pattern $mGL_MODULATE_COLOR_IMG :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MODULATE_COLOR_IMG :: GLenum
    GL_MODULATE_COLOR_IMG = 0x8C04 :: GLenum

    pattern $mGL_MODULATE_SIGNED_ADD_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MODULATE_SIGNED_ADD_ATI :: GLenum
    GL_MODULATE_SIGNED_ADD_ATI = 0x8745 :: GLenum

    pattern $mGL_MODULATE_SUBTRACT_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MODULATE_SUBTRACT_ATI :: GLenum
    GL_MODULATE_SUBTRACT_ATI = 0x8746 :: GLenum

    pattern $mGL_MOVE_TO_CONTINUES_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MOVE_TO_CONTINUES_NV :: GLenum
    GL_MOVE_TO_CONTINUES_NV = 0x90B6 :: GLenum

    pattern $mGL_MOVE_TO_NV :: forall {r}. GLubyte -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MOVE_TO_NV :: GLubyte
    GL_MOVE_TO_NV = 0x02 :: GLubyte

    pattern $mGL_MOVE_TO_RESETS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MOVE_TO_RESETS_NV :: GLenum
    GL_MOVE_TO_RESETS_NV = 0x90B5 :: GLenum

    pattern $mGL_MOV_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MOV_ATI :: GLenum
    GL_MOV_ATI = 0x8961 :: GLenum

    pattern $mGL_MULT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MULT :: GLenum
    GL_MULT = 0x0103 :: GLenum

    pattern $mGL_MULTICAST_GPUS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MULTICAST_GPUS_NV :: GLenum
    GL_MULTICAST_GPUS_NV = 0x92BA :: GLenum

    pattern $mGL_MULTICAST_PROGRAMMABLE_SAMPLE_LOCATION_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MULTICAST_PROGRAMMABLE_SAMPLE_LOCATION_NV :: GLenum
    GL_MULTICAST_PROGRAMMABLE_SAMPLE_LOCATION_NV = 0x9549 :: GLenum

    pattern $mGL_MULTIPLY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MULTIPLY :: GLenum
    GL_MULTIPLY = 0x9294 :: GLenum

    pattern $mGL_MULTIPLY_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MULTIPLY_KHR :: GLenum
    GL_MULTIPLY_KHR = 0x9294 :: GLenum

    pattern $mGL_MULTIPLY_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MULTIPLY_NV :: GLenum
    GL_MULTIPLY_NV = 0x9294 :: GLenum

    pattern $mGL_MULTISAMPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MULTISAMPLE :: GLenum
    GL_MULTISAMPLE = 0x809D :: GLenum

    pattern $mGL_MULTISAMPLES_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MULTISAMPLES_NV :: GLenum
    GL_MULTISAMPLES_NV = 0x9371 :: GLenum

    pattern $mGL_MULTISAMPLE_3DFX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MULTISAMPLE_3DFX :: GLenum
    GL_MULTISAMPLE_3DFX = 0x86B2 :: GLenum

    pattern $mGL_MULTISAMPLE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MULTISAMPLE_ARB :: GLenum
    GL_MULTISAMPLE_ARB = 0x809D :: GLenum

    pattern $mGL_MULTISAMPLE_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MULTISAMPLE_BIT :: GLenum
    GL_MULTISAMPLE_BIT = 0x20000000 :: GLbitfield

    pattern $mGL_MULTISAMPLE_BIT_3DFX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MULTISAMPLE_BIT_3DFX :: GLenum
    GL_MULTISAMPLE_BIT_3DFX = 0x20000000 :: GLbitfield

    pattern $mGL_MULTISAMPLE_BIT_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MULTISAMPLE_BIT_ARB :: GLenum
    GL_MULTISAMPLE_BIT_ARB = 0x20000000 :: GLbitfield

    pattern $mGL_MULTISAMPLE_BIT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MULTISAMPLE_BIT_EXT :: GLenum
    GL_MULTISAMPLE_BIT_EXT = 0x20000000 :: GLbitfield

    pattern $mGL_MULTISAMPLE_BUFFER_BIT0_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MULTISAMPLE_BUFFER_BIT0_QCOM :: GLenum
    GL_MULTISAMPLE_BUFFER_BIT0_QCOM = 0x01000000 :: GLbitfield

    pattern $mGL_MULTISAMPLE_BUFFER_BIT1_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MULTISAMPLE_BUFFER_BIT1_QCOM :: GLenum
    GL_MULTISAMPLE_BUFFER_BIT1_QCOM = 0x02000000 :: GLbitfield

    pattern $mGL_MULTISAMPLE_BUFFER_BIT2_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MULTISAMPLE_BUFFER_BIT2_QCOM :: GLenum
    GL_MULTISAMPLE_BUFFER_BIT2_QCOM = 0x04000000 :: GLbitfield

    pattern $mGL_MULTISAMPLE_BUFFER_BIT3_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MULTISAMPLE_BUFFER_BIT3_QCOM :: GLenum
    GL_MULTISAMPLE_BUFFER_BIT3_QCOM = 0x08000000 :: GLbitfield

    pattern $mGL_MULTISAMPLE_BUFFER_BIT4_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MULTISAMPLE_BUFFER_BIT4_QCOM :: GLenum
    GL_MULTISAMPLE_BUFFER_BIT4_QCOM = 0x10000000 :: GLbitfield

    pattern $mGL_MULTISAMPLE_BUFFER_BIT5_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MULTISAMPLE_BUFFER_BIT5_QCOM :: GLenum
    GL_MULTISAMPLE_BUFFER_BIT5_QCOM = 0x20000000 :: GLbitfield

    pattern $mGL_MULTISAMPLE_BUFFER_BIT6_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MULTISAMPLE_BUFFER_BIT6_QCOM :: GLenum
    GL_MULTISAMPLE_BUFFER_BIT6_QCOM = 0x40000000 :: GLbitfield

    pattern $mGL_MULTISAMPLE_BUFFER_BIT7_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MULTISAMPLE_BUFFER_BIT7_QCOM :: GLenum
    GL_MULTISAMPLE_BUFFER_BIT7_QCOM = 0x80000000 :: GLbitfield

    pattern $mGL_MULTISAMPLE_COVERAGE_MODES_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MULTISAMPLE_COVERAGE_MODES_NV :: GLenum
    GL_MULTISAMPLE_COVERAGE_MODES_NV = 0x8E12 :: GLenum

    pattern $mGL_MULTISAMPLE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MULTISAMPLE_EXT :: GLenum
    GL_MULTISAMPLE_EXT = 0x809D :: GLenum

    pattern $mGL_MULTISAMPLE_FILTER_HINT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MULTISAMPLE_FILTER_HINT_NV :: GLenum
    GL_MULTISAMPLE_FILTER_HINT_NV = 0x8534 :: GLenum

    pattern $mGL_MULTISAMPLE_LINE_WIDTH_GRANULARITY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MULTISAMPLE_LINE_WIDTH_GRANULARITY :: GLenum
    GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY = 0x9382 :: GLenum

    pattern $mGL_MULTISAMPLE_LINE_WIDTH_GRANULARITY_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MULTISAMPLE_LINE_WIDTH_GRANULARITY_ARB :: GLenum
    GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY_ARB = 0x9382 :: GLenum

    pattern $mGL_MULTISAMPLE_LINE_WIDTH_RANGE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MULTISAMPLE_LINE_WIDTH_RANGE :: GLenum
    GL_MULTISAMPLE_LINE_WIDTH_RANGE = 0x9381 :: GLenum

    pattern $mGL_MULTISAMPLE_LINE_WIDTH_RANGE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MULTISAMPLE_LINE_WIDTH_RANGE_ARB :: GLenum
    GL_MULTISAMPLE_LINE_WIDTH_RANGE_ARB = 0x9381 :: GLenum

    pattern $mGL_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT :: GLenum
    GL_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT = 0x932B :: GLenum

    pattern $mGL_MULTISAMPLE_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MULTISAMPLE_SGIS :: GLenum
    GL_MULTISAMPLE_SGIS = 0x809D :: GLenum

    pattern $mGL_MULTIVIEW_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MULTIVIEW_EXT :: GLenum
    GL_MULTIVIEW_EXT = 0x90F1 :: GLenum

    pattern $mGL_MUL_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MUL_ATI :: GLenum
    GL_MUL_ATI = 0x8964 :: GLenum

    pattern $mGL_MVP_MATRIX_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_MVP_MATRIX_EXT :: GLenum
    GL_MVP_MATRIX_EXT = 0x87E3 :: GLenum

    pattern $mGL_N3F_V3F :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_N3F_V3F :: GLenum
    GL_N3F_V3F = 0x2A25 :: GLenum

    pattern $mGL_NAMED_STRING_LENGTH_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NAMED_STRING_LENGTH_ARB :: GLenum
    GL_NAMED_STRING_LENGTH_ARB = 0x8DE9 :: GLenum

    pattern $mGL_NAMED_STRING_TYPE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NAMED_STRING_TYPE_ARB :: GLenum
    GL_NAMED_STRING_TYPE_ARB = 0x8DEA :: GLenum

    pattern $mGL_NAME_LENGTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NAME_LENGTH :: GLenum
    GL_NAME_LENGTH = 0x92F9 :: GLenum

    pattern $mGL_NAME_STACK_DEPTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NAME_STACK_DEPTH :: GLenum
    GL_NAME_STACK_DEPTH = 0x0D70 :: GLenum

    pattern $mGL_NAND :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NAND :: GLenum
    GL_NAND = 0x150E :: GLenum

    pattern $mGL_NATIVE_GRAPHICS_BEGIN_HINT_PGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NATIVE_GRAPHICS_BEGIN_HINT_PGI :: GLenum
    GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI = 0x1A203 :: GLenum

    pattern $mGL_NATIVE_GRAPHICS_END_HINT_PGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NATIVE_GRAPHICS_END_HINT_PGI :: GLenum
    GL_NATIVE_GRAPHICS_END_HINT_PGI = 0x1A204 :: GLenum

    pattern $mGL_NATIVE_GRAPHICS_HANDLE_PGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NATIVE_GRAPHICS_HANDLE_PGI :: GLenum
    GL_NATIVE_GRAPHICS_HANDLE_PGI = 0x1A202 :: GLenum

    pattern $mGL_NEAREST :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NEAREST :: GLenum
    GL_NEAREST = 0x2600 :: GLenum

    pattern $mGL_NEAREST_CLIPMAP_LINEAR_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NEAREST_CLIPMAP_LINEAR_SGIX :: GLenum
    GL_NEAREST_CLIPMAP_LINEAR_SGIX = 0x844E :: GLenum

    pattern $mGL_NEAREST_CLIPMAP_NEAREST_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NEAREST_CLIPMAP_NEAREST_SGIX :: GLenum
    GL_NEAREST_CLIPMAP_NEAREST_SGIX = 0x844D :: GLenum

    pattern $mGL_NEAREST_MIPMAP_LINEAR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NEAREST_MIPMAP_LINEAR :: GLenum
    GL_NEAREST_MIPMAP_LINEAR = 0x2702 :: GLenum

    pattern $mGL_NEAREST_MIPMAP_NEAREST :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NEAREST_MIPMAP_NEAREST :: GLenum
    GL_NEAREST_MIPMAP_NEAREST = 0x2700 :: GLenum

    pattern $mGL_NEGATE_BIT_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NEGATE_BIT_ATI :: GLenum
    GL_NEGATE_BIT_ATI = 0x00000004 :: GLbitfield

    pattern $mGL_NEGATIVE_ONE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NEGATIVE_ONE_EXT :: GLenum
    GL_NEGATIVE_ONE_EXT = 0x87DF :: GLenum

    pattern $mGL_NEGATIVE_ONE_TO_ONE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NEGATIVE_ONE_TO_ONE :: GLenum
    GL_NEGATIVE_ONE_TO_ONE = 0x935E :: GLenum

    pattern $mGL_NEGATIVE_ONE_TO_ONE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NEGATIVE_ONE_TO_ONE_EXT :: GLenum
    GL_NEGATIVE_ONE_TO_ONE_EXT = 0x935E :: GLenum

    pattern $mGL_NEGATIVE_W_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NEGATIVE_W_EXT :: GLenum
    GL_NEGATIVE_W_EXT = 0x87DC :: GLenum

    pattern $mGL_NEGATIVE_X_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NEGATIVE_X_EXT :: GLenum
    GL_NEGATIVE_X_EXT = 0x87D9 :: GLenum

    pattern $mGL_NEGATIVE_Y_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NEGATIVE_Y_EXT :: GLenum
    GL_NEGATIVE_Y_EXT = 0x87DA :: GLenum

    pattern $mGL_NEGATIVE_Z_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NEGATIVE_Z_EXT :: GLenum
    GL_NEGATIVE_Z_EXT = 0x87DB :: GLenum

    pattern $mGL_NEVER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NEVER :: GLenum
    GL_NEVER = 0x0200 :: GLenum

    pattern $mGL_NEXT_BUFFER_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NEXT_BUFFER_NV :: GLenum
    GL_NEXT_BUFFER_NV = -2 :: GLenum

    pattern $mGL_NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV :: GLenum
    GL_NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV = 0x9025 :: GLenum

    pattern $mGL_NICEST :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NICEST :: GLenum
    GL_NICEST = 0x1102 :: GLenum

    pattern $mGL_NONE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NONE :: GLenum
    GL_NONE = 0 :: GLenum

    pattern $mGL_NONE_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NONE_OES :: GLenum
    GL_NONE_OES = 0 :: GLenum

    pattern $mGL_NOOP :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NOOP :: GLenum
    GL_NOOP = 0x1505 :: GLenum

    pattern $mGL_NOP_COMMAND_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NOP_COMMAND_NV :: GLenum
    GL_NOP_COMMAND_NV = 0x0001 :: GLenum

    pattern $mGL_NOR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NOR :: GLenum
    GL_NOR = 0x1508 :: GLenum

    pattern $mGL_NORMALIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NORMALIZE :: GLenum
    GL_NORMALIZE = 0x0BA1 :: GLenum

    pattern $mGL_NORMALIZED_RANGE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NORMALIZED_RANGE_EXT :: GLenum
    GL_NORMALIZED_RANGE_EXT = 0x87E0 :: GLenum

    pattern $mGL_NORMAL_ARRAY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NORMAL_ARRAY :: GLenum
    GL_NORMAL_ARRAY = 0x8075 :: GLenum

    pattern $mGL_NORMAL_ARRAY_ADDRESS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NORMAL_ARRAY_ADDRESS_NV :: GLenum
    GL_NORMAL_ARRAY_ADDRESS_NV = 0x8F22 :: GLenum

    pattern $mGL_NORMAL_ARRAY_BUFFER_BINDING :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NORMAL_ARRAY_BUFFER_BINDING :: GLenum
    GL_NORMAL_ARRAY_BUFFER_BINDING = 0x8897 :: GLenum

    pattern $mGL_NORMAL_ARRAY_BUFFER_BINDING_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NORMAL_ARRAY_BUFFER_BINDING_ARB :: GLenum
    GL_NORMAL_ARRAY_BUFFER_BINDING_ARB = 0x8897 :: GLenum

    pattern $mGL_NORMAL_ARRAY_COUNT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NORMAL_ARRAY_COUNT_EXT :: GLenum
    GL_NORMAL_ARRAY_COUNT_EXT = 0x8080 :: GLenum

    pattern $mGL_NORMAL_ARRAY_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NORMAL_ARRAY_EXT :: GLenum
    GL_NORMAL_ARRAY_EXT = 0x8075 :: GLenum

    pattern $mGL_NORMAL_ARRAY_LENGTH_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NORMAL_ARRAY_LENGTH_NV :: GLenum
    GL_NORMAL_ARRAY_LENGTH_NV = 0x8F2C :: GLenum

    pattern $mGL_NORMAL_ARRAY_LIST_IBM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NORMAL_ARRAY_LIST_IBM :: GLenum
    GL_NORMAL_ARRAY_LIST_IBM = 103071 :: GLenum

    pattern $mGL_NORMAL_ARRAY_LIST_STRIDE_IBM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NORMAL_ARRAY_LIST_STRIDE_IBM :: GLenum
    GL_NORMAL_ARRAY_LIST_STRIDE_IBM = 103081 :: GLenum

    pattern $mGL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL :: GLenum
    GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F6 :: GLenum

    pattern $mGL_NORMAL_ARRAY_POINTER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NORMAL_ARRAY_POINTER :: GLenum
    GL_NORMAL_ARRAY_POINTER = 0x808F :: GLenum

    pattern $mGL_NORMAL_ARRAY_POINTER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NORMAL_ARRAY_POINTER_EXT :: GLenum
    GL_NORMAL_ARRAY_POINTER_EXT = 0x808F :: GLenum

    pattern $mGL_NORMAL_ARRAY_STRIDE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NORMAL_ARRAY_STRIDE :: GLenum
    GL_NORMAL_ARRAY_STRIDE = 0x807F :: GLenum

    pattern $mGL_NORMAL_ARRAY_STRIDE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NORMAL_ARRAY_STRIDE_EXT :: GLenum
    GL_NORMAL_ARRAY_STRIDE_EXT = 0x807F :: GLenum

    pattern $mGL_NORMAL_ARRAY_TYPE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NORMAL_ARRAY_TYPE :: GLenum
    GL_NORMAL_ARRAY_TYPE = 0x807E :: GLenum

    pattern $mGL_NORMAL_ARRAY_TYPE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NORMAL_ARRAY_TYPE_EXT :: GLenum
    GL_NORMAL_ARRAY_TYPE_EXT = 0x807E :: GLenum

    pattern $mGL_NORMAL_BIT_PGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NORMAL_BIT_PGI :: GLenum
    GL_NORMAL_BIT_PGI = 0x08000000 :: GLbitfield

    pattern $mGL_NORMAL_MAP :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NORMAL_MAP :: GLenum
    GL_NORMAL_MAP = 0x8511 :: GLenum

    pattern $mGL_NORMAL_MAP_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NORMAL_MAP_ARB :: GLenum
    GL_NORMAL_MAP_ARB = 0x8511 :: GLenum

    pattern $mGL_NORMAL_MAP_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NORMAL_MAP_EXT :: GLenum
    GL_NORMAL_MAP_EXT = 0x8511 :: GLenum

    pattern $mGL_NORMAL_MAP_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NORMAL_MAP_NV :: GLenum
    GL_NORMAL_MAP_NV = 0x8511 :: GLenum

    pattern $mGL_NORMAL_MAP_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NORMAL_MAP_OES :: GLenum
    GL_NORMAL_MAP_OES = 0x8511 :: GLenum

    pattern $mGL_NOTEQUAL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NOTEQUAL :: GLenum
    GL_NOTEQUAL = 0x0205 :: GLenum

    pattern $mGL_NO_ERROR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NO_ERROR :: GLenum
    GL_NO_ERROR = 0 :: GLenum

    pattern $mGL_NO_RESET_NOTIFICATION :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NO_RESET_NOTIFICATION :: GLenum
    GL_NO_RESET_NOTIFICATION = 0x8261 :: GLenum

    pattern $mGL_NO_RESET_NOTIFICATION_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NO_RESET_NOTIFICATION_ARB :: GLenum
    GL_NO_RESET_NOTIFICATION_ARB = 0x8261 :: GLenum

    pattern $mGL_NO_RESET_NOTIFICATION_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NO_RESET_NOTIFICATION_EXT :: GLenum
    GL_NO_RESET_NOTIFICATION_EXT = 0x8261 :: GLenum

    pattern $mGL_NO_RESET_NOTIFICATION_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NO_RESET_NOTIFICATION_KHR :: GLenum
    GL_NO_RESET_NOTIFICATION_KHR = 0x8261 :: GLenum

    pattern $mGL_NUM_ACTIVE_VARIABLES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NUM_ACTIVE_VARIABLES :: GLenum
    GL_NUM_ACTIVE_VARIABLES = 0x9304 :: GLenum

    pattern $mGL_NUM_COMPATIBLE_SUBROUTINES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NUM_COMPATIBLE_SUBROUTINES :: GLenum
    GL_NUM_COMPATIBLE_SUBROUTINES = 0x8E4A :: GLenum

    pattern $mGL_NUM_COMPRESSED_TEXTURE_FORMATS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NUM_COMPRESSED_TEXTURE_FORMATS :: GLenum
    GL_NUM_COMPRESSED_TEXTURE_FORMATS = 0x86A2 :: GLenum

    pattern $mGL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB :: GLenum
    GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB = 0x86A2 :: GLenum

    pattern $mGL_NUM_DEVICE_UUIDS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NUM_DEVICE_UUIDS_EXT :: GLenum
    GL_NUM_DEVICE_UUIDS_EXT = 0x9596 :: GLenum

    pattern $mGL_NUM_DOWNSAMPLE_SCALES_IMG :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NUM_DOWNSAMPLE_SCALES_IMG :: GLenum
    GL_NUM_DOWNSAMPLE_SCALES_IMG = 0x913D :: GLenum

    pattern $mGL_NUM_EXTENSIONS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NUM_EXTENSIONS :: GLenum
    GL_NUM_EXTENSIONS = 0x821D :: GLenum

    pattern $mGL_NUM_FILL_STREAMS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NUM_FILL_STREAMS_NV :: GLenum
    GL_NUM_FILL_STREAMS_NV = 0x8E29 :: GLenum

    pattern $mGL_NUM_FRAGMENT_CONSTANTS_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NUM_FRAGMENT_CONSTANTS_ATI :: GLenum
    GL_NUM_FRAGMENT_CONSTANTS_ATI = 0x896F :: GLenum

    pattern $mGL_NUM_FRAGMENT_REGISTERS_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NUM_FRAGMENT_REGISTERS_ATI :: GLenum
    GL_NUM_FRAGMENT_REGISTERS_ATI = 0x896E :: GLenum

    pattern $mGL_NUM_GENERAL_COMBINERS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NUM_GENERAL_COMBINERS_NV :: GLenum
    GL_NUM_GENERAL_COMBINERS_NV = 0x854E :: GLenum

    pattern $mGL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI :: GLenum
    GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI = 0x8973 :: GLenum

    pattern $mGL_NUM_INSTRUCTIONS_PER_PASS_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NUM_INSTRUCTIONS_PER_PASS_ATI :: GLenum
    GL_NUM_INSTRUCTIONS_PER_PASS_ATI = 0x8971 :: GLenum

    pattern $mGL_NUM_INSTRUCTIONS_TOTAL_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NUM_INSTRUCTIONS_TOTAL_ATI :: GLenum
    GL_NUM_INSTRUCTIONS_TOTAL_ATI = 0x8972 :: GLenum

    pattern $mGL_NUM_LOOPBACK_COMPONENTS_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NUM_LOOPBACK_COMPONENTS_ATI :: GLenum
    GL_NUM_LOOPBACK_COMPONENTS_ATI = 0x8974 :: GLenum

    pattern $mGL_NUM_PASSES_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NUM_PASSES_ATI :: GLenum
    GL_NUM_PASSES_ATI = 0x8970 :: GLenum

    pattern $mGL_NUM_PROGRAM_BINARY_FORMATS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NUM_PROGRAM_BINARY_FORMATS :: GLenum
    GL_NUM_PROGRAM_BINARY_FORMATS = 0x87FE :: GLenum

    pattern $mGL_NUM_PROGRAM_BINARY_FORMATS_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NUM_PROGRAM_BINARY_FORMATS_OES :: GLenum
    GL_NUM_PROGRAM_BINARY_FORMATS_OES = 0x87FE :: GLenum

    pattern $mGL_NUM_SAMPLE_COUNTS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NUM_SAMPLE_COUNTS :: GLenum
    GL_NUM_SAMPLE_COUNTS = 0x9380 :: GLenum

    pattern $mGL_NUM_SHADER_BINARY_FORMATS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NUM_SHADER_BINARY_FORMATS :: GLenum
    GL_NUM_SHADER_BINARY_FORMATS = 0x8DF9 :: GLenum

    pattern $mGL_NUM_SHADING_LANGUAGE_VERSIONS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NUM_SHADING_LANGUAGE_VERSIONS :: GLenum
    GL_NUM_SHADING_LANGUAGE_VERSIONS = 0x82E9 :: GLenum

    pattern $mGL_NUM_SPARSE_LEVELS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NUM_SPARSE_LEVELS_ARB :: GLenum
    GL_NUM_SPARSE_LEVELS_ARB = 0x91AA :: GLenum

    pattern $mGL_NUM_SPARSE_LEVELS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NUM_SPARSE_LEVELS_EXT :: GLenum
    GL_NUM_SPARSE_LEVELS_EXT = 0x91AA :: GLenum

    pattern $mGL_NUM_SPIR_V_EXTENSIONS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NUM_SPIR_V_EXTENSIONS :: GLenum
    GL_NUM_SPIR_V_EXTENSIONS = 0x9554 :: GLenum

    pattern $mGL_NUM_SUPPORTED_MULTISAMPLE_MODES_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NUM_SUPPORTED_MULTISAMPLE_MODES_AMD :: GLenum
    GL_NUM_SUPPORTED_MULTISAMPLE_MODES_AMD = 0x91B6 :: GLenum

    pattern $mGL_NUM_TILING_TYPES_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NUM_TILING_TYPES_EXT :: GLenum
    GL_NUM_TILING_TYPES_EXT = 0x9582 :: GLenum

    pattern $mGL_NUM_VIDEO_CAPTURE_STREAMS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NUM_VIDEO_CAPTURE_STREAMS_NV :: GLenum
    GL_NUM_VIDEO_CAPTURE_STREAMS_NV = 0x9024 :: GLenum

    pattern $mGL_NUM_VIRTUAL_PAGE_SIZES_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NUM_VIRTUAL_PAGE_SIZES_ARB :: GLenum
    GL_NUM_VIRTUAL_PAGE_SIZES_ARB = 0x91A8 :: GLenum

    pattern $mGL_NUM_VIRTUAL_PAGE_SIZES_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NUM_VIRTUAL_PAGE_SIZES_EXT :: GLenum
    GL_NUM_VIRTUAL_PAGE_SIZES_EXT = 0x91A8 :: GLenum

    pattern $mGL_NUM_WINDOW_RECTANGLES_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_NUM_WINDOW_RECTANGLES_EXT :: GLenum
    GL_NUM_WINDOW_RECTANGLES_EXT = 0x8F15 :: GLenum

    pattern $mGL_OBJECT_ACTIVE_ATTRIBUTES_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OBJECT_ACTIVE_ATTRIBUTES_ARB :: GLenum
    GL_OBJECT_ACTIVE_ATTRIBUTES_ARB = 0x8B89 :: GLenum

    pattern $mGL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB :: GLenum
    GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB = 0x8B8A :: GLenum

    pattern $mGL_OBJECT_ACTIVE_UNIFORMS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OBJECT_ACTIVE_UNIFORMS_ARB :: GLenum
    GL_OBJECT_ACTIVE_UNIFORMS_ARB = 0x8B86 :: GLenum

    pattern $mGL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB :: GLenum
    GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB = 0x8B87 :: GLenum

    pattern $mGL_OBJECT_ATTACHED_OBJECTS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OBJECT_ATTACHED_OBJECTS_ARB :: GLenum
    GL_OBJECT_ATTACHED_OBJECTS_ARB = 0x8B85 :: GLenum

    pattern $mGL_OBJECT_BUFFER_SIZE_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OBJECT_BUFFER_SIZE_ATI :: GLenum
    GL_OBJECT_BUFFER_SIZE_ATI = 0x8764 :: GLenum

    pattern $mGL_OBJECT_BUFFER_USAGE_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OBJECT_BUFFER_USAGE_ATI :: GLenum
    GL_OBJECT_BUFFER_USAGE_ATI = 0x8765 :: GLenum

    pattern $mGL_OBJECT_COMPILE_STATUS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OBJECT_COMPILE_STATUS_ARB :: GLenum
    GL_OBJECT_COMPILE_STATUS_ARB = 0x8B81 :: GLenum

    pattern $mGL_OBJECT_DELETE_STATUS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OBJECT_DELETE_STATUS_ARB :: GLenum
    GL_OBJECT_DELETE_STATUS_ARB = 0x8B80 :: GLenum

    pattern $mGL_OBJECT_DISTANCE_TO_LINE_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OBJECT_DISTANCE_TO_LINE_SGIS :: GLenum
    GL_OBJECT_DISTANCE_TO_LINE_SGIS = 0x81F3 :: GLenum

    pattern $mGL_OBJECT_DISTANCE_TO_POINT_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OBJECT_DISTANCE_TO_POINT_SGIS :: GLenum
    GL_OBJECT_DISTANCE_TO_POINT_SGIS = 0x81F1 :: GLenum

    pattern $mGL_OBJECT_INFO_LOG_LENGTH_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OBJECT_INFO_LOG_LENGTH_ARB :: GLenum
    GL_OBJECT_INFO_LOG_LENGTH_ARB = 0x8B84 :: GLenum

    pattern $mGL_OBJECT_LINEAR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OBJECT_LINEAR :: GLenum
    GL_OBJECT_LINEAR = 0x2401 :: GLenum

    pattern $mGL_OBJECT_LINEAR_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OBJECT_LINEAR_NV :: GLenum
    GL_OBJECT_LINEAR_NV = 0x2401 :: GLenum

    pattern $mGL_OBJECT_LINE_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OBJECT_LINE_SGIS :: GLenum
    GL_OBJECT_LINE_SGIS = 0x81F7 :: GLenum

    pattern $mGL_OBJECT_LINK_STATUS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OBJECT_LINK_STATUS_ARB :: GLenum
    GL_OBJECT_LINK_STATUS_ARB = 0x8B82 :: GLenum

    pattern $mGL_OBJECT_PLANE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OBJECT_PLANE :: GLenum
    GL_OBJECT_PLANE = 0x2501 :: GLenum

    pattern $mGL_OBJECT_POINT_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OBJECT_POINT_SGIS :: GLenum
    GL_OBJECT_POINT_SGIS = 0x81F5 :: GLenum

    pattern $mGL_OBJECT_SHADER_SOURCE_LENGTH_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OBJECT_SHADER_SOURCE_LENGTH_ARB :: GLenum
    GL_OBJECT_SHADER_SOURCE_LENGTH_ARB = 0x8B88 :: GLenum

    pattern $mGL_OBJECT_SUBTYPE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OBJECT_SUBTYPE_ARB :: GLenum
    GL_OBJECT_SUBTYPE_ARB = 0x8B4F :: GLenum

    pattern $mGL_OBJECT_TYPE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OBJECT_TYPE :: GLenum
    GL_OBJECT_TYPE = 0x9112 :: GLenum

    pattern $mGL_OBJECT_TYPE_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OBJECT_TYPE_APPLE :: GLenum
    GL_OBJECT_TYPE_APPLE = 0x9112 :: GLenum

    pattern $mGL_OBJECT_TYPE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OBJECT_TYPE_ARB :: GLenum
    GL_OBJECT_TYPE_ARB = 0x8B4E :: GLenum

    pattern $mGL_OBJECT_VALIDATE_STATUS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OBJECT_VALIDATE_STATUS_ARB :: GLenum
    GL_OBJECT_VALIDATE_STATUS_ARB = 0x8B83 :: GLenum

    pattern $mGL_OCCLUSION_QUERY_EVENT_MASK_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OCCLUSION_QUERY_EVENT_MASK_AMD :: GLenum
    GL_OCCLUSION_QUERY_EVENT_MASK_AMD = 0x874F :: GLenum

    pattern $mGL_OCCLUSION_TEST_HP :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OCCLUSION_TEST_HP :: GLenum
    GL_OCCLUSION_TEST_HP = 0x8165 :: GLenum

    pattern $mGL_OCCLUSION_TEST_RESULT_HP :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OCCLUSION_TEST_RESULT_HP :: GLenum
    GL_OCCLUSION_TEST_RESULT_HP = 0x8166 :: GLenum

    pattern $mGL_OFFSET :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OFFSET :: GLenum
    GL_OFFSET = 0x92FC :: GLenum

    pattern $mGL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV :: GLenum
    GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV = 0x8856 :: GLenum

    pattern $mGL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV :: GLenum
    GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV = 0x8857 :: GLenum

    pattern $mGL_OFFSET_HILO_TEXTURE_2D_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OFFSET_HILO_TEXTURE_2D_NV :: GLenum
    GL_OFFSET_HILO_TEXTURE_2D_NV = 0x8854 :: GLenum

    pattern $mGL_OFFSET_HILO_TEXTURE_RECTANGLE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OFFSET_HILO_TEXTURE_RECTANGLE_NV :: GLenum
    GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV = 0x8855 :: GLenum

    pattern $mGL_OFFSET_PROJECTIVE_TEXTURE_2D_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OFFSET_PROJECTIVE_TEXTURE_2D_NV :: GLenum
    GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV = 0x8850 :: GLenum

    pattern $mGL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV :: GLenum
    GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV = 0x8851 :: GLenum

    pattern $mGL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV :: GLenum
    GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV = 0x8852 :: GLenum

    pattern $mGL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV :: GLenum
    GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV = 0x8853 :: GLenum

    pattern $mGL_OFFSET_TEXTURE_2D_BIAS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OFFSET_TEXTURE_2D_BIAS_NV :: GLenum
    GL_OFFSET_TEXTURE_2D_BIAS_NV = 0x86E3 :: GLenum

    pattern $mGL_OFFSET_TEXTURE_2D_MATRIX_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OFFSET_TEXTURE_2D_MATRIX_NV :: GLenum
    GL_OFFSET_TEXTURE_2D_MATRIX_NV = 0x86E1 :: GLenum

    pattern $mGL_OFFSET_TEXTURE_2D_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OFFSET_TEXTURE_2D_NV :: GLenum
    GL_OFFSET_TEXTURE_2D_NV = 0x86E8 :: GLenum

    pattern $mGL_OFFSET_TEXTURE_2D_SCALE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OFFSET_TEXTURE_2D_SCALE_NV :: GLenum
    GL_OFFSET_TEXTURE_2D_SCALE_NV = 0x86E2 :: GLenum

    pattern $mGL_OFFSET_TEXTURE_BIAS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OFFSET_TEXTURE_BIAS_NV :: GLenum
    GL_OFFSET_TEXTURE_BIAS_NV = 0x86E3 :: GLenum

    pattern $mGL_OFFSET_TEXTURE_MATRIX_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OFFSET_TEXTURE_MATRIX_NV :: GLenum
    GL_OFFSET_TEXTURE_MATRIX_NV = 0x86E1 :: GLenum

    pattern $mGL_OFFSET_TEXTURE_RECTANGLE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OFFSET_TEXTURE_RECTANGLE_NV :: GLenum
    GL_OFFSET_TEXTURE_RECTANGLE_NV = 0x864C :: GLenum

    pattern $mGL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV :: GLenum
    GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV = 0x864D :: GLenum

    pattern $mGL_OFFSET_TEXTURE_SCALE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OFFSET_TEXTURE_SCALE_NV :: GLenum
    GL_OFFSET_TEXTURE_SCALE_NV = 0x86E2 :: GLenum

    pattern $mGL_ONE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ONE :: GLenum
    GL_ONE = 1 :: GLenum

    pattern $mGL_ONE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ONE_EXT :: GLenum
    GL_ONE_EXT = 0x87DE :: GLenum

    pattern $mGL_ONE_MINUS_CONSTANT_ALPHA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ONE_MINUS_CONSTANT_ALPHA :: GLenum
    GL_ONE_MINUS_CONSTANT_ALPHA = 0x8004 :: GLenum

    pattern $mGL_ONE_MINUS_CONSTANT_ALPHA_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ONE_MINUS_CONSTANT_ALPHA_EXT :: GLenum
    GL_ONE_MINUS_CONSTANT_ALPHA_EXT = 0x8004 :: GLenum

    pattern $mGL_ONE_MINUS_CONSTANT_COLOR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ONE_MINUS_CONSTANT_COLOR :: GLenum
    GL_ONE_MINUS_CONSTANT_COLOR = 0x8002 :: GLenum

    pattern $mGL_ONE_MINUS_CONSTANT_COLOR_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ONE_MINUS_CONSTANT_COLOR_EXT :: GLenum
    GL_ONE_MINUS_CONSTANT_COLOR_EXT = 0x8002 :: GLenum

    pattern $mGL_ONE_MINUS_DST_ALPHA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ONE_MINUS_DST_ALPHA :: GLenum
    GL_ONE_MINUS_DST_ALPHA = 0x0305 :: GLenum

    pattern $mGL_ONE_MINUS_DST_COLOR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ONE_MINUS_DST_COLOR :: GLenum
    GL_ONE_MINUS_DST_COLOR = 0x0307 :: GLenum

    pattern $mGL_ONE_MINUS_SRC1_ALPHA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ONE_MINUS_SRC1_ALPHA :: GLenum
    GL_ONE_MINUS_SRC1_ALPHA = 0x88FB :: GLenum

    pattern $mGL_ONE_MINUS_SRC1_ALPHA_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ONE_MINUS_SRC1_ALPHA_EXT :: GLenum
    GL_ONE_MINUS_SRC1_ALPHA_EXT = 0x88FB :: GLenum

    pattern $mGL_ONE_MINUS_SRC1_COLOR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ONE_MINUS_SRC1_COLOR :: GLenum
    GL_ONE_MINUS_SRC1_COLOR = 0x88FA :: GLenum

    pattern $mGL_ONE_MINUS_SRC1_COLOR_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ONE_MINUS_SRC1_COLOR_EXT :: GLenum
    GL_ONE_MINUS_SRC1_COLOR_EXT = 0x88FA :: GLenum

    pattern $mGL_ONE_MINUS_SRC_ALPHA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ONE_MINUS_SRC_ALPHA :: GLenum
    GL_ONE_MINUS_SRC_ALPHA = 0x0303 :: GLenum

    pattern $mGL_ONE_MINUS_SRC_COLOR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ONE_MINUS_SRC_COLOR :: GLenum
    GL_ONE_MINUS_SRC_COLOR = 0x0301 :: GLenum

    pattern $mGL_OPERAND0_ALPHA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OPERAND0_ALPHA :: GLenum
    GL_OPERAND0_ALPHA = 0x8598 :: GLenum

    pattern $mGL_OPERAND0_ALPHA_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OPERAND0_ALPHA_ARB :: GLenum
    GL_OPERAND0_ALPHA_ARB = 0x8598 :: GLenum

    pattern $mGL_OPERAND0_ALPHA_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OPERAND0_ALPHA_EXT :: GLenum
    GL_OPERAND0_ALPHA_EXT = 0x8598 :: GLenum

    pattern $mGL_OPERAND0_RGB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OPERAND0_RGB :: GLenum
    GL_OPERAND0_RGB = 0x8590 :: GLenum

    pattern $mGL_OPERAND0_RGB_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OPERAND0_RGB_ARB :: GLenum
    GL_OPERAND0_RGB_ARB = 0x8590 :: GLenum

    pattern $mGL_OPERAND0_RGB_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OPERAND0_RGB_EXT :: GLenum
    GL_OPERAND0_RGB_EXT = 0x8590 :: GLenum

    pattern $mGL_OPERAND1_ALPHA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OPERAND1_ALPHA :: GLenum
    GL_OPERAND1_ALPHA = 0x8599 :: GLenum

    pattern $mGL_OPERAND1_ALPHA_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OPERAND1_ALPHA_ARB :: GLenum
    GL_OPERAND1_ALPHA_ARB = 0x8599 :: GLenum

    pattern $mGL_OPERAND1_ALPHA_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OPERAND1_ALPHA_EXT :: GLenum
    GL_OPERAND1_ALPHA_EXT = 0x8599 :: GLenum

    pattern $mGL_OPERAND1_RGB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OPERAND1_RGB :: GLenum
    GL_OPERAND1_RGB = 0x8591 :: GLenum

    pattern $mGL_OPERAND1_RGB_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OPERAND1_RGB_ARB :: GLenum
    GL_OPERAND1_RGB_ARB = 0x8591 :: GLenum

    pattern $mGL_OPERAND1_RGB_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OPERAND1_RGB_EXT :: GLenum
    GL_OPERAND1_RGB_EXT = 0x8591 :: GLenum

    pattern $mGL_OPERAND2_ALPHA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OPERAND2_ALPHA :: GLenum
    GL_OPERAND2_ALPHA = 0x859A :: GLenum

    pattern $mGL_OPERAND2_ALPHA_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OPERAND2_ALPHA_ARB :: GLenum
    GL_OPERAND2_ALPHA_ARB = 0x859A :: GLenum

    pattern $mGL_OPERAND2_ALPHA_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OPERAND2_ALPHA_EXT :: GLenum
    GL_OPERAND2_ALPHA_EXT = 0x859A :: GLenum

    pattern $mGL_OPERAND2_RGB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OPERAND2_RGB :: GLenum
    GL_OPERAND2_RGB = 0x8592 :: GLenum

    pattern $mGL_OPERAND2_RGB_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OPERAND2_RGB_ARB :: GLenum
    GL_OPERAND2_RGB_ARB = 0x8592 :: GLenum

    pattern $mGL_OPERAND2_RGB_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OPERAND2_RGB_EXT :: GLenum
    GL_OPERAND2_RGB_EXT = 0x8592 :: GLenum

    pattern $mGL_OPERAND3_ALPHA_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OPERAND3_ALPHA_NV :: GLenum
    GL_OPERAND3_ALPHA_NV = 0x859B :: GLenum

    pattern $mGL_OPERAND3_RGB_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OPERAND3_RGB_NV :: GLenum
    GL_OPERAND3_RGB_NV = 0x8593 :: GLenum

    pattern $mGL_OPTIMAL_TILING_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OPTIMAL_TILING_EXT :: GLenum
    GL_OPTIMAL_TILING_EXT = 0x9584 :: GLenum

    pattern $mGL_OP_ADD_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OP_ADD_EXT :: GLenum
    GL_OP_ADD_EXT = 0x8787 :: GLenum

    pattern $mGL_OP_CLAMP_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OP_CLAMP_EXT :: GLenum
    GL_OP_CLAMP_EXT = 0x878E :: GLenum

    pattern $mGL_OP_CROSS_PRODUCT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OP_CROSS_PRODUCT_EXT :: GLenum
    GL_OP_CROSS_PRODUCT_EXT = 0x8797 :: GLenum

    pattern $mGL_OP_DOT3_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OP_DOT3_EXT :: GLenum
    GL_OP_DOT3_EXT = 0x8784 :: GLenum

    pattern $mGL_OP_DOT4_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OP_DOT4_EXT :: GLenum
    GL_OP_DOT4_EXT = 0x8785 :: GLenum

    pattern $mGL_OP_EXP_BASE_2_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OP_EXP_BASE_2_EXT :: GLenum
    GL_OP_EXP_BASE_2_EXT = 0x8791 :: GLenum

    pattern $mGL_OP_FLOOR_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OP_FLOOR_EXT :: GLenum
    GL_OP_FLOOR_EXT = 0x878F :: GLenum

    pattern $mGL_OP_FRAC_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OP_FRAC_EXT :: GLenum
    GL_OP_FRAC_EXT = 0x8789 :: GLenum

    pattern $mGL_OP_INDEX_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OP_INDEX_EXT :: GLenum
    GL_OP_INDEX_EXT = 0x8782 :: GLenum

    pattern $mGL_OP_LOG_BASE_2_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OP_LOG_BASE_2_EXT :: GLenum
    GL_OP_LOG_BASE_2_EXT = 0x8792 :: GLenum

    pattern $mGL_OP_MADD_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OP_MADD_EXT :: GLenum
    GL_OP_MADD_EXT = 0x8788 :: GLenum

    pattern $mGL_OP_MAX_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OP_MAX_EXT :: GLenum
    GL_OP_MAX_EXT = 0x878A :: GLenum

    pattern $mGL_OP_MIN_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OP_MIN_EXT :: GLenum
    GL_OP_MIN_EXT = 0x878B :: GLenum

    pattern $mGL_OP_MOV_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OP_MOV_EXT :: GLenum
    GL_OP_MOV_EXT = 0x8799 :: GLenum

    pattern $mGL_OP_MULTIPLY_MATRIX_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OP_MULTIPLY_MATRIX_EXT :: GLenum
    GL_OP_MULTIPLY_MATRIX_EXT = 0x8798 :: GLenum

    pattern $mGL_OP_MUL_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OP_MUL_EXT :: GLenum
    GL_OP_MUL_EXT = 0x8786 :: GLenum

    pattern $mGL_OP_NEGATE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OP_NEGATE_EXT :: GLenum
    GL_OP_NEGATE_EXT = 0x8783 :: GLenum

    pattern $mGL_OP_POWER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OP_POWER_EXT :: GLenum
    GL_OP_POWER_EXT = 0x8793 :: GLenum

    pattern $mGL_OP_RECIP_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OP_RECIP_EXT :: GLenum
    GL_OP_RECIP_EXT = 0x8794 :: GLenum

    pattern $mGL_OP_RECIP_SQRT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OP_RECIP_SQRT_EXT :: GLenum
    GL_OP_RECIP_SQRT_EXT = 0x8795 :: GLenum

    pattern $mGL_OP_ROUND_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OP_ROUND_EXT :: GLenum
    GL_OP_ROUND_EXT = 0x8790 :: GLenum

    pattern $mGL_OP_SET_GE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OP_SET_GE_EXT :: GLenum
    GL_OP_SET_GE_EXT = 0x878C :: GLenum

    pattern $mGL_OP_SET_LT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OP_SET_LT_EXT :: GLenum
    GL_OP_SET_LT_EXT = 0x878D :: GLenum

    pattern $mGL_OP_SUB_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OP_SUB_EXT :: GLenum
    GL_OP_SUB_EXT = 0x8796 :: GLenum

    pattern $mGL_OR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OR :: GLenum
    GL_OR = 0x1507 :: GLenum

    pattern $mGL_ORDER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ORDER :: GLenum
    GL_ORDER = 0x0A01 :: GLenum

    pattern $mGL_OR_INVERTED :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OR_INVERTED :: GLenum
    GL_OR_INVERTED = 0x150D :: GLenum

    pattern $mGL_OR_REVERSE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OR_REVERSE :: GLenum
    GL_OR_REVERSE = 0x150B :: GLenum

    pattern $mGL_OUTPUT_COLOR0_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OUTPUT_COLOR0_EXT :: GLenum
    GL_OUTPUT_COLOR0_EXT = 0x879B :: GLenum

    pattern $mGL_OUTPUT_COLOR1_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OUTPUT_COLOR1_EXT :: GLenum
    GL_OUTPUT_COLOR1_EXT = 0x879C :: GLenum

    pattern $mGL_OUTPUT_FOG_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OUTPUT_FOG_EXT :: GLenum
    GL_OUTPUT_FOG_EXT = 0x87BD :: GLenum

    pattern $mGL_OUTPUT_TEXTURE_COORD0_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OUTPUT_TEXTURE_COORD0_EXT :: GLenum
    GL_OUTPUT_TEXTURE_COORD0_EXT = 0x879D :: GLenum

    pattern $mGL_OUTPUT_TEXTURE_COORD10_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OUTPUT_TEXTURE_COORD10_EXT :: GLenum
    GL_OUTPUT_TEXTURE_COORD10_EXT = 0x87A7 :: GLenum

    pattern $mGL_OUTPUT_TEXTURE_COORD11_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OUTPUT_TEXTURE_COORD11_EXT :: GLenum
    GL_OUTPUT_TEXTURE_COORD11_EXT = 0x87A8 :: GLenum

    pattern $mGL_OUTPUT_TEXTURE_COORD12_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OUTPUT_TEXTURE_COORD12_EXT :: GLenum
    GL_OUTPUT_TEXTURE_COORD12_EXT = 0x87A9 :: GLenum

    pattern $mGL_OUTPUT_TEXTURE_COORD13_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OUTPUT_TEXTURE_COORD13_EXT :: GLenum
    GL_OUTPUT_TEXTURE_COORD13_EXT = 0x87AA :: GLenum

    pattern $mGL_OUTPUT_TEXTURE_COORD14_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OUTPUT_TEXTURE_COORD14_EXT :: GLenum
    GL_OUTPUT_TEXTURE_COORD14_EXT = 0x87AB :: GLenum

    pattern $mGL_OUTPUT_TEXTURE_COORD15_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OUTPUT_TEXTURE_COORD15_EXT :: GLenum
    GL_OUTPUT_TEXTURE_COORD15_EXT = 0x87AC :: GLenum

    pattern $mGL_OUTPUT_TEXTURE_COORD16_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OUTPUT_TEXTURE_COORD16_EXT :: GLenum
    GL_OUTPUT_TEXTURE_COORD16_EXT = 0x87AD :: GLenum

    pattern $mGL_OUTPUT_TEXTURE_COORD17_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OUTPUT_TEXTURE_COORD17_EXT :: GLenum
    GL_OUTPUT_TEXTURE_COORD17_EXT = 0x87AE :: GLenum

    pattern $mGL_OUTPUT_TEXTURE_COORD18_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OUTPUT_TEXTURE_COORD18_EXT :: GLenum
    GL_OUTPUT_TEXTURE_COORD18_EXT = 0x87AF :: GLenum

    pattern $mGL_OUTPUT_TEXTURE_COORD19_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OUTPUT_TEXTURE_COORD19_EXT :: GLenum
    GL_OUTPUT_TEXTURE_COORD19_EXT = 0x87B0 :: GLenum

    pattern $mGL_OUTPUT_TEXTURE_COORD1_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OUTPUT_TEXTURE_COORD1_EXT :: GLenum
    GL_OUTPUT_TEXTURE_COORD1_EXT = 0x879E :: GLenum

    pattern $mGL_OUTPUT_TEXTURE_COORD20_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OUTPUT_TEXTURE_COORD20_EXT :: GLenum
    GL_OUTPUT_TEXTURE_COORD20_EXT = 0x87B1 :: GLenum

    pattern $mGL_OUTPUT_TEXTURE_COORD21_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OUTPUT_TEXTURE_COORD21_EXT :: GLenum
    GL_OUTPUT_TEXTURE_COORD21_EXT = 0x87B2 :: GLenum

    pattern $mGL_OUTPUT_TEXTURE_COORD22_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OUTPUT_TEXTURE_COORD22_EXT :: GLenum
    GL_OUTPUT_TEXTURE_COORD22_EXT = 0x87B3 :: GLenum

    pattern $mGL_OUTPUT_TEXTURE_COORD23_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OUTPUT_TEXTURE_COORD23_EXT :: GLenum
    GL_OUTPUT_TEXTURE_COORD23_EXT = 0x87B4 :: GLenum

    pattern $mGL_OUTPUT_TEXTURE_COORD24_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OUTPUT_TEXTURE_COORD24_EXT :: GLenum
    GL_OUTPUT_TEXTURE_COORD24_EXT = 0x87B5 :: GLenum

    pattern $mGL_OUTPUT_TEXTURE_COORD25_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OUTPUT_TEXTURE_COORD25_EXT :: GLenum
    GL_OUTPUT_TEXTURE_COORD25_EXT = 0x87B6 :: GLenum

    pattern $mGL_OUTPUT_TEXTURE_COORD26_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OUTPUT_TEXTURE_COORD26_EXT :: GLenum
    GL_OUTPUT_TEXTURE_COORD26_EXT = 0x87B7 :: GLenum

    pattern $mGL_OUTPUT_TEXTURE_COORD27_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OUTPUT_TEXTURE_COORD27_EXT :: GLenum
    GL_OUTPUT_TEXTURE_COORD27_EXT = 0x87B8 :: GLenum

    pattern $mGL_OUTPUT_TEXTURE_COORD28_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OUTPUT_TEXTURE_COORD28_EXT :: GLenum
    GL_OUTPUT_TEXTURE_COORD28_EXT = 0x87B9 :: GLenum

    pattern $mGL_OUTPUT_TEXTURE_COORD29_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OUTPUT_TEXTURE_COORD29_EXT :: GLenum
    GL_OUTPUT_TEXTURE_COORD29_EXT = 0x87BA :: GLenum

    pattern $mGL_OUTPUT_TEXTURE_COORD2_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OUTPUT_TEXTURE_COORD2_EXT :: GLenum
    GL_OUTPUT_TEXTURE_COORD2_EXT = 0x879F :: GLenum

    pattern $mGL_OUTPUT_TEXTURE_COORD30_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OUTPUT_TEXTURE_COORD30_EXT :: GLenum
    GL_OUTPUT_TEXTURE_COORD30_EXT = 0x87BB :: GLenum

    pattern $mGL_OUTPUT_TEXTURE_COORD31_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OUTPUT_TEXTURE_COORD31_EXT :: GLenum
    GL_OUTPUT_TEXTURE_COORD31_EXT = 0x87BC :: GLenum

    pattern $mGL_OUTPUT_TEXTURE_COORD3_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OUTPUT_TEXTURE_COORD3_EXT :: GLenum
    GL_OUTPUT_TEXTURE_COORD3_EXT = 0x87A0 :: GLenum

    pattern $mGL_OUTPUT_TEXTURE_COORD4_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OUTPUT_TEXTURE_COORD4_EXT :: GLenum
    GL_OUTPUT_TEXTURE_COORD4_EXT = 0x87A1 :: GLenum

    pattern $mGL_OUTPUT_TEXTURE_COORD5_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OUTPUT_TEXTURE_COORD5_EXT :: GLenum
    GL_OUTPUT_TEXTURE_COORD5_EXT = 0x87A2 :: GLenum

    pattern $mGL_OUTPUT_TEXTURE_COORD6_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OUTPUT_TEXTURE_COORD6_EXT :: GLenum
    GL_OUTPUT_TEXTURE_COORD6_EXT = 0x87A3 :: GLenum

    pattern $mGL_OUTPUT_TEXTURE_COORD7_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OUTPUT_TEXTURE_COORD7_EXT :: GLenum
    GL_OUTPUT_TEXTURE_COORD7_EXT = 0x87A4 :: GLenum

    pattern $mGL_OUTPUT_TEXTURE_COORD8_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OUTPUT_TEXTURE_COORD8_EXT :: GLenum
    GL_OUTPUT_TEXTURE_COORD8_EXT = 0x87A5 :: GLenum

    pattern $mGL_OUTPUT_TEXTURE_COORD9_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OUTPUT_TEXTURE_COORD9_EXT :: GLenum
    GL_OUTPUT_TEXTURE_COORD9_EXT = 0x87A6 :: GLenum

    pattern $mGL_OUTPUT_VERTEX_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OUTPUT_VERTEX_EXT :: GLenum
    GL_OUTPUT_VERTEX_EXT = 0x879A :: GLenum

    pattern $mGL_OUT_OF_MEMORY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OUT_OF_MEMORY :: GLenum
    GL_OUT_OF_MEMORY = 0x0505 :: GLenum

    pattern $mGL_OVERLAY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OVERLAY :: GLenum
    GL_OVERLAY = 0x9296 :: GLenum

    pattern $mGL_OVERLAY_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OVERLAY_KHR :: GLenum
    GL_OVERLAY_KHR = 0x9296 :: GLenum

    pattern $mGL_OVERLAY_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_OVERLAY_NV :: GLenum
    GL_OVERLAY_NV = 0x9296 :: GLenum

    pattern $mGL_PACK_ALIGNMENT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PACK_ALIGNMENT :: GLenum
    GL_PACK_ALIGNMENT = 0x0D05 :: GLenum

    pattern $mGL_PACK_CMYK_HINT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PACK_CMYK_HINT_EXT :: GLenum
    GL_PACK_CMYK_HINT_EXT = 0x800E :: GLenum

    pattern $mGL_PACK_COMPRESSED_BLOCK_DEPTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PACK_COMPRESSED_BLOCK_DEPTH :: GLenum
    GL_PACK_COMPRESSED_BLOCK_DEPTH = 0x912D :: GLenum

    pattern $mGL_PACK_COMPRESSED_BLOCK_HEIGHT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PACK_COMPRESSED_BLOCK_HEIGHT :: GLenum
    GL_PACK_COMPRESSED_BLOCK_HEIGHT = 0x912C :: GLenum

    pattern $mGL_PACK_COMPRESSED_BLOCK_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PACK_COMPRESSED_BLOCK_SIZE :: GLenum
    GL_PACK_COMPRESSED_BLOCK_SIZE = 0x912E :: GLenum

    pattern $mGL_PACK_COMPRESSED_BLOCK_WIDTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PACK_COMPRESSED_BLOCK_WIDTH :: GLenum
    GL_PACK_COMPRESSED_BLOCK_WIDTH = 0x912B :: GLenum

    pattern $mGL_PACK_COMPRESSED_SIZE_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PACK_COMPRESSED_SIZE_SGIX :: GLenum
    GL_PACK_COMPRESSED_SIZE_SGIX = 0x831C :: GLenum

    pattern $mGL_PACK_IMAGE_DEPTH_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PACK_IMAGE_DEPTH_SGIS :: GLenum
    GL_PACK_IMAGE_DEPTH_SGIS = 0x8131 :: GLenum

    pattern $mGL_PACK_IMAGE_HEIGHT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PACK_IMAGE_HEIGHT :: GLenum
    GL_PACK_IMAGE_HEIGHT = 0x806C :: GLenum

    pattern $mGL_PACK_IMAGE_HEIGHT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PACK_IMAGE_HEIGHT_EXT :: GLenum
    GL_PACK_IMAGE_HEIGHT_EXT = 0x806C :: GLenum

    pattern $mGL_PACK_INVERT_MESA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PACK_INVERT_MESA :: GLenum
    GL_PACK_INVERT_MESA = 0x8758 :: GLenum

    pattern $mGL_PACK_LSB_FIRST :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PACK_LSB_FIRST :: GLenum
    GL_PACK_LSB_FIRST = 0x0D01 :: GLenum

    pattern $mGL_PACK_MAX_COMPRESSED_SIZE_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PACK_MAX_COMPRESSED_SIZE_SGIX :: GLenum
    GL_PACK_MAX_COMPRESSED_SIZE_SGIX = 0x831B :: GLenum

    pattern $mGL_PACK_RESAMPLE_OML :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PACK_RESAMPLE_OML :: GLenum
    GL_PACK_RESAMPLE_OML = 0x8984 :: GLenum

    pattern $mGL_PACK_RESAMPLE_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PACK_RESAMPLE_SGIX :: GLenum
    GL_PACK_RESAMPLE_SGIX = 0x842E :: GLenum

    pattern $mGL_PACK_REVERSE_ROW_ORDER_ANGLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PACK_REVERSE_ROW_ORDER_ANGLE :: GLenum
    GL_PACK_REVERSE_ROW_ORDER_ANGLE = 0x93A4 :: GLenum

    pattern $mGL_PACK_ROW_BYTES_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PACK_ROW_BYTES_APPLE :: GLenum
    GL_PACK_ROW_BYTES_APPLE = 0x8A15 :: GLenum

    pattern $mGL_PACK_ROW_LENGTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PACK_ROW_LENGTH :: GLenum
    GL_PACK_ROW_LENGTH = 0x0D02 :: GLenum

    pattern $mGL_PACK_SKIP_IMAGES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PACK_SKIP_IMAGES :: GLenum
    GL_PACK_SKIP_IMAGES = 0x806B :: GLenum

    pattern $mGL_PACK_SKIP_IMAGES_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PACK_SKIP_IMAGES_EXT :: GLenum
    GL_PACK_SKIP_IMAGES_EXT = 0x806B :: GLenum

    pattern $mGL_PACK_SKIP_PIXELS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PACK_SKIP_PIXELS :: GLenum
    GL_PACK_SKIP_PIXELS = 0x0D04 :: GLenum

    pattern $mGL_PACK_SKIP_ROWS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PACK_SKIP_ROWS :: GLenum
    GL_PACK_SKIP_ROWS = 0x0D03 :: GLenum

    pattern $mGL_PACK_SKIP_VOLUMES_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PACK_SKIP_VOLUMES_SGIS :: GLenum
    GL_PACK_SKIP_VOLUMES_SGIS = 0x8130 :: GLenum

    pattern $mGL_PACK_SUBSAMPLE_RATE_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PACK_SUBSAMPLE_RATE_SGIX :: GLenum
    GL_PACK_SUBSAMPLE_RATE_SGIX = 0x85A0 :: GLenum

    pattern $mGL_PACK_SWAP_BYTES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PACK_SWAP_BYTES :: GLenum
    GL_PACK_SWAP_BYTES = 0x0D00 :: GLenum

    pattern $mGL_PALETTE4_R5_G6_B5_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PALETTE4_R5_G6_B5_OES :: GLenum
    GL_PALETTE4_R5_G6_B5_OES = 0x8B92 :: GLenum

    pattern $mGL_PALETTE4_RGB5_A1_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PALETTE4_RGB5_A1_OES :: GLenum
    GL_PALETTE4_RGB5_A1_OES = 0x8B94 :: GLenum

    pattern $mGL_PALETTE4_RGB8_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PALETTE4_RGB8_OES :: GLenum
    GL_PALETTE4_RGB8_OES = 0x8B90 :: GLenum

    pattern $mGL_PALETTE4_RGBA4_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PALETTE4_RGBA4_OES :: GLenum
    GL_PALETTE4_RGBA4_OES = 0x8B93 :: GLenum

    pattern $mGL_PALETTE4_RGBA8_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PALETTE4_RGBA8_OES :: GLenum
    GL_PALETTE4_RGBA8_OES = 0x8B91 :: GLenum

    pattern $mGL_PALETTE8_R5_G6_B5_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PALETTE8_R5_G6_B5_OES :: GLenum
    GL_PALETTE8_R5_G6_B5_OES = 0x8B97 :: GLenum

    pattern $mGL_PALETTE8_RGB5_A1_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PALETTE8_RGB5_A1_OES :: GLenum
    GL_PALETTE8_RGB5_A1_OES = 0x8B99 :: GLenum

    pattern $mGL_PALETTE8_RGB8_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PALETTE8_RGB8_OES :: GLenum
    GL_PALETTE8_RGB8_OES = 0x8B95 :: GLenum

    pattern $mGL_PALETTE8_RGBA4_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PALETTE8_RGBA4_OES :: GLenum
    GL_PALETTE8_RGBA4_OES = 0x8B98 :: GLenum

    pattern $mGL_PALETTE8_RGBA8_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PALETTE8_RGBA8_OES :: GLenum
    GL_PALETTE8_RGBA8_OES = 0x8B96 :: GLenum

    pattern $mGL_PARALLEL_ARRAYS_INTEL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PARALLEL_ARRAYS_INTEL :: GLenum
    GL_PARALLEL_ARRAYS_INTEL = 0x83F4 :: GLenum

    pattern $mGL_PARAMETER_BUFFER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PARAMETER_BUFFER :: GLenum
    GL_PARAMETER_BUFFER = 0x80EE :: GLenum

    pattern $mGL_PARAMETER_BUFFER_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PARAMETER_BUFFER_ARB :: GLenum
    GL_PARAMETER_BUFFER_ARB = 0x80EE :: GLenum

    pattern $mGL_PARAMETER_BUFFER_BINDING :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PARAMETER_BUFFER_BINDING :: GLenum
    GL_PARAMETER_BUFFER_BINDING = 0x80EF :: GLenum

    pattern $mGL_PARAMETER_BUFFER_BINDING_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PARAMETER_BUFFER_BINDING_ARB :: GLenum
    GL_PARAMETER_BUFFER_BINDING_ARB = 0x80EF :: GLenum

    pattern $mGL_PARTIAL_SUCCESS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PARTIAL_SUCCESS_NV :: GLenum
    GL_PARTIAL_SUCCESS_NV = 0x902E :: GLenum

    pattern $mGL_PASS_THROUGH_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PASS_THROUGH_NV :: GLenum
    GL_PASS_THROUGH_NV = 0x86E6 :: GLenum

    pattern $mGL_PASS_THROUGH_TOKEN :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PASS_THROUGH_TOKEN :: GLenum
    GL_PASS_THROUGH_TOKEN = 0x0700 :: GLenum

    pattern $mGL_PATCHES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATCHES :: GLenum
    GL_PATCHES = 0x000E :: GLenum

    pattern $mGL_PATCHES_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATCHES_EXT :: GLenum
    GL_PATCHES_EXT = 0x000E :: GLenum

    pattern $mGL_PATCHES_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATCHES_OES :: GLenum
    GL_PATCHES_OES = 0x000E :: GLenum

    pattern $mGL_PATCH_DEFAULT_INNER_LEVEL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATCH_DEFAULT_INNER_LEVEL :: GLenum
    GL_PATCH_DEFAULT_INNER_LEVEL = 0x8E73 :: GLenum

    pattern $mGL_PATCH_DEFAULT_INNER_LEVEL_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATCH_DEFAULT_INNER_LEVEL_EXT :: GLenum
    GL_PATCH_DEFAULT_INNER_LEVEL_EXT = 0x8E73 :: GLenum

    pattern $mGL_PATCH_DEFAULT_OUTER_LEVEL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATCH_DEFAULT_OUTER_LEVEL :: GLenum
    GL_PATCH_DEFAULT_OUTER_LEVEL = 0x8E74 :: GLenum

    pattern $mGL_PATCH_DEFAULT_OUTER_LEVEL_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATCH_DEFAULT_OUTER_LEVEL_EXT :: GLenum
    GL_PATCH_DEFAULT_OUTER_LEVEL_EXT = 0x8E74 :: GLenum

    pattern $mGL_PATCH_VERTICES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATCH_VERTICES :: GLenum
    GL_PATCH_VERTICES = 0x8E72 :: GLenum

    pattern $mGL_PATCH_VERTICES_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATCH_VERTICES_EXT :: GLenum
    GL_PATCH_VERTICES_EXT = 0x8E72 :: GLenum

    pattern $mGL_PATCH_VERTICES_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATCH_VERTICES_OES :: GLenum
    GL_PATCH_VERTICES_OES = 0x8E72 :: GLenum

    pattern $mGL_PATH_CLIENT_LENGTH_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATH_CLIENT_LENGTH_NV :: GLenum
    GL_PATH_CLIENT_LENGTH_NV = 0x907F :: GLenum

    pattern $mGL_PATH_COMMAND_COUNT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATH_COMMAND_COUNT_NV :: GLenum
    GL_PATH_COMMAND_COUNT_NV = 0x909D :: GLenum

    pattern $mGL_PATH_COMPUTED_LENGTH_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATH_COMPUTED_LENGTH_NV :: GLenum
    GL_PATH_COMPUTED_LENGTH_NV = 0x90A0 :: GLenum

    pattern $mGL_PATH_COORD_COUNT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATH_COORD_COUNT_NV :: GLenum
    GL_PATH_COORD_COUNT_NV = 0x909E :: GLenum

    pattern $mGL_PATH_COVER_DEPTH_FUNC_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATH_COVER_DEPTH_FUNC_NV :: GLenum
    GL_PATH_COVER_DEPTH_FUNC_NV = 0x90BF :: GLenum

    pattern $mGL_PATH_DASH_ARRAY_COUNT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATH_DASH_ARRAY_COUNT_NV :: GLenum
    GL_PATH_DASH_ARRAY_COUNT_NV = 0x909F :: GLenum

    pattern $mGL_PATH_DASH_CAPS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATH_DASH_CAPS_NV :: GLenum
    GL_PATH_DASH_CAPS_NV = 0x907B :: GLenum

    pattern $mGL_PATH_DASH_OFFSET_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATH_DASH_OFFSET_NV :: GLenum
    GL_PATH_DASH_OFFSET_NV = 0x907E :: GLenum

    pattern $mGL_PATH_DASH_OFFSET_RESET_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATH_DASH_OFFSET_RESET_NV :: GLenum
    GL_PATH_DASH_OFFSET_RESET_NV = 0x90B4 :: GLenum

    pattern $mGL_PATH_END_CAPS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATH_END_CAPS_NV :: GLenum
    GL_PATH_END_CAPS_NV = 0x9076 :: GLenum

    pattern $mGL_PATH_ERROR_POSITION_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATH_ERROR_POSITION_NV :: GLenum
    GL_PATH_ERROR_POSITION_NV = 0x90AB :: GLenum

    pattern $mGL_PATH_FILL_BOUNDING_BOX_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATH_FILL_BOUNDING_BOX_NV :: GLenum
    GL_PATH_FILL_BOUNDING_BOX_NV = 0x90A1 :: GLenum

    pattern $mGL_PATH_FILL_COVER_MODE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATH_FILL_COVER_MODE_NV :: GLenum
    GL_PATH_FILL_COVER_MODE_NV = 0x9082 :: GLenum

    pattern $mGL_PATH_FILL_MASK_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATH_FILL_MASK_NV :: GLenum
    GL_PATH_FILL_MASK_NV = 0x9081 :: GLenum

    pattern $mGL_PATH_FILL_MODE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATH_FILL_MODE_NV :: GLenum
    GL_PATH_FILL_MODE_NV = 0x9080 :: GLenum

    pattern $mGL_PATH_FOG_GEN_MODE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATH_FOG_GEN_MODE_NV :: GLenum
    GL_PATH_FOG_GEN_MODE_NV = 0x90AC :: GLenum

    pattern $mGL_PATH_FORMAT_PS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATH_FORMAT_PS_NV :: GLenum
    GL_PATH_FORMAT_PS_NV = 0x9071 :: GLenum

    pattern $mGL_PATH_FORMAT_SVG_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATH_FORMAT_SVG_NV :: GLenum
    GL_PATH_FORMAT_SVG_NV = 0x9070 :: GLenum

    pattern $mGL_PATH_GEN_COEFF_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATH_GEN_COEFF_NV :: GLenum
    GL_PATH_GEN_COEFF_NV = 0x90B1 :: GLenum

    pattern $mGL_PATH_GEN_COLOR_FORMAT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATH_GEN_COLOR_FORMAT_NV :: GLenum
    GL_PATH_GEN_COLOR_FORMAT_NV = 0x90B2 :: GLenum

    pattern $mGL_PATH_GEN_COMPONENTS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATH_GEN_COMPONENTS_NV :: GLenum
    GL_PATH_GEN_COMPONENTS_NV = 0x90B3 :: GLenum

    pattern $mGL_PATH_GEN_MODE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATH_GEN_MODE_NV :: GLenum
    GL_PATH_GEN_MODE_NV = 0x90B0 :: GLenum

    pattern $mGL_PATH_INITIAL_DASH_CAP_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATH_INITIAL_DASH_CAP_NV :: GLenum
    GL_PATH_INITIAL_DASH_CAP_NV = 0x907C :: GLenum

    pattern $mGL_PATH_INITIAL_END_CAP_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATH_INITIAL_END_CAP_NV :: GLenum
    GL_PATH_INITIAL_END_CAP_NV = 0x9077 :: GLenum

    pattern $mGL_PATH_JOIN_STYLE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATH_JOIN_STYLE_NV :: GLenum
    GL_PATH_JOIN_STYLE_NV = 0x9079 :: GLenum

    pattern $mGL_PATH_MAX_MODELVIEW_STACK_DEPTH_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATH_MAX_MODELVIEW_STACK_DEPTH_NV :: GLenum
    GL_PATH_MAX_MODELVIEW_STACK_DEPTH_NV = 0x0D36 :: GLenum

    pattern $mGL_PATH_MAX_PROJECTION_STACK_DEPTH_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATH_MAX_PROJECTION_STACK_DEPTH_NV :: GLenum
    GL_PATH_MAX_PROJECTION_STACK_DEPTH_NV = 0x0D38 :: GLenum

    pattern $mGL_PATH_MITER_LIMIT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATH_MITER_LIMIT_NV :: GLenum
    GL_PATH_MITER_LIMIT_NV = 0x907A :: GLenum

    pattern $mGL_PATH_MODELVIEW_MATRIX_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATH_MODELVIEW_MATRIX_NV :: GLenum
    GL_PATH_MODELVIEW_MATRIX_NV = 0x0BA6 :: GLenum

    pattern $mGL_PATH_MODELVIEW_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATH_MODELVIEW_NV :: GLenum
    GL_PATH_MODELVIEW_NV = 0x1700 :: GLenum

    pattern $mGL_PATH_MODELVIEW_STACK_DEPTH_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATH_MODELVIEW_STACK_DEPTH_NV :: GLenum
    GL_PATH_MODELVIEW_STACK_DEPTH_NV = 0x0BA3 :: GLenum

    pattern $mGL_PATH_OBJECT_BOUNDING_BOX_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATH_OBJECT_BOUNDING_BOX_NV :: GLenum
    GL_PATH_OBJECT_BOUNDING_BOX_NV = 0x908A :: GLenum

    pattern $mGL_PATH_PROJECTION_MATRIX_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATH_PROJECTION_MATRIX_NV :: GLenum
    GL_PATH_PROJECTION_MATRIX_NV = 0x0BA7 :: GLenum

    pattern $mGL_PATH_PROJECTION_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATH_PROJECTION_NV :: GLenum
    GL_PATH_PROJECTION_NV = 0x1701 :: GLenum

    pattern $mGL_PATH_PROJECTION_STACK_DEPTH_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATH_PROJECTION_STACK_DEPTH_NV :: GLenum
    GL_PATH_PROJECTION_STACK_DEPTH_NV = 0x0BA4 :: GLenum

    pattern $mGL_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV :: GLenum
    GL_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV = 0x90BD :: GLenum

    pattern $mGL_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV :: GLenum
    GL_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV = 0x90BE :: GLenum

    pattern $mGL_PATH_STENCIL_FUNC_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATH_STENCIL_FUNC_NV :: GLenum
    GL_PATH_STENCIL_FUNC_NV = 0x90B7 :: GLenum

    pattern $mGL_PATH_STENCIL_REF_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATH_STENCIL_REF_NV :: GLenum
    GL_PATH_STENCIL_REF_NV = 0x90B8 :: GLenum

    pattern $mGL_PATH_STENCIL_VALUE_MASK_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATH_STENCIL_VALUE_MASK_NV :: GLenum
    GL_PATH_STENCIL_VALUE_MASK_NV = 0x90B9 :: GLenum

    pattern $mGL_PATH_STROKE_BOUNDING_BOX_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATH_STROKE_BOUNDING_BOX_NV :: GLenum
    GL_PATH_STROKE_BOUNDING_BOX_NV = 0x90A2 :: GLenum

    pattern $mGL_PATH_STROKE_COVER_MODE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATH_STROKE_COVER_MODE_NV :: GLenum
    GL_PATH_STROKE_COVER_MODE_NV = 0x9083 :: GLenum

    pattern $mGL_PATH_STROKE_MASK_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATH_STROKE_MASK_NV :: GLenum
    GL_PATH_STROKE_MASK_NV = 0x9084 :: GLenum

    pattern $mGL_PATH_STROKE_WIDTH_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATH_STROKE_WIDTH_NV :: GLenum
    GL_PATH_STROKE_WIDTH_NV = 0x9075 :: GLenum

    pattern $mGL_PATH_TERMINAL_DASH_CAP_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATH_TERMINAL_DASH_CAP_NV :: GLenum
    GL_PATH_TERMINAL_DASH_CAP_NV = 0x907D :: GLenum

    pattern $mGL_PATH_TERMINAL_END_CAP_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATH_TERMINAL_END_CAP_NV :: GLenum
    GL_PATH_TERMINAL_END_CAP_NV = 0x9078 :: GLenum

    pattern $mGL_PATH_TRANSPOSE_MODELVIEW_MATRIX_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATH_TRANSPOSE_MODELVIEW_MATRIX_NV :: GLenum
    GL_PATH_TRANSPOSE_MODELVIEW_MATRIX_NV = 0x84E3 :: GLenum

    pattern $mGL_PATH_TRANSPOSE_PROJECTION_MATRIX_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PATH_TRANSPOSE_PROJECTION_MATRIX_NV :: GLenum
    GL_PATH_TRANSPOSE_PROJECTION_MATRIX_NV = 0x84E4 :: GLenum

    pattern $mGL_PERCENTAGE_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PERCENTAGE_AMD :: GLenum
    GL_PERCENTAGE_AMD = 0x8BC3 :: GLenum

    pattern $mGL_PERFMON_GLOBAL_MODE_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PERFMON_GLOBAL_MODE_QCOM :: GLenum
    GL_PERFMON_GLOBAL_MODE_QCOM = 0x8FA0 :: GLenum

    pattern $mGL_PERFMON_RESULT_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PERFMON_RESULT_AMD :: GLenum
    GL_PERFMON_RESULT_AMD = 0x8BC6 :: GLenum

    pattern $mGL_PERFMON_RESULT_AVAILABLE_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PERFMON_RESULT_AVAILABLE_AMD :: GLenum
    GL_PERFMON_RESULT_AVAILABLE_AMD = 0x8BC4 :: GLenum

    pattern $mGL_PERFMON_RESULT_SIZE_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PERFMON_RESULT_SIZE_AMD :: GLenum
    GL_PERFMON_RESULT_SIZE_AMD = 0x8BC5 :: GLenum

    pattern $mGL_PERFORMANCE_MONITOR_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PERFORMANCE_MONITOR_AMD :: GLenum
    GL_PERFORMANCE_MONITOR_AMD = 0x9152 :: GLenum

    pattern $mGL_PERFQUERY_COUNTER_DATA_BOOL32_INTEL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PERFQUERY_COUNTER_DATA_BOOL32_INTEL :: GLenum
    GL_PERFQUERY_COUNTER_DATA_BOOL32_INTEL = 0x94FC :: GLenum

    pattern $mGL_PERFQUERY_COUNTER_DATA_DOUBLE_INTEL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PERFQUERY_COUNTER_DATA_DOUBLE_INTEL :: GLenum
    GL_PERFQUERY_COUNTER_DATA_DOUBLE_INTEL = 0x94FB :: GLenum

    pattern $mGL_PERFQUERY_COUNTER_DATA_FLOAT_INTEL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PERFQUERY_COUNTER_DATA_FLOAT_INTEL :: GLenum
    GL_PERFQUERY_COUNTER_DATA_FLOAT_INTEL = 0x94FA :: GLenum

    pattern $mGL_PERFQUERY_COUNTER_DATA_UINT32_INTEL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PERFQUERY_COUNTER_DATA_UINT32_INTEL :: GLenum
    GL_PERFQUERY_COUNTER_DATA_UINT32_INTEL = 0x94F8 :: GLenum

    pattern $mGL_PERFQUERY_COUNTER_DATA_UINT64_INTEL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PERFQUERY_COUNTER_DATA_UINT64_INTEL :: GLenum
    GL_PERFQUERY_COUNTER_DATA_UINT64_INTEL = 0x94F9 :: GLenum

    pattern $mGL_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL :: GLenum
    GL_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL = 0x94FF :: GLenum

    pattern $mGL_PERFQUERY_COUNTER_DURATION_NORM_INTEL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PERFQUERY_COUNTER_DURATION_NORM_INTEL :: GLenum
    GL_PERFQUERY_COUNTER_DURATION_NORM_INTEL = 0x94F1 :: GLenum

    pattern $mGL_PERFQUERY_COUNTER_DURATION_RAW_INTEL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PERFQUERY_COUNTER_DURATION_RAW_INTEL :: GLenum
    GL_PERFQUERY_COUNTER_DURATION_RAW_INTEL = 0x94F2 :: GLenum

    pattern $mGL_PERFQUERY_COUNTER_EVENT_INTEL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PERFQUERY_COUNTER_EVENT_INTEL :: GLenum
    GL_PERFQUERY_COUNTER_EVENT_INTEL = 0x94F0 :: GLenum

    pattern $mGL_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL :: GLenum
    GL_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL = 0x94FE :: GLenum

    pattern $mGL_PERFQUERY_COUNTER_RAW_INTEL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PERFQUERY_COUNTER_RAW_INTEL :: GLenum
    GL_PERFQUERY_COUNTER_RAW_INTEL = 0x94F4 :: GLenum

    pattern $mGL_PERFQUERY_COUNTER_THROUGHPUT_INTEL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PERFQUERY_COUNTER_THROUGHPUT_INTEL :: GLenum
    GL_PERFQUERY_COUNTER_THROUGHPUT_INTEL = 0x94F3 :: GLenum

    pattern $mGL_PERFQUERY_COUNTER_TIMESTAMP_INTEL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PERFQUERY_COUNTER_TIMESTAMP_INTEL :: GLenum
    GL_PERFQUERY_COUNTER_TIMESTAMP_INTEL = 0x94F5 :: GLenum

    pattern $mGL_PERFQUERY_DONOT_FLUSH_INTEL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PERFQUERY_DONOT_FLUSH_INTEL :: GLenum
    GL_PERFQUERY_DONOT_FLUSH_INTEL = 0x83F9 :: GLenum

    pattern $mGL_PERFQUERY_FLUSH_INTEL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PERFQUERY_FLUSH_INTEL :: GLenum
    GL_PERFQUERY_FLUSH_INTEL = 0x83FA :: GLenum

    pattern $mGL_PERFQUERY_GLOBAL_CONTEXT_INTEL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PERFQUERY_GLOBAL_CONTEXT_INTEL :: GLenum
    GL_PERFQUERY_GLOBAL_CONTEXT_INTEL = 0x00000001 :: GLbitfield

    pattern $mGL_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL :: GLenum
    GL_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL = 0x9500 :: GLenum

    pattern $mGL_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL :: GLenum
    GL_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL = 0x94FD :: GLenum

    pattern $mGL_PERFQUERY_SINGLE_CONTEXT_INTEL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PERFQUERY_SINGLE_CONTEXT_INTEL :: GLenum
    GL_PERFQUERY_SINGLE_CONTEXT_INTEL = 0x00000000 :: GLbitfield

    pattern $mGL_PERFQUERY_WAIT_INTEL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PERFQUERY_WAIT_INTEL :: GLenum
    GL_PERFQUERY_WAIT_INTEL = 0x83FB :: GLenum

    pattern $mGL_PERSPECTIVE_CORRECTION_HINT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PERSPECTIVE_CORRECTION_HINT :: GLenum
    GL_PERSPECTIVE_CORRECTION_HINT = 0x0C50 :: GLenum

    pattern $mGL_PERTURB_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PERTURB_EXT :: GLenum
    GL_PERTURB_EXT = 0x85AE :: GLenum

    pattern $mGL_PER_GPU_STORAGE_BIT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PER_GPU_STORAGE_BIT_NV :: GLenum
    GL_PER_GPU_STORAGE_BIT_NV = 0x0800 :: GLbitfield

    pattern $mGL_PER_GPU_STORAGE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PER_GPU_STORAGE_NV :: GLenum
    GL_PER_GPU_STORAGE_NV = 0x9548 :: GLenum

    pattern $mGL_PER_STAGE_CONSTANTS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PER_STAGE_CONSTANTS_NV :: GLenum
    GL_PER_STAGE_CONSTANTS_NV = 0x8535 :: GLenum

    pattern $mGL_PHONG_HINT_WIN :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PHONG_HINT_WIN :: GLenum
    GL_PHONG_HINT_WIN = 0x80EB :: GLenum

    pattern $mGL_PHONG_WIN :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PHONG_WIN :: GLenum
    GL_PHONG_WIN = 0x80EA :: GLenum

    pattern $mGL_PINLIGHT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PINLIGHT_NV :: GLenum
    GL_PINLIGHT_NV = 0x92A8 :: GLenum

    pattern $mGL_PIXELS_PER_SAMPLE_PATTERN_X_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXELS_PER_SAMPLE_PATTERN_X_AMD :: GLenum
    GL_PIXELS_PER_SAMPLE_PATTERN_X_AMD = 0x91AE :: GLenum

    pattern $mGL_PIXELS_PER_SAMPLE_PATTERN_Y_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXELS_PER_SAMPLE_PATTERN_Y_AMD :: GLenum
    GL_PIXELS_PER_SAMPLE_PATTERN_Y_AMD = 0x91AF :: GLenum

    pattern $mGL_PIXEL_BUFFER_BARRIER_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_BUFFER_BARRIER_BIT :: GLenum
    GL_PIXEL_BUFFER_BARRIER_BIT = 0x00000080 :: GLbitfield

    pattern $mGL_PIXEL_BUFFER_BARRIER_BIT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_BUFFER_BARRIER_BIT_EXT :: GLenum
    GL_PIXEL_BUFFER_BARRIER_BIT_EXT = 0x00000080 :: GLbitfield

    pattern $mGL_PIXEL_COUNTER_BITS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_COUNTER_BITS_NV :: GLenum
    GL_PIXEL_COUNTER_BITS_NV = 0x8864 :: GLenum

    pattern $mGL_PIXEL_COUNT_AVAILABLE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_COUNT_AVAILABLE_NV :: GLenum
    GL_PIXEL_COUNT_AVAILABLE_NV = 0x8867 :: GLenum

    pattern $mGL_PIXEL_COUNT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_COUNT_NV :: GLenum
    GL_PIXEL_COUNT_NV = 0x8866 :: GLenum

    pattern $mGL_PIXEL_CUBIC_WEIGHT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_CUBIC_WEIGHT_EXT :: GLenum
    GL_PIXEL_CUBIC_WEIGHT_EXT = 0x8333 :: GLenum

    pattern $mGL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS :: GLenum
    GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS = 0x8355 :: GLenum

    pattern $mGL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS :: GLenum
    GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS = 0x8354 :: GLenum

    pattern $mGL_PIXEL_GROUP_COLOR_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_GROUP_COLOR_SGIS :: GLenum
    GL_PIXEL_GROUP_COLOR_SGIS = 0x8356 :: GLenum

    pattern $mGL_PIXEL_MAG_FILTER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_MAG_FILTER_EXT :: GLenum
    GL_PIXEL_MAG_FILTER_EXT = 0x8331 :: GLenum

    pattern $mGL_PIXEL_MAP_A_TO_A :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_MAP_A_TO_A :: GLenum
    GL_PIXEL_MAP_A_TO_A = 0x0C79 :: GLenum

    pattern $mGL_PIXEL_MAP_A_TO_A_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_MAP_A_TO_A_SIZE :: GLenum
    GL_PIXEL_MAP_A_TO_A_SIZE = 0x0CB9 :: GLenum

    pattern $mGL_PIXEL_MAP_B_TO_B :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_MAP_B_TO_B :: GLenum
    GL_PIXEL_MAP_B_TO_B = 0x0C78 :: GLenum

    pattern $mGL_PIXEL_MAP_B_TO_B_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_MAP_B_TO_B_SIZE :: GLenum
    GL_PIXEL_MAP_B_TO_B_SIZE = 0x0CB8 :: GLenum

    pattern $mGL_PIXEL_MAP_G_TO_G :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_MAP_G_TO_G :: GLenum
    GL_PIXEL_MAP_G_TO_G = 0x0C77 :: GLenum

    pattern $mGL_PIXEL_MAP_G_TO_G_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_MAP_G_TO_G_SIZE :: GLenum
    GL_PIXEL_MAP_G_TO_G_SIZE = 0x0CB7 :: GLenum

    pattern $mGL_PIXEL_MAP_I_TO_A :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_MAP_I_TO_A :: GLenum
    GL_PIXEL_MAP_I_TO_A = 0x0C75 :: GLenum

    pattern $mGL_PIXEL_MAP_I_TO_A_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_MAP_I_TO_A_SIZE :: GLenum
    GL_PIXEL_MAP_I_TO_A_SIZE = 0x0CB5 :: GLenum

    pattern $mGL_PIXEL_MAP_I_TO_B :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_MAP_I_TO_B :: GLenum
    GL_PIXEL_MAP_I_TO_B = 0x0C74 :: GLenum

    pattern $mGL_PIXEL_MAP_I_TO_B_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_MAP_I_TO_B_SIZE :: GLenum
    GL_PIXEL_MAP_I_TO_B_SIZE = 0x0CB4 :: GLenum

    pattern $mGL_PIXEL_MAP_I_TO_G :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_MAP_I_TO_G :: GLenum
    GL_PIXEL_MAP_I_TO_G = 0x0C73 :: GLenum

    pattern $mGL_PIXEL_MAP_I_TO_G_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_MAP_I_TO_G_SIZE :: GLenum
    GL_PIXEL_MAP_I_TO_G_SIZE = 0x0CB3 :: GLenum

    pattern $mGL_PIXEL_MAP_I_TO_I :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_MAP_I_TO_I :: GLenum
    GL_PIXEL_MAP_I_TO_I = 0x0C70 :: GLenum

    pattern $mGL_PIXEL_MAP_I_TO_I_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_MAP_I_TO_I_SIZE :: GLenum
    GL_PIXEL_MAP_I_TO_I_SIZE = 0x0CB0 :: GLenum

    pattern $mGL_PIXEL_MAP_I_TO_R :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_MAP_I_TO_R :: GLenum
    GL_PIXEL_MAP_I_TO_R = 0x0C72 :: GLenum

    pattern $mGL_PIXEL_MAP_I_TO_R_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_MAP_I_TO_R_SIZE :: GLenum
    GL_PIXEL_MAP_I_TO_R_SIZE = 0x0CB2 :: GLenum

    pattern $mGL_PIXEL_MAP_R_TO_R :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_MAP_R_TO_R :: GLenum
    GL_PIXEL_MAP_R_TO_R = 0x0C76 :: GLenum

    pattern $mGL_PIXEL_MAP_R_TO_R_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_MAP_R_TO_R_SIZE :: GLenum
    GL_PIXEL_MAP_R_TO_R_SIZE = 0x0CB6 :: GLenum

    pattern $mGL_PIXEL_MAP_S_TO_S :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_MAP_S_TO_S :: GLenum
    GL_PIXEL_MAP_S_TO_S = 0x0C71 :: GLenum

    pattern $mGL_PIXEL_MAP_S_TO_S_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_MAP_S_TO_S_SIZE :: GLenum
    GL_PIXEL_MAP_S_TO_S_SIZE = 0x0CB1 :: GLenum

    pattern $mGL_PIXEL_MIN_FILTER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_MIN_FILTER_EXT :: GLenum
    GL_PIXEL_MIN_FILTER_EXT = 0x8332 :: GLenum

    pattern $mGL_PIXEL_MODE_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_MODE_BIT :: GLenum
    GL_PIXEL_MODE_BIT = 0x00000020 :: GLbitfield

    pattern $mGL_PIXEL_PACK_BUFFER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_PACK_BUFFER :: GLenum
    GL_PIXEL_PACK_BUFFER = 0x88EB :: GLenum

    pattern $mGL_PIXEL_PACK_BUFFER_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_PACK_BUFFER_ARB :: GLenum
    GL_PIXEL_PACK_BUFFER_ARB = 0x88EB :: GLenum

    pattern $mGL_PIXEL_PACK_BUFFER_BINDING :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_PACK_BUFFER_BINDING :: GLenum
    GL_PIXEL_PACK_BUFFER_BINDING = 0x88ED :: GLenum

    pattern $mGL_PIXEL_PACK_BUFFER_BINDING_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_PACK_BUFFER_BINDING_ARB :: GLenum
    GL_PIXEL_PACK_BUFFER_BINDING_ARB = 0x88ED :: GLenum

    pattern $mGL_PIXEL_PACK_BUFFER_BINDING_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_PACK_BUFFER_BINDING_EXT :: GLenum
    GL_PIXEL_PACK_BUFFER_BINDING_EXT = 0x88ED :: GLenum

    pattern $mGL_PIXEL_PACK_BUFFER_BINDING_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_PACK_BUFFER_BINDING_NV :: GLenum
    GL_PIXEL_PACK_BUFFER_BINDING_NV = 0x88ED :: GLenum

    pattern $mGL_PIXEL_PACK_BUFFER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_PACK_BUFFER_EXT :: GLenum
    GL_PIXEL_PACK_BUFFER_EXT = 0x88EB :: GLenum

    pattern $mGL_PIXEL_PACK_BUFFER_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_PACK_BUFFER_NV :: GLenum
    GL_PIXEL_PACK_BUFFER_NV = 0x88EB :: GLenum

    pattern $mGL_PIXEL_SUBSAMPLE_2424_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_SUBSAMPLE_2424_SGIX :: GLenum
    GL_PIXEL_SUBSAMPLE_2424_SGIX = 0x85A3 :: GLenum

    pattern $mGL_PIXEL_SUBSAMPLE_4242_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_SUBSAMPLE_4242_SGIX :: GLenum
    GL_PIXEL_SUBSAMPLE_4242_SGIX = 0x85A4 :: GLenum

    pattern $mGL_PIXEL_SUBSAMPLE_4444_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_SUBSAMPLE_4444_SGIX :: GLenum
    GL_PIXEL_SUBSAMPLE_4444_SGIX = 0x85A2 :: GLenum

    pattern $mGL_PIXEL_TEXTURE_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_TEXTURE_SGIS :: GLenum
    GL_PIXEL_TEXTURE_SGIS = 0x8353 :: GLenum

    pattern $mGL_PIXEL_TEX_GEN_ALPHA_LS_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_TEX_GEN_ALPHA_LS_SGIX :: GLenum
    GL_PIXEL_TEX_GEN_ALPHA_LS_SGIX = 0x8189 :: GLenum

    pattern $mGL_PIXEL_TEX_GEN_ALPHA_MS_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_TEX_GEN_ALPHA_MS_SGIX :: GLenum
    GL_PIXEL_TEX_GEN_ALPHA_MS_SGIX = 0x818A :: GLenum

    pattern $mGL_PIXEL_TEX_GEN_ALPHA_NO_REPLACE_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_TEX_GEN_ALPHA_NO_REPLACE_SGIX :: GLenum
    GL_PIXEL_TEX_GEN_ALPHA_NO_REPLACE_SGIX = 0x8188 :: GLenum

    pattern $mGL_PIXEL_TEX_GEN_ALPHA_REPLACE_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_TEX_GEN_ALPHA_REPLACE_SGIX :: GLenum
    GL_PIXEL_TEX_GEN_ALPHA_REPLACE_SGIX = 0x8187 :: GLenum

    pattern $mGL_PIXEL_TEX_GEN_MODE_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_TEX_GEN_MODE_SGIX :: GLenum
    GL_PIXEL_TEX_GEN_MODE_SGIX = 0x832B :: GLenum

    pattern $mGL_PIXEL_TEX_GEN_Q_CEILING_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_TEX_GEN_Q_CEILING_SGIX :: GLenum
    GL_PIXEL_TEX_GEN_Q_CEILING_SGIX = 0x8184 :: GLenum

    pattern $mGL_PIXEL_TEX_GEN_Q_FLOOR_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_TEX_GEN_Q_FLOOR_SGIX :: GLenum
    GL_PIXEL_TEX_GEN_Q_FLOOR_SGIX = 0x8186 :: GLenum

    pattern $mGL_PIXEL_TEX_GEN_Q_ROUND_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_TEX_GEN_Q_ROUND_SGIX :: GLenum
    GL_PIXEL_TEX_GEN_Q_ROUND_SGIX = 0x8185 :: GLenum

    pattern $mGL_PIXEL_TEX_GEN_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_TEX_GEN_SGIX :: GLenum
    GL_PIXEL_TEX_GEN_SGIX = 0x8139 :: GLenum

    pattern $mGL_PIXEL_TILE_BEST_ALIGNMENT_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_TILE_BEST_ALIGNMENT_SGIX :: GLenum
    GL_PIXEL_TILE_BEST_ALIGNMENT_SGIX = 0x813E :: GLenum

    pattern $mGL_PIXEL_TILE_CACHE_INCREMENT_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_TILE_CACHE_INCREMENT_SGIX :: GLenum
    GL_PIXEL_TILE_CACHE_INCREMENT_SGIX = 0x813F :: GLenum

    pattern $mGL_PIXEL_TILE_CACHE_SIZE_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_TILE_CACHE_SIZE_SGIX :: GLenum
    GL_PIXEL_TILE_CACHE_SIZE_SGIX = 0x8145 :: GLenum

    pattern $mGL_PIXEL_TILE_GRID_DEPTH_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_TILE_GRID_DEPTH_SGIX :: GLenum
    GL_PIXEL_TILE_GRID_DEPTH_SGIX = 0x8144 :: GLenum

    pattern $mGL_PIXEL_TILE_GRID_HEIGHT_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_TILE_GRID_HEIGHT_SGIX :: GLenum
    GL_PIXEL_TILE_GRID_HEIGHT_SGIX = 0x8143 :: GLenum

    pattern $mGL_PIXEL_TILE_GRID_WIDTH_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_TILE_GRID_WIDTH_SGIX :: GLenum
    GL_PIXEL_TILE_GRID_WIDTH_SGIX = 0x8142 :: GLenum

    pattern $mGL_PIXEL_TILE_HEIGHT_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_TILE_HEIGHT_SGIX :: GLenum
    GL_PIXEL_TILE_HEIGHT_SGIX = 0x8141 :: GLenum

    pattern $mGL_PIXEL_TILE_WIDTH_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_TILE_WIDTH_SGIX :: GLenum
    GL_PIXEL_TILE_WIDTH_SGIX = 0x8140 :: GLenum

    pattern $mGL_PIXEL_TRANSFORM_2D_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_TRANSFORM_2D_EXT :: GLenum
    GL_PIXEL_TRANSFORM_2D_EXT = 0x8330 :: GLenum

    pattern $mGL_PIXEL_TRANSFORM_2D_MATRIX_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_TRANSFORM_2D_MATRIX_EXT :: GLenum
    GL_PIXEL_TRANSFORM_2D_MATRIX_EXT = 0x8338 :: GLenum

    pattern $mGL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT :: GLenum
    GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = 0x8336 :: GLenum

    pattern $mGL_PIXEL_UNPACK_BUFFER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_UNPACK_BUFFER :: GLenum
    GL_PIXEL_UNPACK_BUFFER = 0x88EC :: GLenum

    pattern $mGL_PIXEL_UNPACK_BUFFER_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_UNPACK_BUFFER_ARB :: GLenum
    GL_PIXEL_UNPACK_BUFFER_ARB = 0x88EC :: GLenum

    pattern $mGL_PIXEL_UNPACK_BUFFER_BINDING :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_UNPACK_BUFFER_BINDING :: GLenum
    GL_PIXEL_UNPACK_BUFFER_BINDING = 0x88EF :: GLenum

    pattern $mGL_PIXEL_UNPACK_BUFFER_BINDING_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_UNPACK_BUFFER_BINDING_ARB :: GLenum
    GL_PIXEL_UNPACK_BUFFER_BINDING_ARB = 0x88EF :: GLenum

    pattern $mGL_PIXEL_UNPACK_BUFFER_BINDING_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_UNPACK_BUFFER_BINDING_EXT :: GLenum
    GL_PIXEL_UNPACK_BUFFER_BINDING_EXT = 0x88EF :: GLenum

    pattern $mGL_PIXEL_UNPACK_BUFFER_BINDING_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_UNPACK_BUFFER_BINDING_NV :: GLenum
    GL_PIXEL_UNPACK_BUFFER_BINDING_NV = 0x88EF :: GLenum

    pattern $mGL_PIXEL_UNPACK_BUFFER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_UNPACK_BUFFER_EXT :: GLenum
    GL_PIXEL_UNPACK_BUFFER_EXT = 0x88EC :: GLenum

    pattern $mGL_PIXEL_UNPACK_BUFFER_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PIXEL_UNPACK_BUFFER_NV :: GLenum
    GL_PIXEL_UNPACK_BUFFER_NV = 0x88EC :: GLenum

    pattern $mGL_PLUS_CLAMPED_ALPHA_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PLUS_CLAMPED_ALPHA_NV :: GLenum
    GL_PLUS_CLAMPED_ALPHA_NV = 0x92B2 :: GLenum

    pattern $mGL_PLUS_CLAMPED_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PLUS_CLAMPED_NV :: GLenum
    GL_PLUS_CLAMPED_NV = 0x92B1 :: GLenum

    pattern $mGL_PLUS_DARKER_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PLUS_DARKER_NV :: GLenum
    GL_PLUS_DARKER_NV = 0x9292 :: GLenum

    pattern $mGL_PLUS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PLUS_NV :: GLenum
    GL_PLUS_NV = 0x9291 :: GLenum

    pattern $mGL_PN_TRIANGLES_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PN_TRIANGLES_ATI :: GLenum
    GL_PN_TRIANGLES_ATI = 0x87F0 :: GLenum

    pattern $mGL_PN_TRIANGLES_NORMAL_MODE_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PN_TRIANGLES_NORMAL_MODE_ATI :: GLenum
    GL_PN_TRIANGLES_NORMAL_MODE_ATI = 0x87F3 :: GLenum

    pattern $mGL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI :: GLenum
    GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI = 0x87F7 :: GLenum

    pattern $mGL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI :: GLenum
    GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI = 0x87F8 :: GLenum

    pattern $mGL_PN_TRIANGLES_POINT_MODE_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PN_TRIANGLES_POINT_MODE_ATI :: GLenum
    GL_PN_TRIANGLES_POINT_MODE_ATI = 0x87F2 :: GLenum

    pattern $mGL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI :: GLenum
    GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI = 0x87F6 :: GLenum

    pattern $mGL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI :: GLenum
    GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI = 0x87F5 :: GLenum

    pattern $mGL_PN_TRIANGLES_TESSELATION_LEVEL_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PN_TRIANGLES_TESSELATION_LEVEL_ATI :: GLenum
    GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI = 0x87F4 :: GLenum

    pattern $mGL_POINT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POINT :: GLenum
    GL_POINT = 0x1B00 :: GLenum

    pattern $mGL_POINTS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POINTS :: GLenum
    GL_POINTS = 0x0000 :: GLenum

    pattern $mGL_POINT_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POINT_BIT :: GLenum
    GL_POINT_BIT = 0x00000002 :: GLbitfield

    pattern $mGL_POINT_DISTANCE_ATTENUATION :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POINT_DISTANCE_ATTENUATION :: GLenum
    GL_POINT_DISTANCE_ATTENUATION = 0x8129 :: GLenum

    pattern $mGL_POINT_DISTANCE_ATTENUATION_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POINT_DISTANCE_ATTENUATION_ARB :: GLenum
    GL_POINT_DISTANCE_ATTENUATION_ARB = 0x8129 :: GLenum

    pattern $mGL_POINT_FADE_THRESHOLD_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POINT_FADE_THRESHOLD_SIZE :: GLenum
    GL_POINT_FADE_THRESHOLD_SIZE = 0x8128 :: GLenum

    pattern $mGL_POINT_FADE_THRESHOLD_SIZE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POINT_FADE_THRESHOLD_SIZE_ARB :: GLenum
    GL_POINT_FADE_THRESHOLD_SIZE_ARB = 0x8128 :: GLenum

    pattern $mGL_POINT_FADE_THRESHOLD_SIZE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POINT_FADE_THRESHOLD_SIZE_EXT :: GLenum
    GL_POINT_FADE_THRESHOLD_SIZE_EXT = 0x8128 :: GLenum

    pattern $mGL_POINT_FADE_THRESHOLD_SIZE_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POINT_FADE_THRESHOLD_SIZE_SGIS :: GLenum
    GL_POINT_FADE_THRESHOLD_SIZE_SGIS = 0x8128 :: GLenum

    pattern $mGL_POINT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POINT_NV :: GLenum
    GL_POINT_NV = 0x1B00 :: GLenum

    pattern $mGL_POINT_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POINT_SIZE :: GLenum
    GL_POINT_SIZE = 0x0B11 :: GLenum

    pattern $mGL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES :: GLenum
    GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES = 0x8B9F :: GLenum

    pattern $mGL_POINT_SIZE_ARRAY_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POINT_SIZE_ARRAY_OES :: GLenum
    GL_POINT_SIZE_ARRAY_OES = 0x8B9C :: GLenum

    pattern $mGL_POINT_SIZE_ARRAY_POINTER_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POINT_SIZE_ARRAY_POINTER_OES :: GLenum
    GL_POINT_SIZE_ARRAY_POINTER_OES = 0x898C :: GLenum

    pattern $mGL_POINT_SIZE_ARRAY_STRIDE_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POINT_SIZE_ARRAY_STRIDE_OES :: GLenum
    GL_POINT_SIZE_ARRAY_STRIDE_OES = 0x898B :: GLenum

    pattern $mGL_POINT_SIZE_ARRAY_TYPE_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POINT_SIZE_ARRAY_TYPE_OES :: GLenum
    GL_POINT_SIZE_ARRAY_TYPE_OES = 0x898A :: GLenum

    pattern $mGL_POINT_SIZE_GRANULARITY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POINT_SIZE_GRANULARITY :: GLenum
    GL_POINT_SIZE_GRANULARITY = 0x0B13 :: GLenum

    pattern $mGL_POINT_SIZE_MAX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POINT_SIZE_MAX :: GLenum
    GL_POINT_SIZE_MAX = 0x8127 :: GLenum

    pattern $mGL_POINT_SIZE_MAX_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POINT_SIZE_MAX_ARB :: GLenum
    GL_POINT_SIZE_MAX_ARB = 0x8127 :: GLenum

    pattern $mGL_POINT_SIZE_MAX_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POINT_SIZE_MAX_EXT :: GLenum
    GL_POINT_SIZE_MAX_EXT = 0x8127 :: GLenum

    pattern $mGL_POINT_SIZE_MAX_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POINT_SIZE_MAX_SGIS :: GLenum
    GL_POINT_SIZE_MAX_SGIS = 0x8127 :: GLenum

    pattern $mGL_POINT_SIZE_MIN :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POINT_SIZE_MIN :: GLenum
    GL_POINT_SIZE_MIN = 0x8126 :: GLenum

    pattern $mGL_POINT_SIZE_MIN_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POINT_SIZE_MIN_ARB :: GLenum
    GL_POINT_SIZE_MIN_ARB = 0x8126 :: GLenum

    pattern $mGL_POINT_SIZE_MIN_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POINT_SIZE_MIN_EXT :: GLenum
    GL_POINT_SIZE_MIN_EXT = 0x8126 :: GLenum

    pattern $mGL_POINT_SIZE_MIN_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POINT_SIZE_MIN_SGIS :: GLenum
    GL_POINT_SIZE_MIN_SGIS = 0x8126 :: GLenum

    pattern $mGL_POINT_SIZE_RANGE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POINT_SIZE_RANGE :: GLenum
    GL_POINT_SIZE_RANGE = 0x0B12 :: GLenum

    pattern $mGL_POINT_SMOOTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POINT_SMOOTH :: GLenum
    GL_POINT_SMOOTH = 0x0B10 :: GLenum

    pattern $mGL_POINT_SMOOTH_HINT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POINT_SMOOTH_HINT :: GLenum
    GL_POINT_SMOOTH_HINT = 0x0C51 :: GLenum

    pattern $mGL_POINT_SPRITE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POINT_SPRITE :: GLenum
    GL_POINT_SPRITE = 0x8861 :: GLenum

    pattern $mGL_POINT_SPRITE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POINT_SPRITE_ARB :: GLenum
    GL_POINT_SPRITE_ARB = 0x8861 :: GLenum

    pattern $mGL_POINT_SPRITE_COORD_ORIGIN :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POINT_SPRITE_COORD_ORIGIN :: GLenum
    GL_POINT_SPRITE_COORD_ORIGIN = 0x8CA0 :: GLenum

    pattern $mGL_POINT_SPRITE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POINT_SPRITE_NV :: GLenum
    GL_POINT_SPRITE_NV = 0x8861 :: GLenum

    pattern $mGL_POINT_SPRITE_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POINT_SPRITE_OES :: GLenum
    GL_POINT_SPRITE_OES = 0x8861 :: GLenum

    pattern $mGL_POINT_SPRITE_R_MODE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POINT_SPRITE_R_MODE_NV :: GLenum
    GL_POINT_SPRITE_R_MODE_NV = 0x8863 :: GLenum

    pattern $mGL_POINT_TOKEN :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POINT_TOKEN :: GLenum
    GL_POINT_TOKEN = 0x0701 :: GLenum

    pattern $mGL_POLYGON :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POLYGON :: GLenum
    GL_POLYGON = 0x0009 :: GLenum

    pattern $mGL_POLYGON_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POLYGON_BIT :: GLenum
    GL_POLYGON_BIT = 0x00000008 :: GLbitfield

    pattern $mGL_POLYGON_MODE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POLYGON_MODE :: GLenum
    GL_POLYGON_MODE = 0x0B40 :: GLenum

    pattern $mGL_POLYGON_MODE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POLYGON_MODE_NV :: GLenum
    GL_POLYGON_MODE_NV = 0x0B40 :: GLenum

    pattern $mGL_POLYGON_OFFSET_BIAS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POLYGON_OFFSET_BIAS_EXT :: GLenum
    GL_POLYGON_OFFSET_BIAS_EXT = 0x8039 :: GLenum

    pattern $mGL_POLYGON_OFFSET_CLAMP :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POLYGON_OFFSET_CLAMP :: GLenum
    GL_POLYGON_OFFSET_CLAMP = 0x8E1B :: GLenum

    pattern $mGL_POLYGON_OFFSET_CLAMP_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POLYGON_OFFSET_CLAMP_EXT :: GLenum
    GL_POLYGON_OFFSET_CLAMP_EXT = 0x8E1B :: GLenum

    pattern $mGL_POLYGON_OFFSET_COMMAND_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POLYGON_OFFSET_COMMAND_NV :: GLenum
    GL_POLYGON_OFFSET_COMMAND_NV = 0x000E :: GLenum

    pattern $mGL_POLYGON_OFFSET_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POLYGON_OFFSET_EXT :: GLenum
    GL_POLYGON_OFFSET_EXT = 0x8037 :: GLenum

    pattern $mGL_POLYGON_OFFSET_FACTOR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POLYGON_OFFSET_FACTOR :: GLenum
    GL_POLYGON_OFFSET_FACTOR = 0x8038 :: GLenum

    pattern $mGL_POLYGON_OFFSET_FACTOR_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POLYGON_OFFSET_FACTOR_EXT :: GLenum
    GL_POLYGON_OFFSET_FACTOR_EXT = 0x8038 :: GLenum

    pattern $mGL_POLYGON_OFFSET_FILL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POLYGON_OFFSET_FILL :: GLenum
    GL_POLYGON_OFFSET_FILL = 0x8037 :: GLenum

    pattern $mGL_POLYGON_OFFSET_LINE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POLYGON_OFFSET_LINE :: GLenum
    GL_POLYGON_OFFSET_LINE = 0x2A02 :: GLenum

    pattern $mGL_POLYGON_OFFSET_LINE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POLYGON_OFFSET_LINE_NV :: GLenum
    GL_POLYGON_OFFSET_LINE_NV = 0x2A02 :: GLenum

    pattern $mGL_POLYGON_OFFSET_POINT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POLYGON_OFFSET_POINT :: GLenum
    GL_POLYGON_OFFSET_POINT = 0x2A01 :: GLenum

    pattern $mGL_POLYGON_OFFSET_POINT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POLYGON_OFFSET_POINT_NV :: GLenum
    GL_POLYGON_OFFSET_POINT_NV = 0x2A01 :: GLenum

    pattern $mGL_POLYGON_OFFSET_UNITS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POLYGON_OFFSET_UNITS :: GLenum
    GL_POLYGON_OFFSET_UNITS = 0x2A00 :: GLenum

    pattern $mGL_POLYGON_SMOOTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POLYGON_SMOOTH :: GLenum
    GL_POLYGON_SMOOTH = 0x0B41 :: GLenum

    pattern $mGL_POLYGON_SMOOTH_HINT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POLYGON_SMOOTH_HINT :: GLenum
    GL_POLYGON_SMOOTH_HINT = 0x0C53 :: GLenum

    pattern $mGL_POLYGON_STIPPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POLYGON_STIPPLE :: GLenum
    GL_POLYGON_STIPPLE = 0x0B42 :: GLenum

    pattern $mGL_POLYGON_STIPPLE_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POLYGON_STIPPLE_BIT :: GLenum
    GL_POLYGON_STIPPLE_BIT = 0x00000010 :: GLbitfield

    pattern $mGL_POLYGON_TOKEN :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POLYGON_TOKEN :: GLenum
    GL_POLYGON_TOKEN = 0x0703 :: GLenum

    pattern $mGL_POSITION :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POSITION :: GLenum
    GL_POSITION = 0x1203 :: GLenum

    pattern $mGL_POST_COLOR_MATRIX_ALPHA_BIAS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POST_COLOR_MATRIX_ALPHA_BIAS :: GLenum
    GL_POST_COLOR_MATRIX_ALPHA_BIAS = 0x80BB :: GLenum

    pattern $mGL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI :: GLenum
    GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI = 0x80BB :: GLenum

    pattern $mGL_POST_COLOR_MATRIX_ALPHA_SCALE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POST_COLOR_MATRIX_ALPHA_SCALE :: GLenum
    GL_POST_COLOR_MATRIX_ALPHA_SCALE = 0x80B7 :: GLenum

    pattern $mGL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI :: GLenum
    GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI = 0x80B7 :: GLenum

    pattern $mGL_POST_COLOR_MATRIX_BLUE_BIAS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POST_COLOR_MATRIX_BLUE_BIAS :: GLenum
    GL_POST_COLOR_MATRIX_BLUE_BIAS = 0x80BA :: GLenum

    pattern $mGL_POST_COLOR_MATRIX_BLUE_BIAS_SGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POST_COLOR_MATRIX_BLUE_BIAS_SGI :: GLenum
    GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI = 0x80BA :: GLenum

    pattern $mGL_POST_COLOR_MATRIX_BLUE_SCALE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POST_COLOR_MATRIX_BLUE_SCALE :: GLenum
    GL_POST_COLOR_MATRIX_BLUE_SCALE = 0x80B6 :: GLenum

    pattern $mGL_POST_COLOR_MATRIX_BLUE_SCALE_SGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POST_COLOR_MATRIX_BLUE_SCALE_SGI :: GLenum
    GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI = 0x80B6 :: GLenum

    pattern $mGL_POST_COLOR_MATRIX_COLOR_TABLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POST_COLOR_MATRIX_COLOR_TABLE :: GLenum
    GL_POST_COLOR_MATRIX_COLOR_TABLE = 0x80D2 :: GLenum

    pattern $mGL_POST_COLOR_MATRIX_COLOR_TABLE_SGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POST_COLOR_MATRIX_COLOR_TABLE_SGI :: GLenum
    GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI = 0x80D2 :: GLenum

    pattern $mGL_POST_COLOR_MATRIX_GREEN_BIAS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POST_COLOR_MATRIX_GREEN_BIAS :: GLenum
    GL_POST_COLOR_MATRIX_GREEN_BIAS = 0x80B9 :: GLenum

    pattern $mGL_POST_COLOR_MATRIX_GREEN_BIAS_SGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POST_COLOR_MATRIX_GREEN_BIAS_SGI :: GLenum
    GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI = 0x80B9 :: GLenum

    pattern $mGL_POST_COLOR_MATRIX_GREEN_SCALE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POST_COLOR_MATRIX_GREEN_SCALE :: GLenum
    GL_POST_COLOR_MATRIX_GREEN_SCALE = 0x80B5 :: GLenum

    pattern $mGL_POST_COLOR_MATRIX_GREEN_SCALE_SGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POST_COLOR_MATRIX_GREEN_SCALE_SGI :: GLenum
    GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI = 0x80B5 :: GLenum

    pattern $mGL_POST_COLOR_MATRIX_RED_BIAS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POST_COLOR_MATRIX_RED_BIAS :: GLenum
    GL_POST_COLOR_MATRIX_RED_BIAS = 0x80B8 :: GLenum

    pattern $mGL_POST_COLOR_MATRIX_RED_BIAS_SGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POST_COLOR_MATRIX_RED_BIAS_SGI :: GLenum
    GL_POST_COLOR_MATRIX_RED_BIAS_SGI = 0x80B8 :: GLenum

    pattern $mGL_POST_COLOR_MATRIX_RED_SCALE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POST_COLOR_MATRIX_RED_SCALE :: GLenum
    GL_POST_COLOR_MATRIX_RED_SCALE = 0x80B4 :: GLenum

    pattern $mGL_POST_COLOR_MATRIX_RED_SCALE_SGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POST_COLOR_MATRIX_RED_SCALE_SGI :: GLenum
    GL_POST_COLOR_MATRIX_RED_SCALE_SGI = 0x80B4 :: GLenum

    pattern $mGL_POST_CONVOLUTION_ALPHA_BIAS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POST_CONVOLUTION_ALPHA_BIAS :: GLenum
    GL_POST_CONVOLUTION_ALPHA_BIAS = 0x8023 :: GLenum

    pattern $mGL_POST_CONVOLUTION_ALPHA_BIAS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POST_CONVOLUTION_ALPHA_BIAS_EXT :: GLenum
    GL_POST_CONVOLUTION_ALPHA_BIAS_EXT = 0x8023 :: GLenum

    pattern $mGL_POST_CONVOLUTION_ALPHA_SCALE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POST_CONVOLUTION_ALPHA_SCALE :: GLenum
    GL_POST_CONVOLUTION_ALPHA_SCALE = 0x801F :: GLenum

    pattern $mGL_POST_CONVOLUTION_ALPHA_SCALE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POST_CONVOLUTION_ALPHA_SCALE_EXT :: GLenum
    GL_POST_CONVOLUTION_ALPHA_SCALE_EXT = 0x801F :: GLenum

    pattern $mGL_POST_CONVOLUTION_BLUE_BIAS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POST_CONVOLUTION_BLUE_BIAS :: GLenum
    GL_POST_CONVOLUTION_BLUE_BIAS = 0x8022 :: GLenum

    pattern $mGL_POST_CONVOLUTION_BLUE_BIAS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POST_CONVOLUTION_BLUE_BIAS_EXT :: GLenum
    GL_POST_CONVOLUTION_BLUE_BIAS_EXT = 0x8022 :: GLenum

    pattern $mGL_POST_CONVOLUTION_BLUE_SCALE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POST_CONVOLUTION_BLUE_SCALE :: GLenum
    GL_POST_CONVOLUTION_BLUE_SCALE = 0x801E :: GLenum

    pattern $mGL_POST_CONVOLUTION_BLUE_SCALE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POST_CONVOLUTION_BLUE_SCALE_EXT :: GLenum
    GL_POST_CONVOLUTION_BLUE_SCALE_EXT = 0x801E :: GLenum

    pattern $mGL_POST_CONVOLUTION_COLOR_TABLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POST_CONVOLUTION_COLOR_TABLE :: GLenum
    GL_POST_CONVOLUTION_COLOR_TABLE = 0x80D1 :: GLenum

    pattern $mGL_POST_CONVOLUTION_COLOR_TABLE_SGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POST_CONVOLUTION_COLOR_TABLE_SGI :: GLenum
    GL_POST_CONVOLUTION_COLOR_TABLE_SGI = 0x80D1 :: GLenum

    pattern $mGL_POST_CONVOLUTION_GREEN_BIAS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POST_CONVOLUTION_GREEN_BIAS :: GLenum
    GL_POST_CONVOLUTION_GREEN_BIAS = 0x8021 :: GLenum

    pattern $mGL_POST_CONVOLUTION_GREEN_BIAS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POST_CONVOLUTION_GREEN_BIAS_EXT :: GLenum
    GL_POST_CONVOLUTION_GREEN_BIAS_EXT = 0x8021 :: GLenum

    pattern $mGL_POST_CONVOLUTION_GREEN_SCALE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POST_CONVOLUTION_GREEN_SCALE :: GLenum
    GL_POST_CONVOLUTION_GREEN_SCALE = 0x801D :: GLenum

    pattern $mGL_POST_CONVOLUTION_GREEN_SCALE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POST_CONVOLUTION_GREEN_SCALE_EXT :: GLenum
    GL_POST_CONVOLUTION_GREEN_SCALE_EXT = 0x801D :: GLenum

    pattern $mGL_POST_CONVOLUTION_RED_BIAS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POST_CONVOLUTION_RED_BIAS :: GLenum
    GL_POST_CONVOLUTION_RED_BIAS = 0x8020 :: GLenum

    pattern $mGL_POST_CONVOLUTION_RED_BIAS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POST_CONVOLUTION_RED_BIAS_EXT :: GLenum
    GL_POST_CONVOLUTION_RED_BIAS_EXT = 0x8020 :: GLenum

    pattern $mGL_POST_CONVOLUTION_RED_SCALE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POST_CONVOLUTION_RED_SCALE :: GLenum
    GL_POST_CONVOLUTION_RED_SCALE = 0x801C :: GLenum

    pattern $mGL_POST_CONVOLUTION_RED_SCALE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POST_CONVOLUTION_RED_SCALE_EXT :: GLenum
    GL_POST_CONVOLUTION_RED_SCALE_EXT = 0x801C :: GLenum

    pattern $mGL_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP :: GLenum
    GL_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP = 0x8162 :: GLenum

    pattern $mGL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX :: GLenum
    GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX = 0x817B :: GLenum

    pattern $mGL_POST_TEXTURE_FILTER_BIAS_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POST_TEXTURE_FILTER_BIAS_SGIX :: GLenum
    GL_POST_TEXTURE_FILTER_BIAS_SGIX = 0x8179 :: GLenum

    pattern $mGL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX :: GLenum
    GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX = 0x817C :: GLenum

    pattern $mGL_POST_TEXTURE_FILTER_SCALE_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_POST_TEXTURE_FILTER_SCALE_SGIX :: GLenum
    GL_POST_TEXTURE_FILTER_SCALE_SGIX = 0x817A :: GLenum

    pattern $mGL_PREFER_DOUBLEBUFFER_HINT_PGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PREFER_DOUBLEBUFFER_HINT_PGI :: GLenum
    GL_PREFER_DOUBLEBUFFER_HINT_PGI = 0x1A1F8 :: GLenum

    pattern $mGL_PRESENT_DURATION_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PRESENT_DURATION_NV :: GLenum
    GL_PRESENT_DURATION_NV = 0x8E2B :: GLenum

    pattern $mGL_PRESENT_TIME_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PRESENT_TIME_NV :: GLenum
    GL_PRESENT_TIME_NV = 0x8E2A :: GLenum

    pattern $mGL_PRESERVE_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PRESERVE_ATI :: GLenum
    GL_PRESERVE_ATI = 0x8762 :: GLenum

    pattern $mGL_PREVIOUS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PREVIOUS :: GLenum
    GL_PREVIOUS = 0x8578 :: GLenum

    pattern $mGL_PREVIOUS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PREVIOUS_ARB :: GLenum
    GL_PREVIOUS_ARB = 0x8578 :: GLenum

    pattern $mGL_PREVIOUS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PREVIOUS_EXT :: GLenum
    GL_PREVIOUS_EXT = 0x8578 :: GLenum

    pattern $mGL_PREVIOUS_TEXTURE_INPUT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PREVIOUS_TEXTURE_INPUT_NV :: GLenum
    GL_PREVIOUS_TEXTURE_INPUT_NV = 0x86E4 :: GLenum

    pattern $mGL_PRIMARY_COLOR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PRIMARY_COLOR :: GLenum
    GL_PRIMARY_COLOR = 0x8577 :: GLenum

    pattern $mGL_PRIMARY_COLOR_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PRIMARY_COLOR_ARB :: GLenum
    GL_PRIMARY_COLOR_ARB = 0x8577 :: GLenum

    pattern $mGL_PRIMARY_COLOR_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PRIMARY_COLOR_EXT :: GLenum
    GL_PRIMARY_COLOR_EXT = 0x8577 :: GLenum

    pattern $mGL_PRIMARY_COLOR_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PRIMARY_COLOR_NV :: GLenum
    GL_PRIMARY_COLOR_NV = 0x852C :: GLenum

    pattern $mGL_PRIMITIVES_GENERATED :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PRIMITIVES_GENERATED :: GLenum
    GL_PRIMITIVES_GENERATED = 0x8C87 :: GLenum

    pattern $mGL_PRIMITIVES_GENERATED_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PRIMITIVES_GENERATED_EXT :: GLenum
    GL_PRIMITIVES_GENERATED_EXT = 0x8C87 :: GLenum

    pattern $mGL_PRIMITIVES_GENERATED_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PRIMITIVES_GENERATED_NV :: GLenum
    GL_PRIMITIVES_GENERATED_NV = 0x8C87 :: GLenum

    pattern $mGL_PRIMITIVES_GENERATED_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PRIMITIVES_GENERATED_OES :: GLenum
    GL_PRIMITIVES_GENERATED_OES = 0x8C87 :: GLenum

    pattern $mGL_PRIMITIVES_SUBMITTED :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PRIMITIVES_SUBMITTED :: GLenum
    GL_PRIMITIVES_SUBMITTED = 0x82EF :: GLenum

    pattern $mGL_PRIMITIVES_SUBMITTED_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PRIMITIVES_SUBMITTED_ARB :: GLenum
    GL_PRIMITIVES_SUBMITTED_ARB = 0x82EF :: GLenum

    pattern $mGL_PRIMITIVE_BOUNDING_BOX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PRIMITIVE_BOUNDING_BOX :: GLenum
    GL_PRIMITIVE_BOUNDING_BOX = 0x92BE :: GLenum

    pattern $mGL_PRIMITIVE_BOUNDING_BOX_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PRIMITIVE_BOUNDING_BOX_ARB :: GLenum
    GL_PRIMITIVE_BOUNDING_BOX_ARB = 0x92BE :: GLenum

    pattern $mGL_PRIMITIVE_BOUNDING_BOX_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PRIMITIVE_BOUNDING_BOX_EXT :: GLenum
    GL_PRIMITIVE_BOUNDING_BOX_EXT = 0x92BE :: GLenum

    pattern $mGL_PRIMITIVE_BOUNDING_BOX_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PRIMITIVE_BOUNDING_BOX_OES :: GLenum
    GL_PRIMITIVE_BOUNDING_BOX_OES = 0x92BE :: GLenum

    pattern $mGL_PRIMITIVE_ID_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PRIMITIVE_ID_NV :: GLenum
    GL_PRIMITIVE_ID_NV = 0x8C7C :: GLenum

    pattern $mGL_PRIMITIVE_RESTART :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PRIMITIVE_RESTART :: GLenum
    GL_PRIMITIVE_RESTART = 0x8F9D :: GLenum

    pattern $mGL_PRIMITIVE_RESTART_FIXED_INDEX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PRIMITIVE_RESTART_FIXED_INDEX :: GLenum
    GL_PRIMITIVE_RESTART_FIXED_INDEX = 0x8D69 :: GLenum

    pattern $mGL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED :: GLenum
    GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED = 0x8221 :: GLenum

    pattern $mGL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED_OES :: GLenum
    GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED_OES = 0x8221 :: GLenum

    pattern $mGL_PRIMITIVE_RESTART_INDEX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PRIMITIVE_RESTART_INDEX :: GLenum
    GL_PRIMITIVE_RESTART_INDEX = 0x8F9E :: GLenum

    pattern $mGL_PRIMITIVE_RESTART_INDEX_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PRIMITIVE_RESTART_INDEX_NV :: GLenum
    GL_PRIMITIVE_RESTART_INDEX_NV = 0x8559 :: GLenum

    pattern $mGL_PRIMITIVE_RESTART_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PRIMITIVE_RESTART_NV :: GLenum
    GL_PRIMITIVE_RESTART_NV = 0x8558 :: GLenum

    pattern $mGL_PROGRAM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM :: GLenum
    GL_PROGRAM = 0x82E2 :: GLenum

    pattern $mGL_PROGRAMMABLE_SAMPLE_LOCATION_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAMMABLE_SAMPLE_LOCATION_ARB :: GLenum
    GL_PROGRAMMABLE_SAMPLE_LOCATION_ARB = 0x9341 :: GLenum

    pattern $mGL_PROGRAMMABLE_SAMPLE_LOCATION_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAMMABLE_SAMPLE_LOCATION_NV :: GLenum
    GL_PROGRAMMABLE_SAMPLE_LOCATION_NV = 0x9341 :: GLenum

    pattern $mGL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_ARB :: GLenum
    GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_ARB = 0x9340 :: GLenum

    pattern $mGL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_NV :: GLenum
    GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_NV = 0x9340 :: GLenum

    pattern $mGL_PROGRAM_ADDRESS_REGISTERS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM_ADDRESS_REGISTERS_ARB :: GLenum
    GL_PROGRAM_ADDRESS_REGISTERS_ARB = 0x88B0 :: GLenum

    pattern $mGL_PROGRAM_ALU_INSTRUCTIONS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM_ALU_INSTRUCTIONS_ARB :: GLenum
    GL_PROGRAM_ALU_INSTRUCTIONS_ARB = 0x8805 :: GLenum

    pattern $mGL_PROGRAM_ATTRIBS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM_ATTRIBS_ARB :: GLenum
    GL_PROGRAM_ATTRIBS_ARB = 0x88AC :: GLenum

    pattern $mGL_PROGRAM_ATTRIB_COMPONENTS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM_ATTRIB_COMPONENTS_NV :: GLenum
    GL_PROGRAM_ATTRIB_COMPONENTS_NV = 0x8906 :: GLenum

    pattern $mGL_PROGRAM_BINARY_ANGLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM_BINARY_ANGLE :: GLenum
    GL_PROGRAM_BINARY_ANGLE = 0x93A6 :: GLenum

    pattern $mGL_PROGRAM_BINARY_FORMATS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM_BINARY_FORMATS :: GLenum
    GL_PROGRAM_BINARY_FORMATS = 0x87FF :: GLenum

    pattern $mGL_PROGRAM_BINARY_FORMATS_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM_BINARY_FORMATS_OES :: GLenum
    GL_PROGRAM_BINARY_FORMATS_OES = 0x87FF :: GLenum

    pattern $mGL_PROGRAM_BINARY_FORMAT_MESA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM_BINARY_FORMAT_MESA :: GLenum
    GL_PROGRAM_BINARY_FORMAT_MESA = 0x875F :: GLenum

    pattern $mGL_PROGRAM_BINARY_LENGTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM_BINARY_LENGTH :: GLenum
    GL_PROGRAM_BINARY_LENGTH = 0x8741 :: GLenum

    pattern $mGL_PROGRAM_BINARY_LENGTH_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM_BINARY_LENGTH_OES :: GLenum
    GL_PROGRAM_BINARY_LENGTH_OES = 0x8741 :: GLenum

    pattern $mGL_PROGRAM_BINARY_RETRIEVABLE_HINT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM_BINARY_RETRIEVABLE_HINT :: GLenum
    GL_PROGRAM_BINARY_RETRIEVABLE_HINT = 0x8257 :: GLenum

    pattern $mGL_PROGRAM_BINDING_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM_BINDING_ARB :: GLenum
    GL_PROGRAM_BINDING_ARB = 0x8677 :: GLenum

    pattern $mGL_PROGRAM_ERROR_POSITION_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM_ERROR_POSITION_ARB :: GLenum
    GL_PROGRAM_ERROR_POSITION_ARB = 0x864B :: GLenum

    pattern $mGL_PROGRAM_ERROR_POSITION_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM_ERROR_POSITION_NV :: GLenum
    GL_PROGRAM_ERROR_POSITION_NV = 0x864B :: GLenum

    pattern $mGL_PROGRAM_ERROR_STRING_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM_ERROR_STRING_ARB :: GLenum
    GL_PROGRAM_ERROR_STRING_ARB = 0x8874 :: GLenum

    pattern $mGL_PROGRAM_ERROR_STRING_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM_ERROR_STRING_NV :: GLenum
    GL_PROGRAM_ERROR_STRING_NV = 0x8874 :: GLenum

    pattern $mGL_PROGRAM_FORMAT_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM_FORMAT_ARB :: GLenum
    GL_PROGRAM_FORMAT_ARB = 0x8876 :: GLenum

    pattern $mGL_PROGRAM_FORMAT_ASCII_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM_FORMAT_ASCII_ARB :: GLenum
    GL_PROGRAM_FORMAT_ASCII_ARB = 0x8875 :: GLenum

    pattern $mGL_PROGRAM_INPUT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM_INPUT :: GLenum
    GL_PROGRAM_INPUT = 0x92E3 :: GLenum

    pattern $mGL_PROGRAM_INSTRUCTIONS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM_INSTRUCTIONS_ARB :: GLenum
    GL_PROGRAM_INSTRUCTIONS_ARB = 0x88A0 :: GLenum

    pattern $mGL_PROGRAM_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM_KHR :: GLenum
    GL_PROGRAM_KHR = 0x82E2 :: GLenum

    pattern $mGL_PROGRAM_LENGTH_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM_LENGTH_ARB :: GLenum
    GL_PROGRAM_LENGTH_ARB = 0x8627 :: GLenum

    pattern $mGL_PROGRAM_LENGTH_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM_LENGTH_NV :: GLenum
    GL_PROGRAM_LENGTH_NV = 0x8627 :: GLenum

    pattern $mGL_PROGRAM_MATRIX_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM_MATRIX_EXT :: GLenum
    GL_PROGRAM_MATRIX_EXT = 0x8E2D :: GLenum

    pattern $mGL_PROGRAM_MATRIX_STACK_DEPTH_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM_MATRIX_STACK_DEPTH_EXT :: GLenum
    GL_PROGRAM_MATRIX_STACK_DEPTH_EXT = 0x8E2F :: GLenum

    pattern $mGL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB :: GLenum
    GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = 0x88B2 :: GLenum

    pattern $mGL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB :: GLenum
    GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = 0x8808 :: GLenum

    pattern $mGL_PROGRAM_NATIVE_ATTRIBS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM_NATIVE_ATTRIBS_ARB :: GLenum
    GL_PROGRAM_NATIVE_ATTRIBS_ARB = 0x88AE :: GLenum

    pattern $mGL_PROGRAM_NATIVE_INSTRUCTIONS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM_NATIVE_INSTRUCTIONS_ARB :: GLenum
    GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB = 0x88A2 :: GLenum

    pattern $mGL_PROGRAM_NATIVE_PARAMETERS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM_NATIVE_PARAMETERS_ARB :: GLenum
    GL_PROGRAM_NATIVE_PARAMETERS_ARB = 0x88AA :: GLenum

    pattern $mGL_PROGRAM_NATIVE_TEMPORARIES_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM_NATIVE_TEMPORARIES_ARB :: GLenum
    GL_PROGRAM_NATIVE_TEMPORARIES_ARB = 0x88A6 :: GLenum

    pattern $mGL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB :: GLenum
    GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = 0x880A :: GLenum

    pattern $mGL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB :: GLenum
    GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = 0x8809 :: GLenum

    pattern $mGL_PROGRAM_OBJECT_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM_OBJECT_ARB :: GLenum
    GL_PROGRAM_OBJECT_ARB = 0x8B40 :: GLenum

    pattern $mGL_PROGRAM_OBJECT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM_OBJECT_EXT :: GLenum
    GL_PROGRAM_OBJECT_EXT = 0x8B40 :: GLenum

    pattern $mGL_PROGRAM_OUTPUT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM_OUTPUT :: GLenum
    GL_PROGRAM_OUTPUT = 0x92E4 :: GLenum

    pattern $mGL_PROGRAM_PARAMETERS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM_PARAMETERS_ARB :: GLenum
    GL_PROGRAM_PARAMETERS_ARB = 0x88A8 :: GLenum

    pattern $mGL_PROGRAM_PARAMETER_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM_PARAMETER_NV :: GLenum
    GL_PROGRAM_PARAMETER_NV = 0x8644 :: GLenum

    pattern $mGL_PROGRAM_PIPELINE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM_PIPELINE :: GLenum
    GL_PROGRAM_PIPELINE = 0x82E4 :: GLenum

    pattern $mGL_PROGRAM_PIPELINE_BINDING :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM_PIPELINE_BINDING :: GLenum
    GL_PROGRAM_PIPELINE_BINDING = 0x825A :: GLenum

    pattern $mGL_PROGRAM_PIPELINE_BINDING_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM_PIPELINE_BINDING_EXT :: GLenum
    GL_PROGRAM_PIPELINE_BINDING_EXT = 0x825A :: GLenum

    pattern $mGL_PROGRAM_PIPELINE_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM_PIPELINE_KHR :: GLenum
    GL_PROGRAM_PIPELINE_KHR = 0x82E4 :: GLenum

    pattern $mGL_PROGRAM_PIPELINE_OBJECT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM_PIPELINE_OBJECT_EXT :: GLenum
    GL_PROGRAM_PIPELINE_OBJECT_EXT = 0x8A4F :: GLenum

    pattern $mGL_PROGRAM_POINT_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM_POINT_SIZE :: GLenum
    GL_PROGRAM_POINT_SIZE = 0x8642 :: GLenum

    pattern $mGL_PROGRAM_POINT_SIZE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM_POINT_SIZE_ARB :: GLenum
    GL_PROGRAM_POINT_SIZE_ARB = 0x8642 :: GLenum

    pattern $mGL_PROGRAM_POINT_SIZE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM_POINT_SIZE_EXT :: GLenum
    GL_PROGRAM_POINT_SIZE_EXT = 0x8642 :: GLenum

    pattern $mGL_PROGRAM_RESIDENT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM_RESIDENT_NV :: GLenum
    GL_PROGRAM_RESIDENT_NV = 0x8647 :: GLenum

    pattern $mGL_PROGRAM_RESULT_COMPONENTS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM_RESULT_COMPONENTS_NV :: GLenum
    GL_PROGRAM_RESULT_COMPONENTS_NV = 0x8907 :: GLenum

    pattern $mGL_PROGRAM_SEPARABLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM_SEPARABLE :: GLenum
    GL_PROGRAM_SEPARABLE = 0x8258 :: GLenum

    pattern $mGL_PROGRAM_SEPARABLE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM_SEPARABLE_EXT :: GLenum
    GL_PROGRAM_SEPARABLE_EXT = 0x8258 :: GLenum

    pattern $mGL_PROGRAM_STRING_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM_STRING_ARB :: GLenum
    GL_PROGRAM_STRING_ARB = 0x8628 :: GLenum

    pattern $mGL_PROGRAM_STRING_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM_STRING_NV :: GLenum
    GL_PROGRAM_STRING_NV = 0x8628 :: GLenum

    pattern $mGL_PROGRAM_TARGET_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM_TARGET_NV :: GLenum
    GL_PROGRAM_TARGET_NV = 0x8646 :: GLenum

    pattern $mGL_PROGRAM_TEMPORARIES_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM_TEMPORARIES_ARB :: GLenum
    GL_PROGRAM_TEMPORARIES_ARB = 0x88A4 :: GLenum

    pattern $mGL_PROGRAM_TEX_INDIRECTIONS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM_TEX_INDIRECTIONS_ARB :: GLenum
    GL_PROGRAM_TEX_INDIRECTIONS_ARB = 0x8807 :: GLenum

    pattern $mGL_PROGRAM_TEX_INSTRUCTIONS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM_TEX_INSTRUCTIONS_ARB :: GLenum
    GL_PROGRAM_TEX_INSTRUCTIONS_ARB = 0x8806 :: GLenum

    pattern $mGL_PROGRAM_UNDER_NATIVE_LIMITS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROGRAM_UNDER_NATIVE_LIMITS_ARB :: GLenum
    GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB = 0x88B6 :: GLenum

    pattern $mGL_PROJECTION :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROJECTION :: GLenum
    GL_PROJECTION = 0x1701 :: GLenum

    pattern $mGL_PROJECTION_MATRIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROJECTION_MATRIX :: GLenum
    GL_PROJECTION_MATRIX = 0x0BA7 :: GLenum

    pattern $mGL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES :: GLenum
    GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES = 0x898E :: GLenum

    pattern $mGL_PROJECTION_STACK_DEPTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROJECTION_STACK_DEPTH :: GLenum
    GL_PROJECTION_STACK_DEPTH = 0x0BA4 :: GLenum

    pattern $mGL_PROTECTED_MEMORY_OBJECT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROTECTED_MEMORY_OBJECT_EXT :: GLenum
    GL_PROTECTED_MEMORY_OBJECT_EXT = 0x959B :: GLenum

    pattern $mGL_PROVOKING_VERTEX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROVOKING_VERTEX :: GLenum
    GL_PROVOKING_VERTEX = 0x8E4F :: GLenum

    pattern $mGL_PROVOKING_VERTEX_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROVOKING_VERTEX_EXT :: GLenum
    GL_PROVOKING_VERTEX_EXT = 0x8E4F :: GLenum

    pattern $mGL_PROXY_COLOR_TABLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROXY_COLOR_TABLE :: GLenum
    GL_PROXY_COLOR_TABLE = 0x80D3 :: GLenum

    pattern $mGL_PROXY_COLOR_TABLE_SGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROXY_COLOR_TABLE_SGI :: GLenum
    GL_PROXY_COLOR_TABLE_SGI = 0x80D3 :: GLenum

    pattern $mGL_PROXY_HISTOGRAM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROXY_HISTOGRAM :: GLenum
    GL_PROXY_HISTOGRAM = 0x8025 :: GLenum

    pattern $mGL_PROXY_HISTOGRAM_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROXY_HISTOGRAM_EXT :: GLenum
    GL_PROXY_HISTOGRAM_EXT = 0x8025 :: GLenum

    pattern $mGL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE :: GLenum
    GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE = 0x80D5 :: GLenum

    pattern $mGL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI :: GLenum
    GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI = 0x80D5 :: GLenum

    pattern $mGL_PROXY_POST_CONVOLUTION_COLOR_TABLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROXY_POST_CONVOLUTION_COLOR_TABLE :: GLenum
    GL_PROXY_POST_CONVOLUTION_COLOR_TABLE = 0x80D4 :: GLenum

    pattern $mGL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI :: GLenum
    GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI = 0x80D4 :: GLenum

    pattern $mGL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP :: GLenum
    GL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP = 0x8163 :: GLenum

    pattern $mGL_PROXY_TEXTURE_1D :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROXY_TEXTURE_1D :: GLenum
    GL_PROXY_TEXTURE_1D = 0x8063 :: GLenum

    pattern $mGL_PROXY_TEXTURE_1D_ARRAY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROXY_TEXTURE_1D_ARRAY :: GLenum
    GL_PROXY_TEXTURE_1D_ARRAY = 0x8C19 :: GLenum

    pattern $mGL_PROXY_TEXTURE_1D_ARRAY_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROXY_TEXTURE_1D_ARRAY_EXT :: GLenum
    GL_PROXY_TEXTURE_1D_ARRAY_EXT = 0x8C19 :: GLenum

    pattern $mGL_PROXY_TEXTURE_1D_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROXY_TEXTURE_1D_EXT :: GLenum
    GL_PROXY_TEXTURE_1D_EXT = 0x8063 :: GLenum

    pattern $mGL_PROXY_TEXTURE_1D_STACK_MESAX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROXY_TEXTURE_1D_STACK_MESAX :: GLenum
    GL_PROXY_TEXTURE_1D_STACK_MESAX = 0x875B :: GLenum

    pattern $mGL_PROXY_TEXTURE_2D :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROXY_TEXTURE_2D :: GLenum
    GL_PROXY_TEXTURE_2D = 0x8064 :: GLenum

    pattern $mGL_PROXY_TEXTURE_2D_ARRAY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROXY_TEXTURE_2D_ARRAY :: GLenum
    GL_PROXY_TEXTURE_2D_ARRAY = 0x8C1B :: GLenum

    pattern $mGL_PROXY_TEXTURE_2D_ARRAY_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROXY_TEXTURE_2D_ARRAY_EXT :: GLenum
    GL_PROXY_TEXTURE_2D_ARRAY_EXT = 0x8C1B :: GLenum

    pattern $mGL_PROXY_TEXTURE_2D_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROXY_TEXTURE_2D_EXT :: GLenum
    GL_PROXY_TEXTURE_2D_EXT = 0x8064 :: GLenum

    pattern $mGL_PROXY_TEXTURE_2D_MULTISAMPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROXY_TEXTURE_2D_MULTISAMPLE :: GLenum
    GL_PROXY_TEXTURE_2D_MULTISAMPLE = 0x9101 :: GLenum

    pattern $mGL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY :: GLenum
    GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9103 :: GLenum

    pattern $mGL_PROXY_TEXTURE_2D_STACK_MESAX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROXY_TEXTURE_2D_STACK_MESAX :: GLenum
    GL_PROXY_TEXTURE_2D_STACK_MESAX = 0x875C :: GLenum

    pattern $mGL_PROXY_TEXTURE_3D :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROXY_TEXTURE_3D :: GLenum
    GL_PROXY_TEXTURE_3D = 0x8070 :: GLenum

    pattern $mGL_PROXY_TEXTURE_3D_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROXY_TEXTURE_3D_EXT :: GLenum
    GL_PROXY_TEXTURE_3D_EXT = 0x8070 :: GLenum

    pattern $mGL_PROXY_TEXTURE_4D_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROXY_TEXTURE_4D_SGIS :: GLenum
    GL_PROXY_TEXTURE_4D_SGIS = 0x8135 :: GLenum

    pattern $mGL_PROXY_TEXTURE_COLOR_TABLE_SGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROXY_TEXTURE_COLOR_TABLE_SGI :: GLenum
    GL_PROXY_TEXTURE_COLOR_TABLE_SGI = 0x80BD :: GLenum

    pattern $mGL_PROXY_TEXTURE_CUBE_MAP :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROXY_TEXTURE_CUBE_MAP :: GLenum
    GL_PROXY_TEXTURE_CUBE_MAP = 0x851B :: GLenum

    pattern $mGL_PROXY_TEXTURE_CUBE_MAP_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROXY_TEXTURE_CUBE_MAP_ARB :: GLenum
    GL_PROXY_TEXTURE_CUBE_MAP_ARB = 0x851B :: GLenum

    pattern $mGL_PROXY_TEXTURE_CUBE_MAP_ARRAY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROXY_TEXTURE_CUBE_MAP_ARRAY :: GLenum
    GL_PROXY_TEXTURE_CUBE_MAP_ARRAY = 0x900B :: GLenum

    pattern $mGL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB :: GLenum
    GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB = 0x900B :: GLenum

    pattern $mGL_PROXY_TEXTURE_CUBE_MAP_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROXY_TEXTURE_CUBE_MAP_EXT :: GLenum
    GL_PROXY_TEXTURE_CUBE_MAP_EXT = 0x851B :: GLenum

    pattern $mGL_PROXY_TEXTURE_RECTANGLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROXY_TEXTURE_RECTANGLE :: GLenum
    GL_PROXY_TEXTURE_RECTANGLE = 0x84F7 :: GLenum

    pattern $mGL_PROXY_TEXTURE_RECTANGLE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROXY_TEXTURE_RECTANGLE_ARB :: GLenum
    GL_PROXY_TEXTURE_RECTANGLE_ARB = 0x84F7 :: GLenum

    pattern $mGL_PROXY_TEXTURE_RECTANGLE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PROXY_TEXTURE_RECTANGLE_NV :: GLenum
    GL_PROXY_TEXTURE_RECTANGLE_NV = 0x84F7 :: GLenum

    pattern $mGL_PURGEABLE_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PURGEABLE_APPLE :: GLenum
    GL_PURGEABLE_APPLE = 0x8A1D :: GLenum

    pattern $mGL_PURGED_CONTEXT_RESET_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_PURGED_CONTEXT_RESET_NV :: GLenum
    GL_PURGED_CONTEXT_RESET_NV = 0x92BB :: GLenum

    pattern $mGL_Q :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_Q :: GLenum
    GL_Q = 0x2003 :: GLenum

    pattern $mGL_QUADRATIC_ATTENUATION :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUADRATIC_ATTENUATION :: GLenum
    GL_QUADRATIC_ATTENUATION = 0x1209 :: GLenum

    pattern $mGL_QUADRATIC_CURVE_TO_NV :: forall {r}. GLubyte -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUADRATIC_CURVE_TO_NV :: GLubyte
    GL_QUADRATIC_CURVE_TO_NV = 0x0A :: GLubyte

    pattern $mGL_QUADS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUADS :: GLenum
    GL_QUADS = 0x0007 :: GLenum

    pattern $mGL_QUADS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUADS_EXT :: GLenum
    GL_QUADS_EXT = 0x0007 :: GLenum

    pattern $mGL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION :: GLenum
    GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION = 0x8E4C :: GLenum

    pattern $mGL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT :: GLenum
    GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT = 0x8E4C :: GLenum

    pattern $mGL_QUADS_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUADS_OES :: GLenum
    GL_QUADS_OES = 0x0007 :: GLenum

    pattern $mGL_QUAD_ALPHA4_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUAD_ALPHA4_SGIS :: GLenum
    GL_QUAD_ALPHA4_SGIS = 0x811E :: GLenum

    pattern $mGL_QUAD_ALPHA8_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUAD_ALPHA8_SGIS :: GLenum
    GL_QUAD_ALPHA8_SGIS = 0x811F :: GLenum

    pattern $mGL_QUAD_INTENSITY4_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUAD_INTENSITY4_SGIS :: GLenum
    GL_QUAD_INTENSITY4_SGIS = 0x8122 :: GLenum

    pattern $mGL_QUAD_INTENSITY8_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUAD_INTENSITY8_SGIS :: GLenum
    GL_QUAD_INTENSITY8_SGIS = 0x8123 :: GLenum

    pattern $mGL_QUAD_LUMINANCE4_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUAD_LUMINANCE4_SGIS :: GLenum
    GL_QUAD_LUMINANCE4_SGIS = 0x8120 :: GLenum

    pattern $mGL_QUAD_LUMINANCE8_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUAD_LUMINANCE8_SGIS :: GLenum
    GL_QUAD_LUMINANCE8_SGIS = 0x8121 :: GLenum

    pattern $mGL_QUAD_MESH_SUN :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUAD_MESH_SUN :: GLenum
    GL_QUAD_MESH_SUN = 0x8614 :: GLenum

    pattern $mGL_QUAD_STRIP :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUAD_STRIP :: GLenum
    GL_QUAD_STRIP = 0x0008 :: GLenum

    pattern $mGL_QUAD_TEXTURE_SELECT_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUAD_TEXTURE_SELECT_SGIS :: GLenum
    GL_QUAD_TEXTURE_SELECT_SGIS = 0x8125 :: GLenum

    pattern $mGL_QUARTER_BIT_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUARTER_BIT_ATI :: GLenum
    GL_QUARTER_BIT_ATI = 0x00000010 :: GLbitfield

    pattern $mGL_QUERY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUERY :: GLenum
    GL_QUERY = 0x82E3 :: GLenum

    pattern $mGL_QUERY_ALL_EVENT_BITS_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUERY_ALL_EVENT_BITS_AMD :: GLenum
    GL_QUERY_ALL_EVENT_BITS_AMD = 0xFFFFFFFF :: GLbitfield

    pattern $mGL_QUERY_BUFFER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUERY_BUFFER :: GLenum
    GL_QUERY_BUFFER = 0x9192 :: GLenum

    pattern $mGL_QUERY_BUFFER_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUERY_BUFFER_AMD :: GLenum
    GL_QUERY_BUFFER_AMD = 0x9192 :: GLenum

    pattern $mGL_QUERY_BUFFER_BARRIER_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUERY_BUFFER_BARRIER_BIT :: GLenum
    GL_QUERY_BUFFER_BARRIER_BIT = 0x00008000 :: GLbitfield

    pattern $mGL_QUERY_BUFFER_BINDING :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUERY_BUFFER_BINDING :: GLenum
    GL_QUERY_BUFFER_BINDING = 0x9193 :: GLenum

    pattern $mGL_QUERY_BUFFER_BINDING_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUERY_BUFFER_BINDING_AMD :: GLenum
    GL_QUERY_BUFFER_BINDING_AMD = 0x9193 :: GLenum

    pattern $mGL_QUERY_BY_REGION_NO_WAIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUERY_BY_REGION_NO_WAIT :: GLenum
    GL_QUERY_BY_REGION_NO_WAIT = 0x8E16 :: GLenum

    pattern $mGL_QUERY_BY_REGION_NO_WAIT_INVERTED :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUERY_BY_REGION_NO_WAIT_INVERTED :: GLenum
    GL_QUERY_BY_REGION_NO_WAIT_INVERTED = 0x8E1A :: GLenum

    pattern $mGL_QUERY_BY_REGION_NO_WAIT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUERY_BY_REGION_NO_WAIT_NV :: GLenum
    GL_QUERY_BY_REGION_NO_WAIT_NV = 0x8E16 :: GLenum

    pattern $mGL_QUERY_BY_REGION_WAIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUERY_BY_REGION_WAIT :: GLenum
    GL_QUERY_BY_REGION_WAIT = 0x8E15 :: GLenum

    pattern $mGL_QUERY_BY_REGION_WAIT_INVERTED :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUERY_BY_REGION_WAIT_INVERTED :: GLenum
    GL_QUERY_BY_REGION_WAIT_INVERTED = 0x8E19 :: GLenum

    pattern $mGL_QUERY_BY_REGION_WAIT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUERY_BY_REGION_WAIT_NV :: GLenum
    GL_QUERY_BY_REGION_WAIT_NV = 0x8E15 :: GLenum

    pattern $mGL_QUERY_COUNTER_BITS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUERY_COUNTER_BITS :: GLenum
    GL_QUERY_COUNTER_BITS = 0x8864 :: GLenum

    pattern $mGL_QUERY_COUNTER_BITS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUERY_COUNTER_BITS_ARB :: GLenum
    GL_QUERY_COUNTER_BITS_ARB = 0x8864 :: GLenum

    pattern $mGL_QUERY_COUNTER_BITS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUERY_COUNTER_BITS_EXT :: GLenum
    GL_QUERY_COUNTER_BITS_EXT = 0x8864 :: GLenum

    pattern $mGL_QUERY_DEPTH_BOUNDS_FAIL_EVENT_BIT_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUERY_DEPTH_BOUNDS_FAIL_EVENT_BIT_AMD :: GLenum
    GL_QUERY_DEPTH_BOUNDS_FAIL_EVENT_BIT_AMD = 0x00000008 :: GLbitfield

    pattern $mGL_QUERY_DEPTH_FAIL_EVENT_BIT_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUERY_DEPTH_FAIL_EVENT_BIT_AMD :: GLenum
    GL_QUERY_DEPTH_FAIL_EVENT_BIT_AMD = 0x00000002 :: GLbitfield

    pattern $mGL_QUERY_DEPTH_PASS_EVENT_BIT_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUERY_DEPTH_PASS_EVENT_BIT_AMD :: GLenum
    GL_QUERY_DEPTH_PASS_EVENT_BIT_AMD = 0x00000001 :: GLbitfield

    pattern $mGL_QUERY_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUERY_KHR :: GLenum
    GL_QUERY_KHR = 0x82E3 :: GLenum

    pattern $mGL_QUERY_NO_WAIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUERY_NO_WAIT :: GLenum
    GL_QUERY_NO_WAIT = 0x8E14 :: GLenum

    pattern $mGL_QUERY_NO_WAIT_INVERTED :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUERY_NO_WAIT_INVERTED :: GLenum
    GL_QUERY_NO_WAIT_INVERTED = 0x8E18 :: GLenum

    pattern $mGL_QUERY_NO_WAIT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUERY_NO_WAIT_NV :: GLenum
    GL_QUERY_NO_WAIT_NV = 0x8E14 :: GLenum

    pattern $mGL_QUERY_OBJECT_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUERY_OBJECT_AMD :: GLenum
    GL_QUERY_OBJECT_AMD = 0x9153 :: GLenum

    pattern $mGL_QUERY_OBJECT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUERY_OBJECT_EXT :: GLenum
    GL_QUERY_OBJECT_EXT = 0x9153 :: GLenum

    pattern $mGL_QUERY_RESOURCE_BUFFEROBJECT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUERY_RESOURCE_BUFFEROBJECT_NV :: GLenum
    GL_QUERY_RESOURCE_BUFFEROBJECT_NV = 0x9547 :: GLenum

    pattern $mGL_QUERY_RESOURCE_MEMTYPE_VIDMEM_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUERY_RESOURCE_MEMTYPE_VIDMEM_NV :: GLenum
    GL_QUERY_RESOURCE_MEMTYPE_VIDMEM_NV = 0x9542 :: GLenum

    pattern $mGL_QUERY_RESOURCE_RENDERBUFFER_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUERY_RESOURCE_RENDERBUFFER_NV :: GLenum
    GL_QUERY_RESOURCE_RENDERBUFFER_NV = 0x9546 :: GLenum

    pattern $mGL_QUERY_RESOURCE_SYS_RESERVED_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUERY_RESOURCE_SYS_RESERVED_NV :: GLenum
    GL_QUERY_RESOURCE_SYS_RESERVED_NV = 0x9544 :: GLenum

    pattern $mGL_QUERY_RESOURCE_TEXTURE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUERY_RESOURCE_TEXTURE_NV :: GLenum
    GL_QUERY_RESOURCE_TEXTURE_NV = 0x9545 :: GLenum

    pattern $mGL_QUERY_RESOURCE_TYPE_VIDMEM_ALLOC_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUERY_RESOURCE_TYPE_VIDMEM_ALLOC_NV :: GLenum
    GL_QUERY_RESOURCE_TYPE_VIDMEM_ALLOC_NV = 0x9540 :: GLenum

    pattern $mGL_QUERY_RESULT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUERY_RESULT :: GLenum
    GL_QUERY_RESULT = 0x8866 :: GLenum

    pattern $mGL_QUERY_RESULT_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUERY_RESULT_ARB :: GLenum
    GL_QUERY_RESULT_ARB = 0x8866 :: GLenum

    pattern $mGL_QUERY_RESULT_AVAILABLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUERY_RESULT_AVAILABLE :: GLenum
    GL_QUERY_RESULT_AVAILABLE = 0x8867 :: GLenum

    pattern $mGL_QUERY_RESULT_AVAILABLE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUERY_RESULT_AVAILABLE_ARB :: GLenum
    GL_QUERY_RESULT_AVAILABLE_ARB = 0x8867 :: GLenum

    pattern $mGL_QUERY_RESULT_AVAILABLE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUERY_RESULT_AVAILABLE_EXT :: GLenum
    GL_QUERY_RESULT_AVAILABLE_EXT = 0x8867 :: GLenum

    pattern $mGL_QUERY_RESULT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUERY_RESULT_EXT :: GLenum
    GL_QUERY_RESULT_EXT = 0x8866 :: GLenum

    pattern $mGL_QUERY_RESULT_NO_WAIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUERY_RESULT_NO_WAIT :: GLenum
    GL_QUERY_RESULT_NO_WAIT = 0x9194 :: GLenum

    pattern $mGL_QUERY_RESULT_NO_WAIT_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUERY_RESULT_NO_WAIT_AMD :: GLenum
    GL_QUERY_RESULT_NO_WAIT_AMD = 0x9194 :: GLenum

    pattern $mGL_QUERY_STENCIL_FAIL_EVENT_BIT_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUERY_STENCIL_FAIL_EVENT_BIT_AMD :: GLenum
    GL_QUERY_STENCIL_FAIL_EVENT_BIT_AMD = 0x00000004 :: GLbitfield

    pattern $mGL_QUERY_TARGET :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUERY_TARGET :: GLenum
    GL_QUERY_TARGET = 0x82EA :: GLenum

    pattern $mGL_QUERY_WAIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUERY_WAIT :: GLenum
    GL_QUERY_WAIT = 0x8E13 :: GLenum

    pattern $mGL_QUERY_WAIT_INVERTED :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUERY_WAIT_INVERTED :: GLenum
    GL_QUERY_WAIT_INVERTED = 0x8E17 :: GLenum

    pattern $mGL_QUERY_WAIT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_QUERY_WAIT_NV :: GLenum
    GL_QUERY_WAIT_NV = 0x8E13 :: GLenum

    pattern $mGL_R :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_R :: GLenum
    GL_R = 0x2002 :: GLenum

    pattern $mGL_R11F_G11F_B10F :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_R11F_G11F_B10F :: GLenum
    GL_R11F_G11F_B10F = 0x8C3A :: GLenum

    pattern $mGL_R11F_G11F_B10F_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_R11F_G11F_B10F_APPLE :: GLenum
    GL_R11F_G11F_B10F_APPLE = 0x8C3A :: GLenum

    pattern $mGL_R11F_G11F_B10F_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_R11F_G11F_B10F_EXT :: GLenum
    GL_R11F_G11F_B10F_EXT = 0x8C3A :: GLenum

    pattern $mGL_R16 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_R16 :: GLenum
    GL_R16 = 0x822A :: GLenum

    pattern $mGL_R16F :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_R16F :: GLenum
    GL_R16F = 0x822D :: GLenum

    pattern $mGL_R16F_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_R16F_EXT :: GLenum
    GL_R16F_EXT = 0x822D :: GLenum

    pattern $mGL_R16I :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_R16I :: GLenum
    GL_R16I = 0x8233 :: GLenum

    pattern $mGL_R16UI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_R16UI :: GLenum
    GL_R16UI = 0x8234 :: GLenum

    pattern $mGL_R16_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_R16_EXT :: GLenum
    GL_R16_EXT = 0x822A :: GLenum

    pattern $mGL_R16_SNORM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_R16_SNORM :: GLenum
    GL_R16_SNORM = 0x8F98 :: GLenum

    pattern $mGL_R16_SNORM_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_R16_SNORM_EXT :: GLenum
    GL_R16_SNORM_EXT = 0x8F98 :: GLenum

    pattern $mGL_R1UI_C3F_V3F_SUN :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_R1UI_C3F_V3F_SUN :: GLenum
    GL_R1UI_C3F_V3F_SUN = 0x85C6 :: GLenum

    pattern $mGL_R1UI_C4F_N3F_V3F_SUN :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_R1UI_C4F_N3F_V3F_SUN :: GLenum
    GL_R1UI_C4F_N3F_V3F_SUN = 0x85C8 :: GLenum

    pattern $mGL_R1UI_C4UB_V3F_SUN :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_R1UI_C4UB_V3F_SUN :: GLenum
    GL_R1UI_C4UB_V3F_SUN = 0x85C5 :: GLenum

    pattern $mGL_R1UI_N3F_V3F_SUN :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_R1UI_N3F_V3F_SUN :: GLenum
    GL_R1UI_N3F_V3F_SUN = 0x85C7 :: GLenum

    pattern $mGL_R1UI_T2F_C4F_N3F_V3F_SUN :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_R1UI_T2F_C4F_N3F_V3F_SUN :: GLenum
    GL_R1UI_T2F_C4F_N3F_V3F_SUN = 0x85CB :: GLenum

    pattern $mGL_R1UI_T2F_N3F_V3F_SUN :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_R1UI_T2F_N3F_V3F_SUN :: GLenum
    GL_R1UI_T2F_N3F_V3F_SUN = 0x85CA :: GLenum

    pattern $mGL_R1UI_T2F_V3F_SUN :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_R1UI_T2F_V3F_SUN :: GLenum
    GL_R1UI_T2F_V3F_SUN = 0x85C9 :: GLenum

    pattern $mGL_R1UI_V3F_SUN :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_R1UI_V3F_SUN :: GLenum
    GL_R1UI_V3F_SUN = 0x85C4 :: GLenum

    pattern $mGL_R32F :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_R32F :: GLenum
    GL_R32F = 0x822E :: GLenum

    pattern $mGL_R32F_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_R32F_EXT :: GLenum
    GL_R32F_EXT = 0x822E :: GLenum

    pattern $mGL_R32I :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_R32I :: GLenum
    GL_R32I = 0x8235 :: GLenum

    pattern $mGL_R32UI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_R32UI :: GLenum
    GL_R32UI = 0x8236 :: GLenum

    pattern $mGL_R3_G3_B2 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_R3_G3_B2 :: GLenum
    GL_R3_G3_B2 = 0x2A10 :: GLenum

    pattern $mGL_R8 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_R8 :: GLenum
    GL_R8 = 0x8229 :: GLenum

    pattern $mGL_R8I :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_R8I :: GLenum
    GL_R8I = 0x8231 :: GLenum

    pattern $mGL_R8UI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_R8UI :: GLenum
    GL_R8UI = 0x8232 :: GLenum

    pattern $mGL_R8_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_R8_EXT :: GLenum
    GL_R8_EXT = 0x8229 :: GLenum

    pattern $mGL_R8_SNORM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_R8_SNORM :: GLenum
    GL_R8_SNORM = 0x8F94 :: GLenum

    pattern $mGL_RASTERIZER_DISCARD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RASTERIZER_DISCARD :: GLenum
    GL_RASTERIZER_DISCARD = 0x8C89 :: GLenum

    pattern $mGL_RASTERIZER_DISCARD_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RASTERIZER_DISCARD_EXT :: GLenum
    GL_RASTERIZER_DISCARD_EXT = 0x8C89 :: GLenum

    pattern $mGL_RASTERIZER_DISCARD_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RASTERIZER_DISCARD_NV :: GLenum
    GL_RASTERIZER_DISCARD_NV = 0x8C89 :: GLenum

    pattern $mGL_RASTER_FIXED_SAMPLE_LOCATIONS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RASTER_FIXED_SAMPLE_LOCATIONS_EXT :: GLenum
    GL_RASTER_FIXED_SAMPLE_LOCATIONS_EXT = 0x932A :: GLenum

    pattern $mGL_RASTER_MULTISAMPLE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RASTER_MULTISAMPLE_EXT :: GLenum
    GL_RASTER_MULTISAMPLE_EXT = 0x9327 :: GLenum

    pattern $mGL_RASTER_POSITION_UNCLIPPED_IBM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RASTER_POSITION_UNCLIPPED_IBM :: GLenum
    GL_RASTER_POSITION_UNCLIPPED_IBM = 0x19262 :: GLenum

    pattern $mGL_RASTER_SAMPLES_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RASTER_SAMPLES_EXT :: GLenum
    GL_RASTER_SAMPLES_EXT = 0x9328 :: GLenum

    pattern $mGL_READ_BUFFER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_READ_BUFFER :: GLenum
    GL_READ_BUFFER = 0x0C02 :: GLenum

    pattern $mGL_READ_BUFFER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_READ_BUFFER_EXT :: GLenum
    GL_READ_BUFFER_EXT = 0x0C02 :: GLenum

    pattern $mGL_READ_BUFFER_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_READ_BUFFER_NV :: GLenum
    GL_READ_BUFFER_NV = 0x0C02 :: GLenum

    pattern $mGL_READ_FRAMEBUFFER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_READ_FRAMEBUFFER :: GLenum
    GL_READ_FRAMEBUFFER = 0x8CA8 :: GLenum

    pattern $mGL_READ_FRAMEBUFFER_ANGLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_READ_FRAMEBUFFER_ANGLE :: GLenum
    GL_READ_FRAMEBUFFER_ANGLE = 0x8CA8 :: GLenum

    pattern $mGL_READ_FRAMEBUFFER_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_READ_FRAMEBUFFER_APPLE :: GLenum
    GL_READ_FRAMEBUFFER_APPLE = 0x8CA8 :: GLenum

    pattern $mGL_READ_FRAMEBUFFER_BINDING :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_READ_FRAMEBUFFER_BINDING :: GLenum
    GL_READ_FRAMEBUFFER_BINDING = 0x8CAA :: GLenum

    pattern $mGL_READ_FRAMEBUFFER_BINDING_ANGLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_READ_FRAMEBUFFER_BINDING_ANGLE :: GLenum
    GL_READ_FRAMEBUFFER_BINDING_ANGLE = 0x8CAA :: GLenum

    pattern $mGL_READ_FRAMEBUFFER_BINDING_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_READ_FRAMEBUFFER_BINDING_APPLE :: GLenum
    GL_READ_FRAMEBUFFER_BINDING_APPLE = 0x8CAA :: GLenum

    pattern $mGL_READ_FRAMEBUFFER_BINDING_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_READ_FRAMEBUFFER_BINDING_EXT :: GLenum
    GL_READ_FRAMEBUFFER_BINDING_EXT = 0x8CAA :: GLenum

    pattern $mGL_READ_FRAMEBUFFER_BINDING_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_READ_FRAMEBUFFER_BINDING_NV :: GLenum
    GL_READ_FRAMEBUFFER_BINDING_NV = 0x8CAA :: GLenum

    pattern $mGL_READ_FRAMEBUFFER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_READ_FRAMEBUFFER_EXT :: GLenum
    GL_READ_FRAMEBUFFER_EXT = 0x8CA8 :: GLenum

    pattern $mGL_READ_FRAMEBUFFER_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_READ_FRAMEBUFFER_NV :: GLenum
    GL_READ_FRAMEBUFFER_NV = 0x8CA8 :: GLenum

    pattern $mGL_READ_ONLY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_READ_ONLY :: GLenum
    GL_READ_ONLY = 0x88B8 :: GLenum

    pattern $mGL_READ_ONLY_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_READ_ONLY_ARB :: GLenum
    GL_READ_ONLY_ARB = 0x88B8 :: GLenum

    pattern $mGL_READ_PIXELS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_READ_PIXELS :: GLenum
    GL_READ_PIXELS = 0x828C :: GLenum

    pattern $mGL_READ_PIXELS_FORMAT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_READ_PIXELS_FORMAT :: GLenum
    GL_READ_PIXELS_FORMAT = 0x828D :: GLenum

    pattern $mGL_READ_PIXELS_TYPE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_READ_PIXELS_TYPE :: GLenum
    GL_READ_PIXELS_TYPE = 0x828E :: GLenum

    pattern $mGL_READ_PIXEL_DATA_RANGE_LENGTH_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_READ_PIXEL_DATA_RANGE_LENGTH_NV :: GLenum
    GL_READ_PIXEL_DATA_RANGE_LENGTH_NV = 0x887B :: GLenum

    pattern $mGL_READ_PIXEL_DATA_RANGE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_READ_PIXEL_DATA_RANGE_NV :: GLenum
    GL_READ_PIXEL_DATA_RANGE_NV = 0x8879 :: GLenum

    pattern $mGL_READ_PIXEL_DATA_RANGE_POINTER_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_READ_PIXEL_DATA_RANGE_POINTER_NV :: GLenum
    GL_READ_PIXEL_DATA_RANGE_POINTER_NV = 0x887D :: GLenum

    pattern $mGL_READ_WRITE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_READ_WRITE :: GLenum
    GL_READ_WRITE = 0x88BA :: GLenum

    pattern $mGL_READ_WRITE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_READ_WRITE_ARB :: GLenum
    GL_READ_WRITE_ARB = 0x88BA :: GLenum

    pattern $mGL_RECIP_ADD_SIGNED_ALPHA_IMG :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RECIP_ADD_SIGNED_ALPHA_IMG :: GLenum
    GL_RECIP_ADD_SIGNED_ALPHA_IMG = 0x8C05 :: GLenum

    pattern $mGL_RECLAIM_MEMORY_HINT_PGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RECLAIM_MEMORY_HINT_PGI :: GLenum
    GL_RECLAIM_MEMORY_HINT_PGI = 0x1A1FE :: GLenum

    pattern $mGL_RECT_NV :: forall {r}. GLubyte -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RECT_NV :: GLubyte
    GL_RECT_NV = 0xF6 :: GLubyte

    pattern $mGL_RED :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RED :: GLenum
    GL_RED = 0x1903 :: GLenum

    pattern $mGL_REDUCE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REDUCE :: GLenum
    GL_REDUCE = 0x8016 :: GLenum

    pattern $mGL_REDUCE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REDUCE_EXT :: GLenum
    GL_REDUCE_EXT = 0x8016 :: GLenum

    pattern $mGL_RED_BIAS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RED_BIAS :: GLenum
    GL_RED_BIAS = 0x0D15 :: GLenum

    pattern $mGL_RED_BITS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RED_BITS :: GLenum
    GL_RED_BITS = 0x0D52 :: GLenum

    pattern $mGL_RED_BIT_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RED_BIT_ATI :: GLenum
    GL_RED_BIT_ATI = 0x00000001 :: GLbitfield

    pattern $mGL_RED_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RED_EXT :: GLenum
    GL_RED_EXT = 0x1903 :: GLenum

    pattern $mGL_RED_INTEGER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RED_INTEGER :: GLenum
    GL_RED_INTEGER = 0x8D94 :: GLenum

    pattern $mGL_RED_INTEGER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RED_INTEGER_EXT :: GLenum
    GL_RED_INTEGER_EXT = 0x8D94 :: GLenum

    pattern $mGL_RED_MAX_CLAMP_INGR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RED_MAX_CLAMP_INGR :: GLenum
    GL_RED_MAX_CLAMP_INGR = 0x8564 :: GLenum

    pattern $mGL_RED_MIN_CLAMP_INGR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RED_MIN_CLAMP_INGR :: GLenum
    GL_RED_MIN_CLAMP_INGR = 0x8560 :: GLenum

    pattern $mGL_RED_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RED_NV :: GLenum
    GL_RED_NV = 0x1903 :: GLenum

    pattern $mGL_RED_SCALE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RED_SCALE :: GLenum
    GL_RED_SCALE = 0x0D14 :: GLenum

    pattern $mGL_RED_SNORM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RED_SNORM :: GLenum
    GL_RED_SNORM = 0x8F90 :: GLenum

    pattern $mGL_REFERENCED_BY_COMPUTE_SHADER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REFERENCED_BY_COMPUTE_SHADER :: GLenum
    GL_REFERENCED_BY_COMPUTE_SHADER = 0x930B :: GLenum

    pattern $mGL_REFERENCED_BY_FRAGMENT_SHADER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
    GL_REFERENCED_BY_FRAGMENT_SHADER = 0x930A :: GLenum

    pattern $mGL_REFERENCED_BY_GEOMETRY_SHADER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
    GL_REFERENCED_BY_GEOMETRY_SHADER = 0x9309 :: GLenum

    pattern $mGL_REFERENCED_BY_GEOMETRY_SHADER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REFERENCED_BY_GEOMETRY_SHADER_EXT :: GLenum
    GL_REFERENCED_BY_GEOMETRY_SHADER_EXT = 0x9309 :: GLenum

    pattern $mGL_REFERENCED_BY_GEOMETRY_SHADER_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REFERENCED_BY_GEOMETRY_SHADER_OES :: GLenum
    GL_REFERENCED_BY_GEOMETRY_SHADER_OES = 0x9309 :: GLenum

    pattern $mGL_REFERENCED_BY_MESH_SHADER_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REFERENCED_BY_MESH_SHADER_NV :: GLenum
    GL_REFERENCED_BY_MESH_SHADER_NV = 0x95A0 :: GLenum

    pattern $mGL_REFERENCED_BY_TASK_SHADER_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REFERENCED_BY_TASK_SHADER_NV :: GLenum
    GL_REFERENCED_BY_TASK_SHADER_NV = 0x95A1 :: GLenum

    pattern $mGL_REFERENCED_BY_TESS_CONTROL_SHADER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REFERENCED_BY_TESS_CONTROL_SHADER :: GLenum
    GL_REFERENCED_BY_TESS_CONTROL_SHADER = 0x9307 :: GLenum

    pattern $mGL_REFERENCED_BY_TESS_CONTROL_SHADER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REFERENCED_BY_TESS_CONTROL_SHADER_EXT :: GLenum
    GL_REFERENCED_BY_TESS_CONTROL_SHADER_EXT = 0x9307 :: GLenum

    pattern $mGL_REFERENCED_BY_TESS_CONTROL_SHADER_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REFERENCED_BY_TESS_CONTROL_SHADER_OES :: GLenum
    GL_REFERENCED_BY_TESS_CONTROL_SHADER_OES = 0x9307 :: GLenum

    pattern $mGL_REFERENCED_BY_TESS_EVALUATION_SHADER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REFERENCED_BY_TESS_EVALUATION_SHADER :: GLenum
    GL_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x9308 :: GLenum

    pattern $mGL_REFERENCED_BY_TESS_EVALUATION_SHADER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REFERENCED_BY_TESS_EVALUATION_SHADER_EXT :: GLenum
    GL_REFERENCED_BY_TESS_EVALUATION_SHADER_EXT = 0x9308 :: GLenum

    pattern $mGL_REFERENCED_BY_TESS_EVALUATION_SHADER_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REFERENCED_BY_TESS_EVALUATION_SHADER_OES :: GLenum
    GL_REFERENCED_BY_TESS_EVALUATION_SHADER_OES = 0x9308 :: GLenum

    pattern $mGL_REFERENCED_BY_VERTEX_SHADER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REFERENCED_BY_VERTEX_SHADER :: GLenum
    GL_REFERENCED_BY_VERTEX_SHADER = 0x9306 :: GLenum

    pattern $mGL_REFERENCE_PLANE_EQUATION_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REFERENCE_PLANE_EQUATION_SGIX :: GLenum
    GL_REFERENCE_PLANE_EQUATION_SGIX = 0x817E :: GLenum

    pattern $mGL_REFERENCE_PLANE_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REFERENCE_PLANE_SGIX :: GLenum
    GL_REFERENCE_PLANE_SGIX = 0x817D :: GLenum

    pattern $mGL_REFLECTION_MAP :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REFLECTION_MAP :: GLenum
    GL_REFLECTION_MAP = 0x8512 :: GLenum

    pattern $mGL_REFLECTION_MAP_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REFLECTION_MAP_ARB :: GLenum
    GL_REFLECTION_MAP_ARB = 0x8512 :: GLenum

    pattern $mGL_REFLECTION_MAP_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REFLECTION_MAP_EXT :: GLenum
    GL_REFLECTION_MAP_EXT = 0x8512 :: GLenum

    pattern $mGL_REFLECTION_MAP_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REFLECTION_MAP_NV :: GLenum
    GL_REFLECTION_MAP_NV = 0x8512 :: GLenum

    pattern $mGL_REFLECTION_MAP_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REFLECTION_MAP_OES :: GLenum
    GL_REFLECTION_MAP_OES = 0x8512 :: GLenum

    pattern $mGL_REGISTER_COMBINERS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REGISTER_COMBINERS_NV :: GLenum
    GL_REGISTER_COMBINERS_NV = 0x8522 :: GLenum

    pattern $mGL_REG_0_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REG_0_ATI :: GLenum
    GL_REG_0_ATI = 0x8921 :: GLenum

    pattern $mGL_REG_10_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REG_10_ATI :: GLenum
    GL_REG_10_ATI = 0x892B :: GLenum

    pattern $mGL_REG_11_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REG_11_ATI :: GLenum
    GL_REG_11_ATI = 0x892C :: GLenum

    pattern $mGL_REG_12_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REG_12_ATI :: GLenum
    GL_REG_12_ATI = 0x892D :: GLenum

    pattern $mGL_REG_13_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REG_13_ATI :: GLenum
    GL_REG_13_ATI = 0x892E :: GLenum

    pattern $mGL_REG_14_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REG_14_ATI :: GLenum
    GL_REG_14_ATI = 0x892F :: GLenum

    pattern $mGL_REG_15_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REG_15_ATI :: GLenum
    GL_REG_15_ATI = 0x8930 :: GLenum

    pattern $mGL_REG_16_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REG_16_ATI :: GLenum
    GL_REG_16_ATI = 0x8931 :: GLenum

    pattern $mGL_REG_17_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REG_17_ATI :: GLenum
    GL_REG_17_ATI = 0x8932 :: GLenum

    pattern $mGL_REG_18_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REG_18_ATI :: GLenum
    GL_REG_18_ATI = 0x8933 :: GLenum

    pattern $mGL_REG_19_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REG_19_ATI :: GLenum
    GL_REG_19_ATI = 0x8934 :: GLenum

    pattern $mGL_REG_1_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REG_1_ATI :: GLenum
    GL_REG_1_ATI = 0x8922 :: GLenum

    pattern $mGL_REG_20_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REG_20_ATI :: GLenum
    GL_REG_20_ATI = 0x8935 :: GLenum

    pattern $mGL_REG_21_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REG_21_ATI :: GLenum
    GL_REG_21_ATI = 0x8936 :: GLenum

    pattern $mGL_REG_22_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REG_22_ATI :: GLenum
    GL_REG_22_ATI = 0x8937 :: GLenum

    pattern $mGL_REG_23_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REG_23_ATI :: GLenum
    GL_REG_23_ATI = 0x8938 :: GLenum

    pattern $mGL_REG_24_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REG_24_ATI :: GLenum
    GL_REG_24_ATI = 0x8939 :: GLenum

    pattern $mGL_REG_25_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REG_25_ATI :: GLenum
    GL_REG_25_ATI = 0x893A :: GLenum

    pattern $mGL_REG_26_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REG_26_ATI :: GLenum
    GL_REG_26_ATI = 0x893B :: GLenum

    pattern $mGL_REG_27_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REG_27_ATI :: GLenum
    GL_REG_27_ATI = 0x893C :: GLenum

    pattern $mGL_REG_28_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REG_28_ATI :: GLenum
    GL_REG_28_ATI = 0x893D :: GLenum

    pattern $mGL_REG_29_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REG_29_ATI :: GLenum
    GL_REG_29_ATI = 0x893E :: GLenum

    pattern $mGL_REG_2_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REG_2_ATI :: GLenum
    GL_REG_2_ATI = 0x8923 :: GLenum

    pattern $mGL_REG_30_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REG_30_ATI :: GLenum
    GL_REG_30_ATI = 0x893F :: GLenum

    pattern $mGL_REG_31_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REG_31_ATI :: GLenum
    GL_REG_31_ATI = 0x8940 :: GLenum

    pattern $mGL_REG_3_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REG_3_ATI :: GLenum
    GL_REG_3_ATI = 0x8924 :: GLenum

    pattern $mGL_REG_4_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REG_4_ATI :: GLenum
    GL_REG_4_ATI = 0x8925 :: GLenum

    pattern $mGL_REG_5_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REG_5_ATI :: GLenum
    GL_REG_5_ATI = 0x8926 :: GLenum

    pattern $mGL_REG_6_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REG_6_ATI :: GLenum
    GL_REG_6_ATI = 0x8927 :: GLenum

    pattern $mGL_REG_7_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REG_7_ATI :: GLenum
    GL_REG_7_ATI = 0x8928 :: GLenum

    pattern $mGL_REG_8_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REG_8_ATI :: GLenum
    GL_REG_8_ATI = 0x8929 :: GLenum

    pattern $mGL_REG_9_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REG_9_ATI :: GLenum
    GL_REG_9_ATI = 0x892A :: GLenum

    pattern $mGL_RELATIVE_ARC_TO_NV :: forall {r}. GLubyte -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RELATIVE_ARC_TO_NV :: GLubyte
    GL_RELATIVE_ARC_TO_NV = 0xFF :: GLubyte

    pattern $mGL_RELATIVE_CONIC_CURVE_TO_NV :: forall {r}. GLubyte -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RELATIVE_CONIC_CURVE_TO_NV :: GLubyte
    GL_RELATIVE_CONIC_CURVE_TO_NV = 0x1B :: GLubyte

    pattern $mGL_RELATIVE_CUBIC_CURVE_TO_NV :: forall {r}. GLubyte -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RELATIVE_CUBIC_CURVE_TO_NV :: GLubyte
    GL_RELATIVE_CUBIC_CURVE_TO_NV = 0x0D :: GLubyte

    pattern $mGL_RELATIVE_HORIZONTAL_LINE_TO_NV :: forall {r}. GLubyte -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RELATIVE_HORIZONTAL_LINE_TO_NV :: GLubyte
    GL_RELATIVE_HORIZONTAL_LINE_TO_NV = 0x07 :: GLubyte

    pattern $mGL_RELATIVE_LARGE_CCW_ARC_TO_NV :: forall {r}. GLubyte -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RELATIVE_LARGE_CCW_ARC_TO_NV :: GLubyte
    GL_RELATIVE_LARGE_CCW_ARC_TO_NV = 0x17 :: GLubyte

    pattern $mGL_RELATIVE_LARGE_CW_ARC_TO_NV :: forall {r}. GLubyte -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RELATIVE_LARGE_CW_ARC_TO_NV :: GLubyte
    GL_RELATIVE_LARGE_CW_ARC_TO_NV = 0x19 :: GLubyte

    pattern $mGL_RELATIVE_LINE_TO_NV :: forall {r}. GLubyte -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RELATIVE_LINE_TO_NV :: GLubyte
    GL_RELATIVE_LINE_TO_NV = 0x05 :: GLubyte

    pattern $mGL_RELATIVE_MOVE_TO_NV :: forall {r}. GLubyte -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RELATIVE_MOVE_TO_NV :: GLubyte
    GL_RELATIVE_MOVE_TO_NV = 0x03 :: GLubyte

    pattern $mGL_RELATIVE_QUADRATIC_CURVE_TO_NV :: forall {r}. GLubyte -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RELATIVE_QUADRATIC_CURVE_TO_NV :: GLubyte
    GL_RELATIVE_QUADRATIC_CURVE_TO_NV = 0x0B :: GLubyte

    pattern $mGL_RELATIVE_RECT_NV :: forall {r}. GLubyte -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RELATIVE_RECT_NV :: GLubyte
    GL_RELATIVE_RECT_NV = 0xF7 :: GLubyte

    pattern $mGL_RELATIVE_ROUNDED_RECT2_NV :: forall {r}. GLubyte -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RELATIVE_ROUNDED_RECT2_NV :: GLubyte
    GL_RELATIVE_ROUNDED_RECT2_NV = 0xEB :: GLubyte

    pattern $mGL_RELATIVE_ROUNDED_RECT4_NV :: forall {r}. GLubyte -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RELATIVE_ROUNDED_RECT4_NV :: GLubyte
    GL_RELATIVE_ROUNDED_RECT4_NV = 0xED :: GLubyte

    pattern $mGL_RELATIVE_ROUNDED_RECT8_NV :: forall {r}. GLubyte -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RELATIVE_ROUNDED_RECT8_NV :: GLubyte
    GL_RELATIVE_ROUNDED_RECT8_NV = 0xEF :: GLubyte

    pattern $mGL_RELATIVE_ROUNDED_RECT_NV :: forall {r}. GLubyte -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RELATIVE_ROUNDED_RECT_NV :: GLubyte
    GL_RELATIVE_ROUNDED_RECT_NV = 0xE9 :: GLubyte

    pattern $mGL_RELATIVE_SMALL_CCW_ARC_TO_NV :: forall {r}. GLubyte -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RELATIVE_SMALL_CCW_ARC_TO_NV :: GLubyte
    GL_RELATIVE_SMALL_CCW_ARC_TO_NV = 0x13 :: GLubyte

    pattern $mGL_RELATIVE_SMALL_CW_ARC_TO_NV :: forall {r}. GLubyte -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RELATIVE_SMALL_CW_ARC_TO_NV :: GLubyte
    GL_RELATIVE_SMALL_CW_ARC_TO_NV = 0x15 :: GLubyte

    pattern $mGL_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV :: forall {r}. GLubyte -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV :: GLubyte
    GL_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV = 0x11 :: GLubyte

    pattern $mGL_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV :: forall {r}. GLubyte -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV :: GLubyte
    GL_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV = 0x0F :: GLubyte

    pattern $mGL_RELATIVE_VERTICAL_LINE_TO_NV :: forall {r}. GLubyte -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RELATIVE_VERTICAL_LINE_TO_NV :: GLubyte
    GL_RELATIVE_VERTICAL_LINE_TO_NV = 0x09 :: GLubyte

    pattern $mGL_RELEASED_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RELEASED_APPLE :: GLenum
    GL_RELEASED_APPLE = 0x8A19 :: GLenum

    pattern $mGL_RENDER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RENDER :: GLenum
    GL_RENDER = 0x1C00 :: GLenum

    pattern $mGL_RENDERBUFFER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RENDERBUFFER :: GLenum
    GL_RENDERBUFFER = 0x8D41 :: GLenum

    pattern $mGL_RENDERBUFFER_ALPHA_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RENDERBUFFER_ALPHA_SIZE :: GLenum
    GL_RENDERBUFFER_ALPHA_SIZE = 0x8D53 :: GLenum

    pattern $mGL_RENDERBUFFER_ALPHA_SIZE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RENDERBUFFER_ALPHA_SIZE_EXT :: GLenum
    GL_RENDERBUFFER_ALPHA_SIZE_EXT = 0x8D53 :: GLenum

    pattern $mGL_RENDERBUFFER_ALPHA_SIZE_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RENDERBUFFER_ALPHA_SIZE_OES :: GLenum
    GL_RENDERBUFFER_ALPHA_SIZE_OES = 0x8D53 :: GLenum

    pattern $mGL_RENDERBUFFER_BINDING :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RENDERBUFFER_BINDING :: GLenum
    GL_RENDERBUFFER_BINDING = 0x8CA7 :: GLenum

    pattern $mGL_RENDERBUFFER_BINDING_ANGLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RENDERBUFFER_BINDING_ANGLE :: GLenum
    GL_RENDERBUFFER_BINDING_ANGLE = 0x8CA7 :: GLenum

    pattern $mGL_RENDERBUFFER_BINDING_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RENDERBUFFER_BINDING_EXT :: GLenum
    GL_RENDERBUFFER_BINDING_EXT = 0x8CA7 :: GLenum

    pattern $mGL_RENDERBUFFER_BINDING_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RENDERBUFFER_BINDING_OES :: GLenum
    GL_RENDERBUFFER_BINDING_OES = 0x8CA7 :: GLenum

    pattern $mGL_RENDERBUFFER_BLUE_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RENDERBUFFER_BLUE_SIZE :: GLenum
    GL_RENDERBUFFER_BLUE_SIZE = 0x8D52 :: GLenum

    pattern $mGL_RENDERBUFFER_BLUE_SIZE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RENDERBUFFER_BLUE_SIZE_EXT :: GLenum
    GL_RENDERBUFFER_BLUE_SIZE_EXT = 0x8D52 :: GLenum

    pattern $mGL_RENDERBUFFER_BLUE_SIZE_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RENDERBUFFER_BLUE_SIZE_OES :: GLenum
    GL_RENDERBUFFER_BLUE_SIZE_OES = 0x8D52 :: GLenum

    pattern $mGL_RENDERBUFFER_COLOR_SAMPLES_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RENDERBUFFER_COLOR_SAMPLES_NV :: GLenum
    GL_RENDERBUFFER_COLOR_SAMPLES_NV = 0x8E10 :: GLenum

    pattern $mGL_RENDERBUFFER_COVERAGE_SAMPLES_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RENDERBUFFER_COVERAGE_SAMPLES_NV :: GLenum
    GL_RENDERBUFFER_COVERAGE_SAMPLES_NV = 0x8CAB :: GLenum

    pattern $mGL_RENDERBUFFER_DEPTH_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RENDERBUFFER_DEPTH_SIZE :: GLenum
    GL_RENDERBUFFER_DEPTH_SIZE = 0x8D54 :: GLenum

    pattern $mGL_RENDERBUFFER_DEPTH_SIZE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RENDERBUFFER_DEPTH_SIZE_EXT :: GLenum
    GL_RENDERBUFFER_DEPTH_SIZE_EXT = 0x8D54 :: GLenum

    pattern $mGL_RENDERBUFFER_DEPTH_SIZE_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RENDERBUFFER_DEPTH_SIZE_OES :: GLenum
    GL_RENDERBUFFER_DEPTH_SIZE_OES = 0x8D54 :: GLenum

    pattern $mGL_RENDERBUFFER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RENDERBUFFER_EXT :: GLenum
    GL_RENDERBUFFER_EXT = 0x8D41 :: GLenum

    pattern $mGL_RENDERBUFFER_FREE_MEMORY_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RENDERBUFFER_FREE_MEMORY_ATI :: GLenum
    GL_RENDERBUFFER_FREE_MEMORY_ATI = 0x87FD :: GLenum

    pattern $mGL_RENDERBUFFER_GREEN_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RENDERBUFFER_GREEN_SIZE :: GLenum
    GL_RENDERBUFFER_GREEN_SIZE = 0x8D51 :: GLenum

    pattern $mGL_RENDERBUFFER_GREEN_SIZE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RENDERBUFFER_GREEN_SIZE_EXT :: GLenum
    GL_RENDERBUFFER_GREEN_SIZE_EXT = 0x8D51 :: GLenum

    pattern $mGL_RENDERBUFFER_GREEN_SIZE_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RENDERBUFFER_GREEN_SIZE_OES :: GLenum
    GL_RENDERBUFFER_GREEN_SIZE_OES = 0x8D51 :: GLenum

    pattern $mGL_RENDERBUFFER_HEIGHT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RENDERBUFFER_HEIGHT :: GLenum
    GL_RENDERBUFFER_HEIGHT = 0x8D43 :: GLenum

    pattern $mGL_RENDERBUFFER_HEIGHT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RENDERBUFFER_HEIGHT_EXT :: GLenum
    GL_RENDERBUFFER_HEIGHT_EXT = 0x8D43 :: GLenum

    pattern $mGL_RENDERBUFFER_HEIGHT_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RENDERBUFFER_HEIGHT_OES :: GLenum
    GL_RENDERBUFFER_HEIGHT_OES = 0x8D43 :: GLenum

    pattern $mGL_RENDERBUFFER_INTERNAL_FORMAT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RENDERBUFFER_INTERNAL_FORMAT :: GLenum
    GL_RENDERBUFFER_INTERNAL_FORMAT = 0x8D44 :: GLenum

    pattern $mGL_RENDERBUFFER_INTERNAL_FORMAT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RENDERBUFFER_INTERNAL_FORMAT_EXT :: GLenum
    GL_RENDERBUFFER_INTERNAL_FORMAT_EXT = 0x8D44 :: GLenum

    pattern $mGL_RENDERBUFFER_INTERNAL_FORMAT_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RENDERBUFFER_INTERNAL_FORMAT_OES :: GLenum
    GL_RENDERBUFFER_INTERNAL_FORMAT_OES = 0x8D44 :: GLenum

    pattern $mGL_RENDERBUFFER_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RENDERBUFFER_OES :: GLenum
    GL_RENDERBUFFER_OES = 0x8D41 :: GLenum

    pattern $mGL_RENDERBUFFER_RED_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RENDERBUFFER_RED_SIZE :: GLenum
    GL_RENDERBUFFER_RED_SIZE = 0x8D50 :: GLenum

    pattern $mGL_RENDERBUFFER_RED_SIZE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RENDERBUFFER_RED_SIZE_EXT :: GLenum
    GL_RENDERBUFFER_RED_SIZE_EXT = 0x8D50 :: GLenum

    pattern $mGL_RENDERBUFFER_RED_SIZE_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RENDERBUFFER_RED_SIZE_OES :: GLenum
    GL_RENDERBUFFER_RED_SIZE_OES = 0x8D50 :: GLenum

    pattern $mGL_RENDERBUFFER_SAMPLES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RENDERBUFFER_SAMPLES :: GLenum
    GL_RENDERBUFFER_SAMPLES = 0x8CAB :: GLenum

    pattern $mGL_RENDERBUFFER_SAMPLES_ANGLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RENDERBUFFER_SAMPLES_ANGLE :: GLenum
    GL_RENDERBUFFER_SAMPLES_ANGLE = 0x8CAB :: GLenum

    pattern $mGL_RENDERBUFFER_SAMPLES_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RENDERBUFFER_SAMPLES_APPLE :: GLenum
    GL_RENDERBUFFER_SAMPLES_APPLE = 0x8CAB :: GLenum

    pattern $mGL_RENDERBUFFER_SAMPLES_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RENDERBUFFER_SAMPLES_EXT :: GLenum
    GL_RENDERBUFFER_SAMPLES_EXT = 0x8CAB :: GLenum

    pattern $mGL_RENDERBUFFER_SAMPLES_IMG :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RENDERBUFFER_SAMPLES_IMG :: GLenum
    GL_RENDERBUFFER_SAMPLES_IMG = 0x9133 :: GLenum

    pattern $mGL_RENDERBUFFER_SAMPLES_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RENDERBUFFER_SAMPLES_NV :: GLenum
    GL_RENDERBUFFER_SAMPLES_NV = 0x8CAB :: GLenum

    pattern $mGL_RENDERBUFFER_STENCIL_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RENDERBUFFER_STENCIL_SIZE :: GLenum
    GL_RENDERBUFFER_STENCIL_SIZE = 0x8D55 :: GLenum

    pattern $mGL_RENDERBUFFER_STENCIL_SIZE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RENDERBUFFER_STENCIL_SIZE_EXT :: GLenum
    GL_RENDERBUFFER_STENCIL_SIZE_EXT = 0x8D55 :: GLenum

    pattern $mGL_RENDERBUFFER_STENCIL_SIZE_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RENDERBUFFER_STENCIL_SIZE_OES :: GLenum
    GL_RENDERBUFFER_STENCIL_SIZE_OES = 0x8D55 :: GLenum

    pattern $mGL_RENDERBUFFER_STORAGE_SAMPLES_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RENDERBUFFER_STORAGE_SAMPLES_AMD :: GLenum
    GL_RENDERBUFFER_STORAGE_SAMPLES_AMD = 0x91B2 :: GLenum

    pattern $mGL_RENDERBUFFER_WIDTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RENDERBUFFER_WIDTH :: GLenum
    GL_RENDERBUFFER_WIDTH = 0x8D42 :: GLenum

    pattern $mGL_RENDERBUFFER_WIDTH_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RENDERBUFFER_WIDTH_EXT :: GLenum
    GL_RENDERBUFFER_WIDTH_EXT = 0x8D42 :: GLenum

    pattern $mGL_RENDERBUFFER_WIDTH_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RENDERBUFFER_WIDTH_OES :: GLenum
    GL_RENDERBUFFER_WIDTH_OES = 0x8D42 :: GLenum

    pattern $mGL_RENDERER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RENDERER :: GLenum
    GL_RENDERER = 0x1F01 :: GLenum

    pattern $mGL_RENDER_DIRECT_TO_FRAMEBUFFER_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RENDER_DIRECT_TO_FRAMEBUFFER_QCOM :: GLenum
    GL_RENDER_DIRECT_TO_FRAMEBUFFER_QCOM = 0x8FB3 :: GLenum

    pattern $mGL_RENDER_GPU_MASK_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RENDER_GPU_MASK_NV :: GLenum
    GL_RENDER_GPU_MASK_NV = 0x9558 :: GLenum

    pattern $mGL_RENDER_MODE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RENDER_MODE :: GLenum
    GL_RENDER_MODE = 0x0C40 :: GLenum

    pattern $mGL_REPEAT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REPEAT :: GLenum
    GL_REPEAT = 0x2901 :: GLenum

    pattern $mGL_REPLACE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REPLACE :: GLenum
    GL_REPLACE = 0x1E01 :: GLenum

    pattern $mGL_REPLACEMENT_CODE_ARRAY_POINTER_SUN :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REPLACEMENT_CODE_ARRAY_POINTER_SUN :: GLenum
    GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN = 0x85C3 :: GLenum

    pattern $mGL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN :: GLenum
    GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN = 0x85C2 :: GLenum

    pattern $mGL_REPLACEMENT_CODE_ARRAY_SUN :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REPLACEMENT_CODE_ARRAY_SUN :: GLenum
    GL_REPLACEMENT_CODE_ARRAY_SUN = 0x85C0 :: GLenum

    pattern $mGL_REPLACEMENT_CODE_ARRAY_TYPE_SUN :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REPLACEMENT_CODE_ARRAY_TYPE_SUN :: GLenum
    GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN = 0x85C1 :: GLenum

    pattern $mGL_REPLACEMENT_CODE_SUN :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REPLACEMENT_CODE_SUN :: GLenum
    GL_REPLACEMENT_CODE_SUN = 0x81D8 :: GLenum

    pattern $mGL_REPLACE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REPLACE_EXT :: GLenum
    GL_REPLACE_EXT = 0x8062 :: GLenum

    pattern $mGL_REPLACE_MIDDLE_SUN :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REPLACE_MIDDLE_SUN :: GLenum
    GL_REPLACE_MIDDLE_SUN = 0x0002 :: GLenum

    pattern $mGL_REPLACE_OLDEST_SUN :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REPLACE_OLDEST_SUN :: GLenum
    GL_REPLACE_OLDEST_SUN = 0x0003 :: GLenum

    pattern $mGL_REPLACE_VALUE_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REPLACE_VALUE_AMD :: GLenum
    GL_REPLACE_VALUE_AMD = 0x874B :: GLenum

    pattern $mGL_REPLICATE_BORDER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REPLICATE_BORDER :: GLenum
    GL_REPLICATE_BORDER = 0x8153 :: GLenum

    pattern $mGL_REPLICATE_BORDER_HP :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REPLICATE_BORDER_HP :: GLenum
    GL_REPLICATE_BORDER_HP = 0x8153 :: GLenum

    pattern $mGL_REPRESENTATIVE_FRAGMENT_TEST_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REPRESENTATIVE_FRAGMENT_TEST_NV :: GLenum
    GL_REPRESENTATIVE_FRAGMENT_TEST_NV = 0x937F :: GLenum

    pattern $mGL_REQUIRED_TEXTURE_IMAGE_UNITS_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_REQUIRED_TEXTURE_IMAGE_UNITS_OES :: GLenum
    GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES = 0x8D68 :: GLenum

    pattern $mGL_RESAMPLE_AVERAGE_OML :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RESAMPLE_AVERAGE_OML :: GLenum
    GL_RESAMPLE_AVERAGE_OML = 0x8988 :: GLenum

    pattern $mGL_RESAMPLE_DECIMATE_OML :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RESAMPLE_DECIMATE_OML :: GLenum
    GL_RESAMPLE_DECIMATE_OML = 0x8989 :: GLenum

    pattern $mGL_RESAMPLE_DECIMATE_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RESAMPLE_DECIMATE_SGIX :: GLenum
    GL_RESAMPLE_DECIMATE_SGIX = 0x8430 :: GLenum

    pattern $mGL_RESAMPLE_REPLICATE_OML :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RESAMPLE_REPLICATE_OML :: GLenum
    GL_RESAMPLE_REPLICATE_OML = 0x8986 :: GLenum

    pattern $mGL_RESAMPLE_REPLICATE_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RESAMPLE_REPLICATE_SGIX :: GLenum
    GL_RESAMPLE_REPLICATE_SGIX = 0x8433 :: GLenum

    pattern $mGL_RESAMPLE_ZERO_FILL_OML :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RESAMPLE_ZERO_FILL_OML :: GLenum
    GL_RESAMPLE_ZERO_FILL_OML = 0x8987 :: GLenum

    pattern $mGL_RESAMPLE_ZERO_FILL_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RESAMPLE_ZERO_FILL_SGIX :: GLenum
    GL_RESAMPLE_ZERO_FILL_SGIX = 0x8434 :: GLenum

    pattern $mGL_RESCALE_NORMAL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RESCALE_NORMAL :: GLenum
    GL_RESCALE_NORMAL = 0x803A :: GLenum

    pattern $mGL_RESCALE_NORMAL_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RESCALE_NORMAL_EXT :: GLenum
    GL_RESCALE_NORMAL_EXT = 0x803A :: GLenum

    pattern $mGL_RESET_NOTIFICATION_STRATEGY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RESET_NOTIFICATION_STRATEGY :: GLenum
    GL_RESET_NOTIFICATION_STRATEGY = 0x8256 :: GLenum

    pattern $mGL_RESET_NOTIFICATION_STRATEGY_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RESET_NOTIFICATION_STRATEGY_ARB :: GLenum
    GL_RESET_NOTIFICATION_STRATEGY_ARB = 0x8256 :: GLenum

    pattern $mGL_RESET_NOTIFICATION_STRATEGY_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RESET_NOTIFICATION_STRATEGY_EXT :: GLenum
    GL_RESET_NOTIFICATION_STRATEGY_EXT = 0x8256 :: GLenum

    pattern $mGL_RESET_NOTIFICATION_STRATEGY_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RESET_NOTIFICATION_STRATEGY_KHR :: GLenum
    GL_RESET_NOTIFICATION_STRATEGY_KHR = 0x8256 :: GLenum

    pattern $mGL_RESTART_PATH_NV :: forall {r}. GLubyte -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RESTART_PATH_NV :: GLubyte
    GL_RESTART_PATH_NV = 0xF0 :: GLubyte

    pattern $mGL_RESTART_SUN :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RESTART_SUN :: GLenum
    GL_RESTART_SUN = 0x0001 :: GLenum

    pattern $mGL_RETAINED_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RETAINED_APPLE :: GLenum
    GL_RETAINED_APPLE = 0x8A1B :: GLenum

    pattern $mGL_RETURN :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RETURN :: GLenum
    GL_RETURN = 0x0102 :: GLenum

    pattern $mGL_RG :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RG :: GLenum
    GL_RG = 0x8227 :: GLenum

    pattern $mGL_RG16 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RG16 :: GLenum
    GL_RG16 = 0x822C :: GLenum

    pattern $mGL_RG16F :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RG16F :: GLenum
    GL_RG16F = 0x822F :: GLenum

    pattern $mGL_RG16F_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RG16F_EXT :: GLenum
    GL_RG16F_EXT = 0x822F :: GLenum

    pattern $mGL_RG16I :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RG16I :: GLenum
    GL_RG16I = 0x8239 :: GLenum

    pattern $mGL_RG16UI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RG16UI :: GLenum
    GL_RG16UI = 0x823A :: GLenum

    pattern $mGL_RG16_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RG16_EXT :: GLenum
    GL_RG16_EXT = 0x822C :: GLenum

    pattern $mGL_RG16_SNORM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RG16_SNORM :: GLenum
    GL_RG16_SNORM = 0x8F99 :: GLenum

    pattern $mGL_RG16_SNORM_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RG16_SNORM_EXT :: GLenum
    GL_RG16_SNORM_EXT = 0x8F99 :: GLenum

    pattern $mGL_RG32F :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RG32F :: GLenum
    GL_RG32F = 0x8230 :: GLenum

    pattern $mGL_RG32F_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RG32F_EXT :: GLenum
    GL_RG32F_EXT = 0x8230 :: GLenum

    pattern $mGL_RG32I :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RG32I :: GLenum
    GL_RG32I = 0x823B :: GLenum

    pattern $mGL_RG32UI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RG32UI :: GLenum
    GL_RG32UI = 0x823C :: GLenum

    pattern $mGL_RG8 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RG8 :: GLenum
    GL_RG8 = 0x822B :: GLenum

    pattern $mGL_RG8I :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RG8I :: GLenum
    GL_RG8I = 0x8237 :: GLenum

    pattern $mGL_RG8UI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RG8UI :: GLenum
    GL_RG8UI = 0x8238 :: GLenum

    pattern $mGL_RG8_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RG8_EXT :: GLenum
    GL_RG8_EXT = 0x822B :: GLenum

    pattern $mGL_RG8_SNORM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RG8_SNORM :: GLenum
    GL_RG8_SNORM = 0x8F95 :: GLenum

    pattern $mGL_RGB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB :: GLenum
    GL_RGB = 0x1907 :: GLenum

    pattern $mGL_RGB10 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB10 :: GLenum
    GL_RGB10 = 0x8052 :: GLenum

    pattern $mGL_RGB10_A2 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB10_A2 :: GLenum
    GL_RGB10_A2 = 0x8059 :: GLenum

    pattern $mGL_RGB10_A2UI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB10_A2UI :: GLenum
    GL_RGB10_A2UI = 0x906F :: GLenum

    pattern $mGL_RGB10_A2_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB10_A2_EXT :: GLenum
    GL_RGB10_A2_EXT = 0x8059 :: GLenum

    pattern $mGL_RGB10_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB10_EXT :: GLenum
    GL_RGB10_EXT = 0x8052 :: GLenum

    pattern $mGL_RGB12 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB12 :: GLenum
    GL_RGB12 = 0x8053 :: GLenum

    pattern $mGL_RGB12_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB12_EXT :: GLenum
    GL_RGB12_EXT = 0x8053 :: GLenum

    pattern $mGL_RGB16 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB16 :: GLenum
    GL_RGB16 = 0x8054 :: GLenum

    pattern $mGL_RGB16F :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB16F :: GLenum
    GL_RGB16F = 0x881B :: GLenum

    pattern $mGL_RGB16F_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB16F_ARB :: GLenum
    GL_RGB16F_ARB = 0x881B :: GLenum

    pattern $mGL_RGB16F_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB16F_EXT :: GLenum
    GL_RGB16F_EXT = 0x881B :: GLenum

    pattern $mGL_RGB16I :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB16I :: GLenum
    GL_RGB16I = 0x8D89 :: GLenum

    pattern $mGL_RGB16I_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB16I_EXT :: GLenum
    GL_RGB16I_EXT = 0x8D89 :: GLenum

    pattern $mGL_RGB16UI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB16UI :: GLenum
    GL_RGB16UI = 0x8D77 :: GLenum

    pattern $mGL_RGB16UI_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB16UI_EXT :: GLenum
    GL_RGB16UI_EXT = 0x8D77 :: GLenum

    pattern $mGL_RGB16_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB16_EXT :: GLenum
    GL_RGB16_EXT = 0x8054 :: GLenum

    pattern $mGL_RGB16_SNORM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB16_SNORM :: GLenum
    GL_RGB16_SNORM = 0x8F9A :: GLenum

    pattern $mGL_RGB16_SNORM_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB16_SNORM_EXT :: GLenum
    GL_RGB16_SNORM_EXT = 0x8F9A :: GLenum

    pattern $mGL_RGB2_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB2_EXT :: GLenum
    GL_RGB2_EXT = 0x804E :: GLenum

    pattern $mGL_RGB32F :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB32F :: GLenum
    GL_RGB32F = 0x8815 :: GLenum

    pattern $mGL_RGB32F_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB32F_ARB :: GLenum
    GL_RGB32F_ARB = 0x8815 :: GLenum

    pattern $mGL_RGB32F_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB32F_EXT :: GLenum
    GL_RGB32F_EXT = 0x8815 :: GLenum

    pattern $mGL_RGB32I :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB32I :: GLenum
    GL_RGB32I = 0x8D83 :: GLenum

    pattern $mGL_RGB32I_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB32I_EXT :: GLenum
    GL_RGB32I_EXT = 0x8D83 :: GLenum

    pattern $mGL_RGB32UI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB32UI :: GLenum
    GL_RGB32UI = 0x8D71 :: GLenum

    pattern $mGL_RGB32UI_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB32UI_EXT :: GLenum
    GL_RGB32UI_EXT = 0x8D71 :: GLenum

    pattern $mGL_RGB4 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB4 :: GLenum
    GL_RGB4 = 0x804F :: GLenum

    pattern $mGL_RGB4_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB4_EXT :: GLenum
    GL_RGB4_EXT = 0x804F :: GLenum

    pattern $mGL_RGB4_S3TC :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB4_S3TC :: GLenum
    GL_RGB4_S3TC = 0x83A1 :: GLenum

    pattern $mGL_RGB5 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB5 :: GLenum
    GL_RGB5 = 0x8050 :: GLenum

    pattern $mGL_RGB565 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB565 :: GLenum
    GL_RGB565 = 0x8D62 :: GLenum

    pattern $mGL_RGB565_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB565_OES :: GLenum
    GL_RGB565_OES = 0x8D62 :: GLenum

    pattern $mGL_RGB5_A1 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB5_A1 :: GLenum
    GL_RGB5_A1 = 0x8057 :: GLenum

    pattern $mGL_RGB5_A1_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB5_A1_EXT :: GLenum
    GL_RGB5_A1_EXT = 0x8057 :: GLenum

    pattern $mGL_RGB5_A1_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB5_A1_OES :: GLenum
    GL_RGB5_A1_OES = 0x8057 :: GLenum

    pattern $mGL_RGB5_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB5_EXT :: GLenum
    GL_RGB5_EXT = 0x8050 :: GLenum

    pattern $mGL_RGB8 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB8 :: GLenum
    GL_RGB8 = 0x8051 :: GLenum

    pattern $mGL_RGB8I :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB8I :: GLenum
    GL_RGB8I = 0x8D8F :: GLenum

    pattern $mGL_RGB8I_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB8I_EXT :: GLenum
    GL_RGB8I_EXT = 0x8D8F :: GLenum

    pattern $mGL_RGB8UI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB8UI :: GLenum
    GL_RGB8UI = 0x8D7D :: GLenum

    pattern $mGL_RGB8UI_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB8UI_EXT :: GLenum
    GL_RGB8UI_EXT = 0x8D7D :: GLenum

    pattern $mGL_RGB8_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB8_EXT :: GLenum
    GL_RGB8_EXT = 0x8051 :: GLenum

    pattern $mGL_RGB8_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB8_OES :: GLenum
    GL_RGB8_OES = 0x8051 :: GLenum

    pattern $mGL_RGB8_SNORM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB8_SNORM :: GLenum
    GL_RGB8_SNORM = 0x8F96 :: GLenum

    pattern $mGL_RGB9_E5 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB9_E5 :: GLenum
    GL_RGB9_E5 = 0x8C3D :: GLenum

    pattern $mGL_RGB9_E5_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB9_E5_APPLE :: GLenum
    GL_RGB9_E5_APPLE = 0x8C3D :: GLenum

    pattern $mGL_RGB9_E5_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB9_E5_EXT :: GLenum
    GL_RGB9_E5_EXT = 0x8C3D :: GLenum

    pattern $mGL_RGBA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGBA :: GLenum
    GL_RGBA = 0x1908 :: GLenum

    pattern $mGL_RGBA12 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGBA12 :: GLenum
    GL_RGBA12 = 0x805A :: GLenum

    pattern $mGL_RGBA12_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGBA12_EXT :: GLenum
    GL_RGBA12_EXT = 0x805A :: GLenum

    pattern $mGL_RGBA16 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGBA16 :: GLenum
    GL_RGBA16 = 0x805B :: GLenum

    pattern $mGL_RGBA16F :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGBA16F :: GLenum
    GL_RGBA16F = 0x881A :: GLenum

    pattern $mGL_RGBA16F_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGBA16F_ARB :: GLenum
    GL_RGBA16F_ARB = 0x881A :: GLenum

    pattern $mGL_RGBA16F_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGBA16F_EXT :: GLenum
    GL_RGBA16F_EXT = 0x881A :: GLenum

    pattern $mGL_RGBA16I :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGBA16I :: GLenum
    GL_RGBA16I = 0x8D88 :: GLenum

    pattern $mGL_RGBA16I_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGBA16I_EXT :: GLenum
    GL_RGBA16I_EXT = 0x8D88 :: GLenum

    pattern $mGL_RGBA16UI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGBA16UI :: GLenum
    GL_RGBA16UI = 0x8D76 :: GLenum

    pattern $mGL_RGBA16UI_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGBA16UI_EXT :: GLenum
    GL_RGBA16UI_EXT = 0x8D76 :: GLenum

    pattern $mGL_RGBA16_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGBA16_EXT :: GLenum
    GL_RGBA16_EXT = 0x805B :: GLenum

    pattern $mGL_RGBA16_SNORM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGBA16_SNORM :: GLenum
    GL_RGBA16_SNORM = 0x8F9B :: GLenum

    pattern $mGL_RGBA16_SNORM_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGBA16_SNORM_EXT :: GLenum
    GL_RGBA16_SNORM_EXT = 0x8F9B :: GLenum

    pattern $mGL_RGBA2 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGBA2 :: GLenum
    GL_RGBA2 = 0x8055 :: GLenum

    pattern $mGL_RGBA2_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGBA2_EXT :: GLenum
    GL_RGBA2_EXT = 0x8055 :: GLenum

    pattern $mGL_RGBA32F :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGBA32F :: GLenum
    GL_RGBA32F = 0x8814 :: GLenum

    pattern $mGL_RGBA32F_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGBA32F_ARB :: GLenum
    GL_RGBA32F_ARB = 0x8814 :: GLenum

    pattern $mGL_RGBA32F_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGBA32F_EXT :: GLenum
    GL_RGBA32F_EXT = 0x8814 :: GLenum

    pattern $mGL_RGBA32I :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGBA32I :: GLenum
    GL_RGBA32I = 0x8D82 :: GLenum

    pattern $mGL_RGBA32I_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGBA32I_EXT :: GLenum
    GL_RGBA32I_EXT = 0x8D82 :: GLenum

    pattern $mGL_RGBA32UI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGBA32UI :: GLenum
    GL_RGBA32UI = 0x8D70 :: GLenum

    pattern $mGL_RGBA32UI_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGBA32UI_EXT :: GLenum
    GL_RGBA32UI_EXT = 0x8D70 :: GLenum

    pattern $mGL_RGBA4 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGBA4 :: GLenum
    GL_RGBA4 = 0x8056 :: GLenum

    pattern $mGL_RGBA4_DXT5_S3TC :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGBA4_DXT5_S3TC :: GLenum
    GL_RGBA4_DXT5_S3TC = 0x83A5 :: GLenum

    pattern $mGL_RGBA4_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGBA4_EXT :: GLenum
    GL_RGBA4_EXT = 0x8056 :: GLenum

    pattern $mGL_RGBA4_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGBA4_OES :: GLenum
    GL_RGBA4_OES = 0x8056 :: GLenum

    pattern $mGL_RGBA4_S3TC :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGBA4_S3TC :: GLenum
    GL_RGBA4_S3TC = 0x83A3 :: GLenum

    pattern $mGL_RGBA8 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGBA8 :: GLenum
    GL_RGBA8 = 0x8058 :: GLenum

    pattern $mGL_RGBA8I :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGBA8I :: GLenum
    GL_RGBA8I = 0x8D8E :: GLenum

    pattern $mGL_RGBA8I_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGBA8I_EXT :: GLenum
    GL_RGBA8I_EXT = 0x8D8E :: GLenum

    pattern $mGL_RGBA8UI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGBA8UI :: GLenum
    GL_RGBA8UI = 0x8D7C :: GLenum

    pattern $mGL_RGBA8UI_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGBA8UI_EXT :: GLenum
    GL_RGBA8UI_EXT = 0x8D7C :: GLenum

    pattern $mGL_RGBA8_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGBA8_EXT :: GLenum
    GL_RGBA8_EXT = 0x8058 :: GLenum

    pattern $mGL_RGBA8_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGBA8_OES :: GLenum
    GL_RGBA8_OES = 0x8058 :: GLenum

    pattern $mGL_RGBA8_SNORM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGBA8_SNORM :: GLenum
    GL_RGBA8_SNORM = 0x8F97 :: GLenum

    pattern $mGL_RGBA_DXT5_S3TC :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGBA_DXT5_S3TC :: GLenum
    GL_RGBA_DXT5_S3TC = 0x83A4 :: GLenum

    pattern $mGL_RGBA_FLOAT16_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGBA_FLOAT16_APPLE :: GLenum
    GL_RGBA_FLOAT16_APPLE = 0x881A :: GLenum

    pattern $mGL_RGBA_FLOAT16_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGBA_FLOAT16_ATI :: GLenum
    GL_RGBA_FLOAT16_ATI = 0x881A :: GLenum

    pattern $mGL_RGBA_FLOAT32_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGBA_FLOAT32_APPLE :: GLenum
    GL_RGBA_FLOAT32_APPLE = 0x8814 :: GLenum

    pattern $mGL_RGBA_FLOAT32_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGBA_FLOAT32_ATI :: GLenum
    GL_RGBA_FLOAT32_ATI = 0x8814 :: GLenum

    pattern $mGL_RGBA_FLOAT_MODE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGBA_FLOAT_MODE_ARB :: GLenum
    GL_RGBA_FLOAT_MODE_ARB = 0x8820 :: GLenum

    pattern $mGL_RGBA_FLOAT_MODE_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGBA_FLOAT_MODE_ATI :: GLenum
    GL_RGBA_FLOAT_MODE_ATI = 0x8820 :: GLenum

    pattern $mGL_RGBA_INTEGER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGBA_INTEGER :: GLenum
    GL_RGBA_INTEGER = 0x8D99 :: GLenum

    pattern $mGL_RGBA_INTEGER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGBA_INTEGER_EXT :: GLenum
    GL_RGBA_INTEGER_EXT = 0x8D99 :: GLenum

    pattern $mGL_RGBA_INTEGER_MODE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGBA_INTEGER_MODE_EXT :: GLenum
    GL_RGBA_INTEGER_MODE_EXT = 0x8D9E :: GLenum

    pattern $mGL_RGBA_MODE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGBA_MODE :: GLenum
    GL_RGBA_MODE = 0x0C31 :: GLenum

    pattern $mGL_RGBA_S3TC :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGBA_S3TC :: GLenum
    GL_RGBA_S3TC = 0x83A2 :: GLenum

    pattern $mGL_RGBA_SIGNED_COMPONENTS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGBA_SIGNED_COMPONENTS_EXT :: GLenum
    GL_RGBA_SIGNED_COMPONENTS_EXT = 0x8C3C :: GLenum

    pattern $mGL_RGBA_SNORM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGBA_SNORM :: GLenum
    GL_RGBA_SNORM = 0x8F93 :: GLenum

    pattern $mGL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV :: GLenum
    GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV = 0x86D9 :: GLenum

    pattern $mGL_RGB_422_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB_422_APPLE :: GLenum
    GL_RGB_422_APPLE = 0x8A1F :: GLenum

    pattern $mGL_RGB_FLOAT16_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB_FLOAT16_APPLE :: GLenum
    GL_RGB_FLOAT16_APPLE = 0x881B :: GLenum

    pattern $mGL_RGB_FLOAT16_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB_FLOAT16_ATI :: GLenum
    GL_RGB_FLOAT16_ATI = 0x881B :: GLenum

    pattern $mGL_RGB_FLOAT32_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB_FLOAT32_APPLE :: GLenum
    GL_RGB_FLOAT32_APPLE = 0x8815 :: GLenum

    pattern $mGL_RGB_FLOAT32_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB_FLOAT32_ATI :: GLenum
    GL_RGB_FLOAT32_ATI = 0x8815 :: GLenum

    pattern $mGL_RGB_INTEGER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB_INTEGER :: GLenum
    GL_RGB_INTEGER = 0x8D98 :: GLenum

    pattern $mGL_RGB_INTEGER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB_INTEGER_EXT :: GLenum
    GL_RGB_INTEGER_EXT = 0x8D98 :: GLenum

    pattern $mGL_RGB_RAW_422_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB_RAW_422_APPLE :: GLenum
    GL_RGB_RAW_422_APPLE = 0x8A51 :: GLenum

    pattern $mGL_RGB_S3TC :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB_S3TC :: GLenum
    GL_RGB_S3TC = 0x83A0 :: GLenum

    pattern $mGL_RGB_SCALE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB_SCALE :: GLenum
    GL_RGB_SCALE = 0x8573 :: GLenum

    pattern $mGL_RGB_SCALE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB_SCALE_ARB :: GLenum
    GL_RGB_SCALE_ARB = 0x8573 :: GLenum

    pattern $mGL_RGB_SCALE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB_SCALE_EXT :: GLenum
    GL_RGB_SCALE_EXT = 0x8573 :: GLenum

    pattern $mGL_RGB_SNORM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RGB_SNORM :: GLenum
    GL_RGB_SNORM = 0x8F92 :: GLenum

    pattern $mGL_RG_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RG_EXT :: GLenum
    GL_RG_EXT = 0x8227 :: GLenum

    pattern $mGL_RG_INTEGER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RG_INTEGER :: GLenum
    GL_RG_INTEGER = 0x8228 :: GLenum

    pattern $mGL_RG_SNORM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RG_SNORM :: GLenum
    GL_RG_SNORM = 0x8F91 :: GLenum

    pattern $mGL_RIGHT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_RIGHT :: GLenum
    GL_RIGHT = 0x0407 :: GLenum

    pattern $mGL_ROBUST_GPU_TIMEOUT_MS_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ROBUST_GPU_TIMEOUT_MS_KHR :: GLenum
    GL_ROBUST_GPU_TIMEOUT_MS_KHR = 0x82FD :: GLenum

    pattern $mGL_ROUNDED_RECT2_NV :: forall {r}. GLubyte -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ROUNDED_RECT2_NV :: GLubyte
    GL_ROUNDED_RECT2_NV = 0xEA :: GLubyte

    pattern $mGL_ROUNDED_RECT4_NV :: forall {r}. GLubyte -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ROUNDED_RECT4_NV :: GLubyte
    GL_ROUNDED_RECT4_NV = 0xEC :: GLubyte

    pattern $mGL_ROUNDED_RECT8_NV :: forall {r}. GLubyte -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ROUNDED_RECT8_NV :: GLubyte
    GL_ROUNDED_RECT8_NV = 0xEE :: GLubyte

    pattern $mGL_ROUNDED_RECT_NV :: forall {r}. GLubyte -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ROUNDED_RECT_NV :: GLubyte
    GL_ROUNDED_RECT_NV = 0xE8 :: GLubyte

    pattern $mGL_ROUND_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ROUND_NV :: GLenum
    GL_ROUND_NV = 0x90A4 :: GLenum

    pattern $mGL_S :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_S :: GLenum
    GL_S = 0x2000 :: GLenum

    pattern $mGL_SAMPLER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLER :: GLenum
    GL_SAMPLER = 0x82E6 :: GLenum

    pattern $mGL_SAMPLER_1D :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLER_1D :: GLenum
    GL_SAMPLER_1D = 0x8B5D :: GLenum

    pattern $mGL_SAMPLER_1D_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLER_1D_ARB :: GLenum
    GL_SAMPLER_1D_ARB = 0x8B5D :: GLenum

    pattern $mGL_SAMPLER_1D_ARRAY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLER_1D_ARRAY :: GLenum
    GL_SAMPLER_1D_ARRAY = 0x8DC0 :: GLenum

    pattern $mGL_SAMPLER_1D_ARRAY_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLER_1D_ARRAY_EXT :: GLenum
    GL_SAMPLER_1D_ARRAY_EXT = 0x8DC0 :: GLenum

    pattern $mGL_SAMPLER_1D_ARRAY_SHADOW :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLER_1D_ARRAY_SHADOW :: GLenum
    GL_SAMPLER_1D_ARRAY_SHADOW = 0x8DC3 :: GLenum

    pattern $mGL_SAMPLER_1D_ARRAY_SHADOW_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLER_1D_ARRAY_SHADOW_EXT :: GLenum
    GL_SAMPLER_1D_ARRAY_SHADOW_EXT = 0x8DC3 :: GLenum

    pattern $mGL_SAMPLER_1D_SHADOW :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLER_1D_SHADOW :: GLenum
    GL_SAMPLER_1D_SHADOW = 0x8B61 :: GLenum

    pattern $mGL_SAMPLER_1D_SHADOW_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLER_1D_SHADOW_ARB :: GLenum
    GL_SAMPLER_1D_SHADOW_ARB = 0x8B61 :: GLenum

    pattern $mGL_SAMPLER_2D :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLER_2D :: GLenum
    GL_SAMPLER_2D = 0x8B5E :: GLenum

    pattern $mGL_SAMPLER_2D_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLER_2D_ARB :: GLenum
    GL_SAMPLER_2D_ARB = 0x8B5E :: GLenum

    pattern $mGL_SAMPLER_2D_ARRAY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLER_2D_ARRAY :: GLenum
    GL_SAMPLER_2D_ARRAY = 0x8DC1 :: GLenum

    pattern $mGL_SAMPLER_2D_ARRAY_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLER_2D_ARRAY_EXT :: GLenum
    GL_SAMPLER_2D_ARRAY_EXT = 0x8DC1 :: GLenum

    pattern $mGL_SAMPLER_2D_ARRAY_SHADOW :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLER_2D_ARRAY_SHADOW :: GLenum
    GL_SAMPLER_2D_ARRAY_SHADOW = 0x8DC4 :: GLenum

    pattern $mGL_SAMPLER_2D_ARRAY_SHADOW_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLER_2D_ARRAY_SHADOW_EXT :: GLenum
    GL_SAMPLER_2D_ARRAY_SHADOW_EXT = 0x8DC4 :: GLenum

    pattern $mGL_SAMPLER_2D_ARRAY_SHADOW_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLER_2D_ARRAY_SHADOW_NV :: GLenum
    GL_SAMPLER_2D_ARRAY_SHADOW_NV = 0x8DC4 :: GLenum

    pattern $mGL_SAMPLER_2D_MULTISAMPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLER_2D_MULTISAMPLE :: GLenum
    GL_SAMPLER_2D_MULTISAMPLE = 0x9108 :: GLenum

    pattern $mGL_SAMPLER_2D_MULTISAMPLE_ARRAY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
    GL_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910B :: GLenum

    pattern $mGL_SAMPLER_2D_MULTISAMPLE_ARRAY_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLER_2D_MULTISAMPLE_ARRAY_OES :: GLenum
    GL_SAMPLER_2D_MULTISAMPLE_ARRAY_OES = 0x910B :: GLenum

    pattern $mGL_SAMPLER_2D_RECT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLER_2D_RECT :: GLenum
    GL_SAMPLER_2D_RECT = 0x8B63 :: GLenum

    pattern $mGL_SAMPLER_2D_RECT_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLER_2D_RECT_ARB :: GLenum
    GL_SAMPLER_2D_RECT_ARB = 0x8B63 :: GLenum

    pattern $mGL_SAMPLER_2D_RECT_SHADOW :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLER_2D_RECT_SHADOW :: GLenum
    GL_SAMPLER_2D_RECT_SHADOW = 0x8B64 :: GLenum

    pattern $mGL_SAMPLER_2D_RECT_SHADOW_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLER_2D_RECT_SHADOW_ARB :: GLenum
    GL_SAMPLER_2D_RECT_SHADOW_ARB = 0x8B64 :: GLenum

    pattern $mGL_SAMPLER_2D_SHADOW :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLER_2D_SHADOW :: GLenum
    GL_SAMPLER_2D_SHADOW = 0x8B62 :: GLenum

    pattern $mGL_SAMPLER_2D_SHADOW_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLER_2D_SHADOW_ARB :: GLenum
    GL_SAMPLER_2D_SHADOW_ARB = 0x8B62 :: GLenum

    pattern $mGL_SAMPLER_2D_SHADOW_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLER_2D_SHADOW_EXT :: GLenum
    GL_SAMPLER_2D_SHADOW_EXT = 0x8B62 :: GLenum

    pattern $mGL_SAMPLER_3D :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLER_3D :: GLenum
    GL_SAMPLER_3D = 0x8B5F :: GLenum

    pattern $mGL_SAMPLER_3D_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLER_3D_ARB :: GLenum
    GL_SAMPLER_3D_ARB = 0x8B5F :: GLenum

    pattern $mGL_SAMPLER_3D_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLER_3D_OES :: GLenum
    GL_SAMPLER_3D_OES = 0x8B5F :: GLenum

    pattern $mGL_SAMPLER_BINDING :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLER_BINDING :: GLenum
    GL_SAMPLER_BINDING = 0x8919 :: GLenum

    pattern $mGL_SAMPLER_BUFFER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLER_BUFFER :: GLenum
    GL_SAMPLER_BUFFER = 0x8DC2 :: GLenum

    pattern $mGL_SAMPLER_BUFFER_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLER_BUFFER_AMD :: GLenum
    GL_SAMPLER_BUFFER_AMD = 0x9001 :: GLenum

    pattern $mGL_SAMPLER_BUFFER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLER_BUFFER_EXT :: GLenum
    GL_SAMPLER_BUFFER_EXT = 0x8DC2 :: GLenum

    pattern $mGL_SAMPLER_BUFFER_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLER_BUFFER_OES :: GLenum
    GL_SAMPLER_BUFFER_OES = 0x8DC2 :: GLenum

    pattern $mGL_SAMPLER_CUBE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLER_CUBE :: GLenum
    GL_SAMPLER_CUBE = 0x8B60 :: GLenum

    pattern $mGL_SAMPLER_CUBE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLER_CUBE_ARB :: GLenum
    GL_SAMPLER_CUBE_ARB = 0x8B60 :: GLenum

    pattern $mGL_SAMPLER_CUBE_MAP_ARRAY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLER_CUBE_MAP_ARRAY :: GLenum
    GL_SAMPLER_CUBE_MAP_ARRAY = 0x900C :: GLenum

    pattern $mGL_SAMPLER_CUBE_MAP_ARRAY_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLER_CUBE_MAP_ARRAY_ARB :: GLenum
    GL_SAMPLER_CUBE_MAP_ARRAY_ARB = 0x900C :: GLenum

    pattern $mGL_SAMPLER_CUBE_MAP_ARRAY_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLER_CUBE_MAP_ARRAY_EXT :: GLenum
    GL_SAMPLER_CUBE_MAP_ARRAY_EXT = 0x900C :: GLenum

    pattern $mGL_SAMPLER_CUBE_MAP_ARRAY_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLER_CUBE_MAP_ARRAY_OES :: GLenum
    GL_SAMPLER_CUBE_MAP_ARRAY_OES = 0x900C :: GLenum

    pattern $mGL_SAMPLER_CUBE_MAP_ARRAY_SHADOW :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLER_CUBE_MAP_ARRAY_SHADOW :: GLenum
    GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW = 0x900D :: GLenum

    pattern $mGL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB :: GLenum
    GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB = 0x900D :: GLenum

    pattern $mGL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_EXT :: GLenum
    GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_EXT = 0x900D :: GLenum

    pattern $mGL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_OES :: GLenum
    GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_OES = 0x900D :: GLenum

    pattern $mGL_SAMPLER_CUBE_SHADOW :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLER_CUBE_SHADOW :: GLenum
    GL_SAMPLER_CUBE_SHADOW = 0x8DC5 :: GLenum

    pattern $mGL_SAMPLER_CUBE_SHADOW_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLER_CUBE_SHADOW_EXT :: GLenum
    GL_SAMPLER_CUBE_SHADOW_EXT = 0x8DC5 :: GLenum

    pattern $mGL_SAMPLER_CUBE_SHADOW_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLER_CUBE_SHADOW_NV :: GLenum
    GL_SAMPLER_CUBE_SHADOW_NV = 0x8DC5 :: GLenum

    pattern $mGL_SAMPLER_EXTERNAL_2D_Y2Y_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLER_EXTERNAL_2D_Y2Y_EXT :: GLenum
    GL_SAMPLER_EXTERNAL_2D_Y2Y_EXT = 0x8BE7 :: GLenum

    pattern $mGL_SAMPLER_EXTERNAL_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLER_EXTERNAL_OES :: GLenum
    GL_SAMPLER_EXTERNAL_OES = 0x8D66 :: GLenum

    pattern $mGL_SAMPLER_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLER_KHR :: GLenum
    GL_SAMPLER_KHR = 0x82E6 :: GLenum

    pattern $mGL_SAMPLER_OBJECT_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLER_OBJECT_AMD :: GLenum
    GL_SAMPLER_OBJECT_AMD = 0x9155 :: GLenum

    pattern $mGL_SAMPLER_RENDERBUFFER_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLER_RENDERBUFFER_NV :: GLenum
    GL_SAMPLER_RENDERBUFFER_NV = 0x8E56 :: GLenum

    pattern $mGL_SAMPLES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLES :: GLenum
    GL_SAMPLES = 0x80A9 :: GLenum

    pattern $mGL_SAMPLES_3DFX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLES_3DFX :: GLenum
    GL_SAMPLES_3DFX = 0x86B4 :: GLenum

    pattern $mGL_SAMPLES_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLES_ARB :: GLenum
    GL_SAMPLES_ARB = 0x80A9 :: GLenum

    pattern $mGL_SAMPLES_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLES_EXT :: GLenum
    GL_SAMPLES_EXT = 0x80A9 :: GLenum

    pattern $mGL_SAMPLES_PASSED :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLES_PASSED :: GLenum
    GL_SAMPLES_PASSED = 0x8914 :: GLenum

    pattern $mGL_SAMPLES_PASSED_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLES_PASSED_ARB :: GLenum
    GL_SAMPLES_PASSED_ARB = 0x8914 :: GLenum

    pattern $mGL_SAMPLES_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLES_SGIS :: GLenum
    GL_SAMPLES_SGIS = 0x80A9 :: GLenum

    pattern $mGL_SAMPLE_ALPHA_TO_COVERAGE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLE_ALPHA_TO_COVERAGE :: GLenum
    GL_SAMPLE_ALPHA_TO_COVERAGE = 0x809E :: GLenum

    pattern $mGL_SAMPLE_ALPHA_TO_COVERAGE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLE_ALPHA_TO_COVERAGE_ARB :: GLenum
    GL_SAMPLE_ALPHA_TO_COVERAGE_ARB = 0x809E :: GLenum

    pattern $mGL_SAMPLE_ALPHA_TO_MASK_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLE_ALPHA_TO_MASK_EXT :: GLenum
    GL_SAMPLE_ALPHA_TO_MASK_EXT = 0x809E :: GLenum

    pattern $mGL_SAMPLE_ALPHA_TO_MASK_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLE_ALPHA_TO_MASK_SGIS :: GLenum
    GL_SAMPLE_ALPHA_TO_MASK_SGIS = 0x809E :: GLenum

    pattern $mGL_SAMPLE_ALPHA_TO_ONE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLE_ALPHA_TO_ONE :: GLenum
    GL_SAMPLE_ALPHA_TO_ONE = 0x809F :: GLenum

    pattern $mGL_SAMPLE_ALPHA_TO_ONE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLE_ALPHA_TO_ONE_ARB :: GLenum
    GL_SAMPLE_ALPHA_TO_ONE_ARB = 0x809F :: GLenum

    pattern $mGL_SAMPLE_ALPHA_TO_ONE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLE_ALPHA_TO_ONE_EXT :: GLenum
    GL_SAMPLE_ALPHA_TO_ONE_EXT = 0x809F :: GLenum

    pattern $mGL_SAMPLE_ALPHA_TO_ONE_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLE_ALPHA_TO_ONE_SGIS :: GLenum
    GL_SAMPLE_ALPHA_TO_ONE_SGIS = 0x809F :: GLenum

    pattern $mGL_SAMPLE_BUFFERS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLE_BUFFERS :: GLenum
    GL_SAMPLE_BUFFERS = 0x80A8 :: GLenum

    pattern $mGL_SAMPLE_BUFFERS_3DFX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLE_BUFFERS_3DFX :: GLenum
    GL_SAMPLE_BUFFERS_3DFX = 0x86B3 :: GLenum

    pattern $mGL_SAMPLE_BUFFERS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLE_BUFFERS_ARB :: GLenum
    GL_SAMPLE_BUFFERS_ARB = 0x80A8 :: GLenum

    pattern $mGL_SAMPLE_BUFFERS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLE_BUFFERS_EXT :: GLenum
    GL_SAMPLE_BUFFERS_EXT = 0x80A8 :: GLenum

    pattern $mGL_SAMPLE_BUFFERS_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLE_BUFFERS_SGIS :: GLenum
    GL_SAMPLE_BUFFERS_SGIS = 0x80A8 :: GLenum

    pattern $mGL_SAMPLE_COVERAGE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLE_COVERAGE :: GLenum
    GL_SAMPLE_COVERAGE = 0x80A0 :: GLenum

    pattern $mGL_SAMPLE_COVERAGE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLE_COVERAGE_ARB :: GLenum
    GL_SAMPLE_COVERAGE_ARB = 0x80A0 :: GLenum

    pattern $mGL_SAMPLE_COVERAGE_INVERT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLE_COVERAGE_INVERT :: GLenum
    GL_SAMPLE_COVERAGE_INVERT = 0x80AB :: GLenum

    pattern $mGL_SAMPLE_COVERAGE_INVERT_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLE_COVERAGE_INVERT_ARB :: GLenum
    GL_SAMPLE_COVERAGE_INVERT_ARB = 0x80AB :: GLenum

    pattern $mGL_SAMPLE_COVERAGE_VALUE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLE_COVERAGE_VALUE :: GLenum
    GL_SAMPLE_COVERAGE_VALUE = 0x80AA :: GLenum

    pattern $mGL_SAMPLE_COVERAGE_VALUE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLE_COVERAGE_VALUE_ARB :: GLenum
    GL_SAMPLE_COVERAGE_VALUE_ARB = 0x80AA :: GLenum

    pattern $mGL_SAMPLE_LOCATION_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLE_LOCATION_ARB :: GLenum
    GL_SAMPLE_LOCATION_ARB = 0x8E50 :: GLenum

    pattern $mGL_SAMPLE_LOCATION_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLE_LOCATION_NV :: GLenum
    GL_SAMPLE_LOCATION_NV = 0x8E50 :: GLenum

    pattern $mGL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_ARB :: GLenum
    GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_ARB = 0x933F :: GLenum

    pattern $mGL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_NV :: GLenum
    GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_NV = 0x933F :: GLenum

    pattern $mGL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_ARB :: GLenum
    GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_ARB = 0x933E :: GLenum

    pattern $mGL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_NV :: GLenum
    GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_NV = 0x933E :: GLenum

    pattern $mGL_SAMPLE_LOCATION_SUBPIXEL_BITS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLE_LOCATION_SUBPIXEL_BITS_ARB :: GLenum
    GL_SAMPLE_LOCATION_SUBPIXEL_BITS_ARB = 0x933D :: GLenum

    pattern $mGL_SAMPLE_LOCATION_SUBPIXEL_BITS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLE_LOCATION_SUBPIXEL_BITS_NV :: GLenum
    GL_SAMPLE_LOCATION_SUBPIXEL_BITS_NV = 0x933D :: GLenum

    pattern $mGL_SAMPLE_MASK :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLE_MASK :: GLenum
    GL_SAMPLE_MASK = 0x8E51 :: GLenum

    pattern $mGL_SAMPLE_MASK_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLE_MASK_EXT :: GLenum
    GL_SAMPLE_MASK_EXT = 0x80A0 :: GLenum

    pattern $mGL_SAMPLE_MASK_INVERT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLE_MASK_INVERT_EXT :: GLenum
    GL_SAMPLE_MASK_INVERT_EXT = 0x80AB :: GLenum

    pattern $mGL_SAMPLE_MASK_INVERT_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLE_MASK_INVERT_SGIS :: GLenum
    GL_SAMPLE_MASK_INVERT_SGIS = 0x80AB :: GLenum

    pattern $mGL_SAMPLE_MASK_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLE_MASK_NV :: GLenum
    GL_SAMPLE_MASK_NV = 0x8E51 :: GLenum

    pattern $mGL_SAMPLE_MASK_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLE_MASK_SGIS :: GLenum
    GL_SAMPLE_MASK_SGIS = 0x80A0 :: GLenum

    pattern $mGL_SAMPLE_MASK_VALUE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLE_MASK_VALUE :: GLenum
    GL_SAMPLE_MASK_VALUE = 0x8E52 :: GLenum

    pattern $mGL_SAMPLE_MASK_VALUE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLE_MASK_VALUE_EXT :: GLenum
    GL_SAMPLE_MASK_VALUE_EXT = 0x80AA :: GLenum

    pattern $mGL_SAMPLE_MASK_VALUE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLE_MASK_VALUE_NV :: GLenum
    GL_SAMPLE_MASK_VALUE_NV = 0x8E52 :: GLenum

    pattern $mGL_SAMPLE_MASK_VALUE_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLE_MASK_VALUE_SGIS :: GLenum
    GL_SAMPLE_MASK_VALUE_SGIS = 0x80AA :: GLenum

    pattern $mGL_SAMPLE_PATTERN_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLE_PATTERN_EXT :: GLenum
    GL_SAMPLE_PATTERN_EXT = 0x80AC :: GLenum

    pattern $mGL_SAMPLE_PATTERN_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLE_PATTERN_SGIS :: GLenum
    GL_SAMPLE_PATTERN_SGIS = 0x80AC :: GLenum

    pattern $mGL_SAMPLE_POSITION :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLE_POSITION :: GLenum
    GL_SAMPLE_POSITION = 0x8E50 :: GLenum

    pattern $mGL_SAMPLE_POSITION_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLE_POSITION_NV :: GLenum
    GL_SAMPLE_POSITION_NV = 0x8E50 :: GLenum

    pattern $mGL_SAMPLE_SHADING :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLE_SHADING :: GLenum
    GL_SAMPLE_SHADING = 0x8C36 :: GLenum

    pattern $mGL_SAMPLE_SHADING_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLE_SHADING_ARB :: GLenum
    GL_SAMPLE_SHADING_ARB = 0x8C36 :: GLenum

    pattern $mGL_SAMPLE_SHADING_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SAMPLE_SHADING_OES :: GLenum
    GL_SAMPLE_SHADING_OES = 0x8C36 :: GLenum

    pattern $mGL_SATURATE_BIT_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SATURATE_BIT_ATI :: GLenum
    GL_SATURATE_BIT_ATI = 0x00000040 :: GLbitfield

    pattern $mGL_SCALAR_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SCALAR_EXT :: GLenum
    GL_SCALAR_EXT = 0x87BE :: GLenum

    pattern $mGL_SCALEBIAS_HINT_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SCALEBIAS_HINT_SGIX :: GLenum
    GL_SCALEBIAS_HINT_SGIX = 0x8322 :: GLenum

    pattern $mGL_SCALED_RESOLVE_FASTEST_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SCALED_RESOLVE_FASTEST_EXT :: GLenum
    GL_SCALED_RESOLVE_FASTEST_EXT = 0x90BA :: GLenum

    pattern $mGL_SCALED_RESOLVE_NICEST_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SCALED_RESOLVE_NICEST_EXT :: GLenum
    GL_SCALED_RESOLVE_NICEST_EXT = 0x90BB :: GLenum

    pattern $mGL_SCALE_BY_FOUR_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SCALE_BY_FOUR_NV :: GLenum
    GL_SCALE_BY_FOUR_NV = 0x853F :: GLenum

    pattern $mGL_SCALE_BY_ONE_HALF_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SCALE_BY_ONE_HALF_NV :: GLenum
    GL_SCALE_BY_ONE_HALF_NV = 0x8540 :: GLenum

    pattern $mGL_SCALE_BY_TWO_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SCALE_BY_TWO_NV :: GLenum
    GL_SCALE_BY_TWO_NV = 0x853E :: GLenum

    pattern $mGL_SCISSOR_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SCISSOR_BIT :: GLenum
    GL_SCISSOR_BIT = 0x00080000 :: GLbitfield

    pattern $mGL_SCISSOR_BOX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SCISSOR_BOX :: GLenum
    GL_SCISSOR_BOX = 0x0C10 :: GLenum

    pattern $mGL_SCISSOR_BOX_EXCLUSIVE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SCISSOR_BOX_EXCLUSIVE_NV :: GLenum
    GL_SCISSOR_BOX_EXCLUSIVE_NV = 0x9556 :: GLenum

    pattern $mGL_SCISSOR_COMMAND_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SCISSOR_COMMAND_NV :: GLenum
    GL_SCISSOR_COMMAND_NV = 0x0011 :: GLenum

    pattern $mGL_SCISSOR_TEST :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SCISSOR_TEST :: GLenum
    GL_SCISSOR_TEST = 0x0C11 :: GLenum

    pattern $mGL_SCISSOR_TEST_EXCLUSIVE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SCISSOR_TEST_EXCLUSIVE_NV :: GLenum
    GL_SCISSOR_TEST_EXCLUSIVE_NV = 0x9555 :: GLenum

    pattern $mGL_SCREEN :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SCREEN :: GLenum
    GL_SCREEN = 0x9295 :: GLenum

    pattern $mGL_SCREEN_COORDINATES_REND :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SCREEN_COORDINATES_REND :: GLenum
    GL_SCREEN_COORDINATES_REND = 0x8490 :: GLenum

    pattern $mGL_SCREEN_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SCREEN_KHR :: GLenum
    GL_SCREEN_KHR = 0x9295 :: GLenum

    pattern $mGL_SCREEN_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SCREEN_NV :: GLenum
    GL_SCREEN_NV = 0x9295 :: GLenum

    pattern $mGL_SECONDARY_COLOR_ARRAY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SECONDARY_COLOR_ARRAY :: GLenum
    GL_SECONDARY_COLOR_ARRAY = 0x845E :: GLenum

    pattern $mGL_SECONDARY_COLOR_ARRAY_ADDRESS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SECONDARY_COLOR_ARRAY_ADDRESS_NV :: GLenum
    GL_SECONDARY_COLOR_ARRAY_ADDRESS_NV = 0x8F27 :: GLenum

    pattern $mGL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING :: GLenum
    GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING = 0x889C :: GLenum

    pattern $mGL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB :: GLenum
    GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB = 0x889C :: GLenum

    pattern $mGL_SECONDARY_COLOR_ARRAY_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SECONDARY_COLOR_ARRAY_EXT :: GLenum
    GL_SECONDARY_COLOR_ARRAY_EXT = 0x845E :: GLenum

    pattern $mGL_SECONDARY_COLOR_ARRAY_LENGTH_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SECONDARY_COLOR_ARRAY_LENGTH_NV :: GLenum
    GL_SECONDARY_COLOR_ARRAY_LENGTH_NV = 0x8F31 :: GLenum

    pattern $mGL_SECONDARY_COLOR_ARRAY_LIST_IBM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SECONDARY_COLOR_ARRAY_LIST_IBM :: GLenum
    GL_SECONDARY_COLOR_ARRAY_LIST_IBM = 103077 :: GLenum

    pattern $mGL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM :: GLenum
    GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM = 103087 :: GLenum

    pattern $mGL_SECONDARY_COLOR_ARRAY_POINTER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SECONDARY_COLOR_ARRAY_POINTER :: GLenum
    GL_SECONDARY_COLOR_ARRAY_POINTER = 0x845D :: GLenum

    pattern $mGL_SECONDARY_COLOR_ARRAY_POINTER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SECONDARY_COLOR_ARRAY_POINTER_EXT :: GLenum
    GL_SECONDARY_COLOR_ARRAY_POINTER_EXT = 0x845D :: GLenum

    pattern $mGL_SECONDARY_COLOR_ARRAY_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SECONDARY_COLOR_ARRAY_SIZE :: GLenum
    GL_SECONDARY_COLOR_ARRAY_SIZE = 0x845A :: GLenum

    pattern $mGL_SECONDARY_COLOR_ARRAY_SIZE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SECONDARY_COLOR_ARRAY_SIZE_EXT :: GLenum
    GL_SECONDARY_COLOR_ARRAY_SIZE_EXT = 0x845A :: GLenum

    pattern $mGL_SECONDARY_COLOR_ARRAY_STRIDE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SECONDARY_COLOR_ARRAY_STRIDE :: GLenum
    GL_SECONDARY_COLOR_ARRAY_STRIDE = 0x845C :: GLenum

    pattern $mGL_SECONDARY_COLOR_ARRAY_STRIDE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SECONDARY_COLOR_ARRAY_STRIDE_EXT :: GLenum
    GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT = 0x845C :: GLenum

    pattern $mGL_SECONDARY_COLOR_ARRAY_TYPE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SECONDARY_COLOR_ARRAY_TYPE :: GLenum
    GL_SECONDARY_COLOR_ARRAY_TYPE = 0x845B :: GLenum

    pattern $mGL_SECONDARY_COLOR_ARRAY_TYPE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SECONDARY_COLOR_ARRAY_TYPE_EXT :: GLenum
    GL_SECONDARY_COLOR_ARRAY_TYPE_EXT = 0x845B :: GLenum

    pattern $mGL_SECONDARY_COLOR_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SECONDARY_COLOR_NV :: GLenum
    GL_SECONDARY_COLOR_NV = 0x852D :: GLenum

    pattern $mGL_SECONDARY_INTERPOLATOR_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SECONDARY_INTERPOLATOR_ATI :: GLenum
    GL_SECONDARY_INTERPOLATOR_ATI = 0x896D :: GLenum

    pattern $mGL_SELECT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SELECT :: GLenum
    GL_SELECT = 0x1C02 :: GLenum

    pattern $mGL_SELECTION_BUFFER_POINTER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SELECTION_BUFFER_POINTER :: GLenum
    GL_SELECTION_BUFFER_POINTER = 0x0DF3 :: GLenum

    pattern $mGL_SELECTION_BUFFER_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SELECTION_BUFFER_SIZE :: GLenum
    GL_SELECTION_BUFFER_SIZE = 0x0DF4 :: GLenum

    pattern $mGL_SEPARABLE_2D :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SEPARABLE_2D :: GLenum
    GL_SEPARABLE_2D = 0x8012 :: GLenum

    pattern $mGL_SEPARABLE_2D_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SEPARABLE_2D_EXT :: GLenum
    GL_SEPARABLE_2D_EXT = 0x8012 :: GLenum

    pattern $mGL_SEPARATE_ATTRIBS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SEPARATE_ATTRIBS :: GLenum
    GL_SEPARATE_ATTRIBS = 0x8C8D :: GLenum

    pattern $mGL_SEPARATE_ATTRIBS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SEPARATE_ATTRIBS_EXT :: GLenum
    GL_SEPARATE_ATTRIBS_EXT = 0x8C8D :: GLenum

    pattern $mGL_SEPARATE_ATTRIBS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SEPARATE_ATTRIBS_NV :: GLenum
    GL_SEPARATE_ATTRIBS_NV = 0x8C8D :: GLenum

    pattern $mGL_SEPARATE_SPECULAR_COLOR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SEPARATE_SPECULAR_COLOR :: GLenum
    GL_SEPARATE_SPECULAR_COLOR = 0x81FA :: GLenum

    pattern $mGL_SEPARATE_SPECULAR_COLOR_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SEPARATE_SPECULAR_COLOR_EXT :: GLenum
    GL_SEPARATE_SPECULAR_COLOR_EXT = 0x81FA :: GLenum

    pattern $mGL_SET :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SET :: GLenum
    GL_SET = 0x150F :: GLenum

    pattern $mGL_SET_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SET_AMD :: GLenum
    GL_SET_AMD = 0x874A :: GLenum

    pattern $mGL_SGX_BINARY_IMG :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SGX_BINARY_IMG :: GLenum
    GL_SGX_BINARY_IMG = 0x8C0A :: GLenum

    pattern $mGL_SGX_PROGRAM_BINARY_IMG :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SGX_PROGRAM_BINARY_IMG :: GLenum
    GL_SGX_PROGRAM_BINARY_IMG = 0x9130 :: GLenum

    pattern $mGL_SHADER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHADER :: GLenum
    GL_SHADER = 0x82E1 :: GLenum

    pattern $mGL_SHADER_BINARY_DMP :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHADER_BINARY_DMP :: GLenum
    GL_SHADER_BINARY_DMP = 0x9250 :: GLenum

    pattern $mGL_SHADER_BINARY_FORMATS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHADER_BINARY_FORMATS :: GLenum
    GL_SHADER_BINARY_FORMATS = 0x8DF8 :: GLenum

    pattern $mGL_SHADER_BINARY_FORMAT_SPIR_V :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHADER_BINARY_FORMAT_SPIR_V :: GLenum
    GL_SHADER_BINARY_FORMAT_SPIR_V = 0x9551 :: GLenum

    pattern $mGL_SHADER_BINARY_FORMAT_SPIR_V_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHADER_BINARY_FORMAT_SPIR_V_ARB :: GLenum
    GL_SHADER_BINARY_FORMAT_SPIR_V_ARB = 0x9551 :: GLenum

    pattern $mGL_SHADER_BINARY_VIV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHADER_BINARY_VIV :: GLenum
    GL_SHADER_BINARY_VIV = 0x8FC4 :: GLenum

    pattern $mGL_SHADER_COMPILER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHADER_COMPILER :: GLenum
    GL_SHADER_COMPILER = 0x8DFA :: GLenum

    pattern $mGL_SHADER_CONSISTENT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHADER_CONSISTENT_NV :: GLenum
    GL_SHADER_CONSISTENT_NV = 0x86DD :: GLenum

    pattern $mGL_SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV :: GLenum
    GL_SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV = 0x00000010 :: GLbitfield

    pattern $mGL_SHADER_IMAGE_ACCESS_BARRIER_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHADER_IMAGE_ACCESS_BARRIER_BIT :: GLenum
    GL_SHADER_IMAGE_ACCESS_BARRIER_BIT = 0x00000020 :: GLbitfield

    pattern $mGL_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT :: GLenum
    GL_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT = 0x00000020 :: GLbitfield

    pattern $mGL_SHADER_IMAGE_ATOMIC :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHADER_IMAGE_ATOMIC :: GLenum
    GL_SHADER_IMAGE_ATOMIC = 0x82A6 :: GLenum

    pattern $mGL_SHADER_IMAGE_LOAD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHADER_IMAGE_LOAD :: GLenum
    GL_SHADER_IMAGE_LOAD = 0x82A4 :: GLenum

    pattern $mGL_SHADER_IMAGE_STORE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHADER_IMAGE_STORE :: GLenum
    GL_SHADER_IMAGE_STORE = 0x82A5 :: GLenum

    pattern $mGL_SHADER_INCLUDE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHADER_INCLUDE_ARB :: GLenum
    GL_SHADER_INCLUDE_ARB = 0x8DAE :: GLenum

    pattern $mGL_SHADER_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHADER_KHR :: GLenum
    GL_SHADER_KHR = 0x82E1 :: GLenum

    pattern $mGL_SHADER_OBJECT_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHADER_OBJECT_ARB :: GLenum
    GL_SHADER_OBJECT_ARB = 0x8B48 :: GLenum

    pattern $mGL_SHADER_OBJECT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHADER_OBJECT_EXT :: GLenum
    GL_SHADER_OBJECT_EXT = 0x8B48 :: GLenum

    pattern $mGL_SHADER_OPERATION_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHADER_OPERATION_NV :: GLenum
    GL_SHADER_OPERATION_NV = 0x86DF :: GLenum

    pattern $mGL_SHADER_PIXEL_LOCAL_STORAGE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHADER_PIXEL_LOCAL_STORAGE_EXT :: GLenum
    GL_SHADER_PIXEL_LOCAL_STORAGE_EXT = 0x8F64 :: GLenum

    pattern $mGL_SHADER_SOURCE_LENGTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHADER_SOURCE_LENGTH :: GLenum
    GL_SHADER_SOURCE_LENGTH = 0x8B88 :: GLenum

    pattern $mGL_SHADER_STORAGE_BARRIER_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHADER_STORAGE_BARRIER_BIT :: GLenum
    GL_SHADER_STORAGE_BARRIER_BIT = 0x00002000 :: GLbitfield

    pattern $mGL_SHADER_STORAGE_BLOCK :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHADER_STORAGE_BLOCK :: GLenum
    GL_SHADER_STORAGE_BLOCK = 0x92E6 :: GLenum

    pattern $mGL_SHADER_STORAGE_BUFFER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHADER_STORAGE_BUFFER :: GLenum
    GL_SHADER_STORAGE_BUFFER = 0x90D2 :: GLenum

    pattern $mGL_SHADER_STORAGE_BUFFER_BINDING :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHADER_STORAGE_BUFFER_BINDING :: GLenum
    GL_SHADER_STORAGE_BUFFER_BINDING = 0x90D3 :: GLenum

    pattern $mGL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT :: GLenum
    GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT = 0x90DF :: GLenum

    pattern $mGL_SHADER_STORAGE_BUFFER_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHADER_STORAGE_BUFFER_SIZE :: GLenum
    GL_SHADER_STORAGE_BUFFER_SIZE = 0x90D5 :: GLenum

    pattern $mGL_SHADER_STORAGE_BUFFER_START :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHADER_STORAGE_BUFFER_START :: GLenum
    GL_SHADER_STORAGE_BUFFER_START = 0x90D4 :: GLenum

    pattern $mGL_SHADER_TYPE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHADER_TYPE :: GLenum
    GL_SHADER_TYPE = 0x8B4F :: GLenum

    pattern $mGL_SHADE_MODEL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHADE_MODEL :: GLenum
    GL_SHADE_MODEL = 0x0B54 :: GLenum

    pattern $mGL_SHADING_LANGUAGE_VERSION :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHADING_LANGUAGE_VERSION :: GLenum
    GL_SHADING_LANGUAGE_VERSION = 0x8B8C :: GLenum

    pattern $mGL_SHADING_LANGUAGE_VERSION_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHADING_LANGUAGE_VERSION_ARB :: GLenum
    GL_SHADING_LANGUAGE_VERSION_ARB = 0x8B8C :: GLenum

    pattern $mGL_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV :: GLenum
    GL_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV = 0x956F :: GLenum

    pattern $mGL_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV :: GLenum
    GL_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV = 0x9566 :: GLenum

    pattern $mGL_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV :: GLenum
    GL_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV = 0x9567 :: GLenum

    pattern $mGL_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV :: GLenum
    GL_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV = 0x9568 :: GLenum

    pattern $mGL_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV :: GLenum
    GL_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV = 0x9569 :: GLenum

    pattern $mGL_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV :: GLenum
    GL_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV = 0x956A :: GLenum

    pattern $mGL_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV :: GLenum
    GL_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV = 0x956B :: GLenum

    pattern $mGL_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV :: GLenum
    GL_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV = 0x9565 :: GLenum

    pattern $mGL_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV :: GLenum
    GL_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV = 0x956C :: GLenum

    pattern $mGL_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV :: GLenum
    GL_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV = 0x956D :: GLenum

    pattern $mGL_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV :: GLenum
    GL_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV = 0x956E :: GLenum

    pattern $mGL_SHADING_RATE_IMAGE_BINDING_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHADING_RATE_IMAGE_BINDING_NV :: GLenum
    GL_SHADING_RATE_IMAGE_BINDING_NV = 0x955B :: GLenum

    pattern $mGL_SHADING_RATE_IMAGE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHADING_RATE_IMAGE_NV :: GLenum
    GL_SHADING_RATE_IMAGE_NV = 0x9563 :: GLenum

    pattern $mGL_SHADING_RATE_IMAGE_PALETTE_SIZE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHADING_RATE_IMAGE_PALETTE_SIZE_NV :: GLenum
    GL_SHADING_RATE_IMAGE_PALETTE_SIZE_NV = 0x955E :: GLenum

    pattern $mGL_SHADING_RATE_IMAGE_TEXEL_HEIGHT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHADING_RATE_IMAGE_TEXEL_HEIGHT_NV :: GLenum
    GL_SHADING_RATE_IMAGE_TEXEL_HEIGHT_NV = 0x955D :: GLenum

    pattern $mGL_SHADING_RATE_IMAGE_TEXEL_WIDTH_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHADING_RATE_IMAGE_TEXEL_WIDTH_NV :: GLenum
    GL_SHADING_RATE_IMAGE_TEXEL_WIDTH_NV = 0x955C :: GLenum

    pattern $mGL_SHADING_RATE_NO_INVOCATIONS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHADING_RATE_NO_INVOCATIONS_NV :: GLenum
    GL_SHADING_RATE_NO_INVOCATIONS_NV = 0x9564 :: GLenum

    pattern $mGL_SHADING_RATE_SAMPLE_ORDER_DEFAULT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHADING_RATE_SAMPLE_ORDER_DEFAULT_NV :: GLenum
    GL_SHADING_RATE_SAMPLE_ORDER_DEFAULT_NV = 0x95AE :: GLenum

    pattern $mGL_SHADING_RATE_SAMPLE_ORDER_PIXEL_MAJOR_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHADING_RATE_SAMPLE_ORDER_PIXEL_MAJOR_NV :: GLenum
    GL_SHADING_RATE_SAMPLE_ORDER_PIXEL_MAJOR_NV = 0x95AF :: GLenum

    pattern $mGL_SHADING_RATE_SAMPLE_ORDER_SAMPLE_MAJOR_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHADING_RATE_SAMPLE_ORDER_SAMPLE_MAJOR_NV :: GLenum
    GL_SHADING_RATE_SAMPLE_ORDER_SAMPLE_MAJOR_NV = 0x95B0 :: GLenum

    pattern $mGL_SHADOW_AMBIENT_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHADOW_AMBIENT_SGIX :: GLenum
    GL_SHADOW_AMBIENT_SGIX = 0x80BF :: GLenum

    pattern $mGL_SHADOW_ATTENUATION_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHADOW_ATTENUATION_EXT :: GLenum
    GL_SHADOW_ATTENUATION_EXT = 0x834E :: GLenum

    pattern $mGL_SHARED_EDGE_NV :: forall {r}. GLubyte -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHARED_EDGE_NV :: GLubyte
    GL_SHARED_EDGE_NV = 0xC0 :: GLubyte

    pattern $mGL_SHARED_TEXTURE_PALETTE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHARED_TEXTURE_PALETTE_EXT :: GLenum
    GL_SHARED_TEXTURE_PALETTE_EXT = 0x81FB :: GLenum

    pattern $mGL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS :: GLenum
    GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS = 0x80B0 :: GLenum

    pattern $mGL_SHININESS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHININESS :: GLenum
    GL_SHININESS = 0x1601 :: GLenum

    pattern $mGL_SHORT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SHORT :: GLenum
    GL_SHORT = 0x1402 :: GLenum

    pattern $mGL_SIGNALED :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SIGNALED :: GLenum
    GL_SIGNALED = 0x9119 :: GLenum

    pattern $mGL_SIGNALED_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SIGNALED_APPLE :: GLenum
    GL_SIGNALED_APPLE = 0x9119 :: GLenum

    pattern $mGL_SIGNED_ALPHA8_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SIGNED_ALPHA8_NV :: GLenum
    GL_SIGNED_ALPHA8_NV = 0x8706 :: GLenum

    pattern $mGL_SIGNED_ALPHA_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SIGNED_ALPHA_NV :: GLenum
    GL_SIGNED_ALPHA_NV = 0x8705 :: GLenum

    pattern $mGL_SIGNED_HILO16_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SIGNED_HILO16_NV :: GLenum
    GL_SIGNED_HILO16_NV = 0x86FA :: GLenum

    pattern $mGL_SIGNED_HILO8_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SIGNED_HILO8_NV :: GLenum
    GL_SIGNED_HILO8_NV = 0x885F :: GLenum

    pattern $mGL_SIGNED_HILO_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SIGNED_HILO_NV :: GLenum
    GL_SIGNED_HILO_NV = 0x86F9 :: GLenum

    pattern $mGL_SIGNED_IDENTITY_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SIGNED_IDENTITY_NV :: GLenum
    GL_SIGNED_IDENTITY_NV = 0x853C :: GLenum

    pattern $mGL_SIGNED_INTENSITY8_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SIGNED_INTENSITY8_NV :: GLenum
    GL_SIGNED_INTENSITY8_NV = 0x8708 :: GLenum

    pattern $mGL_SIGNED_INTENSITY_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SIGNED_INTENSITY_NV :: GLenum
    GL_SIGNED_INTENSITY_NV = 0x8707 :: GLenum

    pattern $mGL_SIGNED_LUMINANCE8_ALPHA8_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SIGNED_LUMINANCE8_ALPHA8_NV :: GLenum
    GL_SIGNED_LUMINANCE8_ALPHA8_NV = 0x8704 :: GLenum

    pattern $mGL_SIGNED_LUMINANCE8_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SIGNED_LUMINANCE8_NV :: GLenum
    GL_SIGNED_LUMINANCE8_NV = 0x8702 :: GLenum

    pattern $mGL_SIGNED_LUMINANCE_ALPHA_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SIGNED_LUMINANCE_ALPHA_NV :: GLenum
    GL_SIGNED_LUMINANCE_ALPHA_NV = 0x8703 :: GLenum

    pattern $mGL_SIGNED_LUMINANCE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SIGNED_LUMINANCE_NV :: GLenum
    GL_SIGNED_LUMINANCE_NV = 0x8701 :: GLenum

    pattern $mGL_SIGNED_NEGATE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SIGNED_NEGATE_NV :: GLenum
    GL_SIGNED_NEGATE_NV = 0x853D :: GLenum

    pattern $mGL_SIGNED_NORMALIZED :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SIGNED_NORMALIZED :: GLenum
    GL_SIGNED_NORMALIZED = 0x8F9C :: GLenum

    pattern $mGL_SIGNED_RGB8_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SIGNED_RGB8_NV :: GLenum
    GL_SIGNED_RGB8_NV = 0x86FF :: GLenum

    pattern $mGL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV :: GLenum
    GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV = 0x870D :: GLenum

    pattern $mGL_SIGNED_RGBA8_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SIGNED_RGBA8_NV :: GLenum
    GL_SIGNED_RGBA8_NV = 0x86FC :: GLenum

    pattern $mGL_SIGNED_RGBA_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SIGNED_RGBA_NV :: GLenum
    GL_SIGNED_RGBA_NV = 0x86FB :: GLenum

    pattern $mGL_SIGNED_RGB_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SIGNED_RGB_NV :: GLenum
    GL_SIGNED_RGB_NV = 0x86FE :: GLenum

    pattern $mGL_SIGNED_RGB_UNSIGNED_ALPHA_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SIGNED_RGB_UNSIGNED_ALPHA_NV :: GLenum
    GL_SIGNED_RGB_UNSIGNED_ALPHA_NV = 0x870C :: GLenum

    pattern $mGL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST :: GLenum
    GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST = 0x82AC :: GLenum

    pattern $mGL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE :: GLenum
    GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE = 0x82AE :: GLenum

    pattern $mGL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST :: GLenum
    GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST = 0x82AD :: GLenum

    pattern $mGL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE :: GLenum
    GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE = 0x82AF :: GLenum

    pattern $mGL_SINGLE_COLOR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SINGLE_COLOR :: GLenum
    GL_SINGLE_COLOR = 0x81F9 :: GLenum

    pattern $mGL_SINGLE_COLOR_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SINGLE_COLOR_EXT :: GLenum
    GL_SINGLE_COLOR_EXT = 0x81F9 :: GLenum

    pattern $mGL_SKIP_COMPONENTS1_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SKIP_COMPONENTS1_NV :: GLenum
    GL_SKIP_COMPONENTS1_NV = -6 :: GLenum

    pattern $mGL_SKIP_COMPONENTS2_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SKIP_COMPONENTS2_NV :: GLenum
    GL_SKIP_COMPONENTS2_NV = -5 :: GLenum

    pattern $mGL_SKIP_COMPONENTS3_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SKIP_COMPONENTS3_NV :: GLenum
    GL_SKIP_COMPONENTS3_NV = -4 :: GLenum

    pattern $mGL_SKIP_COMPONENTS4_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SKIP_COMPONENTS4_NV :: GLenum
    GL_SKIP_COMPONENTS4_NV = -3 :: GLenum

    pattern $mGL_SKIP_DECODE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SKIP_DECODE_EXT :: GLenum
    GL_SKIP_DECODE_EXT = 0x8A4A :: GLenum

    pattern $mGL_SKIP_MISSING_GLYPH_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SKIP_MISSING_GLYPH_NV :: GLenum
    GL_SKIP_MISSING_GLYPH_NV = 0x90A9 :: GLenum

    pattern $mGL_SLICE_ACCUM_SUN :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SLICE_ACCUM_SUN :: GLenum
    GL_SLICE_ACCUM_SUN = 0x85CC :: GLenum

    pattern $mGL_SLIM10U_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SLIM10U_SGIX :: GLenum
    GL_SLIM10U_SGIX = 0x831E :: GLenum

    pattern $mGL_SLIM12S_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SLIM12S_SGIX :: GLenum
    GL_SLIM12S_SGIX = 0x831F :: GLenum

    pattern $mGL_SLIM8U_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SLIM8U_SGIX :: GLenum
    GL_SLIM8U_SGIX = 0x831D :: GLenum

    pattern $mGL_SLUMINANCE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SLUMINANCE :: GLenum
    GL_SLUMINANCE = 0x8C46 :: GLenum

    pattern $mGL_SLUMINANCE8 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SLUMINANCE8 :: GLenum
    GL_SLUMINANCE8 = 0x8C47 :: GLenum

    pattern $mGL_SLUMINANCE8_ALPHA8 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SLUMINANCE8_ALPHA8 :: GLenum
    GL_SLUMINANCE8_ALPHA8 = 0x8C45 :: GLenum

    pattern $mGL_SLUMINANCE8_ALPHA8_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SLUMINANCE8_ALPHA8_EXT :: GLenum
    GL_SLUMINANCE8_ALPHA8_EXT = 0x8C45 :: GLenum

    pattern $mGL_SLUMINANCE8_ALPHA8_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SLUMINANCE8_ALPHA8_NV :: GLenum
    GL_SLUMINANCE8_ALPHA8_NV = 0x8C45 :: GLenum

    pattern $mGL_SLUMINANCE8_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SLUMINANCE8_EXT :: GLenum
    GL_SLUMINANCE8_EXT = 0x8C47 :: GLenum

    pattern $mGL_SLUMINANCE8_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SLUMINANCE8_NV :: GLenum
    GL_SLUMINANCE8_NV = 0x8C47 :: GLenum

    pattern $mGL_SLUMINANCE_ALPHA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SLUMINANCE_ALPHA :: GLenum
    GL_SLUMINANCE_ALPHA = 0x8C44 :: GLenum

    pattern $mGL_SLUMINANCE_ALPHA_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SLUMINANCE_ALPHA_EXT :: GLenum
    GL_SLUMINANCE_ALPHA_EXT = 0x8C44 :: GLenum

    pattern $mGL_SLUMINANCE_ALPHA_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SLUMINANCE_ALPHA_NV :: GLenum
    GL_SLUMINANCE_ALPHA_NV = 0x8C44 :: GLenum

    pattern $mGL_SLUMINANCE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SLUMINANCE_EXT :: GLenum
    GL_SLUMINANCE_EXT = 0x8C46 :: GLenum

    pattern $mGL_SLUMINANCE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SLUMINANCE_NV :: GLenum
    GL_SLUMINANCE_NV = 0x8C46 :: GLenum

    pattern $mGL_SMALL_CCW_ARC_TO_NV :: forall {r}. GLubyte -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SMALL_CCW_ARC_TO_NV :: GLubyte
    GL_SMALL_CCW_ARC_TO_NV = 0x12 :: GLubyte

    pattern $mGL_SMALL_CW_ARC_TO_NV :: forall {r}. GLubyte -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SMALL_CW_ARC_TO_NV :: GLubyte
    GL_SMALL_CW_ARC_TO_NV = 0x14 :: GLubyte

    pattern $mGL_SMAPHS30_PROGRAM_BINARY_DMP :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SMAPHS30_PROGRAM_BINARY_DMP :: GLenum
    GL_SMAPHS30_PROGRAM_BINARY_DMP = 0x9251 :: GLenum

    pattern $mGL_SMAPHS_PROGRAM_BINARY_DMP :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SMAPHS_PROGRAM_BINARY_DMP :: GLenum
    GL_SMAPHS_PROGRAM_BINARY_DMP = 0x9252 :: GLenum

    pattern $mGL_SMOOTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SMOOTH :: GLenum
    GL_SMOOTH = 0x1D01 :: GLenum

    pattern $mGL_SMOOTH_CUBIC_CURVE_TO_NV :: forall {r}. GLubyte -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SMOOTH_CUBIC_CURVE_TO_NV :: GLubyte
    GL_SMOOTH_CUBIC_CURVE_TO_NV = 0x10 :: GLubyte

    pattern $mGL_SMOOTH_LINE_WIDTH_GRANULARITY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SMOOTH_LINE_WIDTH_GRANULARITY :: GLenum
    GL_SMOOTH_LINE_WIDTH_GRANULARITY = 0x0B23 :: GLenum

    pattern $mGL_SMOOTH_LINE_WIDTH_RANGE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SMOOTH_LINE_WIDTH_RANGE :: GLenum
    GL_SMOOTH_LINE_WIDTH_RANGE = 0x0B22 :: GLenum

    pattern $mGL_SMOOTH_POINT_SIZE_GRANULARITY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SMOOTH_POINT_SIZE_GRANULARITY :: GLenum
    GL_SMOOTH_POINT_SIZE_GRANULARITY = 0x0B13 :: GLenum

    pattern $mGL_SMOOTH_POINT_SIZE_RANGE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SMOOTH_POINT_SIZE_RANGE :: GLenum
    GL_SMOOTH_POINT_SIZE_RANGE = 0x0B12 :: GLenum

    pattern $mGL_SMOOTH_QUADRATIC_CURVE_TO_NV :: forall {r}. GLubyte -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SMOOTH_QUADRATIC_CURVE_TO_NV :: GLubyte
    GL_SMOOTH_QUADRATIC_CURVE_TO_NV = 0x0E :: GLubyte

    pattern $mGL_SM_COUNT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SM_COUNT_NV :: GLenum
    GL_SM_COUNT_NV = 0x933B :: GLenum

    pattern $mGL_SOFTLIGHT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SOFTLIGHT :: GLenum
    GL_SOFTLIGHT = 0x929C :: GLenum

    pattern $mGL_SOFTLIGHT_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SOFTLIGHT_KHR :: GLenum
    GL_SOFTLIGHT_KHR = 0x929C :: GLenum

    pattern $mGL_SOFTLIGHT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SOFTLIGHT_NV :: GLenum
    GL_SOFTLIGHT_NV = 0x929C :: GLenum

    pattern $mGL_SOURCE0_ALPHA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SOURCE0_ALPHA :: GLenum
    GL_SOURCE0_ALPHA = 0x8588 :: GLenum

    pattern $mGL_SOURCE0_ALPHA_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SOURCE0_ALPHA_ARB :: GLenum
    GL_SOURCE0_ALPHA_ARB = 0x8588 :: GLenum

    pattern $mGL_SOURCE0_ALPHA_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SOURCE0_ALPHA_EXT :: GLenum
    GL_SOURCE0_ALPHA_EXT = 0x8588 :: GLenum

    pattern $mGL_SOURCE0_RGB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SOURCE0_RGB :: GLenum
    GL_SOURCE0_RGB = 0x8580 :: GLenum

    pattern $mGL_SOURCE0_RGB_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SOURCE0_RGB_ARB :: GLenum
    GL_SOURCE0_RGB_ARB = 0x8580 :: GLenum

    pattern $mGL_SOURCE0_RGB_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SOURCE0_RGB_EXT :: GLenum
    GL_SOURCE0_RGB_EXT = 0x8580 :: GLenum

    pattern $mGL_SOURCE1_ALPHA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SOURCE1_ALPHA :: GLenum
    GL_SOURCE1_ALPHA = 0x8589 :: GLenum

    pattern $mGL_SOURCE1_ALPHA_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SOURCE1_ALPHA_ARB :: GLenum
    GL_SOURCE1_ALPHA_ARB = 0x8589 :: GLenum

    pattern $mGL_SOURCE1_ALPHA_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SOURCE1_ALPHA_EXT :: GLenum
    GL_SOURCE1_ALPHA_EXT = 0x8589 :: GLenum

    pattern $mGL_SOURCE1_RGB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SOURCE1_RGB :: GLenum
    GL_SOURCE1_RGB = 0x8581 :: GLenum

    pattern $mGL_SOURCE1_RGB_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SOURCE1_RGB_ARB :: GLenum
    GL_SOURCE1_RGB_ARB = 0x8581 :: GLenum

    pattern $mGL_SOURCE1_RGB_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SOURCE1_RGB_EXT :: GLenum
    GL_SOURCE1_RGB_EXT = 0x8581 :: GLenum

    pattern $mGL_SOURCE2_ALPHA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SOURCE2_ALPHA :: GLenum
    GL_SOURCE2_ALPHA = 0x858A :: GLenum

    pattern $mGL_SOURCE2_ALPHA_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SOURCE2_ALPHA_ARB :: GLenum
    GL_SOURCE2_ALPHA_ARB = 0x858A :: GLenum

    pattern $mGL_SOURCE2_ALPHA_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SOURCE2_ALPHA_EXT :: GLenum
    GL_SOURCE2_ALPHA_EXT = 0x858A :: GLenum

    pattern $mGL_SOURCE2_RGB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SOURCE2_RGB :: GLenum
    GL_SOURCE2_RGB = 0x8582 :: GLenum

    pattern $mGL_SOURCE2_RGB_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SOURCE2_RGB_ARB :: GLenum
    GL_SOURCE2_RGB_ARB = 0x8582 :: GLenum

    pattern $mGL_SOURCE2_RGB_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SOURCE2_RGB_EXT :: GLenum
    GL_SOURCE2_RGB_EXT = 0x8582 :: GLenum

    pattern $mGL_SOURCE3_ALPHA_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SOURCE3_ALPHA_NV :: GLenum
    GL_SOURCE3_ALPHA_NV = 0x858B :: GLenum

    pattern $mGL_SOURCE3_RGB_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SOURCE3_RGB_NV :: GLenum
    GL_SOURCE3_RGB_NV = 0x8583 :: GLenum

    pattern $mGL_SPARE0_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SPARE0_NV :: GLenum
    GL_SPARE0_NV = 0x852E :: GLenum

    pattern $mGL_SPARE0_PLUS_SECONDARY_COLOR_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SPARE0_PLUS_SECONDARY_COLOR_NV :: GLenum
    GL_SPARE0_PLUS_SECONDARY_COLOR_NV = 0x8532 :: GLenum

    pattern $mGL_SPARE1_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SPARE1_NV :: GLenum
    GL_SPARE1_NV = 0x852F :: GLenum

    pattern $mGL_SPARSE_BUFFER_PAGE_SIZE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SPARSE_BUFFER_PAGE_SIZE_ARB :: GLenum
    GL_SPARSE_BUFFER_PAGE_SIZE_ARB = 0x82F8 :: GLenum

    pattern $mGL_SPARSE_STORAGE_BIT_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SPARSE_STORAGE_BIT_ARB :: GLenum
    GL_SPARSE_STORAGE_BIT_ARB = 0x0400 :: GLbitfield

    pattern $mGL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB :: GLenum
    GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB = 0x91A9 :: GLenum

    pattern $mGL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_EXT :: GLenum
    GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_EXT = 0x91A9 :: GLenum

    pattern $mGL_SPECULAR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SPECULAR :: GLenum
    GL_SPECULAR = 0x1202 :: GLenum

    pattern $mGL_SPHERE_MAP :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SPHERE_MAP :: GLenum
    GL_SPHERE_MAP = 0x2402 :: GLenum

    pattern $mGL_SPIR_V_BINARY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SPIR_V_BINARY :: GLenum
    GL_SPIR_V_BINARY = 0x9552 :: GLenum

    pattern $mGL_SPIR_V_BINARY_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SPIR_V_BINARY_ARB :: GLenum
    GL_SPIR_V_BINARY_ARB = 0x9552 :: GLenum

    pattern $mGL_SPIR_V_EXTENSIONS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SPIR_V_EXTENSIONS :: GLenum
    GL_SPIR_V_EXTENSIONS = 0x9553 :: GLenum

    pattern $mGL_SPOT_CUTOFF :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SPOT_CUTOFF :: GLenum
    GL_SPOT_CUTOFF = 0x1206 :: GLenum

    pattern $mGL_SPOT_DIRECTION :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SPOT_DIRECTION :: GLenum
    GL_SPOT_DIRECTION = 0x1204 :: GLenum

    pattern $mGL_SPOT_EXPONENT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SPOT_EXPONENT :: GLenum
    GL_SPOT_EXPONENT = 0x1205 :: GLenum

    pattern $mGL_SPRITE_AXIAL_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SPRITE_AXIAL_SGIX :: GLenum
    GL_SPRITE_AXIAL_SGIX = 0x814C :: GLenum

    pattern $mGL_SPRITE_AXIS_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SPRITE_AXIS_SGIX :: GLenum
    GL_SPRITE_AXIS_SGIX = 0x814A :: GLenum

    pattern $mGL_SPRITE_EYE_ALIGNED_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SPRITE_EYE_ALIGNED_SGIX :: GLenum
    GL_SPRITE_EYE_ALIGNED_SGIX = 0x814E :: GLenum

    pattern $mGL_SPRITE_MODE_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SPRITE_MODE_SGIX :: GLenum
    GL_SPRITE_MODE_SGIX = 0x8149 :: GLenum

    pattern $mGL_SPRITE_OBJECT_ALIGNED_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SPRITE_OBJECT_ALIGNED_SGIX :: GLenum
    GL_SPRITE_OBJECT_ALIGNED_SGIX = 0x814D :: GLenum

    pattern $mGL_SPRITE_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SPRITE_SGIX :: GLenum
    GL_SPRITE_SGIX = 0x8148 :: GLenum

    pattern $mGL_SPRITE_TRANSLATION_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SPRITE_TRANSLATION_SGIX :: GLenum
    GL_SPRITE_TRANSLATION_SGIX = 0x814B :: GLenum

    pattern $mGL_SQUARE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SQUARE_NV :: GLenum
    GL_SQUARE_NV = 0x90A3 :: GLenum

    pattern $mGL_SR8_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SR8_EXT :: GLenum
    GL_SR8_EXT = 0x8FBD :: GLenum

    pattern $mGL_SRC0_ALPHA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SRC0_ALPHA :: GLenum
    GL_SRC0_ALPHA = 0x8588 :: GLenum

    pattern $mGL_SRC0_RGB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SRC0_RGB :: GLenum
    GL_SRC0_RGB = 0x8580 :: GLenum

    pattern $mGL_SRC1_ALPHA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SRC1_ALPHA :: GLenum
    GL_SRC1_ALPHA = 0x8589 :: GLenum

    pattern $mGL_SRC1_ALPHA_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SRC1_ALPHA_EXT :: GLenum
    GL_SRC1_ALPHA_EXT = 0x8589 :: GLenum

    pattern $mGL_SRC1_COLOR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SRC1_COLOR :: GLenum
    GL_SRC1_COLOR = 0x88F9 :: GLenum

    pattern $mGL_SRC1_COLOR_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SRC1_COLOR_EXT :: GLenum
    GL_SRC1_COLOR_EXT = 0x88F9 :: GLenum

    pattern $mGL_SRC1_RGB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SRC1_RGB :: GLenum
    GL_SRC1_RGB = 0x8581 :: GLenum

    pattern $mGL_SRC2_ALPHA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SRC2_ALPHA :: GLenum
    GL_SRC2_ALPHA = 0x858A :: GLenum

    pattern $mGL_SRC2_RGB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SRC2_RGB :: GLenum
    GL_SRC2_RGB = 0x8582 :: GLenum

    pattern $mGL_SRC_ALPHA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SRC_ALPHA :: GLenum
    GL_SRC_ALPHA = 0x0302 :: GLenum

    pattern $mGL_SRC_ALPHA_SATURATE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SRC_ALPHA_SATURATE :: GLenum
    GL_SRC_ALPHA_SATURATE = 0x0308 :: GLenum

    pattern $mGL_SRC_ALPHA_SATURATE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SRC_ALPHA_SATURATE_EXT :: GLenum
    GL_SRC_ALPHA_SATURATE_EXT = 0x0308 :: GLenum

    pattern $mGL_SRC_ATOP_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SRC_ATOP_NV :: GLenum
    GL_SRC_ATOP_NV = 0x928E :: GLenum

    pattern $mGL_SRC_COLOR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SRC_COLOR :: GLenum
    GL_SRC_COLOR = 0x0300 :: GLenum

    pattern $mGL_SRC_IN_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SRC_IN_NV :: GLenum
    GL_SRC_IN_NV = 0x928A :: GLenum

    pattern $mGL_SRC_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SRC_NV :: GLenum
    GL_SRC_NV = 0x9286 :: GLenum

    pattern $mGL_SRC_OUT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SRC_OUT_NV :: GLenum
    GL_SRC_OUT_NV = 0x928C :: GLenum

    pattern $mGL_SRC_OVER_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SRC_OVER_NV :: GLenum
    GL_SRC_OVER_NV = 0x9288 :: GLenum

    pattern $mGL_SRG8_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SRG8_EXT :: GLenum
    GL_SRG8_EXT = 0x8FBE :: GLenum

    pattern $mGL_SRGB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SRGB :: GLenum
    GL_SRGB = 0x8C40 :: GLenum

    pattern $mGL_SRGB8 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SRGB8 :: GLenum
    GL_SRGB8 = 0x8C41 :: GLenum

    pattern $mGL_SRGB8_ALPHA8 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SRGB8_ALPHA8 :: GLenum
    GL_SRGB8_ALPHA8 = 0x8C43 :: GLenum

    pattern $mGL_SRGB8_ALPHA8_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SRGB8_ALPHA8_EXT :: GLenum
    GL_SRGB8_ALPHA8_EXT = 0x8C43 :: GLenum

    pattern $mGL_SRGB8_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SRGB8_EXT :: GLenum
    GL_SRGB8_EXT = 0x8C41 :: GLenum

    pattern $mGL_SRGB8_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SRGB8_NV :: GLenum
    GL_SRGB8_NV = 0x8C41 :: GLenum

    pattern $mGL_SRGB_ALPHA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SRGB_ALPHA :: GLenum
    GL_SRGB_ALPHA = 0x8C42 :: GLenum

    pattern $mGL_SRGB_ALPHA_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SRGB_ALPHA_EXT :: GLenum
    GL_SRGB_ALPHA_EXT = 0x8C42 :: GLenum

    pattern $mGL_SRGB_DECODE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SRGB_DECODE_ARB :: GLenum
    GL_SRGB_DECODE_ARB = 0x8299 :: GLenum

    pattern $mGL_SRGB_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SRGB_EXT :: GLenum
    GL_SRGB_EXT = 0x8C40 :: GLenum

    pattern $mGL_SRGB_READ :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SRGB_READ :: GLenum
    GL_SRGB_READ = 0x8297 :: GLenum

    pattern $mGL_SRGB_WRITE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SRGB_WRITE :: GLenum
    GL_SRGB_WRITE = 0x8298 :: GLenum

    pattern $mGL_STACK_OVERFLOW :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STACK_OVERFLOW :: GLenum
    GL_STACK_OVERFLOW = 0x0503 :: GLenum

    pattern $mGL_STACK_OVERFLOW_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STACK_OVERFLOW_KHR :: GLenum
    GL_STACK_OVERFLOW_KHR = 0x0503 :: GLenum

    pattern $mGL_STACK_UNDERFLOW :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STACK_UNDERFLOW :: GLenum
    GL_STACK_UNDERFLOW = 0x0504 :: GLenum

    pattern $mGL_STACK_UNDERFLOW_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STACK_UNDERFLOW_KHR :: GLenum
    GL_STACK_UNDERFLOW_KHR = 0x0504 :: GLenum

    pattern $mGL_STANDARD_FONT_FORMAT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STANDARD_FONT_FORMAT_NV :: GLenum
    GL_STANDARD_FONT_FORMAT_NV = 0x936C :: GLenum

    pattern $mGL_STANDARD_FONT_NAME_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STANDARD_FONT_NAME_NV :: GLenum
    GL_STANDARD_FONT_NAME_NV = 0x9072 :: GLenum

    pattern $mGL_STATE_RESTORE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STATE_RESTORE :: GLenum
    GL_STATE_RESTORE = 0x8BDC :: GLenum

    pattern $mGL_STATIC_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STATIC_ATI :: GLenum
    GL_STATIC_ATI = 0x8760 :: GLenum

    pattern $mGL_STATIC_COPY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STATIC_COPY :: GLenum
    GL_STATIC_COPY = 0x88E6 :: GLenum

    pattern $mGL_STATIC_COPY_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STATIC_COPY_ARB :: GLenum
    GL_STATIC_COPY_ARB = 0x88E6 :: GLenum

    pattern $mGL_STATIC_DRAW :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STATIC_DRAW :: GLenum
    GL_STATIC_DRAW = 0x88E4 :: GLenum

    pattern $mGL_STATIC_DRAW_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STATIC_DRAW_ARB :: GLenum
    GL_STATIC_DRAW_ARB = 0x88E4 :: GLenum

    pattern $mGL_STATIC_READ :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STATIC_READ :: GLenum
    GL_STATIC_READ = 0x88E5 :: GLenum

    pattern $mGL_STATIC_READ_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STATIC_READ_ARB :: GLenum
    GL_STATIC_READ_ARB = 0x88E5 :: GLenum

    pattern $mGL_STATIC_VERTEX_ARRAY_IBM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STATIC_VERTEX_ARRAY_IBM :: GLenum
    GL_STATIC_VERTEX_ARRAY_IBM = 103061 :: GLenum

    pattern $mGL_STENCIL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STENCIL :: GLenum
    GL_STENCIL = 0x1802 :: GLenum

    pattern $mGL_STENCIL_ATTACHMENT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STENCIL_ATTACHMENT :: GLenum
    GL_STENCIL_ATTACHMENT = 0x8D20 :: GLenum

    pattern $mGL_STENCIL_ATTACHMENT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STENCIL_ATTACHMENT_EXT :: GLenum
    GL_STENCIL_ATTACHMENT_EXT = 0x8D20 :: GLenum

    pattern $mGL_STENCIL_ATTACHMENT_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STENCIL_ATTACHMENT_OES :: GLenum
    GL_STENCIL_ATTACHMENT_OES = 0x8D20 :: GLenum

    pattern $mGL_STENCIL_BACK_FAIL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STENCIL_BACK_FAIL :: GLenum
    GL_STENCIL_BACK_FAIL = 0x8801 :: GLenum

    pattern $mGL_STENCIL_BACK_FAIL_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STENCIL_BACK_FAIL_ATI :: GLenum
    GL_STENCIL_BACK_FAIL_ATI = 0x8801 :: GLenum

    pattern $mGL_STENCIL_BACK_FUNC :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STENCIL_BACK_FUNC :: GLenum
    GL_STENCIL_BACK_FUNC = 0x8800 :: GLenum

    pattern $mGL_STENCIL_BACK_FUNC_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STENCIL_BACK_FUNC_ATI :: GLenum
    GL_STENCIL_BACK_FUNC_ATI = 0x8800 :: GLenum

    pattern $mGL_STENCIL_BACK_OP_VALUE_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STENCIL_BACK_OP_VALUE_AMD :: GLenum
    GL_STENCIL_BACK_OP_VALUE_AMD = 0x874D :: GLenum

    pattern $mGL_STENCIL_BACK_PASS_DEPTH_FAIL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STENCIL_BACK_PASS_DEPTH_FAIL :: GLenum
    GL_STENCIL_BACK_PASS_DEPTH_FAIL = 0x8802 :: GLenum

    pattern $mGL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI :: GLenum
    GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI = 0x8802 :: GLenum

    pattern $mGL_STENCIL_BACK_PASS_DEPTH_PASS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STENCIL_BACK_PASS_DEPTH_PASS :: GLenum
    GL_STENCIL_BACK_PASS_DEPTH_PASS = 0x8803 :: GLenum

    pattern $mGL_STENCIL_BACK_PASS_DEPTH_PASS_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STENCIL_BACK_PASS_DEPTH_PASS_ATI :: GLenum
    GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI = 0x8803 :: GLenum

    pattern $mGL_STENCIL_BACK_REF :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STENCIL_BACK_REF :: GLenum
    GL_STENCIL_BACK_REF = 0x8CA3 :: GLenum

    pattern $mGL_STENCIL_BACK_VALUE_MASK :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STENCIL_BACK_VALUE_MASK :: GLenum
    GL_STENCIL_BACK_VALUE_MASK = 0x8CA4 :: GLenum

    pattern $mGL_STENCIL_BACK_WRITEMASK :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STENCIL_BACK_WRITEMASK :: GLenum
    GL_STENCIL_BACK_WRITEMASK = 0x8CA5 :: GLenum

    pattern $mGL_STENCIL_BITS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STENCIL_BITS :: GLenum
    GL_STENCIL_BITS = 0x0D57 :: GLenum

    pattern $mGL_STENCIL_BUFFER_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STENCIL_BUFFER_BIT :: GLenum
    GL_STENCIL_BUFFER_BIT = 0x00000400 :: GLbitfield

    pattern $mGL_STENCIL_BUFFER_BIT0_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STENCIL_BUFFER_BIT0_QCOM :: GLenum
    GL_STENCIL_BUFFER_BIT0_QCOM = 0x00010000 :: GLbitfield

    pattern $mGL_STENCIL_BUFFER_BIT1_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STENCIL_BUFFER_BIT1_QCOM :: GLenum
    GL_STENCIL_BUFFER_BIT1_QCOM = 0x00020000 :: GLbitfield

    pattern $mGL_STENCIL_BUFFER_BIT2_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STENCIL_BUFFER_BIT2_QCOM :: GLenum
    GL_STENCIL_BUFFER_BIT2_QCOM = 0x00040000 :: GLbitfield

    pattern $mGL_STENCIL_BUFFER_BIT3_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STENCIL_BUFFER_BIT3_QCOM :: GLenum
    GL_STENCIL_BUFFER_BIT3_QCOM = 0x00080000 :: GLbitfield

    pattern $mGL_STENCIL_BUFFER_BIT4_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STENCIL_BUFFER_BIT4_QCOM :: GLenum
    GL_STENCIL_BUFFER_BIT4_QCOM = 0x00100000 :: GLbitfield

    pattern $mGL_STENCIL_BUFFER_BIT5_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STENCIL_BUFFER_BIT5_QCOM :: GLenum
    GL_STENCIL_BUFFER_BIT5_QCOM = 0x00200000 :: GLbitfield

    pattern $mGL_STENCIL_BUFFER_BIT6_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STENCIL_BUFFER_BIT6_QCOM :: GLenum
    GL_STENCIL_BUFFER_BIT6_QCOM = 0x00400000 :: GLbitfield

    pattern $mGL_STENCIL_BUFFER_BIT7_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STENCIL_BUFFER_BIT7_QCOM :: GLenum
    GL_STENCIL_BUFFER_BIT7_QCOM = 0x00800000 :: GLbitfield

    pattern $mGL_STENCIL_CLEAR_TAG_VALUE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STENCIL_CLEAR_TAG_VALUE_EXT :: GLenum
    GL_STENCIL_CLEAR_TAG_VALUE_EXT = 0x88F3 :: GLenum

    pattern $mGL_STENCIL_CLEAR_VALUE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STENCIL_CLEAR_VALUE :: GLenum
    GL_STENCIL_CLEAR_VALUE = 0x0B91 :: GLenum

    pattern $mGL_STENCIL_COMPONENTS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STENCIL_COMPONENTS :: GLenum
    GL_STENCIL_COMPONENTS = 0x8285 :: GLenum

    pattern $mGL_STENCIL_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STENCIL_EXT :: GLenum
    GL_STENCIL_EXT = 0x1802 :: GLenum

    pattern $mGL_STENCIL_FAIL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STENCIL_FAIL :: GLenum
    GL_STENCIL_FAIL = 0x0B94 :: GLenum

    pattern $mGL_STENCIL_FUNC :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STENCIL_FUNC :: GLenum
    GL_STENCIL_FUNC = 0x0B92 :: GLenum

    pattern $mGL_STENCIL_INDEX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STENCIL_INDEX :: GLenum
    GL_STENCIL_INDEX = 0x1901 :: GLenum

    pattern $mGL_STENCIL_INDEX1 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STENCIL_INDEX1 :: GLenum
    GL_STENCIL_INDEX1 = 0x8D46 :: GLenum

    pattern $mGL_STENCIL_INDEX16 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STENCIL_INDEX16 :: GLenum
    GL_STENCIL_INDEX16 = 0x8D49 :: GLenum

    pattern $mGL_STENCIL_INDEX16_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STENCIL_INDEX16_EXT :: GLenum
    GL_STENCIL_INDEX16_EXT = 0x8D49 :: GLenum

    pattern $mGL_STENCIL_INDEX1_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STENCIL_INDEX1_EXT :: GLenum
    GL_STENCIL_INDEX1_EXT = 0x8D46 :: GLenum

    pattern $mGL_STENCIL_INDEX1_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STENCIL_INDEX1_OES :: GLenum
    GL_STENCIL_INDEX1_OES = 0x8D46 :: GLenum

    pattern $mGL_STENCIL_INDEX4 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STENCIL_INDEX4 :: GLenum
    GL_STENCIL_INDEX4 = 0x8D47 :: GLenum

    pattern $mGL_STENCIL_INDEX4_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STENCIL_INDEX4_EXT :: GLenum
    GL_STENCIL_INDEX4_EXT = 0x8D47 :: GLenum

    pattern $mGL_STENCIL_INDEX4_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STENCIL_INDEX4_OES :: GLenum
    GL_STENCIL_INDEX4_OES = 0x8D47 :: GLenum

    pattern $mGL_STENCIL_INDEX8 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STENCIL_INDEX8 :: GLenum
    GL_STENCIL_INDEX8 = 0x8D48 :: GLenum

    pattern $mGL_STENCIL_INDEX8_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STENCIL_INDEX8_EXT :: GLenum
    GL_STENCIL_INDEX8_EXT = 0x8D48 :: GLenum

    pattern $mGL_STENCIL_INDEX8_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STENCIL_INDEX8_OES :: GLenum
    GL_STENCIL_INDEX8_OES = 0x8D48 :: GLenum

    pattern $mGL_STENCIL_INDEX_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STENCIL_INDEX_OES :: GLenum
    GL_STENCIL_INDEX_OES = 0x1901 :: GLenum

    pattern $mGL_STENCIL_OP_VALUE_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STENCIL_OP_VALUE_AMD :: GLenum
    GL_STENCIL_OP_VALUE_AMD = 0x874C :: GLenum

    pattern $mGL_STENCIL_PASS_DEPTH_FAIL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STENCIL_PASS_DEPTH_FAIL :: GLenum
    GL_STENCIL_PASS_DEPTH_FAIL = 0x0B95 :: GLenum

    pattern $mGL_STENCIL_PASS_DEPTH_PASS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STENCIL_PASS_DEPTH_PASS :: GLenum
    GL_STENCIL_PASS_DEPTH_PASS = 0x0B96 :: GLenum

    pattern $mGL_STENCIL_REF :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STENCIL_REF :: GLenum
    GL_STENCIL_REF = 0x0B97 :: GLenum

    pattern $mGL_STENCIL_REF_COMMAND_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STENCIL_REF_COMMAND_NV :: GLenum
    GL_STENCIL_REF_COMMAND_NV = 0x000C :: GLenum

    pattern $mGL_STENCIL_RENDERABLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STENCIL_RENDERABLE :: GLenum
    GL_STENCIL_RENDERABLE = 0x8288 :: GLenum

    pattern $mGL_STENCIL_SAMPLES_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STENCIL_SAMPLES_NV :: GLenum
    GL_STENCIL_SAMPLES_NV = 0x932E :: GLenum

    pattern $mGL_STENCIL_TAG_BITS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STENCIL_TAG_BITS_EXT :: GLenum
    GL_STENCIL_TAG_BITS_EXT = 0x88F2 :: GLenum

    pattern $mGL_STENCIL_TEST :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STENCIL_TEST :: GLenum
    GL_STENCIL_TEST = 0x0B90 :: GLenum

    pattern $mGL_STENCIL_TEST_TWO_SIDE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STENCIL_TEST_TWO_SIDE_EXT :: GLenum
    GL_STENCIL_TEST_TWO_SIDE_EXT = 0x8910 :: GLenum

    pattern $mGL_STENCIL_VALUE_MASK :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STENCIL_VALUE_MASK :: GLenum
    GL_STENCIL_VALUE_MASK = 0x0B93 :: GLenum

    pattern $mGL_STENCIL_WRITEMASK :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STENCIL_WRITEMASK :: GLenum
    GL_STENCIL_WRITEMASK = 0x0B98 :: GLenum

    pattern $mGL_STEREO :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STEREO :: GLenum
    GL_STEREO = 0x0C33 :: GLenum

    pattern $mGL_STORAGE_CACHED_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STORAGE_CACHED_APPLE :: GLenum
    GL_STORAGE_CACHED_APPLE = 0x85BE :: GLenum

    pattern $mGL_STORAGE_CLIENT_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STORAGE_CLIENT_APPLE :: GLenum
    GL_STORAGE_CLIENT_APPLE = 0x85B4 :: GLenum

    pattern $mGL_STORAGE_PRIVATE_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STORAGE_PRIVATE_APPLE :: GLenum
    GL_STORAGE_PRIVATE_APPLE = 0x85BD :: GLenum

    pattern $mGL_STORAGE_SHARED_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STORAGE_SHARED_APPLE :: GLenum
    GL_STORAGE_SHARED_APPLE = 0x85BF :: GLenum

    pattern $mGL_STREAM_COPY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STREAM_COPY :: GLenum
    GL_STREAM_COPY = 0x88E2 :: GLenum

    pattern $mGL_STREAM_COPY_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STREAM_COPY_ARB :: GLenum
    GL_STREAM_COPY_ARB = 0x88E2 :: GLenum

    pattern $mGL_STREAM_DRAW :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STREAM_DRAW :: GLenum
    GL_STREAM_DRAW = 0x88E0 :: GLenum

    pattern $mGL_STREAM_DRAW_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STREAM_DRAW_ARB :: GLenum
    GL_STREAM_DRAW_ARB = 0x88E0 :: GLenum

    pattern $mGL_STREAM_RASTERIZATION_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STREAM_RASTERIZATION_AMD :: GLenum
    GL_STREAM_RASTERIZATION_AMD = 0x91A0 :: GLenum

    pattern $mGL_STREAM_READ :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STREAM_READ :: GLenum
    GL_STREAM_READ = 0x88E1 :: GLenum

    pattern $mGL_STREAM_READ_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STREAM_READ_ARB :: GLenum
    GL_STREAM_READ_ARB = 0x88E1 :: GLenum

    pattern $mGL_STRICT_DEPTHFUNC_HINT_PGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STRICT_DEPTHFUNC_HINT_PGI :: GLenum
    GL_STRICT_DEPTHFUNC_HINT_PGI = 0x1A216 :: GLenum

    pattern $mGL_STRICT_LIGHTING_HINT_PGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STRICT_LIGHTING_HINT_PGI :: GLenum
    GL_STRICT_LIGHTING_HINT_PGI = 0x1A217 :: GLenum

    pattern $mGL_STRICT_SCISSOR_HINT_PGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_STRICT_SCISSOR_HINT_PGI :: GLenum
    GL_STRICT_SCISSOR_HINT_PGI = 0x1A218 :: GLenum

    pattern $mGL_SUBGROUP_FEATURE_ARITHMETIC_BIT_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SUBGROUP_FEATURE_ARITHMETIC_BIT_KHR :: GLenum
    GL_SUBGROUP_FEATURE_ARITHMETIC_BIT_KHR = 0x00000004 :: GLbitfield

    pattern $mGL_SUBGROUP_FEATURE_BALLOT_BIT_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SUBGROUP_FEATURE_BALLOT_BIT_KHR :: GLenum
    GL_SUBGROUP_FEATURE_BALLOT_BIT_KHR = 0x00000008 :: GLbitfield

    pattern $mGL_SUBGROUP_FEATURE_BASIC_BIT_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SUBGROUP_FEATURE_BASIC_BIT_KHR :: GLenum
    GL_SUBGROUP_FEATURE_BASIC_BIT_KHR = 0x00000001 :: GLbitfield

    pattern $mGL_SUBGROUP_FEATURE_CLUSTERED_BIT_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SUBGROUP_FEATURE_CLUSTERED_BIT_KHR :: GLenum
    GL_SUBGROUP_FEATURE_CLUSTERED_BIT_KHR = 0x00000040 :: GLbitfield

    pattern $mGL_SUBGROUP_FEATURE_PARTITIONED_BIT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SUBGROUP_FEATURE_PARTITIONED_BIT_NV :: GLenum
    GL_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100 :: GLbitfield

    pattern $mGL_SUBGROUP_FEATURE_QUAD_BIT_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SUBGROUP_FEATURE_QUAD_BIT_KHR :: GLenum
    GL_SUBGROUP_FEATURE_QUAD_BIT_KHR = 0x00000080 :: GLbitfield

    pattern $mGL_SUBGROUP_FEATURE_SHUFFLE_BIT_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SUBGROUP_FEATURE_SHUFFLE_BIT_KHR :: GLenum
    GL_SUBGROUP_FEATURE_SHUFFLE_BIT_KHR = 0x00000010 :: GLbitfield

    pattern $mGL_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT_KHR :: GLenum
    GL_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT_KHR = 0x00000020 :: GLbitfield

    pattern $mGL_SUBGROUP_FEATURE_VOTE_BIT_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SUBGROUP_FEATURE_VOTE_BIT_KHR :: GLenum
    GL_SUBGROUP_FEATURE_VOTE_BIT_KHR = 0x00000002 :: GLbitfield

    pattern $mGL_SUBGROUP_QUAD_ALL_STAGES_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SUBGROUP_QUAD_ALL_STAGES_KHR :: GLenum
    GL_SUBGROUP_QUAD_ALL_STAGES_KHR = 0x9535 :: GLenum

    pattern $mGL_SUBGROUP_SIZE_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SUBGROUP_SIZE_KHR :: GLenum
    GL_SUBGROUP_SIZE_KHR = 0x9532 :: GLenum

    pattern $mGL_SUBGROUP_SUPPORTED_FEATURES_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SUBGROUP_SUPPORTED_FEATURES_KHR :: GLenum
    GL_SUBGROUP_SUPPORTED_FEATURES_KHR = 0x9534 :: GLenum

    pattern $mGL_SUBGROUP_SUPPORTED_STAGES_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SUBGROUP_SUPPORTED_STAGES_KHR :: GLenum
    GL_SUBGROUP_SUPPORTED_STAGES_KHR = 0x9533 :: GLenum

    pattern $mGL_SUBPIXEL_BITS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SUBPIXEL_BITS :: GLenum
    GL_SUBPIXEL_BITS = 0x0D50 :: GLenum

    pattern $mGL_SUBPIXEL_PRECISION_BIAS_X_BITS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SUBPIXEL_PRECISION_BIAS_X_BITS_NV :: GLenum
    GL_SUBPIXEL_PRECISION_BIAS_X_BITS_NV = 0x9347 :: GLenum

    pattern $mGL_SUBPIXEL_PRECISION_BIAS_Y_BITS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SUBPIXEL_PRECISION_BIAS_Y_BITS_NV :: GLenum
    GL_SUBPIXEL_PRECISION_BIAS_Y_BITS_NV = 0x9348 :: GLenum

    pattern $mGL_SUBSAMPLE_DISTANCE_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SUBSAMPLE_DISTANCE_AMD :: GLenum
    GL_SUBSAMPLE_DISTANCE_AMD = 0x883F :: GLenum

    pattern $mGL_SUBTRACT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SUBTRACT :: GLenum
    GL_SUBTRACT = 0x84E7 :: GLenum

    pattern $mGL_SUBTRACT_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SUBTRACT_ARB :: GLenum
    GL_SUBTRACT_ARB = 0x84E7 :: GLenum

    pattern $mGL_SUB_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SUB_ATI :: GLenum
    GL_SUB_ATI = 0x8965 :: GLenum

    pattern $mGL_SUCCESS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SUCCESS_NV :: GLenum
    GL_SUCCESS_NV = 0x902F :: GLenum

    pattern $mGL_SUPERSAMPLE_SCALE_X_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SUPERSAMPLE_SCALE_X_NV :: GLenum
    GL_SUPERSAMPLE_SCALE_X_NV = 0x9372 :: GLenum

    pattern $mGL_SUPERSAMPLE_SCALE_Y_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SUPERSAMPLE_SCALE_Y_NV :: GLenum
    GL_SUPERSAMPLE_SCALE_Y_NV = 0x9373 :: GLenum

    pattern $mGL_SUPPORTED_MULTISAMPLE_MODES_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SUPPORTED_MULTISAMPLE_MODES_AMD :: GLenum
    GL_SUPPORTED_MULTISAMPLE_MODES_AMD = 0x91B7 :: GLenum

    pattern $mGL_SURFACE_MAPPED_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SURFACE_MAPPED_NV :: GLenum
    GL_SURFACE_MAPPED_NV = 0x8700 :: GLenum

    pattern $mGL_SURFACE_REGISTERED_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SURFACE_REGISTERED_NV :: GLenum
    GL_SURFACE_REGISTERED_NV = 0x86FD :: GLenum

    pattern $mGL_SURFACE_STATE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SURFACE_STATE_NV :: GLenum
    GL_SURFACE_STATE_NV = 0x86EB :: GLenum

    pattern $mGL_SWIZZLE_STQ_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SWIZZLE_STQ_ATI :: GLenum
    GL_SWIZZLE_STQ_ATI = 0x8977 :: GLenum

    pattern $mGL_SWIZZLE_STQ_DQ_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SWIZZLE_STQ_DQ_ATI :: GLenum
    GL_SWIZZLE_STQ_DQ_ATI = 0x8979 :: GLenum

    pattern $mGL_SWIZZLE_STRQ_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SWIZZLE_STRQ_ATI :: GLenum
    GL_SWIZZLE_STRQ_ATI = 0x897A :: GLenum

    pattern $mGL_SWIZZLE_STRQ_DQ_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SWIZZLE_STRQ_DQ_ATI :: GLenum
    GL_SWIZZLE_STRQ_DQ_ATI = 0x897B :: GLenum

    pattern $mGL_SWIZZLE_STR_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SWIZZLE_STR_ATI :: GLenum
    GL_SWIZZLE_STR_ATI = 0x8976 :: GLenum

    pattern $mGL_SWIZZLE_STR_DR_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SWIZZLE_STR_DR_ATI :: GLenum
    GL_SWIZZLE_STR_DR_ATI = 0x8978 :: GLenum

    pattern $mGL_SYNC_CL_EVENT_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SYNC_CL_EVENT_ARB :: GLenum
    GL_SYNC_CL_EVENT_ARB = 0x8240 :: GLenum

    pattern $mGL_SYNC_CL_EVENT_COMPLETE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SYNC_CL_EVENT_COMPLETE_ARB :: GLenum
    GL_SYNC_CL_EVENT_COMPLETE_ARB = 0x8241 :: GLenum

    pattern $mGL_SYNC_CONDITION :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SYNC_CONDITION :: GLenum
    GL_SYNC_CONDITION = 0x9113 :: GLenum

    pattern $mGL_SYNC_CONDITION_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SYNC_CONDITION_APPLE :: GLenum
    GL_SYNC_CONDITION_APPLE = 0x9113 :: GLenum

    pattern $mGL_SYNC_FENCE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SYNC_FENCE :: GLenum
    GL_SYNC_FENCE = 0x9116 :: GLenum

    pattern $mGL_SYNC_FENCE_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SYNC_FENCE_APPLE :: GLenum
    GL_SYNC_FENCE_APPLE = 0x9116 :: GLenum

    pattern $mGL_SYNC_FLAGS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SYNC_FLAGS :: GLenum
    GL_SYNC_FLAGS = 0x9115 :: GLenum

    pattern $mGL_SYNC_FLAGS_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SYNC_FLAGS_APPLE :: GLenum
    GL_SYNC_FLAGS_APPLE = 0x9115 :: GLenum

    pattern $mGL_SYNC_FLUSH_COMMANDS_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SYNC_FLUSH_COMMANDS_BIT :: GLenum
    GL_SYNC_FLUSH_COMMANDS_BIT = 0x00000001 :: GLbitfield

    pattern $mGL_SYNC_FLUSH_COMMANDS_BIT_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SYNC_FLUSH_COMMANDS_BIT_APPLE :: GLenum
    GL_SYNC_FLUSH_COMMANDS_BIT_APPLE = 0x00000001 :: GLbitfield

    pattern $mGL_SYNC_GPU_COMMANDS_COMPLETE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SYNC_GPU_COMMANDS_COMPLETE :: GLenum
    GL_SYNC_GPU_COMMANDS_COMPLETE = 0x9117 :: GLenum

    pattern $mGL_SYNC_GPU_COMMANDS_COMPLETE_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SYNC_GPU_COMMANDS_COMPLETE_APPLE :: GLenum
    GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE = 0x9117 :: GLenum

    pattern $mGL_SYNC_OBJECT_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SYNC_OBJECT_APPLE :: GLenum
    GL_SYNC_OBJECT_APPLE = 0x8A53 :: GLenum

    pattern $mGL_SYNC_STATUS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SYNC_STATUS :: GLenum
    GL_SYNC_STATUS = 0x9114 :: GLenum

    pattern $mGL_SYNC_STATUS_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SYNC_STATUS_APPLE :: GLenum
    GL_SYNC_STATUS_APPLE = 0x9114 :: GLenum

    pattern $mGL_SYNC_X11_FENCE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SYNC_X11_FENCE_EXT :: GLenum
    GL_SYNC_X11_FENCE_EXT = 0x90E1 :: GLenum

    pattern $mGL_SYSTEM_FONT_NAME_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_SYSTEM_FONT_NAME_NV :: GLenum
    GL_SYSTEM_FONT_NAME_NV = 0x9073 :: GLenum

    pattern $mGL_T :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_T :: GLenum
    GL_T = 0x2001 :: GLenum

    pattern $mGL_T2F_C3F_V3F :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_T2F_C3F_V3F :: GLenum
    GL_T2F_C3F_V3F = 0x2A2A :: GLenum

    pattern $mGL_T2F_C4F_N3F_V3F :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_T2F_C4F_N3F_V3F :: GLenum
    GL_T2F_C4F_N3F_V3F = 0x2A2C :: GLenum

    pattern $mGL_T2F_C4UB_V3F :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_T2F_C4UB_V3F :: GLenum
    GL_T2F_C4UB_V3F = 0x2A29 :: GLenum

    pattern $mGL_T2F_IUI_N3F_V2F_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_T2F_IUI_N3F_V2F_EXT :: GLenum
    GL_T2F_IUI_N3F_V2F_EXT = 0x81B3 :: GLenum

    pattern $mGL_T2F_IUI_N3F_V3F_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_T2F_IUI_N3F_V3F_EXT :: GLenum
    GL_T2F_IUI_N3F_V3F_EXT = 0x81B4 :: GLenum

    pattern $mGL_T2F_IUI_V2F_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_T2F_IUI_V2F_EXT :: GLenum
    GL_T2F_IUI_V2F_EXT = 0x81B1 :: GLenum

    pattern $mGL_T2F_IUI_V3F_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_T2F_IUI_V3F_EXT :: GLenum
    GL_T2F_IUI_V3F_EXT = 0x81B2 :: GLenum

    pattern $mGL_T2F_N3F_V3F :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_T2F_N3F_V3F :: GLenum
    GL_T2F_N3F_V3F = 0x2A2B :: GLenum

    pattern $mGL_T2F_V3F :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_T2F_V3F :: GLenum
    GL_T2F_V3F = 0x2A27 :: GLenum

    pattern $mGL_T4F_C4F_N3F_V4F :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_T4F_C4F_N3F_V4F :: GLenum
    GL_T4F_C4F_N3F_V4F = 0x2A2D :: GLenum

    pattern $mGL_T4F_V4F :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_T4F_V4F :: GLenum
    GL_T4F_V4F = 0x2A28 :: GLenum

    pattern $mGL_TABLE_TOO_LARGE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TABLE_TOO_LARGE :: GLenum
    GL_TABLE_TOO_LARGE = 0x8031 :: GLenum

    pattern $mGL_TABLE_TOO_LARGE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TABLE_TOO_LARGE_EXT :: GLenum
    GL_TABLE_TOO_LARGE_EXT = 0x8031 :: GLenum

    pattern $mGL_TANGENT_ARRAY_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TANGENT_ARRAY_EXT :: GLenum
    GL_TANGENT_ARRAY_EXT = 0x8439 :: GLenum

    pattern $mGL_TANGENT_ARRAY_POINTER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TANGENT_ARRAY_POINTER_EXT :: GLenum
    GL_TANGENT_ARRAY_POINTER_EXT = 0x8442 :: GLenum

    pattern $mGL_TANGENT_ARRAY_STRIDE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TANGENT_ARRAY_STRIDE_EXT :: GLenum
    GL_TANGENT_ARRAY_STRIDE_EXT = 0x843F :: GLenum

    pattern $mGL_TANGENT_ARRAY_TYPE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TANGENT_ARRAY_TYPE_EXT :: GLenum
    GL_TANGENT_ARRAY_TYPE_EXT = 0x843E :: GLenum

    pattern $mGL_TASK_SHADER_BIT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TASK_SHADER_BIT_NV :: GLenum
    GL_TASK_SHADER_BIT_NV = 0x00000080 :: GLbitfield

    pattern $mGL_TASK_SHADER_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TASK_SHADER_NV :: GLenum
    GL_TASK_SHADER_NV = 0x955A :: GLenum

    pattern $mGL_TASK_SUBROUTINE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TASK_SUBROUTINE_NV :: GLenum
    GL_TASK_SUBROUTINE_NV = 0x957D :: GLenum

    pattern $mGL_TASK_SUBROUTINE_UNIFORM_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TASK_SUBROUTINE_UNIFORM_NV :: GLenum
    GL_TASK_SUBROUTINE_UNIFORM_NV = 0x957F :: GLenum

    pattern $mGL_TASK_WORK_GROUP_SIZE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TASK_WORK_GROUP_SIZE_NV :: GLenum
    GL_TASK_WORK_GROUP_SIZE_NV = 0x953F :: GLenum

    pattern $mGL_TERMINATE_SEQUENCE_COMMAND_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TERMINATE_SEQUENCE_COMMAND_NV :: GLenum
    GL_TERMINATE_SEQUENCE_COMMAND_NV = 0x0000 :: GLenum

    pattern $mGL_TESSELLATION_FACTOR_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TESSELLATION_FACTOR_AMD :: GLenum
    GL_TESSELLATION_FACTOR_AMD = 0x9005 :: GLenum

    pattern $mGL_TESSELLATION_MODE_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TESSELLATION_MODE_AMD :: GLenum
    GL_TESSELLATION_MODE_AMD = 0x9004 :: GLenum

    pattern $mGL_TESS_CONTROL_OUTPUT_VERTICES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TESS_CONTROL_OUTPUT_VERTICES :: GLenum
    GL_TESS_CONTROL_OUTPUT_VERTICES = 0x8E75 :: GLenum

    pattern $mGL_TESS_CONTROL_OUTPUT_VERTICES_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TESS_CONTROL_OUTPUT_VERTICES_EXT :: GLenum
    GL_TESS_CONTROL_OUTPUT_VERTICES_EXT = 0x8E75 :: GLenum

    pattern $mGL_TESS_CONTROL_OUTPUT_VERTICES_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TESS_CONTROL_OUTPUT_VERTICES_OES :: GLenum
    GL_TESS_CONTROL_OUTPUT_VERTICES_OES = 0x8E75 :: GLenum

    pattern $mGL_TESS_CONTROL_PROGRAM_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TESS_CONTROL_PROGRAM_NV :: GLenum
    GL_TESS_CONTROL_PROGRAM_NV = 0x891E :: GLenum

    pattern $mGL_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV :: GLenum
    GL_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV = 0x8C74 :: GLenum

    pattern $mGL_TESS_CONTROL_SHADER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TESS_CONTROL_SHADER :: GLenum
    GL_TESS_CONTROL_SHADER = 0x8E88 :: GLenum

    pattern $mGL_TESS_CONTROL_SHADER_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TESS_CONTROL_SHADER_BIT :: GLenum
    GL_TESS_CONTROL_SHADER_BIT = 0x00000008 :: GLbitfield

    pattern $mGL_TESS_CONTROL_SHADER_BIT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TESS_CONTROL_SHADER_BIT_EXT :: GLenum
    GL_TESS_CONTROL_SHADER_BIT_EXT = 0x00000008 :: GLbitfield

    pattern $mGL_TESS_CONTROL_SHADER_BIT_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TESS_CONTROL_SHADER_BIT_OES :: GLenum
    GL_TESS_CONTROL_SHADER_BIT_OES = 0x00000008 :: GLbitfield

    pattern $mGL_TESS_CONTROL_SHADER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TESS_CONTROL_SHADER_EXT :: GLenum
    GL_TESS_CONTROL_SHADER_EXT = 0x8E88 :: GLenum

    pattern $mGL_TESS_CONTROL_SHADER_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TESS_CONTROL_SHADER_OES :: GLenum
    GL_TESS_CONTROL_SHADER_OES = 0x8E88 :: GLenum

    pattern $mGL_TESS_CONTROL_SHADER_PATCHES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TESS_CONTROL_SHADER_PATCHES :: GLenum
    GL_TESS_CONTROL_SHADER_PATCHES = 0x82F1 :: GLenum

    pattern $mGL_TESS_CONTROL_SHADER_PATCHES_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TESS_CONTROL_SHADER_PATCHES_ARB :: GLenum
    GL_TESS_CONTROL_SHADER_PATCHES_ARB = 0x82F1 :: GLenum

    pattern $mGL_TESS_CONTROL_SUBROUTINE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TESS_CONTROL_SUBROUTINE :: GLenum
    GL_TESS_CONTROL_SUBROUTINE = 0x92E9 :: GLenum

    pattern $mGL_TESS_CONTROL_SUBROUTINE_UNIFORM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TESS_CONTROL_SUBROUTINE_UNIFORM :: GLenum
    GL_TESS_CONTROL_SUBROUTINE_UNIFORM = 0x92EF :: GLenum

    pattern $mGL_TESS_CONTROL_TEXTURE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TESS_CONTROL_TEXTURE :: GLenum
    GL_TESS_CONTROL_TEXTURE = 0x829C :: GLenum

    pattern $mGL_TESS_EVALUATION_PROGRAM_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TESS_EVALUATION_PROGRAM_NV :: GLenum
    GL_TESS_EVALUATION_PROGRAM_NV = 0x891F :: GLenum

    pattern $mGL_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV :: GLenum
    GL_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV = 0x8C75 :: GLenum

    pattern $mGL_TESS_EVALUATION_SHADER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TESS_EVALUATION_SHADER :: GLenum
    GL_TESS_EVALUATION_SHADER = 0x8E87 :: GLenum

    pattern $mGL_TESS_EVALUATION_SHADER_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TESS_EVALUATION_SHADER_BIT :: GLenum
    GL_TESS_EVALUATION_SHADER_BIT = 0x00000010 :: GLbitfield

    pattern $mGL_TESS_EVALUATION_SHADER_BIT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TESS_EVALUATION_SHADER_BIT_EXT :: GLenum
    GL_TESS_EVALUATION_SHADER_BIT_EXT = 0x00000010 :: GLbitfield

    pattern $mGL_TESS_EVALUATION_SHADER_BIT_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TESS_EVALUATION_SHADER_BIT_OES :: GLenum
    GL_TESS_EVALUATION_SHADER_BIT_OES = 0x00000010 :: GLbitfield

    pattern $mGL_TESS_EVALUATION_SHADER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TESS_EVALUATION_SHADER_EXT :: GLenum
    GL_TESS_EVALUATION_SHADER_EXT = 0x8E87 :: GLenum

    pattern $mGL_TESS_EVALUATION_SHADER_INVOCATIONS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TESS_EVALUATION_SHADER_INVOCATIONS :: GLenum
    GL_TESS_EVALUATION_SHADER_INVOCATIONS = 0x82F2 :: GLenum

    pattern $mGL_TESS_EVALUATION_SHADER_INVOCATIONS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TESS_EVALUATION_SHADER_INVOCATIONS_ARB :: GLenum
    GL_TESS_EVALUATION_SHADER_INVOCATIONS_ARB = 0x82F2 :: GLenum

    pattern $mGL_TESS_EVALUATION_SHADER_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TESS_EVALUATION_SHADER_OES :: GLenum
    GL_TESS_EVALUATION_SHADER_OES = 0x8E87 :: GLenum

    pattern $mGL_TESS_EVALUATION_SUBROUTINE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TESS_EVALUATION_SUBROUTINE :: GLenum
    GL_TESS_EVALUATION_SUBROUTINE = 0x92EA :: GLenum

    pattern $mGL_TESS_EVALUATION_SUBROUTINE_UNIFORM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TESS_EVALUATION_SUBROUTINE_UNIFORM :: GLenum
    GL_TESS_EVALUATION_SUBROUTINE_UNIFORM = 0x92F0 :: GLenum

    pattern $mGL_TESS_EVALUATION_TEXTURE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TESS_EVALUATION_TEXTURE :: GLenum
    GL_TESS_EVALUATION_TEXTURE = 0x829D :: GLenum

    pattern $mGL_TESS_GEN_MODE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TESS_GEN_MODE :: GLenum
    GL_TESS_GEN_MODE = 0x8E76 :: GLenum

    pattern $mGL_TESS_GEN_MODE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TESS_GEN_MODE_EXT :: GLenum
    GL_TESS_GEN_MODE_EXT = 0x8E76 :: GLenum

    pattern $mGL_TESS_GEN_MODE_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TESS_GEN_MODE_OES :: GLenum
    GL_TESS_GEN_MODE_OES = 0x8E76 :: GLenum

    pattern $mGL_TESS_GEN_POINT_MODE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TESS_GEN_POINT_MODE :: GLenum
    GL_TESS_GEN_POINT_MODE = 0x8E79 :: GLenum

    pattern $mGL_TESS_GEN_POINT_MODE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TESS_GEN_POINT_MODE_EXT :: GLenum
    GL_TESS_GEN_POINT_MODE_EXT = 0x8E79 :: GLenum

    pattern $mGL_TESS_GEN_POINT_MODE_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TESS_GEN_POINT_MODE_OES :: GLenum
    GL_TESS_GEN_POINT_MODE_OES = 0x8E79 :: GLenum

    pattern $mGL_TESS_GEN_SPACING :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TESS_GEN_SPACING :: GLenum
    GL_TESS_GEN_SPACING = 0x8E77 :: GLenum

    pattern $mGL_TESS_GEN_SPACING_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TESS_GEN_SPACING_EXT :: GLenum
    GL_TESS_GEN_SPACING_EXT = 0x8E77 :: GLenum

    pattern $mGL_TESS_GEN_SPACING_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TESS_GEN_SPACING_OES :: GLenum
    GL_TESS_GEN_SPACING_OES = 0x8E77 :: GLenum

    pattern $mGL_TESS_GEN_VERTEX_ORDER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TESS_GEN_VERTEX_ORDER :: GLenum
    GL_TESS_GEN_VERTEX_ORDER = 0x8E78 :: GLenum

    pattern $mGL_TESS_GEN_VERTEX_ORDER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TESS_GEN_VERTEX_ORDER_EXT :: GLenum
    GL_TESS_GEN_VERTEX_ORDER_EXT = 0x8E78 :: GLenum

    pattern $mGL_TESS_GEN_VERTEX_ORDER_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TESS_GEN_VERTEX_ORDER_OES :: GLenum
    GL_TESS_GEN_VERTEX_ORDER_OES = 0x8E78 :: GLenum

    pattern $mGL_TEXCOORD1_BIT_PGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXCOORD1_BIT_PGI :: GLenum
    GL_TEXCOORD1_BIT_PGI = 0x10000000 :: GLbitfield

    pattern $mGL_TEXCOORD2_BIT_PGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXCOORD2_BIT_PGI :: GLenum
    GL_TEXCOORD2_BIT_PGI = 0x20000000 :: GLbitfield

    pattern $mGL_TEXCOORD3_BIT_PGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXCOORD3_BIT_PGI :: GLenum
    GL_TEXCOORD3_BIT_PGI = 0x40000000 :: GLbitfield

    pattern $mGL_TEXCOORD4_BIT_PGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXCOORD4_BIT_PGI :: GLenum
    GL_TEXCOORD4_BIT_PGI = 0x80000000 :: GLbitfield

    pattern $mGL_TEXTURE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE :: GLenum
    GL_TEXTURE = 0x1702 :: GLenum

    pattern $mGL_TEXTURE0 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE0 :: GLenum
    GL_TEXTURE0 = 0x84C0 :: GLenum

    pattern $mGL_TEXTURE0_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE0_ARB :: GLenum
    GL_TEXTURE0_ARB = 0x84C0 :: GLenum

    pattern $mGL_TEXTURE1 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE1 :: GLenum
    GL_TEXTURE1 = 0x84C1 :: GLenum

    pattern $mGL_TEXTURE10 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE10 :: GLenum
    GL_TEXTURE10 = 0x84CA :: GLenum

    pattern $mGL_TEXTURE10_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE10_ARB :: GLenum
    GL_TEXTURE10_ARB = 0x84CA :: GLenum

    pattern $mGL_TEXTURE11 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE11 :: GLenum
    GL_TEXTURE11 = 0x84CB :: GLenum

    pattern $mGL_TEXTURE11_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE11_ARB :: GLenum
    GL_TEXTURE11_ARB = 0x84CB :: GLenum

    pattern $mGL_TEXTURE12 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE12 :: GLenum
    GL_TEXTURE12 = 0x84CC :: GLenum

    pattern $mGL_TEXTURE12_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE12_ARB :: GLenum
    GL_TEXTURE12_ARB = 0x84CC :: GLenum

    pattern $mGL_TEXTURE13 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE13 :: GLenum
    GL_TEXTURE13 = 0x84CD :: GLenum

    pattern $mGL_TEXTURE13_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE13_ARB :: GLenum
    GL_TEXTURE13_ARB = 0x84CD :: GLenum

    pattern $mGL_TEXTURE14 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE14 :: GLenum
    GL_TEXTURE14 = 0x84CE :: GLenum

    pattern $mGL_TEXTURE14_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE14_ARB :: GLenum
    GL_TEXTURE14_ARB = 0x84CE :: GLenum

    pattern $mGL_TEXTURE15 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE15 :: GLenum
    GL_TEXTURE15 = 0x84CF :: GLenum

    pattern $mGL_TEXTURE15_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE15_ARB :: GLenum
    GL_TEXTURE15_ARB = 0x84CF :: GLenum

    pattern $mGL_TEXTURE16 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE16 :: GLenum
    GL_TEXTURE16 = 0x84D0 :: GLenum

    pattern $mGL_TEXTURE16_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE16_ARB :: GLenum
    GL_TEXTURE16_ARB = 0x84D0 :: GLenum

    pattern $mGL_TEXTURE17 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE17 :: GLenum
    GL_TEXTURE17 = 0x84D1 :: GLenum

    pattern $mGL_TEXTURE17_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE17_ARB :: GLenum
    GL_TEXTURE17_ARB = 0x84D1 :: GLenum

    pattern $mGL_TEXTURE18 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE18 :: GLenum
    GL_TEXTURE18 = 0x84D2 :: GLenum

    pattern $mGL_TEXTURE18_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE18_ARB :: GLenum
    GL_TEXTURE18_ARB = 0x84D2 :: GLenum

    pattern $mGL_TEXTURE19 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE19 :: GLenum
    GL_TEXTURE19 = 0x84D3 :: GLenum

    pattern $mGL_TEXTURE19_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE19_ARB :: GLenum
    GL_TEXTURE19_ARB = 0x84D3 :: GLenum

    pattern $mGL_TEXTURE1_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE1_ARB :: GLenum
    GL_TEXTURE1_ARB = 0x84C1 :: GLenum

    pattern $mGL_TEXTURE2 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE2 :: GLenum
    GL_TEXTURE2 = 0x84C2 :: GLenum

    pattern $mGL_TEXTURE20 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE20 :: GLenum
    GL_TEXTURE20 = 0x84D4 :: GLenum

    pattern $mGL_TEXTURE20_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE20_ARB :: GLenum
    GL_TEXTURE20_ARB = 0x84D4 :: GLenum

    pattern $mGL_TEXTURE21 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE21 :: GLenum
    GL_TEXTURE21 = 0x84D5 :: GLenum

    pattern $mGL_TEXTURE21_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE21_ARB :: GLenum
    GL_TEXTURE21_ARB = 0x84D5 :: GLenum

    pattern $mGL_TEXTURE22 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE22 :: GLenum
    GL_TEXTURE22 = 0x84D6 :: GLenum

    pattern $mGL_TEXTURE22_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE22_ARB :: GLenum
    GL_TEXTURE22_ARB = 0x84D6 :: GLenum

    pattern $mGL_TEXTURE23 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE23 :: GLenum
    GL_TEXTURE23 = 0x84D7 :: GLenum

    pattern $mGL_TEXTURE23_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE23_ARB :: GLenum
    GL_TEXTURE23_ARB = 0x84D7 :: GLenum

    pattern $mGL_TEXTURE24 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE24 :: GLenum
    GL_TEXTURE24 = 0x84D8 :: GLenum

    pattern $mGL_TEXTURE24_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE24_ARB :: GLenum
    GL_TEXTURE24_ARB = 0x84D8 :: GLenum

    pattern $mGL_TEXTURE25 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE25 :: GLenum
    GL_TEXTURE25 = 0x84D9 :: GLenum

    pattern $mGL_TEXTURE25_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE25_ARB :: GLenum
    GL_TEXTURE25_ARB = 0x84D9 :: GLenum

    pattern $mGL_TEXTURE26 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE26 :: GLenum
    GL_TEXTURE26 = 0x84DA :: GLenum

    pattern $mGL_TEXTURE26_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE26_ARB :: GLenum
    GL_TEXTURE26_ARB = 0x84DA :: GLenum

    pattern $mGL_TEXTURE27 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE27 :: GLenum
    GL_TEXTURE27 = 0x84DB :: GLenum

    pattern $mGL_TEXTURE27_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE27_ARB :: GLenum
    GL_TEXTURE27_ARB = 0x84DB :: GLenum

    pattern $mGL_TEXTURE28 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE28 :: GLenum
    GL_TEXTURE28 = 0x84DC :: GLenum

    pattern $mGL_TEXTURE28_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE28_ARB :: GLenum
    GL_TEXTURE28_ARB = 0x84DC :: GLenum

    pattern $mGL_TEXTURE29 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE29 :: GLenum
    GL_TEXTURE29 = 0x84DD :: GLenum

    pattern $mGL_TEXTURE29_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE29_ARB :: GLenum
    GL_TEXTURE29_ARB = 0x84DD :: GLenum

    pattern $mGL_TEXTURE2_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE2_ARB :: GLenum
    GL_TEXTURE2_ARB = 0x84C2 :: GLenum

    pattern $mGL_TEXTURE3 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE3 :: GLenum
    GL_TEXTURE3 = 0x84C3 :: GLenum

    pattern $mGL_TEXTURE30 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE30 :: GLenum
    GL_TEXTURE30 = 0x84DE :: GLenum

    pattern $mGL_TEXTURE30_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE30_ARB :: GLenum
    GL_TEXTURE30_ARB = 0x84DE :: GLenum

    pattern $mGL_TEXTURE31 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE31 :: GLenum
    GL_TEXTURE31 = 0x84DF :: GLenum

    pattern $mGL_TEXTURE31_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE31_ARB :: GLenum
    GL_TEXTURE31_ARB = 0x84DF :: GLenum

    pattern $mGL_TEXTURE3_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE3_ARB :: GLenum
    GL_TEXTURE3_ARB = 0x84C3 :: GLenum

    pattern $mGL_TEXTURE4 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE4 :: GLenum
    GL_TEXTURE4 = 0x84C4 :: GLenum

    pattern $mGL_TEXTURE4_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE4_ARB :: GLenum
    GL_TEXTURE4_ARB = 0x84C4 :: GLenum

    pattern $mGL_TEXTURE5 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE5 :: GLenum
    GL_TEXTURE5 = 0x84C5 :: GLenum

    pattern $mGL_TEXTURE5_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE5_ARB :: GLenum
    GL_TEXTURE5_ARB = 0x84C5 :: GLenum

    pattern $mGL_TEXTURE6 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE6 :: GLenum
    GL_TEXTURE6 = 0x84C6 :: GLenum

    pattern $mGL_TEXTURE6_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE6_ARB :: GLenum
    GL_TEXTURE6_ARB = 0x84C6 :: GLenum

    pattern $mGL_TEXTURE7 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE7 :: GLenum
    GL_TEXTURE7 = 0x84C7 :: GLenum

    pattern $mGL_TEXTURE7_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE7_ARB :: GLenum
    GL_TEXTURE7_ARB = 0x84C7 :: GLenum

    pattern $mGL_TEXTURE8 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE8 :: GLenum
    GL_TEXTURE8 = 0x84C8 :: GLenum

    pattern $mGL_TEXTURE8_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE8_ARB :: GLenum
    GL_TEXTURE8_ARB = 0x84C8 :: GLenum

    pattern $mGL_TEXTURE9 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE9 :: GLenum
    GL_TEXTURE9 = 0x84C9 :: GLenum

    pattern $mGL_TEXTURE9_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE9_ARB :: GLenum
    GL_TEXTURE9_ARB = 0x84C9 :: GLenum

    pattern $mGL_TEXTURE_1D :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_1D :: GLenum
    GL_TEXTURE_1D = 0x0DE0 :: GLenum

    pattern $mGL_TEXTURE_1D_ARRAY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_1D_ARRAY :: GLenum
    GL_TEXTURE_1D_ARRAY = 0x8C18 :: GLenum

    pattern $mGL_TEXTURE_1D_ARRAY_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_1D_ARRAY_EXT :: GLenum
    GL_TEXTURE_1D_ARRAY_EXT = 0x8C18 :: GLenum

    pattern $mGL_TEXTURE_1D_BINDING_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_1D_BINDING_EXT :: GLenum
    GL_TEXTURE_1D_BINDING_EXT = 0x8068 :: GLenum

    pattern $mGL_TEXTURE_1D_STACK_BINDING_MESAX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_1D_STACK_BINDING_MESAX :: GLenum
    GL_TEXTURE_1D_STACK_BINDING_MESAX = 0x875D :: GLenum

    pattern $mGL_TEXTURE_1D_STACK_MESAX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_1D_STACK_MESAX :: GLenum
    GL_TEXTURE_1D_STACK_MESAX = 0x8759 :: GLenum

    pattern $mGL_TEXTURE_2D :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_2D :: GLenum
    GL_TEXTURE_2D = 0x0DE1 :: GLenum

    pattern $mGL_TEXTURE_2D_ARRAY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_2D_ARRAY :: GLenum
    GL_TEXTURE_2D_ARRAY = 0x8C1A :: GLenum

    pattern $mGL_TEXTURE_2D_ARRAY_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_2D_ARRAY_EXT :: GLenum
    GL_TEXTURE_2D_ARRAY_EXT = 0x8C1A :: GLenum

    pattern $mGL_TEXTURE_2D_BINDING_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_2D_BINDING_EXT :: GLenum
    GL_TEXTURE_2D_BINDING_EXT = 0x8069 :: GLenum

    pattern $mGL_TEXTURE_2D_MULTISAMPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_2D_MULTISAMPLE :: GLenum
    GL_TEXTURE_2D_MULTISAMPLE = 0x9100 :: GLenum

    pattern $mGL_TEXTURE_2D_MULTISAMPLE_ARRAY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_2D_MULTISAMPLE_ARRAY :: GLenum
    GL_TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9102 :: GLenum

    pattern $mGL_TEXTURE_2D_MULTISAMPLE_ARRAY_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_2D_MULTISAMPLE_ARRAY_OES :: GLenum
    GL_TEXTURE_2D_MULTISAMPLE_ARRAY_OES = 0x9102 :: GLenum

    pattern $mGL_TEXTURE_2D_STACK_BINDING_MESAX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_2D_STACK_BINDING_MESAX :: GLenum
    GL_TEXTURE_2D_STACK_BINDING_MESAX = 0x875E :: GLenum

    pattern $mGL_TEXTURE_2D_STACK_MESAX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_2D_STACK_MESAX :: GLenum
    GL_TEXTURE_2D_STACK_MESAX = 0x875A :: GLenum

    pattern $mGL_TEXTURE_3D :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_3D :: GLenum
    GL_TEXTURE_3D = 0x806F :: GLenum

    pattern $mGL_TEXTURE_3D_BINDING_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_3D_BINDING_EXT :: GLenum
    GL_TEXTURE_3D_BINDING_EXT = 0x806A :: GLenum

    pattern $mGL_TEXTURE_3D_BINDING_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_3D_BINDING_OES :: GLenum
    GL_TEXTURE_3D_BINDING_OES = 0x806A :: GLenum

    pattern $mGL_TEXTURE_3D_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_3D_EXT :: GLenum
    GL_TEXTURE_3D_EXT = 0x806F :: GLenum

    pattern $mGL_TEXTURE_3D_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_3D_OES :: GLenum
    GL_TEXTURE_3D_OES = 0x806F :: GLenum

    pattern $mGL_TEXTURE_4DSIZE_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_4DSIZE_SGIS :: GLenum
    GL_TEXTURE_4DSIZE_SGIS = 0x8136 :: GLenum

    pattern $mGL_TEXTURE_4D_BINDING_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_4D_BINDING_SGIS :: GLenum
    GL_TEXTURE_4D_BINDING_SGIS = 0x814F :: GLenum

    pattern $mGL_TEXTURE_4D_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_4D_SGIS :: GLenum
    GL_TEXTURE_4D_SGIS = 0x8134 :: GLenum

    pattern $mGL_TEXTURE_ALPHA_MODULATE_IMG :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_ALPHA_MODULATE_IMG :: GLenum
    GL_TEXTURE_ALPHA_MODULATE_IMG = 0x8C06 :: GLenum

    pattern $mGL_TEXTURE_ALPHA_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_ALPHA_SIZE :: GLenum
    GL_TEXTURE_ALPHA_SIZE = 0x805F :: GLenum

    pattern $mGL_TEXTURE_ALPHA_SIZE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_ALPHA_SIZE_EXT :: GLenum
    GL_TEXTURE_ALPHA_SIZE_EXT = 0x805F :: GLenum

    pattern $mGL_TEXTURE_ALPHA_TYPE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_ALPHA_TYPE :: GLenum
    GL_TEXTURE_ALPHA_TYPE = 0x8C13 :: GLenum

    pattern $mGL_TEXTURE_ALPHA_TYPE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_ALPHA_TYPE_ARB :: GLenum
    GL_TEXTURE_ALPHA_TYPE_ARB = 0x8C13 :: GLenum

    pattern $mGL_TEXTURE_APPLICATION_MODE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_APPLICATION_MODE_EXT :: GLenum
    GL_TEXTURE_APPLICATION_MODE_EXT = 0x834F :: GLenum

    pattern $mGL_TEXTURE_ASTC_DECODE_PRECISION_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_ASTC_DECODE_PRECISION_EXT :: GLenum
    GL_TEXTURE_ASTC_DECODE_PRECISION_EXT = 0x8F69 :: GLenum

    pattern $mGL_TEXTURE_BASE_LEVEL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BASE_LEVEL :: GLenum
    GL_TEXTURE_BASE_LEVEL = 0x813C :: GLenum

    pattern $mGL_TEXTURE_BASE_LEVEL_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BASE_LEVEL_SGIS :: GLenum
    GL_TEXTURE_BASE_LEVEL_SGIS = 0x813C :: GLenum

    pattern $mGL_TEXTURE_BINDING_1D :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BINDING_1D :: GLenum
    GL_TEXTURE_BINDING_1D = 0x8068 :: GLenum

    pattern $mGL_TEXTURE_BINDING_1D_ARRAY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BINDING_1D_ARRAY :: GLenum
    GL_TEXTURE_BINDING_1D_ARRAY = 0x8C1C :: GLenum

    pattern $mGL_TEXTURE_BINDING_1D_ARRAY_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BINDING_1D_ARRAY_EXT :: GLenum
    GL_TEXTURE_BINDING_1D_ARRAY_EXT = 0x8C1C :: GLenum

    pattern $mGL_TEXTURE_BINDING_2D :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BINDING_2D :: GLenum
    GL_TEXTURE_BINDING_2D = 0x8069 :: GLenum

    pattern $mGL_TEXTURE_BINDING_2D_ARRAY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BINDING_2D_ARRAY :: GLenum
    GL_TEXTURE_BINDING_2D_ARRAY = 0x8C1D :: GLenum

    pattern $mGL_TEXTURE_BINDING_2D_ARRAY_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BINDING_2D_ARRAY_EXT :: GLenum
    GL_TEXTURE_BINDING_2D_ARRAY_EXT = 0x8C1D :: GLenum

    pattern $mGL_TEXTURE_BINDING_2D_MULTISAMPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BINDING_2D_MULTISAMPLE :: GLenum
    GL_TEXTURE_BINDING_2D_MULTISAMPLE = 0x9104 :: GLenum

    pattern $mGL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY :: GLenum
    GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY = 0x9105 :: GLenum

    pattern $mGL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY_OES :: GLenum
    GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY_OES = 0x9105 :: GLenum

    pattern $mGL_TEXTURE_BINDING_3D :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BINDING_3D :: GLenum
    GL_TEXTURE_BINDING_3D = 0x806A :: GLenum

    pattern $mGL_TEXTURE_BINDING_3D_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BINDING_3D_OES :: GLenum
    GL_TEXTURE_BINDING_3D_OES = 0x806A :: GLenum

    pattern $mGL_TEXTURE_BINDING_BUFFER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BINDING_BUFFER :: GLenum
    GL_TEXTURE_BINDING_BUFFER = 0x8C2C :: GLenum

    pattern $mGL_TEXTURE_BINDING_BUFFER_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BINDING_BUFFER_ARB :: GLenum
    GL_TEXTURE_BINDING_BUFFER_ARB = 0x8C2C :: GLenum

    pattern $mGL_TEXTURE_BINDING_BUFFER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BINDING_BUFFER_EXT :: GLenum
    GL_TEXTURE_BINDING_BUFFER_EXT = 0x8C2C :: GLenum

    pattern $mGL_TEXTURE_BINDING_BUFFER_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BINDING_BUFFER_OES :: GLenum
    GL_TEXTURE_BINDING_BUFFER_OES = 0x8C2C :: GLenum

    pattern $mGL_TEXTURE_BINDING_CUBE_MAP :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BINDING_CUBE_MAP :: GLenum
    GL_TEXTURE_BINDING_CUBE_MAP = 0x8514 :: GLenum

    pattern $mGL_TEXTURE_BINDING_CUBE_MAP_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BINDING_CUBE_MAP_ARB :: GLenum
    GL_TEXTURE_BINDING_CUBE_MAP_ARB = 0x8514 :: GLenum

    pattern $mGL_TEXTURE_BINDING_CUBE_MAP_ARRAY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BINDING_CUBE_MAP_ARRAY :: GLenum
    GL_TEXTURE_BINDING_CUBE_MAP_ARRAY = 0x900A :: GLenum

    pattern $mGL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB :: GLenum
    GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB = 0x900A :: GLenum

    pattern $mGL_TEXTURE_BINDING_CUBE_MAP_ARRAY_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BINDING_CUBE_MAP_ARRAY_EXT :: GLenum
    GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_EXT = 0x900A :: GLenum

    pattern $mGL_TEXTURE_BINDING_CUBE_MAP_ARRAY_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BINDING_CUBE_MAP_ARRAY_OES :: GLenum
    GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_OES = 0x900A :: GLenum

    pattern $mGL_TEXTURE_BINDING_CUBE_MAP_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BINDING_CUBE_MAP_EXT :: GLenum
    GL_TEXTURE_BINDING_CUBE_MAP_EXT = 0x8514 :: GLenum

    pattern $mGL_TEXTURE_BINDING_CUBE_MAP_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BINDING_CUBE_MAP_OES :: GLenum
    GL_TEXTURE_BINDING_CUBE_MAP_OES = 0x8514 :: GLenum

    pattern $mGL_TEXTURE_BINDING_EXTERNAL_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BINDING_EXTERNAL_OES :: GLenum
    GL_TEXTURE_BINDING_EXTERNAL_OES = 0x8D67 :: GLenum

    pattern $mGL_TEXTURE_BINDING_RECTANGLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BINDING_RECTANGLE :: GLenum
    GL_TEXTURE_BINDING_RECTANGLE = 0x84F6 :: GLenum

    pattern $mGL_TEXTURE_BINDING_RECTANGLE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BINDING_RECTANGLE_ARB :: GLenum
    GL_TEXTURE_BINDING_RECTANGLE_ARB = 0x84F6 :: GLenum

    pattern $mGL_TEXTURE_BINDING_RECTANGLE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BINDING_RECTANGLE_NV :: GLenum
    GL_TEXTURE_BINDING_RECTANGLE_NV = 0x84F6 :: GLenum

    pattern $mGL_TEXTURE_BINDING_RENDERBUFFER_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BINDING_RENDERBUFFER_NV :: GLenum
    GL_TEXTURE_BINDING_RENDERBUFFER_NV = 0x8E53 :: GLenum

    pattern $mGL_TEXTURE_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BIT :: GLenum
    GL_TEXTURE_BIT = 0x00040000 :: GLbitfield

    pattern $mGL_TEXTURE_BLUE_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BLUE_SIZE :: GLenum
    GL_TEXTURE_BLUE_SIZE = 0x805E :: GLenum

    pattern $mGL_TEXTURE_BLUE_SIZE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BLUE_SIZE_EXT :: GLenum
    GL_TEXTURE_BLUE_SIZE_EXT = 0x805E :: GLenum

    pattern $mGL_TEXTURE_BLUE_TYPE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BLUE_TYPE :: GLenum
    GL_TEXTURE_BLUE_TYPE = 0x8C12 :: GLenum

    pattern $mGL_TEXTURE_BLUE_TYPE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BLUE_TYPE_ARB :: GLenum
    GL_TEXTURE_BLUE_TYPE_ARB = 0x8C12 :: GLenum

    pattern $mGL_TEXTURE_BORDER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BORDER :: GLenum
    GL_TEXTURE_BORDER = 0x1005 :: GLenum

    pattern $mGL_TEXTURE_BORDER_COLOR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BORDER_COLOR :: GLenum
    GL_TEXTURE_BORDER_COLOR = 0x1004 :: GLenum

    pattern $mGL_TEXTURE_BORDER_COLOR_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BORDER_COLOR_EXT :: GLenum
    GL_TEXTURE_BORDER_COLOR_EXT = 0x1004 :: GLenum

    pattern $mGL_TEXTURE_BORDER_COLOR_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BORDER_COLOR_NV :: GLenum
    GL_TEXTURE_BORDER_COLOR_NV = 0x1004 :: GLenum

    pattern $mGL_TEXTURE_BORDER_COLOR_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BORDER_COLOR_OES :: GLenum
    GL_TEXTURE_BORDER_COLOR_OES = 0x1004 :: GLenum

    pattern $mGL_TEXTURE_BORDER_VALUES_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BORDER_VALUES_NV :: GLenum
    GL_TEXTURE_BORDER_VALUES_NV = 0x871A :: GLenum

    pattern $mGL_TEXTURE_BUFFER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BUFFER :: GLenum
    GL_TEXTURE_BUFFER = 0x8C2A :: GLenum

    pattern $mGL_TEXTURE_BUFFER_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BUFFER_ARB :: GLenum
    GL_TEXTURE_BUFFER_ARB = 0x8C2A :: GLenum

    pattern $mGL_TEXTURE_BUFFER_BINDING :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BUFFER_BINDING :: GLenum
    GL_TEXTURE_BUFFER_BINDING = 0x8C2A :: GLenum

    pattern $mGL_TEXTURE_BUFFER_BINDING_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BUFFER_BINDING_EXT :: GLenum
    GL_TEXTURE_BUFFER_BINDING_EXT = 0x8C2A :: GLenum

    pattern $mGL_TEXTURE_BUFFER_BINDING_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BUFFER_BINDING_OES :: GLenum
    GL_TEXTURE_BUFFER_BINDING_OES = 0x8C2A :: GLenum

    pattern $mGL_TEXTURE_BUFFER_DATA_STORE_BINDING :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BUFFER_DATA_STORE_BINDING :: GLenum
    GL_TEXTURE_BUFFER_DATA_STORE_BINDING = 0x8C2D :: GLenum

    pattern $mGL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB :: GLenum
    GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB = 0x8C2D :: GLenum

    pattern $mGL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT :: GLenum
    GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT = 0x8C2D :: GLenum

    pattern $mGL_TEXTURE_BUFFER_DATA_STORE_BINDING_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BUFFER_DATA_STORE_BINDING_OES :: GLenum
    GL_TEXTURE_BUFFER_DATA_STORE_BINDING_OES = 0x8C2D :: GLenum

    pattern $mGL_TEXTURE_BUFFER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BUFFER_EXT :: GLenum
    GL_TEXTURE_BUFFER_EXT = 0x8C2A :: GLenum

    pattern $mGL_TEXTURE_BUFFER_FORMAT_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BUFFER_FORMAT_ARB :: GLenum
    GL_TEXTURE_BUFFER_FORMAT_ARB = 0x8C2E :: GLenum

    pattern $mGL_TEXTURE_BUFFER_FORMAT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BUFFER_FORMAT_EXT :: GLenum
    GL_TEXTURE_BUFFER_FORMAT_EXT = 0x8C2E :: GLenum

    pattern $mGL_TEXTURE_BUFFER_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BUFFER_OES :: GLenum
    GL_TEXTURE_BUFFER_OES = 0x8C2A :: GLenum

    pattern $mGL_TEXTURE_BUFFER_OFFSET :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BUFFER_OFFSET :: GLenum
    GL_TEXTURE_BUFFER_OFFSET = 0x919D :: GLenum

    pattern $mGL_TEXTURE_BUFFER_OFFSET_ALIGNMENT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BUFFER_OFFSET_ALIGNMENT :: GLenum
    GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT = 0x919F :: GLenum

    pattern $mGL_TEXTURE_BUFFER_OFFSET_ALIGNMENT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BUFFER_OFFSET_ALIGNMENT_EXT :: GLenum
    GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT_EXT = 0x919F :: GLenum

    pattern $mGL_TEXTURE_BUFFER_OFFSET_ALIGNMENT_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BUFFER_OFFSET_ALIGNMENT_OES :: GLenum
    GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT_OES = 0x919F :: GLenum

    pattern $mGL_TEXTURE_BUFFER_OFFSET_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BUFFER_OFFSET_EXT :: GLenum
    GL_TEXTURE_BUFFER_OFFSET_EXT = 0x919D :: GLenum

    pattern $mGL_TEXTURE_BUFFER_OFFSET_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BUFFER_OFFSET_OES :: GLenum
    GL_TEXTURE_BUFFER_OFFSET_OES = 0x919D :: GLenum

    pattern $mGL_TEXTURE_BUFFER_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BUFFER_SIZE :: GLenum
    GL_TEXTURE_BUFFER_SIZE = 0x919E :: GLenum

    pattern $mGL_TEXTURE_BUFFER_SIZE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BUFFER_SIZE_EXT :: GLenum
    GL_TEXTURE_BUFFER_SIZE_EXT = 0x919E :: GLenum

    pattern $mGL_TEXTURE_BUFFER_SIZE_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_BUFFER_SIZE_OES :: GLenum
    GL_TEXTURE_BUFFER_SIZE_OES = 0x919E :: GLenum

    pattern $mGL_TEXTURE_CLIPMAP_CENTER_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_CLIPMAP_CENTER_SGIX :: GLenum
    GL_TEXTURE_CLIPMAP_CENTER_SGIX = 0x8171 :: GLenum

    pattern $mGL_TEXTURE_CLIPMAP_DEPTH_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_CLIPMAP_DEPTH_SGIX :: GLenum
    GL_TEXTURE_CLIPMAP_DEPTH_SGIX = 0x8176 :: GLenum

    pattern $mGL_TEXTURE_CLIPMAP_FRAME_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_CLIPMAP_FRAME_SGIX :: GLenum
    GL_TEXTURE_CLIPMAP_FRAME_SGIX = 0x8172 :: GLenum

    pattern $mGL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX :: GLenum
    GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX = 0x8175 :: GLenum

    pattern $mGL_TEXTURE_CLIPMAP_OFFSET_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_CLIPMAP_OFFSET_SGIX :: GLenum
    GL_TEXTURE_CLIPMAP_OFFSET_SGIX = 0x8173 :: GLenum

    pattern $mGL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX :: GLenum
    GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX = 0x8174 :: GLenum

    pattern $mGL_TEXTURE_COLOR_SAMPLES_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_COLOR_SAMPLES_NV :: GLenum
    GL_TEXTURE_COLOR_SAMPLES_NV = 0x9046 :: GLenum

    pattern $mGL_TEXTURE_COLOR_TABLE_SGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_COLOR_TABLE_SGI :: GLenum
    GL_TEXTURE_COLOR_TABLE_SGI = 0x80BC :: GLenum

    pattern $mGL_TEXTURE_COLOR_WRITEMASK_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_COLOR_WRITEMASK_SGIS :: GLenum
    GL_TEXTURE_COLOR_WRITEMASK_SGIS = 0x81EF :: GLenum

    pattern $mGL_TEXTURE_COMPARE_FAIL_VALUE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_COMPARE_FAIL_VALUE_ARB :: GLenum
    GL_TEXTURE_COMPARE_FAIL_VALUE_ARB = 0x80BF :: GLenum

    pattern $mGL_TEXTURE_COMPARE_FUNC :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_COMPARE_FUNC :: GLenum
    GL_TEXTURE_COMPARE_FUNC = 0x884D :: GLenum

    pattern $mGL_TEXTURE_COMPARE_FUNC_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_COMPARE_FUNC_ARB :: GLenum
    GL_TEXTURE_COMPARE_FUNC_ARB = 0x884D :: GLenum

    pattern $mGL_TEXTURE_COMPARE_FUNC_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_COMPARE_FUNC_EXT :: GLenum
    GL_TEXTURE_COMPARE_FUNC_EXT = 0x884D :: GLenum

    pattern $mGL_TEXTURE_COMPARE_MODE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_COMPARE_MODE :: GLenum
    GL_TEXTURE_COMPARE_MODE = 0x884C :: GLenum

    pattern $mGL_TEXTURE_COMPARE_MODE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_COMPARE_MODE_ARB :: GLenum
    GL_TEXTURE_COMPARE_MODE_ARB = 0x884C :: GLenum

    pattern $mGL_TEXTURE_COMPARE_MODE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_COMPARE_MODE_EXT :: GLenum
    GL_TEXTURE_COMPARE_MODE_EXT = 0x884C :: GLenum

    pattern $mGL_TEXTURE_COMPARE_OPERATOR_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_COMPARE_OPERATOR_SGIX :: GLenum
    GL_TEXTURE_COMPARE_OPERATOR_SGIX = 0x819B :: GLenum

    pattern $mGL_TEXTURE_COMPARE_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_COMPARE_SGIX :: GLenum
    GL_TEXTURE_COMPARE_SGIX = 0x819A :: GLenum

    pattern $mGL_TEXTURE_COMPONENTS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_COMPONENTS :: GLenum
    GL_TEXTURE_COMPONENTS = 0x1003 :: GLenum

    pattern $mGL_TEXTURE_COMPRESSED :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_COMPRESSED :: GLenum
    GL_TEXTURE_COMPRESSED = 0x86A1 :: GLenum

    pattern $mGL_TEXTURE_COMPRESSED_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_COMPRESSED_ARB :: GLenum
    GL_TEXTURE_COMPRESSED_ARB = 0x86A1 :: GLenum

    pattern $mGL_TEXTURE_COMPRESSED_BLOCK_HEIGHT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_COMPRESSED_BLOCK_HEIGHT :: GLenum
    GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT = 0x82B2 :: GLenum

    pattern $mGL_TEXTURE_COMPRESSED_BLOCK_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_COMPRESSED_BLOCK_SIZE :: GLenum
    GL_TEXTURE_COMPRESSED_BLOCK_SIZE = 0x82B3 :: GLenum

    pattern $mGL_TEXTURE_COMPRESSED_BLOCK_WIDTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_COMPRESSED_BLOCK_WIDTH :: GLenum
    GL_TEXTURE_COMPRESSED_BLOCK_WIDTH = 0x82B1 :: GLenum

    pattern $mGL_TEXTURE_COMPRESSED_IMAGE_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_COMPRESSED_IMAGE_SIZE :: GLenum
    GL_TEXTURE_COMPRESSED_IMAGE_SIZE = 0x86A0 :: GLenum

    pattern $mGL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB :: GLenum
    GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB = 0x86A0 :: GLenum

    pattern $mGL_TEXTURE_COMPRESSION_HINT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_COMPRESSION_HINT :: GLenum
    GL_TEXTURE_COMPRESSION_HINT = 0x84EF :: GLenum

    pattern $mGL_TEXTURE_COMPRESSION_HINT_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_COMPRESSION_HINT_ARB :: GLenum
    GL_TEXTURE_COMPRESSION_HINT_ARB = 0x84EF :: GLenum

    pattern $mGL_TEXTURE_CONSTANT_DATA_SUNX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_CONSTANT_DATA_SUNX :: GLenum
    GL_TEXTURE_CONSTANT_DATA_SUNX = 0x81D6 :: GLenum

    pattern $mGL_TEXTURE_COORD_ARRAY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_COORD_ARRAY :: GLenum
    GL_TEXTURE_COORD_ARRAY = 0x8078 :: GLenum

    pattern $mGL_TEXTURE_COORD_ARRAY_ADDRESS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_COORD_ARRAY_ADDRESS_NV :: GLenum
    GL_TEXTURE_COORD_ARRAY_ADDRESS_NV = 0x8F25 :: GLenum

    pattern $mGL_TEXTURE_COORD_ARRAY_BUFFER_BINDING :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_COORD_ARRAY_BUFFER_BINDING :: GLenum
    GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING = 0x889A :: GLenum

    pattern $mGL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB :: GLenum
    GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB = 0x889A :: GLenum

    pattern $mGL_TEXTURE_COORD_ARRAY_COUNT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_COORD_ARRAY_COUNT_EXT :: GLenum
    GL_TEXTURE_COORD_ARRAY_COUNT_EXT = 0x808B :: GLenum

    pattern $mGL_TEXTURE_COORD_ARRAY_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_COORD_ARRAY_EXT :: GLenum
    GL_TEXTURE_COORD_ARRAY_EXT = 0x8078 :: GLenum

    pattern $mGL_TEXTURE_COORD_ARRAY_LENGTH_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_COORD_ARRAY_LENGTH_NV :: GLenum
    GL_TEXTURE_COORD_ARRAY_LENGTH_NV = 0x8F2F :: GLenum

    pattern $mGL_TEXTURE_COORD_ARRAY_LIST_IBM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_COORD_ARRAY_LIST_IBM :: GLenum
    GL_TEXTURE_COORD_ARRAY_LIST_IBM = 103074 :: GLenum

    pattern $mGL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM :: GLenum
    GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM = 103084 :: GLenum

    pattern $mGL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL :: GLenum
    GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F8 :: GLenum

    pattern $mGL_TEXTURE_COORD_ARRAY_POINTER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_COORD_ARRAY_POINTER :: GLenum
    GL_TEXTURE_COORD_ARRAY_POINTER = 0x8092 :: GLenum

    pattern $mGL_TEXTURE_COORD_ARRAY_POINTER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_COORD_ARRAY_POINTER_EXT :: GLenum
    GL_TEXTURE_COORD_ARRAY_POINTER_EXT = 0x8092 :: GLenum

    pattern $mGL_TEXTURE_COORD_ARRAY_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_COORD_ARRAY_SIZE :: GLenum
    GL_TEXTURE_COORD_ARRAY_SIZE = 0x8088 :: GLenum

    pattern $mGL_TEXTURE_COORD_ARRAY_SIZE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_COORD_ARRAY_SIZE_EXT :: GLenum
    GL_TEXTURE_COORD_ARRAY_SIZE_EXT = 0x8088 :: GLenum

    pattern $mGL_TEXTURE_COORD_ARRAY_STRIDE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_COORD_ARRAY_STRIDE :: GLenum
    GL_TEXTURE_COORD_ARRAY_STRIDE = 0x808A :: GLenum

    pattern $mGL_TEXTURE_COORD_ARRAY_STRIDE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_COORD_ARRAY_STRIDE_EXT :: GLenum
    GL_TEXTURE_COORD_ARRAY_STRIDE_EXT = 0x808A :: GLenum

    pattern $mGL_TEXTURE_COORD_ARRAY_TYPE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_COORD_ARRAY_TYPE :: GLenum
    GL_TEXTURE_COORD_ARRAY_TYPE = 0x8089 :: GLenum

    pattern $mGL_TEXTURE_COORD_ARRAY_TYPE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_COORD_ARRAY_TYPE_EXT :: GLenum
    GL_TEXTURE_COORD_ARRAY_TYPE_EXT = 0x8089 :: GLenum

    pattern $mGL_TEXTURE_COORD_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_COORD_NV :: GLenum
    GL_TEXTURE_COORD_NV = 0x8C79 :: GLenum

    pattern $mGL_TEXTURE_COVERAGE_SAMPLES_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_COVERAGE_SAMPLES_NV :: GLenum
    GL_TEXTURE_COVERAGE_SAMPLES_NV = 0x9045 :: GLenum

    pattern $mGL_TEXTURE_CROP_RECT_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_CROP_RECT_OES :: GLenum
    GL_TEXTURE_CROP_RECT_OES = 0x8B9D :: GLenum

    pattern $mGL_TEXTURE_CUBE_MAP :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_CUBE_MAP :: GLenum
    GL_TEXTURE_CUBE_MAP = 0x8513 :: GLenum

    pattern $mGL_TEXTURE_CUBE_MAP_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_CUBE_MAP_ARB :: GLenum
    GL_TEXTURE_CUBE_MAP_ARB = 0x8513 :: GLenum

    pattern $mGL_TEXTURE_CUBE_MAP_ARRAY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_CUBE_MAP_ARRAY :: GLenum
    GL_TEXTURE_CUBE_MAP_ARRAY = 0x9009 :: GLenum

    pattern $mGL_TEXTURE_CUBE_MAP_ARRAY_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_CUBE_MAP_ARRAY_ARB :: GLenum
    GL_TEXTURE_CUBE_MAP_ARRAY_ARB = 0x9009 :: GLenum

    pattern $mGL_TEXTURE_CUBE_MAP_ARRAY_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_CUBE_MAP_ARRAY_EXT :: GLenum
    GL_TEXTURE_CUBE_MAP_ARRAY_EXT = 0x9009 :: GLenum

    pattern $mGL_TEXTURE_CUBE_MAP_ARRAY_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_CUBE_MAP_ARRAY_OES :: GLenum
    GL_TEXTURE_CUBE_MAP_ARRAY_OES = 0x9009 :: GLenum

    pattern $mGL_TEXTURE_CUBE_MAP_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_CUBE_MAP_EXT :: GLenum
    GL_TEXTURE_CUBE_MAP_EXT = 0x8513 :: GLenum

    pattern $mGL_TEXTURE_CUBE_MAP_NEGATIVE_X :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_CUBE_MAP_NEGATIVE_X :: GLenum
    GL_TEXTURE_CUBE_MAP_NEGATIVE_X = 0x8516 :: GLenum

    pattern $mGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB :: GLenum
    GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB = 0x8516 :: GLenum

    pattern $mGL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT :: GLenum
    GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT = 0x8516 :: GLenum

    pattern $mGL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES :: GLenum
    GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES = 0x8516 :: GLenum

    pattern $mGL_TEXTURE_CUBE_MAP_NEGATIVE_Y :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_CUBE_MAP_NEGATIVE_Y :: GLenum
    GL_TEXTURE_CUBE_MAP_NEGATIVE_Y = 0x8518 :: GLenum

    pattern $mGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB :: GLenum
    GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB = 0x8518 :: GLenum

    pattern $mGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT :: GLenum
    GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT = 0x8518 :: GLenum

    pattern $mGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES :: GLenum
    GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES = 0x8518 :: GLenum

    pattern $mGL_TEXTURE_CUBE_MAP_NEGATIVE_Z :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_CUBE_MAP_NEGATIVE_Z :: GLenum
    GL_TEXTURE_CUBE_MAP_NEGATIVE_Z = 0x851A :: GLenum

    pattern $mGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB :: GLenum
    GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB = 0x851A :: GLenum

    pattern $mGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT :: GLenum
    GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT = 0x851A :: GLenum

    pattern $mGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES :: GLenum
    GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES = 0x851A :: GLenum

    pattern $mGL_TEXTURE_CUBE_MAP_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_CUBE_MAP_OES :: GLenum
    GL_TEXTURE_CUBE_MAP_OES = 0x8513 :: GLenum

    pattern $mGL_TEXTURE_CUBE_MAP_POSITIVE_X :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_CUBE_MAP_POSITIVE_X :: GLenum
    GL_TEXTURE_CUBE_MAP_POSITIVE_X = 0x8515 :: GLenum

    pattern $mGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB :: GLenum
    GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB = 0x8515 :: GLenum

    pattern $mGL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT :: GLenum
    GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT = 0x8515 :: GLenum

    pattern $mGL_TEXTURE_CUBE_MAP_POSITIVE_X_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_CUBE_MAP_POSITIVE_X_OES :: GLenum
    GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES = 0x8515 :: GLenum

    pattern $mGL_TEXTURE_CUBE_MAP_POSITIVE_Y :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_CUBE_MAP_POSITIVE_Y :: GLenum
    GL_TEXTURE_CUBE_MAP_POSITIVE_Y = 0x8517 :: GLenum

    pattern $mGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB :: GLenum
    GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB = 0x8517 :: GLenum

    pattern $mGL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT :: GLenum
    GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT = 0x8517 :: GLenum

    pattern $mGL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES :: GLenum
    GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES = 0x8517 :: GLenum

    pattern $mGL_TEXTURE_CUBE_MAP_POSITIVE_Z :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_CUBE_MAP_POSITIVE_Z :: GLenum
    GL_TEXTURE_CUBE_MAP_POSITIVE_Z = 0x8519 :: GLenum

    pattern $mGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB :: GLenum
    GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB = 0x8519 :: GLenum

    pattern $mGL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT :: GLenum
    GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT = 0x8519 :: GLenum

    pattern $mGL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES :: GLenum
    GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES = 0x8519 :: GLenum

    pattern $mGL_TEXTURE_CUBE_MAP_SEAMLESS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_CUBE_MAP_SEAMLESS :: GLenum
    GL_TEXTURE_CUBE_MAP_SEAMLESS = 0x884F :: GLenum

    pattern $mGL_TEXTURE_DEFORMATION_BIT_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_DEFORMATION_BIT_SGIX :: GLenum
    GL_TEXTURE_DEFORMATION_BIT_SGIX = 0x00000001 :: GLbitfield

    pattern $mGL_TEXTURE_DEFORMATION_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_DEFORMATION_SGIX :: GLenum
    GL_TEXTURE_DEFORMATION_SGIX = 0x8195 :: GLenum

    pattern $mGL_TEXTURE_DEPTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_DEPTH :: GLenum
    GL_TEXTURE_DEPTH = 0x8071 :: GLenum

    pattern $mGL_TEXTURE_DEPTH_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_DEPTH_EXT :: GLenum
    GL_TEXTURE_DEPTH_EXT = 0x8071 :: GLenum

    pattern $mGL_TEXTURE_DEPTH_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_DEPTH_QCOM :: GLenum
    GL_TEXTURE_DEPTH_QCOM = 0x8BD4 :: GLenum

    pattern $mGL_TEXTURE_DEPTH_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_DEPTH_SIZE :: GLenum
    GL_TEXTURE_DEPTH_SIZE = 0x884A :: GLenum

    pattern $mGL_TEXTURE_DEPTH_SIZE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_DEPTH_SIZE_ARB :: GLenum
    GL_TEXTURE_DEPTH_SIZE_ARB = 0x884A :: GLenum

    pattern $mGL_TEXTURE_DEPTH_TYPE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_DEPTH_TYPE :: GLenum
    GL_TEXTURE_DEPTH_TYPE = 0x8C16 :: GLenum

    pattern $mGL_TEXTURE_DEPTH_TYPE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_DEPTH_TYPE_ARB :: GLenum
    GL_TEXTURE_DEPTH_TYPE_ARB = 0x8C16 :: GLenum

    pattern $mGL_TEXTURE_DS_SIZE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_DS_SIZE_NV :: GLenum
    GL_TEXTURE_DS_SIZE_NV = 0x871D :: GLenum

    pattern $mGL_TEXTURE_DT_SIZE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_DT_SIZE_NV :: GLenum
    GL_TEXTURE_DT_SIZE_NV = 0x871E :: GLenum

    pattern $mGL_TEXTURE_ENV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_ENV :: GLenum
    GL_TEXTURE_ENV = 0x2300 :: GLenum

    pattern $mGL_TEXTURE_ENV_BIAS_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_ENV_BIAS_SGIX :: GLenum
    GL_TEXTURE_ENV_BIAS_SGIX = 0x80BE :: GLenum

    pattern $mGL_TEXTURE_ENV_COLOR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_ENV_COLOR :: GLenum
    GL_TEXTURE_ENV_COLOR = 0x2201 :: GLenum

    pattern $mGL_TEXTURE_ENV_MODE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_ENV_MODE :: GLenum
    GL_TEXTURE_ENV_MODE = 0x2200 :: GLenum

    pattern $mGL_TEXTURE_EXTERNAL_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_EXTERNAL_OES :: GLenum
    GL_TEXTURE_EXTERNAL_OES = 0x8D65 :: GLenum

    pattern $mGL_TEXTURE_FETCH_BARRIER_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_FETCH_BARRIER_BIT :: GLenum
    GL_TEXTURE_FETCH_BARRIER_BIT = 0x00000008 :: GLbitfield

    pattern $mGL_TEXTURE_FETCH_BARRIER_BIT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_FETCH_BARRIER_BIT_EXT :: GLenum
    GL_TEXTURE_FETCH_BARRIER_BIT_EXT = 0x00000008 :: GLbitfield

    pattern $mGL_TEXTURE_FILTER4_SIZE_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_FILTER4_SIZE_SGIS :: GLenum
    GL_TEXTURE_FILTER4_SIZE_SGIS = 0x8147 :: GLenum

    pattern $mGL_TEXTURE_FILTER_CONTROL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_FILTER_CONTROL :: GLenum
    GL_TEXTURE_FILTER_CONTROL = 0x8500 :: GLenum

    pattern $mGL_TEXTURE_FILTER_CONTROL_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_FILTER_CONTROL_EXT :: GLenum
    GL_TEXTURE_FILTER_CONTROL_EXT = 0x8500 :: GLenum

    pattern $mGL_TEXTURE_FIXED_SAMPLE_LOCATIONS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_FIXED_SAMPLE_LOCATIONS :: GLenum
    GL_TEXTURE_FIXED_SAMPLE_LOCATIONS = 0x9107 :: GLenum

    pattern $mGL_TEXTURE_FLOAT_COMPONENTS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_FLOAT_COMPONENTS_NV :: GLenum
    GL_TEXTURE_FLOAT_COMPONENTS_NV = 0x888C :: GLenum

    pattern $mGL_TEXTURE_FORMAT_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_FORMAT_QCOM :: GLenum
    GL_TEXTURE_FORMAT_QCOM = 0x8BD6 :: GLenum

    pattern $mGL_TEXTURE_FORMAT_SRGB_OVERRIDE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_FORMAT_SRGB_OVERRIDE_EXT :: GLenum
    GL_TEXTURE_FORMAT_SRGB_OVERRIDE_EXT = 0x8FBF :: GLenum

    pattern $mGL_TEXTURE_FOVEATED_FEATURE_BITS_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_FOVEATED_FEATURE_BITS_QCOM :: GLenum
    GL_TEXTURE_FOVEATED_FEATURE_BITS_QCOM = 0x8BFB :: GLenum

    pattern $mGL_TEXTURE_FOVEATED_FEATURE_QUERY_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_FOVEATED_FEATURE_QUERY_QCOM :: GLenum
    GL_TEXTURE_FOVEATED_FEATURE_QUERY_QCOM = 0x8BFD :: GLenum

    pattern $mGL_TEXTURE_FOVEATED_MIN_PIXEL_DENSITY_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_FOVEATED_MIN_PIXEL_DENSITY_QCOM :: GLenum
    GL_TEXTURE_FOVEATED_MIN_PIXEL_DENSITY_QCOM = 0x8BFC :: GLenum

    pattern $mGL_TEXTURE_FOVEATED_NUM_FOCAL_POINTS_QUERY_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_FOVEATED_NUM_FOCAL_POINTS_QUERY_QCOM :: GLenum
    GL_TEXTURE_FOVEATED_NUM_FOCAL_POINTS_QUERY_QCOM = 0x8BFE :: GLenum

    pattern $mGL_TEXTURE_FREE_MEMORY_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_FREE_MEMORY_ATI :: GLenum
    GL_TEXTURE_FREE_MEMORY_ATI = 0x87FC :: GLenum

    pattern $mGL_TEXTURE_GATHER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_GATHER :: GLenum
    GL_TEXTURE_GATHER = 0x82A2 :: GLenum

    pattern $mGL_TEXTURE_GATHER_SHADOW :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_GATHER_SHADOW :: GLenum
    GL_TEXTURE_GATHER_SHADOW = 0x82A3 :: GLenum

    pattern $mGL_TEXTURE_GEN_MODE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_GEN_MODE :: GLenum
    GL_TEXTURE_GEN_MODE = 0x2500 :: GLenum

    pattern $mGL_TEXTURE_GEN_MODE_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_GEN_MODE_OES :: GLenum
    GL_TEXTURE_GEN_MODE_OES = 0x2500 :: GLenum

    pattern $mGL_TEXTURE_GEN_Q :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_GEN_Q :: GLenum
    GL_TEXTURE_GEN_Q = 0x0C63 :: GLenum

    pattern $mGL_TEXTURE_GEN_R :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_GEN_R :: GLenum
    GL_TEXTURE_GEN_R = 0x0C62 :: GLenum

    pattern $mGL_TEXTURE_GEN_S :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_GEN_S :: GLenum
    GL_TEXTURE_GEN_S = 0x0C60 :: GLenum

    pattern $mGL_TEXTURE_GEN_STR_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_GEN_STR_OES :: GLenum
    GL_TEXTURE_GEN_STR_OES = 0x8D60 :: GLenum

    pattern $mGL_TEXTURE_GEN_T :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_GEN_T :: GLenum
    GL_TEXTURE_GEN_T = 0x0C61 :: GLenum

    pattern $mGL_TEXTURE_GEQUAL_R_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_GEQUAL_R_SGIX :: GLenum
    GL_TEXTURE_GEQUAL_R_SGIX = 0x819D :: GLenum

    pattern $mGL_TEXTURE_GREEN_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_GREEN_SIZE :: GLenum
    GL_TEXTURE_GREEN_SIZE = 0x805D :: GLenum

    pattern $mGL_TEXTURE_GREEN_SIZE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_GREEN_SIZE_EXT :: GLenum
    GL_TEXTURE_GREEN_SIZE_EXT = 0x805D :: GLenum

    pattern $mGL_TEXTURE_GREEN_TYPE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_GREEN_TYPE :: GLenum
    GL_TEXTURE_GREEN_TYPE = 0x8C11 :: GLenum

    pattern $mGL_TEXTURE_GREEN_TYPE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_GREEN_TYPE_ARB :: GLenum
    GL_TEXTURE_GREEN_TYPE_ARB = 0x8C11 :: GLenum

    pattern $mGL_TEXTURE_HEIGHT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_HEIGHT :: GLenum
    GL_TEXTURE_HEIGHT = 0x1001 :: GLenum

    pattern $mGL_TEXTURE_HEIGHT_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_HEIGHT_QCOM :: GLenum
    GL_TEXTURE_HEIGHT_QCOM = 0x8BD3 :: GLenum

    pattern $mGL_TEXTURE_HI_SIZE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_HI_SIZE_NV :: GLenum
    GL_TEXTURE_HI_SIZE_NV = 0x871B :: GLenum

    pattern $mGL_TEXTURE_IMAGE_FORMAT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_IMAGE_FORMAT :: GLenum
    GL_TEXTURE_IMAGE_FORMAT = 0x828F :: GLenum

    pattern $mGL_TEXTURE_IMAGE_TYPE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_IMAGE_TYPE :: GLenum
    GL_TEXTURE_IMAGE_TYPE = 0x8290 :: GLenum

    pattern $mGL_TEXTURE_IMAGE_VALID_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_IMAGE_VALID_QCOM :: GLenum
    GL_TEXTURE_IMAGE_VALID_QCOM = 0x8BD8 :: GLenum

    pattern $mGL_TEXTURE_IMMUTABLE_FORMAT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_IMMUTABLE_FORMAT :: GLenum
    GL_TEXTURE_IMMUTABLE_FORMAT = 0x912F :: GLenum

    pattern $mGL_TEXTURE_IMMUTABLE_FORMAT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_IMMUTABLE_FORMAT_EXT :: GLenum
    GL_TEXTURE_IMMUTABLE_FORMAT_EXT = 0x912F :: GLenum

    pattern $mGL_TEXTURE_IMMUTABLE_LEVELS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_IMMUTABLE_LEVELS :: GLenum
    GL_TEXTURE_IMMUTABLE_LEVELS = 0x82DF :: GLenum

    pattern $mGL_TEXTURE_INDEX_SIZE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_INDEX_SIZE_EXT :: GLenum
    GL_TEXTURE_INDEX_SIZE_EXT = 0x80ED :: GLenum

    pattern $mGL_TEXTURE_INTENSITY_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_INTENSITY_SIZE :: GLenum
    GL_TEXTURE_INTENSITY_SIZE = 0x8061 :: GLenum

    pattern $mGL_TEXTURE_INTENSITY_SIZE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_INTENSITY_SIZE_EXT :: GLenum
    GL_TEXTURE_INTENSITY_SIZE_EXT = 0x8061 :: GLenum

    pattern $mGL_TEXTURE_INTENSITY_TYPE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_INTENSITY_TYPE :: GLenum
    GL_TEXTURE_INTENSITY_TYPE = 0x8C15 :: GLenum

    pattern $mGL_TEXTURE_INTENSITY_TYPE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_INTENSITY_TYPE_ARB :: GLenum
    GL_TEXTURE_INTENSITY_TYPE_ARB = 0x8C15 :: GLenum

    pattern $mGL_TEXTURE_INTERNAL_FORMAT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_INTERNAL_FORMAT :: GLenum
    GL_TEXTURE_INTERNAL_FORMAT = 0x1003 :: GLenum

    pattern $mGL_TEXTURE_INTERNAL_FORMAT_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_INTERNAL_FORMAT_QCOM :: GLenum
    GL_TEXTURE_INTERNAL_FORMAT_QCOM = 0x8BD5 :: GLenum

    pattern $mGL_TEXTURE_LEQUAL_R_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_LEQUAL_R_SGIX :: GLenum
    GL_TEXTURE_LEQUAL_R_SGIX = 0x819C :: GLenum

    pattern $mGL_TEXTURE_LIGHTING_MODE_HP :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_LIGHTING_MODE_HP :: GLenum
    GL_TEXTURE_LIGHTING_MODE_HP = 0x8167 :: GLenum

    pattern $mGL_TEXTURE_LIGHT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_LIGHT_EXT :: GLenum
    GL_TEXTURE_LIGHT_EXT = 0x8350 :: GLenum

    pattern $mGL_TEXTURE_LOD_BIAS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_LOD_BIAS :: GLenum
    GL_TEXTURE_LOD_BIAS = 0x8501 :: GLenum

    pattern $mGL_TEXTURE_LOD_BIAS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_LOD_BIAS_EXT :: GLenum
    GL_TEXTURE_LOD_BIAS_EXT = 0x8501 :: GLenum

    pattern $mGL_TEXTURE_LOD_BIAS_R_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_LOD_BIAS_R_SGIX :: GLenum
    GL_TEXTURE_LOD_BIAS_R_SGIX = 0x8190 :: GLenum

    pattern $mGL_TEXTURE_LOD_BIAS_S_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_LOD_BIAS_S_SGIX :: GLenum
    GL_TEXTURE_LOD_BIAS_S_SGIX = 0x818E :: GLenum

    pattern $mGL_TEXTURE_LOD_BIAS_T_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_LOD_BIAS_T_SGIX :: GLenum
    GL_TEXTURE_LOD_BIAS_T_SGIX = 0x818F :: GLenum

    pattern $mGL_TEXTURE_LO_SIZE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_LO_SIZE_NV :: GLenum
    GL_TEXTURE_LO_SIZE_NV = 0x871C :: GLenum

    pattern $mGL_TEXTURE_LUMINANCE_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_LUMINANCE_SIZE :: GLenum
    GL_TEXTURE_LUMINANCE_SIZE = 0x8060 :: GLenum

    pattern $mGL_TEXTURE_LUMINANCE_SIZE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_LUMINANCE_SIZE_EXT :: GLenum
    GL_TEXTURE_LUMINANCE_SIZE_EXT = 0x8060 :: GLenum

    pattern $mGL_TEXTURE_LUMINANCE_TYPE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_LUMINANCE_TYPE :: GLenum
    GL_TEXTURE_LUMINANCE_TYPE = 0x8C14 :: GLenum

    pattern $mGL_TEXTURE_LUMINANCE_TYPE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_LUMINANCE_TYPE_ARB :: GLenum
    GL_TEXTURE_LUMINANCE_TYPE_ARB = 0x8C14 :: GLenum

    pattern $mGL_TEXTURE_MAG_FILTER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_MAG_FILTER :: GLenum
    GL_TEXTURE_MAG_FILTER = 0x2800 :: GLenum

    pattern $mGL_TEXTURE_MAG_SIZE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_MAG_SIZE_NV :: GLenum
    GL_TEXTURE_MAG_SIZE_NV = 0x871F :: GLenum

    pattern $mGL_TEXTURE_MATERIAL_FACE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_MATERIAL_FACE_EXT :: GLenum
    GL_TEXTURE_MATERIAL_FACE_EXT = 0x8351 :: GLenum

    pattern $mGL_TEXTURE_MATERIAL_PARAMETER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_MATERIAL_PARAMETER_EXT :: GLenum
    GL_TEXTURE_MATERIAL_PARAMETER_EXT = 0x8352 :: GLenum

    pattern $mGL_TEXTURE_MATRIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_MATRIX :: GLenum
    GL_TEXTURE_MATRIX = 0x0BA8 :: GLenum

    pattern $mGL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES :: GLenum
    GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES = 0x898F :: GLenum

    pattern $mGL_TEXTURE_MAX_ANISOTROPY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_MAX_ANISOTROPY :: GLenum
    GL_TEXTURE_MAX_ANISOTROPY = 0x84FE :: GLenum

    pattern $mGL_TEXTURE_MAX_ANISOTROPY_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_MAX_ANISOTROPY_EXT :: GLenum
    GL_TEXTURE_MAX_ANISOTROPY_EXT = 0x84FE :: GLenum

    pattern $mGL_TEXTURE_MAX_CLAMP_R_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_MAX_CLAMP_R_SGIX :: GLenum
    GL_TEXTURE_MAX_CLAMP_R_SGIX = 0x836B :: GLenum

    pattern $mGL_TEXTURE_MAX_CLAMP_S_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_MAX_CLAMP_S_SGIX :: GLenum
    GL_TEXTURE_MAX_CLAMP_S_SGIX = 0x8369 :: GLenum

    pattern $mGL_TEXTURE_MAX_CLAMP_T_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_MAX_CLAMP_T_SGIX :: GLenum
    GL_TEXTURE_MAX_CLAMP_T_SGIX = 0x836A :: GLenum

    pattern $mGL_TEXTURE_MAX_LEVEL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_MAX_LEVEL :: GLenum
    GL_TEXTURE_MAX_LEVEL = 0x813D :: GLenum

    pattern $mGL_TEXTURE_MAX_LEVEL_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_MAX_LEVEL_APPLE :: GLenum
    GL_TEXTURE_MAX_LEVEL_APPLE = 0x813D :: GLenum

    pattern $mGL_TEXTURE_MAX_LEVEL_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_MAX_LEVEL_SGIS :: GLenum
    GL_TEXTURE_MAX_LEVEL_SGIS = 0x813D :: GLenum

    pattern $mGL_TEXTURE_MAX_LOD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_MAX_LOD :: GLenum
    GL_TEXTURE_MAX_LOD = 0x813B :: GLenum

    pattern $mGL_TEXTURE_MAX_LOD_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_MAX_LOD_SGIS :: GLenum
    GL_TEXTURE_MAX_LOD_SGIS = 0x813B :: GLenum

    pattern $mGL_TEXTURE_MEMORY_LAYOUT_INTEL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_MEMORY_LAYOUT_INTEL :: GLenum
    GL_TEXTURE_MEMORY_LAYOUT_INTEL = 0x83FF :: GLenum

    pattern $mGL_TEXTURE_MIN_FILTER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_MIN_FILTER :: GLenum
    GL_TEXTURE_MIN_FILTER = 0x2801 :: GLenum

    pattern $mGL_TEXTURE_MIN_LOD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_MIN_LOD :: GLenum
    GL_TEXTURE_MIN_LOD = 0x813A :: GLenum

    pattern $mGL_TEXTURE_MIN_LOD_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_MIN_LOD_SGIS :: GLenum
    GL_TEXTURE_MIN_LOD_SGIS = 0x813A :: GLenum

    pattern $mGL_TEXTURE_MULTI_BUFFER_HINT_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_MULTI_BUFFER_HINT_SGIX :: GLenum
    GL_TEXTURE_MULTI_BUFFER_HINT_SGIX = 0x812E :: GLenum

    pattern $mGL_TEXTURE_NORMAL_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_NORMAL_EXT :: GLenum
    GL_TEXTURE_NORMAL_EXT = 0x85AF :: GLenum

    pattern $mGL_TEXTURE_NUM_LEVELS_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_NUM_LEVELS_QCOM :: GLenum
    GL_TEXTURE_NUM_LEVELS_QCOM = 0x8BD9 :: GLenum

    pattern $mGL_TEXTURE_OBJECT_VALID_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_OBJECT_VALID_QCOM :: GLenum
    GL_TEXTURE_OBJECT_VALID_QCOM = 0x8BDB :: GLenum

    pattern $mGL_TEXTURE_POST_SPECULAR_HP :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_POST_SPECULAR_HP :: GLenum
    GL_TEXTURE_POST_SPECULAR_HP = 0x8168 :: GLenum

    pattern $mGL_TEXTURE_PRE_SPECULAR_HP :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_PRE_SPECULAR_HP :: GLenum
    GL_TEXTURE_PRE_SPECULAR_HP = 0x8169 :: GLenum

    pattern $mGL_TEXTURE_PRIORITY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_PRIORITY :: GLenum
    GL_TEXTURE_PRIORITY = 0x8066 :: GLenum

    pattern $mGL_TEXTURE_PRIORITY_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_PRIORITY_EXT :: GLenum
    GL_TEXTURE_PRIORITY_EXT = 0x8066 :: GLenum

    pattern $mGL_TEXTURE_PROTECTED_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_PROTECTED_EXT :: GLenum
    GL_TEXTURE_PROTECTED_EXT = 0x8BFA :: GLenum

    pattern $mGL_TEXTURE_RANGE_LENGTH_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_RANGE_LENGTH_APPLE :: GLenum
    GL_TEXTURE_RANGE_LENGTH_APPLE = 0x85B7 :: GLenum

    pattern $mGL_TEXTURE_RANGE_POINTER_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_RANGE_POINTER_APPLE :: GLenum
    GL_TEXTURE_RANGE_POINTER_APPLE = 0x85B8 :: GLenum

    pattern $mGL_TEXTURE_RECTANGLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_RECTANGLE :: GLenum
    GL_TEXTURE_RECTANGLE = 0x84F5 :: GLenum

    pattern $mGL_TEXTURE_RECTANGLE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_RECTANGLE_ARB :: GLenum
    GL_TEXTURE_RECTANGLE_ARB = 0x84F5 :: GLenum

    pattern $mGL_TEXTURE_RECTANGLE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_RECTANGLE_NV :: GLenum
    GL_TEXTURE_RECTANGLE_NV = 0x84F5 :: GLenum

    pattern $mGL_TEXTURE_REDUCTION_MODE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_REDUCTION_MODE_ARB :: GLenum
    GL_TEXTURE_REDUCTION_MODE_ARB = 0x9366 :: GLenum

    pattern $mGL_TEXTURE_REDUCTION_MODE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_REDUCTION_MODE_EXT :: GLenum
    GL_TEXTURE_REDUCTION_MODE_EXT = 0x9366 :: GLenum

    pattern $mGL_TEXTURE_RED_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_RED_SIZE :: GLenum
    GL_TEXTURE_RED_SIZE = 0x805C :: GLenum

    pattern $mGL_TEXTURE_RED_SIZE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_RED_SIZE_EXT :: GLenum
    GL_TEXTURE_RED_SIZE_EXT = 0x805C :: GLenum

    pattern $mGL_TEXTURE_RED_TYPE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_RED_TYPE :: GLenum
    GL_TEXTURE_RED_TYPE = 0x8C10 :: GLenum

    pattern $mGL_TEXTURE_RED_TYPE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_RED_TYPE_ARB :: GLenum
    GL_TEXTURE_RED_TYPE_ARB = 0x8C10 :: GLenum

    pattern $mGL_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV :: GLenum
    GL_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV = 0x8E54 :: GLenum

    pattern $mGL_TEXTURE_RENDERBUFFER_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_RENDERBUFFER_NV :: GLenum
    GL_TEXTURE_RENDERBUFFER_NV = 0x8E55 :: GLenum

    pattern $mGL_TEXTURE_RESIDENT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_RESIDENT :: GLenum
    GL_TEXTURE_RESIDENT = 0x8067 :: GLenum

    pattern $mGL_TEXTURE_RESIDENT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_RESIDENT_EXT :: GLenum
    GL_TEXTURE_RESIDENT_EXT = 0x8067 :: GLenum

    pattern $mGL_TEXTURE_SAMPLES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_SAMPLES :: GLenum
    GL_TEXTURE_SAMPLES = 0x9106 :: GLenum

    pattern $mGL_TEXTURE_SAMPLES_IMG :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_SAMPLES_IMG :: GLenum
    GL_TEXTURE_SAMPLES_IMG = 0x9136 :: GLenum

    pattern $mGL_TEXTURE_SHADER_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_SHADER_NV :: GLenum
    GL_TEXTURE_SHADER_NV = 0x86DE :: GLenum

    pattern $mGL_TEXTURE_SHADOW :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_SHADOW :: GLenum
    GL_TEXTURE_SHADOW = 0x82A1 :: GLenum

    pattern $mGL_TEXTURE_SHARED_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_SHARED_SIZE :: GLenum
    GL_TEXTURE_SHARED_SIZE = 0x8C3F :: GLenum

    pattern $mGL_TEXTURE_SHARED_SIZE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_SHARED_SIZE_EXT :: GLenum
    GL_TEXTURE_SHARED_SIZE_EXT = 0x8C3F :: GLenum

    pattern $mGL_TEXTURE_SPARSE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_SPARSE_ARB :: GLenum
    GL_TEXTURE_SPARSE_ARB = 0x91A6 :: GLenum

    pattern $mGL_TEXTURE_SPARSE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_SPARSE_EXT :: GLenum
    GL_TEXTURE_SPARSE_EXT = 0x91A6 :: GLenum

    pattern $mGL_TEXTURE_SRGB_DECODE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_SRGB_DECODE_EXT :: GLenum
    GL_TEXTURE_SRGB_DECODE_EXT = 0x8A48 :: GLenum

    pattern $mGL_TEXTURE_STACK_DEPTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_STACK_DEPTH :: GLenum
    GL_TEXTURE_STACK_DEPTH = 0x0BA5 :: GLenum

    pattern $mGL_TEXTURE_STENCIL_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_STENCIL_SIZE :: GLenum
    GL_TEXTURE_STENCIL_SIZE = 0x88F1 :: GLenum

    pattern $mGL_TEXTURE_STENCIL_SIZE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_STENCIL_SIZE_EXT :: GLenum
    GL_TEXTURE_STENCIL_SIZE_EXT = 0x88F1 :: GLenum

    pattern $mGL_TEXTURE_STORAGE_HINT_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_STORAGE_HINT_APPLE :: GLenum
    GL_TEXTURE_STORAGE_HINT_APPLE = 0x85BC :: GLenum

    pattern $mGL_TEXTURE_STORAGE_SPARSE_BIT_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_STORAGE_SPARSE_BIT_AMD :: GLenum
    GL_TEXTURE_STORAGE_SPARSE_BIT_AMD = 0x00000001 :: GLbitfield

    pattern $mGL_TEXTURE_SWIZZLE_A :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_SWIZZLE_A :: GLenum
    GL_TEXTURE_SWIZZLE_A = 0x8E45 :: GLenum

    pattern $mGL_TEXTURE_SWIZZLE_A_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_SWIZZLE_A_EXT :: GLenum
    GL_TEXTURE_SWIZZLE_A_EXT = 0x8E45 :: GLenum

    pattern $mGL_TEXTURE_SWIZZLE_B :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_SWIZZLE_B :: GLenum
    GL_TEXTURE_SWIZZLE_B = 0x8E44 :: GLenum

    pattern $mGL_TEXTURE_SWIZZLE_B_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_SWIZZLE_B_EXT :: GLenum
    GL_TEXTURE_SWIZZLE_B_EXT = 0x8E44 :: GLenum

    pattern $mGL_TEXTURE_SWIZZLE_G :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_SWIZZLE_G :: GLenum
    GL_TEXTURE_SWIZZLE_G = 0x8E43 :: GLenum

    pattern $mGL_TEXTURE_SWIZZLE_G_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_SWIZZLE_G_EXT :: GLenum
    GL_TEXTURE_SWIZZLE_G_EXT = 0x8E43 :: GLenum

    pattern $mGL_TEXTURE_SWIZZLE_R :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_SWIZZLE_R :: GLenum
    GL_TEXTURE_SWIZZLE_R = 0x8E42 :: GLenum

    pattern $mGL_TEXTURE_SWIZZLE_RGBA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_SWIZZLE_RGBA :: GLenum
    GL_TEXTURE_SWIZZLE_RGBA = 0x8E46 :: GLenum

    pattern $mGL_TEXTURE_SWIZZLE_RGBA_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_SWIZZLE_RGBA_EXT :: GLenum
    GL_TEXTURE_SWIZZLE_RGBA_EXT = 0x8E46 :: GLenum

    pattern $mGL_TEXTURE_SWIZZLE_R_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_SWIZZLE_R_EXT :: GLenum
    GL_TEXTURE_SWIZZLE_R_EXT = 0x8E42 :: GLenum

    pattern $mGL_TEXTURE_TARGET :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_TARGET :: GLenum
    GL_TEXTURE_TARGET = 0x1006 :: GLenum

    pattern $mGL_TEXTURE_TARGET_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_TARGET_QCOM :: GLenum
    GL_TEXTURE_TARGET_QCOM = 0x8BDA :: GLenum

    pattern $mGL_TEXTURE_TILING_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_TILING_EXT :: GLenum
    GL_TEXTURE_TILING_EXT = 0x9580 :: GLenum

    pattern $mGL_TEXTURE_TOO_LARGE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_TOO_LARGE_EXT :: GLenum
    GL_TEXTURE_TOO_LARGE_EXT = 0x8065 :: GLenum

    pattern $mGL_TEXTURE_TYPE_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_TYPE_QCOM :: GLenum
    GL_TEXTURE_TYPE_QCOM = 0x8BD7 :: GLenum

    pattern $mGL_TEXTURE_UNSIGNED_REMAP_MODE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_UNSIGNED_REMAP_MODE_NV :: GLenum
    GL_TEXTURE_UNSIGNED_REMAP_MODE_NV = 0x888F :: GLenum

    pattern $mGL_TEXTURE_UPDATE_BARRIER_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_UPDATE_BARRIER_BIT :: GLenum
    GL_TEXTURE_UPDATE_BARRIER_BIT = 0x00000100 :: GLbitfield

    pattern $mGL_TEXTURE_UPDATE_BARRIER_BIT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_UPDATE_BARRIER_BIT_EXT :: GLenum
    GL_TEXTURE_UPDATE_BARRIER_BIT_EXT = 0x00000100 :: GLbitfield

    pattern $mGL_TEXTURE_USAGE_ANGLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_USAGE_ANGLE :: GLenum
    GL_TEXTURE_USAGE_ANGLE = 0x93A2 :: GLenum

    pattern $mGL_TEXTURE_VIEW :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_VIEW :: GLenum
    GL_TEXTURE_VIEW = 0x82B5 :: GLenum

    pattern $mGL_TEXTURE_VIEW_MIN_LAYER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_VIEW_MIN_LAYER :: GLenum
    GL_TEXTURE_VIEW_MIN_LAYER = 0x82DD :: GLenum

    pattern $mGL_TEXTURE_VIEW_MIN_LAYER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_VIEW_MIN_LAYER_EXT :: GLenum
    GL_TEXTURE_VIEW_MIN_LAYER_EXT = 0x82DD :: GLenum

    pattern $mGL_TEXTURE_VIEW_MIN_LAYER_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_VIEW_MIN_LAYER_OES :: GLenum
    GL_TEXTURE_VIEW_MIN_LAYER_OES = 0x82DD :: GLenum

    pattern $mGL_TEXTURE_VIEW_MIN_LEVEL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_VIEW_MIN_LEVEL :: GLenum
    GL_TEXTURE_VIEW_MIN_LEVEL = 0x82DB :: GLenum

    pattern $mGL_TEXTURE_VIEW_MIN_LEVEL_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_VIEW_MIN_LEVEL_EXT :: GLenum
    GL_TEXTURE_VIEW_MIN_LEVEL_EXT = 0x82DB :: GLenum

    pattern $mGL_TEXTURE_VIEW_MIN_LEVEL_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_VIEW_MIN_LEVEL_OES :: GLenum
    GL_TEXTURE_VIEW_MIN_LEVEL_OES = 0x82DB :: GLenum

    pattern $mGL_TEXTURE_VIEW_NUM_LAYERS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_VIEW_NUM_LAYERS :: GLenum
    GL_TEXTURE_VIEW_NUM_LAYERS = 0x82DE :: GLenum

    pattern $mGL_TEXTURE_VIEW_NUM_LAYERS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_VIEW_NUM_LAYERS_EXT :: GLenum
    GL_TEXTURE_VIEW_NUM_LAYERS_EXT = 0x82DE :: GLenum

    pattern $mGL_TEXTURE_VIEW_NUM_LAYERS_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_VIEW_NUM_LAYERS_OES :: GLenum
    GL_TEXTURE_VIEW_NUM_LAYERS_OES = 0x82DE :: GLenum

    pattern $mGL_TEXTURE_VIEW_NUM_LEVELS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_VIEW_NUM_LEVELS :: GLenum
    GL_TEXTURE_VIEW_NUM_LEVELS = 0x82DC :: GLenum

    pattern $mGL_TEXTURE_VIEW_NUM_LEVELS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_VIEW_NUM_LEVELS_EXT :: GLenum
    GL_TEXTURE_VIEW_NUM_LEVELS_EXT = 0x82DC :: GLenum

    pattern $mGL_TEXTURE_VIEW_NUM_LEVELS_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_VIEW_NUM_LEVELS_OES :: GLenum
    GL_TEXTURE_VIEW_NUM_LEVELS_OES = 0x82DC :: GLenum

    pattern $mGL_TEXTURE_WIDTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_WIDTH :: GLenum
    GL_TEXTURE_WIDTH = 0x1000 :: GLenum

    pattern $mGL_TEXTURE_WIDTH_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_WIDTH_QCOM :: GLenum
    GL_TEXTURE_WIDTH_QCOM = 0x8BD2 :: GLenum

    pattern $mGL_TEXTURE_WRAP_Q_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_WRAP_Q_SGIS :: GLenum
    GL_TEXTURE_WRAP_Q_SGIS = 0x8137 :: GLenum

    pattern $mGL_TEXTURE_WRAP_R :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_WRAP_R :: GLenum
    GL_TEXTURE_WRAP_R = 0x8072 :: GLenum

    pattern $mGL_TEXTURE_WRAP_R_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_WRAP_R_EXT :: GLenum
    GL_TEXTURE_WRAP_R_EXT = 0x8072 :: GLenum

    pattern $mGL_TEXTURE_WRAP_R_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_WRAP_R_OES :: GLenum
    GL_TEXTURE_WRAP_R_OES = 0x8072 :: GLenum

    pattern $mGL_TEXTURE_WRAP_S :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_WRAP_S :: GLenum
    GL_TEXTURE_WRAP_S = 0x2802 :: GLenum

    pattern $mGL_TEXTURE_WRAP_T :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXTURE_WRAP_T :: GLenum
    GL_TEXTURE_WRAP_T = 0x2803 :: GLenum

    pattern $mGL_TEXT_FRAGMENT_SHADER_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TEXT_FRAGMENT_SHADER_ATI :: GLenum
    GL_TEXT_FRAGMENT_SHADER_ATI = 0x8200 :: GLenum

    pattern $mGL_TILE_RASTER_ORDER_FIXED_MESA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TILE_RASTER_ORDER_FIXED_MESA :: GLenum
    GL_TILE_RASTER_ORDER_FIXED_MESA = 0x8BB8 :: GLenum

    pattern $mGL_TILE_RASTER_ORDER_INCREASING_X_MESA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TILE_RASTER_ORDER_INCREASING_X_MESA :: GLenum
    GL_TILE_RASTER_ORDER_INCREASING_X_MESA = 0x8BB9 :: GLenum

    pattern $mGL_TILE_RASTER_ORDER_INCREASING_Y_MESA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TILE_RASTER_ORDER_INCREASING_Y_MESA :: GLenum
    GL_TILE_RASTER_ORDER_INCREASING_Y_MESA = 0x8BBA :: GLenum

    pattern $mGL_TILING_TYPES_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TILING_TYPES_EXT :: GLenum
    GL_TILING_TYPES_EXT = 0x9583 :: GLenum

    pattern $mGL_TIMEOUT_EXPIRED :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TIMEOUT_EXPIRED :: GLenum
    GL_TIMEOUT_EXPIRED = 0x911B :: GLenum

    pattern $mGL_TIMEOUT_EXPIRED_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TIMEOUT_EXPIRED_APPLE :: GLenum
    GL_TIMEOUT_EXPIRED_APPLE = 0x911B :: GLenum

    pattern $mGL_TIMEOUT_IGNORED :: forall {r}. GLuint64 -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TIMEOUT_IGNORED :: GLuint64
    GL_TIMEOUT_IGNORED = 0xFFFFFFFFFFFFFFFF :: GLuint64

    pattern $mGL_TIMEOUT_IGNORED_APPLE :: forall {r}. GLuint64 -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TIMEOUT_IGNORED_APPLE :: GLuint64
    GL_TIMEOUT_IGNORED_APPLE = 0xFFFFFFFFFFFFFFFF :: GLuint64

    pattern $mGL_TIMESTAMP :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TIMESTAMP :: GLenum
    GL_TIMESTAMP = 0x8E28 :: GLenum

    pattern $mGL_TIMESTAMP_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TIMESTAMP_EXT :: GLenum
    GL_TIMESTAMP_EXT = 0x8E28 :: GLenum

    pattern $mGL_TIME_ELAPSED :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TIME_ELAPSED :: GLenum
    GL_TIME_ELAPSED = 0x88BF :: GLenum

    pattern $mGL_TIME_ELAPSED_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TIME_ELAPSED_EXT :: GLenum
    GL_TIME_ELAPSED_EXT = 0x88BF :: GLenum

    pattern $mGL_TOP_LEVEL_ARRAY_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TOP_LEVEL_ARRAY_SIZE :: GLenum
    GL_TOP_LEVEL_ARRAY_SIZE = 0x930C :: GLenum

    pattern $mGL_TOP_LEVEL_ARRAY_STRIDE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TOP_LEVEL_ARRAY_STRIDE :: GLenum
    GL_TOP_LEVEL_ARRAY_STRIDE = 0x930D :: GLenum

    pattern $mGL_TRACE_ALL_BITS_MESA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRACE_ALL_BITS_MESA :: GLenum
    GL_TRACE_ALL_BITS_MESA = 0xFFFF :: GLbitfield

    pattern $mGL_TRACE_ARRAYS_BIT_MESA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRACE_ARRAYS_BIT_MESA :: GLenum
    GL_TRACE_ARRAYS_BIT_MESA = 0x0004 :: GLbitfield

    pattern $mGL_TRACE_ERRORS_BIT_MESA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRACE_ERRORS_BIT_MESA :: GLenum
    GL_TRACE_ERRORS_BIT_MESA = 0x0020 :: GLbitfield

    pattern $mGL_TRACE_MASK_MESA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRACE_MASK_MESA :: GLenum
    GL_TRACE_MASK_MESA = 0x8755 :: GLenum

    pattern $mGL_TRACE_NAME_MESA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRACE_NAME_MESA :: GLenum
    GL_TRACE_NAME_MESA = 0x8756 :: GLenum

    pattern $mGL_TRACE_OPERATIONS_BIT_MESA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRACE_OPERATIONS_BIT_MESA :: GLenum
    GL_TRACE_OPERATIONS_BIT_MESA = 0x0001 :: GLbitfield

    pattern $mGL_TRACE_PIXELS_BIT_MESA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRACE_PIXELS_BIT_MESA :: GLenum
    GL_TRACE_PIXELS_BIT_MESA = 0x0010 :: GLbitfield

    pattern $mGL_TRACE_PRIMITIVES_BIT_MESA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRACE_PRIMITIVES_BIT_MESA :: GLenum
    GL_TRACE_PRIMITIVES_BIT_MESA = 0x0002 :: GLbitfield

    pattern $mGL_TRACE_TEXTURES_BIT_MESA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRACE_TEXTURES_BIT_MESA :: GLenum
    GL_TRACE_TEXTURES_BIT_MESA = 0x0008 :: GLbitfield

    pattern $mGL_TRACK_MATRIX_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRACK_MATRIX_NV :: GLenum
    GL_TRACK_MATRIX_NV = 0x8648 :: GLenum

    pattern $mGL_TRACK_MATRIX_TRANSFORM_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRACK_MATRIX_TRANSFORM_NV :: GLenum
    GL_TRACK_MATRIX_TRANSFORM_NV = 0x8649 :: GLenum

    pattern $mGL_TRANSFORM_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSFORM_BIT :: GLenum
    GL_TRANSFORM_BIT = 0x00001000 :: GLbitfield

    pattern $mGL_TRANSFORM_FEEDBACK :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSFORM_FEEDBACK :: GLenum
    GL_TRANSFORM_FEEDBACK = 0x8E22 :: GLenum

    pattern $mGL_TRANSFORM_FEEDBACK_ACTIVE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSFORM_FEEDBACK_ACTIVE :: GLenum
    GL_TRANSFORM_FEEDBACK_ACTIVE = 0x8E24 :: GLenum

    pattern $mGL_TRANSFORM_FEEDBACK_ATTRIBS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSFORM_FEEDBACK_ATTRIBS_NV :: GLenum
    GL_TRANSFORM_FEEDBACK_ATTRIBS_NV = 0x8C7E :: GLenum

    pattern $mGL_TRANSFORM_FEEDBACK_BARRIER_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSFORM_FEEDBACK_BARRIER_BIT :: GLenum
    GL_TRANSFORM_FEEDBACK_BARRIER_BIT = 0x00000800 :: GLbitfield

    pattern $mGL_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT :: GLenum
    GL_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT = 0x00000800 :: GLbitfield

    pattern $mGL_TRANSFORM_FEEDBACK_BINDING :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSFORM_FEEDBACK_BINDING :: GLenum
    GL_TRANSFORM_FEEDBACK_BINDING = 0x8E25 :: GLenum

    pattern $mGL_TRANSFORM_FEEDBACK_BINDING_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSFORM_FEEDBACK_BINDING_NV :: GLenum
    GL_TRANSFORM_FEEDBACK_BINDING_NV = 0x8E25 :: GLenum

    pattern $mGL_TRANSFORM_FEEDBACK_BUFFER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSFORM_FEEDBACK_BUFFER :: GLenum
    GL_TRANSFORM_FEEDBACK_BUFFER = 0x8C8E :: GLenum

    pattern $mGL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE :: GLenum
    GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE = 0x8E24 :: GLenum

    pattern $mGL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV :: GLenum
    GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV = 0x8E24 :: GLenum

    pattern $mGL_TRANSFORM_FEEDBACK_BUFFER_BINDING :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSFORM_FEEDBACK_BUFFER_BINDING :: GLenum
    GL_TRANSFORM_FEEDBACK_BUFFER_BINDING = 0x8C8F :: GLenum

    pattern $mGL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT :: GLenum
    GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT = 0x8C8F :: GLenum

    pattern $mGL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV :: GLenum
    GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV = 0x8C8F :: GLenum

    pattern $mGL_TRANSFORM_FEEDBACK_BUFFER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSFORM_FEEDBACK_BUFFER_EXT :: GLenum
    GL_TRANSFORM_FEEDBACK_BUFFER_EXT = 0x8C8E :: GLenum

    pattern $mGL_TRANSFORM_FEEDBACK_BUFFER_INDEX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSFORM_FEEDBACK_BUFFER_INDEX :: GLenum
    GL_TRANSFORM_FEEDBACK_BUFFER_INDEX = 0x934B :: GLenum

    pattern $mGL_TRANSFORM_FEEDBACK_BUFFER_MODE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSFORM_FEEDBACK_BUFFER_MODE :: GLenum
    GL_TRANSFORM_FEEDBACK_BUFFER_MODE = 0x8C7F :: GLenum

    pattern $mGL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT :: GLenum
    GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT = 0x8C7F :: GLenum

    pattern $mGL_TRANSFORM_FEEDBACK_BUFFER_MODE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSFORM_FEEDBACK_BUFFER_MODE_NV :: GLenum
    GL_TRANSFORM_FEEDBACK_BUFFER_MODE_NV = 0x8C7F :: GLenum

    pattern $mGL_TRANSFORM_FEEDBACK_BUFFER_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSFORM_FEEDBACK_BUFFER_NV :: GLenum
    GL_TRANSFORM_FEEDBACK_BUFFER_NV = 0x8C8E :: GLenum

    pattern $mGL_TRANSFORM_FEEDBACK_BUFFER_PAUSED :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSFORM_FEEDBACK_BUFFER_PAUSED :: GLenum
    GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED = 0x8E23 :: GLenum

    pattern $mGL_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV :: GLenum
    GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV = 0x8E23 :: GLenum

    pattern $mGL_TRANSFORM_FEEDBACK_BUFFER_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSFORM_FEEDBACK_BUFFER_SIZE :: GLenum
    GL_TRANSFORM_FEEDBACK_BUFFER_SIZE = 0x8C85 :: GLenum

    pattern $mGL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT :: GLenum
    GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT = 0x8C85 :: GLenum

    pattern $mGL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV :: GLenum
    GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV = 0x8C85 :: GLenum

    pattern $mGL_TRANSFORM_FEEDBACK_BUFFER_START :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSFORM_FEEDBACK_BUFFER_START :: GLenum
    GL_TRANSFORM_FEEDBACK_BUFFER_START = 0x8C84 :: GLenum

    pattern $mGL_TRANSFORM_FEEDBACK_BUFFER_START_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSFORM_FEEDBACK_BUFFER_START_EXT :: GLenum
    GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT = 0x8C84 :: GLenum

    pattern $mGL_TRANSFORM_FEEDBACK_BUFFER_START_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSFORM_FEEDBACK_BUFFER_START_NV :: GLenum
    GL_TRANSFORM_FEEDBACK_BUFFER_START_NV = 0x8C84 :: GLenum

    pattern $mGL_TRANSFORM_FEEDBACK_BUFFER_STRIDE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSFORM_FEEDBACK_BUFFER_STRIDE :: GLenum
    GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE = 0x934C :: GLenum

    pattern $mGL_TRANSFORM_FEEDBACK_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSFORM_FEEDBACK_NV :: GLenum
    GL_TRANSFORM_FEEDBACK_NV = 0x8E22 :: GLenum

    pattern $mGL_TRANSFORM_FEEDBACK_OVERFLOW :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSFORM_FEEDBACK_OVERFLOW :: GLenum
    GL_TRANSFORM_FEEDBACK_OVERFLOW = 0x82EC :: GLenum

    pattern $mGL_TRANSFORM_FEEDBACK_OVERFLOW_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSFORM_FEEDBACK_OVERFLOW_ARB :: GLenum
    GL_TRANSFORM_FEEDBACK_OVERFLOW_ARB = 0x82EC :: GLenum

    pattern $mGL_TRANSFORM_FEEDBACK_PAUSED :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSFORM_FEEDBACK_PAUSED :: GLenum
    GL_TRANSFORM_FEEDBACK_PAUSED = 0x8E23 :: GLenum

    pattern $mGL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN :: GLenum
    GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = 0x8C88 :: GLenum

    pattern $mGL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT :: GLenum
    GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT = 0x8C88 :: GLenum

    pattern $mGL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV :: GLenum
    GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV = 0x8C88 :: GLenum

    pattern $mGL_TRANSFORM_FEEDBACK_RECORD_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSFORM_FEEDBACK_RECORD_NV :: GLenum
    GL_TRANSFORM_FEEDBACK_RECORD_NV = 0x8C86 :: GLenum

    pattern $mGL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW :: GLenum
    GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW = 0x82ED :: GLenum

    pattern $mGL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB :: GLenum
    GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB = 0x82ED :: GLenum

    pattern $mGL_TRANSFORM_FEEDBACK_VARYING :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSFORM_FEEDBACK_VARYING :: GLenum
    GL_TRANSFORM_FEEDBACK_VARYING = 0x92F4 :: GLenum

    pattern $mGL_TRANSFORM_FEEDBACK_VARYINGS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSFORM_FEEDBACK_VARYINGS :: GLenum
    GL_TRANSFORM_FEEDBACK_VARYINGS = 0x8C83 :: GLenum

    pattern $mGL_TRANSFORM_FEEDBACK_VARYINGS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSFORM_FEEDBACK_VARYINGS_EXT :: GLenum
    GL_TRANSFORM_FEEDBACK_VARYINGS_EXT = 0x8C83 :: GLenum

    pattern $mGL_TRANSFORM_FEEDBACK_VARYINGS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSFORM_FEEDBACK_VARYINGS_NV :: GLenum
    GL_TRANSFORM_FEEDBACK_VARYINGS_NV = 0x8C83 :: GLenum

    pattern $mGL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH :: GLenum
    GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH = 0x8C76 :: GLenum

    pattern $mGL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT :: GLenum
    GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT = 0x8C76 :: GLenum

    pattern $mGL_TRANSFORM_HINT_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSFORM_HINT_APPLE :: GLenum
    GL_TRANSFORM_HINT_APPLE = 0x85B1 :: GLenum

    pattern $mGL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE :: GLenum
    GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE = 0x93A0 :: GLenum

    pattern $mGL_TRANSLATE_2D_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSLATE_2D_NV :: GLenum
    GL_TRANSLATE_2D_NV = 0x9090 :: GLenum

    pattern $mGL_TRANSLATE_3D_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSLATE_3D_NV :: GLenum
    GL_TRANSLATE_3D_NV = 0x9091 :: GLenum

    pattern $mGL_TRANSLATE_X_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSLATE_X_NV :: GLenum
    GL_TRANSLATE_X_NV = 0x908E :: GLenum

    pattern $mGL_TRANSLATE_Y_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSLATE_Y_NV :: GLenum
    GL_TRANSLATE_Y_NV = 0x908F :: GLenum

    pattern $mGL_TRANSPOSE_AFFINE_2D_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSPOSE_AFFINE_2D_NV :: GLenum
    GL_TRANSPOSE_AFFINE_2D_NV = 0x9096 :: GLenum

    pattern $mGL_TRANSPOSE_AFFINE_3D_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSPOSE_AFFINE_3D_NV :: GLenum
    GL_TRANSPOSE_AFFINE_3D_NV = 0x9098 :: GLenum

    pattern $mGL_TRANSPOSE_COLOR_MATRIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSPOSE_COLOR_MATRIX :: GLenum
    GL_TRANSPOSE_COLOR_MATRIX = 0x84E6 :: GLenum

    pattern $mGL_TRANSPOSE_COLOR_MATRIX_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSPOSE_COLOR_MATRIX_ARB :: GLenum
    GL_TRANSPOSE_COLOR_MATRIX_ARB = 0x84E6 :: GLenum

    pattern $mGL_TRANSPOSE_CURRENT_MATRIX_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSPOSE_CURRENT_MATRIX_ARB :: GLenum
    GL_TRANSPOSE_CURRENT_MATRIX_ARB = 0x88B7 :: GLenum

    pattern $mGL_TRANSPOSE_MODELVIEW_MATRIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSPOSE_MODELVIEW_MATRIX :: GLenum
    GL_TRANSPOSE_MODELVIEW_MATRIX = 0x84E3 :: GLenum

    pattern $mGL_TRANSPOSE_MODELVIEW_MATRIX_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSPOSE_MODELVIEW_MATRIX_ARB :: GLenum
    GL_TRANSPOSE_MODELVIEW_MATRIX_ARB = 0x84E3 :: GLenum

    pattern $mGL_TRANSPOSE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSPOSE_NV :: GLenum
    GL_TRANSPOSE_NV = 0x862C :: GLenum

    pattern $mGL_TRANSPOSE_PROGRAM_MATRIX_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSPOSE_PROGRAM_MATRIX_EXT :: GLenum
    GL_TRANSPOSE_PROGRAM_MATRIX_EXT = 0x8E2E :: GLenum

    pattern $mGL_TRANSPOSE_PROJECTION_MATRIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSPOSE_PROJECTION_MATRIX :: GLenum
    GL_TRANSPOSE_PROJECTION_MATRIX = 0x84E4 :: GLenum

    pattern $mGL_TRANSPOSE_PROJECTION_MATRIX_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSPOSE_PROJECTION_MATRIX_ARB :: GLenum
    GL_TRANSPOSE_PROJECTION_MATRIX_ARB = 0x84E4 :: GLenum

    pattern $mGL_TRANSPOSE_TEXTURE_MATRIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSPOSE_TEXTURE_MATRIX :: GLenum
    GL_TRANSPOSE_TEXTURE_MATRIX = 0x84E5 :: GLenum

    pattern $mGL_TRANSPOSE_TEXTURE_MATRIX_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRANSPOSE_TEXTURE_MATRIX_ARB :: GLenum
    GL_TRANSPOSE_TEXTURE_MATRIX_ARB = 0x84E5 :: GLenum

    pattern $mGL_TRIANGLES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRIANGLES :: GLenum
    GL_TRIANGLES = 0x0004 :: GLenum

    pattern $mGL_TRIANGLES_ADJACENCY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRIANGLES_ADJACENCY :: GLenum
    GL_TRIANGLES_ADJACENCY = 0x000C :: GLenum

    pattern $mGL_TRIANGLES_ADJACENCY_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRIANGLES_ADJACENCY_ARB :: GLenum
    GL_TRIANGLES_ADJACENCY_ARB = 0x000C :: GLenum

    pattern $mGL_TRIANGLES_ADJACENCY_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRIANGLES_ADJACENCY_EXT :: GLenum
    GL_TRIANGLES_ADJACENCY_EXT = 0x000C :: GLenum

    pattern $mGL_TRIANGLES_ADJACENCY_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRIANGLES_ADJACENCY_OES :: GLenum
    GL_TRIANGLES_ADJACENCY_OES = 0x000C :: GLenum

    pattern $mGL_TRIANGLE_FAN :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRIANGLE_FAN :: GLenum
    GL_TRIANGLE_FAN = 0x0006 :: GLenum

    pattern $mGL_TRIANGLE_LIST_SUN :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRIANGLE_LIST_SUN :: GLenum
    GL_TRIANGLE_LIST_SUN = 0x81D7 :: GLenum

    pattern $mGL_TRIANGLE_MESH_SUN :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRIANGLE_MESH_SUN :: GLenum
    GL_TRIANGLE_MESH_SUN = 0x8615 :: GLenum

    pattern $mGL_TRIANGLE_STRIP :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRIANGLE_STRIP :: GLenum
    GL_TRIANGLE_STRIP = 0x0005 :: GLenum

    pattern $mGL_TRIANGLE_STRIP_ADJACENCY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRIANGLE_STRIP_ADJACENCY :: GLenum
    GL_TRIANGLE_STRIP_ADJACENCY = 0x000D :: GLenum

    pattern $mGL_TRIANGLE_STRIP_ADJACENCY_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRIANGLE_STRIP_ADJACENCY_ARB :: GLenum
    GL_TRIANGLE_STRIP_ADJACENCY_ARB = 0x000D :: GLenum

    pattern $mGL_TRIANGLE_STRIP_ADJACENCY_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRIANGLE_STRIP_ADJACENCY_EXT :: GLenum
    GL_TRIANGLE_STRIP_ADJACENCY_EXT = 0x000D :: GLenum

    pattern $mGL_TRIANGLE_STRIP_ADJACENCY_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRIANGLE_STRIP_ADJACENCY_OES :: GLenum
    GL_TRIANGLE_STRIP_ADJACENCY_OES = 0x000D :: GLenum

    pattern $mGL_TRIANGULAR_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRIANGULAR_NV :: GLenum
    GL_TRIANGULAR_NV = 0x90A5 :: GLenum

    pattern $mGL_TRUE :: forall {r}. GLubyte -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TRUE :: GLubyte
    GL_TRUE = 1 :: GLboolean

    pattern $mGL_TYPE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_TYPE :: GLenum
    GL_TYPE = 0x92FA :: GLenum

    pattern $mGL_UNCORRELATED_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNCORRELATED_NV :: GLenum
    GL_UNCORRELATED_NV = 0x9282 :: GLenum

    pattern $mGL_UNDEFINED_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNDEFINED_APPLE :: GLenum
    GL_UNDEFINED_APPLE = 0x8A1C :: GLenum

    pattern $mGL_UNDEFINED_VERTEX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNDEFINED_VERTEX :: GLenum
    GL_UNDEFINED_VERTEX = 0x8260 :: GLenum

    pattern $mGL_UNDEFINED_VERTEX_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNDEFINED_VERTEX_EXT :: GLenum
    GL_UNDEFINED_VERTEX_EXT = 0x8260 :: GLenum

    pattern $mGL_UNDEFINED_VERTEX_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNDEFINED_VERTEX_OES :: GLenum
    GL_UNDEFINED_VERTEX_OES = 0x8260 :: GLenum

    pattern $mGL_UNIFORM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNIFORM :: GLenum
    GL_UNIFORM = 0x92E1 :: GLenum

    pattern $mGL_UNIFORM_ADDRESS_COMMAND_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNIFORM_ADDRESS_COMMAND_NV :: GLenum
    GL_UNIFORM_ADDRESS_COMMAND_NV = 0x000A :: GLenum

    pattern $mGL_UNIFORM_ARRAY_STRIDE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNIFORM_ARRAY_STRIDE :: GLenum
    GL_UNIFORM_ARRAY_STRIDE = 0x8A3C :: GLenum

    pattern $mGL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX :: GLenum
    GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX = 0x92DA :: GLenum

    pattern $mGL_UNIFORM_BARRIER_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNIFORM_BARRIER_BIT :: GLenum
    GL_UNIFORM_BARRIER_BIT = 0x00000004 :: GLbitfield

    pattern $mGL_UNIFORM_BARRIER_BIT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNIFORM_BARRIER_BIT_EXT :: GLenum
    GL_UNIFORM_BARRIER_BIT_EXT = 0x00000004 :: GLbitfield

    pattern $mGL_UNIFORM_BLOCK :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNIFORM_BLOCK :: GLenum
    GL_UNIFORM_BLOCK = 0x92E2 :: GLenum

    pattern $mGL_UNIFORM_BLOCK_ACTIVE_UNIFORMS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNIFORM_BLOCK_ACTIVE_UNIFORMS :: GLenum
    GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS = 0x8A42 :: GLenum

    pattern $mGL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES :: GLenum
    GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 0x8A43 :: GLenum

    pattern $mGL_UNIFORM_BLOCK_BINDING :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNIFORM_BLOCK_BINDING :: GLenum
    GL_UNIFORM_BLOCK_BINDING = 0x8A3F :: GLenum

    pattern $mGL_UNIFORM_BLOCK_DATA_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNIFORM_BLOCK_DATA_SIZE :: GLenum
    GL_UNIFORM_BLOCK_DATA_SIZE = 0x8A40 :: GLenum

    pattern $mGL_UNIFORM_BLOCK_INDEX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNIFORM_BLOCK_INDEX :: GLenum
    GL_UNIFORM_BLOCK_INDEX = 0x8A3A :: GLenum

    pattern $mGL_UNIFORM_BLOCK_NAME_LENGTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNIFORM_BLOCK_NAME_LENGTH :: GLenum
    GL_UNIFORM_BLOCK_NAME_LENGTH = 0x8A41 :: GLenum

    pattern $mGL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER :: GLenum
    GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER = 0x90EC :: GLenum

    pattern $mGL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER :: GLenum
    GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 0x8A46 :: GLenum

    pattern $mGL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER :: GLenum
    GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER = 0x8A45 :: GLenum

    pattern $mGL_UNIFORM_BLOCK_REFERENCED_BY_MESH_SHADER_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNIFORM_BLOCK_REFERENCED_BY_MESH_SHADER_NV :: GLenum
    GL_UNIFORM_BLOCK_REFERENCED_BY_MESH_SHADER_NV = 0x959C :: GLenum

    pattern $mGL_UNIFORM_BLOCK_REFERENCED_BY_TASK_SHADER_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNIFORM_BLOCK_REFERENCED_BY_TASK_SHADER_NV :: GLenum
    GL_UNIFORM_BLOCK_REFERENCED_BY_TASK_SHADER_NV = 0x959D :: GLenum

    pattern $mGL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER :: GLenum
    GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER = 0x84F0 :: GLenum

    pattern $mGL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER :: GLenum
    GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x84F1 :: GLenum

    pattern $mGL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER :: GLenum
    GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 0x8A44 :: GLenum

    pattern $mGL_UNIFORM_BUFFER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNIFORM_BUFFER :: GLenum
    GL_UNIFORM_BUFFER = 0x8A11 :: GLenum

    pattern $mGL_UNIFORM_BUFFER_ADDRESS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNIFORM_BUFFER_ADDRESS_NV :: GLenum
    GL_UNIFORM_BUFFER_ADDRESS_NV = 0x936F :: GLenum

    pattern $mGL_UNIFORM_BUFFER_BINDING :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNIFORM_BUFFER_BINDING :: GLenum
    GL_UNIFORM_BUFFER_BINDING = 0x8A28 :: GLenum

    pattern $mGL_UNIFORM_BUFFER_BINDING_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNIFORM_BUFFER_BINDING_EXT :: GLenum
    GL_UNIFORM_BUFFER_BINDING_EXT = 0x8DEF :: GLenum

    pattern $mGL_UNIFORM_BUFFER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNIFORM_BUFFER_EXT :: GLenum
    GL_UNIFORM_BUFFER_EXT = 0x8DEE :: GLenum

    pattern $mGL_UNIFORM_BUFFER_LENGTH_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNIFORM_BUFFER_LENGTH_NV :: GLenum
    GL_UNIFORM_BUFFER_LENGTH_NV = 0x9370 :: GLenum

    pattern $mGL_UNIFORM_BUFFER_OFFSET_ALIGNMENT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNIFORM_BUFFER_OFFSET_ALIGNMENT :: GLenum
    GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT = 0x8A34 :: GLenum

    pattern $mGL_UNIFORM_BUFFER_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNIFORM_BUFFER_SIZE :: GLenum
    GL_UNIFORM_BUFFER_SIZE = 0x8A2A :: GLenum

    pattern $mGL_UNIFORM_BUFFER_START :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNIFORM_BUFFER_START :: GLenum
    GL_UNIFORM_BUFFER_START = 0x8A29 :: GLenum

    pattern $mGL_UNIFORM_BUFFER_UNIFIED_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNIFORM_BUFFER_UNIFIED_NV :: GLenum
    GL_UNIFORM_BUFFER_UNIFIED_NV = 0x936E :: GLenum

    pattern $mGL_UNIFORM_IS_ROW_MAJOR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNIFORM_IS_ROW_MAJOR :: GLenum
    GL_UNIFORM_IS_ROW_MAJOR = 0x8A3E :: GLenum

    pattern $mGL_UNIFORM_MATRIX_STRIDE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNIFORM_MATRIX_STRIDE :: GLenum
    GL_UNIFORM_MATRIX_STRIDE = 0x8A3D :: GLenum

    pattern $mGL_UNIFORM_NAME_LENGTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNIFORM_NAME_LENGTH :: GLenum
    GL_UNIFORM_NAME_LENGTH = 0x8A39 :: GLenum

    pattern $mGL_UNIFORM_OFFSET :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNIFORM_OFFSET :: GLenum
    GL_UNIFORM_OFFSET = 0x8A3B :: GLenum

    pattern $mGL_UNIFORM_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNIFORM_SIZE :: GLenum
    GL_UNIFORM_SIZE = 0x8A38 :: GLenum

    pattern $mGL_UNIFORM_TYPE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNIFORM_TYPE :: GLenum
    GL_UNIFORM_TYPE = 0x8A37 :: GLenum

    pattern $mGL_UNKNOWN_CONTEXT_RESET :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNKNOWN_CONTEXT_RESET :: GLenum
    GL_UNKNOWN_CONTEXT_RESET = 0x8255 :: GLenum

    pattern $mGL_UNKNOWN_CONTEXT_RESET_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNKNOWN_CONTEXT_RESET_ARB :: GLenum
    GL_UNKNOWN_CONTEXT_RESET_ARB = 0x8255 :: GLenum

    pattern $mGL_UNKNOWN_CONTEXT_RESET_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNKNOWN_CONTEXT_RESET_EXT :: GLenum
    GL_UNKNOWN_CONTEXT_RESET_EXT = 0x8255 :: GLenum

    pattern $mGL_UNKNOWN_CONTEXT_RESET_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNKNOWN_CONTEXT_RESET_KHR :: GLenum
    GL_UNKNOWN_CONTEXT_RESET_KHR = 0x8255 :: GLenum

    pattern $mGL_UNPACK_ALIGNMENT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNPACK_ALIGNMENT :: GLenum
    GL_UNPACK_ALIGNMENT = 0x0CF5 :: GLenum

    pattern $mGL_UNPACK_CLIENT_STORAGE_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNPACK_CLIENT_STORAGE_APPLE :: GLenum
    GL_UNPACK_CLIENT_STORAGE_APPLE = 0x85B2 :: GLenum

    pattern $mGL_UNPACK_CMYK_HINT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNPACK_CMYK_HINT_EXT :: GLenum
    GL_UNPACK_CMYK_HINT_EXT = 0x800F :: GLenum

    pattern $mGL_UNPACK_COLORSPACE_CONVERSION_WEBGL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNPACK_COLORSPACE_CONVERSION_WEBGL :: GLenum
    GL_UNPACK_COLORSPACE_CONVERSION_WEBGL = 0x9243 :: GLenum

    pattern $mGL_UNPACK_COMPRESSED_BLOCK_DEPTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNPACK_COMPRESSED_BLOCK_DEPTH :: GLenum
    GL_UNPACK_COMPRESSED_BLOCK_DEPTH = 0x9129 :: GLenum

    pattern $mGL_UNPACK_COMPRESSED_BLOCK_HEIGHT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNPACK_COMPRESSED_BLOCK_HEIGHT :: GLenum
    GL_UNPACK_COMPRESSED_BLOCK_HEIGHT = 0x9128 :: GLenum

    pattern $mGL_UNPACK_COMPRESSED_BLOCK_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNPACK_COMPRESSED_BLOCK_SIZE :: GLenum
    GL_UNPACK_COMPRESSED_BLOCK_SIZE = 0x912A :: GLenum

    pattern $mGL_UNPACK_COMPRESSED_BLOCK_WIDTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNPACK_COMPRESSED_BLOCK_WIDTH :: GLenum
    GL_UNPACK_COMPRESSED_BLOCK_WIDTH = 0x9127 :: GLenum

    pattern $mGL_UNPACK_COMPRESSED_SIZE_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNPACK_COMPRESSED_SIZE_SGIX :: GLenum
    GL_UNPACK_COMPRESSED_SIZE_SGIX = 0x831A :: GLenum

    pattern $mGL_UNPACK_CONSTANT_DATA_SUNX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNPACK_CONSTANT_DATA_SUNX :: GLenum
    GL_UNPACK_CONSTANT_DATA_SUNX = 0x81D5 :: GLenum

    pattern $mGL_UNPACK_FLIP_Y_WEBGL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNPACK_FLIP_Y_WEBGL :: GLenum
    GL_UNPACK_FLIP_Y_WEBGL = 0x9240 :: GLenum

    pattern $mGL_UNPACK_IMAGE_DEPTH_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNPACK_IMAGE_DEPTH_SGIS :: GLenum
    GL_UNPACK_IMAGE_DEPTH_SGIS = 0x8133 :: GLenum

    pattern $mGL_UNPACK_IMAGE_HEIGHT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNPACK_IMAGE_HEIGHT :: GLenum
    GL_UNPACK_IMAGE_HEIGHT = 0x806E :: GLenum

    pattern $mGL_UNPACK_IMAGE_HEIGHT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNPACK_IMAGE_HEIGHT_EXT :: GLenum
    GL_UNPACK_IMAGE_HEIGHT_EXT = 0x806E :: GLenum

    pattern $mGL_UNPACK_LSB_FIRST :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNPACK_LSB_FIRST :: GLenum
    GL_UNPACK_LSB_FIRST = 0x0CF1 :: GLenum

    pattern $mGL_UNPACK_PREMULTIPLY_ALPHA_WEBGL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNPACK_PREMULTIPLY_ALPHA_WEBGL :: GLenum
    GL_UNPACK_PREMULTIPLY_ALPHA_WEBGL = 0x9241 :: GLenum

    pattern $mGL_UNPACK_RESAMPLE_OML :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNPACK_RESAMPLE_OML :: GLenum
    GL_UNPACK_RESAMPLE_OML = 0x8985 :: GLenum

    pattern $mGL_UNPACK_RESAMPLE_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNPACK_RESAMPLE_SGIX :: GLenum
    GL_UNPACK_RESAMPLE_SGIX = 0x842F :: GLenum

    pattern $mGL_UNPACK_ROW_BYTES_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNPACK_ROW_BYTES_APPLE :: GLenum
    GL_UNPACK_ROW_BYTES_APPLE = 0x8A16 :: GLenum

    pattern $mGL_UNPACK_ROW_LENGTH :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNPACK_ROW_LENGTH :: GLenum
    GL_UNPACK_ROW_LENGTH = 0x0CF2 :: GLenum

    pattern $mGL_UNPACK_ROW_LENGTH_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNPACK_ROW_LENGTH_EXT :: GLenum
    GL_UNPACK_ROW_LENGTH_EXT = 0x0CF2 :: GLenum

    pattern $mGL_UNPACK_SKIP_IMAGES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNPACK_SKIP_IMAGES :: GLenum
    GL_UNPACK_SKIP_IMAGES = 0x806D :: GLenum

    pattern $mGL_UNPACK_SKIP_IMAGES_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNPACK_SKIP_IMAGES_EXT :: GLenum
    GL_UNPACK_SKIP_IMAGES_EXT = 0x806D :: GLenum

    pattern $mGL_UNPACK_SKIP_PIXELS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNPACK_SKIP_PIXELS :: GLenum
    GL_UNPACK_SKIP_PIXELS = 0x0CF4 :: GLenum

    pattern $mGL_UNPACK_SKIP_PIXELS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNPACK_SKIP_PIXELS_EXT :: GLenum
    GL_UNPACK_SKIP_PIXELS_EXT = 0x0CF4 :: GLenum

    pattern $mGL_UNPACK_SKIP_ROWS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNPACK_SKIP_ROWS :: GLenum
    GL_UNPACK_SKIP_ROWS = 0x0CF3 :: GLenum

    pattern $mGL_UNPACK_SKIP_ROWS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNPACK_SKIP_ROWS_EXT :: GLenum
    GL_UNPACK_SKIP_ROWS_EXT = 0x0CF3 :: GLenum

    pattern $mGL_UNPACK_SKIP_VOLUMES_SGIS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNPACK_SKIP_VOLUMES_SGIS :: GLenum
    GL_UNPACK_SKIP_VOLUMES_SGIS = 0x8132 :: GLenum

    pattern $mGL_UNPACK_SUBSAMPLE_RATE_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNPACK_SUBSAMPLE_RATE_SGIX :: GLenum
    GL_UNPACK_SUBSAMPLE_RATE_SGIX = 0x85A1 :: GLenum

    pattern $mGL_UNPACK_SWAP_BYTES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNPACK_SWAP_BYTES :: GLenum
    GL_UNPACK_SWAP_BYTES = 0x0CF0 :: GLenum

    pattern $mGL_UNSIGNALED :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNALED :: GLenum
    GL_UNSIGNALED = 0x9118 :: GLenum

    pattern $mGL_UNSIGNALED_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNALED_APPLE :: GLenum
    GL_UNSIGNALED_APPLE = 0x9118 :: GLenum

    pattern $mGL_UNSIGNED_BYTE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_BYTE :: GLenum
    GL_UNSIGNED_BYTE = 0x1401 :: GLenum

    pattern $mGL_UNSIGNED_BYTE_2_3_3_REV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_BYTE_2_3_3_REV :: GLenum
    GL_UNSIGNED_BYTE_2_3_3_REV = 0x8362 :: GLenum

    pattern $mGL_UNSIGNED_BYTE_2_3_3_REV_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_BYTE_2_3_3_REV_EXT :: GLenum
    GL_UNSIGNED_BYTE_2_3_3_REV_EXT = 0x8362 :: GLenum

    pattern $mGL_UNSIGNED_BYTE_3_3_2 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_BYTE_3_3_2 :: GLenum
    GL_UNSIGNED_BYTE_3_3_2 = 0x8032 :: GLenum

    pattern $mGL_UNSIGNED_BYTE_3_3_2_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_BYTE_3_3_2_EXT :: GLenum
    GL_UNSIGNED_BYTE_3_3_2_EXT = 0x8032 :: GLenum

    pattern $mGL_UNSIGNED_IDENTITY_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_IDENTITY_NV :: GLenum
    GL_UNSIGNED_IDENTITY_NV = 0x8536 :: GLenum

    pattern $mGL_UNSIGNED_INT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT :: GLenum
    GL_UNSIGNED_INT = 0x1405 :: GLenum

    pattern $mGL_UNSIGNED_INT16_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT16_NV :: GLenum
    GL_UNSIGNED_INT16_NV = 0x8FF0 :: GLenum

    pattern $mGL_UNSIGNED_INT16_VEC2_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT16_VEC2_NV :: GLenum
    GL_UNSIGNED_INT16_VEC2_NV = 0x8FF1 :: GLenum

    pattern $mGL_UNSIGNED_INT16_VEC3_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT16_VEC3_NV :: GLenum
    GL_UNSIGNED_INT16_VEC3_NV = 0x8FF2 :: GLenum

    pattern $mGL_UNSIGNED_INT16_VEC4_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT16_VEC4_NV :: GLenum
    GL_UNSIGNED_INT16_VEC4_NV = 0x8FF3 :: GLenum

    pattern $mGL_UNSIGNED_INT64_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT64_AMD :: GLenum
    GL_UNSIGNED_INT64_AMD = 0x8BC2 :: GLenum

    pattern $mGL_UNSIGNED_INT64_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT64_ARB :: GLenum
    GL_UNSIGNED_INT64_ARB = 0x140F :: GLenum

    pattern $mGL_UNSIGNED_INT64_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT64_NV :: GLenum
    GL_UNSIGNED_INT64_NV = 0x140F :: GLenum

    pattern $mGL_UNSIGNED_INT64_VEC2_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT64_VEC2_ARB :: GLenum
    GL_UNSIGNED_INT64_VEC2_ARB = 0x8FF5 :: GLenum

    pattern $mGL_UNSIGNED_INT64_VEC2_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT64_VEC2_NV :: GLenum
    GL_UNSIGNED_INT64_VEC2_NV = 0x8FF5 :: GLenum

    pattern $mGL_UNSIGNED_INT64_VEC3_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT64_VEC3_ARB :: GLenum
    GL_UNSIGNED_INT64_VEC3_ARB = 0x8FF6 :: GLenum

    pattern $mGL_UNSIGNED_INT64_VEC3_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT64_VEC3_NV :: GLenum
    GL_UNSIGNED_INT64_VEC3_NV = 0x8FF6 :: GLenum

    pattern $mGL_UNSIGNED_INT64_VEC4_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT64_VEC4_ARB :: GLenum
    GL_UNSIGNED_INT64_VEC4_ARB = 0x8FF7 :: GLenum

    pattern $mGL_UNSIGNED_INT64_VEC4_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT64_VEC4_NV :: GLenum
    GL_UNSIGNED_INT64_VEC4_NV = 0x8FF7 :: GLenum

    pattern $mGL_UNSIGNED_INT8_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT8_NV :: GLenum
    GL_UNSIGNED_INT8_NV = 0x8FEC :: GLenum

    pattern $mGL_UNSIGNED_INT8_VEC2_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT8_VEC2_NV :: GLenum
    GL_UNSIGNED_INT8_VEC2_NV = 0x8FED :: GLenum

    pattern $mGL_UNSIGNED_INT8_VEC3_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT8_VEC3_NV :: GLenum
    GL_UNSIGNED_INT8_VEC3_NV = 0x8FEE :: GLenum

    pattern $mGL_UNSIGNED_INT8_VEC4_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT8_VEC4_NV :: GLenum
    GL_UNSIGNED_INT8_VEC4_NV = 0x8FEF :: GLenum

    pattern $mGL_UNSIGNED_INT_10F_11F_11F_REV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_10F_11F_11F_REV :: GLenum
    GL_UNSIGNED_INT_10F_11F_11F_REV = 0x8C3B :: GLenum

    pattern $mGL_UNSIGNED_INT_10F_11F_11F_REV_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_10F_11F_11F_REV_APPLE :: GLenum
    GL_UNSIGNED_INT_10F_11F_11F_REV_APPLE = 0x8C3B :: GLenum

    pattern $mGL_UNSIGNED_INT_10F_11F_11F_REV_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_10F_11F_11F_REV_EXT :: GLenum
    GL_UNSIGNED_INT_10F_11F_11F_REV_EXT = 0x8C3B :: GLenum

    pattern $mGL_UNSIGNED_INT_10_10_10_2 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_10_10_10_2 :: GLenum
    GL_UNSIGNED_INT_10_10_10_2 = 0x8036 :: GLenum

    pattern $mGL_UNSIGNED_INT_10_10_10_2_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_10_10_10_2_EXT :: GLenum
    GL_UNSIGNED_INT_10_10_10_2_EXT = 0x8036 :: GLenum

    pattern $mGL_UNSIGNED_INT_10_10_10_2_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_10_10_10_2_OES :: GLenum
    GL_UNSIGNED_INT_10_10_10_2_OES = 0x8DF6 :: GLenum

    pattern $mGL_UNSIGNED_INT_24_8 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_24_8 :: GLenum
    GL_UNSIGNED_INT_24_8 = 0x84FA :: GLenum

    pattern $mGL_UNSIGNED_INT_24_8_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_24_8_EXT :: GLenum
    GL_UNSIGNED_INT_24_8_EXT = 0x84FA :: GLenum

    pattern $mGL_UNSIGNED_INT_24_8_MESA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_24_8_MESA :: GLenum
    GL_UNSIGNED_INT_24_8_MESA = 0x8751 :: GLenum

    pattern $mGL_UNSIGNED_INT_24_8_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_24_8_NV :: GLenum
    GL_UNSIGNED_INT_24_8_NV = 0x84FA :: GLenum

    pattern $mGL_UNSIGNED_INT_24_8_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_24_8_OES :: GLenum
    GL_UNSIGNED_INT_24_8_OES = 0x84FA :: GLenum

    pattern $mGL_UNSIGNED_INT_2_10_10_10_REV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_2_10_10_10_REV :: GLenum
    GL_UNSIGNED_INT_2_10_10_10_REV = 0x8368 :: GLenum

    pattern $mGL_UNSIGNED_INT_2_10_10_10_REV_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_2_10_10_10_REV_EXT :: GLenum
    GL_UNSIGNED_INT_2_10_10_10_REV_EXT = 0x8368 :: GLenum

    pattern $mGL_UNSIGNED_INT_5_9_9_9_REV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_5_9_9_9_REV :: GLenum
    GL_UNSIGNED_INT_5_9_9_9_REV = 0x8C3E :: GLenum

    pattern $mGL_UNSIGNED_INT_5_9_9_9_REV_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_5_9_9_9_REV_APPLE :: GLenum
    GL_UNSIGNED_INT_5_9_9_9_REV_APPLE = 0x8C3E :: GLenum

    pattern $mGL_UNSIGNED_INT_5_9_9_9_REV_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_5_9_9_9_REV_EXT :: GLenum
    GL_UNSIGNED_INT_5_9_9_9_REV_EXT = 0x8C3E :: GLenum

    pattern $mGL_UNSIGNED_INT_8_24_REV_MESA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_8_24_REV_MESA :: GLenum
    GL_UNSIGNED_INT_8_24_REV_MESA = 0x8752 :: GLenum

    pattern $mGL_UNSIGNED_INT_8_8_8_8 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_8_8_8_8 :: GLenum
    GL_UNSIGNED_INT_8_8_8_8 = 0x8035 :: GLenum

    pattern $mGL_UNSIGNED_INT_8_8_8_8_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_8_8_8_8_EXT :: GLenum
    GL_UNSIGNED_INT_8_8_8_8_EXT = 0x8035 :: GLenum

    pattern $mGL_UNSIGNED_INT_8_8_8_8_REV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_8_8_8_8_REV :: GLenum
    GL_UNSIGNED_INT_8_8_8_8_REV = 0x8367 :: GLenum

    pattern $mGL_UNSIGNED_INT_8_8_8_8_REV_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_8_8_8_8_REV_EXT :: GLenum
    GL_UNSIGNED_INT_8_8_8_8_REV_EXT = 0x8367 :: GLenum

    pattern $mGL_UNSIGNED_INT_8_8_S8_S8_REV_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_8_8_S8_S8_REV_NV :: GLenum
    GL_UNSIGNED_INT_8_8_S8_S8_REV_NV = 0x86DB :: GLenum

    pattern $mGL_UNSIGNED_INT_ATOMIC_COUNTER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_ATOMIC_COUNTER :: GLenum
    GL_UNSIGNED_INT_ATOMIC_COUNTER = 0x92DB :: GLenum

    pattern $mGL_UNSIGNED_INT_IMAGE_1D :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_IMAGE_1D :: GLenum
    GL_UNSIGNED_INT_IMAGE_1D = 0x9062 :: GLenum

    pattern $mGL_UNSIGNED_INT_IMAGE_1D_ARRAY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_IMAGE_1D_ARRAY :: GLenum
    GL_UNSIGNED_INT_IMAGE_1D_ARRAY = 0x9068 :: GLenum

    pattern $mGL_UNSIGNED_INT_IMAGE_1D_ARRAY_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_IMAGE_1D_ARRAY_EXT :: GLenum
    GL_UNSIGNED_INT_IMAGE_1D_ARRAY_EXT = 0x9068 :: GLenum

    pattern $mGL_UNSIGNED_INT_IMAGE_1D_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_IMAGE_1D_EXT :: GLenum
    GL_UNSIGNED_INT_IMAGE_1D_EXT = 0x9062 :: GLenum

    pattern $mGL_UNSIGNED_INT_IMAGE_2D :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_IMAGE_2D :: GLenum
    GL_UNSIGNED_INT_IMAGE_2D = 0x9063 :: GLenum

    pattern $mGL_UNSIGNED_INT_IMAGE_2D_ARRAY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_IMAGE_2D_ARRAY :: GLenum
    GL_UNSIGNED_INT_IMAGE_2D_ARRAY = 0x9069 :: GLenum

    pattern $mGL_UNSIGNED_INT_IMAGE_2D_ARRAY_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_IMAGE_2D_ARRAY_EXT :: GLenum
    GL_UNSIGNED_INT_IMAGE_2D_ARRAY_EXT = 0x9069 :: GLenum

    pattern $mGL_UNSIGNED_INT_IMAGE_2D_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_IMAGE_2D_EXT :: GLenum
    GL_UNSIGNED_INT_IMAGE_2D_EXT = 0x9063 :: GLenum

    pattern $mGL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE :: GLenum
    GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE = 0x906B :: GLenum

    pattern $mGL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY :: GLenum
    GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY = 0x906C :: GLenum

    pattern $mGL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT :: GLenum
    GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT = 0x906C :: GLenum

    pattern $mGL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT :: GLenum
    GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT = 0x906B :: GLenum

    pattern $mGL_UNSIGNED_INT_IMAGE_2D_RECT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_IMAGE_2D_RECT :: GLenum
    GL_UNSIGNED_INT_IMAGE_2D_RECT = 0x9065 :: GLenum

    pattern $mGL_UNSIGNED_INT_IMAGE_2D_RECT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_IMAGE_2D_RECT_EXT :: GLenum
    GL_UNSIGNED_INT_IMAGE_2D_RECT_EXT = 0x9065 :: GLenum

    pattern $mGL_UNSIGNED_INT_IMAGE_3D :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_IMAGE_3D :: GLenum
    GL_UNSIGNED_INT_IMAGE_3D = 0x9064 :: GLenum

    pattern $mGL_UNSIGNED_INT_IMAGE_3D_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_IMAGE_3D_EXT :: GLenum
    GL_UNSIGNED_INT_IMAGE_3D_EXT = 0x9064 :: GLenum

    pattern $mGL_UNSIGNED_INT_IMAGE_BUFFER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_IMAGE_BUFFER :: GLenum
    GL_UNSIGNED_INT_IMAGE_BUFFER = 0x9067 :: GLenum

    pattern $mGL_UNSIGNED_INT_IMAGE_BUFFER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_IMAGE_BUFFER_EXT :: GLenum
    GL_UNSIGNED_INT_IMAGE_BUFFER_EXT = 0x9067 :: GLenum

    pattern $mGL_UNSIGNED_INT_IMAGE_BUFFER_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_IMAGE_BUFFER_OES :: GLenum
    GL_UNSIGNED_INT_IMAGE_BUFFER_OES = 0x9067 :: GLenum

    pattern $mGL_UNSIGNED_INT_IMAGE_CUBE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_IMAGE_CUBE :: GLenum
    GL_UNSIGNED_INT_IMAGE_CUBE = 0x9066 :: GLenum

    pattern $mGL_UNSIGNED_INT_IMAGE_CUBE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_IMAGE_CUBE_EXT :: GLenum
    GL_UNSIGNED_INT_IMAGE_CUBE_EXT = 0x9066 :: GLenum

    pattern $mGL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY :: GLenum
    GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY = 0x906A :: GLenum

    pattern $mGL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT :: GLenum
    GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT = 0x906A :: GLenum

    pattern $mGL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_OES :: GLenum
    GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_OES = 0x906A :: GLenum

    pattern $mGL_UNSIGNED_INT_S8_S8_8_8_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_S8_S8_8_8_NV :: GLenum
    GL_UNSIGNED_INT_S8_S8_8_8_NV = 0x86DA :: GLenum

    pattern $mGL_UNSIGNED_INT_SAMPLER_1D :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_SAMPLER_1D :: GLenum
    GL_UNSIGNED_INT_SAMPLER_1D = 0x8DD1 :: GLenum

    pattern $mGL_UNSIGNED_INT_SAMPLER_1D_ARRAY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_SAMPLER_1D_ARRAY :: GLenum
    GL_UNSIGNED_INT_SAMPLER_1D_ARRAY = 0x8DD6 :: GLenum

    pattern $mGL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT :: GLenum
    GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT = 0x8DD6 :: GLenum

    pattern $mGL_UNSIGNED_INT_SAMPLER_1D_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_SAMPLER_1D_EXT :: GLenum
    GL_UNSIGNED_INT_SAMPLER_1D_EXT = 0x8DD1 :: GLenum

    pattern $mGL_UNSIGNED_INT_SAMPLER_2D :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_SAMPLER_2D :: GLenum
    GL_UNSIGNED_INT_SAMPLER_2D = 0x8DD2 :: GLenum

    pattern $mGL_UNSIGNED_INT_SAMPLER_2D_ARRAY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_SAMPLER_2D_ARRAY :: GLenum
    GL_UNSIGNED_INT_SAMPLER_2D_ARRAY = 0x8DD7 :: GLenum

    pattern $mGL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT :: GLenum
    GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT = 0x8DD7 :: GLenum

    pattern $mGL_UNSIGNED_INT_SAMPLER_2D_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_SAMPLER_2D_EXT :: GLenum
    GL_UNSIGNED_INT_SAMPLER_2D_EXT = 0x8DD2 :: GLenum

    pattern $mGL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE :: GLenum
    GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE = 0x910A :: GLenum

    pattern $mGL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY :: GLenum
    GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910D :: GLenum

    pattern $mGL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES :: GLenum
    GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES = 0x910D :: GLenum

    pattern $mGL_UNSIGNED_INT_SAMPLER_2D_RECT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_SAMPLER_2D_RECT :: GLenum
    GL_UNSIGNED_INT_SAMPLER_2D_RECT = 0x8DD5 :: GLenum

    pattern $mGL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT :: GLenum
    GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT = 0x8DD5 :: GLenum

    pattern $mGL_UNSIGNED_INT_SAMPLER_3D :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_SAMPLER_3D :: GLenum
    GL_UNSIGNED_INT_SAMPLER_3D = 0x8DD3 :: GLenum

    pattern $mGL_UNSIGNED_INT_SAMPLER_3D_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_SAMPLER_3D_EXT :: GLenum
    GL_UNSIGNED_INT_SAMPLER_3D_EXT = 0x8DD3 :: GLenum

    pattern $mGL_UNSIGNED_INT_SAMPLER_BUFFER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_SAMPLER_BUFFER :: GLenum
    GL_UNSIGNED_INT_SAMPLER_BUFFER = 0x8DD8 :: GLenum

    pattern $mGL_UNSIGNED_INT_SAMPLER_BUFFER_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_SAMPLER_BUFFER_AMD :: GLenum
    GL_UNSIGNED_INT_SAMPLER_BUFFER_AMD = 0x9003 :: GLenum

    pattern $mGL_UNSIGNED_INT_SAMPLER_BUFFER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_SAMPLER_BUFFER_EXT :: GLenum
    GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT = 0x8DD8 :: GLenum

    pattern $mGL_UNSIGNED_INT_SAMPLER_BUFFER_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_SAMPLER_BUFFER_OES :: GLenum
    GL_UNSIGNED_INT_SAMPLER_BUFFER_OES = 0x8DD8 :: GLenum

    pattern $mGL_UNSIGNED_INT_SAMPLER_CUBE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_SAMPLER_CUBE :: GLenum
    GL_UNSIGNED_INT_SAMPLER_CUBE = 0x8DD4 :: GLenum

    pattern $mGL_UNSIGNED_INT_SAMPLER_CUBE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_SAMPLER_CUBE_EXT :: GLenum
    GL_UNSIGNED_INT_SAMPLER_CUBE_EXT = 0x8DD4 :: GLenum

    pattern $mGL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY :: GLenum
    GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY = 0x900F :: GLenum

    pattern $mGL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB :: GLenum
    GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB = 0x900F :: GLenum

    pattern $mGL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_EXT :: GLenum
    GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_EXT = 0x900F :: GLenum

    pattern $mGL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_OES :: GLenum
    GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_OES = 0x900F :: GLenum

    pattern $mGL_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV :: GLenum
    GL_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV = 0x8E58 :: GLenum

    pattern $mGL_UNSIGNED_INT_VEC2 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_VEC2 :: GLenum
    GL_UNSIGNED_INT_VEC2 = 0x8DC6 :: GLenum

    pattern $mGL_UNSIGNED_INT_VEC2_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_VEC2_EXT :: GLenum
    GL_UNSIGNED_INT_VEC2_EXT = 0x8DC6 :: GLenum

    pattern $mGL_UNSIGNED_INT_VEC3 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_VEC3 :: GLenum
    GL_UNSIGNED_INT_VEC3 = 0x8DC7 :: GLenum

    pattern $mGL_UNSIGNED_INT_VEC3_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_VEC3_EXT :: GLenum
    GL_UNSIGNED_INT_VEC3_EXT = 0x8DC7 :: GLenum

    pattern $mGL_UNSIGNED_INT_VEC4 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_VEC4 :: GLenum
    GL_UNSIGNED_INT_VEC4 = 0x8DC8 :: GLenum

    pattern $mGL_UNSIGNED_INT_VEC4_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INT_VEC4_EXT :: GLenum
    GL_UNSIGNED_INT_VEC4_EXT = 0x8DC8 :: GLenum

    pattern $mGL_UNSIGNED_INVERT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_INVERT_NV :: GLenum
    GL_UNSIGNED_INVERT_NV = 0x8537 :: GLenum

    pattern $mGL_UNSIGNED_NORMALIZED :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_NORMALIZED :: GLenum
    GL_UNSIGNED_NORMALIZED = 0x8C17 :: GLenum

    pattern $mGL_UNSIGNED_NORMALIZED_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_NORMALIZED_ARB :: GLenum
    GL_UNSIGNED_NORMALIZED_ARB = 0x8C17 :: GLenum

    pattern $mGL_UNSIGNED_NORMALIZED_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_NORMALIZED_EXT :: GLenum
    GL_UNSIGNED_NORMALIZED_EXT = 0x8C17 :: GLenum

    pattern $mGL_UNSIGNED_SHORT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_SHORT :: GLenum
    GL_UNSIGNED_SHORT = 0x1403 :: GLenum

    pattern $mGL_UNSIGNED_SHORT_15_1_MESA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_SHORT_15_1_MESA :: GLenum
    GL_UNSIGNED_SHORT_15_1_MESA = 0x8753 :: GLenum

    pattern $mGL_UNSIGNED_SHORT_1_15_REV_MESA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_SHORT_1_15_REV_MESA :: GLenum
    GL_UNSIGNED_SHORT_1_15_REV_MESA = 0x8754 :: GLenum

    pattern $mGL_UNSIGNED_SHORT_1_5_5_5_REV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_SHORT_1_5_5_5_REV :: GLenum
    GL_UNSIGNED_SHORT_1_5_5_5_REV = 0x8366 :: GLenum

    pattern $mGL_UNSIGNED_SHORT_1_5_5_5_REV_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_SHORT_1_5_5_5_REV_EXT :: GLenum
    GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT = 0x8366 :: GLenum

    pattern $mGL_UNSIGNED_SHORT_4_4_4_4 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_SHORT_4_4_4_4 :: GLenum
    GL_UNSIGNED_SHORT_4_4_4_4 = 0x8033 :: GLenum

    pattern $mGL_UNSIGNED_SHORT_4_4_4_4_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_SHORT_4_4_4_4_EXT :: GLenum
    GL_UNSIGNED_SHORT_4_4_4_4_EXT = 0x8033 :: GLenum

    pattern $mGL_UNSIGNED_SHORT_4_4_4_4_REV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_SHORT_4_4_4_4_REV :: GLenum
    GL_UNSIGNED_SHORT_4_4_4_4_REV = 0x8365 :: GLenum

    pattern $mGL_UNSIGNED_SHORT_4_4_4_4_REV_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_SHORT_4_4_4_4_REV_EXT :: GLenum
    GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT = 0x8365 :: GLenum

    pattern $mGL_UNSIGNED_SHORT_4_4_4_4_REV_IMG :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_SHORT_4_4_4_4_REV_IMG :: GLenum
    GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG = 0x8365 :: GLenum

    pattern $mGL_UNSIGNED_SHORT_5_5_5_1 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_SHORT_5_5_5_1 :: GLenum
    GL_UNSIGNED_SHORT_5_5_5_1 = 0x8034 :: GLenum

    pattern $mGL_UNSIGNED_SHORT_5_5_5_1_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_SHORT_5_5_5_1_EXT :: GLenum
    GL_UNSIGNED_SHORT_5_5_5_1_EXT = 0x8034 :: GLenum

    pattern $mGL_UNSIGNED_SHORT_5_6_5 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_SHORT_5_6_5 :: GLenum
    GL_UNSIGNED_SHORT_5_6_5 = 0x8363 :: GLenum

    pattern $mGL_UNSIGNED_SHORT_5_6_5_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_SHORT_5_6_5_EXT :: GLenum
    GL_UNSIGNED_SHORT_5_6_5_EXT = 0x8363 :: GLenum

    pattern $mGL_UNSIGNED_SHORT_5_6_5_REV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_SHORT_5_6_5_REV :: GLenum
    GL_UNSIGNED_SHORT_5_6_5_REV = 0x8364 :: GLenum

    pattern $mGL_UNSIGNED_SHORT_5_6_5_REV_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_SHORT_5_6_5_REV_EXT :: GLenum
    GL_UNSIGNED_SHORT_5_6_5_REV_EXT = 0x8364 :: GLenum

    pattern $mGL_UNSIGNED_SHORT_8_8_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_SHORT_8_8_APPLE :: GLenum
    GL_UNSIGNED_SHORT_8_8_APPLE = 0x85BA :: GLenum

    pattern $mGL_UNSIGNED_SHORT_8_8_MESA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_SHORT_8_8_MESA :: GLenum
    GL_UNSIGNED_SHORT_8_8_MESA = 0x85BA :: GLenum

    pattern $mGL_UNSIGNED_SHORT_8_8_REV_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_SHORT_8_8_REV_APPLE :: GLenum
    GL_UNSIGNED_SHORT_8_8_REV_APPLE = 0x85BB :: GLenum

    pattern $mGL_UNSIGNED_SHORT_8_8_REV_MESA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UNSIGNED_SHORT_8_8_REV_MESA :: GLenum
    GL_UNSIGNED_SHORT_8_8_REV_MESA = 0x85BB :: GLenum

    pattern $mGL_UPLOAD_GPU_MASK_NVX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UPLOAD_GPU_MASK_NVX :: GLenum
    GL_UPLOAD_GPU_MASK_NVX = 0x954A :: GLenum

    pattern $mGL_UPPER_LEFT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UPPER_LEFT :: GLenum
    GL_UPPER_LEFT = 0x8CA2 :: GLenum

    pattern $mGL_UPPER_LEFT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UPPER_LEFT_EXT :: GLenum
    GL_UPPER_LEFT_EXT = 0x8CA2 :: GLenum

    pattern $mGL_USE_MISSING_GLYPH_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_USE_MISSING_GLYPH_NV :: GLenum
    GL_USE_MISSING_GLYPH_NV = 0x90AA :: GLenum

    pattern $mGL_UTF16_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UTF16_NV :: GLenum
    GL_UTF16_NV = 0x909B :: GLenum

    pattern $mGL_UTF8_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UTF8_NV :: GLenum
    GL_UTF8_NV = 0x909A :: GLenum

    pattern $mGL_UUID_SIZE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_UUID_SIZE_EXT :: GLenum
    GL_UUID_SIZE_EXT = 16 :: GLenum

    pattern $mGL_V2F :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_V2F :: GLenum
    GL_V2F = 0x2A20 :: GLenum

    pattern $mGL_V3F :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_V3F :: GLenum
    GL_V3F = 0x2A21 :: GLenum

    pattern $mGL_VALIDATE_SHADER_BINARY_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VALIDATE_SHADER_BINARY_QCOM :: GLenum
    GL_VALIDATE_SHADER_BINARY_QCOM = 0x96A3 :: GLenum

    pattern $mGL_VALIDATE_STATUS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VALIDATE_STATUS :: GLenum
    GL_VALIDATE_STATUS = 0x8B83 :: GLenum

    pattern $mGL_VARIABLE_A_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VARIABLE_A_NV :: GLenum
    GL_VARIABLE_A_NV = 0x8523 :: GLenum

    pattern $mGL_VARIABLE_B_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VARIABLE_B_NV :: GLenum
    GL_VARIABLE_B_NV = 0x8524 :: GLenum

    pattern $mGL_VARIABLE_C_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VARIABLE_C_NV :: GLenum
    GL_VARIABLE_C_NV = 0x8525 :: GLenum

    pattern $mGL_VARIABLE_D_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VARIABLE_D_NV :: GLenum
    GL_VARIABLE_D_NV = 0x8526 :: GLenum

    pattern $mGL_VARIABLE_E_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VARIABLE_E_NV :: GLenum
    GL_VARIABLE_E_NV = 0x8527 :: GLenum

    pattern $mGL_VARIABLE_F_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VARIABLE_F_NV :: GLenum
    GL_VARIABLE_F_NV = 0x8528 :: GLenum

    pattern $mGL_VARIABLE_G_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VARIABLE_G_NV :: GLenum
    GL_VARIABLE_G_NV = 0x8529 :: GLenum

    pattern $mGL_VARIANT_ARRAY_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VARIANT_ARRAY_EXT :: GLenum
    GL_VARIANT_ARRAY_EXT = 0x87E8 :: GLenum

    pattern $mGL_VARIANT_ARRAY_POINTER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VARIANT_ARRAY_POINTER_EXT :: GLenum
    GL_VARIANT_ARRAY_POINTER_EXT = 0x87E9 :: GLenum

    pattern $mGL_VARIANT_ARRAY_STRIDE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VARIANT_ARRAY_STRIDE_EXT :: GLenum
    GL_VARIANT_ARRAY_STRIDE_EXT = 0x87E6 :: GLenum

    pattern $mGL_VARIANT_ARRAY_TYPE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VARIANT_ARRAY_TYPE_EXT :: GLenum
    GL_VARIANT_ARRAY_TYPE_EXT = 0x87E7 :: GLenum

    pattern $mGL_VARIANT_DATATYPE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VARIANT_DATATYPE_EXT :: GLenum
    GL_VARIANT_DATATYPE_EXT = 0x87E5 :: GLenum

    pattern $mGL_VARIANT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VARIANT_EXT :: GLenum
    GL_VARIANT_EXT = 0x87C1 :: GLenum

    pattern $mGL_VARIANT_VALUE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VARIANT_VALUE_EXT :: GLenum
    GL_VARIANT_VALUE_EXT = 0x87E4 :: GLenum

    pattern $mGL_VBO_FREE_MEMORY_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VBO_FREE_MEMORY_ATI :: GLenum
    GL_VBO_FREE_MEMORY_ATI = 0x87FB :: GLenum

    pattern $mGL_VECTOR_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VECTOR_EXT :: GLenum
    GL_VECTOR_EXT = 0x87BF :: GLenum

    pattern $mGL_VENDOR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VENDOR :: GLenum
    GL_VENDOR = 0x1F00 :: GLenum

    pattern $mGL_VERSION :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERSION :: GLenum
    GL_VERSION = 0x1F02 :: GLenum

    pattern $mGL_VERSION_ES_CL_1_0 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERSION_ES_CL_1_0 :: GLenum
    GL_VERSION_ES_CL_1_0 = 1 :: GLenum

    pattern $mGL_VERSION_ES_CL_1_1 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERSION_ES_CL_1_1 :: GLenum
    GL_VERSION_ES_CL_1_1 = 1 :: GLenum

    pattern $mGL_VERSION_ES_CM_1_1 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERSION_ES_CM_1_1 :: GLenum
    GL_VERSION_ES_CM_1_1 = 1 :: GLenum

    pattern $mGL_VERTEX23_BIT_PGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX23_BIT_PGI :: GLenum
    GL_VERTEX23_BIT_PGI = 0x00000004 :: GLbitfield

    pattern $mGL_VERTEX4_BIT_PGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX4_BIT_PGI :: GLenum
    GL_VERTEX4_BIT_PGI = 0x00000008 :: GLbitfield

    pattern $mGL_VERTEX_ARRAY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ARRAY :: GLenum
    GL_VERTEX_ARRAY = 0x8074 :: GLenum

    pattern $mGL_VERTEX_ARRAY_ADDRESS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ARRAY_ADDRESS_NV :: GLenum
    GL_VERTEX_ARRAY_ADDRESS_NV = 0x8F21 :: GLenum

    pattern $mGL_VERTEX_ARRAY_BINDING :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ARRAY_BINDING :: GLenum
    GL_VERTEX_ARRAY_BINDING = 0x85B5 :: GLenum

    pattern $mGL_VERTEX_ARRAY_BINDING_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ARRAY_BINDING_APPLE :: GLenum
    GL_VERTEX_ARRAY_BINDING_APPLE = 0x85B5 :: GLenum

    pattern $mGL_VERTEX_ARRAY_BINDING_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ARRAY_BINDING_OES :: GLenum
    GL_VERTEX_ARRAY_BINDING_OES = 0x85B5 :: GLenum

    pattern $mGL_VERTEX_ARRAY_BUFFER_BINDING :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ARRAY_BUFFER_BINDING :: GLenum
    GL_VERTEX_ARRAY_BUFFER_BINDING = 0x8896 :: GLenum

    pattern $mGL_VERTEX_ARRAY_BUFFER_BINDING_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ARRAY_BUFFER_BINDING_ARB :: GLenum
    GL_VERTEX_ARRAY_BUFFER_BINDING_ARB = 0x8896 :: GLenum

    pattern $mGL_VERTEX_ARRAY_COUNT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ARRAY_COUNT_EXT :: GLenum
    GL_VERTEX_ARRAY_COUNT_EXT = 0x807D :: GLenum

    pattern $mGL_VERTEX_ARRAY_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ARRAY_EXT :: GLenum
    GL_VERTEX_ARRAY_EXT = 0x8074 :: GLenum

    pattern $mGL_VERTEX_ARRAY_KHR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ARRAY_KHR :: GLenum
    GL_VERTEX_ARRAY_KHR = 0x8074 :: GLenum

    pattern $mGL_VERTEX_ARRAY_LENGTH_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ARRAY_LENGTH_NV :: GLenum
    GL_VERTEX_ARRAY_LENGTH_NV = 0x8F2B :: GLenum

    pattern $mGL_VERTEX_ARRAY_LIST_IBM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ARRAY_LIST_IBM :: GLenum
    GL_VERTEX_ARRAY_LIST_IBM = 103070 :: GLenum

    pattern $mGL_VERTEX_ARRAY_LIST_STRIDE_IBM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ARRAY_LIST_STRIDE_IBM :: GLenum
    GL_VERTEX_ARRAY_LIST_STRIDE_IBM = 103080 :: GLenum

    pattern $mGL_VERTEX_ARRAY_OBJECT_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ARRAY_OBJECT_AMD :: GLenum
    GL_VERTEX_ARRAY_OBJECT_AMD = 0x9154 :: GLenum

    pattern $mGL_VERTEX_ARRAY_OBJECT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ARRAY_OBJECT_EXT :: GLenum
    GL_VERTEX_ARRAY_OBJECT_EXT = 0x9154 :: GLenum

    pattern $mGL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL :: GLenum
    GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F5 :: GLenum

    pattern $mGL_VERTEX_ARRAY_POINTER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ARRAY_POINTER :: GLenum
    GL_VERTEX_ARRAY_POINTER = 0x808E :: GLenum

    pattern $mGL_VERTEX_ARRAY_POINTER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ARRAY_POINTER_EXT :: GLenum
    GL_VERTEX_ARRAY_POINTER_EXT = 0x808E :: GLenum

    pattern $mGL_VERTEX_ARRAY_RANGE_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ARRAY_RANGE_APPLE :: GLenum
    GL_VERTEX_ARRAY_RANGE_APPLE = 0x851D :: GLenum

    pattern $mGL_VERTEX_ARRAY_RANGE_LENGTH_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ARRAY_RANGE_LENGTH_APPLE :: GLenum
    GL_VERTEX_ARRAY_RANGE_LENGTH_APPLE = 0x851E :: GLenum

    pattern $mGL_VERTEX_ARRAY_RANGE_LENGTH_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ARRAY_RANGE_LENGTH_NV :: GLenum
    GL_VERTEX_ARRAY_RANGE_LENGTH_NV = 0x851E :: GLenum

    pattern $mGL_VERTEX_ARRAY_RANGE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ARRAY_RANGE_NV :: GLenum
    GL_VERTEX_ARRAY_RANGE_NV = 0x851D :: GLenum

    pattern $mGL_VERTEX_ARRAY_RANGE_POINTER_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ARRAY_RANGE_POINTER_APPLE :: GLenum
    GL_VERTEX_ARRAY_RANGE_POINTER_APPLE = 0x8521 :: GLenum

    pattern $mGL_VERTEX_ARRAY_RANGE_POINTER_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ARRAY_RANGE_POINTER_NV :: GLenum
    GL_VERTEX_ARRAY_RANGE_POINTER_NV = 0x8521 :: GLenum

    pattern $mGL_VERTEX_ARRAY_RANGE_VALID_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ARRAY_RANGE_VALID_NV :: GLenum
    GL_VERTEX_ARRAY_RANGE_VALID_NV = 0x851F :: GLenum

    pattern $mGL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV :: GLenum
    GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV = 0x8533 :: GLenum

    pattern $mGL_VERTEX_ARRAY_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ARRAY_SIZE :: GLenum
    GL_VERTEX_ARRAY_SIZE = 0x807A :: GLenum

    pattern $mGL_VERTEX_ARRAY_SIZE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ARRAY_SIZE_EXT :: GLenum
    GL_VERTEX_ARRAY_SIZE_EXT = 0x807A :: GLenum

    pattern $mGL_VERTEX_ARRAY_STORAGE_HINT_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ARRAY_STORAGE_HINT_APPLE :: GLenum
    GL_VERTEX_ARRAY_STORAGE_HINT_APPLE = 0x851F :: GLenum

    pattern $mGL_VERTEX_ARRAY_STRIDE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ARRAY_STRIDE :: GLenum
    GL_VERTEX_ARRAY_STRIDE = 0x807C :: GLenum

    pattern $mGL_VERTEX_ARRAY_STRIDE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ARRAY_STRIDE_EXT :: GLenum
    GL_VERTEX_ARRAY_STRIDE_EXT = 0x807C :: GLenum

    pattern $mGL_VERTEX_ARRAY_TYPE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ARRAY_TYPE :: GLenum
    GL_VERTEX_ARRAY_TYPE = 0x807B :: GLenum

    pattern $mGL_VERTEX_ARRAY_TYPE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ARRAY_TYPE_EXT :: GLenum
    GL_VERTEX_ARRAY_TYPE_EXT = 0x807B :: GLenum

    pattern $mGL_VERTEX_ATTRIB_ARRAY0_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ATTRIB_ARRAY0_NV :: GLenum
    GL_VERTEX_ATTRIB_ARRAY0_NV = 0x8650 :: GLenum

    pattern $mGL_VERTEX_ATTRIB_ARRAY10_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ATTRIB_ARRAY10_NV :: GLenum
    GL_VERTEX_ATTRIB_ARRAY10_NV = 0x865A :: GLenum

    pattern $mGL_VERTEX_ATTRIB_ARRAY11_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ATTRIB_ARRAY11_NV :: GLenum
    GL_VERTEX_ATTRIB_ARRAY11_NV = 0x865B :: GLenum

    pattern $mGL_VERTEX_ATTRIB_ARRAY12_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ATTRIB_ARRAY12_NV :: GLenum
    GL_VERTEX_ATTRIB_ARRAY12_NV = 0x865C :: GLenum

    pattern $mGL_VERTEX_ATTRIB_ARRAY13_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ATTRIB_ARRAY13_NV :: GLenum
    GL_VERTEX_ATTRIB_ARRAY13_NV = 0x865D :: GLenum

    pattern $mGL_VERTEX_ATTRIB_ARRAY14_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ATTRIB_ARRAY14_NV :: GLenum
    GL_VERTEX_ATTRIB_ARRAY14_NV = 0x865E :: GLenum

    pattern $mGL_VERTEX_ATTRIB_ARRAY15_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ATTRIB_ARRAY15_NV :: GLenum
    GL_VERTEX_ATTRIB_ARRAY15_NV = 0x865F :: GLenum

    pattern $mGL_VERTEX_ATTRIB_ARRAY1_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ATTRIB_ARRAY1_NV :: GLenum
    GL_VERTEX_ATTRIB_ARRAY1_NV = 0x8651 :: GLenum

    pattern $mGL_VERTEX_ATTRIB_ARRAY2_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ATTRIB_ARRAY2_NV :: GLenum
    GL_VERTEX_ATTRIB_ARRAY2_NV = 0x8652 :: GLenum

    pattern $mGL_VERTEX_ATTRIB_ARRAY3_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ATTRIB_ARRAY3_NV :: GLenum
    GL_VERTEX_ATTRIB_ARRAY3_NV = 0x8653 :: GLenum

    pattern $mGL_VERTEX_ATTRIB_ARRAY4_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ATTRIB_ARRAY4_NV :: GLenum
    GL_VERTEX_ATTRIB_ARRAY4_NV = 0x8654 :: GLenum

    pattern $mGL_VERTEX_ATTRIB_ARRAY5_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ATTRIB_ARRAY5_NV :: GLenum
    GL_VERTEX_ATTRIB_ARRAY5_NV = 0x8655 :: GLenum

    pattern $mGL_VERTEX_ATTRIB_ARRAY6_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ATTRIB_ARRAY6_NV :: GLenum
    GL_VERTEX_ATTRIB_ARRAY6_NV = 0x8656 :: GLenum

    pattern $mGL_VERTEX_ATTRIB_ARRAY7_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ATTRIB_ARRAY7_NV :: GLenum
    GL_VERTEX_ATTRIB_ARRAY7_NV = 0x8657 :: GLenum

    pattern $mGL_VERTEX_ATTRIB_ARRAY8_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ATTRIB_ARRAY8_NV :: GLenum
    GL_VERTEX_ATTRIB_ARRAY8_NV = 0x8658 :: GLenum

    pattern $mGL_VERTEX_ATTRIB_ARRAY9_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ATTRIB_ARRAY9_NV :: GLenum
    GL_VERTEX_ATTRIB_ARRAY9_NV = 0x8659 :: GLenum

    pattern $mGL_VERTEX_ATTRIB_ARRAY_ADDRESS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ATTRIB_ARRAY_ADDRESS_NV :: GLenum
    GL_VERTEX_ATTRIB_ARRAY_ADDRESS_NV = 0x8F20 :: GLenum

    pattern $mGL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT :: GLenum
    GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT = 0x00000001 :: GLbitfield

    pattern $mGL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT :: GLenum
    GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT = 0x00000001 :: GLbitfield

    pattern $mGL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING :: GLenum
    GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = 0x889F :: GLenum

    pattern $mGL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB :: GLenum
    GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB = 0x889F :: GLenum

    pattern $mGL_VERTEX_ATTRIB_ARRAY_DIVISOR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ATTRIB_ARRAY_DIVISOR :: GLenum
    GL_VERTEX_ATTRIB_ARRAY_DIVISOR = 0x88FE :: GLenum

    pattern $mGL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE :: GLenum
    GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE = 0x88FE :: GLenum

    pattern $mGL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB :: GLenum
    GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB = 0x88FE :: GLenum

    pattern $mGL_VERTEX_ATTRIB_ARRAY_DIVISOR_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ATTRIB_ARRAY_DIVISOR_EXT :: GLenum
    GL_VERTEX_ATTRIB_ARRAY_DIVISOR_EXT = 0x88FE :: GLenum

    pattern $mGL_VERTEX_ATTRIB_ARRAY_DIVISOR_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ATTRIB_ARRAY_DIVISOR_NV :: GLenum
    GL_VERTEX_ATTRIB_ARRAY_DIVISOR_NV = 0x88FE :: GLenum

    pattern $mGL_VERTEX_ATTRIB_ARRAY_ENABLED :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ATTRIB_ARRAY_ENABLED :: GLenum
    GL_VERTEX_ATTRIB_ARRAY_ENABLED = 0x8622 :: GLenum

    pattern $mGL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB :: GLenum
    GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB = 0x8622 :: GLenum

    pattern $mGL_VERTEX_ATTRIB_ARRAY_INTEGER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ATTRIB_ARRAY_INTEGER :: GLenum
    GL_VERTEX_ATTRIB_ARRAY_INTEGER = 0x88FD :: GLenum

    pattern $mGL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT :: GLenum
    GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT = 0x88FD :: GLenum

    pattern $mGL_VERTEX_ATTRIB_ARRAY_INTEGER_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ATTRIB_ARRAY_INTEGER_NV :: GLenum
    GL_VERTEX_ATTRIB_ARRAY_INTEGER_NV = 0x88FD :: GLenum

    pattern $mGL_VERTEX_ATTRIB_ARRAY_LENGTH_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ATTRIB_ARRAY_LENGTH_NV :: GLenum
    GL_VERTEX_ATTRIB_ARRAY_LENGTH_NV = 0x8F2A :: GLenum

    pattern $mGL_VERTEX_ATTRIB_ARRAY_LONG :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ATTRIB_ARRAY_LONG :: GLenum
    GL_VERTEX_ATTRIB_ARRAY_LONG = 0x874E :: GLenum

    pattern $mGL_VERTEX_ATTRIB_ARRAY_NORMALIZED :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ATTRIB_ARRAY_NORMALIZED :: GLenum
    GL_VERTEX_ATTRIB_ARRAY_NORMALIZED = 0x886A :: GLenum

    pattern $mGL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB :: GLenum
    GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB = 0x886A :: GLenum

    pattern $mGL_VERTEX_ATTRIB_ARRAY_POINTER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ATTRIB_ARRAY_POINTER :: GLenum
    GL_VERTEX_ATTRIB_ARRAY_POINTER = 0x8645 :: GLenum

    pattern $mGL_VERTEX_ATTRIB_ARRAY_POINTER_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ATTRIB_ARRAY_POINTER_ARB :: GLenum
    GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB = 0x8645 :: GLenum

    pattern $mGL_VERTEX_ATTRIB_ARRAY_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ATTRIB_ARRAY_SIZE :: GLenum
    GL_VERTEX_ATTRIB_ARRAY_SIZE = 0x8623 :: GLenum

    pattern $mGL_VERTEX_ATTRIB_ARRAY_SIZE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ATTRIB_ARRAY_SIZE_ARB :: GLenum
    GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB = 0x8623 :: GLenum

    pattern $mGL_VERTEX_ATTRIB_ARRAY_STRIDE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ATTRIB_ARRAY_STRIDE :: GLenum
    GL_VERTEX_ATTRIB_ARRAY_STRIDE = 0x8624 :: GLenum

    pattern $mGL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB :: GLenum
    GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB = 0x8624 :: GLenum

    pattern $mGL_VERTEX_ATTRIB_ARRAY_TYPE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ATTRIB_ARRAY_TYPE :: GLenum
    GL_VERTEX_ATTRIB_ARRAY_TYPE = 0x8625 :: GLenum

    pattern $mGL_VERTEX_ATTRIB_ARRAY_TYPE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ATTRIB_ARRAY_TYPE_ARB :: GLenum
    GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB = 0x8625 :: GLenum

    pattern $mGL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV :: GLenum
    GL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV = 0x8F1E :: GLenum

    pattern $mGL_VERTEX_ATTRIB_BINDING :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ATTRIB_BINDING :: GLenum
    GL_VERTEX_ATTRIB_BINDING = 0x82D4 :: GLenum

    pattern $mGL_VERTEX_ATTRIB_MAP1_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ATTRIB_MAP1_APPLE :: GLenum
    GL_VERTEX_ATTRIB_MAP1_APPLE = 0x8A00 :: GLenum

    pattern $mGL_VERTEX_ATTRIB_MAP1_COEFF_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ATTRIB_MAP1_COEFF_APPLE :: GLenum
    GL_VERTEX_ATTRIB_MAP1_COEFF_APPLE = 0x8A03 :: GLenum

    pattern $mGL_VERTEX_ATTRIB_MAP1_DOMAIN_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ATTRIB_MAP1_DOMAIN_APPLE :: GLenum
    GL_VERTEX_ATTRIB_MAP1_DOMAIN_APPLE = 0x8A05 :: GLenum

    pattern $mGL_VERTEX_ATTRIB_MAP1_ORDER_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ATTRIB_MAP1_ORDER_APPLE :: GLenum
    GL_VERTEX_ATTRIB_MAP1_ORDER_APPLE = 0x8A04 :: GLenum

    pattern $mGL_VERTEX_ATTRIB_MAP1_SIZE_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ATTRIB_MAP1_SIZE_APPLE :: GLenum
    GL_VERTEX_ATTRIB_MAP1_SIZE_APPLE = 0x8A02 :: GLenum

    pattern $mGL_VERTEX_ATTRIB_MAP2_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ATTRIB_MAP2_APPLE :: GLenum
    GL_VERTEX_ATTRIB_MAP2_APPLE = 0x8A01 :: GLenum

    pattern $mGL_VERTEX_ATTRIB_MAP2_COEFF_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ATTRIB_MAP2_COEFF_APPLE :: GLenum
    GL_VERTEX_ATTRIB_MAP2_COEFF_APPLE = 0x8A07 :: GLenum

    pattern $mGL_VERTEX_ATTRIB_MAP2_DOMAIN_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ATTRIB_MAP2_DOMAIN_APPLE :: GLenum
    GL_VERTEX_ATTRIB_MAP2_DOMAIN_APPLE = 0x8A09 :: GLenum

    pattern $mGL_VERTEX_ATTRIB_MAP2_ORDER_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ATTRIB_MAP2_ORDER_APPLE :: GLenum
    GL_VERTEX_ATTRIB_MAP2_ORDER_APPLE = 0x8A08 :: GLenum

    pattern $mGL_VERTEX_ATTRIB_MAP2_SIZE_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ATTRIB_MAP2_SIZE_APPLE :: GLenum
    GL_VERTEX_ATTRIB_MAP2_SIZE_APPLE = 0x8A06 :: GLenum

    pattern $mGL_VERTEX_ATTRIB_RELATIVE_OFFSET :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ATTRIB_RELATIVE_OFFSET :: GLenum
    GL_VERTEX_ATTRIB_RELATIVE_OFFSET = 0x82D5 :: GLenum

    pattern $mGL_VERTEX_BINDING_BUFFER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_BINDING_BUFFER :: GLenum
    GL_VERTEX_BINDING_BUFFER = 0x8F4F :: GLenum

    pattern $mGL_VERTEX_BINDING_DIVISOR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_BINDING_DIVISOR :: GLenum
    GL_VERTEX_BINDING_DIVISOR = 0x82D6 :: GLenum

    pattern $mGL_VERTEX_BINDING_OFFSET :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_BINDING_OFFSET :: GLenum
    GL_VERTEX_BINDING_OFFSET = 0x82D7 :: GLenum

    pattern $mGL_VERTEX_BINDING_STRIDE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_BINDING_STRIDE :: GLenum
    GL_VERTEX_BINDING_STRIDE = 0x82D8 :: GLenum

    pattern $mGL_VERTEX_BLEND_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_BLEND_ARB :: GLenum
    GL_VERTEX_BLEND_ARB = 0x86A7 :: GLenum

    pattern $mGL_VERTEX_CONSISTENT_HINT_PGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_CONSISTENT_HINT_PGI :: GLenum
    GL_VERTEX_CONSISTENT_HINT_PGI = 0x1A22B :: GLenum

    pattern $mGL_VERTEX_DATA_HINT_PGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_DATA_HINT_PGI :: GLenum
    GL_VERTEX_DATA_HINT_PGI = 0x1A22A :: GLenum

    pattern $mGL_VERTEX_ELEMENT_SWIZZLE_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ELEMENT_SWIZZLE_AMD :: GLenum
    GL_VERTEX_ELEMENT_SWIZZLE_AMD = 0x91A4 :: GLenum

    pattern $mGL_VERTEX_ID_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ID_NV :: GLenum
    GL_VERTEX_ID_NV = 0x8C7B :: GLenum

    pattern $mGL_VERTEX_ID_SWIZZLE_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_ID_SWIZZLE_AMD :: GLenum
    GL_VERTEX_ID_SWIZZLE_AMD = 0x91A5 :: GLenum

    pattern $mGL_VERTEX_PRECLIP_HINT_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_PRECLIP_HINT_SGIX :: GLenum
    GL_VERTEX_PRECLIP_HINT_SGIX = 0x83EF :: GLenum

    pattern $mGL_VERTEX_PRECLIP_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_PRECLIP_SGIX :: GLenum
    GL_VERTEX_PRECLIP_SGIX = 0x83EE :: GLenum

    pattern $mGL_VERTEX_PROGRAM_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_PROGRAM_ARB :: GLenum
    GL_VERTEX_PROGRAM_ARB = 0x8620 :: GLenum

    pattern $mGL_VERTEX_PROGRAM_BINDING_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_PROGRAM_BINDING_NV :: GLenum
    GL_VERTEX_PROGRAM_BINDING_NV = 0x864A :: GLenum

    pattern $mGL_VERTEX_PROGRAM_CALLBACK_DATA_MESA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_PROGRAM_CALLBACK_DATA_MESA :: GLenum
    GL_VERTEX_PROGRAM_CALLBACK_DATA_MESA = 0x8BB7 :: GLenum

    pattern $mGL_VERTEX_PROGRAM_CALLBACK_FUNC_MESA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_PROGRAM_CALLBACK_FUNC_MESA :: GLenum
    GL_VERTEX_PROGRAM_CALLBACK_FUNC_MESA = 0x8BB6 :: GLenum

    pattern $mGL_VERTEX_PROGRAM_CALLBACK_MESA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_PROGRAM_CALLBACK_MESA :: GLenum
    GL_VERTEX_PROGRAM_CALLBACK_MESA = 0x8BB5 :: GLenum

    pattern $mGL_VERTEX_PROGRAM_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_PROGRAM_NV :: GLenum
    GL_VERTEX_PROGRAM_NV = 0x8620 :: GLenum

    pattern $mGL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV :: GLenum
    GL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV = 0x8DA2 :: GLenum

    pattern $mGL_VERTEX_PROGRAM_POINT_SIZE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_PROGRAM_POINT_SIZE :: GLenum
    GL_VERTEX_PROGRAM_POINT_SIZE = 0x8642 :: GLenum

    pattern $mGL_VERTEX_PROGRAM_POINT_SIZE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_PROGRAM_POINT_SIZE_ARB :: GLenum
    GL_VERTEX_PROGRAM_POINT_SIZE_ARB = 0x8642 :: GLenum

    pattern $mGL_VERTEX_PROGRAM_POINT_SIZE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_PROGRAM_POINT_SIZE_NV :: GLenum
    GL_VERTEX_PROGRAM_POINT_SIZE_NV = 0x8642 :: GLenum

    pattern $mGL_VERTEX_PROGRAM_POSITION_MESA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_PROGRAM_POSITION_MESA :: GLenum
    GL_VERTEX_PROGRAM_POSITION_MESA = 0x8BB4 :: GLenum

    pattern $mGL_VERTEX_PROGRAM_TWO_SIDE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_PROGRAM_TWO_SIDE :: GLenum
    GL_VERTEX_PROGRAM_TWO_SIDE = 0x8643 :: GLenum

    pattern $mGL_VERTEX_PROGRAM_TWO_SIDE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_PROGRAM_TWO_SIDE_ARB :: GLenum
    GL_VERTEX_PROGRAM_TWO_SIDE_ARB = 0x8643 :: GLenum

    pattern $mGL_VERTEX_PROGRAM_TWO_SIDE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_PROGRAM_TWO_SIDE_NV :: GLenum
    GL_VERTEX_PROGRAM_TWO_SIDE_NV = 0x8643 :: GLenum

    pattern $mGL_VERTEX_SHADER :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_SHADER :: GLenum
    GL_VERTEX_SHADER = 0x8B31 :: GLenum

    pattern $mGL_VERTEX_SHADER_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_SHADER_ARB :: GLenum
    GL_VERTEX_SHADER_ARB = 0x8B31 :: GLenum

    pattern $mGL_VERTEX_SHADER_BINDING_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_SHADER_BINDING_EXT :: GLenum
    GL_VERTEX_SHADER_BINDING_EXT = 0x8781 :: GLenum

    pattern $mGL_VERTEX_SHADER_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_SHADER_BIT :: GLenum
    GL_VERTEX_SHADER_BIT = 0x00000001 :: GLbitfield

    pattern $mGL_VERTEX_SHADER_BIT_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_SHADER_BIT_EXT :: GLenum
    GL_VERTEX_SHADER_BIT_EXT = 0x00000001 :: GLbitfield

    pattern $mGL_VERTEX_SHADER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_SHADER_EXT :: GLenum
    GL_VERTEX_SHADER_EXT = 0x8780 :: GLenum

    pattern $mGL_VERTEX_SHADER_INSTRUCTIONS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_SHADER_INSTRUCTIONS_EXT :: GLenum
    GL_VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87CF :: GLenum

    pattern $mGL_VERTEX_SHADER_INVARIANTS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_SHADER_INVARIANTS_EXT :: GLenum
    GL_VERTEX_SHADER_INVARIANTS_EXT = 0x87D1 :: GLenum

    pattern $mGL_VERTEX_SHADER_INVOCATIONS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_SHADER_INVOCATIONS :: GLenum
    GL_VERTEX_SHADER_INVOCATIONS = 0x82F0 :: GLenum

    pattern $mGL_VERTEX_SHADER_INVOCATIONS_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_SHADER_INVOCATIONS_ARB :: GLenum
    GL_VERTEX_SHADER_INVOCATIONS_ARB = 0x82F0 :: GLenum

    pattern $mGL_VERTEX_SHADER_LOCALS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_SHADER_LOCALS_EXT :: GLenum
    GL_VERTEX_SHADER_LOCALS_EXT = 0x87D3 :: GLenum

    pattern $mGL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT :: GLenum
    GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87D2 :: GLenum

    pattern $mGL_VERTEX_SHADER_OPTIMIZED_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_SHADER_OPTIMIZED_EXT :: GLenum
    GL_VERTEX_SHADER_OPTIMIZED_EXT = 0x87D4 :: GLenum

    pattern $mGL_VERTEX_SHADER_VARIANTS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_SHADER_VARIANTS_EXT :: GLenum
    GL_VERTEX_SHADER_VARIANTS_EXT = 0x87D0 :: GLenum

    pattern $mGL_VERTEX_SOURCE_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_SOURCE_ATI :: GLenum
    GL_VERTEX_SOURCE_ATI = 0x8774 :: GLenum

    pattern $mGL_VERTEX_STATE_PROGRAM_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_STATE_PROGRAM_NV :: GLenum
    GL_VERTEX_STATE_PROGRAM_NV = 0x8621 :: GLenum

    pattern $mGL_VERTEX_STREAM0_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_STREAM0_ATI :: GLenum
    GL_VERTEX_STREAM0_ATI = 0x876C :: GLenum

    pattern $mGL_VERTEX_STREAM1_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_STREAM1_ATI :: GLenum
    GL_VERTEX_STREAM1_ATI = 0x876D :: GLenum

    pattern $mGL_VERTEX_STREAM2_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_STREAM2_ATI :: GLenum
    GL_VERTEX_STREAM2_ATI = 0x876E :: GLenum

    pattern $mGL_VERTEX_STREAM3_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_STREAM3_ATI :: GLenum
    GL_VERTEX_STREAM3_ATI = 0x876F :: GLenum

    pattern $mGL_VERTEX_STREAM4_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_STREAM4_ATI :: GLenum
    GL_VERTEX_STREAM4_ATI = 0x8770 :: GLenum

    pattern $mGL_VERTEX_STREAM5_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_STREAM5_ATI :: GLenum
    GL_VERTEX_STREAM5_ATI = 0x8771 :: GLenum

    pattern $mGL_VERTEX_STREAM6_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_STREAM6_ATI :: GLenum
    GL_VERTEX_STREAM6_ATI = 0x8772 :: GLenum

    pattern $mGL_VERTEX_STREAM7_ATI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_STREAM7_ATI :: GLenum
    GL_VERTEX_STREAM7_ATI = 0x8773 :: GLenum

    pattern $mGL_VERTEX_SUBROUTINE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_SUBROUTINE :: GLenum
    GL_VERTEX_SUBROUTINE = 0x92E8 :: GLenum

    pattern $mGL_VERTEX_SUBROUTINE_UNIFORM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_SUBROUTINE_UNIFORM :: GLenum
    GL_VERTEX_SUBROUTINE_UNIFORM = 0x92EE :: GLenum

    pattern $mGL_VERTEX_TEXTURE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_TEXTURE :: GLenum
    GL_VERTEX_TEXTURE = 0x829B :: GLenum

    pattern $mGL_VERTEX_WEIGHTING_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_WEIGHTING_EXT :: GLenum
    GL_VERTEX_WEIGHTING_EXT = 0x8509 :: GLenum

    pattern $mGL_VERTEX_WEIGHT_ARRAY_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_WEIGHT_ARRAY_EXT :: GLenum
    GL_VERTEX_WEIGHT_ARRAY_EXT = 0x850C :: GLenum

    pattern $mGL_VERTEX_WEIGHT_ARRAY_POINTER_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_WEIGHT_ARRAY_POINTER_EXT :: GLenum
    GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT = 0x8510 :: GLenum

    pattern $mGL_VERTEX_WEIGHT_ARRAY_SIZE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_WEIGHT_ARRAY_SIZE_EXT :: GLenum
    GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT = 0x850D :: GLenum

    pattern $mGL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT :: GLenum
    GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT = 0x850F :: GLenum

    pattern $mGL_VERTEX_WEIGHT_ARRAY_TYPE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTEX_WEIGHT_ARRAY_TYPE_EXT :: GLenum
    GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT = 0x850E :: GLenum

    pattern $mGL_VERTICAL_LINE_TO_NV :: forall {r}. GLubyte -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTICAL_LINE_TO_NV :: GLubyte
    GL_VERTICAL_LINE_TO_NV = 0x08 :: GLubyte

    pattern $mGL_VERTICES_SUBMITTED :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTICES_SUBMITTED :: GLenum
    GL_VERTICES_SUBMITTED = 0x82EE :: GLenum

    pattern $mGL_VERTICES_SUBMITTED_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VERTICES_SUBMITTED_ARB :: GLenum
    GL_VERTICES_SUBMITTED_ARB = 0x82EE :: GLenum

    pattern $mGL_VIBRANCE_BIAS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIBRANCE_BIAS_NV :: GLenum
    GL_VIBRANCE_BIAS_NV = 0x8719 :: GLenum

    pattern $mGL_VIBRANCE_SCALE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIBRANCE_SCALE_NV :: GLenum
    GL_VIBRANCE_SCALE_NV = 0x8713 :: GLenum

    pattern $mGL_VIDEO_BUFFER_BINDING_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIDEO_BUFFER_BINDING_NV :: GLenum
    GL_VIDEO_BUFFER_BINDING_NV = 0x9021 :: GLenum

    pattern $mGL_VIDEO_BUFFER_INTERNAL_FORMAT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIDEO_BUFFER_INTERNAL_FORMAT_NV :: GLenum
    GL_VIDEO_BUFFER_INTERNAL_FORMAT_NV = 0x902D :: GLenum

    pattern $mGL_VIDEO_BUFFER_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIDEO_BUFFER_NV :: GLenum
    GL_VIDEO_BUFFER_NV = 0x9020 :: GLenum

    pattern $mGL_VIDEO_BUFFER_PITCH_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIDEO_BUFFER_PITCH_NV :: GLenum
    GL_VIDEO_BUFFER_PITCH_NV = 0x9028 :: GLenum

    pattern $mGL_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV :: GLenum
    GL_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV = 0x903B :: GLenum

    pattern $mGL_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV :: GLenum
    GL_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV = 0x903A :: GLenum

    pattern $mGL_VIDEO_CAPTURE_FRAME_HEIGHT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIDEO_CAPTURE_FRAME_HEIGHT_NV :: GLenum
    GL_VIDEO_CAPTURE_FRAME_HEIGHT_NV = 0x9039 :: GLenum

    pattern $mGL_VIDEO_CAPTURE_FRAME_WIDTH_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIDEO_CAPTURE_FRAME_WIDTH_NV :: GLenum
    GL_VIDEO_CAPTURE_FRAME_WIDTH_NV = 0x9038 :: GLenum

    pattern $mGL_VIDEO_CAPTURE_SURFACE_ORIGIN_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIDEO_CAPTURE_SURFACE_ORIGIN_NV :: GLenum
    GL_VIDEO_CAPTURE_SURFACE_ORIGIN_NV = 0x903C :: GLenum

    pattern $mGL_VIDEO_CAPTURE_TO_422_SUPPORTED_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIDEO_CAPTURE_TO_422_SUPPORTED_NV :: GLenum
    GL_VIDEO_CAPTURE_TO_422_SUPPORTED_NV = 0x9026 :: GLenum

    pattern $mGL_VIDEO_COLOR_CONVERSION_MATRIX_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIDEO_COLOR_CONVERSION_MATRIX_NV :: GLenum
    GL_VIDEO_COLOR_CONVERSION_MATRIX_NV = 0x9029 :: GLenum

    pattern $mGL_VIDEO_COLOR_CONVERSION_MAX_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIDEO_COLOR_CONVERSION_MAX_NV :: GLenum
    GL_VIDEO_COLOR_CONVERSION_MAX_NV = 0x902A :: GLenum

    pattern $mGL_VIDEO_COLOR_CONVERSION_MIN_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIDEO_COLOR_CONVERSION_MIN_NV :: GLenum
    GL_VIDEO_COLOR_CONVERSION_MIN_NV = 0x902B :: GLenum

    pattern $mGL_VIDEO_COLOR_CONVERSION_OFFSET_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIDEO_COLOR_CONVERSION_OFFSET_NV :: GLenum
    GL_VIDEO_COLOR_CONVERSION_OFFSET_NV = 0x902C :: GLenum

    pattern $mGL_VIEWPORT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEWPORT :: GLenum
    GL_VIEWPORT = 0x0BA2 :: GLenum

    pattern $mGL_VIEWPORT_BIT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEWPORT_BIT :: GLenum
    GL_VIEWPORT_BIT = 0x00000800 :: GLbitfield

    pattern $mGL_VIEWPORT_BOUNDS_RANGE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEWPORT_BOUNDS_RANGE :: GLenum
    GL_VIEWPORT_BOUNDS_RANGE = 0x825D :: GLenum

    pattern $mGL_VIEWPORT_BOUNDS_RANGE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEWPORT_BOUNDS_RANGE_EXT :: GLenum
    GL_VIEWPORT_BOUNDS_RANGE_EXT = 0x825D :: GLenum

    pattern $mGL_VIEWPORT_BOUNDS_RANGE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEWPORT_BOUNDS_RANGE_NV :: GLenum
    GL_VIEWPORT_BOUNDS_RANGE_NV = 0x825D :: GLenum

    pattern $mGL_VIEWPORT_BOUNDS_RANGE_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEWPORT_BOUNDS_RANGE_OES :: GLenum
    GL_VIEWPORT_BOUNDS_RANGE_OES = 0x825D :: GLenum

    pattern $mGL_VIEWPORT_COMMAND_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEWPORT_COMMAND_NV :: GLenum
    GL_VIEWPORT_COMMAND_NV = 0x0010 :: GLenum

    pattern $mGL_VIEWPORT_INDEX_PROVOKING_VERTEX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEWPORT_INDEX_PROVOKING_VERTEX :: GLenum
    GL_VIEWPORT_INDEX_PROVOKING_VERTEX = 0x825F :: GLenum

    pattern $mGL_VIEWPORT_INDEX_PROVOKING_VERTEX_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEWPORT_INDEX_PROVOKING_VERTEX_EXT :: GLenum
    GL_VIEWPORT_INDEX_PROVOKING_VERTEX_EXT = 0x825F :: GLenum

    pattern $mGL_VIEWPORT_INDEX_PROVOKING_VERTEX_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEWPORT_INDEX_PROVOKING_VERTEX_NV :: GLenum
    GL_VIEWPORT_INDEX_PROVOKING_VERTEX_NV = 0x825F :: GLenum

    pattern $mGL_VIEWPORT_INDEX_PROVOKING_VERTEX_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEWPORT_INDEX_PROVOKING_VERTEX_OES :: GLenum
    GL_VIEWPORT_INDEX_PROVOKING_VERTEX_OES = 0x825F :: GLenum

    pattern $mGL_VIEWPORT_POSITION_W_SCALE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEWPORT_POSITION_W_SCALE_NV :: GLenum
    GL_VIEWPORT_POSITION_W_SCALE_NV = 0x937C :: GLenum

    pattern $mGL_VIEWPORT_POSITION_W_SCALE_X_COEFF_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEWPORT_POSITION_W_SCALE_X_COEFF_NV :: GLenum
    GL_VIEWPORT_POSITION_W_SCALE_X_COEFF_NV = 0x937D :: GLenum

    pattern $mGL_VIEWPORT_POSITION_W_SCALE_Y_COEFF_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEWPORT_POSITION_W_SCALE_Y_COEFF_NV :: GLenum
    GL_VIEWPORT_POSITION_W_SCALE_Y_COEFF_NV = 0x937E :: GLenum

    pattern $mGL_VIEWPORT_SUBPIXEL_BITS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEWPORT_SUBPIXEL_BITS :: GLenum
    GL_VIEWPORT_SUBPIXEL_BITS = 0x825C :: GLenum

    pattern $mGL_VIEWPORT_SUBPIXEL_BITS_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEWPORT_SUBPIXEL_BITS_EXT :: GLenum
    GL_VIEWPORT_SUBPIXEL_BITS_EXT = 0x825C :: GLenum

    pattern $mGL_VIEWPORT_SUBPIXEL_BITS_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEWPORT_SUBPIXEL_BITS_NV :: GLenum
    GL_VIEWPORT_SUBPIXEL_BITS_NV = 0x825C :: GLenum

    pattern $mGL_VIEWPORT_SUBPIXEL_BITS_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEWPORT_SUBPIXEL_BITS_OES :: GLenum
    GL_VIEWPORT_SUBPIXEL_BITS_OES = 0x825C :: GLenum

    pattern $mGL_VIEWPORT_SWIZZLE_NEGATIVE_W_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEWPORT_SWIZZLE_NEGATIVE_W_NV :: GLenum
    GL_VIEWPORT_SWIZZLE_NEGATIVE_W_NV = 0x9357 :: GLenum

    pattern $mGL_VIEWPORT_SWIZZLE_NEGATIVE_X_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEWPORT_SWIZZLE_NEGATIVE_X_NV :: GLenum
    GL_VIEWPORT_SWIZZLE_NEGATIVE_X_NV = 0x9351 :: GLenum

    pattern $mGL_VIEWPORT_SWIZZLE_NEGATIVE_Y_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEWPORT_SWIZZLE_NEGATIVE_Y_NV :: GLenum
    GL_VIEWPORT_SWIZZLE_NEGATIVE_Y_NV = 0x9353 :: GLenum

    pattern $mGL_VIEWPORT_SWIZZLE_NEGATIVE_Z_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEWPORT_SWIZZLE_NEGATIVE_Z_NV :: GLenum
    GL_VIEWPORT_SWIZZLE_NEGATIVE_Z_NV = 0x9355 :: GLenum

    pattern $mGL_VIEWPORT_SWIZZLE_POSITIVE_W_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEWPORT_SWIZZLE_POSITIVE_W_NV :: GLenum
    GL_VIEWPORT_SWIZZLE_POSITIVE_W_NV = 0x9356 :: GLenum

    pattern $mGL_VIEWPORT_SWIZZLE_POSITIVE_X_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEWPORT_SWIZZLE_POSITIVE_X_NV :: GLenum
    GL_VIEWPORT_SWIZZLE_POSITIVE_X_NV = 0x9350 :: GLenum

    pattern $mGL_VIEWPORT_SWIZZLE_POSITIVE_Y_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEWPORT_SWIZZLE_POSITIVE_Y_NV :: GLenum
    GL_VIEWPORT_SWIZZLE_POSITIVE_Y_NV = 0x9352 :: GLenum

    pattern $mGL_VIEWPORT_SWIZZLE_POSITIVE_Z_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEWPORT_SWIZZLE_POSITIVE_Z_NV :: GLenum
    GL_VIEWPORT_SWIZZLE_POSITIVE_Z_NV = 0x9354 :: GLenum

    pattern $mGL_VIEWPORT_SWIZZLE_W_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEWPORT_SWIZZLE_W_NV :: GLenum
    GL_VIEWPORT_SWIZZLE_W_NV = 0x935B :: GLenum

    pattern $mGL_VIEWPORT_SWIZZLE_X_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEWPORT_SWIZZLE_X_NV :: GLenum
    GL_VIEWPORT_SWIZZLE_X_NV = 0x9358 :: GLenum

    pattern $mGL_VIEWPORT_SWIZZLE_Y_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEWPORT_SWIZZLE_Y_NV :: GLenum
    GL_VIEWPORT_SWIZZLE_Y_NV = 0x9359 :: GLenum

    pattern $mGL_VIEWPORT_SWIZZLE_Z_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEWPORT_SWIZZLE_Z_NV :: GLenum
    GL_VIEWPORT_SWIZZLE_Z_NV = 0x935A :: GLenum

    pattern $mGL_VIEW_CLASS_128_BITS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEW_CLASS_128_BITS :: GLenum
    GL_VIEW_CLASS_128_BITS = 0x82C4 :: GLenum

    pattern $mGL_VIEW_CLASS_16_BITS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEW_CLASS_16_BITS :: GLenum
    GL_VIEW_CLASS_16_BITS = 0x82CA :: GLenum

    pattern $mGL_VIEW_CLASS_24_BITS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEW_CLASS_24_BITS :: GLenum
    GL_VIEW_CLASS_24_BITS = 0x82C9 :: GLenum

    pattern $mGL_VIEW_CLASS_32_BITS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEW_CLASS_32_BITS :: GLenum
    GL_VIEW_CLASS_32_BITS = 0x82C8 :: GLenum

    pattern $mGL_VIEW_CLASS_48_BITS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEW_CLASS_48_BITS :: GLenum
    GL_VIEW_CLASS_48_BITS = 0x82C7 :: GLenum

    pattern $mGL_VIEW_CLASS_64_BITS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEW_CLASS_64_BITS :: GLenum
    GL_VIEW_CLASS_64_BITS = 0x82C6 :: GLenum

    pattern $mGL_VIEW_CLASS_8_BITS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEW_CLASS_8_BITS :: GLenum
    GL_VIEW_CLASS_8_BITS = 0x82CB :: GLenum

    pattern $mGL_VIEW_CLASS_96_BITS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEW_CLASS_96_BITS :: GLenum
    GL_VIEW_CLASS_96_BITS = 0x82C5 :: GLenum

    pattern $mGL_VIEW_CLASS_ASTC_10x10_RGBA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEW_CLASS_ASTC_10x10_RGBA :: GLenum
    GL_VIEW_CLASS_ASTC_10x10_RGBA = 0x9393 :: GLenum

    pattern $mGL_VIEW_CLASS_ASTC_10x5_RGBA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEW_CLASS_ASTC_10x5_RGBA :: GLenum
    GL_VIEW_CLASS_ASTC_10x5_RGBA = 0x9390 :: GLenum

    pattern $mGL_VIEW_CLASS_ASTC_10x6_RGBA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEW_CLASS_ASTC_10x6_RGBA :: GLenum
    GL_VIEW_CLASS_ASTC_10x6_RGBA = 0x9391 :: GLenum

    pattern $mGL_VIEW_CLASS_ASTC_10x8_RGBA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEW_CLASS_ASTC_10x8_RGBA :: GLenum
    GL_VIEW_CLASS_ASTC_10x8_RGBA = 0x9392 :: GLenum

    pattern $mGL_VIEW_CLASS_ASTC_12x10_RGBA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEW_CLASS_ASTC_12x10_RGBA :: GLenum
    GL_VIEW_CLASS_ASTC_12x10_RGBA = 0x9394 :: GLenum

    pattern $mGL_VIEW_CLASS_ASTC_12x12_RGBA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEW_CLASS_ASTC_12x12_RGBA :: GLenum
    GL_VIEW_CLASS_ASTC_12x12_RGBA = 0x9395 :: GLenum

    pattern $mGL_VIEW_CLASS_ASTC_4x4_RGBA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEW_CLASS_ASTC_4x4_RGBA :: GLenum
    GL_VIEW_CLASS_ASTC_4x4_RGBA = 0x9388 :: GLenum

    pattern $mGL_VIEW_CLASS_ASTC_5x4_RGBA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEW_CLASS_ASTC_5x4_RGBA :: GLenum
    GL_VIEW_CLASS_ASTC_5x4_RGBA = 0x9389 :: GLenum

    pattern $mGL_VIEW_CLASS_ASTC_5x5_RGBA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEW_CLASS_ASTC_5x5_RGBA :: GLenum
    GL_VIEW_CLASS_ASTC_5x5_RGBA = 0x938A :: GLenum

    pattern $mGL_VIEW_CLASS_ASTC_6x5_RGBA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEW_CLASS_ASTC_6x5_RGBA :: GLenum
    GL_VIEW_CLASS_ASTC_6x5_RGBA = 0x938B :: GLenum

    pattern $mGL_VIEW_CLASS_ASTC_6x6_RGBA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEW_CLASS_ASTC_6x6_RGBA :: GLenum
    GL_VIEW_CLASS_ASTC_6x6_RGBA = 0x938C :: GLenum

    pattern $mGL_VIEW_CLASS_ASTC_8x5_RGBA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEW_CLASS_ASTC_8x5_RGBA :: GLenum
    GL_VIEW_CLASS_ASTC_8x5_RGBA = 0x938D :: GLenum

    pattern $mGL_VIEW_CLASS_ASTC_8x6_RGBA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEW_CLASS_ASTC_8x6_RGBA :: GLenum
    GL_VIEW_CLASS_ASTC_8x6_RGBA = 0x938E :: GLenum

    pattern $mGL_VIEW_CLASS_ASTC_8x8_RGBA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEW_CLASS_ASTC_8x8_RGBA :: GLenum
    GL_VIEW_CLASS_ASTC_8x8_RGBA = 0x938F :: GLenum

    pattern $mGL_VIEW_CLASS_BPTC_FLOAT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEW_CLASS_BPTC_FLOAT :: GLenum
    GL_VIEW_CLASS_BPTC_FLOAT = 0x82D3 :: GLenum

    pattern $mGL_VIEW_CLASS_BPTC_UNORM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEW_CLASS_BPTC_UNORM :: GLenum
    GL_VIEW_CLASS_BPTC_UNORM = 0x82D2 :: GLenum

    pattern $mGL_VIEW_CLASS_EAC_R11 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEW_CLASS_EAC_R11 :: GLenum
    GL_VIEW_CLASS_EAC_R11 = 0x9383 :: GLenum

    pattern $mGL_VIEW_CLASS_EAC_RG11 :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEW_CLASS_EAC_RG11 :: GLenum
    GL_VIEW_CLASS_EAC_RG11 = 0x9384 :: GLenum

    pattern $mGL_VIEW_CLASS_ETC2_EAC_RGBA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEW_CLASS_ETC2_EAC_RGBA :: GLenum
    GL_VIEW_CLASS_ETC2_EAC_RGBA = 0x9387 :: GLenum

    pattern $mGL_VIEW_CLASS_ETC2_RGB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEW_CLASS_ETC2_RGB :: GLenum
    GL_VIEW_CLASS_ETC2_RGB = 0x9385 :: GLenum

    pattern $mGL_VIEW_CLASS_ETC2_RGBA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEW_CLASS_ETC2_RGBA :: GLenum
    GL_VIEW_CLASS_ETC2_RGBA = 0x9386 :: GLenum

    pattern $mGL_VIEW_CLASS_RGTC1_RED :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEW_CLASS_RGTC1_RED :: GLenum
    GL_VIEW_CLASS_RGTC1_RED = 0x82D0 :: GLenum

    pattern $mGL_VIEW_CLASS_RGTC2_RG :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEW_CLASS_RGTC2_RG :: GLenum
    GL_VIEW_CLASS_RGTC2_RG = 0x82D1 :: GLenum

    pattern $mGL_VIEW_CLASS_S3TC_DXT1_RGB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEW_CLASS_S3TC_DXT1_RGB :: GLenum
    GL_VIEW_CLASS_S3TC_DXT1_RGB = 0x82CC :: GLenum

    pattern $mGL_VIEW_CLASS_S3TC_DXT1_RGBA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEW_CLASS_S3TC_DXT1_RGBA :: GLenum
    GL_VIEW_CLASS_S3TC_DXT1_RGBA = 0x82CD :: GLenum

    pattern $mGL_VIEW_CLASS_S3TC_DXT3_RGBA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEW_CLASS_S3TC_DXT3_RGBA :: GLenum
    GL_VIEW_CLASS_S3TC_DXT3_RGBA = 0x82CE :: GLenum

    pattern $mGL_VIEW_CLASS_S3TC_DXT5_RGBA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEW_CLASS_S3TC_DXT5_RGBA :: GLenum
    GL_VIEW_CLASS_S3TC_DXT5_RGBA = 0x82CF :: GLenum

    pattern $mGL_VIEW_COMPATIBILITY_CLASS :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIEW_COMPATIBILITY_CLASS :: GLenum
    GL_VIEW_COMPATIBILITY_CLASS = 0x82B6 :: GLenum

    pattern $mGL_VIRTUAL_PAGE_SIZE_INDEX_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIRTUAL_PAGE_SIZE_INDEX_ARB :: GLenum
    GL_VIRTUAL_PAGE_SIZE_INDEX_ARB = 0x91A7 :: GLenum

    pattern $mGL_VIRTUAL_PAGE_SIZE_INDEX_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIRTUAL_PAGE_SIZE_INDEX_EXT :: GLenum
    GL_VIRTUAL_PAGE_SIZE_INDEX_EXT = 0x91A7 :: GLenum

    pattern $mGL_VIRTUAL_PAGE_SIZE_X_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIRTUAL_PAGE_SIZE_X_AMD :: GLenum
    GL_VIRTUAL_PAGE_SIZE_X_AMD = 0x9195 :: GLenum

    pattern $mGL_VIRTUAL_PAGE_SIZE_X_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIRTUAL_PAGE_SIZE_X_ARB :: GLenum
    GL_VIRTUAL_PAGE_SIZE_X_ARB = 0x9195 :: GLenum

    pattern $mGL_VIRTUAL_PAGE_SIZE_X_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIRTUAL_PAGE_SIZE_X_EXT :: GLenum
    GL_VIRTUAL_PAGE_SIZE_X_EXT = 0x9195 :: GLenum

    pattern $mGL_VIRTUAL_PAGE_SIZE_Y_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIRTUAL_PAGE_SIZE_Y_AMD :: GLenum
    GL_VIRTUAL_PAGE_SIZE_Y_AMD = 0x9196 :: GLenum

    pattern $mGL_VIRTUAL_PAGE_SIZE_Y_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIRTUAL_PAGE_SIZE_Y_ARB :: GLenum
    GL_VIRTUAL_PAGE_SIZE_Y_ARB = 0x9196 :: GLenum

    pattern $mGL_VIRTUAL_PAGE_SIZE_Y_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIRTUAL_PAGE_SIZE_Y_EXT :: GLenum
    GL_VIRTUAL_PAGE_SIZE_Y_EXT = 0x9196 :: GLenum

    pattern $mGL_VIRTUAL_PAGE_SIZE_Z_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIRTUAL_PAGE_SIZE_Z_AMD :: GLenum
    GL_VIRTUAL_PAGE_SIZE_Z_AMD = 0x9197 :: GLenum

    pattern $mGL_VIRTUAL_PAGE_SIZE_Z_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIRTUAL_PAGE_SIZE_Z_ARB :: GLenum
    GL_VIRTUAL_PAGE_SIZE_Z_ARB = 0x9197 :: GLenum

    pattern $mGL_VIRTUAL_PAGE_SIZE_Z_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIRTUAL_PAGE_SIZE_Z_EXT :: GLenum
    GL_VIRTUAL_PAGE_SIZE_Z_EXT = 0x9197 :: GLenum

    pattern $mGL_VIVIDLIGHT_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VIVIDLIGHT_NV :: GLenum
    GL_VIVIDLIGHT_NV = 0x92A6 :: GLenum

    pattern $mGL_VOLATILE_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_VOLATILE_APPLE :: GLenum
    GL_VOLATILE_APPLE = 0x8A1A :: GLenum

    pattern $mGL_WAIT_FAILED :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_WAIT_FAILED :: GLenum
    GL_WAIT_FAILED = 0x911D :: GLenum

    pattern $mGL_WAIT_FAILED_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_WAIT_FAILED_APPLE :: GLenum
    GL_WAIT_FAILED_APPLE = 0x911D :: GLenum

    pattern $mGL_WARPS_PER_SM_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_WARPS_PER_SM_NV :: GLenum
    GL_WARPS_PER_SM_NV = 0x933A :: GLenum

    pattern $mGL_WARP_SIZE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_WARP_SIZE_NV :: GLenum
    GL_WARP_SIZE_NV = 0x9339 :: GLenum

    pattern $mGL_WEIGHTED_AVERAGE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_WEIGHTED_AVERAGE_ARB :: GLenum
    GL_WEIGHTED_AVERAGE_ARB = 0x9367 :: GLenum

    pattern $mGL_WEIGHTED_AVERAGE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_WEIGHTED_AVERAGE_EXT :: GLenum
    GL_WEIGHTED_AVERAGE_EXT = 0x9367 :: GLenum

    pattern $mGL_WEIGHT_ARRAY_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_WEIGHT_ARRAY_ARB :: GLenum
    GL_WEIGHT_ARRAY_ARB = 0x86AD :: GLenum

    pattern $mGL_WEIGHT_ARRAY_BUFFER_BINDING :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_WEIGHT_ARRAY_BUFFER_BINDING :: GLenum
    GL_WEIGHT_ARRAY_BUFFER_BINDING = 0x889E :: GLenum

    pattern $mGL_WEIGHT_ARRAY_BUFFER_BINDING_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_WEIGHT_ARRAY_BUFFER_BINDING_ARB :: GLenum
    GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB = 0x889E :: GLenum

    pattern $mGL_WEIGHT_ARRAY_BUFFER_BINDING_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_WEIGHT_ARRAY_BUFFER_BINDING_OES :: GLenum
    GL_WEIGHT_ARRAY_BUFFER_BINDING_OES = 0x889E :: GLenum

    pattern $mGL_WEIGHT_ARRAY_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_WEIGHT_ARRAY_OES :: GLenum
    GL_WEIGHT_ARRAY_OES = 0x86AD :: GLenum

    pattern $mGL_WEIGHT_ARRAY_POINTER_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_WEIGHT_ARRAY_POINTER_ARB :: GLenum
    GL_WEIGHT_ARRAY_POINTER_ARB = 0x86AC :: GLenum

    pattern $mGL_WEIGHT_ARRAY_POINTER_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_WEIGHT_ARRAY_POINTER_OES :: GLenum
    GL_WEIGHT_ARRAY_POINTER_OES = 0x86AC :: GLenum

    pattern $mGL_WEIGHT_ARRAY_SIZE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_WEIGHT_ARRAY_SIZE_ARB :: GLenum
    GL_WEIGHT_ARRAY_SIZE_ARB = 0x86AB :: GLenum

    pattern $mGL_WEIGHT_ARRAY_SIZE_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_WEIGHT_ARRAY_SIZE_OES :: GLenum
    GL_WEIGHT_ARRAY_SIZE_OES = 0x86AB :: GLenum

    pattern $mGL_WEIGHT_ARRAY_STRIDE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_WEIGHT_ARRAY_STRIDE_ARB :: GLenum
    GL_WEIGHT_ARRAY_STRIDE_ARB = 0x86AA :: GLenum

    pattern $mGL_WEIGHT_ARRAY_STRIDE_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_WEIGHT_ARRAY_STRIDE_OES :: GLenum
    GL_WEIGHT_ARRAY_STRIDE_OES = 0x86AA :: GLenum

    pattern $mGL_WEIGHT_ARRAY_TYPE_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_WEIGHT_ARRAY_TYPE_ARB :: GLenum
    GL_WEIGHT_ARRAY_TYPE_ARB = 0x86A9 :: GLenum

    pattern $mGL_WEIGHT_ARRAY_TYPE_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_WEIGHT_ARRAY_TYPE_OES :: GLenum
    GL_WEIGHT_ARRAY_TYPE_OES = 0x86A9 :: GLenum

    pattern $mGL_WEIGHT_SUM_UNITY_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_WEIGHT_SUM_UNITY_ARB :: GLenum
    GL_WEIGHT_SUM_UNITY_ARB = 0x86A6 :: GLenum

    pattern $mGL_WIDE_LINE_HINT_PGI :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_WIDE_LINE_HINT_PGI :: GLenum
    GL_WIDE_LINE_HINT_PGI = 0x1A222 :: GLenum

    pattern $mGL_WINDOW_RECTANGLE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_WINDOW_RECTANGLE_EXT :: GLenum
    GL_WINDOW_RECTANGLE_EXT = 0x8F12 :: GLenum

    pattern $mGL_WINDOW_RECTANGLE_MODE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_WINDOW_RECTANGLE_MODE_EXT :: GLenum
    GL_WINDOW_RECTANGLE_MODE_EXT = 0x8F13 :: GLenum

    pattern $mGL_WRAP_BORDER_SUN :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_WRAP_BORDER_SUN :: GLenum
    GL_WRAP_BORDER_SUN = 0x81D4 :: GLenum

    pattern $mGL_WRITEONLY_RENDERING_QCOM :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_WRITEONLY_RENDERING_QCOM :: GLenum
    GL_WRITEONLY_RENDERING_QCOM = 0x8823 :: GLenum

    pattern $mGL_WRITE_DISCARD_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_WRITE_DISCARD_NV :: GLenum
    GL_WRITE_DISCARD_NV = 0x88BE :: GLenum

    pattern $mGL_WRITE_ONLY :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_WRITE_ONLY :: GLenum
    GL_WRITE_ONLY = 0x88B9 :: GLenum

    pattern $mGL_WRITE_ONLY_ARB :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_WRITE_ONLY_ARB :: GLenum
    GL_WRITE_ONLY_ARB = 0x88B9 :: GLenum

    pattern $mGL_WRITE_ONLY_OES :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_WRITE_ONLY_OES :: GLenum
    GL_WRITE_ONLY_OES = 0x88B9 :: GLenum

    pattern $mGL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV :: GLenum
    GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV = 0x887A :: GLenum

    pattern $mGL_WRITE_PIXEL_DATA_RANGE_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_WRITE_PIXEL_DATA_RANGE_NV :: GLenum
    GL_WRITE_PIXEL_DATA_RANGE_NV = 0x8878 :: GLenum

    pattern $mGL_WRITE_PIXEL_DATA_RANGE_POINTER_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_WRITE_PIXEL_DATA_RANGE_POINTER_NV :: GLenum
    GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV = 0x887C :: GLenum

    pattern $mGL_W_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_W_EXT :: GLenum
    GL_W_EXT = 0x87D8 :: GLenum

    pattern $mGL_XOR :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_XOR :: GLenum
    GL_XOR = 0x1506 :: GLenum

    pattern $mGL_XOR_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_XOR_NV :: GLenum
    GL_XOR_NV = 0x1506 :: GLenum

    pattern $mGL_X_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_X_EXT :: GLenum
    GL_X_EXT = 0x87D5 :: GLenum

    pattern $mGL_YCBAYCR8A_4224_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_YCBAYCR8A_4224_NV :: GLenum
    GL_YCBAYCR8A_4224_NV = 0x9032 :: GLenum

    pattern $mGL_YCBCR_422_APPLE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_YCBCR_422_APPLE :: GLenum
    GL_YCBCR_422_APPLE = 0x85B9 :: GLenum

    pattern $mGL_YCBCR_MESA :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_YCBCR_MESA :: GLenum
    GL_YCBCR_MESA = 0x8757 :: GLenum

    pattern $mGL_YCBYCR8_422_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_YCBYCR8_422_NV :: GLenum
    GL_YCBYCR8_422_NV = 0x9031 :: GLenum

    pattern $mGL_YCRCBA_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_YCRCBA_SGIX :: GLenum
    GL_YCRCBA_SGIX = 0x8319 :: GLenum

    pattern $mGL_YCRCB_422_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_YCRCB_422_SGIX :: GLenum
    GL_YCRCB_422_SGIX = 0x81BB :: GLenum

    pattern $mGL_YCRCB_444_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_YCRCB_444_SGIX :: GLenum
    GL_YCRCB_444_SGIX = 0x81BC :: GLenum

    pattern $mGL_YCRCB_SGIX :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_YCRCB_SGIX :: GLenum
    GL_YCRCB_SGIX = 0x8318 :: GLenum

    pattern $mGL_Y_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_Y_EXT :: GLenum
    GL_Y_EXT = 0x87D6 :: GLenum

    pattern $mGL_Z400_BINARY_AMD :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_Z400_BINARY_AMD :: GLenum
    GL_Z400_BINARY_AMD = 0x8740 :: GLenum

    pattern $mGL_Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV :: GLenum
    GL_Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV = 0x9036 :: GLenum

    pattern $mGL_Z4Y12Z4CB12Z4CR12_444_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_Z4Y12Z4CB12Z4CR12_444_NV :: GLenum
    GL_Z4Y12Z4CB12Z4CR12_444_NV = 0x9037 :: GLenum

    pattern $mGL_Z4Y12Z4CB12Z4Y12Z4CR12_422_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_Z4Y12Z4CB12Z4Y12Z4CR12_422_NV :: GLenum
    GL_Z4Y12Z4CB12Z4Y12Z4CR12_422_NV = 0x9035 :: GLenum

    pattern $mGL_Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV :: GLenum
    GL_Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV = 0x9034 :: GLenum

    pattern $mGL_Z6Y10Z6CB10Z6Y10Z6CR10_422_NV :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_Z6Y10Z6CB10Z6Y10Z6CR10_422_NV :: GLenum
    GL_Z6Y10Z6CB10Z6Y10Z6CR10_422_NV = 0x9033 :: GLenum

    pattern $mGL_ZERO :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ZERO :: GLenum
    GL_ZERO = 0 :: GLenum

    pattern $mGL_ZERO_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ZERO_EXT :: GLenum
    GL_ZERO_EXT = 0x87DD :: GLenum

    pattern $mGL_ZERO_TO_ONE :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ZERO_TO_ONE :: GLenum
    GL_ZERO_TO_ONE = 0x935F :: GLenum

    pattern $mGL_ZERO_TO_ONE_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ZERO_TO_ONE_EXT :: GLenum
    GL_ZERO_TO_ONE_EXT = 0x935F :: GLenum

    pattern $mGL_ZOOM_X :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ZOOM_X :: GLenum
    GL_ZOOM_X = 0x0D16 :: GLenum

    pattern $mGL_ZOOM_Y :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_ZOOM_Y :: GLenum
    GL_ZOOM_Y = 0x0D17 :: GLenum

    pattern $mGL_Z_EXT :: forall {r}. GLenum -> ((# #) -> r) -> ((# #) -> r) -> r
    $bGL_Z_EXT :: GLenum
    GL_Z_EXT = 0x87D7 :: GLenum